C C++ 最易受攻击、70% 漏洞无效,揭秘全球开源组件安全现状

本人从事网路安全工作12年,曾在2个大厂工作过,安全服务、售后服务、售前、攻防比赛、安全讲师、销售经理等职位都做过,对这个行业了解比较全面。

最近遍览了各种网络安全类的文章,内容参差不齐,其中不伐有大佬倾力教学,也有各种不良机构浑水摸鱼,在收到几条私信,发现大家对一套完整的系统的网络安全从学习路线到学习资料,甚至是工具有着不小的需求。

最后,我将这部分内容融会贯通成了一套282G的网络安全资料包,所有类目条理清晰,知识点层层递进,需要的小伙伴可以点击下方小卡片领取哦!下面就开始进入正题,如何从一个萌新一步一步进入网络安全行业。

需要体系化学习资料的朋友,可以加我V获取:vip204888 (备注网络安全)

学习路线图

其中最为瞩目也是最为基础的就是网络安全学习路线图,这里我给大家分享一份打磨了3个月,已经更新到4.0版本的网络安全学习路线图。

相比起繁琐的文字,还是生动的视频教程更加适合零基础的同学们学习,这里也是整理了一份与上述学习路线一一对应的网络安全视频教程。

网络安全工具箱

当然,当你入门之后,仅仅是视频教程已经不能满足你的需求了,你肯定需要学习各种工具的使用以及大量的实战项目,这里也分享一份我自己整理的网络安全入门工具以及使用教程和实战。

项目实战

最后就是项目实战,这里带来的是SRC资料&HW资料,毕竟实战是检验真理的唯一标准嘛~

面试题

归根结底,我们的最终目的都是为了就业,所以这份结合了多位朋友的亲身经验打磨的面试题合集你绝对不能错过!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

开源安全漏洞数量在急剧上升

开源漏洞数量的急剧上升给负责安全目标的开发和安全团队带来了严峻的挑战。

已发现的开源漏洞数量急剧飙升,截止到2017年,已有将近3,500个漏洞。

根据我们从NVD、安全专家、业内漏洞审核数据库以及流行的开源问题追踪器收集到的数据表明,2017年发现的开源软件漏洞数量比2016年增长了50%以上。而且我们发现2018年这个数字还有继续上扬的趋势。

造成这一局面的原因可以归结为,随着开源组件的广泛采用,软件开发社区开始关注开源安全;同时公开数据的泄露也让开发社区提高了安全漏洞的意识。

640?wx_fmt=png

2017年开源软件漏洞数量增长了51.2%

在调查中,我们采访了来自美国和西欧的650名开发人员,向他们征询有关实践以及使用开源时遇到的问题。

调查显示,只有极少数开发人员由于公司的政策等问题而没有采用开源组件。而使用开源的开发人员则形成了对开源的依赖。

96.8%的开发人员依赖于开源组件,因此他们受到了最近已知漏洞数量增加的严重影响。

640?wx_fmt=png

开源组件的使用频率

由于大多数已发现的开源软件漏洞皆存在于为数不多的几个项目中——最受欢迎的项目,因此这种风险更加严重。

开源项目越受欢迎,社区规模越大,就越会吸引安全研究人员的“眼球”。随着越来越多贡献者的关注,每个月都会有人发现并公布更多安全与质量的问题。

根据我们的调查,7.5%的开源项目都很脆弱。在排名前100的最受欢迎项目中,32%都存在脆弱性。

640?wx_fmt=png

虽然一个漏洞就足以让多个库面临风险,但平均每个易受攻击的开源项目中包含8个漏洞。

已知开源漏洞数量最多的十大开源项目中包含了我们熟悉的项目,也是我们的许多产品所依赖的项目。

这些项目中的大多数都是面向互联网前端的组件,而且有大量暴露在外可被攻击的方面,因此它们相对容易被利用和吸引大量关注,这绝非巧合。

另外,有趣的是这些项目中的大多数背后都有商业公司的支持。请注意,大量的漏洞报告通常意味着社区在积极地维护该项目,并不代表该项目的安全标准差。

640?wx_fmt=png

漏洞数量最多的十大开源项目

在下列最易受攻击的语言列表中,C/C++遥遥领先,占所有漏洞报告的41%。JavaScript是最常用的编程语言之一,但它仅占第4位,仅有7%的漏洞。

640?wx_fmt=png

漏洞数量最多的七大编程语言

但是,这并不是一件坏事。

安全意识的提高也会促进社区提供建议修复,通常他们会在几天内发布修复。

开源社区为97.4%的漏洞报告提供了至少一项建议修复程序。

然而,虽然开源社区在保护开源项目方面付出了艰辛的劳动,但用户无法从他们的努力中充分受益。

问题在于,有关漏洞的信息并不会在一个位置集中发布,这些信息往往分散在数百个资源中,而且通常都没有索引,因此很难搜索。

640?wx_fmt=png

对于检测开源组件已知漏洞的开发人员来说,这将是一项长期的挑战。

640?wx_fmt=png

在修复开源漏洞方面开发人员的效率很低

开发人员花费大量时间来解决开源漏洞,但由于缺乏标准实践和以开发人员为中心的工具,因此他们的效率非常低下。

开发人员并没有忽视开源漏洞的增加。我们的调查清楚地表明,开发人员已将开源安全漏洞视为使用开源的首要难题。

26%的开发人员认为安全漏洞是开源组件面临的最大挑战。开源软件漏洞的紧急度高于集成、功能、许可和选择。特别是,一些大型的组织更为关注开源的安全性。

640?wx_fmt=png

