对于每个人而言,个人情况不同,所处的位置不同,对于五年后的成就目标也不相同,本次思考的内容,是针对初学者如何从入门到高级,在聊五年规划之前,首先分享一下我的十年信息安全学习从业经历。
十年信安路
入门安全
我的信息安全入门是在大学期间,也就是 2010 - 2014 年度,主要学习内容包括 web 基础的 HTML、JS、PHP、数据库等,编程基础的 C、C#、C 、python、数据结构等。
大学期间的学习方式以学校的教学大纲为目标,通过老师的安排和讲解,被动式学习,大部分同学都是以完成考试为目标,达到及格线就行,因为大部分同学都不知道学这个有什么用,未来在哪里可以发挥作用,只有少数的同学是以自我驱动的学习,在大学期间就斩获各项国家级比赛的奖项,这也是同一级校友的风云人物。
我在大二之前一直都属于被动式学习,老师讲啥学啥,发生改变是在参加了第一次的 CTF 比赛之后,跟着学长参与了一下,还获得了个三等奖,虽然是学校组织的,但从那时起,或许知道了学习技术的应用场景,虽然不知道未来工作能否用到,但是在校期间是可以将技术的价值发挥出来的,所以开启了自学之旅。
为什么自学?因为老师讲的一定没有自学快,如果单纯靠老师讲来学习,那么你一定无法在比赛中获得名次,所以自学才是你突破自己,也是超越他人的唯一方式。
自学期间,最重要的是坚持和资料获取的能力,书本上的知识是有限的,技术更新迭代非常快,想要跟上技术的变化,就要时刻关注网络上的最新文章和分享,当时就注册了多个信息安全技术学习的论坛,加了一些交流安全技术的交流群,遇到了一群志同道合的朋友,在学习的路上,遇到难题能够得到解决,对于后面的学习有非常大的帮助。
加入学习组织,最大的好处是能够帮助你坚持学习,不容易放弃,试想一下,如果你遇到了自己无法解决的难题,经过各种尝试都没能解决,一个或许还好,如果遇到多个都无法自己解决,你还能坚持下去吗?如果有人能够帮助你解决,除了解决问题,还能提升自己解决问题的成就感,还能获得互联网世界的友谊,甚至发展为现实世界的友谊,因为志同道合而结识,是多么美好的一件事。
大学期间,信息安全主要分三个方向, web 安全、二进制逆向、安全开发,学习 web 安全主要从事渗透测试等工作,挖掘 web 应用的安全漏洞,学习二进制逆向方向的更多从事病毒分析、软件安全方面的工作,学习安全开发,未来大部分都成了专业的开发人员。而我就选择的是 web 安全方向。
安全进阶
大学毕业后的第一份工作就是从事渗透测试相关内容,除了涉及 web 安全之外,重点还涉及内网安全,包括域环境渗透和工作组环境渗透,时间大概是 2013 - 2017,因为大四就出来实习了,这一整年,只有两个月在学校进行毕业论文的编写。
在这四年的渗透工作过程中,积累了大量的实战经验,见识到了各种不同的实战环境和边界资产,比如边界上的各类资产(web应用、vpn设备、网络设备等),内网中各种不同的真实环境(windows 域、nix 域、工作组),内网出网的各种限制(仅支持http协议、仅支持ftp协议、仅支持 icmp 协议 或者 允许使用内网代理出网等),针对不同真实环境,涉及使用的技术也不尽相同。
除了环境上的限制外,还会遇到各种不同的安全防御措施,作为红队成员,不被蓝队成员发现是第一要务,不然,自己长时间的努力,很容易化为泡影,所以会存在一个斗智斗勇的过程,在这个过程中不仅扩展了大量新的知识,增长了对互联网的见识,还体会到了对抗的乐趣,这样的体验和成就感只有真实参与了才能体会。
这个过程是在基础知识之上的进阶,从一个学院派转变为实战派的过程。
高级之路
之前的经历都是站在一个攻击者的角度思考问题,从 2018 年开始,正式进入甲方,从事安全防御的工作,彻底从一个攻击者转变为防御者,两种思维的转变还是需要一些时间的,因为在攻击者眼里,哪里都不安全,哪里都需要去解决,而防御者眼里,不是所有风险都需要解决,只要做到风险可控即可。
攻击者关注的是最薄弱的点,而防御者需要关注企业的整个攻击面,还要考虑 ROI,以最小的代价做出最大的防御效果。从攻击角度去做安全建设,容易陷入到某个点上,持续投入,而作为防御者,更需要的是有全局观,找出最薄弱的地方,并寻找最好的解决方案。
大家在看一些甲方大佬分享的内容时,经常会有一种很虚的感觉,因为攻击者思维往往关注某个点怎么用,怎么绕过,而防御者思维往往是哪里我没有做防御手段,是不是漏掉了,我的方案全不全,每一个防御手段能达到百分之八十的效果就可以了,在攻击的链路上,每一个点都能有百分之八十的防御效果,那么整个攻击流程就有很大的可能被发现,只要攻击行为被发现,那么就可以启用应急响应的流程,将攻击者找出来并踢出去。
未来还会有专家之路,管理之路等等,我在这里就不多说了,毕竟我都达不到专家和管理,怎么能给大家分享自己都没有经历的领域。
五年规划
我用了十年时间,从 web 安全入门到一个渗透测试工程师,再到一个高级信息安全工程师,这完全是一个没有任何前辈引导和帮助的情况下自己摸索出来的一条路,如果在有前辈帮助和引导的情况下,我相信这个路径和成就可以缩短一倍的时间,所以我为初学者提供一个五年规划,如果有对我经历的这条路有兴趣的,想要走一遭的,可以参考。
web 安全入门(1.5 年)
入门 web 安全,如果只学习相关技术,也许用不了我所用到的 3 年,可以用 1.5 年的时间来入门,主动学习,通过学习过程中不断遇到问题并解决问题,持续闭环,这个过程需要一个工具进行辅助,那就是一个成体系的学习任务规划。
根据任务体系,从基础开始,到漏洞原理,再到漏洞挖掘,完整体验整个技术体系,在完成体系的学习之后,就可以独立完成渗透相关工作。学习的体系参考:
除了 web 安全以外,在实际的渗透过程中,需要编写各种脚本来提升渗透的效率,python 脚本是目前最受欢迎的快速实现的提效语言,能够替代大量的需要人工重复操作的行为,通过实战编写脚本的方式学习会非常有仪式感,任务参考如下:
红队技术训练(2 年)
第一个工作做红队,积累实战经验用了 4 年的时间,在这个过程中有大量的时间在寻找相关资料,摸索解决方案,从学习的角度,大家完全可以用 1 - 2 年的时间体验整个红队的攻击过程,积累实战能力,同样需要一个完善的任务体系来引导学习,参考如下:
蓝队实践科普(1.5 年)
在我刚入甲方的时候,对于甲方的工作一无所知,刚转变身份的那半年是我成长最快的时间,一切都是陌生的 ,一切都要现学现卖,还好当时加了君哥的金融群,学到了大量的甲方安全从业知识,解决了我很多安全工作上的困惑,根据我的个人经验,将甲方安全建设体系涉及的领域进行了划分,大概分为如下的方向:
蓝队实践中的各项任务之间可能不存在关联,任何一个任务都可能需要好几年来进行实践总结,所以这里不求在 1 年半的时间里将所有领域都精通,只需要擅长某一个领域皆可,其他的领域需要主动了解,知道是什么,在什么样的情况下使用,有什么样的价值。
总结
靠自己摸索前行,也能到达终点,但是在前人的引导和帮助下,一定可以事半功倍,在方向明确的前提下,提升学习的效率,也能缩短学习成长的时间。
未来信安之路更关注 5 年以下信息安全从业者的学习和成长,成长平台除了提供学习任务体系外,还提供大量的学习参考资料,根据不同的任务整理不同的资料,通过专题学习的方式,即能提升学习效果,还能缩短寻找资料的时间,提升学习成长的效率。
除了技术方面的任务之外,还有安全相关经验的任务,如下:
从学习成长经验,到不同视角对安全的经验,还有作为职场人应该具备的素质,如何在职场环境下生存,成为那个可以升职加薪的人。以上是今天的所有分享,如果有兴趣与我私聊,请加微信:myh0st