有没有想过从事网络安全职业?读这个

2020-07-25 13:55:20

每年有数以千计的人从学院和大学毕业,获得网络安全或计算机科学学位,结果发现雇主对他们的动手基础技能不太感兴趣。以下是最近的一项调查,该调查发现了一些更大的技能差距,并就如何让那些在这些领域寻求职业生涯的人更好地脱颖而出发表了一些看法。

KrebsOnSecurity几乎每周都会收到至少一封来自某人的电子邮件,寻求关于如何打入网络安全领域的建议,并将其作为职业。在大多数情况下,求职者会问他们应该寻求哪些认证,或者计算机安全方面的什么专业可能拥有最光明的未来。

我很少被问到,他们应该寻求哪些实用技能,以使自己成为未来工作的更具吸引力的应聘者。虽然我在回答任何问题时都会警告说,我自己没有任何与计算机相关的证书或学位,但我确实会定期与网络安全领域的C级高管和招聘人员交谈,并经常询问他们对当今网络安全工作候选人的印象。

在这些高层管理人员的回应中,一个共同的主题是,许多应聘者在运营、维护和维护推动其业务的信息系统等更实际的问题上缺乏实践经验。

诚然,大多数刚毕业的人缺乏实践经验。但令人高兴的是,网络安全的一个有点独特的方面是,人们可以通过自我指导的学习和老式的反复试验,在相当程度上掌握动手技能和基础知识。

在回复读者时,我几乎总是会给出一个关键的建议,那就是了解计算机和其他设备如何相互通信的核心组件。我这么说是因为掌握网络是一项基本技能,许多其他领域的学习都建立在这一技能的基础上。试图在没有深入了解数据包工作原理的情况下获得一份安全工作,有点像在没有首先掌握元素周期表的情况下试图成为一名化学工程师。

但请不要相信我的话。马里兰州贝塞斯达的萨斯研究所(SANS Institute)。这家安全研究和培训公司最近对284家不同公司的500多名网络安全从业人员进行了一项调查,试图找出他们认为哪些技能对求职者最有用,哪些技能最缺乏。

调查要求受访者对各种技能进行排名,从“关键”到“不需要”。85%的受访者认为网络是一项关键或“非常重要”的技能,紧随其后的是掌握Linux操作系统(77%)、Windows(73%)、常用开发技术(73%)、计算机体系结构和虚拟化(67%)以及数据和密码学(58%)。也许令人惊讶的是,只有39%的人将编程列为一项关键或非常重要的技能(我稍后会再谈到这一点)。

接受调查的网络安全从业人员如何根据这些关键且非常重要的技能对他们的潜在求职者进行评分?其结果可能会让人大开眼界:

SANS研究所研究主管艾伦·帕勒(Alan Paller)表示:“雇主们报告说,学生网络安全准备工作很大程度上是不够的,他们不得不花几个月的时间寻找合格的入门级员工,如果能找到的话,他们对此感到沮丧。”“我们假设,解决这些挑战并帮助缩小网络安全技能差距的途径的开始,将是隔离雇主期望但在网络安全毕业生身上找不到的能力。”

事实是,我今天认识的一些最聪明、最有洞察力、最有才华的计算机安全专业人员并没有任何与计算机相关的认证。事实上,他们中的许多人甚至从未上过大学,也没有完成大学水平的学位课程。

相反,他们进入安全专业是因为他们对这门学科充满热情和强烈的好奇心,这种好奇心引导他们尽可能多地学习-主要是通过阅读、做和犯错误(很多错误)。

我提到这一点并不是为了劝阻读者攻读该领域的学位或证书(这可能是许多公司人力资源部门的基本要求),而是要强调,这些不应该被视为通向有回报、稳定和相对高薪职业的某种黄金门票。

更重要的是,如果没有掌握上述一项或多项技能,当时机成熟时,你根本不会成为一名非常有吸引力或出色的求职者。

那么,你应该关注什么,开始的最佳方式是什么?首先,要明白,虽然获取知识的方法几乎是无限的,而且你可以探索的深度几乎没有限制,但动手是最快的学习方式。

