发现自己的环境中存在旧的、易受攻击的代码的公司很可能缺乏修复这些代码的资源 。大多数公司都会在某一时刻发现自己处于这种情况,无论是因为他们使用的是开源程序还是过时的程序 , 但公司有一些方法可以应对问题,包括确定优先顺序、自动化和缓解 。
旧的、糟糕的代码中存在的问题在企业中随处可见 。易受攻击的代码通常是一个问题 , 根据Veracode今年发布的一份报告,在去年扫描的应用程序中,74%至少有一个安全漏洞,19%有高度严重的漏洞 。Veracode的首席研究官Chris Eng说,应用程序越旧,出现问题的可能性就越大 。首次扫描新应用程序时,32%的应用程序存在安全漏洞 。在五年的时间节点上,这一比例跃升至70%,到一个应用程序使用10年的时候 , 它有90%的可能性至少有一个安全漏洞 。
问题增加的一个原因是应用程序中添加了新的代码,根据Veracode的数据,在前五年,应用程序平均每年增长40%,每一行新代码都增加了出错的可能性,更复杂的代码使发现和修复问题变得更加困难 。
组件也是问题的一大部分,Eng告诉采访人员:“大多数开发人员 , 当他们下载一个开源组件并将其整合到他们的应用程序中时,永远不会回去更新它 。”更准确地说,79%的时间里 , 旧的开源组件不会更新 。随着时间的推移,即使从来没有添加新的代码行,也会不断发现新的漏洞 , Eng说,“该应用程序的安全状况变得越来越糟糕 。”
根据Synopsys在2月份发布的开源安全和风险分析,所有商业代码库中96%包含开源组件,89%包含过时四年以上的开源代码,这个问题对应用程序安全是很重要,以至于易受攻击的第三方库被OWASP列为Web应用程序安全风险前十名 。
表面上看 , 解决方案似乎很简单:只需用最新版本替换组件即可 。当代码库相对较新时,这很容易 。Eng说:“如果明天发布补丁,那么做补丁就相当容易了 。但如果我徘徊数年,得到多个版本,那么获取最新版本所需的工作量是巨大的 。”
随着每一个新的更新,特别是主要的版本,有更多的可能性来改变行为,关键功能可能已弃用 , 这意味着如果组件更新到最新版本,应用程序作为一个整体可能会停止工作 。“当你有几个主要版本之后,肯定会发生崩溃 。”Eng说 。
当公司发现自己处于这种情况时,最好的做法是首先专注于最关键的问题 。
识别并确定构成最高风险的糟糕代码的优先顺序不同的漏洞可能会对公司产生不同的影响 。在某些情况下,特定函数中可能存在安全漏洞 , 但应用程序不使用该函数,因此使系统不太容易受到该特定漏洞的攻击 。还有一个问题是,是否看到了攻击行为,以及正在观察到的攻击活动的类型 。
背景也很重要 。Synopsys Software Integrity Group的管理顾问亚当·布朗告诉采访人员:“如果你有一个过时的、非常旧的应用程序,但它部署在一个没有人能访问的安全网络上,那么它的影响就不会那么高了 。即使它被归类为超高风险的关键漏洞,如果你花了很多钱来修复它,谁会受益?”
在受监管的行业中,也可能存在与修复代码相关的合规问题,因为任何更改都必须经过审查,这种情况往往发生在金融和卫生领域 。对于一些旧的应用程序,更换可能比修复更有意义 。布朗说:“有时候,建立一个新的模型,然后慢慢迁移到它上面,比试图修复旧的模型要容易得多 。你可能会花时间修复一个严重的漏洞 , 但最终你应该做的是找出如何重新开发平台 。”
Synopsys本月初发布了自己的软件漏洞报告,该报告基于过去三年运行的1.2万项测试,重点是网络和移动应用程序 。根据这份报告,92%的应用程序存在漏洞,其中33%属于严重类别 。
在确定优先顺序时,公司还需要注意不要被新闻头条所动摇 。网络安全供应商Cymulate的董事兼网络安全架构师迈克·德纳波利表示:“公司之间有一种趋势,即根据当前媒体的关注水平来评估迫在眉睫的威胁,而不是实际的风险水平 。”Cymulate在今年3月发布了一份跟踪网络安全有效性状况的报告,该报告还强调了公司中存在不安全代码 。根据这份报告,与前一年相比,平均风险得分有所恶化 。
安全和风险公司HyperProof的IEEE高级成员兼现场CISO Kayne McGladrey表示 , 确定软件修复的优先顺序的最大问题是,安全控制和业务风险结果之间往往存在脱节,他表示,这加大了获得高管支持的难度,代码维护和依赖项管理不是什么吸引人的话题 。McGladrey告诉采访人员,相反 , 高管的兴趣往往集中在“停工带来的财务或声誉影响”上 。
推荐阅读
- 固态硬盘坏了能修复 固态硬盘坏了能不能修复
- 一文读懂 AutoGPT 开源 AI Agents
- 肋软骨隆鼻失败了怎么解决 隆鼻失败了该怎么修复
- 来自qq单向好友是什么意思呀 来自QQ单向好友是什么意思
- 白雪公主出自哪里,白雪公主这个形象最早来自于哪本书?
- ps怎么磨皮消除脸部高光,ps去除修复人物脸部斑点的教程
- 最全Vue3开源管理系统汇总
- 2023年微软开源八个人工智能项目
- 修复Windows 10上“未安装音频输出设备”的错误
- 牙齿修复方法有几种 牙齿修复方法