网络安全自学入门秘籍(炒鸡详细)从小白到大神,看完这篇就够了!
网络安全入门怎么破?_网络安全自学宝典
我刚入坑网络安全,咋学?要学啥?都有啥方向?咋选啊?
不像Java、C/C++这些后端开发岗位有特别清晰的学习路线,网络安全这玩意儿,更多的是靠自己摸爬滚打,要学的东西又多又杂,很难搞成体系。
这几年,随着网络安全被提到国家安全战略的高度,这个以前比较小众的领域正在飞速发展。除了一些老牌的安全公司,很多互联网大厂也开始在这方面砸钱,吸引了好多新人加入。
网络安全的那些分支
其实,网络安全只是一个更大概念的一部分:信息安全。在这篇文章里,咱们就不深究这两者在学术上的区别了。除非特别说明,要不然在文章里,我们就把网络安全和信息安全当成一回事儿,然后聊聊在实际工作方向上有哪些具体的细分路线。
在这个技术圈子里,工作岗位主要有下面这三个方向:
-
安全研发
-
安全研究:二进制方向
-
安全研究:网络渗透方向
下面一个个来解释一下。
安全研发
安全行业的研发岗主要有两种:
-
跟安全业务关系不太大的研发岗位
-
跟安全业务紧密相关的研发岗位
网络安全可以看作跟电商、教育这些行业一样,每个行业都有自己的软件开发需求,同样,网络安全作为一个专门的行业,也有自己针对网络安全相关业务的软件开发需求。
既然这样,那么在其他行业常见的职位,在网络安全行业里也能找到,比如前端开发、后端开发、大数据分析等等,这些属于上面提到的第一种,跟网络安全业务关系不太大的岗位。下面我们重点聊聊第二种,也就是跟网络安全业务紧密相关的研发职位。
这种分类下面又可以分成两个小类:
-
做安全产品开发,搞防御
-
做安全工具开发,搞进攻
安全行业要研发的产品,主要(但不限于)有下面这些:
-
防火墙、IDS、IPS
-
WAF(Web网站应用防火墙)
-
数据库网关
-
NTA(网络流量分析)
-
SIEM(安全事件分析中心、态势感知)
-
大数据安全分析
-
EDR(终端设备上的安全软件)
-
DLP(数据泄漏防护)
-
杀毒软件
-
安全检测沙箱
总结一下,安全研发的产品大部分都是用来检测发现、抵御安全攻击用的,涉及到终端侧(PC电脑、手机、网络设备等)、网络侧。
开发这些产品用到的技术主要以C/C++、Java、Python三大技术栈为主,也有少部分的GoLang、Rust。
安全研发岗位,相对其他两个方向,对网络安全技术的要求要低一些(只是相对,部分产品的研发对安全技能要求并不低),甚至我见过不少公司的研发对安全一窍不通。这种情况下,如果除了基本的开发功底以外,对网络安全技术有所了解,那肯定是面试这些岗位时的加分项。
安全研发岗位,除了通用开发技能的要求以外,可以重点关注一下下面这些技术:
上面列的只是最直接相关的部分,还需要了解更多安全技术才能更好地开发产品,继续往下看。
二进制安全那些事儿
二进制安全领域,是网络安全两大核心技术方向之一。
这个领域主要涉及到软件漏洞的挖掘、逆向工程还有病毒、木马的分析等等,里面包括操作系统内核分析、调试与反调试、反病毒这些技术。因为这个领域经常跟二进制数据打交道,所以最后用二进制安全来概括这个领域。
这个方向的特点是:要耐得住寂寞。
比不上安全研发可以有实实在在的产品产出,也比不上网络渗透方向听起来那么酷炫,这个方向更多时候是在默默地分析和研究。
拿漏洞挖掘来说,光是学习各种复杂的攻击策略就要花好多时间。在这个领域,你可能要花几个月甚至几年的时间去研究一个问题,这种坚持对一般人来说几乎是不可能的。而且,成功不光靠努力,更多时候还得靠天赋。
比如腾讯的几大安全实验室的负责人,包括业界有名的TK教主、吴石这些人,他们已经深入理解了漏洞挖掘的奥秘,而且全面掌握了这门技术,甚至在做梦的时候都能想出新的应用方法。但是,像他们这样的天才实在太少了,绝大部分人可能都达不到这样的高度。
如果说程序员是苦逼的话,那二进制安全研究就是苦逼Plus。
如果看了这些你还有勇气入坑,那下面这些东西是你需要学的:
这个方向比起安全研发,不仅技术难度更大,提供这些岗位的公司也少,而且基本上都在北上广深这几个一线城市。
网络渗透
这个领域更接近大多数人对“黑客”的理解,他们可以黑进手机、电脑、网站、服务器、内部网络,几乎没有什么是他们不能黑的。
相比于二进制安全领域,这个领域对新手来说更友好。只要掌握一些基本技术,用现成的工具,就可以开始搞点黑客行动了。
但是,如果想从一个写脚本的小白变成黑客大神,这个领域越往深处走,需要学习和掌握的知识就越多:
网络渗透这个领域更偏向于“实战”,所以对技术广度的要求比较高,包括了从网络硬件设备、网络通信协议、网络服务(包括web、邮件、文件、数据库等)、操作系统到攻击手法等等。它更像是一个全能型的计算机专家,把各种技术都熟练掌握并融会贯通,为“实战”做好准备。
网络渗透方向的工作有下面几个方向:
安全服务,也叫乙方,这是主要的一个领域,他们给甲方公司提供各种安全技术支持,像渗透测试,产品安全检测等等。另外,安全能力建设,通常叫甲方,国内稍微大点的公司都有自己的SRC(安全应急响应中心),也就是说,他们有自己的安全团队。至于国家队:你懂的。
学习路线
上面聊完了三个大的技术方向,下面来说说该怎么入门呢?下面说说我的看法。
首先别想分方向,先打好基础!
第一步:计算机基础
其实,这第一步并不直接跟网络安全相关,而是任何想进入IT领域的人都应该掌握的基础技能。下面这五门课程是大学老师当年强调所有技术方向的学生都应该认真学习的,现在看来,它们仍然是时代需要的:
-
计算机网络
-
计算机组成原理
-
操作系统
-
算法与数据结构
-
数据库
说实话,每一门课程都有很深的内涵,基本上不能指望一次学习就完全掌握,而是要随着职业生涯的发展,根据不同的技术阶段来重新理解和感受。
具体的学习方法,我建议你参考敏捷开发的方式,进行持续的迭代:初步了解->加深认识->完全掌握->反复温习来获得新的理解。不用纠结于要把一门课程全部学透才能开始下一门课程。
第二步:编程能力
有了上面的一些基本功,这时候就需要动手,来写点代码,练练编程的功底。
下面三项,是安全行业的从业者都最好能掌握的语言:
- Shell脚本
掌握常用的Linux命令,能写简单的Shell脚本,处理一些简单的事情。
- C语言(C++可选)
C语言没有复杂的特性,是现代编程语言的祖师爷,适合写底层软件,还能帮你理解内存、算法、操作系统这些计算机知识,建议学一下。
- Python
C语言帮你理解底层,Python则帮你写网络、爬虫、数据处理、图像处理这些功能性的软件。是程序员,尤其是黑客们非常喜欢的编程语言,不得不学。
第三步:安全初体验
完成前两步基础工作后,现在是时候接触一些网络安全的技术了。不过在刚开始这个阶段,我建议你不要只学某一个方向的技术。在这个阶段,我的建议是**:广泛涉猎,知识面要广**。
比如网络协议攻击、Web服务攻击、浏览器安全、漏洞攻击、逆向破解教程、工具开发等等,都要去了解和学习,了解它们各自的功能和用途。在这个过程中,你可能会发现自己的兴趣所在,而且对网络安全各种领域的技术有一个初步的认识。
第四步:选方向
在进入第三阶段的时候,你可能会慢慢发现自己的兴趣所在,是喜欢开发各种工具,还是喜欢攻破网站,或者对主机电脑的攻击特别痴迷···
在这个阶段,你可以开始考虑自己未来的发展方向,然后把精力集中在这个方向上。通过不断深入学习和理解思维导图中各个方向的技术,你可以成为某一领域的专家。
学习方法
上面介绍了技术分类和学习路线,这里来聊聊学习方法
-
看书学习,这是最最基础的
-
实际动手,开发路线需要多写代码,阅读优秀的开源代码,二进制路线多分析样本,写EXP等等,渗透测试多拿网站练手(合法方式)等
-
打CTF,多参加一些网络安全比赛,在接近实战的环境下锻炼动手能力
-
混圈子,多混一些安全大牛出没的社群、社区、论坛,掌握行业信息,了解最新技术变化趋势(高清版思维导图有)
黑客/网络安全学习包
资料目录
-
成长路线图&学习规划
-
配套视频教程
-
SRC&黑客文籍
-
护网行动资料
-
黑客必读书单
-
面试题合集
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享
1.成长路线图&学习规划
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享
2.视频教程
很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享
3.SRC&黑客文籍
大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录
SRC技术文籍:
黑客资料由于是敏感资源,这里不能直接展示哦!
4.护网行动资料
其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!
5.黑客必读书单
**
**
6.面试题合集
当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。
更多内容为防止和谐,可以扫描获取~
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
****************************优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享