赞
踩
网安所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
最后就是大家最关心的网络安全面试题板块
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
开源软件安全威胁是近几年企业安全面临的主要威胁,也是企业应用安全方向讨论的热门话题,但是由于是新的需求新的方向,很多企业在观望,当前开展这项工作是否已经成熟,项目成功率如何?
当新鲜事物产生时,首先我们应该积极的态度去拥抱它,但是它是不是真的值得我们投入(包括当下工作和未来个人技术成长),就需要客观的分析其必要性,同时结合自身情况了解它的可行性。
开源安全治理方向是近几年经济下行周期中企业为数不多大家关注的热门方向,也是当前企业面临的主要安全威胁,大量勒索攻击、数据泄露事件究其原因都与此有关,再加上自主可控的大背景需求下,此项需求被催生和释放就理所当然了。
但是面对这样一个热门的方向,行业头部企业都在积极投入和规划,我们应该如何客观看待,开源安全治理到底是昙花一现的伪需求?还是企业真正值得长期投入的新方向?我觉得我们需要冷静客观的深入分析一下它的必要性及当下开展这项工作的可行性,这篇文章我会结合我自己过去在企业甲方的实践经历和墨菲安全创业过程中做开源安全治理产品工具的经验心得,对这两个关键问题进行深入剖析,文末也欢迎大家参加有奖调研和我讨论。
从我沟通和调研过的各行业数百家企业中,其中开源安全治理的必要性大家已经有基本的共识了,关于可行性是目前大家讨论和担忧比较多的,所以本文也会重点分析可行性,如果你只关注可行性的分析,请直接跳到第二部分。
回答一件事情的必要性,我们可以从长期和短期两个视角来分析,长期我们主要看趋势及其必然性,短期我们看需求的刚性程度。
长期来看**,**随着全球及中国数字化程度越来越高,企业对于软件的制造和生产的需求越来越大,软件制造的供应链会越来越成熟,就像过去几十年汽车制造的发展过程一样,随着人们生活水平的提升,出行需求的快速增长,复杂的企业工业到今天拥有非常成熟的供应链体系。而一个成熟的供应链体系就需要不同的供应商将一个个具体的需求转化成标准件,最后由企业根据它的需求将这些数百个甚至数千个不同的标准件组装起来,完成一个成品软件的生产制造。
而开源软件就是软件制造工业的供应链体系中,数量最庞大的标准件。随着未来数字化需求的不断增长,开源软件的数量及其应用量只会越来越高。由于开源软件的开放性及软件开发过程的复杂性,必然导致这些开源软件会存在大量的安全漏洞缺陷,而这些漏洞缺陷会传导到最终企业加工出来的成品软件中。从而使得企业应用软件中大量的安全漏洞缺陷来自它的开源软件供应链。在这种情况下,黑灰产为了寻找漏洞来攻击企业以牟利,必然会有越来越多的开源组件漏洞被发现和利用。
所以,长期来看随着企业应用的开源软件越来越多,这些开源软件的安全漏洞在黑灰产攻击者的利益驱使下会以更快的速度和更高的频率被曝出,进而使得开源软件的安全威胁成为企业面临的主要威胁。
短期来看,开源安全治理的紧迫性主要来自企业需求,而企业的安全需求通常来自两方面,一方面是安全事件驱动,另外一方面是政策合规要求。
LockBit勒索团伙相信大家都听说过,去年底工行美国子公司被勒索事件就是出自LockBit,据海外多家网络安全公司(包括Dragos、Malwarebytes等)统计分析,全球有超过1/3~1/2的勒索攻击事件来自LockBit,而LockBit最惯用的攻击手法之一就是利用各种开源软件的0day/1day漏洞进行攻击,之后实施勒索行为。而在2024年2月,美国、法国、英国等国执法机构联手对头号勒索软件组织LockBit展开了大规模清剿,这个代号“克罗诺斯行动”的行动,对LockBit团伙用来做勒索的相关系统后台进行了渗透攻击,而此后披露的信息来看,执法机构用来渗透攻击LockBit的漏洞也是开源软件PHP的一个0day漏洞。由此可见在主流的网络安全攻防战场,最高效和主流的攻击方式都是围绕开源软件的漏洞展开的。
而且值得关注的是,勒索团队的攻击往往是全球化无差别的攻击,任何一个企业,只要有软件服务暴露在公网都有可能被攻击,他们通常对全球的互联网进行开源软件的0day/1day进行扫描,一旦发现哪个企业暴露在互联网上的软件存在漏洞,马上启动自动化的数据加密勒索攻击。而往往任何一个企业通常在这三个时间点容易遭受勒索攻击:
而每年国家及各地区的大型攻防演练中,开源软件及商业软件中依赖的开源软件的漏洞也一直都是近几年红队用来攻击目标单位的主要手段,由此可见,从红队的视角来看,国内各行业企业主要的安全缺陷也是来自软件供应链,包括商业软件供应链及开源软件供应链。
不管是勒索攻击还是大型攻防演练,当前针对开源软件的攻击事件已经严重影响到了国家一些重要的基础设施单位及企业,所以不管是从欧美还是中国来看,政府近几年都密集出台了大量法律法规来要求企业和政府事业单位加强开源软件安全治理。
所以,从短期来看,企业开展开源安全治理目前也是各行业企业和政府监管的共识,因为各方也都面临这同样的威胁。
可行性分析的目的是全方面调研分析该项目是否具备在企业成功落地,达成预期效果的可行性,分析思路上我们可以从行业最佳实践效果、技术方案成熟度、关键难点及挑战应对方案等多方面进行分析。
我自己因为创业的原因,过去三年一直专注在软件供应链安全领域,所以跟各个行业企业做安全的朋友们交流最多的当然也就是这个方向,在软件供应链安全领域,相对来说大家今天关注最多的其实就是开源安全治理。其中有一部分企业的安全负责人在真正开展开源安全治理工作时多少有些顾虑,主要顾虑的点还是这项工作建设的可行性。
从跟大家交流来看,首先大家认为开源安全治理时一项非常复杂且具有挑战的工作,它的挑战主要来自五个方面:
企业引入开源软件的方式非常多,管控复杂:包括自研的软件中自主引入,也包括采购的商业软件中引入的开源组件,同时还包括大量免费的办公软件中也会引入大量的开源组件。这里面包括直接引入和间接引入,所谓间接引入就是直接引入的这些开源组件本身又依赖了大量开源组件,而商业软件和免费的闭源软件中引入的大量开源组件对于企业来说是黑盒不透明的,管理起来难度更大。
开源软件的类型非常多,管理标准不一,治理难度大:企业自研及外部引入的软件中,涉及的开发语言主流的有5~6种,还有10~20种不是很主流的开发语言。这些不同语言的开源组件在治理时会给识别和治理的难度大大增加,因为这些不同语言的开源组件的包管理工具生态不一样,包管理生态的成熟度也不一样,甚至一种开发语言有多种包管理工具的生态,比如Java的Maven和Gradle等,而c/c++干脆没有什么特别成熟和覆盖度高的包管理工具生态,甚至很多研发人员在使用开源组件时会魔改这些开源组件以及不使用规范的包管理工具来管理其代码项目的开源组件的引入。
开源软件的治理涉及的相关方较多,内部推动难度大:因为开源软件在企业内使用广泛,且几乎涉及到软件开发的所有流程,所以开源安全治理几乎与所有的技术部门都相关。当然最主要的挑战还是来自软件研发人员和安全管理部门之间的协同。软件开发人员在开源软件方面更关注软件工程问题,而安全管理部门更关注安全及合规性问题,而两者之间往往存在一些冲突。此外,就是软件研发人员更懂工程但是缺乏安全知识,而安全工程师更懂安全风险但是缺乏工程知识。而开源安全治理工作是同时需要具备这两方面知识的,这就使得双方必须协同。
行业缺乏成熟的技术工具来支撑开源安全治理工作,无法闭环落地:因为开源软件在企业的应用模式和自研代码有很大的区别,导致过去应用安全相关的工具在开源安全治理时并不适用,过去市面上大多数应用安全类的工具(SAST/IAST/DAST/SCA等)大多数都是针对企业自研代码产生的漏洞进行治理的,多数都是侧重代码安全漏洞的检测,而非常轻修复的能力。实际上研发自研的代码部分自己发现漏洞进行修复相对简单,毕竟自己写的代码。但是开源组件的很多漏洞企业开发者没办法自己改代码去修复(而且从工程管理的角度上也不建议自己去改人家开源组件的代码来修复安全问题),这就导致过去的工具失效了。当前的局面是,企业检测出来大量的开源组件安全漏洞,修复成本极高,这就导致研发很抵触这项工作,从而难以运营落地。
行业缺乏成熟的治理体系和成功的最佳实践,缺乏参照:根据我的观察,国内企业在开源安全治理方面,3-5年前开始有一波金融&互联网行业先行试点过,从效果来看,只有极少数一波企业(蚂蚁似乎做的还不错)效果相对还不错,其他的大多数基本上都踩到坑里了。这就导致这两年大家再开展治理的时候一方面并没有很多成熟的最佳实践参考,另外一方面也多少没有太多信心。
面对以上五个严重的挑战,从企业解决的角度来说,可以聚焦为三个主要应对举措:
多做行业头部最佳实践调研:其实近两年,互联网、金融、运营商、智能制造等多个行业的头部企业,还是有不少企业在开源安全治理方面已经有自己的一些最佳实践和成功经验了。虽然说不是100%成熟,但是还是很具参考意义的;
资产盘点,分级治理:虽然问题很多很复杂,千头万绪,通常这种情况下我们的解法也很简单,那就是先对企业使用的开源组件进行一轮摸底,然后根据相关业务的重要程度及组件本身安全风险程度进行分级治理,确定阶段性的治理目标;
科学的技术选型,关注运营闭环及降低修复成本:内部协同挑战大的主要原因还是各方在治理这件事上需要投入的成本太大,与各方取得的收益不成正比,从而导致大家不愿意干,所以核心解法在于降低如何降低治理过程中的成本投入,那么其实关键问题在于降低开源安全问题的修复成本;
接下来,对于以上三个问题,我对其中核心的难点和落地实践稍微展开做一些分享。
这个方向初期比较容易入门一些,掌握一些基本技术,拿起各种现成的工具就可以开黑了。不过,要想从脚本小子变成黑客大神,这个方向越往后,需要学习和掌握的东西就会越来越多以下是网络渗透需要学习的内容:
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。