预防Web应用程序的漏洞 |
时间: 2013/2/16 10:43:54 点击: 16350 |
软件代码,要么是源码格式要么是二进制格式,并试图识别出常见的编码级别缺陷。4 使用现有工具所执行的分析会因为它们的复杂性而有所不同,这种差异体现在考虑单条语句和命令或考虑代码行之间的依赖。除了模型检查和数据流分析等功能之外,这些工具还会自动关注可能的编码错误。它的主要问题在于细致的分析是很困难并且因为源码的复杂性和缺乏动态(运行时)的视角有很多安全缺陷很难被发现。
尽管使用静态代码分析工具很重要,但是它有时会降低开发人员的生产效率,这主要是因为误报,这会导致没有用处的额外工作。7为了避免这种情况,除了要有足够的时间学习怎样使用这些工具以外,开发人员需要一些策略来保证正确使用这些工具。例如,有必要指定规则来分类和选择开发人员应该处理的警告信息。同时,开发人员还要配置分析工具只报告那些与当前开发上下文相关的警告。没有接受怎样使用静态分析训练的开发人员最终会低估它的真正效益并且通常不能发挥它的所有功能。 黑盒测试 黑盒测试指的是从外部的视角分析程序的执行。简而言之,它会比较软件执行的输出与期望的结果。5 对于软件的检验和确认来说,测试可能是最常用的技术了。 对于黑盒测试来讲,有多种级别,从单元测试到集成测试再到系统测试。测试方式可以是正式的(基于模型和定义良好的测试规范)也可以不那么正式(被称为“冒烟测试”,一种粗糙的测试目的是快速暴露简单的缺陷)。 健壮性是黑盒测试一种特殊形式,它的目标是查看系统在错误输入条件下的行为。渗透测试是特殊类型的健壮性测试,它会分析在遇到恶意输入时的代码执行并查
|
上一篇: 马云:做搜索是为了让百度睡不着觉 下一篇: 网站流量之如何防止图片浪费空间流量技巧 |