不,我不是在说闯入某人的网络,或者侵入一些糟糕的网站。请不要在未经允许的情况下做那件事。如果您必须以第三方服务和站点为目标,请坚持使用那些通过漏洞赏金计划提供认可和/或奖励的服务和站点,然后确保您尊重这些计划的边界。

此外,几乎任何你想通过实践学习的东西都可以在本地复制。希望掌握常见的漏洞和利用技术?可用的免费资源不计其数;专门构建的开发工具包(如Metasploit、WebGoat)和定制的Linux发行版(如Kali Linux)都得到了在线教程和视频的良好支持。此外,还有一些免费的侦察和漏洞发现工具,如Nmap、Nessus、OpenVAS和nikto。这绝不是一份完整的清单。

建立你自己的黑客实验室。你可以用一台备用的计算机或服务器,或者用eBay或Craigslist等网站上供应充足、价格便宜的旧硬件来做到这一点。像VirtualBox这样的免费虚拟化工具可以简化与不同操作系统的友好关系,而不需要额外的硬件。

或者考虑付钱给其他人,让他们安装一台你可以试试看的虚拟服务器。亚马逊的EC2服务在这里是一个很好的低成本选择。如果你想学习网络应用测试,你可以在你自己局域网内的电脑上安装任意数量的网络服务,比如旧版本的WordPress、Joomla或Magento这样的购物车系统。

想学习网络吗?从阅读一本关于TCP/IP的好书开始,真正了解网络堆栈以及每一层如何与另一层交互。

在你吸收这些信息的同时,学会使用一些工具来帮助你将新学到的知识应用到实际应用中。例如,熟悉Wireshark和tcpdump,这是网络管理员用来排除网络和安全问题并了解网络应用程序如何工作(或不工作)的便捷工具。首先检查您自己的网络流量、网页浏览和日常计算机使用情况。通过查看应用程序正在发送和接收什么数据、如何发送数据以及在哪里发送数据,尝试了解计算机上的应用程序在做什么。

虽然能够用Go、Java、Perl、Python、C或Ruby等语言编程可能在雇主要求的技能清单上名列前茅,但拥有一种或多种语言的技能不仅会让你成为更有吸引力的员工,还会让你更容易增长知识,并更容易掌握更深层次的技能。

根据您最终追求的安全专门化,您还可能会发现,在不了解如何编码的情况下,扩展知识的能力在某种程度上是有限的。

对于那些被学习编程语言的想法吓倒的人,可以从熟悉Linux上的基本命令行工具开始。仅仅是学习编写自动化特定手动任务的基本脚本就可以成为一个很好的垫脚石。更重要的是,掌握创建shell脚本将在您的职业生涯中为几乎任何与计算机相关的技术角色带来可观的红利(无论您是否学习特定的编码语言)。

毫无疑问:就像学习一件乐器或一门新语言一样,掌握网络安全技能需要大多数人花费大量的时间和精力。但是,如果一个特定的学习主题一开始似乎不堪重负,不要灰心丧气,慢慢来,继续前进。

这就是为什么有支持小组是有帮助的。我是认真的。在网络安全行业,网络的人性化方面采取会议和本地会议的形式。我再怎么强调,半定期地与志同道合的人交往对你的理智和事业都是多么重要。

其中许多聚会都是免费的,包括Security BSides活动、DEFCON小组和OWASP分会。由于科技行业的男性人数仍然不成比例,也有一些面向女性的网络安全会议和会员团体,比如网络柔术妇女协会(Women‘s Society of Cyberjutsu)和这里列出的其他组织。

除非你住在一个偏僻的地方,否则很可能在你的一般区域会有很多安全会议和安全会议。但是,即使你真的住在偏远地区,好消息是,许多这样的聚会正在走向虚拟,以避免正在进行的瘟疫,即新冠肺炎疫情。

总而言之,不要指望学位或证书能让你为雇主期望你拥有的技能做好准备,这是可以理解的。这可能是不公平的,也可能是不应该的,但你很可能需要发展和培养为你未来的雇主和这一领域的就业能力服务的技能。

我相信这里的读者有他们自己的想法,关于新手、学生和那些正在考虑转行到网络安全领域的人如何最好地集中他们的时间和精力。请在评论中畅所欲言。我甚至可能会更新这篇帖子,以包括一些更好的建议。