0x0 背景
继上次写了一篇信息安全行业入门与各类技术简介(扫盲贴)之后,在CSDN没有想到还有这么多的访问量。笔者经常被人问起一些关于这个行业的职业发展问题,由于最近疫情期间周末也不能出去浪,算上本科的学习的时间到现在也差不多10年安全研究经验,这里结合自己的一些阅历简单写出来,希望对大家有所帮助,有遗漏和不当之处也希望大家包涵。
0x1 职业规划
笔者第一次接触这个概念的时候,依稀还记得是在大学的图书馆偶然看见了一个本叫《拆掉思维里的强》对本人影响还是比较大,后续也是在机缘巧合之下在网上看了白岩松在江西财经大学的演讲视频讨论如何度过自己大学的时候,有一种醍醐灌顶的喜悦感之后陆陆续续的思考自己的职业规划,在毕业之前对安全架构师开始有一个模糊的概念。
0x2 信息安全知识体系
由于笔者本科就是信息安全专业,在当时也是纯粹出于好玩。很多同事小伙伴都经常问我自己想转行做安全问我需要看什么书,看什么视频。其实对于这个问题,我也觉得很困惑因为私下觉得信息安全这个行业门槛是比较高的,入门并不是很容易。后续自己在整理本科的课程专业的时候,也逐渐开始体会到当时学校课程安排的意义。
因为毕业有些日子了不知道现在信息安全专业的知识体系结果,在笔者读书的时候大一、大二上期间也都是一些计算机通用的基础知识,比如大家熟知的高等数学、大学英语、思修、C语言程序设计、网页编程、数据结构、计算机网络等基础知识。从大二下陆续接触到一些比如信息安全数学、英语密码学、windows核心编程等课程。大三开始就更多的偏应用一些,比如一些应用密码学开始了解到一些加密算法的原理比如AES、DES、RSA、椭圆曲线、RC4之类的,由于有之前的信息安全数据基础,对这些东西的理解也不是太困难后续还需要用编程语言实现,当然这个不是直接调加密模块,而是实现一些底层算法,笔者当时是选了AES算法,因为自己动手写过的时隔这么多年还是记得加密过程,分组、S盒置换、行变换、列混合、轮秘钥加等等。
还有一些真的是专业课程了,比如基于windows编程知识基础的逆向工程,基于网页编程的网络攻击与防御,基于计算网络的网络安全设备工作原理。大学课程排的也是满满当当,的确信息安全是一门知识面很广的学科就像大家经常提起的木桶原理一样,依稀还记得当时开始流行社会工程学,大家都对那本《欺骗的艺术》很感兴趣。
心上练、事上学、知行合一。在工作之后陆陆续续也开始慢慢接触到了这个比较冷门的行业,当然还是和自己所想的东西有差距,待过甲方也混过乙方通过一些项目机会学习也从工作中各位前辈里面了解这个行业里面的各个方向,也自己去尝试过很多不同的岗位;纸上得来终觉浅,绝知此事要躬行。
0x3 乙方的安全公司
目前行业里面有很多安全的公司,既然是公司当然主要考虑的方向就是盈利。有更多的利润才能继续投入研发,继续扩大规模。乙方的安全公司盈利主要是通过种形式:卖网络安全产品(俗称卖盒子)、卖服务,然后无论是卖盒子还是卖服务都离不开人力投入了、这里我简单的分为二类:一类属于做市场、二类属于做技术。常规的网络安全产品还是比较丰富的,比如大家最熟知的防火墙、入侵检测、网页防火墙、VPN、上网行为管理、堡垒机、数据库审计最近比较热门的态势感知、SIEM、NGSOC等等。安全服务的话种类就更加丰富的一些,大家最熟悉的应该就是渗透测试、应急响应、等保分析、安全体系检建设、安全咨询等。
对于销售人员来讲在建立和客户的沟通渠道的同事,也应该具备一定的网络安全的知识,看得懂客户的网络拓扑、理解的客户的核心需求,通过怎么样的产品或者服务能够解决客户的核心问题、痛点在哪里,毕竟是要客户付钱买单。由于网络方面的知识本质也挺多的,自己以学习知识为目的的考一个CCNA、CCIE之类还是很划算,感兴趣的还可以再考一个Security+、CISP之类的,在和客户沟通的时候在技术方面就理解的差不多了。当然了既然是市场岗位,相关的软实力就更重要了如何和客户沟通、和研发核对需求、如友商竞争、如何投标写方案讲PPT等等这里就不多做讨论,比较本人也是一知半解。
对技术人员来讲,在乙方的安全岗位还是比较多;一个产品的成功往往需要很多优秀的人才一起共同努力,在技术方面开发人员、测试人员都是最基本的需求,也就是大家熟悉的研发人员(俗称程序员),设计的岗位需求就比较多了,比如基础的功能开发、算法设计、系统架构、前端设计、后端设计、性能、大数据、AI等等,这个当然和完全关系不是很大了,但是安全设备的功能就是防御黑客、恶意攻击组织的恶意攻击,在研发过程中往往需要一些有丰富的安全攻防的人员配合完成,比如维护一些规则库,安全测试,效果验证等等;产品卖给客户之后,往往需要一些技术人员交付,比如上架都客户网络解决一些对应的安全问题,根据具体的网络配置一些策略规则之类的,还可能发现了一些安全问题需要你去排查分析的需求的。这一块就技术人员在熟悉安全产品的同时,还能根据客户的网络做一些随机应变的回复,客户发现某台web服务器遭受了大量的sql注入攻击后非常紧张,需要你去处理一下的场景也是有的,或者发现产品部署到客户网络之后导致了什么业务异常需要你去排查的就比较麻烦了,往往需要有较强的技术功底和业务能力。
除了产品之外,另外一块的业务就是安全服务了。安全服务里面常见的渗透测试,渗透测试是有官方的定义的,这里直白的点说就是以为发现更多的安全问题的目的地模拟黑客的攻击行为,进行各种网络攻击测试。往往就需要具备良好的攻击技术了,比如常见的web安全、内网渗透、横向移动、业务逻辑测试等等,一个经验丰富的高级的渗透测试人员,直接就决定了一个项目的成交质量,这方面的人才算是比较难得的,也对人员的技术要求比较高,需要需要常见的漏洞与利用、各种脆弱性的发现、资产的收集,很多场景下还需要自己写一些脚本、绕过一些安全设备得检测等等有时候需要很多出奇制胜的idea,输出一份合适的渗透测试报告的同事提出对应的加固方案。除开渗透测试还有常见的应急响应的业务,俗称就是救火,大多数常见就是客户发现自己被黑了,服务器被控制了、网页被篡改、挂上了木马、数据库被篡改了,文件被加密了需要去处理问题,同时结合具体的业务收集证据进行溯源,发现黑客的攻击路线与技术特征等信息完成溯源报告。
安全研究岗位是一类比较重要的岗位,在很多乙方也是有这样的岗位。主要是基于对攻防技术的研究,以攻促防、以防促供的一个更新迭代过程。大量的工作也是对各类攻击手法的深入分析,理解到一类的攻击行为和方法,能够结合当前主流的技术进行识别检测,或者在应急响应的过程中发现了当前检测方案的缺失,进行详细的更新迭代,这一类人普遍有一个特征就是掉头发有点厉害。一个比较大的安全乙方可能还会有更多的精细的岗位需求,比如精通病毒分析的逆向工程师,负责安全数据挖掘、运营等的岗位,漏洞分析研究挖掘,0-day漏洞挖掘,安全开发工程师等,相关的需求可以上招聘网站上了解一下企业的岗位需求与技术要求。知己知彼百战百胜,在获取生存资源的同时能获得一些精神上的喜悦就更好了。
0x4 最后多说二句
怎么说呢,应该是有很多小伙伴比如应届毕业生这种对未来的工作会有一些迷茫吧,我个人觉得其实没有必要想那么多。不知道自己学什么,就上招聘网站上找看看自己想去的的企业需要什么岗位,需要什么人才,需要掌握什么的技能,自己要怎么样才能满足需求就好了,查漏补缺把罢了。记得之前一个小伙伴告诉我的,知识没有知或者不知,只有先知或者后知。有什么疑惑的可以在文章后面留言,有时间我根究自己的经验尽量回复大家的,和大家一起努力进步吧。 to be better.
推荐几个信息安全类相关的网站吧,没事可以逛逛了解相关的资讯信息。
http://www.sec-wiki.com sec-wiki
http://www.freebuf.com/ FreeBuf
http://www.secbox.cn/ 安全盒子
https://www.anquanke.com/ 安全客
https://www.t00ls.net T00ls
https://bbs.pediy.com 看雪安全论坛
https://xz.aliyun.com 先知社区
https://security.alibaba.com 阿里巴巴安全响应中心
http://security.tencent.com 腾讯安全应急响应中心
http://security.360.cn 360安全应急响应中心
http://sec.baidu.com 百度安全应急响应中心
http://blog.knownsec.com/ 知道创宇
https://www.ichunqiu.com i春秋
https://www.aqniu.com/ 安全牛