在美国找信息安全和计算机类工作总结


在美国找信息安全工作分析和找计算机类工作总结

此文章也发布在了一亩三分地论坛上:https://www.1point3acres.com/bbs/thread-792700-1-1.html
后来又攒了个微信群组织:https://www.1point3acres.com/bbs/thread-793295-1-1.html#lastpost 扫码要是不能进的话,就领英聊吧。成立这个群是想尽可能多地团结在美国搞安全的中国人。如果大家有在自己公司、学校或者其他场合遇到做安全的同事同学的话非常欢迎拉进群。在学习上,大家可以一起讨论安全领域的知识和技能;找工作上,以后大家互通有无,招人了 refer了什么的可以在群里分享,也可以约人一起备战面试;另外也可以讨论关于行业发展等安全相关话题。前人种树后人乘凉,希望大家可以在职业道路上相互帮助,共同学习成长。大家也可以网上一聚,比如在clubhouse上开个房间之类,也可以搞一个周末定期的讨论,对于最近的安全进展新闻新技术等等。

0.引子

先来一手奇妙比喻,试图吸引下注意力。
职业发展(信息安全工程师和软件开发工程师对比)的滚雪球理论:
滚雪球,大家都拿个雪球爬坡,然后把雪球滚下来。越高的坡最后滚出的效果越好,但同时也越抖越难爬。每个人的个人情况不一样,大家初始拿到坡上的雪球大小不一,而爬坡的时候雪球是会化的,我们要根据自己的情况选择不同的坡。做安全工程师对知识和能力积累的要求很高,这个坡很高很抖,但是会使得最后滚雪球下来的收益是非常高的。做软件开发入门相比起来容易些,坡小一点可以很快滚好雪球,但是别人也都可以上一样的坡滚雪球,如果想保持自己的竞争力需要对同一个坡把雪球滚的更快些。如果要保持长久的竞争力,需要滚完一个坡之后再用这个新的雪球滚下一个,这时候再拿上坡的雪球也比之前大了,收益在累积,如果滚过一两次后滚不动了,可能会被淘汰。

首先阐述一下我认为的本帖对应人群,提这一点是因为在网上看到很多人对同一件事争吵不休,我看得头疼,自身情况相差太大,立场区别太大,根本就没有讨论意义。
对应人群:对信息安全很有兴趣的甚至已经在为之努力的,想找到一个在美国中国都有很好职业发展的计算机类工作的,想了解在美国找计算机类工作一些要点的,希望在美国找工作但找工作压力不是很大的,喜欢头脑风暴的,想给文章提合理建议的

这个帖子主要总结在美国找信息安全工作的经验,和一些找计算机类工作应该比较通用的经验。我现在只是硕士应届刚毕业,还不够清晰美国公司里的情况,如果有些地方看得不够透彻还请指正和讨论。我工作一两年后会再发帖子分析。内容挺多的,大家可以根据小标题找自己最需要的。
之前在地里发了一个有19个信息安全工作面经的帖子,也可能会继续给那个帖子更新,把那个帖子作为一个安全面经合集贴,面经帖子指路:https://www.1point3acres.com/bbs/thread-767070-1-1.html
这些面试的点难度也还可以,如果是认认真真学了一年以上的安全,我觉得都还是基础的问题。就是面试的时候要把这些各个子领域的知识和技能全都答出来,从广度上我会觉得真的挺难的。有些知识在当初做的时候真的挺明白的,而且一般都有对应的动手操作,理解比较深。但是过了几个月甚至一年后真的想不起来了,即使面试前回顾过也很难达到当初的理解深度。很无奈但也确实是练的还不到家。

1. 信息安全的前景

我个人经过大量的信息搜集认为信息安全可以说是计算机领域现在增长最快的。放一些别人写的文章,可惜印象里有很多写的很全很深刻的文章想找又找不着了。。
https://cybersecurityventures.com/jobs/ 这个是一个作者19年写的对21年安全行业前景分析的文章,里面有很多相关链接,提供的数据很多很真。不过这也是19年的分析贴了,安全行业的涨势从来都比预测的快得多。
https://mp.weixin.qq.com/s/v9LTqkfKt-_4yHPYJDAQrg 这个链接是直通硅谷那个机构前一阵发的安全前景大好贴。这个贴子我觉得大部分信息还是不错的。不过他们家之前发的文章也根本没提过安全,我加了他们客服要安全岗位收集,那个岗位数量和我手上掌握的差太多了。另外帖子里提到的“一些科技大厂,开始接受留学生”,没有的事,一直都接受,我们项目那么多年办下来,还有我在领英上对做安全岗留学生的大量搜索,中国留学生都做安全岗做的好好的,关键是技术能力和经验。
https://www.latimes.com/business/story/2019-08-07/cybersecurity-pros-name-their-price-as-hacker-attacks-swell 这篇文章也是19年写的,关于对安全人才的需求。
https://mp.weixin.qq.com/s/sGcDyzpUrmls_iLRPz9OOw 这篇文章是对勒索产业的前景描写。勒索这个东西是安全的另一面,已经是产业级别的了。这个黑暗产业的发展是对搞安全领域从另一个面的促进。
https://mp.weixin.qq.com/s/Di-1cGDoXtUcLb4tyLaIFA
https://mp.weixin.qq.com/s/imTGkoNhqJA_u6pJPgtmiw 这两个是2020年的安全行业发展总结。
无人驾驶,物联网安全等和硬件相关的安全。现在可能有的人不够重视安全,觉得这种可能的财产上的损失不是必要的。但是对于现在正在蓬勃发展的无人驾驶,物联网行业,已经不光是财产上的损失了,会造成生命安全上的损失,安全的重要性不言而喻。
云计算的发展速度对安全的影响。云原生的发展,越来越多的云上ops工作,容器,容器管理等,这些都对安全有很大的需求和促进。
美国的信息安全需求非常大。我了解有的朋友可能几年前接触过国内的安全,觉得那时候安全不够受重视。我想提两点,第一从2020的统计数据看,全球信息泄露事件美国占45%,全球各区域攻击事件北美占39%,这充分说明了美国时刻都遭受着大量的网络威胁。像我每天读很多信息安全新闻的话,我的印象里美国真的在网络安全这块已经被打成筛子了,当然美国政府包括企业的实力很强,但是遭受的攻击太多了。另一个例子是中美企业在漏洞赏金方面的差别。国内有的公司甚至已经有一定规模的,特别抠,可能一个漏洞就给你几百甚至几十。而美国的公司,就那些大的互联网企业,高质量的漏洞,几万刀很常见。
公众号推荐:安全牛,互联网安全内参,安全客,安全研究GoSSIP。这些号有很多最新的安全新闻,技术分析,和前景分析。

