目录

我在小米焦虑的思考未来

目录

2023年8月17日,我坐在南京小米公司,看着报警日志,看是什么问题告警,cv到表格中,简单又无脑(带我的博哥说,大部分没问题,因为都上线了)。 我们部门是应用生态部的研发平台,游戏媒体组。说白了就是小米游戏商城的所有业务。听起来挺牛逼是吧。其实就是业务,是个人稍微花点力气都能搞明白代码,只不过业务巨多消耗体力罢了。我们组统一晚上9点下班,对我来说白天基本没什么事情,即使有活也是简单的新增一个小功能。对我来说来到小米唯一不错的就是培训这块,有好多高层分享心得,这倒是给我开了眼界,积累了很多方法和自己的思考。 我是搞安全的,为什么来这里呢?两个原因:第一个我比较菜,我总觉得到一个开发的平台能提升我的开发能力,同时私底下稍微搞搞安全研究。来了之后才知道,第一个时间没有了,第二个能力永远只能自己提升,外界都是辅助甚至没有任何用处,你不可能通过工作提升什么能力的。这个部门的开发和安全根本不沾边,因为安全是写工具的,或者安全平台,和业务根本没关系。第二个,秋招招聘开发岗位非常困难,尤其是23届的,大量裁员,坑位不多了,勉强去了小米,也是自己挺幸运的了,不然都有可能找不到工作。其实我降级前22届招了绿盟的安全研究,还有360的安全研究。绿盟的研究是真的java安全岗位研究,而360的就是打杂的,基本就是审核外面提交的环境和poc,自己菜没得办法,360核心安全是需要人有足够强的能力的。 说来惭愧,我19年开始接触安全,跟我同期的人现在都是大佬了,是谁我就不说了,反正一大堆。不排除他们可能高中时期或者更早就接触了,而19年才真正开始认真,而我只是19年末才从0开始,当时是大二的寒假将近大三。但是,他们真的非常优秀,有时候看着他们做很厉害的东西,心理还是很焦虑,虽然我们同期开始的,但是我要向他们学习。 我从几个方面反思自己的不足吧,我目前打算在小米干一年开发之后辞职,准备24年考研,我已经具备一些认知,并且安全方面已经上路了,我现在需要时间来沉淀,这辈子就跟网络安全死磕到底了,不创出点名堂来誓不罢休。 # 不足 ## 缺少实践 当时我这个人真是呆头呆脑的,最开始在csdn写博客,我更偏向于概念,比如xss,sql注入啥的,刚开始学的时候确实兴奋,理解了很多新奇的概念,但是你让我上手去挖漏洞,根本找不到。这件事非常打击自信心,以至于这之后我几次尝试挖漏洞,都失败告终,每次几乎要放弃然后还是死磕然后继续放弃。我当时真的很蠢。现在有更好的办法,去翻github上某个项目的历史漏洞,然后按照版本复现,再添加自己的思考。现在想起来,如果当时有个人给我指一下该多好。 缺少实践也体现在写代码上,永远不要用看代码提升自己写代码的能力。一定要不断不断地重复造轮子,不懂的先copy下来,先做个mvp(最小可交付),把最核心的功能先实现了,弄个小工具。然后需要扩展再加功能,再添加设计模式重构等。这是一个很重要的思考方式。 ## 缺少交流 我大学期间几乎和外界没有交流,一个人即使再聪明,当他拒绝获取信息的时候,也会变成一个完全的呆子。信息可能你去百度一下就能搜到,但是这些信息绝对是三四手的垃圾信息,过时信息。有些时候你的问题根本无法搜到,你又不肯跟前辈交流,或者在群里交流,你只能要么放弃,要么痛苦死磕然后迎来一个更加痛苦的放弃,或者极限死磕到柳暗花明。 缺少交流可能导致一些其他问题,其实最快的方式就是 ## 缺少(元)认知 什么是认知,什么是元认知? 简单来说,哺乳动物可以思考,而只有人能对自己思考的过程进行再思考。 我写这篇文章的本身就是元认知的体现。 挪到网络安全上来说,就是你要挖漏洞,要时刻保持思考状态,同时对自己的成果以及一段时间做的事情进行反思,时刻校准研究路径和方向,定位一个目标,确保研究没有跑偏。 判断当前形势,比如你当下在做的事情到底有没有意义,在全局范围内所占的比重。就好比灵光一现,突然从更高的维度看待自己的行为。 上面是元认知的描述,关于认知,其实就是读了多少书,你要承认,ceo的思考方式和底层员工是完全不同的,一个安全大佬和小白的思考方式也是迥然不同的,抛开安全能力,就仅仅是思考、行为、学习、做事、研究方式,就足以证明一个人的认知。认知怎么获取?读书。
也不能说自己看了很多书吧,至少在我能力范围内,23年上半年看了600小时左右。 ## 缺少积累 挖不到漏洞,本质上是知道的太少了,你别想着自己原创某个漏洞,一直在那块思考。实际上任何领域,你所产生的点子99%都有人解决过。你要做的是找到这个点子的解决方案,拿过来直接用。放到安全里就是,你可以了解一下cwe,对于每种漏洞触发场景都有一个cwe编号,漏洞原因都用代码写的清清楚楚,学一个用一个。另一种思路就是不断地学习,以项目为单位,什么是项目?一个博客系统是一个项目,springboot也是一个项目,要学就学一整个项目其中的漏洞问题,写出来发文章。 其实自己之前缺少积累,完全是因为受到阻力,完全失去兴趣了,一想到安全就头大,完全搁置。现在捡起来一定要以正确的路径,高效的积累。 ## 缺少输出 为什么要发文章?因为第一个是记录,不然学过没有记录以后再需要的时候全忘了,你学的任何东西后面一定会用到,到时候没地方找了。另一个是写文章能让自己更细致,更追问一层某个逻辑的原因。第三个是促进思考,提高内容在头脑中的留存率。 不要看其他人写过文章了,你就以为不需要再写一遍了。你写的是你的,他写的是他的。自己写是梳理自己的思考过程。还有,就是很早以前的东西,不要以为就不需要学了,在安全领域,知识是贯通的,至少在3-5年之内的漏洞,都有学习的价值。学任何一个东西或者任何一个个深入思考都得输出成一篇文章,或者代码。不然就不要学,不要思考。 ## 缺少慢下来的能力 不要图快,就是你以为你完成了,然后着急去进行下一个研究。每个研究完成都要有一个标志性的节点,比如输出一篇文章,或者写一个小工具,称之为小工具就是说并不是功能完善的,不要想着立马写一个可以武器化的工具。先写一个最主要的功能,并且能够使用。或者挖到cve为节点。 当你打算进行下一个任务之前先问问自己,之前的任务如果放在未来还会返工吗?还有哪些可挖掘的部分你忽略了。 ## 缺少自信 自信心是建立在小成功之上的,小成功怎么来?首先你不能越过能力范围,直接挑战最难的,你可以硬啃,但是一定很累。做任何事情都有路径,你一定可以找到一个平缓上升的路径,任何难到让你想要放弃的事情,一定是你越级了。用元认知思考一下,有没有更顺畅的路径帮自己成长。 你一定要相信自己,你的智商是足够的,虽然你的大学不理想,但是大学不理想但是牛逼的人比比皆是。你缺少的是方法论,是认知,是读书积累努力。 ## 缺少学习路径 大部分人是凭兴趣,然后野蛮成长。等自己长成大佬了,回过头梳理一遍,发现,原来自己的成长路径是这样的。反过来可不可以,目标清晰一些,首先确定自己就要发展成什么样的人,然后逐步拆解自己要做什么。 目标非常重要,对我来说,自己要成为什么样的人,研究生期间要做什么,自己要读什么方向的研究生,都要思考。最简单的方式就是直接找一些大佬的简历,博客等逐一分析,找出规律。然后选方向要结合时代发展的趋势,一些国家政策等等。之后会出文章分析。 ## 缺少理解力 假如读一篇文章,我会一个字一个字的看,看完了也不知道在说什么。理解力的建立是通过阅读,大量的阅读。这个关乎一个人的能力,非常重要。不能死读书,不能少读书。 理解力的提升也可以通过多与人交流。曾记得在哪里读到的文章读书和交流在大脑活跃的区域是相同的。 理解力可以帮助你快速抓住一件事的本质,提高做事效率。 ## 缺少较真(死磕) 搞安全就是这样,你挖漏洞别人也挖,同一个组件他研究的透彻,他分析的细致,他就能挖到,你挖不到。而且,你如果想在前人的基础上继续找漏洞,你就必须得比他们都更细致。你可以观察,大佬基本上都是极其细致的,任何一个小的东西都不放过。分析代码也是,一个函数里面,每个小地方都是什么意思,写文章的时候都标注的清清楚楚的。认真细致是必备技能。 决定下个步骤之前先停一下,问问自己哪块还能再多研究一下。 # 提升方式 克服以上问题