大家好我是周杰伦
1-方向选择
最近,有很多粉丝都不约而同的问到了我一个问题:二进制安全和网络渗透,怎么选?
今天这篇文章,就是尝试解答这个问题,希望对大家选择方向上有所帮助。
首先先来理清楚,这两个方向分别是干嘛的。
一般来说,二进制安全方向,主要是做逆向分析、漏洞挖掘与Exploit、内核安全、破解等工作。
网络渗透主要是Web安全、内网渗透、漏洞扫描与利用、安全审计、日志分析等工作。
简单来说,二进制方向,经常打交道的是软件、程序、指令、调试器、操作系统等东西;网络渗透方向,经常打交道的是服务器、漏扫工具、数据库、字典、日志等等。
当然,两个方向并不是完全割裂的,在很多时候,二者可能存在交集,比如流量分析。
2-学习难度
在学习难度方面,我个人认为二进制安全方向会更陡峭一些。
这个方向需要重点学习《C/C++编程》、《编译原理》、《操作系统》、《计算机组成原理》、《计算机网络》等众多计算机专业课程,然后结合学习逆向分析技术、漏洞攻击技术等知识。这里面涉及到的知识都是有一定的难度,新手小白需要稳扎稳打,从编程学起,没有一年功夫很难入门。
下面是我之前在看雪网看到的一张二进制漏洞方向的技能学习图谱,分享给大家:
而网络渗透方向相对来说,对零基础的小白更加友好,学一些简单的计算机网络知识和Web编程,就可以上手了,不需要懂太多计算机底层的原理技术。
但注意这只是上手,这个方向后面要学的东西并不比二进制安全要少,Web安全、Linux、网络协议攻击、各种网络服务器/中间件的日志分析、漏洞扫描、提权技术、内网转移等等。
网络渗透方向的一个特点是广而杂,需要学习计算机、网络的方方面面。而二进制安全方向相对而言会显得更加专注。
3-就业
就业方面而言,网络渗透相对来说岗位会更多一些,毕竟不是所有互联网公司都有操作系统、客户端产品,但所有互联网公司都有网络服务器。
二进制安全方向主要是一些大厂的样本分析、安全研究,或者一些游戏公司的内核安全、驱动开发岗位。
而基本上所有的大厂都会有自己的SRC,也就是应急响应中心,就会有很多安全岗位,同时各个安全厂商作为乙方也会有很多安全服务岗位、渗透测试工程师岗位,所以在就业方面,网络渗透方向会有更多的选择机会。
总结下来,二进制安全岗位学习难度大,而且就业选择不如网络渗透多,如果在没有明显的兴趣偏好的前提下,我会优先推荐学习网络渗透方向。这个方向还有一个优势就是因为学习的面很广,会接触到方方面面的东西,即便以后你想转到开发岗或者运维等其他岗位也是比较容易的。
当然,二进制安全方向这条路,并不是不可取,如果你对程序逆向,漏洞攻击有特别的兴趣,能够熬过一段时间的黑暗摸索期,也会迎来属于自己的光明,这个方向,因为难度高,愿意进入的人也少,一旦学有所成,也是非常吃香的。
当然,以上只代表我个人的观点和看法,欢迎大家在留言区评论交流,说出你的选择与看法。