2. 信息安全岗位练不练编程?

信息安全工作对编程的要求根据岗位的需求可以说是从0编程到和sde工作完全一样,这点也会体现在面试的考察点上。即使是没有编程需求的岗位也很多对于看代码的需求是很大的,看代码的难度有多高相信大家也都有体会。如果我们想扩大自己的找工作范围,编程肯定是要练的。具体情况也看公司,有的公司就是特别爱考算法。我个人是leetcode刷了200道就停了,然后每次面试前集中练下。我个人认为对于安全工程师的面试,刷到300就足矣了,hard基本不用管,还有很多安全方面的知识和技能需要训练。至于使用什么编程语言刷题,我觉得就用Python就行,确实方便很多,只要考虑算法的实现就行。对于安全工作中的编程语言使用可能比较极端吧,一队是C语言甚至汇编搞底层的工程师,一队是用脚本语言比较多的工程师,还有一队是安全开发,根据开发需求使用各种语言。不过我觉得面试的话用Python应该都可以接受。我个人最理想的岗位是安全研究和编程六四开。如果你经常抱怨美国公司就看刷题不合理,觉得自己计算机基础非常深厚,那信息安全的面试方式很适合你,其实就有点像国内面试的综合考察。

3. 信息安全岗位的区别

首先有两个特别容易混淆的岗位,security software engineer和software security engineer。前者是安全开发,基本和sde一样,只是开发的内容是和安全相关,后者是应用安全工程师,对安全方面的技能要求很高,看具体岗位对编程能力有要求。另外其实有的title是software engineer的岗位就是安全工程师,有的岗位投递的时候会具体让你选track,里面有security。
在纯做安全的工程师岗位里根据安全子领域的不同,岗位区别就更大了:应用安全,Web安全,网络安全,安全隐私,安全响应,安全分析,云安全,IOT安全,硬件安全,系统安全,区块链安全,密码学等等,非常多,更要命的是,面试中基本都会根据岗位的需求来问问题,如果你就认定一个子领域的话,那ok,但是为了增大找工作的可能性或者公司需求,我们就得掌握好几个子领域,巨难。
如果不想搞太技术的话也可以搞风险管理,安全合规,信息安全管理等方向。对于目标公司类型,除了互联网公司,其他的如金融,医疗,传统行业对安全的需求非常大。我看过统计,金融业应该是对安全需求最大的。至于进了非互联网公司的技术提升,我觉得完全不是一种安全吧,不是说非互联网公司的就成长少。这些也体现出了安全行业一个多样性吧。不用把鸡蛋放在一个篮子里。

4. 国际生在美国找信息安全岗位因为身份问题能找到工作吗?

我个人认为身份问题顶多算是一个阻碍点,但不是找信息安全工作的主要难点。如果是跟美国政府有关的岗位,没有身份的国际生,那肯定申请不了。很多人喜欢提这一点,但我一直就没弄明白政府岗位是我们的目标吗?为什么要纠结这一点,你去那些公司做sde对方就收你吗?反过来想政府岗位还吸引了非常多的美国人去工作,帮我们减少了很多竞争对手。我本身的硕士项目就是信息安全的,美国人很多就是已经为政府工作的,印度人100%都奔着信息安全的工作去,确实有小部分印度人是有美国身份的,但大部分都是硕士才来美国,怎么印度人没有身份就可以,我们就不行了。而且只要上个招聘网站一搜信息就能看到是否有身份要求,太多的岗位根本就不限制身份,这里也存在公司没明面上写但暗地里根据身份筛选的可能性,不过我个人和身边是没碰到过。
另外确实office的位置可能会影响这一点,比如有的公司的大多安全岗位是不限制身份的,但如果office在dmv地区(DC,MD,VA),很可能会标注需要身份。
我当初确定找安全方向工作的时候也受这点的影响,然后我去领英上看了学长学姐们的资料,也去一些大公司和安全公司看了人员的组成,太多中国人了,我觉得有数据支撑也就放心了,真的不要理会那些虚假信息。另外我也理解有些人是进行一个个人的推测,那么我希望对于自己不熟悉的领域,说话的时候要加上限定词,比如我猜,可能是,我推测。而不是斩钉截铁地说在美国搞信息安全的,必须要公民身份。我看得头疼。
再重申下一个观点是,有的公司是本来就不sponsor国际生,和是不是安全岗完全没关系。至于能sponsor国际生的公司,申安全岗身份上基本没问题。可以去看看领英上的互联网公司,尤其是安全公司,非互联网公司里面多少中国人,可以看看安全龙头Palo Alto Networks和Fortinet公司里有多少中国人,太多太多了。美国的网络安全没有中国人,能搞起来?
关于怎么在领英看岗位时筛选出不需要身份的岗位,先按照目标岗位搜索,如security,new grad,出来结果后再搜索citizen关键词比较好用。注意别把岗位里说不在乎citizen当成身份限制了。

