为什么我要分享自己的经验?
2018 年的最后一个月,我坐在从深圳 TSRC 峰会飞回杭州的航班上。
旁边哥们的呼噜声、后排阿姨从登机起就没停过的闲聊、引擎的轰鸣和颠簸,让我有点头痛。但奇怪的是,思路反而格外清晰。
我想了想这些年的工作、梦想、不足和未来,认定分享这件事是对的——一件能对安全行业有点微薄贡献的好事。
把时间拉回 2014 年,安全还只是我的业余爱好。
那时除了几家大互联网公司和传统安全厂商,几乎没有公司设安全岗位。我以高级研发工程师的身份入职蘑菇街,白天写 APP 后端,业余守着心里那点黑客梦——研究漏洞、写自动化扫描工具。那一年乌云大热,我靠自研的工具在排行榜上十天前进了十页。
那时乌云上多数人的目的很纯粹:帮企业发现漏洞、不让它被恶意利用。现在听起来有点虚头巴脑,但很多人一直在践行。
不到一年,公司开始涉足金融业务,安全从可选项变成必选项,我也顺势转做了第一个正式的安全岗。后面那些从数字证书、堡垒机到漏洞平台、代码审计、主机防御的故事,我在《我的网络安全之路》里写过,这里不再展开。
真正想说的,是我为什么要把这些经验分享出来。
那些年的安全,连一条清晰的学习路径都找不到,一切只能自己摸索。
当时真希望有个地方,能和经历过同样问题的人聊一聊。我很羡慕现在——可以轻松地和阿里的同学聊线下打击黑产、和百度的同学聊机器学习在安全产品里的应用、和腾讯的同学聊安全运营实践。回头看,正是那些独自趟过的坑,让我在面对新的未知问题时更加得心应手。所以我特别希望把这些总结出来,给后来的人乘凉。
还有一个原因,是很早接触安全,让我看到太多太多暴露在外的问题。也许是从小受身边人影响,心里有一份愿意帮人的善意——看到一个能被轻易利用的漏洞,就像看到别人家的门没关好,特别想去提醒一声,甚至帮他把门关上。
做白帽子的时候,我写自动化扫描工具帮各家发现漏洞,避免被恶意利用。
但慢慢我发现,这不是一条可持续的路。没关好门的人家太多了,根本发现不过来。与其不停地替别人发现问题,不如帮他们提升能力——告诉大家怎么关好门、怎么防小偷。
于是我开始把内部的安全能力通过开源对外输出。
我们开源了 Cobra,让没有白盒能力的企业也能发现代码里最显著的问题、对新漏洞做应急排查。我们也发现各家企业在 GitHub 上的敏感信息泄漏很严重,便主动监测并报告给对方——有的能及时发现并删除,也有报告后又反复出现的。我想用开源的 GSIL 帮他们提升发现能力,但很快意识到远远不够:它也许能提升整个行业对这类漏洞的认知,可这只是几百个漏洞里的一个。

我也尝试把每一个细节研究透彻,写成详尽的文章发出来,从获取信息、关联信息,到做出行动和改变,持续优化。我发现,以"教别人"为目的的总结,是自己最好的学习方式——它逼我站在受众的角度,把内容理解得更深、更全面。
我也开始频繁参加安全会议,在 QCon、KCon、EISS 和各种沙龙上分享,希望让更多人少走弯路。
但和很多公司的安全负责人聊过之后,我发现一个明显的问题:安全管理者的背景,会直接决定企业安全建设的偏向。白帽子出身的偏重攻防,审计出身的偏重合规内审,研发出身的偏爱自研;大企业追新技术,传统企业爱买商业产品。结果是,企业的安全建设往往不全面、也不是最优解。我希望把蘑菇街从零到一、再到蚂蚁金服从一到十的建设经验总结出来,给有需要的企业提供一些参考。
但开源产品、漏洞文章、会议分享,这些受众都还远远不够:要么不足以完整表达我的想法,要么没法把想法更快地传给更多人。
2016 年,出版社找到我,希望我写一本安全方向的书。
基于当时的想法,我选了和道哥同一个系列的《白帽子讲漏洞修复和防御》,想把每一个漏洞的成因、原理、利用方式、危害和修复方案都讲清楚。可写了几章就发现特别难受:漏洞类型太多,"讲鱼"的意义让我太累,而单从白帽子视角讲修复又太偏颇——那时的我对企业安全建设还没有全局认识,撑不起这个视角。
但现在,我觉得时机到了。我想以《企业信息安全建设最佳实践》为目标,把自己和团队所有的项目经验、踩过的坑、重难点技术都分享出来,把我对这个行业的贡献最大化。
考虑到内容的时效性和成本,我打算先在本站持续创作,积累到一定程度再出版成书。