打印本文 打印本文 关闭窗口 关闭窗口
Linux代码淬火技术之工具篇
作者:武汉SEO闵涛  文章来源:敏韬网  点击数744  更新时间:2006/8/31  文章录入:mintao  责任编辑:mintao
作者:宇文

  【IT168 实用技巧】在上一篇文章中,我们详细介绍了关于代码淬火技术的概念以及Linux下常用的几种代码淬火方法。在本文中,我们将继续介绍用来提高Linux应用程序安全性和可靠性的开源工具和代码追踪技术。

    一、源代码检查工具

    在软件开发过程中,我们可以利用源码检查工具来找出常见的编程错误以及安全漏洞。这些工具用起来并不复杂,下面介绍splint和flawfinder这两款源码检查工具的使用方法。

    splint是一款静态源代码检查工具,能对源代码进行全面的分析。对于没有注释的源代码,可以使用-weak选项:

    splint -weak *.c -I./inc

    其中,./inc是头文件所在的子目录。此外,Splint还支持标准检查模式(选项-standard),若要进行中等强度检查则使用选项-checks,若使用选项-strict则进行最严格的检查。

    flawfinder也是一款用来寻找源代码错误的静态分析工具。通过该工具提供错误消息,开发人员可以更快的找到错误所在。请看下面的例子:

    $ flawfinder test.c
    test.c:11:  [2] (buffer) char:
      Statically-sized arrays can be overflowed. Perform bounds
      checking, use functions that limit length, or ensure that
      the size is larger than the maximum possible length.
    $

    本例中,flawfinder给出了一个提示,指出静态尺寸的数组可能被恶意利用的潜在危险。

    除了上面介绍的splint和flawfinder这两款工具外,还有RATS(一款安全审计工具)以及ITS4(静态漏洞扫描工具)等工具可用。但需要注意的是,虽然这些工具能够分担一部分工作,但却无法完全替代人类。因为工具在发现漏洞的同时,也可能遗漏安全漏洞。

打印本文 打印本文 关闭窗口 关闭窗口