5. 在美国找信息安全岗位的真正难点是什么?

第一点还是信息安全太难了,衍生的特点就是对经验要求极高,入门的门槛高。带来的优势处是属于越老越吃香的行业,基本不用考虑青春饭的问题。听学长说之后跳槽也不用特意刷题,和sde区别大,行业整体的圈子比较小。并且没有严重的内卷现象,不会各种被公司白嫖,但是很可能有了面试机会也通过率很底。我认为这都是必然的,一开始难就后来顺,门槛高内卷少但是可能机会来了却把握不住。
第二点是信息安全的面太广了,基本计算机的每个领域都有对应的安全,同时由于缺少面经,面试前完全不知道怎么准备,最后导致面试的难度大大提升。之前也看到地里有人说跟已经工作的人聊觉得信息安全的工作很无聊,我觉得这是真实的,但又是有问题的。因为信息安全岗位的种类太多了,这点从面经中也能看出来一些,跟一个人聊的数据点是完全不够的。具体岗位种类有哪些,我贴一个国内安全领域细分的图,方便感受: https://www.anquanke.com/post/id/235853
第三点是需要对计算机背后的运行原理有深刻的了解。比如我当初学Web安全的时候,完全没有Web相关的开发经验,感觉学对应的安全也都是死记硬背,学了忘,忘了学。但是当我上了一门课自己用框架开发一个网站后,再学Web安全就感觉融会贯通了很多。很多时候学安全真的需要先学好对应的开发。

6. 一亩三分地论坛里其他已在美国从事信息安全工作的人发的帖子

https://www.1point3acres.com/bbs/forum.php?mod=viewthread&tid=680871&highlight=%D0%C5%CF%A2%B0%B2%C8%AB
https://www.1point3acres.com/bbs/thread-483285-1-1.html

7. 怎么跨越经验的高要求

