作者:腾讯安全平台部研发安全团队 riusksk

疫情下的高考已结束,又快到填志愿的时候了,又有不少知青要加入信息安全这个圈子。为了响应组织号召,撰写此文作为信安行业的入坑指南,希望能对刚入圈的同学有所帮助。

如何入门学习

   

1. 明确目标,并以目标为导向,用以致学

刚开始的时候,相信很多人会先去搜索信息安全要学什么课程,可能有人会告诉你要先C,再学数据结构和算法,学数据结构和算法前又要学离散数学,总之会有无穷无尽的东西在等着你,导致最后自己都不知道该学啥了……

其实学习什么课程都只是手段而已,但你学习这些课程的目标是什么需要先明确,比如想去国内的漏洞奖励平台刷web或软件漏洞拿奖金,或者报个CVE漏洞,开源个安全项目等等,这样目标和动力就都有了。

    

2. 细化目标制定具体的学习内容

假设你的目标是挖腾讯PC软件漏洞赚奖金吧,那腾讯PC软件有啥,电脑管家、腾讯视频、QQ、QQ影音等等,先选个门槛低点的QQ影音吧,目标就细化成挖掘音视频文件解析软件的漏洞。

挖掘文件解析漏洞的技术就涉及代码审计、Fuzzing、逆向等等,再细化下目标,挑Fuzzing吧。

入门Fuzzing涉及哪些系统性的技术内容呢?可以拿国外知名大会的培训课程为例,比如BlackHat、CanSecWest等等,这里以CanSecWest上的"Advanced Fuzzing and Crash Analysis"培训课程为例:

https://cansecwest.com/dojos/2019/vulndisco.html

4天的培训课程计划已经给出了循序渐进的学习内容,你只需要多利用搜索引擎去查找相关的书籍、论文、工具进行学习和实践。

比如课程给出的前置条件:

Students should be prepared to tackle challenging and diverse subject matter and be comfortable writing functions in in C/C++ and python to complete exercises involving completing plugins for the discussed platforms. Attendees should have basic experience with debugging native x86/x64 memory corruption vulnerabilities on Linux or Windows.

涉及C/C++、Python和汇编,这里就需要先去找相应语言的经典书籍先入个门,至少保证先看得懂代码。

再看第一天的课程目录,用相关标题去搜索就可以得到相关的知识点,比如AFL、libFuzzer、Corpus generation等等,遇到不懂的就是一个知识点,自己设法去弄懂并实践它就是学习的过程。

整个示例过程总结起来就是:

挖腾讯漏洞赚钱 =》PC软件 =》QQ影音 =》文件Fuzzing =》培训课程目录 =》搜索相关书籍、论文、工具进行学习

其它目标的学习内容制定类似,包括web渗透、内核攻击等等。

    

3. 无限循环:学习=》应用=》反馈=》学习

完成第2步的学习之后,就去实践(示例:挖QQ影音的漏洞,或者其它已公开的漏洞的挖掘验证),看能否挖到0day或1day,若不能就针对公开漏洞的信息继续改进优化,再验证效果,以此不断循环,直至相信这是体力问题,也不是能力问题。

这里以二进制漏洞学习为例,但其它领域web、IoT方向都均适用。学习过程遇到迷茫,很多时候只是不知道目标和手段(学习计划等)之间的关联性而已,设法找到它,并细化到可执行的内容,再设置一些里程碑目标(比如重现历史漏洞的挖掘过程)来增加自信心,最后就是持之以恒下去。

关于CTF

在学校时,有机会就多去打打CTF,提高实战能力,国内不少课程内容都比较落后,现在也有一些高校会直接采用工业界出版的一些书籍作为教材,也是一种进步。

一本书的出版经常代表着其内容已经过时,除了一些计算机基础书籍,比如C/C++、编译原理、系统原理等等这些,即使再过10年也不会过时。其它很多技术会随时时代变迁,技术日新月异,而CTF题目往往会跟着技术热潮来变更,在学习基础的同时,又能帮助跟上技术的更新变化节奏。

