文章目录
- 前言
- 一、信息安全需要哪些能力?
- 1.法律与标准
- 2.攻防技术
- 3.工程实践
- 二、如何锻炼这些能力?
前言
上篇文章说到,我对信息安全行业的前途非常乐观,但这种乐观建立在不那么美好的事实之上。
刚接触互联网是在 05 年,我还在上小学。当时的迅雷自带搜索功能,谷歌还能用(但那时更喜欢百度),下载音乐是免费的,视频软件还不能点播,最火的网游是只卖 5 块钱点卡就能当爹的梦幻西游。
当然,最让今天的我感到怀念的,也许是当年随便认识一个网友就能天南地北侃大山的氛围。那个时候,对网线另一端的陌生人有一种莫名的信任。
而今天的网络,只不过是熟人社交的延申。
现在回想起来,05 年左右可能正是开放、自由、共享的互联网黄金时代的尾声。
随着越来越多的流量涌入,互联网的价值大大提高,成分也逐渐变得复杂,信息黑产的利益诱惑也越来越大。黑与白,矛与盾之间的较量不断升级,从而促进了信息安全行业的成型与不断发展。
一、信息安全需要哪些能力?
吴翰清说,安全是一门朴素的学问,也是一门平衡的艺术。
说它朴素,是因为安全问题有着共通的本质与原理,从基本的原理出发,抓住本质,就能无往而不利。
说它是平衡的艺术,是因为信息安全人员的眼光要更加广阔,看到技术之外的方方面面。既要遵循原则,又要能够创造性地、权变地应对、解决问题,要根据万千条件、要求整合出更好的解决方案。
我认为,要想成长为一个合格的信息安全从业人员,需要在以下三个方面下功夫。
1.法律与标准
在软件开发的过程中,我们有许多可以参考的规范,比如语言或框架的官方文档、公司的开发手册等。
信息安全也有信息安全的规范,不同于开发的是,这些规范有的成为行业、国家标准,有的甚至上升到了法律层面。
也就是说,信息安全从业人员有明确的底线,也有相对成熟的认识与统一的共识。你对这些底线、认识、共识不清不楚,就容易走不该走的弯路,甚至犯不该犯的错误。
而且这些法律、标准凝聚了诸多优秀从业者的智慧,可以说是学习信息安全最有价值的参考资料。
当然,当你没遇到问题的时候,枯燥也是足够枯燥的。
2.攻防技术
这一点其实是最不用强调的。我们搞技术的最喜欢的就是实打实的东西,劈里啪啦一顿命令秀翻小伙伴的感觉不要太爽。
从技术层面讲,搞攻击的大概有两种人,一种是喜欢挖漏洞,写漏洞利用程序(exploit)、写工具,以证明自己能力为乐的人;一种是所谓“脚本小子(Script Kids)”,也就是用别人的代码或工具开展攻击,一心一意搞破坏的人。
然而在今天这个环境下,你很难看到第一类人了,互联网上到处充斥着脚本小子和脚本小子组成的组织,而我们一开始除了选择学习脚本小子的技能外也别无他法。
但是否为了眼前的利益停下脚步,每个人有每个人的选择。
相比攻击,防御要更费心力一些。毕竟攻击的目标是攻破一点,而防御的目标是面面俱到。
防御涉及的技术能力也是纷繁庞杂,针对网络、操作系统、数据库、应用有不同的方法手段,尝试攻击(渗透测试)也是安全防护的重要一环,甚至可以参与编写安全防护软件。
当然不是说搞防御的比搞攻击的厉害。因为不懂防御搞不了攻击,不懂攻击搞不了防御。在具体的人身上,这两种技能是相辅相成的,只不过最终的偏向决定了成功的难度。
选择搞防御是难点,但是搞防御的人多啊。
不过现在我们老是区分进攻防御或说红蓝方,其实如果爆发大规模的网络对抗,双方均以摧毁对方为目标,那单方的攻防两种能力就都很关键,甚至需要根据形势进行攻防间的转换。
听说前一段一个知名安全大牛被抓了,好像是白天搞安全培训,晚上搞黑产。其实这个行业里更人间真实的是,也许卖给你安全服务的公司,就是头两天把你服务搞瘫的罪魁祸首。
3.工程实践
信息安全不是一个人、一个部门、一个领域的战斗,而是一个整体工程。掌握理论知识与推进信息安全防护体系落地之间,还有很长的一段路要走。
要有规划能力。你的很多工作都需要花费较长时间去落实,甚至可能会影响其它部门的业务。要根据实际的条件确定先做什么、后做什么、在什么时间做、一个阶段的工作完成是否能看到效果。即使最终的框架没有成型,你的脑海里始终是有一张蓝图的。
要学会沟通。落实信息安全工程首先需要一把手的支持,如果没有就会步履维艰。而这种支持时常需要主动争取,并且在很多情况下是不够的。你要通过沟通让一把手和更多关键人物意识到在信息安全上的投入是有回报的,而不仅仅是支出。
要能够权衡利弊、灵活应变。你可以遵循模型化的实践方案,但一定要能够根据所在组织的特色选择或调整出更加适合的做法。突出重点、降低成本、解决问题,才是一个更好的方案。
二、如何锻炼这些能力?
法律与标准方面,我建议你先做一个收集,手头有一份齐全的资料。最好是能与工作结合,比如新建系统要进行等级保护测评,那看相应的标准就比较有效率。
如果没有这个条件,就先大致的过一遍,简单做个笔记。我对这类枯燥知识的学习方法一般是画思维导图,也不用多动脑子,就边看边按大小标题把目录或者说大纲敲出来就可以了。别小看这点字,一是加深学习的印象,二是回头复习非常方便。
攻防技术方面,我的建议是先攻后防。攻击初期学习的思路相对比较清晰,可以利用的工具也比较统一,而且你一开始就能学到的攻击手段,往往也是防御的重点。
至于防御,无论是线下的培训还是网上的教程,似乎大都是在讲原则、意识,这些很重要,但一开始不好理解。在技术方面就是各种设备配置,看起来更像是运维方面的知识。
实际上,攻防技术真正的难点在于它需要掌握相关领域各个方面的技术,而且越精越好。操作系统、数据结构、计算机网络、密码学、人工智能,还有逐渐发展的社会工程学。
工程实践方面,只能通过工作实操,但如果你还没有入行,也不用担心,一般门票都是靠前两个方面赢取的。
实际上这方面能力也可以通过其它的场景培养,在我们推动任何一件需要协调的复杂工作落实时都会用到工程思想,而工程思想的核心就在于懂得权衡。
越是经历的多,越会发现天下的事没有多少能够完全顺心地办下去的,一定是有很多不完美的地方。
技术能力强的人往往自命清高,遇到不顺遂或看不惯的事情,比如上面一时不认可自己的想法或是做了似乎错误的决定,就容易负气甚至破罐破摔。
但做人做事真正难能可贵的能力,正是在让步与牺牲中克服眼前的万难,推进事情朝着好的一面发展。
只有不断前进,才有希望成功不是?
推荐阅读:
吴翰清的《白帽子讲 Web 安全》。
吴翰清,就是传说中那个在面试现场断掉阿里内部网络的男人,中国初代黑客代表之一,“白帽子”概念的引入与推广者。这本书我认为是质量最高的入门圣经,推荐每个对信息安全行业有兴趣的人认真阅读。
下篇预告:
下一篇打算讲一讲攻防技术的现状,捋一捋成为一名黑客需要点亮什么样的技能树。
在 “初窥” 系列文章结束后,我会专门写一个偏向实战的攻防教程,攻击的目标主体是我自己写的 Web 应用,感兴趣的小伙伴可以自取教程和源码。
教程地址:https://learner.blog.csdn.net/article/details/88925013
源码地址:https://github.com/Antabot/White-Jotter