信息安全初窥(二):信息安全能力体系_信息安全需要具备哪些能力-程序员宅基地

技术标签: 信息安全  


前言

上篇文章说到,我对信息安全行业的前途非常乐观,但这种乐观建立在不那么美好的事实之上。

刚接触互联网是在 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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Neuf_Soleil/article/details/109412323

智能推荐

没有U盘Win10电脑下如何使用本地硬盘安装Ubuntu20.04(单双硬盘都行)_没有u盘怎么装ubuntu-程序员宅基地

文章浏览阅读3.6k次,点赞2次,收藏2次。DELL7080台式机两块硬盘。_没有u盘怎么装ubuntu

【POJ 3401】Asteroids-程序员宅基地

文章浏览阅读32次。题面Bessie wants to navigate her spaceship through a dangerous asteroid field in the shape of an N x N grid (1 <= N <= 500). The grid contains K asteroids (1 <= K <= 10,000), which are conv...

工业机器视觉系统的构成与开发过程(理论篇—1)_工业机器视觉系统的构成与开发过程(理论篇—1-程序员宅基地

文章浏览阅读2.6w次,点赞21次,收藏112次。机器视觉则主要是指工业领域视觉的应用研究,例如自主机器人的视觉,用于检测和测量的视觉系统等。它通过在工业领域将图像感知、图像处理、控制理论与软件、硬件紧密结合,并研究解决图像处理和计算机视觉理论在实际应用过程中的问题,以实现高效的运动控制或各种实时操作。_工业机器视觉系统的构成与开发过程(理论篇—1

plt.legend的用法-程序员宅基地

文章浏览阅读5.9w次,点赞32次,收藏58次。legend 传奇、图例。plt.legend()的作用:在plt.plot() 定义后plt.legend() 会显示该 label 的内容,否则会报error: No handles with labels found to put in legend.plt.plot(result_price, color = 'red', label = 'Training Loss') legend作用位置:下图红圈处。..._plt.legend

深入理解 C# .NET Core 中 async await 异步编程思想_netcore async await-程序员宅基地

文章浏览阅读2.2k次,点赞3次,收藏11次。深入理解 C# .NET Core 中 async await 异步编程思想引言一、什么是异步?1.1 简单实例(WatchTV并行CookCoffee)二、深入理解(异步)2.1 当我需要异步返回值时,怎么处理?2.2 充分利用异步并行的高效性async await的秘密引言很久没来CSDN了,快小半年了一直在闲置,也写不出一些带有思想和深度的文章;之前就写过一篇关于async await 的异步理解 ,现在回顾,真的不要太浅和太陋,让人不忍直视!好了,废话不再啰嗦,直入主题:一、什么是异步?_netcore async await

IntelliJ IDEA设置类注释和方法注释带作者和日期_idea作者和日期等注释-程序员宅基地

文章浏览阅读6.5w次,点赞166次,收藏309次。当我看到别人的类上面的多行注释是是这样的:这样的:这样的:好装X啊!我也想要!怎么办呢?往下瞅:跟着我左手右手一个慢动作~~~File--->Settings---->Editor---->File and Code Templates --->Includes--->File Header:之后点applay--..._idea作者和日期等注释

随便推点

发行版Linux和麒麟操作系统下netperf 网络性能测试-程序员宅基地

文章浏览阅读175次。Netperf是一种网络性能的测量工具,主要针对基于TCP或UDP的传输。Netperf根据应用的不同,可以进行不同模式的网络性能测试,即批量数据传输(bulk data transfer)模式和请求/应答(request/reponse)模式。工作原理Netperf工具以client/server方式工作。server端是netserver,用来侦听来自client端的连接,c..._netperf 麒麟

万字长文详解 Go 程序是怎样跑起来的?| CSDN 博文精选-程序员宅基地

文章浏览阅读1.1k次,点赞2次,收藏3次。作者| qcrao责编 | 屠敏出品 | 程序员宅基地刚开始写这篇文章的时候,目标非常大,想要探索 Go 程序的一生:编码、编译、汇编、链接、运行、退出。它的每一步具体如何进行,力图弄清 Go 程序的这一生。在这个过程中,我又复习了一遍《程序员的自我修养》。这是一本讲编译、链接的书,非常详细,值得一看!数年前,我第一次看到这本书的书名,就非常喜欢。因为它模仿了周星驰喜剧..._go run 每次都要编译吗

C++之istringstream、ostringstream、stringstream 类详解_c++ istringstream a >> string-程序员宅基地

文章浏览阅读1.4k次,点赞4次,收藏2次。0、C++的输入输出分为三种:(1)基于控制台的I/O (2)基于文件的I/O (3)基于字符串的I/O 1、头文件[cpp] view plaincopyprint?#include 2、作用istringstream类用于执行C++风格的字符串流的输入操作。 ostringstream类用_c++ istringstream a >> string

MySQL 的 binglog、redolog、undolog-程序员宅基地

文章浏览阅读2k次,点赞3次,收藏14次。我们在每个修改的地方都记录一条对应的 redo 日志显然是不现实的,因此实现方式是用时间换空间,我们在数据库崩了之后用日志还原数据时,在执行这条日志之前,数据库应该是一个一致性状态,我们用对应的参数,执行固定的步骤,修改对应的数据。1,MySQL 就是通过 undolog 回滚日志来保证事务原子性的,在异常发生时,对已经执行的操作进行回滚,回滚日志会先于数据持久化到磁盘上(因为它记录的数据比较少,所以持久化的速度快),当用户再次启动数据库的时候,数据库能够通过查询回滚日志来回滚将之前未完成的事务。_binglog

我的第一个Chrome小插件-基于vue开发的flexbox布局CSS拷贝工具_chrome css布局插件-程序员宅基地

文章浏览阅读3k次。概述之前介绍过 移动Web开发基础-flex弹性布局(兼容写法) 里面有提到过想做一个Chrome插件,来生成flexbox布局的css代码直接拷贝出来用。最近把这个想法实现了,给大家分享下。play-flexbox插件介绍play-flexbox一秒搞定flexbox布局,可直接预览效果,拷贝CSS代码快速用于页面重构。 你也可以通过点击以下链接(codepen示例)查_chrome css布局插件

win10下安装TensorFlow-gpu的流程(包括cuda、cuDnn下载以及安装问题)-程序员宅基地

文章浏览阅读308次。我自己的配置是GeForce GTX 1660 +CUDA10.0+CUDNN7.6.0 + TensorFlow-GPU 1.14.0Win10系统安装tensorflow-gpu(按照步骤一次成功)https://blog.csdn.net/zqxdsy/article/details/103152190环境配置——win10下TensorFlow-GPU安装(GTX1660 SUPER+CUDA10+CUDNN7.4)https://blog.csdn.net/jiDxiaohuo/arti