tombkeeper关于信息安全学习的分享
内容提要
本文讨论了信息安全学习和研究的经验,包括学习资源的获取和时间投入,与导师沟通以及学习网络安全的最佳路线。作者还回答了一些读者的问题,如如何进入腾讯的玄武实验室和如何转行从事安全研究等。
延伸解读
学习资源与时间投入:计算机领域的独特优势
文章指出,计算机领域的学习资源相对容易获取,只需一台联网计算机即可学习大量内容。因此,能否学有所成,主要取决于是否投入足够的时间精力。作者以高中生超越大学生为例,强调每天投入12小时、8小时或4小时学习的人寥寥无几,四年下来读写的代码量也有限。这提醒读者,在资源易得的环境下,时间投入是拉开差距的关键因素。
逆向工程学习:抛弃系统化,从有趣目标入手
作者建议学习逆向工程时,不要追求“系统的学习”,因为逆向需要适应机器指令逻辑,痛苦指数高,需要持续正反馈。系统化学习难以提供这种反馈。更好的方式是找难度中等、有意思的目标,比如给notepad.exe菜单增加功能,在动手过程中遇到什么学什么,翻越最痛苦的门槛后,后续学习会变得容易。这为初学者提供了可操作的学习路径。
重复工作的价值:在机械劳动中积累与思考
作者分享早期为IDS添加古老攻击规则的经验,这些工作看似低级无意义,但通过重复的搜索、下载、运行、抓包、看特征、写规则,他熟悉了漏洞原理、分析工具、网络协议和系统弱点,为后来发现BadTunnel漏洞奠定基础。他强调,如果只是机械重复而不学习和思考,工作就只是消耗;反之,重复工作能成为增益过程。这对职场新人如何看待基础工作有启发。
信息安全职业前景:需求不会消失,但技术方向会变化
针对“漏洞减少是否导致失业”的担忧,作者认为信息安全技术会有方向变化,但不会有前途问题。只要人类社会存在信息交换且涉及利益,就会有安全需求。他以镖局到现代安全行业的演变类比,指出安全措施对用户扰动越小越易被接受,而信息技术越普及,安全风险越复杂,职业重要性越高。这帮助读者理解行业长期趋势,避免因短期波动而焦虑。
Q&A
为什么很多高中生能比大学生在技术上更强?
因为计算机领域学习资源容易获取,只要有一台联网的计算机就能学很多。高中生如果热爱技术并投入大量时间学习,就可能超过大学生。大学生往往没有投入足够的时间精力,比如每天学习12小时的人很少。
想读某个导师的博士,应该如何与导师沟通?
先把导师团队过去几年做的东西都看看,再把其他相关研究者的工作也看看,然后对这个方向进行思考,争取有自己的想法。再去找导师聊自己对安全的热爱和对相关领域的学习和理解。
学习网络安全的最佳路线是什么?
学习网络安全没有固定的最佳路线,别人只能给你指个方向。应该根据个人兴趣和目标灵活调整,而不是期望别人规划好详细路线。多学一点额外的东西不要觉得吃亏。
如何系统地学习逆向工程?
首先应该抛弃“系统的学习”这个想法。逆向工程痛苦指数高,需要持续正反馈。比较好的方式是找一些难度中等又有意思的目标入手,比如给notepad.exe的菜单增加一个功能。入手过程中不用想系统不系统,搞到哪儿算哪儿。完成最痛苦的门槛翻越后,后面就和学别的差不多了。
大学网络安全专业课程应该包括数电和模电吗?
是的,网络安全专业本科课程应该包括数电和模电。因为网安专业未来工作中可能需要面对从芯片、信号到代码、数据的各种问题,尤其是在当前技术发展形势下。如果本科没有,研究生阶段如果是硬件安全或无线安全方向,再来学也可以,但要求本硕培养计划能衔接上。
一个女生怎样才能进入腾讯的玄武实验室?
实验室对实习同学的要求主要有两点:对信息安全有比较整体的认识;至少钻研过一两项工业界的技术,有深入的了解和一定的成果。无论之前学过什么,将来都要再学新东西。无论之前学的是什么,将来也都会有用。
信息安全行业未来会消失吗?
不会。信息安全技术未来会有技术方向上的变化,但不会有前途上的问题。只要人类社会还存在信息交换行为,只要这些信息交换涉及到利益,就会有人试图改变这些利益的分配规则,就会有对信息安全的需求。信息安全企业也许会消失,但信息安全这个职业永远不会消失。
做安全研究挖不到漏洞怎么办?
挖不到漏洞是正常的,挖到才不正常。漏洞是程序员犯的错误,那些著名大公司软件的漏洞是一些面试好多轮才能入职的名校毕业的程序员犯的错误,而且这些公司里还有很多面试好多轮才能入职的名校毕业的人在做安全。他们都没查出来,才能留下来让你去发现。信息安全工作有很多方向,学信息安全,不一定非要都做漏洞研究。
学习网络安全时遇到瓶颈怎么办?
从事任何方向的技术研究,不知道该干什么的时候,就问自己四个问题:这个方向上最新进展是什么?都知道吗?这个方向上最著名的专家有哪些?他们的研究都看过吗?这个方向上最著名的技术社区有哪些?精华帖都看过一遍吗?这个方向上最重要的文章、工具有哪些?文章都看过吗?工具都分析过吗?
信息安全专业有必要考研吗?
如果确实对安全技术很感兴趣,自己读了很多资料,写了很多代码,做了很多研究,那未必要考研。如果不属于前一种人,又想干这行,那跟着导师做几年项目还是有好处的。