闯入安全领域 - 调查结论(第二部分)
在第一部分中,我分析了收集的定量数据,而这一部分将深入探讨定性回答。如果你和我一样记不清区别:第一部分是数字,这一部分是观点。
在梳理所有问题的答案时,我发现大量重复内容,不仅在同一问题的回答中,也跨越不同问题。有些趋势非常明显,我会尽力记录。还有一些非常规的有趣回答,我会因其纯粹的喜剧价值而加入。
你现在希望刚开始时就知道的事情?
这部分最突出的观点是:技术能力并非全部。人际交往能力、管理上级和支持客户被认为非常重要。作为顾问,你会花大量时间在现场或至少通过电话与客户沟通,因此必须适应与他们打交道。
对于内部顾问来说,人际技能同样重要。如果你能将老板或测试部门视为客户,并在必要时这样对待他们,你的工作会轻松很多。
“重要的是要注意,信息安全是公司中涉及与人打交道的角色。提升你的公开演讲和谈判技巧。我比破解碳基生命(指人)更擅长破解硅基(指技术),但两者都重要。花时间学习和练习这些软技能。”
类似地,具备商业技能有助于你理解你为之工作的人(无论是客户还是内部部门)的处境。以下两个回答有助于解释这一点:
“安全是风险缓解和企业收益之间的平衡。公司必须继续赚钱来支付你的工资。因此,最好的安全可能不是最合适的安全。”
“商业技能比技术技能更重要。”
安全很少被视为企业的首要任务,因此往往得不到行业认为应得的资金和支持。通常,可用性或成本会优先于安全。在这些情况下,你必须能够理解为什么会发生这种情况,并能够提出在适当商业层面站得住脚的论点。如果这些论点失败,备选建议总是有用的。确保你的建议有完整记录也是一个好主意,以防发生本可预防的事件;这不是为了事后炫耀,而是为了在有人因未预防问题而追究你时保护自己。最后,你很快会学到,公司永远不会100%安全,尽管我们尽了最大努力。不要纠结于此,尽力而为即可。
另一个相关领域是报告撰写。这是工作中很少有人喜欢做的部分,但为了做好工作,你必须写出好的报告,正如这个回答所说:
“一切都关于报告……你可以是世界上最好的渗透测试员,但如果你的报告很烂,你的测试也一样烂!”
你的报告必须能够以目标受众可读、可理解并可采取行动的方式传达你的工作发现,无论是渗透测试、PCI审计还是甚至回复服务台票据。有些报告被各种人阅读,从非技术的高层管理人员到低级管理员,报告必须能被所有这些用户理解。
技术人员通常是一个内向的群体,但安全社区通常非常友好,人际网络是一项关键技能。这个评论说明了一切:
“走出去建立人际网络,不要害羞,我们是一群友好的人。”
关于人际网络,我补充一点:你也应该在公司内部建立网络,尤其是内部员工。与不同部门的人友好相处可以打破通常针对安全人员的成见。我们通常是那些拒绝Facebook访问或强制他们每30天更改10字符密码的人。如果我们在不同部门有盟友,我们可以向他们解释原因,并让他们传播消息。财务部门的朋友在预算时间到来时也很有用,当你需要新防火墙时;人力资源部门的朋友在决定培训预算时也很有帮助。
最后一些值得包括的评论:
“你将住在酒店里。”
“渗透测试并不像看起来那么光鲜。”
“安全会议对你的肝脏不好。”
你会给想开始安全职业生涯的人什么建议?
这部分绝大多数回答是:知识就是一切,你知道的越多,机会就越多,无论是测试中获取DA权限的机会还是获得下一份工作的机会。
这两个回答很好地结合在一起:
“设置一个实验环境来练习,虚拟化让这变得容易。”
“努力学习,做实验和练习,尝试工具。”
在考虑申请第一份工作之前,确保你具备感兴趣领域的基本技能。对于渗透测试员来说,这意味着搭建自己的实验室并对其运行工具。VMWare、VirtualBox和各种其他VM工具可用,因此一台稍有性能的机器就能运行各种不同场景。我强烈推荐获取Microsoft Technet订阅。在英国,我每年支付99英镑即可访问所有MS操作系统平台和主要应用程序,对我来说这是显而易见的选择。
作为渗透测试员的一个好处是,日常使用的大多数工具都是免费和开源的,而那些不是的通常也有免费或演示版本可供尝试。获取Kali、Samurai WTF或众多其他实时ISO的副本,开始学习。
“在信息安全之前或之外,培养IT其他领域的技能(系统管理、网络管理、开发等)。”
目前大多数安全领域的人都是从不同领域起步,然后转入安全,这个回答反映了这一点。观点是,如果你不知道如何配置和管理网络或编写Web应用程序,那么你将无法完全测试/审计/防御它。
我在BSides演讲结束时的一个问题是关于道德黑客大学学位以及它们如何适应这种思维方式。我的诚实回答是,我还没有见到足够多直接从大学进入行业的人来给出好的答案。我遇到的那些人无论从什么职业起步,最终都会进入安全领域,这些是对安全有天然热情的人。
我个人认为,在开始测试之前做了10多年的开发人员,让我对应用程序和Web应用程序测试有了很好的洞察力。我知道我多年来犯的错误,并且对应用程序在幕后如何运行有很好的感觉,甚至无需查看。这也有助于我与客户沟通,例如,在Web应用程序测试后,我可以与开发人员坐下来,用他们理解的语言解释我发现的问题并提供修复建议。当他们告诉我为什么做出某些决定以及发布期限的压力如何迫使做出他们都不想做但被迫做出的捷径时,我也能理解。
我认为在未来5年内,第一批从道德黑客学位毕业的学生将开始超越初级职位并开始为人所知,这时我们将发现直接进入安全领域是否是一个可行的选择,或者拥有扎实背景是否真的是一个要求。
这组回答都属于我称之为“让自己出名”的类别:
“参与不同的项目并做出贡献,有很多开源项目你可以以不同方式贡献。”
“一切都关于声誉。认证有用,但如果你不为人知,就不会被认真对待。走出去,见人,并向他们学习!”
“开一个博客……不是为了名利,而是为了记录你学到的东西。没人读也没关系,为自己做。”
信息安全社区的一个真正好处是,当你有问题时,通常可以提问并得到答案。但你会发现,如果你有一定的声誉并且人们认识你,你更可能快速得到答案。我在现场多次通过直接联系工具作者并询问我遇到的问题而得救。即使答案是“是的,我知道那是坏的”(我遇到过),这也节省了你折腾找出为什么东西不工作的时间。
如何获得那种声誉取决于你,但一个好的开始方式是开始贡献论坛或邮件列表。从提问开始,当你得到答案时说谢谢,如果可以的话提供一些反馈。你很快会发现你能够开始回答问题或至少提供建议。人们会很快开始认出你的名字。不要担心愚蠢的问题,但当你提问时,不要期望被喂答案,问具体的问题,提到你已经尝试过什么,并显示你已经付出了一些努力。当有人期望你付出努力回答问题,而他们自己没有显示任何努力时,这是一种建立坏声誉的方式。
开博客是个好主意,即使你做的事情看起来非常基础。记住大多数人已经经历过你正在经历的阶段,如果你卡在某事上,或找不到如何做的说明,那么可能有很多其他人处于完全相同的位置。即使你只是写东西为自己记录,这也显示了兴趣,并且是你可以向潜在新雇主展示的东西。我写了一些博客文章,只是因为我有一个经常忘记的技术,需要一种记住它的方式。但无论你做什么,避免抄袭。我见过太多博客只是从别人的博客中抓取内容。有些会引用原始作者,通常用小字,但通常不会给出来源。窃取他人的工作会很快让你被社区排斥,而坏声誉很难摆脱,正如一些公司正在发现的那样。查看attrition.org以看到一些实例。
如果你是开发人员,那么创建工具或贡献现有项目是学习新技能和出名的好方法。和博客一样,如果你发现需要做某事而没有现有工具,那么就编写它,会有其他人想要那个工具。如果你不是开发人员,你仍然可以帮助现有项目。项目总是需要人们编写用户指南、维护网站、设计徽标、进行Beta测试和做各种其他他们没时间自己做的工作。如果你以能写好教程而闻名,你很快就会获得声誉和大量工作。
这类别的最后一个建议是加入一个团体,无论是虚拟还是实体的。黑客空间在世界各地创建,是见志同道合者的好地方,类似地,Defcon团体和2600会议都吸引黑客和安全爱好者。如果你当地没有团体,看看是否能设立一个,这样做肯定会启动你的声誉。IRC和论坛是好的虚拟团体参与。有很多IRC服务器和频道,所以如果你尝试的第一个不适合你,不要气馁,继续寻找。和邮件列表一样,从倾听开始,然后当你感受到频道运作方式时开始贡献。
下一个回答只是一组类似回答中的一个:
“学习编程(至少脚本)。”
正如我在第一部分所示,普遍观点是编程虽然不是必需的,但是一项非常有用的技能。
我发现了这个评论,认为它非常重要:
“了解你使用的工具背后发生了什么。”
很多人学习如何使用工具,但从不费心去理解工具实际在做什么。不知道运行工具时发生了什么,你总是冒着事情出错的风险,或至少不按你预期进行,而当某事出错时,你应该总是能够解释当时发生了什么,评估发生了什么以及可能造成的损害。
这部分的一些喜剧回答:
“努力工作!其他人都这样做,所以你最好习惯它。” - 大多数时间,但我们也尽情玩乐。
“与运营和财务人员上床(不是字面意思,但这可能也有帮助)。”
如果你不做任何损害,未经许可在网站/公司上“练习”可以吗?
对此的绝大多数回答是“不”。现在有太多易受攻击的虚拟机、应用程序、产品等可用,没有必要攻击别人的网络。即使是合法研究人员,意外发现产品或应用程序问题并尝试负责任披露,也受到法律行动威胁,所以如果你尝试这个,如果被抓住不要惊讶。
最好总结这一点的回答是:
“只有如果你想要一个叫Bubba的新‘室友’……”
我不涵盖的内容
还有两个问题我不打算在这个结论中涵盖:
- 你认为下一个新兴领域是什么?
- 你觉得你做了什么错误你会建议避免?
这是因为我希望你们作为读者自己去查看原始数据。通过查看,你会发现一些非常有趣的信息,远比我能在这两篇博客文章中放入的多。你也可能发现我未发现的趋势或更适合你自己情况的事情。记住,我设置这个是因为我想尝试获取一组无偏见的答案,但一旦我发布,我意识到我用受我经验偏见的问题创建了它。通过挖掘数据,你将能够消除我在这篇撰写中添加的一些偏见。
参考资料
我只列出这些,你的作业是出去找到好的:
- 播客
- 邮件列表
- 论坛
- 会议
- Youtube
最后,查看Infosec Mentors,他们是一个帮助将行业专家与行业新血结合起来的团体,希望双方能互相学习。我必须提一下SecurityTube,在那里你会找到大量安全相关视频和免费课程。
最终结论
- 如果你没有热情,这只是一份工作
- 投入其中,学习并展示你的兴趣
- 不要害怕提问 - 但显示你已经尝试自己找到答案
- 这不全是关于技术
最后感谢
感谢所有填写调查和帮助推广的人,没有你们这个项目无法启动。