虽然信息安全工作需要很多经验,这使得新手很难进入这个非常有前途的领域。除了工作经验之外,我们还有很多方法来证明我们的专业能力。
证书。很多人可能都对信息安全的各类证书有疑惑,要不要考?为什么一个计算机领域的行业还很多人考证书?证书有用还是没用?https://cybersecurityguide.org/programs/cybersecurity-certifications/这是我挑选的一个对于安全证书分析的链接。我个人的体会是,安全的证书很多,有的证书可能比较简单,只要了解些概念就可以。这样的证书比较水,但是对于想入门的,转专业的人来说也未尝不可。不太难又有点用的证书我会觉得Security+和Pentest+不错。至于很有名的CISSP等需要多年经验的证书,我觉得入门期不用考虑,这种证书据我了解是升职进入管理层再考的,但你要真想考也不是不可能,我认识一个人刚入门就考了个。至于Offensive Security系列,我觉得对于主要做渗透方向的安全非常有用。这个系列里面最简单的OSCP是需要在24小时内成功黑入足够数量的靶机,并且完成合格的报告才能通过的考试。这种实战类的考试证书的含金量可想而知。这个证书设计上可能还是奔着2年以上经验的人,但是我们项目很多学长学姐在不同的时期都考过,很多也都是在读硕士项目的时候考的,之前也没有安全经验。至于他们系列中更高级别的证书,什么连续实战考试两天,三整天的,你要真能拿下,随便找好工作。关于OSCP证书,现在很多人感兴趣,尤其是想进行业的学生们。大家都觉得很难,担心能不能拿下。我个人看法是兴趣第一,有了兴趣做动力都没问题,我可以给出几个例子:我之前看过去年还是前年哈佛从国内直招本科生的个人背景,其中一个人就是高中就把OSCP考下了。我还在领英看到过一个消防员考下了OSCP,我还看到某国内安全技术群里,有人边工作边用空闲时间一个月打完了75个lab。我还认识了一个学音乐的美国人,也是想转计算机在本科硬学几个月拿下了OSCP,现在音乐本科刚毕业,又报了佐治亚理工的cs线上硕士,同时做一家小公司的网络安全senior consultant,在中部11万的工资。
打比赛。相信很多人都听说过安全的CTF比赛。CTF比赛的难度非常高,这可以证明我们的专业水平。此外,尽管CTF竞赛的内容可能与实际工作不同,但不错的CTF排名足以证明我们对信息安全的热爱和学习能力。如果能在不错质量的CTF中拿到不错的名次,那找工作肯定不愁。另外我当时比赛的时候有个美本的哥们,他不是搞安全的,但是计算机基础非常扎实。他本身的兴趣方向在底层,做编译器方面,看汇编就和看中文一样简单。所以即使他没搞过安全但是比赛全程也都能carry我们。他后来也如愿去了某大厂搞编译器,过了一年2个月升职了。这点可以看出计算机基础对于搞安全的重要性。
平台排名。网上有很多信息安全相关的平台,如HackTheBox,TryHackMe等。如果能拿到不错的排名,那肯定都是可以放在简历上的不错表现点。
开源平台的贡献。参与一两个有价值的开源项目开发,那肯定也能在简历上表现出来。
自己搭的网站或者Github上丰富的项目。可以通过自己搭网站,放一些安全技术类的博客内容,就也是简历上不错的表现点,既体现了对安全技术的研究又体现了对安全领域的兴趣。
勇于投社招。说实话,我自己找全职工作投的岗位是社招和校招混投。我最后进行面试的几家公司没有一个是校招,全是社招。我通过对自己能力的把握,阅读岗位描述和跟该公司的人沟通,对我来说三年以下经验的岗位我都会看看。有几个例子,亚麻有一个senior security engineer的岗位我看到别人在领英上post出来,我就直接跟他私聊问我马上要毕业的可以吗?他说行。可惜之后要约面试的时候说我的简历被校招扣住了,不能面试。然后我的校招账号也登录不进去我就不管这个岗位了。另外还有一家大厂还是独角兽的,岗位也是senior security engineer。当时hr跟我说可以先面试再根据经验降级,可惜约了面试后又说hc取消了。其他有几个我拿到面试的岗位也都是JD上写着两三年,实际上都有面试机会,包括大厂,很多也是会根据你的实际情况再降级。反正有一点我是这么觉得的,你投个岗位有不吃亏,为什么不多试试呢。
多networking。我自己有句话是,做安全,networks要厉害,networking也要厉害。我得到的这些面试机会,从intern到全职,有至少四分之一的都是从我硕士项目的学长学姐那得到的,而且这种岗位都是组内内推,公司也都是我最理想的。这点也是很残酷吧,如果缺少了这些校友资源,我会少了很多好的机会。而且学长学姐们真的都特别好,也帮助了我很多。比如有个学长我一开始想多了解安全行业的时候给他领英发了信息,他一个月后才回我,说他思考了一个月。还有跟其他学长学姐聊天的时候,觉得都非常热心,都不知道是谁在帮谁。还有不认识的人我在领英上联系的,都是中国人,最高职位有大公司的director,都非常的友善,分享经验,还说可以内推。而且就我现在工作的岗位包括我现在正面试的有个岗位,在招聘网站上都是搜不到的,都是内推。如何得到这些资源是需要好好思考的。我了解有的人可能说自己社恐,或者不敢于多交流,那我想说得到一个好的工作和维持自己的社恐,你觉得哪个更重要吧。而且有的东西虽然是长期的习惯,但如果是对自己有负向作用的,我认为我们应该思考如何去除这个习惯。
安全圈子真的很小,我觉得我们要清楚地认识到这一点并利用这一点。掌握的信息量和准确度是极其重要的,是很多事情成功发展的前提。前面两个点主要还是看就读的硕士项目,可以关注我在前面专门的学校版块。后面一个点我觉得还是多networking,领英多加加人,有的时候真的这个人可能帮不上你,但是ta认识能帮上你的人,然后你就可能加到那个人从而获取机会。如果有的岗位是HM发出来的,你去私聊了,真的机会大很多,首先这个简历肯定会被看到,然后如果有资格的话基本都会有面试。我举两个例子,很多人都说FB最难的是简历关,我认识一个在FB做DS的,她没有实习,她就直接在领英联系的招聘的HM,拿到了面试机会然后凭借自己的实力去FB做DS全职;还有一个在FB做SDE的同学,人早就和FB负责她学校的HR混熟了,拿到了面试机会。Networking这事对找工作很重要,人家从上游就拿到了面试机会,然后凭借自己的努力达到目的。
先做sde,ds,network eng等其他领域的职业,再转安全。还是领英,我看了大量人的领域,很多人都从sde转到安全,或者很多从别的领域转到安全的。首先从安全岗位上的JD上看,基本都是非常欢迎有sde经验的人申请,有的甚至要求有一两年的开发经验。因为不懂开发的话就很难懂背后运行的原理,又何谈找到安全问题和解决措施。像我硕士项目里就有同学,觉得安全的入门很难,是先做了sde,再找转到安全组的机会。另外我看了很多人的履历,见过很多转安全的,还真没见过从安全转出的,个人的发现。

8. 非计算机专业的可以转安全吗?

