进入安全行业3年,越走越发现前路漫漫,最开始的时候,想做一个网络工程师,考证,面试,准备实习,后来有幸去了启明星辰做安服,后来想做一个黑客,想做高级攻防研究,奈何没有相应的条件和能力,而且越到后面事情越来越多,时间总是不够用的,大概就是原来想去浪迹天涯,后来日志告警太多,去不了了。偶然同行大佬问了一个问题:
“是什么原因让你选择了这个行业,又是什么原因令你选择转行?”
“机缘巧合进入,可能再也走不出去了”
Lemon说:
“除了这个其他的学不会,还要用脑子,最后发现这个学的更多,想转行的是时候除了这个其他啥都不会!”
(这个指的是安全行业)
进入了安全行业,选择了企业安全,从此就在这个区域不断的扎根生长,也想梳理一下这些年对于安全的思想和变化,文笔一般,欢迎指正和交流。
一、开始接触安全行业
在欠钱总的《我理解的安全运营》提到把安全从业人员分成剑宗和气宗。
剑宗是掌握一些招式,不需要长年累月的积累“内力”,有时候就能出奇制胜,搞Web安全的“脚本小子”被划为这一类;
气宗因为需要从汇编、编译原理等晦涩的知识开始(也可能不仅限于系统层面),学习曲线比较陡峭,大器晚成,碰到什么不明白的地方就反编译了看看汇编源码,总能知其所以然,搞二进制的被划入这一类。
而作者我恰好就是气宗门人,我的安全入门是从运维和网络开始的,最早的时候接触的是安全运维,有幸加入了启明星辰税务行业,开启了安服的全局视角,也因此进入了安全行业。
原来打算的并不是走安全路线,又是如何机缘巧合的进入了安全领域,并一发不可收拾呢?
因为我是网络工程专业,专业成绩还行吧,可以靠自己的网络专业知识去进行面试和工作,但网络工程有个特点,不知道是不是我们学校课程安排的原因,网络工程涵盖了软件工程部分,计算机科学部分,以及基础数学,操作系统,包括已有的网络层面的知识,让网络工程成为了啥都接触,但缺是没有重点的学科,或者说,都是重点,原来想通过网络开启职业生涯的我冥冥之中就像有一只手一样,让我想起了曾经的理想:做一名“黑客”,后来我看到了安全运维的岗位,看了下要求,基础能力基本符合,就试着投递了一些简历,后来经过面试就开始了安全运维的填坑之旅。
所以我总结了一下自己的安全生涯开启的状态应该是:
1.一个全国性的大型项目和号称三巨头的安全企业
2.一个全范围涉及的专业和较为扎实的基础
渐渐的,我开始思考自己开启安全职业生涯的过程的缺陷和需要后天不断完善的部分,可以说,我的生涯是很多人都可以参与和去实现的,但却肯定不是最好的,而且我一直都觉得自己的气宗应该是属于散修,而真正的气宗应该是各大实验室的成员,不说一招鲜吃遍天,但的确他们会把一部分基础练至臻化,而已经开启三年职业生涯后,当然不可能回头了,所以有些点还是需要提一下,以便后来或者正在经历这个阶段的安全从业者能够发现一些东西:
1.什么都学,最后却什么都不精
对于这个点,安服的我是比较印象深刻的,因为安服会涉及很多层面,从基础的资产梳理,建模,风险评估,应用系统基础,网络基础,操作系统基础,运维基础,域控基础,监控基础等等,再到深入一点的渗透,代码审计,失陷检测,应急响应,溯源分析,巡检,日志,最后到规划,运营;涉及战略,战术,运营等等,应有尽有,而造成这个情况的原因就是,安服的主体是甲方企业,而正规的甲方企业是对安全要么网络兼职开展一些基础的安全防护和建设,要么就是一整套下来如河防一般层层隔离,区域防护,而防护的手段就会不断的扩散开,从而导致安服涉及的面会异常的多,当然这是我个人的安服基因,而我同事之中也有一些是从事专一内容,比如渗透,代码审计,而这里我的建议是:
建议:从自己职业兴趣和职业能力出发,如果个人对全方位的安全感兴趣,就可以涉及全方位的安服内容,如果只是对攻防层面的安服感兴趣,那就只从事一个点或2个点进行深入,然后攻防一体,攻指的是渗透和攻击能力,防就是企业防护思维和落地。
2.合理分配项目时间
其实抛开大型项目和应急项目来说,如果一个人手上只有一个单一的项目,内容固定,没有太多的经验和技术要求,完全可以使用自动化手段进行安服项目实施的升级,这一方面的自动化实现时间建议在下班时间进行,如果是项目时间充裕的话,建议合理分配时间;
建议:将安全服务项目的实施交付时间分成以下几块:
安全建设:用于产出安服项目的正式产物,不仅限于文档,最好是系统化建设
安全运营:这一部分安服项目一般会稍微带过;“进行现场安全缺陷的发现,并提供相关建议”
安全规划:这一块前两年,甚至3年内尽量别碰,第一:对行业不熟悉,第二:对甲方企业业务不熟悉;第三:安全规划能力一般
项目管理:对于项目把控的时间主要是放在项目交付和验收部分
逻辑能力:此处更多的是软实力,对于一些问题思考,成长规划,关键对话等等的掌握
以上5个部分的时间如何调整比例,完全根据项目的重要程度,甲方企业的痛点和关注点以及个人天赋和兴趣来,虽然只有客户满意的安服才是有效的安服,但最好是职业和生涯一起成长。
3.学习
每个月,似乎安全圈就会出一些新的新闻,每个月,技术都会发生变化和更替,和随之而来的就是安全所面临的风险和技术能力的不足,学习是唯一让你不断提升自我能力的方向;
建议:学习是需要具体的方向和目标的,比如你对Web安全很专注,那你就可以不断的深入,由Web接触业务和SDL落地等等;如果你是对逆向很感兴趣,那就可以深入病毒分析,溯源,外部威胁情报等等;如果你对日志,流量很感兴趣,那就可以深入基础的数据分析和IDS;然后建议是一年一个大计划,每月调整计划内容,总之,要让你感到学习使你快乐。
4.锻炼身体
这里为什么要提这个,其实也是跟最近看到的朋友圈动态有关,24岁,月入5W,胃癌;首先要明白,我们安全从业有很多理由,但肯定没有说要通过牺牲身体健康来换取,这里没有过多的建议,医生的建议会更加具有份量,总之,注意身体。
简言之,安全的开始应该是有目标有方向的,不论是大而全,还是小而精,都应该是有具体方向和路径,如果还没有,不妨看看最近的招聘需求;
安全不应该只是在一串串的代码和文字,而是应该在落地后的效果。
二、企业安全
1.什么是企业安全?
企业安全这一块我只提一下自己的不成熟的想法,关于更加富有经验的可以参见《互联网企业安全高级指南》。
众所周知,就参与安全实现的企业主要会有两类:一个是以安全为赋能,不断提升企业竞争力的甲方企业;一个是在于不断解决甲方需求和痛点,提出可落地方案的乙方企业;虽然如今的乙方企业大多是推销铁盒子的,但还是要提一下乙方的安全职能。而甲方又常分成传统,互联网企业;随之而来的就是传统乙方和互联网乙方,传统乙方就是以天融信,绿盟,启明星辰为主的三巨头,而互联网乙方国内以奇安信,360政企安全为例,此处不提国外安全产商。
那么到底什么是企业安全?
首先,在每个人眼里的企业安全会不一样,传统公司和互联网企业,攻防人员和安全咨询;其次,企业安全的涉及面会不断的更新;
那么,究竟什么是企业安全?
我觉得赵彦前辈已经总结的很明白了:
企业安全就是从广义的信息安全或狭义的网络安全出发,根据企业自身所处的产业地位、IT总投入能力、商业模式和业务需求为目标,而建立的安全解决方案以及保证方案实践对的有效性而进行的一系列的系统化、工程化的日常活动的集合。
里面重点突出需求,能力,目标以及工程。
在此基础上,我觉得企业安全可能也是围绕自身资产,根据需求,投入能力,以及业务战略,安全战略为导向的持续化的工程建设,优化。
为何这么说呢?
经历过甲方或者贴近甲方的安全从业者会发现,有些安全措施是不会实施的,最简单的就是有些基线不会加固,有些漏洞不会修补;其次就是安全的投入仿佛是一个无底洞,而且成效没办法直接从业务的成长来进行表现出来;最后是安全的职能属性在每个企业的位置都不会一样,有的可能是一级职能,位于应用开发,研发之上,有的可能就是日常的救火小组,不尽相同。出现这些现象的一部分原因就是企业的业务模型和投入不同,每个企业的战略也不会一致,所以出现不同的情况也能理解。
2.安全服务
之前提到企业安全是围绕自身资产,根据需求,投入能力,以及业务战略,安全战略为导向的持续化的工程建设,优化。
这里其实主要表现的是一种过程化的思想,就是说安全的实现应该是不断更替的过程,像软件一样迭代更新,实现攻防对抗,又或是自适应安全。
在企业需求和安全发展的推动下,渐渐的,铁盒子下的冰冷的程序开始渐渐的无法满足企业安全建设运营的的需求和实现,安全服务的重要性不断的提现,安服的出现,其实就是使用人去覆盖硬件式安全设备无法实现的功能和需求点,其实安服同样也面临着调整和进化的过程,这个稍后再提。
那么,安服究竟是什么?
安全服务(security service)在不同的领域有不同的意义。在信息安全领域,安全服务指的是加强网络信息系统安全性,攻防对抗而采取的一系列措施。在其他行业中,安全服务主要指的是为了保障安全而采取的措施。
所以安服并不仅限于如今各大企业提出的安全服务List,只要你需要的,而单纯的硬件型安全设备无法实现的能力通过定制化的应用系统,设备结合人员能力完成的安全实现。简单点就是当前的安服是一定有人去实现的,而不是单一的仅靠设备去完成。
那么安服的局限或者缺陷在哪呢?就目前接触安服而言,安服的局限主要在于以下以下方面:
1.安服质量:并不是所有乙方的安服能力都很强,或者说平均安服能力主要还是在攻防能力和安全建设运营能力较强的那一批人,至于这两个点都不具备的一般不会直接参与安服的交付的。
2.安服的成熟度:虽然有安全服务成熟度模型,但就进入过两个大型安全产商的感觉而言,安服成熟度还在不断的变化,但都没有到我想要的情况,最简单的就是自动化能力,项目工程化实现能力,安服成长体系等等。
3.自动化和新兴技术:人工智能,机器学习是20世纪70年代就开始了,但到目前还未到达强人工智能的水平,自动化能力也是不断的发展,安服最后的场景会是了解到客户的需求,然后提供相应的安全服务程序,安装,自动化巡检,提供优化建议和详细实施步骤,实现无人安服,而更加具有能力的人员会参与到此类人工智能,机器学习的实现和专家规则库的优化,这是安服最终的愿景
但不论如何,这个时代或许都不会太早的到来,10年内可能依旧是人力的需求战胜技术成长。
三、实践
就像是看莎士比亚的哈姆雷特一样,1000个人或有1000个想法,企业安全实践每个人的思路也不尽会相同,所以我只提出自己的想法和思路,不对他人作评价,毕竟,不管黑猫白猫,只要能抓住老鼠的猫都是好猫。
1.安全规划
曾有幸在群聊听到战略一词,想起前段时间看的和威胁情报有关的内容,突然觉得在某些点,情报的生命周期和安全的生命周期貌似有些许的共同之处。情报一般分规划,收集,处理,分析,产出,反馈几个阶段;
对应企业安全,相当于安全规划,安全梳理(差异性分析),安全建设,安全运营,而情报中主要会有战略情报,战术情报,运营情报,很明显,恰好对应着企业安全的安全规划,安全建设,安全运营。
那么,一个怎么样的安全规划才是好的安全规划呢?
首先提一下,为什么要做安全规划?
安全规划主要为以后的工作进行合理的估计和安排,从安全结构上提升组织的安全水平,大概是从杂牌军到正规军的转变,也有可能现有的方法满足不了实际业务的需求,需要重新规划、设计。而安全结构会主要涉及应用框架,数据,网络结构,人员架构等等。
一个好的安全规划应该是短期内(3-5年)不会发生根本性的变化,同时适应整体安全变化,同时可以不断的延伸。同时规划要满足现状,短期需求,长期需求,落地性等等,总结一下:
一个好的安全规划就是考虑自上而下,自下而上,拥有安全战略目的,以及自我评估准备下所做的系统性的建设,发展规划。
所以安全规划会涉及对现状的分析,未来安全和技术走向的研究,自身能力水准的把握。
具体的安全规划文档编写可以参考信息安全规划文档的编写。
安全规划的核心思想就是需要确认一个未来安全的框架,应该如何去实现这个框架并不断的提升这个框架的能力和对业务和企业增长赋值,就目前主流的一些思路,较为推崇的是近些年的自适应安全。
什么是自适应安全?
通俗来说,自适应安全就是实现预防,检测,预测,响应能力的安全系统;企业或组织要持续、动态地监控自身安全,并加强快速分析和响应能力。自适应安全有3个点可以考虑:
动态持续地掌握企业网络内部资产情况。
做好事中防护,事中对应用各个方面的威胁防护,如:用于防护和发现Webshell、非法上传、SQL注入、弱口令等攻击。考虑到攻防的动态变化,任何安全防护产品都不可能达到百分百的防护效果,那么事后补偿机制作为补充措施就非常有必要,即系统已经被入侵时,能及时、有效地发现攻击者并阻断其行为,将风险降至最低。
安全还需要考虑“合理代价”的定义。降低安全风险需要各个部门的配合,除了购买安全产品产生的直接成本,还需要考虑该产品的是否贴切正常业务流程、是否给维护人员带来较大的管理开销、是否能减少企业中人力的持续投入。此外,安全产品自身的安全性也极为重要,还需要考虑部署环境的安全性。
这里提一下另外一个框架:NIST的网络框架
更多关于NIST:http://www.hackliu.com/?p=124
NIST主张将网络安全分成识别,保护,检测,响应,恢复5个部分,新框架由框架核心、框架实施层和框架概况三大基本要素组成。框架核心提供了一套关键基础设施行业通用的网络安全活动、预期结果和适用参考。
规划之后就应该开始建设和运营!
2.安全建设
前面提到安全规划,其实真正有效的安全规划应该是基本可落地,落地有效的;那么如何开展安全建设呢?
安全建设,又可以叫做同步建设,一般是具体实现安全防护,业务赋能的具体实施过程,用简单一点的话就是做了什么?
其实进行安全建设的开始首先要考虑企业自身安全投入情况以及防护情况,我从最常见的纵深防护说起吧,常见的安全建设思路是堆硬件,这常见于传统行业,而大型互联网企业也会堆硬件,但堆得规模会较传统行业大很多,同时会存在实施细节,结构上的不同,常见的安全建设模型有2种:PDR和P2DR,第二种会多一个Policy:策略,或者有的安全企业会把其中一块划成Prevention阻断,具体而言,不想做太大的争执。
作者主张的框架是自适应安全,而实现的具体思维是基于企业资产和情报去实现!怎么去实现自适应安全呢?
1.完成重要区域的基础防护,也就是防护能力
防护能力大概分成4个层级:基础防护,纵深防护,感知防护,智能防护。
01.基础防护体系:对应边界防护体系专注在入侵防护,可能不仅限于边界区域,但主要目的就是为了阻断,一般采用的是规则库方式,特点就是规则库越大,越准确,效果越好
02.纵深防护体系:又叫立体防护体系从内容外立体防护,不仅限于Web层,本质上Web层属于应用层,所以可以参考OSI/RM7层模型,一般考虑是从应用层,到传输层,再到网络层,后续接入服务器基础设施,再到目的地数据层,层层防护,而防护设备种类一般是:
应用层防护:WAF,ADS,应用层漏洞管理平台
网络层防护:NIDS,IPS等
传输层:加密证书,签名等
服务器层:补丁管理系统,防病毒,HIDS,资产管理平台,基线配置平台,主机漏洞管理平台等
数据层:DLP,数据库审计,数据库防护墙,数据库漏洞扫描
03.感知防护体系:参考360塔防体系,在纵深防护体系中,增加SOC运营中心,SIEM,加强纵深防护体系整理协调能力,主要方向:内网安全和外网风险探测,具体方向一般在与:内网的资产安全情况,内网资产管理情况,外网威胁情报,舆情等,手段不受局限,主要目的是对内网的整体情况做到7*24的状态记录和感知,至于预测部分需要后续第四防护体系的加入,外网主要是监测外部风险,如漏洞,APT组织,暗网情报,同行业安全动态等等,常使用的技术是大数据分析,云,机器学习等,
04.智慧型防护体系:在纵深防护体系和感知防护体系基础上增加风险预测能力,常用的引入技术是机器学习,人工智能等,主要目的在于对风险检测实现预测,做到真正的态势感知,目前还未有成熟的安全方案,就目前产品之间的协同能力,依旧未在第3层次感知防护体系得到解决,所以只能是后续期待的安全进化,由此会面对的风险级别也将会更高,人工智能对抗将成为关键;
就目前安全行业发展和未来技术,硬件革新,做到纵深防护基本上就可以保证阻拦大部分的常规攻击
2.梳理资产和风险分析进行过2个大型政企,金融行业的项目,以及一个甲方的安全建设运营之后,项目开始,我异常喜欢做的一件事就是调研和获取数据,主要是资产表,人员组织,网络结构这三块,这三块内容将有助于你梳理资产,对资产进行赋值,建模,这里的赋值可以参考风险评估:《GB/T 20984-2008 信息安全技术 信息安全风险评估规范》,但在后面接下来要提到的风险分析会涉及两个方面:
01.常规的风险评估,这一块我不喜欢做,或者说比较形式,但就其风险评估的思想而言,并没有什么不对,只是经过一段时间的变化,觉得效果一般,实施这一部分参见风险评估的国标文档即可;
02.安全防护的差异分析:这个点是我就目前项目实施和交流所思考的一个点,那就是安全防护是否有效,同理,安全检测是否有效?响应是否有效?所有的安全措施应该进行安全评估和差异分析,应该有一个暂定的目标属性和值,所以这里就是要对之前安全防护进行测试,最简单的思路就是攻击,攻击应用,看WAF和IPS的阻断和响应,攻防演练测试应急响应的成熟度,上传病毒木马检测AV的识别能力,以及对IDS的异常检测能力进行分析;很多情况下,这些防护都不是很能满足企业防护要求,很多铁盒子也只是铁盒子,所以,如果没有对这一块进行处理,那么现在你有很多事情要做,去检测防护的真实情况。
03.建立内部,外部情报系统其实换句话来说就是建设SIEM和蜜罐,这是最简单的思路,具体到企业可以是对应用日志进行收集,自动化实现Web失陷检测,对终端,服务器日志进行收集,分析服务器,终端的安全状态;对安全日志进行收集联动,对流量进行分析,过滤,使用沙箱对文件进行检测,然后将这些数据在通过一个统一的情报平台进行梳理,分析,产生内部使用的FINTEL;
同时,使用成熟的蜜罐技术对外进行威胁捕获,联动行业其他企业,安全产商,建设外部情报系统。内外结合,整体感知。
04.定期检查:所有的建设完成之后,难免会出现异常情况,比如机器宕机,网络不通,存储不足之类,要及时处理和进行巡检,这也是保障安全防护的手段
3.安全运营
安全领域有很多能够将安全运营玩到炉火纯青的地步,之前也有幸和一位安全运营进行过交流,每个人对于运营的姿势和方法不尽相同,我这里主要提一下自身关于运营的想法;
参考欠钱总的“我理解的安全运营”一文,安全运营是为了实现安全目标,提出安全解决构想、验证效果、分析问题、诊断问题、协调资源解决问题并持续迭代优化的过程;这个观点我个人是非常赞同的,尤其是关于安全运营是一个过程化的实现,就我目前安全运营接触的面可能有所局限,我将安全运营分成1个核心:“发现问题,解决问题”,同时将运营简单分成三个部分:获取数据,处理分析,优化;
发现问题:前面提到的构想,验证,分析,诊断是基于实验思想的问题分析过程,也就是发现问题
解决问题:解决问题就是通过获取当前的安全数据,关于应用,网络,系统,安全防护等等,对这些数据进行分析处理,,最后得出解决问题的初步思路和优化方案
关于安全运营,其实有2个点会比较常见,这两个方面就是数据分析和可视化,此处不做过多的涉及。
四、职业发展
每个人从业之后或多或少都会遇到自己的桎梏,又或是瓶颈,有的人时间很长,有的人很短,有的人的天花板很硬,有的一捅就破。
其实本不想提职业路线这一块的,首先是自身经验远不如10年从业经验的“妖孽”,其次是安全行业每个人都像是一个流派,回到之前那句话“不管黑猫白猫,只要能抓到老鼠的猫就是好猫”,不管剑宗,气宗,能够保护网络安全的就是好的路线;
这里简单提一下自身的路线想法,仅供参考,不适用于很多人,偏乙方的安全路线:
1.基础第一:我是网络工程专业,涉及了网络,操作系统,软件工程;这一块的基础不能很早的就显现出来,所以你必须不断的夯实基础
2.项目驱动:我刚毕业,以及目前手上都是1年期的全覆盖的项目,涉及企业全生命安全防护,这里要提的就是,安全制度,国标,行标虽然很难看,但是有的时候可参考性很强,适合进行了解
3.开发甚至研发能力:很多时候你遇到的安全问题可能没有解决方案,此时就需要你自行进行需求分析,开发相应的解决方案
安服具体可以参考安全服务工程师(乙方),虽然不全,但基本上已经涉及,注意以上只是安服层面的,实际上当你真正去做项目或者去实现甲方安全的时候,你需要具备以下能力:
1.基础的网络,系统,运维,安全能力
2.基础的安全规划能力,至少能够预测短期半年到1年的安全和业务之间的协调缺陷,做好相应的规划
3.基础的安全建设能力,能够使用开源系统建设企业安全,能够优化商业安全系统
4.基础的安全运营能力,排查风险,收集需求,持续改进
实现这一块的能力基本上要通过项目去系统化,工程化实现,甲方自身项目,或者乙方项目皆可
任何人都会有瓶颈,有的人可以看到,有的人看不到而已,又或是自我满足,简单提一下自身目前出现的瓶颈,也可能是做安服常见的瓶颈吧;
1.技术能力,安服的大多数时间都是跟着项目实施为主,所以此时需要你及时去面对自身状态,前期的安服有助于你去建立企业安全的金字塔思维,但时间过多会对你的时间和精力造成消耗和浪费,项目实施时间建议在2-3年左右,在后续就需要考虑进阶,这里提的是技术能力,也就是通过代码去实现安全问题解决的能力,这里代码需要的是能够使用开源或者自研的代码去完成
2.非技术能力:就是常见的沟通,汇报,安全规划,审计等非技术实现,主要依据个人经验的能力。
安全职业的发展大致可以参考这张图:
选自:君哥的体历:安全从业人员的职业规划
但最后不得不提一下:建议从技术能力入手,在去接触非技术能力,因为技术能力会比非技术能力更加能够有成效。
五、写在最后
写到最后,其实有好多想说的话没有说,有好多想倾诉的事情没有做,安全行业发展到现在,有着她自己的成长过程,她不是很完美,但却可以变得完善,虽然其中不乏很多缺陷,而造成这些缺陷的就是组成其中的“细胞”又或是没有进化完全的“基因”。
安全圈或许是不完美的,又或者说,没有圈子是乌托邦的,但依旧是需要我们去完善的,依稀记得《找到你》中那句话:母亲因为孩子而升华。或许圈子也需要我们不断的参与和清洗才能变得更加的完善。
转眼间,不知不觉就进入的安全行业3余载,结识了很多前辈和同行,他们也在不断的发挥着自己的力量,去实现自己心中的目标和理想,虽然这条路会很长,很崎岖,我们却不断的前行。
最后,感谢Secquan,感谢信安之路,感谢这些年的同行的帮助和分享,路漫漫其修远兮,吾将上下而求索。
六、推荐资源
书籍:
《互联网企业安全高级指南》
《企业安全建设入门-基于开源软件打造企业网络安全》
《情报驱动应急响应》
《防患未然:实施情报先到的信息安全方法与实践》
链接:
https://github.com/bloodzer0/Enterprise_Security_Build–Open_Source
https://github.com/AnyeDuke/Enterprise-Security-Skill
剩下的一些多数会同步在个人github上:https://github.com/AnyeDuke/Enterprise-Security-Skill
*本文原创作者:LinuxSelf,本文属FreeBuf原创奖励计划,未经许可禁止转载
来源:freebuf.com 2019-08-19 10:30:40 by: LinuxSelf
请登录后发表评论
注册