信息安全学习路线
安全人员基本技能
- 学习安装操作系统(Windows、Vmware/VirtualBox、Ubuntu/Kali)
- 学习使用搜索引擎(baidu/google语法)
- 魔法上网(......)
- 学会提问的智慧
- 文档编写技巧(word,ppt,markdown)
- 浏览器插件的使用(Firebug、Hackbar、Adblock、SwitchySharp等)
- 客户端与服务器通信流程
- 熟悉掌握各类网络环境配置,并知道遇到网络问题如何解决
- 个人时间管理的能力
- Git,linux等工具的熟练使用
- 关注行业态势和热点
安全人员优秀品质
- 牛人姿态:即使现在不是牛人,也得具备这样的姿态,拥有不将就的做事风格,迟早是牛人。
- 任务拆分:任务拆分很容易得出做事的方法论。
- 沟通:一个无沟通能力的人,即使是天才也会被拥有优秀沟通能力的普通团队击败,更何况你不是天才。
- 责任:工作有大小,责任心无大小。
- 团队意识:团队意识是建立在互相信任的基础上的,换位思考非常重要,Leader最关键,优秀的Leader一定会有个优秀团队。
- 新事物的敏感性:保持自己的好奇心,不要局限在自己的圈子,订阅国内外优秀博客/资源
- 对知识的渴望程度决定了前进动力的大小,当知识很廉价地摆在你面前,你反而不会珍惜
- 和比你厉害的人在一起,和一流的人工作
- 越基础的事越关键,越需要细心
- 牛逼的工具我不仅用的顺其自然,源码还读过几遍,我能修改
- 我具备创造性,而不仅仅是跟在大牛身后
- 专业技能至少看过一遍官方文档
渗透测试工程师
- 熟悉基本概念(SQL注入、上传、XSS、CSRF、一句话木马等)。
- 熟悉AWVS、sqlmap、Burp、nessus、msf、cs、nmap、Appscan等相关工具的使用。
- 掌握渗透的整个阶段并能够独立渗透小型站点。
- 思考渗透主要分为几个阶段,每个阶段需要做那些工作
- 研究各种漏洞的原理,种类,手工如何操作,以及各种小技巧
- 学习Windows/Kali Linux基本命令、常用工具
- 学习服务器环境配置,并能通过思考发现配置存在的安全问题。
- 选择脚本语言Perl/Python/PHP/Go/Java中的一种,对常用库进行编程学习。
- 能独立分析脚本源码程序并发现安全问题。
- 能建立自己的安全体系,并能提出一些安全建议或者系统架构。
- 熟悉常见的网络架构和常见设备的原理以及使用
- 熟悉域渗透、端口转发、进程迁移、提权等相关知识的基本原理及操作方式
- 学习复现经典漏洞(ms17-010、cve2019-0708等),以及实际上手的方式
- 关注最新安全咨询,了解最新的安全漏洞并及时学习
逆向工程师
-
熟悉基本概念和原理(二进制漏洞基本原理、漏洞类型、漏洞利用方法、常见漏洞挖掘、shellcode编写)。
-
熟悉x86/x64系列汇编语言、c/c++语言,能熟练读懂汇编代码;
-
熟悉IDA、WinDbg、Ollydbg、Immunity Debugger、Bindiff,Metasploit等常见的漏洞分析调试和集成平台使用;
-
学习常见工具的插件和脚步编写方法,如WinDbg插件编写、IDC和IDApython脚步编写、od脚本编写,具体可以Google相关教程。
-
掌握基本的漏洞原理和利用思路后开始分析分析各种类型的漏洞并撰写分析报告。
-
根据漏洞描述搭建相应的漏洞调试分析环境,利用Metasploit生成样本来进行漏洞重现,并根据漏洞分析报告自己调试分析。
-
学习掌握现在的主流高级漏洞利用技术,了解操作系统以及编译器的各种漏洞利用缓解和保护措施以及相应的绕过方法。
-
了解现在操作系统以及编译器的漏洞利用缓解和保护措施,如GS、DEP、ALSR、CFI等
-
学习掌握针对这些缓解保护措施的基本方法,如SEH利用、堆喷射、ROP导向编程等
-
掌握主流的漏洞挖掘方法Fuzz测试以及各个Fuzz测试平台的使用。
-
收集国内外与安全相关的站点并及时整理制作浏览器书签,每天定期抽时间查看,了解行业的最新动态和新时间。如(SecWiki-安全维基、Freebuf、看雪论坛、Binvul二进制安全、吾爱破解;
-
选择脚步语言Python、Perl、JavaScript中的一种,对语法进行熟悉,对常见库进行学习,推荐学习Python,Python库比较完善,可以大大提高工作效率。
-
在对各种漏洞类型成因有深入的研究和了解后,逐步对各个类型的漏洞建立相应的漏洞模型。
-
综合利用符号执行以及机器学习等方法,结合建立的漏洞模型,开发相应的自动化漏洞挖掘原型系统,在人工尽量参与少的情况下自动化进行漏洞挖掘。
-
深入分析漏洞触发的原因以及漏洞条件,结合符号执行的方法,建立一套针对漏洞自动化分析的平台,能够支持挖掘系统产出的异常样本进行可利用性评估以及利用生成等高级功能。