https://www.springboard.com/blog/cybersecurity/how-to-get-into-cybersecurity-regardless-of-your-background/。这是网上外国人写的一篇如何进入安全行业的文章,我觉得还行吧,重在详细。
因为我前面提到了信息安全对经验,对计算机基础的要求比较高,那么是不是非计算机专业的人就不能转安全了?这个据我观察有个很奇怪的现象,很多大牛要么是计算机基础非常深厚,从本科甚至中学的时候就开始研究黑客技术。但有的大牛是之前真的0计算机基础,凭借自己的兴趣作动力,做到非常牛。国内的话有几个顶级大牛都是本科学医的。我发现学医的还有学音乐的转安全的还真挺多的,有些共通性质吧。安全工程师就像计算机领域里的医生。另外据我观察,转专业做安全的大多是做渗透方向的安全,这个领域还是对研究的热情最重要。
如果选择做渗透的话,现在功能强大的自动化工具很多,也可以先从这个入手,先做脚本小子,再提升自己的能力进入下一级别。
我在领英上看到过很多之前不是搞计算机的转安全的,都是很努力,兴趣很大,最后成功,其中有不少人确实是通过考证实现了转安全。

9. 申请信息安全岗位的注意点

信息安全岗位对经验和能力的要求实在太高了,我自己找full time的面试全是社招, 我只在国内有两段实习,算是new grad,但如果我只找new grad的岗位我也会发现投递的机会不够多或者投了也没面试。我认为这点也是产生了很多人认为信息安全对身份要求高的原因,身份不是主要因素,主要因素就是入圈子的门槛太高了(顺便一提另一个原因是提出观点的时间点不一样,信息安全行业的增长速度可能是计算机领域里最快的之一,所以确实几年前的人发现岗位实在太少了)。这和上面的印度同学为什么都100%找安全岗位也有关联,他们基本都是有了工作经验才来读硕士的,所以他们不会被这点束缚,最后全都有很好的工作机会。
另外一点是安全岗位目标公司和找sde的目标公司是有差别的。首先公司是分甲方和乙方两大阵营,除了熟知的一些互联网大厂对安全需求很高,还有很多知名的信息安全公司需要多注意。我当初也完全不知道什么岗位能投,我那时候看地里有人说amazon的security intern的信息,我很惊讶回了句还有这个岗位吗?但是后来我遵循一个学长的指导每天都搜索岗位,我坚持了一年多吧,现在的我会觉得遍地都是信息安全工作机会,当然也可能是现在安全行业的增长势头太猛了,多了很多。这一点很重要吧,找到工作的前提是我们得申请,大部分人还没到公司主动找我们的程度吧。其实每天搜索也很有意思,那种感觉就像中学的时候几个小伙子一起吃饭点了盘辣子鸡丁,发现全是辣椒但是鸡丁又做的特别好吃,充满汁水,吃到最后就是一起快乐地在辣椒里翻鸡丁,像挖宝一样。
我可以说一下我找intern和全职投了多少安全岗位,看你个人觉得这样的数量够不够。Intern我总共投了268个岗位,而且我是春招才开始投。全职我总共投了219个岗位,而且我是3月把工作定下的,之后就没投了。并且我只投纽约,加州,DC,西雅图周边的岗位。其实我的个人计划就是先去纽约工作,所以我最关注的是纽约的岗位,还在领英设了纽约岗位的alert。另外提一下安全的岗位纽约还真的非常多,因为纽约现在科技行业的发展和金融公司对安全的大需求。
投足够多的岗位真的很重要。比如有个认识的学弟之前找安全实习的时候特别急,我就给转发了我找的几个好的安全实习岗,后来就成功进了一个独角兽实习。很多时候真的是做好自己技术水平提升的同时,要保证有足够数量的岗位申请。尤其对于安全岗位,地里的信息不是很多,需要先了解有哪些岗位可以投。

信息安全岗位不是主要集中于春招,而是全年都有可能。通过我的个人体会,和在美从事安全行业多年的学长聊天,原因主要是安全大多是组招,不是秋招那种统一的招聘,而且安全很难招到符合条件的人,岗位可能空很久。据我这两年的体会,安全统一的秋招是渐渐多了起来,这种模式当然主要还是规模较大的公司喜欢搞。所以申请安全岗位的话,也不用非急于秋招,尤其是对于之前没有基础的人,我认为秋招肯定是要积极参与的,同时心里也有个数春招也有很多机会,可以练习一学期后再冲击面试。其实我当时了解了情况后就是这个计划,只要别像我正好春招碰到疫情开始就行。

10. 安全岗位面试的特点

除了常规bq问题的安全bq三剑客:你为什么选择信息安全?你最喜欢的信息安全领域是什么?你最近看到的有趣信息安全新闻是什么?其实这三个问题都是围绕你究竟对信息安全有没有兴趣展开的。这类问题的产生原因也还是因为信息安全太难了,如果没有兴趣,没有热情的支撑,我不太相信能学得来信息安全,公司也不会相信。
General安全岗位技术问题三剑客:network security,web security,二进制漏洞。如果没发现岗位有太大的侧重点,可以多准备这三个方向。
Web security问题三剑客:XSS,SQL injection,CSRF
如果讨论大多数sde岗位面试和安全岗位面试的区别,做一个大概的比喻。sde的面试考算法就像高考的数学题,计算(算法题)很多,很多题都有很多解法,步骤少的(复杂度低的)相对来说好些。最后的压轴题(hard)可能大多数人都不会,需要做题的灵感,我们得尽可能想办法把步骤分(可能的思路)得到。而安全岗位就更像做物理题,计算(算法题)是有的,但一般要求不高。简答题很多,需要我们把现象背后的原理(计算机运作原理)摸透了,甚至预测之后会产生的现象。至于对这两种岗位,都有对应的竞赛选手(ACM和CTF等),他们随便答。

