来自 防护 2021-12-14 00:14 的文章

游戏盾_共享高防ip_秒解封

游戏盾_共享高防ip_秒解封

谷歌最近研究了其Chrome浏览器项目(特别是Chrome和其他浏览器所基于的开源Chrome项目)中检测到的严重安全漏洞的根本原因,发现70%是"内存不安全"问题。他们把这归因于C/C++指针所犯的错误。该分析基于自2015年以来发现的912个严重性或严重性严重性错误,因此有大量数据可作为依据。毫不奇怪,微软在其内部研究中得出了相似的结论。在这种情况下,微软修补的CVE(常见漏洞和暴露)有70%是由于内存安全问题造成的。谷歌的数据显示,免费使用占其高影响安全漏洞的36%,32%是其他内存不安全问题,这些问题大概是缓冲区溢出错误和越界访问。以下图表显示了高安全漏洞和关键安全漏洞的分布情况。Google Chromium项目中高严重性和严重性安全漏洞的根本原因分布。资料来源:记忆安全,铬项目。达到运行时缓解方法的限制Chrome的安全体系结构中有各种各样的方法来减轻这些内存问题的影响。例如,使用定制的内存管理库和垃圾回收C++来帮助检测和最小化这些错误在运行时的影响。值得注意的是"规则2"的做法,以防止这些安全漏洞造成严重利用的机会。其想法是,您可以选择以下三个选项中的两个,但不能同时选择三个选项:谷歌的"规则2",防止漏洞成为严重的安全威胁。这背后的想法是,不可信的输入(我们称之为污染的数据)从未被C/C++代码处理,而没有沙箱——所有三个风险的交叉点(DOOM!)。但是,这个规则认为在沙箱中处理C/C++中的污点数据是可以接受的,并且在没有沙箱的情况下,用"安全"语言处理这些数据。谷歌发现,第二条规则限制了向Chrome添加功能的能力。隔离到不同的进程中可以防止恶意站点访问其他开放站点的数据。然而,代价是性能和效率的损失。例如,创建一个新进程来处理不可信的数据,对于一个特性来说,开销太大了。报告提到了他们试图缓解的问题,令人惊讶的是,这些问题没有包括静态(或动态)分析。显然,本研究中可能没有提及其他安全控制措施。不管怎样,我认为编码标准、SAST的早期使用以及单元测试和运行时(DAST)工具的应用的结合可以帮助在这些内存问题成为安全漏洞之前消除这些内存问题。消除记忆不安全的根源及静态分析的作用报告讨论了一些方法来帮助减轻内存安全问题对Chrome安全性的影响。显然,作为一个静态分析工具供应商,我们认为在使用CodeSonar这样的工具来预防检测到的错误方面,cdn高防waf,我们可以发挥重要作用。考虑到Google的一些方法,下面将讨论GrammaTech CodeSonar等工具如何提供帮助:自定义C++库:这种方法通过在运行时使用技术来改进内存管理库,例如在执行操作之前检查指针的有效性。这种方法假设开发人员犯了错误,内存管理函数中使用的任何输入都应该被认为是不可信的。当然,怎么建立高防cdn,这是一个很好的方法,但是不管是"更安全"的C++库,它仍然有助于检测和清除内存管理不善。静态分析工具非常适合于检测最常检测和利用的错误类型。在内存错误进入代码存储库之前检测内存错误,并为工具提供最佳的投资回报。向更安全的语言过渡:尽管在Chrome这样的大型项目中改变语言是不切实际的,但谷歌正在寻求转移到其他更安全的语言来减轻内存问题。然而,C和C++并没有消失。为了减少C和C++的潜在危险,cc攻击和云防御,可以采用诸如SEI Curt C之类的更安全的子集。静态分析工具非常适合于帮助团队根据已知标准评估代码,并帮助在持续的基础上实施规则。即使C和C++可以存储内存错误,ddos防御入门,从一开始使用的安全编码实践可以帮助消除许多这些问题。自定义C++方言:限制开发人员使用的语言结构类型可以帮助防止内存问题的出现。如上所述,已经定义了更安全的语言子集来帮助提高代码安全性。采用这些标准加上严格的内存错误检测可以帮助在开发生命周期的早期消除它们。关注内存问题以减少静态分析结果中的"噪音"我怀疑,从Chrome开发者那里得到的第一个回击应该是"我们尝试了静态分析,但有太多的误报!"没有任何背景,低成本ddos防御,很难反驳。然而,通过正确的配置和对关键内存"不安全"问题的关注,分析工具有可能以更好的精度和更少的"噪音"检测这些高风险问题。我们在白皮书"简化现有项目中静态分析的采用"中详细介绍了这种方法摘要谷歌的分析显示,70%的高和严重严重性安全漏洞是由于C和C++代码中内存处理不当所致。它们通过诸如沙箱等隔离技术来缓解这些问题,但这会对性能和效率产生影响。它们还坚持通过2规则的方法,不安全的语言如C和C++被限制在处理任何类型的不可信数据时在沙箱中运行。这个限制阻碍了产品中的新功能,沙盒是一个性能问题。在生命周期早期使用的静态分析和其他技术可以帮助消除不安全的内存处理,以免它们成为安全漏洞。还需要采用C和C++的安全子集来减少C/C++中潜在的危险结构的使用。将静态分析集中在非常具体的内存错误上,可以帮助开发人员消除过多的警告,从而减轻"噪音"或误报的感觉。