学习工具推荐

印象笔记、Mendeley、Inoreader是我最想推荐的三款工具,均有跨平台客户端,以及浏览器插件,数据在多平台同步,搭配使用非常方便。

平时我Inoreader订阅RSS,用印象笔记来收藏文章,用Mendeley追踪学术论文,并在上面作笔记,方便未来查阅和复习。另外,Mendeley还有个功能,就是会根据你所收藏的论文,去推荐更多相关技术的论文,比如参考文献中的内容。比如关注Linux Kernel Fuzzing,那么它会推荐更多的内核Fuzzing论文给你,如果有公开的PDF下载,还可以直接通过它索引下载,这种学术论文的追踪并不是印象笔记能比的。个人主要是用印象笔记来收藏一些非学术论文的文章,还有一些工业界安全会议的ppt等等。

对推荐书单的补充说明

之前笔者曾发过"信息安全从业者书单推荐"(https://github.com/riusksk/secbook),相信很多圈内人看过,期间也很多人提问过,这里整理补充说明下。

    

1. 配合书籍,注重实战:

列举那么多书并不是想让大家从头翻到尾看完,而主要是向大家推荐一些我曾经看过并觉得较好的书而已,大家自己根据自己需要选择即可。同时,理论归理论,很多东西需要配合实战,光看书也没用,依然建议大家试试"用以致学"的方法。

    

2. 书单并非网上收集列举的:

由于书单较多,有不少人质疑只是把网上有的书随便收集罗列下而已。之前在github回应过,这里再说明下。书单均是个人看过或者业界认可的经典书籍(部分书籍没全看完,但不妨碍对书籍质量的判断),跟网上罗列的安全书单不同,并非把网店上的各安全书籍都罗列上的。如果你有何好书推荐可在Github Issues上提交合并,待我看过之后,如果觉得可以就会在此处更新,会在Github上不定期更新书单。

    

3. 关于阅读时间的问题:

多数人一看到书单,就会问这些得多久才能读完?我觉得没必要纠结于此,有空有兴趣就挑本书看下即可,读书没必要把它当作一种负担,保持细水长流的方式,持续学习就好了。如果真的说时间的话,我从06开始学习安全,到今天差不多14年,14年读完那些书,我觉得问题也不大,但关键在于自己掌握了多少。我建议抛开时间、数量的考量,遵循自我内心的喜好,保持学习即可。

    

4. 书单仅代表个人喜好:

不同人对同一本书通常会有不同的评价,这里仅代表个人喜好,你可以有不同的看法。比如有些人曾推荐过《逆向工程核心原理》,但我觉得它内容过旧,且没有《加密与解密》写得好,所以我一直没入书单推荐。但你觉得此书对你有帮助,那就保持你的这份喜好,不必执着于书单本身。

附《信息安全从业者书单推荐》

(长按保存图片)

我们是TSRC

互联网安全的守护者

用户数据安全的保卫者

我们找漏洞、查入侵、防攻击

与安全行业精英携手共建互联网生态安全

期待正能量的你与我们结盟!

微信号:tsrc_team

信息安全之路入坑指南相关推荐

  1. python这个软件学会能做什么工作-学会Python真的有高收入?盯,请查收这份入坑指南...

    学会Python真的有高收入?盯,请查收这份入坑指南 2018-10-10 20:51:00 567点赞 6312收藏 186评论 小编注:想获得更多专属福利吗?金币加成.尊享众测.专属勋章.达人福利 ...

  2. python web-python web入坑指南

    原标题:python web入坑指南 Invest regularly in your knowledge portfolio. Make learning a habit. 自学python web ...

  3. 平安京服务器维护不能打字,决战!平安京|萌新入坑指南 新手注意六大准则

    原标题:决战!平安京|萌新入坑指南 新手注意六大准则 决战平安京萌新入坑不会玩怎么办?记住下面这六个准则,就是你从新手变成大神的流程.下面带来新手攻略教学,看看都有哪些注意事项. 准则一:熟悉操作方式 ...

  4. 树莓派使用PCA9685扩展(二)之驱动无刷电机(调)入坑指南

    摘要 在上一篇<树莓派使用PCA9685扩展PWM驱动舵机入坑指南>中简单介绍了树莓派使用PCA9685驱动sg90的180°舵机的应用.本身因为想做无人机,所以就研究了下如何驱动无刷电机 ...

  5. 一块GPU搞定ChatGPT;ML系统入坑指南;理解GPU底层架构

    1. 跑ChatGPT体量模型,从此只需一块GPU 在发展技术,让大模型掌握更多能力的同时,也有人在尝试降低AI所需的算力资源.最近,一种名为FlexGen的技术因为「一块RTX 3090跑ChatG ...

  6. 发布开源框架到CocoaPods入坑指南

    个人原文博客地址: 发布开源框架到CocoaPods入坑指南 在开发过程中一定会用到一些第三方框架, 只要安装了CocoaPods, 然后通过pod install命令, 就可以集成框架到项目中了 可 ...

  7. 旧android 4 平板,如今的安卓平板值不值得买:小米平板4入坑指南

    如今的安卓平板值不值得买:小米平板4入坑指南 2018-08-04 07:30:40 29点赞 25收藏 42评论 购买理由 三年前入坑小米平板2,在当年的安卓平板环境里,小米平板还是一款十分值得购买 ...

  8. api 微信内置浏览器js_多端开发框架uni-app入坑指南,一套代码适用微信、头条等小程序...

    前言 hello 小伙伴们,现在我已经正式入坑 uni-app 了.uni-app 已经发布好几个月了,期间也是踩坑无数,但是官方秉承着不抛弃不放弃的精神,积极解决开发者的各种简单的.复杂的问题,在此 ...

  9. 微信小程序继续入坑指南

    微信小程序继续入坑指南 wxml 类似于html 感觉和ejs灰常的相似 数据绑定 js Page({data: {message: "hello world"} }) wxml ...

最新文章

  1. Python 安装cx_Oracle模块折腾笔记
  2. python opencv生成模糊图像
  3. 云计算和大数据时代网络技术揭秘(六)LISP协议
  4. 浅谈微软Windows Server 2012的性能指标
  5. python中字典和集合对象是无序的_Python基础(四):元组、字典和集合
  6. leetcode654. 最大二叉树
  7. (pytorch-深度学习系列)CNN的多输入通道和多输出通道
  8. python如何修改代码_不修改代码打包python机器学习工程
  9. 添加类别html页面,WordPress分类/标签/页面的url链接添加html后缀
  10. linux audit审计(7)--读懂audit日志
  11. php input type='button' 颜色,HTML5 input新增type属性color颜色拾取器的实例代码
  12. dinic算法 c 语言,网络流(dinic算法)
  13. 两年数据对比柱形图_【系列课程】用Excel进行数据可视化组合图表的制作lt;二gt;...
  14. linux界面任务栏平铺,可能是linux 4.9.8的问题-安装15.4后桌面没有任务栏
  15. Sony WH-1000XM3降级到2.00
  16. cad选择集的问题(VBA )
  17. 2018年自学编程的学习计划表
  18. 基于Simulink的开关电源仿真设计
  19. MATLAB导入ply
  20. IE8浏览器兼容问题(日常经验总结)

热门文章

  1. 【小甲鱼C语言】课后笔记第一章第九节——if语句
  2. 【小甲鱼C语言】课后笔记第一章第四节——数据类型
  3. allenNLP入门记录
  4. 道德网安-菜鸟免杀教程
  5. Windows环境下redis的集群部署
  6. NOIP2021总结
  7. 机器学习基石 Lecture1: The Learning Problem
  8. 中文语音数据 - THCHS-30 : A Free Chinese Speech Corpus 【❤️下载介绍❤️】
  9. 7-13 sdut-C语言实验-各位数字之和排序
  10. 公网远程访问本地硬盘文件【内网穿透】