通俗地讲,网络安全就是网络系统的硬件,软件及其系统中数据受到保护,不因偶然的和恶意的原因而遭受破坏,更改和泄漏,系统能够连续、可靠、正常地运行,网络保持不中断
学习路线:
第一步:计算机基础
这第一步,其实跟网络安全关系都不太大,而是进入IT领域的任何一个人都要掌握的基础能力。下面五大课程,是大学老师当年教给我们不管你是什么技术方向最好都好好学的技术,如今看来,仍然不过时:
1⃣️计算机网络
2⃣️计算机组成原理
3⃣️操作系统
4⃣️算法与数据结构
5⃣️数据库
这每一门课程其实都内有乾坤,基本都不能做到一次学习就能掌握,而是伴随每个人的职业生涯,不同的技术阶段都会有不一样的认识和感受(我想这也就是为什么408【计算机研究生统考】,选这几门的原因了)
第二步:编程能力
有了上面的一些基本功后,这个时候就需要动手,来写点代码,锤炼一下编程的功底。下面三项,是安全行业的从业者都最好能掌握的语言:
•Shell脚本:掌握常用的Linux命令,能编写简单的Shell脚本,处理一些简单的事务。
•C语言(C++可选):C语言没有复杂的特性,是现代编程语言的祖师爷,适合编写底层软件,还能帮助你理解内存、算法、操作系统等计算机知识,建议学一下。
•Python:C语言帮助你理解底层,Python则助你编写网络、爬虫、数据处理、图像处理等功能性的软件。是程序员,尤其是黑客们非常钟爱的编程语言,不得不学。
第三步:安全初体验
有了前面两步的打底,是时候接触一些网络安全的技术了,刚刚开始这个阶段,仍然不要把自己圈起来只学某一个方向的技术。这个阶段,我的建议是:但当涉猎,见往事耳。
网络协议攻击、Web服务攻击、浏览器安全、漏洞攻击、逆向破解、工具开发都去接触一下,知道这是做什么的,在这个过程中去发现自己的兴趣,让自己对网络安全各种领域的技术都有一个初步的认识。
第四步:分方向
在第三步中,慢慢发现自己的兴趣点,是喜欢做各种工具的开发,还是喜欢攻破网站,还是痴迷于主机电脑的攻击···
这个时候就可以思考自己后面的方向,然后精力开始聚焦在这个方向上去持续深耕,成为某一个领域的大拿。
学习方法
•看书学习,这是最最基础的
•实际动手,开发路线需要多写代码,阅读优秀开源代码,二进制路线多分析样本,编写EXP等等,渗透测试多拿网站练手(合法方式)等
•打CTF,多参与一些网络安全比赛,接近实战的环境下锻炼动手能力
•混圈子,多混一些安全大牛出没的社群、社区、论坛,掌握行业信息,了解最新技术变化趋势