如何入门网络安全 ,本质上是如何入门一个新的领域。个人的见解是你可以从三个步骤来递进学习。
1.明确目标,学以致用
你首先要明确学习网络安全的目标,你是想打CTF比赛,还是当个白帽挖CVE洞,还是想写个软件保护壳,开源个安全项目等,目标不同,你的学习路径也是不同的。
不建议立即从基础学起,肯定有人给你说学c,学数据结构,学算法,学汇编等等,其实这是不聪明的,目标导向:之前说的每一门都是个大学科,其实用到安全上的并不多,如果你在暂时用的不多的内容上花费了很多时间,那么你什么时候才能实现自己的目标呀,人的精力是有限的,永远准备好再出发,那是小学生的学习思路。
2.细化你的目标,制定具体的学习内容
例如咱们定个目标,写一个PE的保护壳,那你首先要做的是什么呢?
先去google 搜索PE的保护壳有哪些种?比如压缩壳,加密壳,虚拟机等等,难度高低怎么样?
对于入门者来说,压缩壳相对简单,那就从这个开始学。
接着去github或者google搜索开源的PE压缩壳和相应的教程。发现PE压缩壳有用汇编写的,有用C,C++写的,这个时候咱们可以先选择汇编来写。
然后就查询一下压缩壳原理的教程和书籍,比如书籍推荐《加密与解密》,对比着开源壳的代码去理解,如果汇编不懂,找到一本汇编书,比如王爽的汇编入门书籍,不要全看完,对比着壳代码看到哪去学哪。
整体的学习过程变成了:
PE保护壳 -》 压缩壳 -》 汇编压缩壳 -》搜索开源代码和原理教程 -》 对比着壳代码,看汇编书籍理解
将目标越来越细化,你就越清楚自己做什么。
3. 反馈
学习是一个不断反馈的过程,你在第2步的学习过程中,作为初学者肯定不会这么顺利,看看开源代码也会遇到不懂得地方,自己写的代码得时候肯定也会调试不通,这时候就接着去找资料,看书,调试,搞懂。
正常得学习过程一般是:
学习 -》应用-》反馈-》接着学习
4. 推荐CTF
CTF比赛还是非常推荐的,为啥这么说呢?有两点吧。
[if !supportLists]1. [endif]接近实战的机会。现在网络安全法很严格,不像之前大家能瞎搞
[if !supportLists]2. [endif]题目紧跟技术前沿,而书籍很多落后了。
如果你想打CTF比赛,直接去看赛题,赛题看不懂,根据不懂的地方接着去看资料。
5. 书单推荐
如果你想真正在网络安全这个行业深耕下去,推荐一下泉哥总结的信息安全从业者的书单。
https://github.com/riusksk/secbookgithub.com
简单列举一下书单中的内容,如果大家有什么比较好的想法,可以在github中提Issues或者pr。
计算机及系统原理
· 《编码:隐匿在计算机软硬件背后的语言》【美】Charles Petzold
· 《深入理解计算机系统》【美】Randal E.Bryant
· 《深入理解Windows操作系统》【美】Russinovich,M.E.;Solomon,D.A.
· 《Linux内核设计与实现》【美】Robert Love
· 《深入理解Android内核设计思想》林学森
· 《Android系统源代码情景分析》罗升阳
· 《深入理解Mac OS X & iOS操作系统》【美】Jonathan Levin
· 《深入理解Linux内核》 【美】DanielP.Bovet
· 《代码揭秘:从C/C++的角度探秘计算机系统》左飞
· 《Android Dalvik虚拟机结构及机制剖析(第1、2卷)》吴艳霞;张国印
· 《Android Internals::Power User's View》【美】Jonathan
Levin,中译本《最强Android书:架构大剖析》
编程开发
系统平台
Windows
· 《Windows程序设计》【美】Charles Petzold
· 《Windows核心编程》【美】Jeffrey Richter
· 《Windows环境下32位汇编语言程序设计》罗云彬
· 《Windows驱动开发技术详解》张帆
Linux/Unix
· 《UNIX环境高级编程》【美】W.Richard Stevens;Stephen A.Rago
· 《Linux程序设计》【美】Neil Matthew;Richard Stones
· 《Linux设备驱动程序》【美】Jonathan Corbet;Alessandro Rubini;Gerg Kroah-Hartman
macOS/iOS
· 《iOS编程》【美】Christian Keur;Aaron Hillegass
· 《OS X与iOS内核编程)【澳】Halvorsen,O.H.;Clarke,D
Android
· 《第一行代码——Android》郭霖
· 《Android编程权威指南》【美】Brian Hardy;BillPhillips
编程语言
C
· 《C语言程序设计》【美】Brian W.Kernighan;Dennis M.Ritchie
· 《C Primer Plus》【美】Stephen Prata,入门书籍
· 《C和指针》【美】Kenneth A.Reek
· 《C陷阱与缺陷》【美】Andrew Koenig
· 《C专家编程》【美】Peter van der Linden
C++
· 《C++ Primer Plus》【美】Stephen Prata,入门书籍
· 《C++ Primer》【美】Stanley B.Lippman;Josée Lajoie;Barbara E.Moo,进阶书籍
ASM
· 《Intel汇编语言程序设计》【美】Kip Irvine
· 《Intel开发手册》
· 《汇编语言(第3版)》王爽
· 《x86汇编语言:从实模式到保护模式》李忠
Java
· 《Java核心技术》【美】Cay S.Horstmann;Gary Cornell,入门书籍
· 《Java 编程思想》【美】Bruce eckel,进阶书籍
JavaScript
· 《JavaScript DOM编程艺术》【美】Jeremy Keith;【加】Jeffrey Sambells
· 《JavaScript高级程序设计》【美】Zakas.Bicholas C.
· 《Vue.js项目开发实战》张帆
Python
· 《Python核心编程(第2版)》【美】WesleyJ·Chun
Shell
· 《Linux Shell脚本攻略》【印】Sarath Lakshman
调试技术
· 《软件调试》张银奎
· 《Debug Hacks》【日】吉冈弘隆;大和一洋;大岩尚宏;安部东洋;吉田俊辅
· 《格蠹汇编:软件调试案例锦集》张银奎
数据结构与算法
· 《数据结构与算法分析——C语言描述》【美】Mark Allen Weiss
· 《算法导论》【美】Thomas H.Cormen;Chales E.Leiserson;Ronald l.Rivest
· 《我的第一本算法书》【日】宫崎修一;石田保辉,入门书籍,无代码进行图解
· 《算法图解:像小说一样有趣的算法入门书》【美】Aditya Bhargava
编译原理
· 《编译系统透视:图解编译原理》新设计团队,入门书籍
· 《编译原理》(龙书)【美】Alfered V.Aho;Monica S.Lam;Ravi Sehi;Jeffrey D.Ullmam
· 《编译与反编译技术实战》庞建民
其他
· 《编程高手箴言》梁肇新
· 《代码整洁之道》【美】Robert C.Martin
· 《代码大全》【美】Steve McConnell
· 《重构:改善既有代码的设计》【美】Martin Fowler
网络技术
· 《TCP/IP详解(卷1:协议)》【美】Kevin
R.fall;W.Richard Stevens
· 《Wireshark数据包分析实战》【美】Chris Sanders
安全技术
安全开发
· 《天书夜读:从汇编语言到Windows内核编程》谭文;邵坚磊
· 《Rootkit:系统灰色地带的潜伏者》【美】Bill Blunden
· 《Rootkits——Windows内核的安全防护》【美】Gerg Hoglund;James Butler
· 《BSD ROOTKIT设计——内核黑客指引书》【美】Joseph Kong
· 《寒江独钓:Windows内核安全编程》谭文;杨潇;邵坚磊
逆向工程
· 《加密与解密》段钢
· 《恶意软件分析诀窍与工具箱——对抗“流氓”软件的技术与利器》【美】Michael Hale Ligh;Steven Adair
· 《C++反汇编与逆向分析技术揭秘》钱林松;赵海旭
· 《IDA权威指南》【美】Chris Eagle
· 《逆向工程权威指南》【乌克兰】Dennis Yurichev,多平台入门大全
· 《Android软件安全与逆向分析》丰生强
· 《macOS软件安全与逆向分析》丰生强
· 《iOS应用逆向工程(第2版)》沙梓社;吴航
Web安全
· 《黑客攻防技术宝典:Web实战篇》【美】Marcus Pinto,Dafydd Stuttard
· 《白帽子讲Web安全》吴翰清
· 《Web安全测试》【美】Paco Hope;Ben Waltber
· 《Web前端黑客技术揭秘》钟晨鸣;徐少培
· 《精通脚本黑客》曾云好
软件/系统安全
· 《0day安全:软件漏洞分析技术(第2版)》王清,入门书籍
· 《漏洞战争:软件漏洞分析精要》林桠泉,进阶书籍
· 《捉虫日记》【德】Tobias Klein,进阶书籍
· 《黑客防线2009缓冲区溢出攻击与防范专辑》
· 《内核漏洞的利用与防范》【美】Enrico Perla;Massimiliano Oldani
· 《Fuzzing for Software Security Testing and Quality Assurance(第2版)》【美】Charlie Miller,博文视点翻译中
· 《iOS Hackers's Handbook》【美】Charlie Miller,不推荐中文版
· 《The Mac Hacker's Handbook》【美】Charlie Miller
· 《Android安全攻防权威指南》【美】Joshua J.Drake;【西】Pau Oliva Fora;【美】Collin Mulliner
· 《The Art of Softwar Security Assessment:Identifying and Preventing
Software Vulnerabilities》【美】Mark Dowd
· 《Android Security Cookbook》【美】Keith Makan;
Scott Alexander-Bown,中译本《Android安全攻防实战》
· 《模糊测试-强制性安全漏洞挖掘》【美】Michael Mutton
· 《Exploit编写系列教程》【美】Corelan Team
· 《MacOS and iOS Internals,Volume Ⅲ: Security & Insecurity》【美】Jonathan Levin,博文视点翻译中
· 《灰帽黑客:正义黑客的道德规范、渗透测试、攻击方法和漏洞分析技术》【美】Allen Harper;Shon harris
· 《威胁建模:设计和交付更安全的软件》【美】Adam Shostack
无线电安全
· 《无线电安全攻防大揭秘》杨卿;黄琳
硬件安全
· 《硬件安全攻防大揭秘》简云定,杨卿
汽车安全
· 《智能汽车安全攻防大揭秘》李均;杨卿
· 《汽车黑客大曝光》【美】Craig Smith
运维
· 《Docker技术入门与实战》杨保华;戴王剑;曹亚仑
· 《鸟哥的Linux私房菜》鸟哥
如果我的回答能给你带来帮助,来一个友情三连,并关注我的动态,会持续获取我在安全行业的价值输出。
jej�{ۍ()