
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
白盒分析是程序员在做软件安全测试的时候会经常用到的一个测试方法,下面我们就通过案例分析来了解一下,白盒测试分析都包含哪些方法。
白盒分析需要在不执行的情况下检查代码。开发人员可以按照以下两种方式中的某一种来进行:在代码的审查或评审时以手动方式进行或者借助自动分析工具自动化进行。
代码审查(Codeinspection)指的是程序员的同伴系统检查交付的代码,查找编码错误。安全审查是减少应用程序中漏洞有效的方式;当为关键的系统开发软件时,这是重要的过程。但是,这种审查方式通常是很费时间的、代价昂贵并需要深入了解Web的安全知识。
代码检查(Codereview)是代价稍为低廉的替代方案,它是一种简化版本的代码审查适用于分析不像前面那么重要的代码。检查也是手动进行的,但是它不需要正式的审查会议。几个专家分别进行检查,然后由主持人过滤和合并结果。尽管这是一个有效的方式,但代码检查的成本依旧是很高的。
为了减少白盒法分析的成本,开发人员有时依赖自动化工具,如静态代码分析器。静态代码分析工具会检查软件代码,要么是源码格式要么是二进制格式,并试图识别出常见的编码级别缺陷。使用现有工具所执行的分析会因为它们的复杂性而有所不同,这种差异体现在考虑单条语句和命令或考虑代码行之间的依赖。除了模型检查和数据流分析等功能之外,这些工具还会自动关注可能的编码错误。它的主要问题在于细致的分析是很困难并且因为源码的复杂性和缺乏动态(运行时)的视角有很多安全缺陷很难被发现。
尽管使用静态代码分析工具很重要,但是它有时会降低开发人员的生产效率,这主要是因为误报,这会导致没有用处的额外工作。为了避免这种情况,除了要有足够的时间学习怎样使用这些工具以外,开发人员需要一些策略来保证正确使用这些工具。例如,有必要指定规则来分类和选择开发人员应该处理的警告信息。同时,开发人员还要配置分析工具只报告那些与当前开发上下文相关的警告。没有接受怎样使用静态分析训练的开发人员终会低估它的真正效益并且通常不能发挥它的所有功能。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。