【问题标题】:What is the difference between static analysis and dynamic analysis?静态分析和动态分析有什么区别?
【发布时间】:2020-10-28 01:19:12
【问题描述】:

静态分析和动态分析在网络安全方面有什么区别?

【问题讨论】:

    标签: dynamic static analysis static-analysis dynamic-analysis


    【解决方案1】:

    静态分析意味着“阅读源代码并尝试识别故障”。出于安全考虑,静态分析工具会尝试找出代码中的安全漏洞,然后在代码发布以供生产使用之前修复这些漏洞。

    动态分析意味着“观察应用程序的实际执行以识别故障(例如,取消引用空指针,数组访问超出数组末尾,重新使用动态分配的块而不首先释放它,......”。在应用程序开发和调试期间完成,它可以发现错误,然后在代码发布用于生产之前修复这些错误。在生产执行期间完成,它可以检测软件即将发生的错误,并防止这些错误(例如,不要实际上执行 deref,而是报告应用程序错误),但由于动态分析的侵入性,代价是相当高的执行成本。

    每个人都有不同的优点和缺点。这两种技术都受到图灵诱导的无法完全推理软件活动的影响。这些工具中的大多数都存在遗漏问题或报告不真实问题的故障。通常这些工具会尽量避免报告误报,因为人们不会使用会产生大量此类错误的工具。限制误报也往往会限制报告真实错误,因此您不能确定干净的报告是否意味着“没有问题”。

    【讨论】:

      猜你喜欢
      • 2013-12-28
      • 1970-01-01
      • 1970-01-01
      • 2019-06-18
      • 2012-10-04
      • 2016-03-31
      • 1970-01-01
      • 2013-03-17
      • 1970-01-01
      相关资源
      最近更新 更多