利用静态分析加固开源入侵检测系统利用静态分析加固开源入侵检测系统(IDS)的最佳实践的最佳实践
NSM是“在对各种入侵进行检测和响应过程中,所涉及到的标识和警告环节的收集、分析和问题升级”。NSM的核心功能包括
入侵检测系统(IDS),基于网络的IDS(NIDS),主机入侵检测系统(HIDS)和物理入侵检测系统(物理IDS)。分析人员在部署之前
应当评估诸如IDS和HIDS的软件包。
我们可以用许多不同的方法来评估给定软件包的安全水平,而其中的一种是使用Aberlarde安全系统工程法。这种方法在软件
开发生命周期(SDLC)的各个阶段详细评估了商业和开源软件包的安全特性。检查开源软件的优势在于可以直接访问它们的代
码。通过这种直接访问的方式,开发人员可以使用诸如代码检查和静态代码分析的各种技术。
静态代码分析(SCA)是在不执行软件本身的情况下找出代码问题的一种方式。为实现这一目的,SCA的相关工具通过使用各种
可能的输入数据,来模拟代码执行的不同分支可能性。SCA工具能兼顾发现质量方面
(如COPY_PASTE_ERROR,FORWARD_NULL,INCOMPATIBLE_CAST)和安全方面(如UNINIT,BUFFER_SIZE和
USE_AFTER_FREE)的问题。SCA工具同时也能提供一些特定的修复,以便开发者应用到源代码上,来减少软件的缺陷密
度。它是通过组件的大小(通常是代码的指定行数)除以缺陷的数量,来计算出缺陷的密度。在2014年,开源软件的平均缺陷密
度为0.61每一千行代码或称KLOC。相比之下,商业软件的缺陷密度则为0.76每KLOC。
我们有许多源自OWASP的静态分析工具可供选择。自从Coverity扫描服务面世以来,该公司在过去的十年里备受瞩目。开源
开发者们免费将他们的代码提交到Coverity基于云服务的扫描服务上,以进行分析和检查。Coverity还可在客户的本地环境中
部署一个商业产品,以提供各种相同的分析工具。本文将介绍Coverity的静态代码分析是如何在不同部署场景中,被用来扫描
那些组成安全洋葱(Security Onion)发行版的软件包。
安全洋葱
安全洋葱是由Doug Burks维护的一个Linux发行版,其中包括完整的数据包捕获、NIDS、HIDS和一整套分析工具。这些工具
包括:
1.netsniff-ng:用于全量数据包的捕获
2.Snort、Suricata和Bro for NIDS
3.OSSEC for HIDS
4.Sguil、Squert、Snorby、and ELSA:用于数据分析
与单独配置每个工具相比,使用安全洋葱发行版可以节省时间。在着手使用该发行版进行开发之前,请遵循Burks 2016来安
装、配置和更新安全洋葱。一旦完成之后,开发人员就可以检查安全洋葱软件包的源代码,以发现各种安全漏洞。
Coverity扫描
Coverity的首个部署选项是Coverity扫描。Coverity扫描是一种云服务,也是一个免费的开源社区,已注册的开源开发者可以
上传他们的源代码用作分析。Coverity的静态分析引擎随即执行对源代码的分析。之后,开发们就可查看结果报告中的各种问
题,并遵循给出的建议来解决问题,然后再重新提交源代码。
Coverity扫描的实例:Wireshark
评论0
最新资源