每次总喜欢在个人资料里这样填写来介绍自己:Fooying,Security Researcher And Developer,安全研究人员与开发者,包含我的微博、知乎、微信等等,即使是在公司企业邮箱的签名里,我写的也不是自己的公司职位,也同样是这个。
为什么会钟情于或者说纠结于这样一个介绍呢?因为一直以来,我对自己的定位就是安全研究人员与安全开发人员,对于我来说,除了安全研究这个标签是必须外,安全开发也是我的一个必须标签。我一直认为,作为一个安全人员,如果不会开发,会是短板,安全研究能力最终会到头;好的安全研究人员,应该是除了安全研究能力外,必须掌握一门编程语言,如果更好的情况下,能熟悉多门的编程语言就更好了。我觉得这其实很容易理解,就比如学 Web 安全,你想学 XSS,可能不用会编写 JS,你可能觉得也会 XSS,但你会发现,你没法深入,没法深入到最根本的原理!
其实,除了研发本身也有帮助于安全研究外,对于我来说,研发的另外一方面的意义在于实现安全自动化。可能有些人会觉得没有必要,现在网上那么多好用的工具,你自己开发干嘛?但我想问,你认为那些工具是哪里来的呢?而且,对于大部分搞安全的同学来说,拥有一款自己编写的工具是一件多么有成就感的事!
从08年开始接触安全,我发现,这么多年下来,除了安全研究外,自己对于安全自动化一直是有一个情结在。前几年,有各种安全论坛、网站,当然也有各种安全小组,那时候应该说是基本圈内人,随便一问都有自己的什么小组,各种QQ群、论坛在技术交流、分享的氛围真心不错;然而,即使在那会我觉得氛围不错的时候,大部分的安全小组也是专注于安全攻防、渗透,少有专注于安全自动化的小组。我记得我当时就尝试过组安全自动化小组,当时还成立了一个"赤魂"的小组和论坛(http://rsoul.org),就希望是一个专注于安全自动化的小组,包括说早期在 http://honker.net(不是原来的红盟) 当管理与核心的时候,即使身为核心和管理,我还是坚持搞了一个软件小组,自己也开发了一些"红盟"系列工具;包括前两年,自己也希望能组一个专注于安全自动化的叫做"神兵"的小组(神兵(ShenBing) · GitHub),不过最终夭折的夭折,解散的解散,也没有什么重要的产出,这个情结也一直持续至今!
12年进入知道创宇,除了安全研究,我曾经很长时间工作是研发为多,包括开发恶意网站检测引擎、开发漏扫、搭建维护相关检测集群等。从15年中旬开始负责 Seebug 及漏洞社区相关事务开始,我觉得我自己做了两件我自己认为充满骄傲和欣慰的事,一件是重构及开源 Pocsuite,一件是负责和正在推进的『兵器谱』。
Pocsuite 就不多说了,我不知道多少人真正的去用过它,反正在我看来,虽然就目前来说,Pocsuite 发布到2.0.2版本,有些地方不尽人意,包括一些代码质量等,但是它真的挺好用的,假如你没用过,你就没有资格去评价它!至于兵器谱,这是参考 BlackHat 的 Arsenal 环节,然后进行本土化,我们的出发目的是希望给黑客和安全研究者提供展示自己成果的机会,因为我相信,KCon 在国内的安全圈应该是具有一定的影响力,另外,国内的安全工具不比国外差,甚至是更好!
说实在的,国内的环境挺奇葩的,任何东西,不管好坏,只要是同行业其他人做的,就会有一大堆人抵制使用或者去喷的,而从来不会从东西本身的实用、功能去考虑。上周让朋友在某云的 Zone 的安全工具栏目发了兵器谱招募的帖子,结果看到的回复是清一色的带有其他意思的回复,认为说是为了抄袭、为了其他等等。当时看了那些回复之后心里感触挺多的,也写了一长段话进行了回复,没有那种不爽的心情,而是在心平气和的情况下回复了,那是一种有点感伤,感觉不知道自己追求为什么,突然有点失望的感觉!
国内环境还有一个奇葩的点就是,国外的永远是好的。在各大安全论坛、安全门户网站上,你会发现,一些比较烂的不一定如描述那么好的国外工具被各种推荐(当然很多确实好用),然后除非是作者主动去发文章,否则你很少会看到这些网站去推荐国产的这些安全工具的。其实,国内很多人开发的很多安全工具,真心不错!
好的安全工具是否应该藏着?不!
一直以来,创宇在我看来有一个挺好的地方,那就是足够开放,它是一个商业公司,也许确实很多涉及商业利益的东西会藏着掖着(因为整个行业都这样),但是,也有很多时候,它会选择开放,就我看到的国内这么多乙方安全公司来说,我觉得在开放方面,创宇真心是做的不错,而且走在前头的(其实在国内这样一个环境里,对于一个商业公司,这是完全没必要的。估计好多人要说,你们是有目的的),这也是我因为公司而骄傲的一个地方!(最近我们团队又开放了一个http://ceye.io)
之前去 Blackhat Asia 参加 Arsenal,给我最大的感触是,在国外,人家在介绍相关东西的时候,是就怕你不理解,巴不得把最根本的原理告诉你,而在国内,基本是藏着掖着。在国内,往往发展的好的安全工具一般是商业工具或者有公司性质在里面的,不然就很难发展;基本在国内就没法搞开源,因为也形不成开发社区,一开源基本就等着被竞争对手直接拷贝去用,回头又是扯皮,所以开源也是件很大勇气的事!有时候我也推荐不开源,而是采用自由软件的形式进行开放,在不开源的前提下把东西放出去给大家用!开源是一种开放模式,而自由软件,也是一种开放模式,如果你觉得开源不放心的情况下,可以采用这种模式!
因为自己一直纠结于安全自动化,所以也认识了一些志同道合的人。其实在国内,包括说蚁逅开发的"蚁剑"以及之前的"ant",在我看来都是不错的工具;还有K8,开发的一系列安全工具;还有 wolf,开发的一些专注于一些小点的工具,在我看来都是不错的...不止是他们,其实国内有很多人在进行安全自动化的工作,然后他们也愿意把自己做的东西开放出来,大部分是开源的,其他即使没有开源,也会是一款免费的自由软件!对于他们来说,他们不求什么,只是把自己的想法付诸实践,然后给更多的人分享自己的成果,仅此而已!他们在做的只有一件事,实现想法,开放成果!
我真的很希望"兵器谱"会是一个契机(提到兵器谱估计又有一大堆人说是广告,要开始开喷了),希望能借此多多少少的推动国内安全自动化的发展,推动更多安全工具的开放!开源在中国这个特殊的环境有点困难,但我们可以选择不开源的前提下开放,希望能有更多的安全团队、个人加入到这个行列!
我不知道做这一些是否有啥用处?是否是白用功?我仅仅希望尽自己一份力!好的安全工具不应该藏着,如果你有顾虑,就不要开源,但是欢迎更多的安全工具开放出来!
题图来自 KCon 兵器谱海报,一个侠客持神兵立于此!另外,个人也喜欢中国风。