11. 准备安全岗位面试的资源

前面提了很多次信息安全领域很难,面试范围太大练的太多很难,但其实如果我们真能像sde找工作一样理清练习的路线,我觉得难度会大大降低,并且由于内卷不严重,变得简单一些(然而按照规律套路清晰了就该开始内卷了)
sde找工作的朋友们,他们积极的人来美国前就刷了几个月题了,而找安全的人基本都没有指导,不知道做什么,这根本没法比,这局还怎么玩。其实我当初是一心想选水课找sde,我为了多选开发课都给我们学校负责的人问烦了。我是后来接触到安全,跟很多学长学姐聊了,在家里讨论了很多才坚定走信息安全的路线。所以我intern春招才开始找,正好碰到疫情哈哈。
这种没有清晰练习路线的体验就相当于我们全都不能访问leetcode等编程平台,然后面试官直接拿个leetcode考我们一样。我个人是尝试了一些平台后觉得TryHackMe (https://tryhackme.com/hacktivities) 平台真的做的很好,第一它的难度是从小白到大师都有的。第二除了安全相关的知识也有很多计算机原理的知识。第三这个平台是知识点和lab相结合,并且lab通过web端即可访问。如果要更难的训练,可以去HackTheBox上训练,那上面的靶机,要是难的你都能拿下了,你也不可能还需要什么平台上的练习了。Web安全学习平台推荐:https://portswigger.net/web-security 其实就是那个著名的Web渗透工具Burp的平台,每个练习的讲解很全很到位,同时有附带的网站进行hack练习。不过有的题需要使用Burp付费版才能做。
在美国找工作还是先通过intern转正,或者有了intern经历后再找全职简单很多,我个人想法,用TryHackMe加上leetcode刷200道左右加上我上面提供的面经合集,应对intern面试是绰绰有余。要是更进一步,可以找我聊,找我mock,但我水平有限,只能对新手提供足够的帮助。
另外有一个骚套路。可以先投几个国内安全岗,然后用国内的面试来提升自己的安全岗面试能力。国内岗位的面试还是更全面更难一点。

12. 回国从事信息安全工作怎么样

关于回国从事信息安全工作怎么样。我认为信息安全行业是一个在中美发展都非常好的领域,可谓进可攻退可守。而且也就是近期,国内对安全政策法规的不断推出,大大促进了现在信息安全行业的发展。各大高校也是开设网络安全专业或者学院,大批地培养安全人才,因为有很大的需求,比如17年左右,西安电子科技大学、东南大学、武汉大学、北京航空航天大学、四川大学、中国科学技术大学、战略支援部队信息工程大学开设网络安全学院,20年武大、华科两校网络安全学院入驻国家网安基地网络安全学院,北邮也是早就把之前的网络安全专业从计算机学院中提出,专门建立了网络空间安全学院。
有个在美国安全行业工作十几年的我的本科学长跟我说过一句话:“如果你最后决定回国,可以考虑一毕业就回国搞安全,前景非常好,并且国内的发展速度真的是今年可能比美国差,明年就可以赶上甚至反超美国”。这句话我一直都在纠结,因为我的计划是肯定先在美国工作几年,但是学长的话也让我一直怕错过了国内的机会。
另外我了解很多做sde的人不想回国主要还是担心国内开发的996问题。据我了解,安全岗的整体工作强度是肯定比sde低的,主要还是很多岗位没有开发的需求。我和很多国内有安全经验的小伙伴聊过,国内很多安全岗完全不加班,而且研究性质比较多吧不是要开发一个东西。可能有的安全服务岗位,应急响应的安全岗会比较累。
至于国内的安全岗位待遇问题,还是需要提升。主要是国内对安全岗的重视程度还处于一个成长阶段。这都很合理。美国的信息科技发展地更早一些,就会更早地注意到信息安全的重要性。国内这方面正在快速赶上。但现在国内安全岗的待遇平均来说也已经是最高的之一。查了下网上的某某排行榜,网安专业毕业薪资也是第一。 有严重的参差不齐的现象存在,但我觉得能来留学的再回去应该不会去低的那部分吧。。。正好又看到infoQ出了个文章,里面也提到了国内做安全的待遇从IT业的底层到现在已经是最高:https://mp.weixin.qq.com/s/8CdZBXvU6zIv-SpbnbfNzQ

13. 美国安全岗位的薪资

首先在同一个公司里的话,安全工程师肯定是和sde一样的。如果是技术成分不太高的安全岗位大概会低点。另外由于安全的入门门槛比较高,我认为从整体上看,在职业初期做安全工程师比sde难很多进入待遇好的公司,所以是会低些。安全是越老越吃香的职业,要是有了至少一两年的积累,拿到高待遇都不是问题。
另外有一点也是我一直没想明白的,就是安全不是很多公司的盈利点。对于专门的安全公司,做安全产品来给公司带来利润,比如做威胁情报系统、漏洞扫描器、WAF、云安全产品等等,那肯定没问题。而对于非安全公司,可能一些金融公司,医疗公司,云计算公司,数据库公司对安全的需求还是很大,对于其他公司就会不够注重安全,因为安全是增加成本的不是盈利的。我觉得这是一直阻碍安全行业发展的一个很重要的点。我自己也思考了一些可能的解决方案,比如让安全成为非安全产品的重要卖点,政策和法律的监管,需要在系统设计的时候就考虑如何建立安全和信任,而不是在已构建的的系统上添加安全特性。还是希望这一点能得到更好的解决。

14. 开设信息安全硕士项目的主要院校

我了解的一些可以申请的,美国开设比较好的安全硕士项目的院校:CMU、NYU,JHU,Gatech,UMD,雪城,普渡,USC,UCD,东北。至于斯坦福,MIT这种的安全项目,我感觉只有大神能申上就不提了。如果有遗漏请补充,我没了解那么多。
还有一些院校看到安全大热后新开的,也很多名校,但是感觉项目刚开还是有很多欠缺。至于其他有的连编程都不怎么学,甚至很商科的安全项目,就看个人发展意向吧。在地里看到过有的人上的安全项目连编程都没怎么学过然后说毕业了根本找不到工作,我觉得那是项目的问题,比如我们项目是cs department下的,那肯定就不是一类项目了。
另外我认识很多读cs专业的,然后走安全方向的。不过这些人还是美本cs的比较多。
关于就读安全项目,如何平衡课业和找工作的问题,我个人是认为如果选择安全方向同时项目的课程质量不错的,应该多花时间在课业上。我了解找sde很多人说就刷题就好,课能水就水。但是安全和sde的面试差别很大,看重积累。我个人是上了四个学期,12门课加一个毕设。我本科没接触过安全,就想把安全各领域都有个基本的了解,再对自己感兴趣的方向自己多加练习。

15. 信息安全签证有大问题?

我本身是就读了一个信息安全的硕士项目,我热衷于统计我们项目和其他安全项目的签证真实数据。我这一届19年入学的话,有超过三分之一的中国人水过,有五年签,有本科信安的,我自己的话也是水过,本科类似计算机工程。三个人被长check推迟了一学期入学,占中国人的十五分之一。剩下的都被短check,占大部分。别的安全项目,目前没听过因为签证入不了学的。下一届21年入学的话(20年因为疫情没有从国内来的),我没有细致统计,但我看情况都很好。有信安本科拿了五年的,有信安本科加七子旧签入境的。
有一个规律涵盖我自己的项目同学和我认识的其他安全项目的同学和网上看到的其他本科安全或者来读安全项目的同学,就是很多人签证之前,过度担心签证问题,然后签了之后感慨好简单。有个例子,我记得之前在地里看到一个人说本科是安全的,他也来读安全的硕士项目,他本科同专业的同学签之前全都担心来不了美国了,最后全过。
信息安全专业首先肯定是敏感的,但是我完全没看出来和cs,ee比多敏感了多少,你只要选了计算机这个方向了,都会比文商科明显敏感。而且cs涉及的人工智能,大数据,ee的各种电子相关的,不也是被列为非常敏感的吗?有的人就思维里总觉得信息安全是什么黑客,间谍,根本就不是念信息安全的,也完全不知道信息安全是什么,就用肯定的语气发表自己的猜测。
总结的话就是敏感肯定敏感,但没有那么敏感,如果说信息安全基本拿不到签证,或者信息安全必check的,那纯是胡扯。

16. 对信息安全工作的误解

我之前遇到过不是计算机领域的人,他们以为我信息安全专业毕业是做网络警察的,还有人找我黑qq,黑什么社交媒体的。我也都理解,毕竟他们不是搞计算机的。我觉得有个标准就是看公司会不会花很多钱雇你做这件事,比如公司会花钱雇你黑某个人的qq或者fb吗,那显然不可能啊。还有很多人总是联想到间谍那种的黑客,只能说无语。。

17. 做信息安全兴趣的重要性

进入信息安全行业的第一步是确定我们对该领域的兴趣。第一个原因是信息安全的含义非常广泛,有很多分支,包括web安全、网络安全、云安全、系统安全、安全软件开发、相关安全服务等。对于不同的分支,我们需要学习和掌握不同的关键技能和知识,因此我们必须首先明确我们的兴趣和学习方向。我们可以咨询学长学姐、教授或行业前辈,也可以结合当前整个行业的发展趋势和我们的兴趣爱好做出全面的选择。另一个原因是信息安全是一个非常难的领域。我们需要对它的热情来继续学习。这个世界上的一些人可能会选择他们一生都不喜欢的工作。但是如果你对信息安全不感兴趣,你就无法真正掌握相关的技能和知识。

18. 安全,内卷吗?

现在Sde的内卷现象很严重,有很多人提及diversity招聘,忿忿不平,我个人看法,大家都过了60的及格线,可能你做到了90分,别人做到75分,那也不是就招你90分的,招个75分的再满足个diversity指标美滋滋。而且人指不定就看上了75分的什么soft skill很好,有潜力之类的。来美国做sde的一年比一年多,很多面试又不考计算机基础,就考刷题,那么多别的专业的都一起来竞争,一万个人抢一个位置,你要是做HM,你选谁,怎么选。
还有很多人说sde是青春饭,也有很多人说这个事因人而异。我个人理解的是,你要是保证到35、45了,我现在还能和现在一样肝,那就没问题,不然可能就被新人淘汰。
而对于安全岗位,是经验积累类的工作,所以内卷真的不严重。而且现在还在快速发展的过程中。关于技术的更新速度,安全技术的更新很快,但我觉得比不上开发的更新速度,安全很多东西还是共通的原理。
有的人说安全岗位比sde少很多,我觉得那是肯定的,少非常多。但是搞安全的人又有多少呢?我觉得是要看岗位需求数量和对应人才数量的比例,我个人认为这个比例对于安全行业来说是很大的。但还是那句话,得先学明白安全,跨过了门槛才行。

19. 美国找工作的其他经验分享

首先是如何对目标岗位大量投递。我的做法是,工作日刚吃完午饭,人还有点迷糊想睡觉的时候,上领英搜职位,关键词,也不费脑。我有和在美国做hr的朋友聊过,她说早上九点投递不错,是hr刚上班开始一个个处理邮件的时候,另外周末投递的效果不佳。所以我就综合西部和东部的时间选择在工作日东部中午的时候进行投递。在开始这个习惯之前,我需要先确认之前发布的不错的相关岗位我都投递了,所以我专门花了两整天时间把领英之前发布的岗位都浏览了,然后再每天查阅新发布的,做到不遗漏。另外我建议领英会员真的可以考虑下,我觉得会员的这些钱对于找到工作的工资真的啥也不算,功能也挺不错的。还有就是每天中午刷领英前可以先刷一遍一亩三分地里的美国内推版块,资源很多
有疑问多问问,多了解。比如有的公司的staff title是初级岗,就和很多公司的制度不一样,如果不了解的话就会错过机会。我遇到过这样的公司有三四个,其中一个我也不清楚staff是不是初级,我就在领英上问了他们公司的人,确认了是初级。
重要的不是学校,也不仅仅是个人,重要的是小团体。我看到很多人说学校有多强都没用,都看个人,我赞同。但我有个观点是小团体更重要。据我的观察,同一个小团体的人,一起积极找工作,一起找岗位,互相模拟面试,一起刷题,互相监督,信息共享。最后的结果都会很好。

20. 对于工作的其他个人理解

我们家从小的教育是生活质量要放在第一位,但在论坛上我看到了很多人表达了自己平时工作中太痛苦了,甚至是从一开始就知道自己没兴趣的那种。我觉得这是一种舍弃现在的生活质量去谋求一个不确定的未来的计划。如果从现在这个正是黄金年龄的时间段,每天做自己不喜欢做的事,自己的生活质量一直都是在亏损的,这也得算进去。工资得到了,年轻时的快乐没了。我假设算你实现财富自由快一点的,40岁之前?那得至少经受15年的年轻时的不快乐吧。我个人看法,工作的时间是占我们整个的生活时间很大比例的,对工作的满意程度真的非常重要。
我知道计算机行业的工作工资很高,尤其是职业初期。如果真的有特殊情况,着急赚钱就生活质量往后放吧,如果真不是那么急得赚钱,真的没必要,别老和别人比就能把事情解决很多了。
拥有比钱还要重要很多的东西,更让人羡慕吧。
开拓一条路很难,经常有人说之前的sde进很多好公司多么多么简单,但我想说当初没有明确的练习模式,没有前人走出来的职业发展路线并且指导我们,会难非常多。
另外我觉得有的人太急了,申请的时候担心保底的都没有,上学了担心实习面试,毕业前担心全职,工作后担心工作稳定性和钱够不够多。我对这个感触很深,因为能看到学弟学妹会有很多不必要的担忧,但我同时又非常理解,因为我当年也有类似的情况。但是我觉得成熟就是遇到新的压力的时候更稳吧,接手新的没做过的任务更稳,遇到突发情况更稳,说话做事脑子转的更多看的更广更远,对自己的规划更明确。

21. 其他

http://www.qingshanzhang.com/2021/08/20/jin-ru-an-quan-xing-ye/ 对于上面有的点,这篇文章也有些补充。实在是没时间把他们再整合了。
https://mp.weixin.qq.com/s/WUVIdr42MZnlCDkYbCWhmA 一个有趣的文章,对美剧硅谷里所有的信息安全元素做的总结。

帖子最后,我再总结一下我认为的适合信息安全的人群:
本身喜欢信息安全的,本身计算机基础很不错的,职业发展初期不着急的,希望能在新赛道有所收获的,喜欢推理分析类思考的。

最最后是写文章的愿景:
第一点, 希望真正对信息安全有兴趣,想走这条路的战友们,能够坚持下去,希望可以给你们帮助。如果有需要可以一起交流(联系方式你们肯定能自己找着),把我当成为你服务的就行,别把我当成欠你的就行。
第二点, 帮助大家去除那些垃圾信息来源,什么美国安全工作必须有身份,安全签证必check,安全工资能行吗?强调安全工作的真正难点,太难了bar高经验要求高,并且给出我自己目前的方案和建议。
第三点, 另外希望能成立一个团结大家的组织,我这两年来看到很多人都是东一头西一头地问信息安全相关,很多新人都渴望一个指导,一个对行业的分析,面经的大量分享。这样我们可以更好地(新)互(赛)帮(道)互(淘)助(宝)。
加油,都不是问题。

下一轮更新:

总结安全岗位的目标公司,为求有效全面,还需要和很多已经在美从事安全的人多讨论。


Author: 张庆山
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint polocy. If reproduced, please indicate source 张庆山 !
评论
  TOC