彩票走势图

如何使用SEI CERT C保护您的软件

原创|使用教程|编辑:郑恭琳|2020-12-04 14:26:27.443|阅读 417 次

概述:SEI CERT安全编码标准是保护代码安全的绝佳选择,尤其是在您的应用程序是嵌入式或安全性至关重要的情况下。在本文中,我将讨论如何使用静态分析通过设计实现此标准的安全性。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

SEI CERT安全编码标准是保护代码安全的绝佳选择,尤其是在您的应用程序是嵌入式或安全性至关重要的情况下。在本文中,我将讨论如何使用静态分析通过设计实现此标准的安全性。

“尽管保护软件的概念很重要,但是保护无缺陷的软件比保护漏洞百出的软件容易得多。

——Gary McGraw博士,来自美国Cigital公司

嵌入式软件和物联网设备的激增每天都在增加安全攻击的风险。在我的IoT hall-of-shame中,我看到从水处理厂到汽车到儿童玩具等各种物品的定期攻击。随着“事物”获得更多的代码并连接到Internet,它们承诺提供了强大的新功能,同时也增加了不良行为者渗透我们系统甚至家庭生活的机会。


物联网和嵌入式安全性问题

研究表明,即使汽车也可以包含超过1亿行代码。几个开发人员可以手动检查代码的日子已经一去不复返了。对于如此大型,复杂的系统,我们必须开始认真对待软件安全性。幸运的是(从某种意义上说,解决问题的策略可以是相同的),影响安全软件的编码问题通常与影响安全可靠软件的编码问题相同。

众多安全标准(ISO 26262DO-178B/CFDA等)表明,通过使用编码标准和静态代码分析,可以大大提高软件的安全性和可靠性。静态分析是不断强化代码并从“测试安全性”转变为“设计安全”思想的最佳方法。这意味着我们不能将网络安全留给一个单独的团队,而必须在我们开始计划和编码后立即着手解决。编码标准使我们从“构建、测试、修复”周期回到具有高质量、安全性和保障性的“设计、构建、交付”周期。

那么使用哪种编码标准?即使只考虑安全性方面,也有很多。CWEOWASPCERT是常见的安全编码标准,仅举几例。您可能有要求告诉您要使用哪些标准的要求,如果是,则应遵循这些要求。但我想证明CERT是保护代码安全的绝佳选择,尤其是在您的应用程序是嵌入式或安全性至关重要的情况下。


为什么要使用CERT保护您的代码?

因此,显而易见的问题是“为什么要使用CERT?”CWE不受欢迎吗?还是OWASP?好吧,首先,OWASP(开放Web应用程序安全性项目)或OWASP Top 10旨在作为一个起点,而不是一个严格的应用程序安全性过程。另外,顾名思义,它主要用于Web应用程序。

CWE(常见弱点枚举)列出了前25个问题列表。再说一次,虽然这是一个很好的起点,但这还不够。另外,CWE在某种意义上是一种症状标准,旨在描述导致特定漏洞(例如CVE(通用漏洞枚举)中发现的漏洞)的代码。尽管这是一项有用且重要的任务,但从本质上来说是被动的。

我喜欢SEI CERT安全编码标准有几个原因。首先,它更加关注安全的编码实践,而不仅仅是症状(例如,始终始终验证输入是一种安全的编码实践,而SQL注入是一种症状)。CERT分析了哪些准则最为关键,可以对其进行认真分析,然后分为应遵循的“规则”和不太重要和/或缺乏声音分析能力的“建议”。这有助于快速将静态分析结果调整到最关键的水平。

此外,CERT还创建了一个风险评估框架,该框架可考虑到该准则的固有严重性,利用此类项目的难度以及修复成本,从而可以为特定准则进一步确定静态分析结果的优先级。这样,您将获得非常细致的优先级划分,可以帮助您专注于最重要的事情,而不是处理大量的静态分析冲突。

我意识到其他标准(例如CWE)也具有风险框架,但迄今为止,还没有人完全实施它们以进行静态分析,因为这非常困难。例如,我们考虑了CWE的“技术影响”分数,这很有帮助,但是CERT分数在自动优先级划分方面要深得多。

关于这些风险框架的问题是,直到现在,它们还是一项学术活动,虽然有趣,但是却没有您可以在该领域中使用的东西,或者它们完全是手动的并且有些主观的过程。因此,我们采用了CERT系统,并在我们的静态分析报告系统中实现了它。不久之后会更多。


为什么要使用一种静态分析工具而不是另一种进行安全编码实施?

我是Parasoft的布道者但是为什么要使用我们呢?并不是所有的静态分析工具都基本相同?当然,答案是否定的,不是。对于CERT C安全编码标准,Parasoft C/C++test是最完整的解决方案,它可以通过三种主要方式帮助您取得成功:

  1. CERT C规则的内置支持。我们已实施了所有CERT C规则,并且还添加了大部分建议,其余建议即将推出。简而言之,我们是唯一一家全面提供CERT C规则的供应商,并且还涵盖了所有供应商的大多数建议。因此,如果您关心CERT指南,那么从客观上来说,Parasoft C/C++test是最佳选择。

  2. 您要做的不仅仅是谈论风险评分。我们对CERT风险框架的实施具有独特性,因为它们嵌入在我们为该标准提供的每个小部件和报告中。这意味着,您可以在规则和建议之间进行选择,选择优先级分数、级别、类别等,并立即查看更改。

  3. 简化审核和合规报告。Parasoft提供了人们对静态分析工具(用户可自定义的仪表板,PDF报告,直方图等)的所有期望,以及动态风险小部件。但是,从Parasoft获得独特价值的地方是,我们将所有这些都包装到了我们的标准合规性框架中,因此您可以轻松生成报告,以证明您所做的工作,完成后如何将Parasoft映射到CERT,以及安全审核所需的所有其他抵押品。您的安全员会感谢您,您的客户也会感谢。

我记录了CERT安全仪表板的快速概述,以向您展示内置合规性配置中的报告和小部件可能实现的一些工作流程:


所有这些工作均以开发人员实际需要的方式进行。Parasoft与构建和CI系统完全集成,并带有一个Web UI,每个人都可以看到结果。更重要的是,它可以直接集成到开发人员IDE(即EclipseVisual Studio)中,使开发人员可以在代码所在的地方工作,从而获得最快的反馈。

如果您过去曾经尝试过静态分析安全性工具,但由于它们太吵杂或没有真正加强代码而苦苦挣扎,那么现在是查看的好时机。


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP