媒体报道

​一位网战老兵的黑客二十年

字号+作者: 来源:虎嗅网 用微信扫描二维码分享至好友和朋友圈 2018-10-11 15:41 我要评论() 收藏成功收藏本文

本文转自微信公众号:浅黑科技(ID:qianheikeji),口述:姜海,文:史中。莎士比亚说,凡是过往,皆为序章。如此说来,生活真是把我的序章写得不慌不忙。我叫姜海,是一名网'...

一位网战老兵的黑客二十年

本文转自微信公众号:浅黑科技(ID:qianheikeji),口述:姜海,文:史中。

莎士比亚说,凡是过往,皆为序章。如此说来,生活真是把我的序章写得不慌不忙。我叫姜海,是一名网络安全老兵。过去的二十年,我镇守着赛博世界的边疆,在那里也有凛冽的风雪。

我大概想当一个侠客。

90年代初,我们陕西发生了几起大案。

我在电视上接连看到了几个案件改编的连续剧,不可救药地爱上了那种潜伏数载,一招制敌的感觉。十几岁的我,觉得世界上最酷的职业就是警察。

我一心一意,就想报考警官大学。

但命运却总会带来惊喜。高考过后,就在等待警官大学通知书的时候,我却收到了国防科大的录取通知书。

拿到通知书,我还着实愣了几秒,回忆了一下前因后果。

就在几个星期以前,我还不知道国防科大是个啥。填高考志愿的时候,一直对我很好的数学老师专门把我叫过去,拉着我说,你数学这么好,又想惩恶扬善,当兵也是不错的啊!于是就这么迷迷糊糊地,他鼓励我在军校提前批志愿里填上了“国防科大”。

国防科大,被称为“军中清华”。得到这个消息,我爸比我激动多了,拿着通知书到处炫耀,就好像是他考上了一样。

回想起来,这大概就是我童年的全部。

入学的第二天,我才真的意识到我已经成为了一名军人。

1995年,长沙的天气和今天一样闷热。夜里辗转无眠,早上六点还要按时出操,列队吃早饭。吃饭前要唱军歌,一切作息都要按规矩来。

军队的规则像是一个坚硬的堡垒,一方面约束了我的生活;一方面替我阻挡了无数繁杂的信息。

从那一年开始,我拥有了用来思考的漫长日子。但直到二十多年以后,我才真正明白这种思考有多珍贵。

我的专业是数学。数学系有两门计算机课。

在机房里,我第一次见到了列队整齐的计算机。它们的显示器漆黑,边角泛起金属的光泽,看上去像极了某种秘密武器。

第一节计算机课,我趴在电脑上,以为可以研究个天昏地暗。谁知道没过多久,机房老大爷悄无声息地飘到我身旁,人肉铁砂掌拍到肩膀上说:小伙子,机时到了。

我吓得猛回头:纳尼?啥叫鸡食?

被老大爷扔出机房的一瞬间,我意识到:今后可得和他搞好关系。

因为我爱上了计算机。

为此,我到处结交哥们儿。觉得关系足够好了,就提出那个早已准备好的非分要求:能不能把上机票给我两张?

于是在同学每星期只有四小时上机时间的时候,我用额外的上机票把自己的上机时间维持到了十个小时。

即使是这样,时间还是显得不够。

我有一张软盘,里面是我编写的程序。每次在机房时间到了之后,就把程序代码打印在纸上,回宿舍用笔接着修改,等到下一次上机的时候把用笔修改的地方逐一输入电脑继续调试。

为了每次上机都能用到那台好用的机器,我开始“情感贿赂”机房大爷。

效果是这样的:每天我准时出现在机房,大爷都默契地为我留好那台电脑。我甚至开始研究驻留在系统中的“特别技巧”,让自己编的程序代码直接存在机器的硬盘上,不用每次都靠软盘缓慢地倒来倒去。

原谅我回忆这么老土的往事。九十年代的“军中黑客”,大概就是这个样子。

有关计算机,我有一个永远忘不掉的画面。

那是1996年的一个夜晚。我到一位关系不错的教员家里做客。一回头,看到了他桌子上赫然端坐着一台电脑,显示器亮着,上面一张巨幅的美女照片,还是彩色的!

就像是用了一辈子小米步枪的人,突然看到了二营长的意大利炮。

说出来你们都不信。这玩意儿叫Windows 95,比你们现在用的Windows 10 还多85!而那幅彩色的美女照片被称作“桌面”!

大概就是这样的感觉

那一瞬间,我觉得就算砸锅卖铁也必须有一台属于自己的电脑。而为了迎接这一天,我泡在图书馆自学了一个学期计算机知识。

大三刚放暑假,我就和同学一人带着5000块钱,坐着火车来到了北京中关村。

那时还没有海龙大厦,穿过一排排卖盗版光盘的平房,我俩把钱拢在一起,合作攒了人生中第一台计算机。

攒好之后,我们好好端详了五分钟,便忍痛把它拆散,一人一半零件收好。我们背着各自的零件先回家过暑假,开学以后再到学校拼起来。

那就像一块和氏璧。

九十年代的中关村

无独有偶,另外的宿舍也有几个同学买了电脑。我们跟队长(相当于普通大学的辅导员)软磨硬泡,他终于同意在宿舍楼的五楼把一个废弃的仓库改成我们的机房。条件是:不能出声,不能发光。

于是我们用棉被把窗户和门缝都蒙起来,夜里巡查的教官也看不到宿舍透出的灯光。除了,有点热......但那时候计算机的发热量远没有现在高。只要机器能扛得住,人就扛得住。

于是每天夜里,“仓库机房”里都是一番这样的场景:几台机器背后,分别是一个人操作,两个人观摩的“标配”。那时候年轻,睡不睡觉都无所谓。研究一通宵,直接六点半出操是家常便饭。

到后来,我们的“国防科大计算机兴趣小组”已经牛到什么程度了呢?

我们发明了一个娱乐项目:每个人做一个“病毒”,放到计算机里对攻,看谁活到最后。

现在想想,只有一人生还,这不就是“吃鸡”的翻版吗......

转眼就要毕业了。

按照当时的情况,百分之九十的同学都会被分配到连队里带兵,这也很可能是我的去路。

服从命令是军人的天职,我已经做好准备,放弃计算机这个难舍难分的朋友了。

然而,命运在这个时候又为我安排了一位贵人。

大学的时候,大家都知道我的计算机水平不错,我也会经常去帮老师修电脑。在分配工作的时候,老师想到了我,跟部队上的领导建议:“姜海如果不做技术,就可惜了。”

我被分配到了总参三部。总参三部,在军中的地位相当于互联网厂商中的BAT,这几乎是一个学计算机的军人,能去到的最好地方。有一瞬间我甚至产生了全世界都是为我而生的虚幻感。

那是1999 年,我踏入总参三部的基地。这个国家最顶尖的计算机系统,就这样扑入我的眼帘。

我知道,很多同样优秀的同行一生都无法用到这样的计算装备。而我一个解放军战士,将要用这些国家最高的装备解决世界上顶级的问题。

我感觉到心中的热血都要冲破太阳穴奔涌出来了。

我的第一个任务就是:挑战一个世界级的算法难题。

当时的情报显示:同样的成果,美国已经在研究中了。

他们的团队包括:各个大学的专家、学者以及社会力量;而我们的队伍包括:八个人组成的攻坚小组,外加几位专家顾问。

这个任务的核心在于“算法”的改进。

我们要挑战的算法,用文字描述只有不到一页纸,但真正把它用计算机计跑完却需要几年时间......

这个时间长度是不能容忍的。于是,我们目标很明确:精华算法,优化实现,反复迭代,抠到每一条指令。

因为指令要循环无数次,所以哪怕在每一次运算抠出一微秒,都可以让整个运算节省半年时间。

面对这个任务,一个刚毕业的军校生,说不心虚也是假的。那一年多的时间,除了过年回家几天,我几乎没离开宿舍,就是在磨这一页代码。

为了这几行代码,我得把Linux 底层每一个代码的实现逻辑都熟记在心,需要把网络协议的每一个原理都搞得滚瓜烂熟。除此之外,还要把我的专业知识用到极致。到后来实在没有优化的空间,甚至两个指令的前后顺序,我都要考虑。

就这样,计算的预计时长从三年缩短到一年,缩短到半年,后来缩短到三个月,然后到一个月。

我到现在还记得,成果上报拿到嘉奖的那一天,我站在办公室窗前,暮色正浓,远处颐和园奔流来眼底,粼粼波光清晰可辨。

中国人依靠自己的努力,有能力驾驭世界上最难的算法!

而这个证明,是我参与做出来的。我的感受,只有“神圣”两个字可以形容。

利用军队的技术,我可以清晰地看到:就在世纪之交,这个星球发生了一场变革。互联网快速扩展,网络上的目标开始像爆炸一样增多。

我意识到,这个世界的战场和以前不再相同。

在我看来,军队的网络安全泾渭分明地分为两个时代:

  • 第一个时代,横跨新世纪的最初十年(2000-2010)


这时,我们主要做的是被动的“信息作战”。

在民间家庭刚刚享受互联网带来欣喜的时候,军队已经有了自己的信息化网络体系,并且认识到“任何网络都有可能被搞”这个冰冷又重要的事实。

就是在这个时候,我开始接触“网络空间安全”。

新世纪之初,我参加了最早的“入侵检测工具”研发。和后来民间应用广泛的入侵检测系统一样,它的原理就是通过分析网络流量,来判断一台主机是否被入侵。

这套工具把我自己都吓了一跳,因为它一上线,就发现了很多“超级病毒”!

什么是超级病毒呢?

举例来说:普通人生病,很大概率感染的都是流行的“广谱细菌”;

而军队则很“荣幸”,经常会遇到科学怪人专门为我们研发的“超级细菌”......

说白了,就是敌对势力专门用来搞我们的木马病毒。既然是专门搞我们,当然会有针对性地各种躲猫猫。所以,要想发现他们就特别地难。

我们必须对计算机往来流量进行特别精密的分析,并且要用到机器归类算法。当然,搞了这么多年算法,越来越多的事实告诉我,超强的计算机有可能帮助我们看到人类大脑分析不出的异常。

在后来,这套系统就慢慢升级成为了“人工智能入侵检测系统”。当然,这是后话,我们虽然用到了人工智能的技术,但“人工智能”这个词当时都并不存在。

  • 第二个时代,从2010 年至今。


我们开始主动保卫“网络空间安全”。

有了“入侵检测系统”,我们就有了基本的防御能力。有道是“先定守局再图进取”。接下来我和战友们就顺理成章地开始研究“攻防之道”了。

一个神秘组织成立(抱歉我不能说出它的名字)。我光荣地成为其中一员,开始了我的网络战斗生涯。

你可能会问,2010年,我们的岁月静好,世界人民大团结啊。战斗从何说起呢?

我看到的却恰恰相反。对于一名军人来说,和平从来都是战争的结果。而今天物理世界的和平,恰恰是网络战争的结果。我站在远离普通人的网络边疆上。在这里,战火从未停止一分一秒。

我们的对手只有一类:就是世界网络空间中的目标据点。

说到底,这是一场场各国顶尖黑客的对攻。要想成功就得保证脑洞比对手更大。也就是在那个时候,我研习了各种技术流、暴力流、猥琐流的黑客套路。每研究一种套路,都会让我对人生有种新的认识。

网络空间中的每一个目标都可能威胁我们的安全

让我印象最深刻的一件事发生在2014 年。

我所在的团队接到了重要的任务:解决一个新的世界级算法难题。

在顶尖的攻防对抗中,算法是非常重要的必杀武器。当时具体的课题我不能透露,但可以这样说:一旦成功,我们就拥有了一种碾压式的网络空间防御能力。

我想起了刚刚加入总参三部时候的那次破解。如果还是沿用那时候的思路,即使使用全球最快的计算机,目测也要三年左右才能破解。花费这么长的时间破解,很可能还没成功,算法已经升级了。

于是我们转换了一个思路,开始研究如何利用大数据和算法的优势去实现破解。

举个例子,就像一把非常坚固的锁,如果硬撬的话,简直无懈可击。但很多人在安装这把锁的时候,都不自知地露出一个小破绽。

就这样,我们顺着这个小裂缝,成功干掉了整套算法。

那些攻防案例就像眼前一座座林立的高楼,矗立在我的记忆中。每一个对手的名字都会让你惊呼,只不过,为了保守秘密,我必须把他们的名字深埋在心里。

从2010年开始,我和世界顶尖高手过招五年。这些浴血奋战,让我得到了两个重要的秘诀:

第一条秘诀:在高级网络对抗里,要想胜利,必须有成建制的“武器库”。

在做攻击的最初几年里,我们每个人都带着自己制造的工具上战场拼杀。

但是这会让进攻的结果难以预料。有的时候运气好,可以直取眉心;有的时候运气差,就会玩脱扑街。

所以,到后来我们形成了作战小组。

1)每一个小组都有不同方向的专家。有人精通Web 渗透,有人精通漏洞挖掘,有人精通密码学。

2)我们研发了以漏洞为核心的“重型武器”。每次网络战役之后,我们都会把最新的经验添加到这些武器中。

3)经过一段时间的磨合,我们根据不同的目标网络环境,研发出来有针对性的战术。

这样,在网络世界里我们再也不是散兵游勇,而是“成建制”,“装备先进武器”,“经过战术训练”的团体力量。

第二条秘诀:在高级网络对抗里,要想胜利,还必须依靠“算法”。

我深知算法的重要,因为这些年我获得的一等奖,还有很多二等奖三等奖,都是依靠对算法的改进得来的。

利用算法,可以在网络攻防当中把计算机变成战士。

漂浮在网络战场的上空,你一定可以看到这样一幅图景:解放军战士冲在前线,他们身边,布满了无数机甲战士。这些战士具备了相当高度的人工智能,他们既能听从号令,也能自由进攻。而在防线上,也不仅有解放军战士。无数机甲护盾自动运转,智能拦截着来自敌人的每一发炮弹。

黄沙漫天,激战正酣。

这是我们这个时代真实的网络战争。我们如此,那些强大的对手当然也是如此。

时间到了2015年,我从军的第二十个年头。

这一年之前,我就开始注意到一些细节的变化:之前我们熟悉的网络安全技术,逐渐在商业领域和民用领域开始出现。例如定向攻击、例如蜜罐技术,这些原本需要付出很多资源才能进行的攻防技术,越来越多地出现在商业报道和民间网络安全会议里。

有人觉得这只是一个普通现象,但我觉得事情没这么简单。我仔细思考之后,相信这代表了一个大时代的序章:网络安全的战争,已经不仅仅是军人的战争。它已经成为商业战争,甚至是全民战争。

意料之外的事情发生了:原来的一个战场,分散为很多战场。很多对手已经把进攻的矛头转向了大型企业,而我们作为军人,却没有办法直接帮助企业抵御高级进攻。这让我和周围的老兵感到一些突如其来的无力感。

这种感觉很失落,尤其对于军人来说。

有一天同事张工见到我。他说午休的时候自己做了一个梦。梦见二十年后的自己,还住在这幢楼里,做着同样的事,只是头发变白了。他猛然惊醒,满心惆怅地往办公室走。走廊里,同事看到他,热情地打招呼:“老张!”到了电梯口,另一位战友看到他,伸出手来说:“张工,您先走。”

一个英姿少年,转眼成为银发老兵,然后退休,拿着不菲的退休金。

刹那间,我觉得这不是我想要的生活。

部队规定,服役二十年之后,可以选择留在部队或者自主择业。如果我继续留在部队,十年后我也会顺理成章地退休。

我甚至能想象到那一天的画面:我,老姜,一脸沧桑,被人礼让着走进电梯,攥着退休金,回到家里提笼架鸟颐养天年,跟邻居大爷下象棋的时候吹吹当年的牛逼经历。

我确信,自己不愿意用十年生命去交换这一天。2015年底,我提交了转业申请。

没错,我创业了。

从我们的办公室看出去,这片湖水波澜不惊

19岁上大学入伍,到真正离开部队这一天,我已经快到了不惑之年。西山顶上的流云仍旧被风吹远,一如当年我站在窗前看到的那样。二十个春秋就这样奔腾而去。

不再有首长为我指派任务。从这一刻起,我要为自己负责。

要说创业,我手里最宝贵的东西,就是在部队二十年总结的两条秘诀:“武器库”和“智能算法”。

然而,我举目四望,却只有我一个光杆司令......我决定把部队里一起战斗了多年的小组同事,一个一个邀请到家里“喝茶”。

我告诉他们,我要做一件大事:用人工智能的算法,降低网络安全的成本。让普通企业也能买得起军工级别的安全防御技术。换句话说,我要做一整套“基于人工智能的安全系统”。

就这样,我拉来了第一个战友。然后有了第二个、第三个。到了2017年初,在我的创业公司——丁牛科技的办公室里,齐装满员地站好了部队中的五位原班人马。

