当前位置: 首页 > 科技观察

买bug送软件:四种最危险的编程语言

时间:2023-03-22 15:47:22 科技观察

上周,第三方漏洞获取平台Zerodium宣布将在未来2-3个月内暂停对iOS漏洞的获取,因为有太多许多iOS漏洞利用在短时间内提交。这个消息让许多安全专业人士感到惊讶。毕竟,iOS的安全性曾经是苹果引以为豪的最大卖点之一。安全性不断提升,漏洞代价也已经超过iOS。如今,Android零点击漏洞(无需用户交互即可被利用)的价格飙升至250万美元,而iOS上类似漏洞的价格“仅”200万美元。除了谷歌和苹果在应用安全领域的投入和重视等因素外,还有一个深层次原因导致iOS漏洞大面积爆发,安全被Android反扑,那就是,编程语言平台和开源库的安全性。问题。Bug之王根据Veracode最新发布的年度软件安全状况报告,全球70%的应用软件至少存在一个由开源代码库引起的安全缺陷/漏洞。其中,Swift代码库的软件缺陷密度(每个代码库的缺陷数)已经超过了网络安全人员的“父母”——PHP。(下图)Veracode的软件安全状况报告指出,这些开源库(为开发人员提供现成应用程序“构建块”的免费、集中式代码存储库)不仅无处不在,而且存在风险。该分析检查了85,000个应用程序中的351,000个外部库,发现开源库非常普遍。例如,大多数JavaScript应用程序包含数百个开源库,有些甚至包含1000多个不同的库。此外,大多数语言都有相同的核心库集。“JavaScript和PHP几乎在每个应用程序中都有几个核心库,”报告说。与其他软件一样,这些库也有缺陷。问题在于,由于代码重用,单个错误可能会影响数百个应用程序。“在当今几乎每个应用程序中,开源库都很重要,它允许开发人员通过快速添加基本功能来加快开发速度,”Veracode说。“事实上,如果没有这些库,几乎不可能使用软件进行创新。”可能吧。然而,缺乏正确使用开源库的意识和必要的风险已经成为一个严重的问题。《四种最危险的语言》报告指出,开源代码库中bug最多的四种主要语言是:Swift、.NET、Go、PHP(上图)。其中,Swift的bug密度(7)位居榜首,而PHP的漏洞分布最广(覆盖了近60%的代码库),由于Swift是苹果生态的专业开发语言,虽然bug密度高,但分布并不广泛。.NET的bug分布百分比在四个库中最低(不到10%),但代码库数量是Swift的17倍以上。Go包含bug的库比例很高,接近PHP,但每个代码库的平均Bug总数较低。与Go相比,PHP每个代码库的Bug数量更高(6.5),Bug密度是后者的两倍。但是,就在可用的PoC数量中,Swift的性能并不是最差的,而PHP仍然是l无可争议的“王者”。:最佳防御:及时更新报告还发现,跨站脚本(XSS)是开源库中最常见的漏洞类别,占比近30%,其次是不安全的反序列化(23.5%)和访问控制入侵(20.3%)).%),如下图所示:“InsecureDeserialization曾经是国产应用中比较少见的缺陷,其排名的快速上升令人不安,因为它会导致执行意想不到的代码路径,这意味着某些部分我们不打算使用的库的一部分也可能被插入到其应用程序的执行路径中。“数据还表明,由于级联的相互依赖性,大多数有缺陷的库最终以代码的形式间接出现,因为开发人员使用一个可能从另一个开源库调用代码的开源库。”47%的有缺陷的库是可传递的,换句话说,它们不是由开发人员直接引入的,而是由第一个调用的库引入的(42%是导入的直接导入,12%是间接导入的)。这意味着开发人员引入的代码比预期的要多,并且经常有错误代码。“好消息是,大多数最严重的程序漏洞和错误都由您解决pdates(below)."应用程序中引入的大多数错误只能通过次要版本更新(将近75%)解决;根据Veracode报告,错误修复通常不需要升级主库,OWASPTOP10列表中超过90%的最严重错误今天都有可用的补丁或更新。》参考资料Veracode开源软件安全状态报告:https://www.veracode.com/sites/default/files/pdf/resources/reports/state-of-software-security-open-source-edition-veracode-report.pdf【本文为专栏作家“安安牛”原创文章,转载请通过安安牛(微信公众号id:gooann-sectv)获得授权】点此阅读更多作者好文