使用开源组件时面临的最大挑战

我们已经在这个问题上付出了沉重的代价,开发人员每个月都要花费将近15个小时来处理开源漏洞(例如审查、讨论、报告和修补)。

640?wx_fmt=png

每个月处理开源漏洞的时间

如果我们让经验丰富的开发人员负责修复开源漏洞,那么这个成本会更高。

640?wx_fmt=png

不同级别的开发人员处理开源漏洞的时间

我们的调查还显示,在开发人员每月花费在解决开源安全漏洞的15个小时中,实际上只有3.8个小时在修复漏洞。

当询问开发人员在发现漏洞后应该怎么做时,他们没有提供明确的答案,这表明他们缺乏标准的实践方法。

由于在处理新发现的漏洞时缺乏固定的方法,所以导致他们在解决开源漏洞时的效率非常低下。

640?wx_fmt=png

如果发现漏洞,你应该怎么做?

640?wx_fmt=png

优先级策略是管理开源漏洞的关键

开源漏洞的优先级策略对于确保公司按时解决最紧迫的问题至关重要。

考虑到安全团队每天都会收到警报,安全漏洞的低效补救措施已经成为了一个主要问题。

业内顶级专家一致认为,尝试解决每个问题是不现实的,优先级划分才是高效管理开源漏洞的关键。

绝对安全是不可能的。零风险也是不可能的。开发安全运营团队必须针对持续的风险建立信得过的评估系统,并划分应用程序漏洞的优先级。努力去除应用程序中所有潜在的漏洞换来的只是徒劳无功,这会降低开发人员的工作速度,浪费时间去追逐不真实的问题(误报),解决真实但没有直接影响的漏洞,以及不会被用到的低风险漏洞。

——成功的开发安全运营团队需要做好的十件事情, Neil MacDonald Gartner

调查结果显示,开发人员普遍缺乏标准化的最佳实践来确定开源漏洞的优先级。

结果还表明,开发人员在确立修复优先级时,通常都会参考现成的数据,例如应用程序的重要性或修复的实际效果。但是,开发人员划分优先级时参考的数据不一定是正确的数据。

与黑客较量时,时间至关重要。特别是对于开源项目而言,因为它的漏洞数据是公开的。

因此,缺乏确定漏洞优先级的实践将导致资源使用率的低下,还会让开发人员将时间投入到“错误”的漏洞上。

640?wx_fmt=png

开发人员普遍缺乏划分开源漏洞优先级的标准实践

事实上,开发人员应该根据漏洞对产品安全性的影响程度,来确定开源漏洞的优先级。

易受攻击的功能不一定会导致项目易受攻击,因为私有代码不一定会调用易受攻击的功能。

只有根据漏洞的有效性确定漏洞是否会构成实际的风险,才能为安全和开发团队节省宝贵的时间。

在测试了2,000个Java应用程序之后,我们发现这些应用程序中检测到的漏洞中,有72%是无效的。

分析有效漏洞和无效漏洞表明了根据有效性划分优先级的重要性。数据表明,70%的开源漏洞警报都是无效漏洞。

640?wx_fmt=png

根据我们调查中收集的数据,这相当于为每位开发人员每月节省10.5小时(每月15个小时*70%)。

采用优先级策略的组织可以更快地修复关键问题,从而节省宝贵的开发时间并提高产品的安全性。

640?wx_fmt=png

有效使用率分析

可靠的开源漏洞修复优先级划分,可以将安全警报降低70%-80%。

最近我们推出了一种新技术,可以根据应用程序使用的方式确定开源漏洞的优先级——有效使用率分析。

我们对来自12个组织的25个商业应用程序进行了beta测试,结果表明:

学习路线:

这个方向初期比较容易入门一些,掌握一些基本技术,拿起各种现成的工具就可以开黑了。不过,要想从脚本小子变成黑客大神,这个方向越往后,需要学习和掌握的东西就会越来越多以下是网络渗透需要学习的内容:
在这里插入图片描述

需要体系化学习资料的朋友,可以加我V获取:vip204888 (备注网络安全)

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 30
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一些开源C/C++项目中的漏洞例子: 1. OpenSSL漏洞:在2014年,一个名为“心脏出血”(Heartbleed)的漏洞被公开,该漏洞影响了OpenSSL库的版本1.0.1和1.0.2。该漏洞允许攻击者从服务器内存中读取数据,包括用户密码和私钥等敏感信息。 2. Apache Struts 2漏洞:在2017年,一个名为“Equifax”的大规模数据泄露事件发生,其中包含了约1.43亿美国消费者的敏感信息。这是由于Apache Struts 2漏洞引起的,该漏洞允许攻击者远程执行代码,导致服务器攻击。 3. libpng漏洞:在2015年,一种名为“badpng”的漏洞被公开,影响了大量使用libpng库的应用程序。该漏洞允许攻击者通过特制的PNG图像文件来执行任意代码。 4. Bash漏洞:在2014年,一个名为“Shellshock”的漏洞被公开,影响了许多使用Bash Shell的Linux和Unix系统。该漏洞允许攻击者通过构造的环境变量来执行任意代码。 5. ImageMagick漏洞:在2016年,一个名为“ImageTragick”的漏洞被公开,影响了ImageMagick图像处理库的版本6.2.9到6.9.3-10。该漏洞允许攻击者通过恶意图像文件来执行任意代码。 需要注意的是,这些漏洞已经被修复,因此如果您使用的是最新版本的这些库或应用程序,您将不会到这些漏洞的影响。然而,这些漏洞的存在提醒我们,开发人员需要审查和测试他们使用的库和代码,以确保其安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值