我的这些合伙人,各自精通人工智能、密码学、Web 攻击、漏洞挖掘,俨然就是一个小型的集团军。

创业艰辛,我没能给战友们哪怕一分钱的保障。让我感动的是,他们也没有向我要什么,只是凭着对老战友的信任,对这个技术构想的憧憬,就放弃了安逸的生活,和我一起投入这场生死未卜的战役。

我们决定从“人工智能攻击检测系统”开始研发。这是一个庞大的工程,市场上并没有完全类似的产品。整个2017年,我们除了为客户做一些安全服务养活自己,剩下的时间都在做技术论证。

我们的做法是:把这个世界上所有的主流攻击方式,都抽取成为“攻击模式”。再把这些模式输入计算机,让系统一点点学习,最终掌握“自动攻击”的能力。有了自动攻击的能力,就可以用它准确探测企业那些网络环境和应用里存在安全漏洞,从而帮他们修补自己的系统。

说来简单,怎么把模式“抽取”出来,可是要命的难题。比如具体要用什么样的机器学习模型,什么样的参数,什么样的向量来训练面前的人工智能黑客,这其中有无数种技术路线。

最开始,我们想把各种黑客进攻方式直接一股脑交给人工智能去学,但这个实验版本做出来,精度非常差。

后来,我们意识到,一个完善的“攻击知识图谱”是必不可少的。

知识图谱可以帮助计算机像人类一样认识世界

神马是知识图谱呢?

举个例子吧。这有点像教一个小孩儿学数学:如果你只是把从小学课本到高等数学的课本,交给小孩子自己去看,那么很可能无论用多长时间,他都没办法成为数学大师。

如果你按照科学的方法把知识分级分类,一层一层地让他训练,那么他就会越来越进步。

确定了知识图谱的技术路线之后,我们就一直不断优化这个“攻击知识图谱”,从单点学习到动作序列学习。我们用了一年的时间,人肉模拟总结了上千条的“攻击链”,一点点教会人工智能。

这套系统,最终成为我们发布的“智人系统”。

在系统正式发布之前,我们已经非常有自信了,迫不及待找一个实战场地“练练兵”。

2018年夏天,有一个好机会降临在眼前。

国内一家知名的大数据企业,由于要签订一个重要的合同,对方要求它保证自己的系统绝对安全。所以他们找来了国内外两个团队对自己的系统进行渗透测试,找到很多漏洞,并且都第一时间进行了修复。

偶然的机会,企业的领导跟我说起这件事。我笑着跟他说:“你让我们带着‘机器人’再对你们的系统进行一轮测试。我不收钱,但如果我还能找到很多安全问题,你以后的安全服务就都交给我们做,如何?”

对方答应了,结果,我们在他们已经进行过两轮修补的系统中又发现了很多高危漏洞。

不用说,我们自然拿下了这个企业之后的安全服务订单。

那一刻,我像受了军功一样欣慰。曾经,作为一个军人,我经受住了首长的检验;现在,作为一个创业者,我经受住了市场的检验。

就在发布之后这几个月,我们已经忙得不可开交,帮很多大中型政企做了安全检测。

虽然在我心里,这套系统现在还远远没有达到理想的标准。但我更看中的是,它已经把解决问题的成本降到了非常低的水平。

就像1908年,福特通过流水线把汽车的成本降到原来的十分之一那样,智人同样可以把安全检测的成本降低到之前的十分之一,甚至百分之一。福特的理想是让千万美国人开上汽车,我的理想是让千万中国企业用到顶尖的安全技术。

为了这个理想,我正在做两件事:“智人”偏向于用人工智能进攻,接下来我们正在研发用人工智能的方法进行防御的系统。

另外,我们准备把这套系统免费开放给小企业使用。让更多以前没有买过安全产品的人也能体验到顶尖的自动化安全检测系统。

看到越来越多的人使用我们的技术,我觉得过往二十年的序章,虽然长了点,但无比精致。

二十年的部队生涯,让我坚信一个道理:只要你兼具庖丁的“精”和老牛的“韧”,无论是灯彩佳话,还是百万雄兵,都只争来早与来迟。

偶尔我还会梦到自己,像五年前那样在网络世界和黑客对战厮杀。屏幕在我眼前闪烁,我屏气凝神敲下一行行代码,脚下无边瀚海,眼前剑啸长虹。

欢迎使用浙江省网上税务局

网友点评