时间:2022-06-01
第15叨
话说李逵在接老母上梁山的途中,行至沂水县西门外,只听见城门附近有人大喊:“案犯第一名宋江,第二名戴宗,第三名李逵……”
听见有人叫自己名字,李逵忍不住凑上前去看到,赫然三张海捕文书贴在墙头,上面画着李逵三人的画像。
李逵乐了,连连调侃说画得不像。话还没说完,朱贵却从身后一把拉住李逵,朝着弟弟朱富开的酒店而去,担心有眼疾手快的认出他将其送官。
李逵似乎并不买账,一边嚷嚷着朱贵认错了人,一边抱怨凭什么他们的人头就值一万、五千贯,自己人头只值三千。
或许是画的真的不像,并没有人认出在江州法场“杀疯了”的李逵,到家里才被亲哥哥李达叫嚷着要将其送官。但即便如此,在没有照相技术的年代,画像却是发布通缉令、协助侦破案件的最佳选择之一,不知道多少江洋大盗因此着了道。
然而直到19世纪80年代,一个叫伯尔蒂龙的人,才正式开创了“头像描述法”,即根据语言描述画出目标头像,从而将模拟画像纳入到案件侦破的科学体系。
20世纪40年代中期,在国际上通用的方法是“人像组合法”,其原理就是把不同种类的相貌特征,通过不同的排列组合制作出模拟画像。当时的“拼图库”是一个旅行箱大小的“人像组合箱”,里面装满了代表不同类型的五官塑料片。
随着计算机技术的发展,世界各国都积攒了大量具有本国特征的拼图库,开发出了电脑人像组合系统。在人工画像师的配合下,哪怕是只剩下腐烂的尸体或者含糊不清的语言描述,想要知道犯罪嫌疑人大概长什么样子,并不是一件特别困难的事情。
可现在的问题是,如果犯罪的那一头只是几台冰冷的机器,总不能画个电脑或者服务器的形状出来吧。
1
IP封禁与黑白名单
根据TCP/IP协议的规定,每一台接入互联网的设备,都会被分配一个IP地址。一台设备想要通过互联网访问另一台设备,就得自报家门,亮出自己的IP地址。
所以如果不想让某些机器访问的话,比如遭到源自某个IP的网络入侵,除了拔网线之外,最直接有效的方法就是把对应的IP地址给“遮住”,俗称IP封禁。
过去、现在以及将来的相当长一段时间内,IP封禁都是处置网络入侵的必选手段之一。作为目前使用最广泛的网络安全设备,防火墙最重要的功能之一,就是阻断来自某些特定IP的网络访问。
不过,封IP得讲证据,不能靠主观臆断。否则一个不小心封错了或者封漏了,都会让人很难受。
所以头些年人们搞了黑白名单,把值得信任的IP放在白名单中,被发现经常干坏事的IP放在黑名单中。凡是上了黑名单的一律封禁,凡是在白名单里面的一律放行。
不过,黑白名单本身提供的信息非常有限,充其量就是公布了一个“名字”而已。
喜欢看刑侦剧的都知道,证据往往能回答两个非常重要的问题,一个叫作案手法,另一个叫作案动机,而这些信息都是日后法院判决、量刑的重要依据。比如正当防卫和过当防卫、故意杀人和过失致人死亡,尽管结果可能相同,但刑罚却相差甚远。
遗憾的是,黑白名单除了告诉你是好是坏以外,并不能提供其他更有价值的信息。
更何况,为了绕过这两个名单,攻击者也煞费苦心钻研攻击技术,跳板机、傀儡机这一套全家桶上来,让黑白名单也不那么灵了:黑IP不见得都在黑名单里,白名单里的白IP也不见得那么白。
那么问题来了,当安全设备检测到来自某个IP的异常访问之后,安全人员如何确定是不是真正遭到攻击了?
对方到底想干什么?是一次大范围的端口扫描还是定向的APT渗透?
如果是定向攻击的话,对方利用了什么漏洞,植入了什么木马?
我该怎么处置?置之不理吗?封禁一天、两天,还是永封?封禁之后攻击就不会发生了吗?风险就排除了吗?
显然,简单的非黑即白回答不了这些问题。实际上,每一条告警的背后,都是不同的人、怀着不同的目的、干着各种各样的事情。如果只关注行为本身而忽略了行为主体,那只会淹没在无止境的告警中无法自拔,从而忽略了真正有威胁的攻击者。
并且简单的一封了之,并不会让有恶意的主体停止他的行动,毕竟更换IP的成本低的令人发指。
每每遇到这种情况的时候,安全人员不禁连连挠头,恨不得顺着网线就钻过去,看看对面是个什么样的牛鬼蛇神。防了半天连攻击者是何许人还不知道,简直是荒唐。
说起来,就是缺乏攻击者本身的相关情报。
楚云飞在进攻受阻后,面对部下送进来的一堆情报根本提不起兴趣,但唯独在听到对手是李云龙的二师时,就一下子来了精神。
那么如果有一个情报平台,上面的情报能够直接告诉我们攻击者是什么样的人、经常使用什么样的攻击手法、攻击目的到底是窃取数据还是勒索钱财亦或是伺机破坏,这样日常安全分析工作就可以有的放矢,针对不同的人(威胁主体)进行针对性的防御或跟踪。
这就好比同样是盗窃,入室盗窃的受重视程度就应该高一些,团伙流窜作案的危害性可能就要比一个人小偷小摸危害性更大。
后来,这个情报平台在奇安信被称为白泽。
2
通万物之情,知鬼神之事
白泽平台的研发始于2017年年中。
彼时发生了一件至今还余波未消的网络安全事件——永恒之蓝勒索病毒事件,数以万计的计算机因此感染,加之一些其他的网络攻击,所以奇安信在短时间内,接到了大量的网络安全应急响应需求。
安服人员有个好习惯,会一并把所有发现的安全事件都给处理掉,绝不仅限于永恒之蓝。
应急次数多了,一线安服人员在处置安全事件的时候,经常会在不同的单位,遇到来自同一个攻击来源IP发起的网络攻击。
这就有意思了。
于是有人提出了这么一个需求,能不能做一个数据库,可以把攻击源的相关信息都放进去,需要的时候一查就知道攻击者是谁了,同一个攻击者在近似的时间内,发起的网络攻击估计都大差不差。
类似做法并不是没有先例。在早些年,定向攻击远没有现在这么普遍,因此同样一款病毒往往会批量感染大量计算机,因此在病毒查杀领域有一项使用非常广泛的方法叫做云查杀,其本质就是将病毒样本都放在云上,可以将捕获到的可疑样本与之进行比对。
说起来很简单,但问题又回到了搜集证据这里,想要准确描述一个攻击主体,就得在一个相当长的时间窗口内对其进行持续的跟踪观察。病毒查杀领域的这个跟踪观察是各个杀毒软件的“云查”模块,而攻击者类的呢?
那么如果想要做到这一点,刑侦的办法通常是派出若干名侦察员对嫌疑人进行长期的跟踪甚至卧底调查,而网络安全的方法是派出探针。
单单看名字就知道,探针是网络空间的“侦察员”。它们通常部署在一些关键节点上,负责搜集“路过的”威胁主体的相关情报。奇安信的这些探针被部署在了大大小小数十万个互联网应用及蜜罐节点上,能够从每天数亿的数据量中,获取超过10万条攻击者信息。
或许很多人都想不到,部分活跃的攻击者或者攻击团伙在十多年前搞的事情,现如今还能在白泽平台检索到。
不过,千万不要以为收集数据是个非常简单的事情,它对探针的能力要求非常高。这就好比摄像头拍摄画面不清晰、拍摄有死角,对于案件侦破都是非常不利的。
下面这张图直观地展现了奇安信探针的强大数据收集能力。
在这样的数据视野加持下,白泽平台才有能力证明哪些攻击源头是广撒网式的黑产扫描器,哪些攻击源头是肆意传播的僵尸网络,哪些攻击源头是进行安全测试的白帽子。
否则在不了解攻击者的情况下,同样是端口扫描,安全人员该如何确定是一次大范围的扫描,还是APT定向攻击的前奏试探呢?
这也是白泽平台之所以叫白泽的根本原因。
在中国古代神话中,白泽是传说中瑞兽,身上有一千只眼睛,熟知天下各类妖魔鬼怪,有“通万物之情,知鬼神之事”之称,在唐宋年间常被绣在枕头上或挂在门口用以辟邪。用白泽平台负责人林子翔的话来说,他希望奇安信的白泽,也可以熟知网络空间中的各类“妖魔鬼怪”。
3
一波三折
只有白泽平台知道还不行,白泽平台得让防守方知道。所以,相比黑白名单,白泽平台就是实实在在给攻击者画像了。
其实收集数据对奇安信的难度并没有太大,对于这样一个体量的网络安全公司,其探针的分布范围非常广泛,因此可以保证极广的数据视野。
不太好解决的是下面两件事情:
第一,攻击IP和背后的攻击者并不是一对一,而是多对多,并且攻击者更换IP是再常见不过的事情。如果想要对一个攻击者进行长时间的观测,必须要知道他什么时候换了IP,换了什么IP。
第二,分析≠聚合。白泽平台输出的应该是分析处理的结果,而不是一大堆看起来有点关联的数据。例如,数据源A说某IP发起了某某攻击,数据源B说某IP上绑定有某个网站,数据源C说某IP访问了SRC,这一组数据能够说明什么问题呢?
为了解决这两个问题,林子翔的第一个想法就是看看公司有没有可以复用的组件,比如关联分析等,但遗憾的是当时的安全分析组件和白泽平台想要的安全分析逻辑完全不同,很难复用。
第二个想法就是看看能不能站在前人的肩膀上。不过在转了一圈之后,林子翔发现白泽平台想要解决的问题和场景几乎毫无经验可借鉴,尽管市面上也出现了一些针对威胁主体进行分析的平台,但基本都停留在IP信息聚合的层面,可以浅层次的分析出一些IP背后的威胁主体的历史动作,但并没有从动机和能力两个层面输出结论或辅助判断的依据。
面对前无古人的窘境,只有自己摸着石头过河才是唯一出路。
思索良久,研发团队提出了一个大胆的想法:既然IP和攻击者不存在强关联,那就设置一个规则,今天发现的攻击IP在今天过去之后,就认为攻击者已经更换了IP,基于这个规则将攻击IP和攻击者打乱,然后依靠不同来源的数据,将具有相同特征的攻击进行重新组合。
这个过程有点类似于遗传学基因的分离定律和自由组合定律,大概就是下图这个意思。
这项技术在奇安信被称作切片重组和同源的分析引擎,把攻击者和IP的关系厘清之后,就可以摆脱观测攻击者逃不开IP的限制了。
正当白泽平台意气风发准备大展宏图的时候,现实却给了它当头一棒。“白泽平台好是好,可是你的数据我都用不了啊。”质疑的声音不绝于耳。
这句话把白泽团队给噎住了。一个很大的问题是,当时大部分安全产品的关注核心是通过检测威胁行为而产生告警,而没有在产品的分析逻辑中对威胁主体进行建模。
举个例子,同样是找持刀的杀人犯,安全设备通常关注的是“挥刀”这个行为,但查出来的有可能是在厨师在切菜或者是屠户在杀猪,安全厂商则希望利用各种技术让检测挥刀更加准确,而不至于把挥手看成了挥刀;白泽平台的思路是研究挥刀的人,通过各种不同维度数据判断其到底是杀人犯还是厨师或者是屠户。
这就导致了一个问题,白泽平台生产的数据,并不能像黑白名单一样,让安全设备自动使用。
无法解决自动化问题,白泽平台的落地使用可以说无从谈起,充其量只能是少数分析师手里的“高级玩具”。
没有明确场景且看不到收益的日子,对于白泽团队来说真的很难熬,仿佛这一拳打在了棉花上。不少人开始打起了退堂鼓,以至于一个日增十万、总量百亿级别的攻击者数据库,最少的时候只有几个人在维护。
为了给团队同时也给自己打气,林子翔经常半开玩笑地和团队说到:“别灰心,想想你们的毕业设计,有几个能真正用在生产环境的?大家就当做科研了……”
好在功夫不负有心人。林子翔他们终于琢磨出来一套新的安全分析体系:白泽平台和其他检测设备分工合作,检测设备负责分析威胁行为产生告警,白泽平台则将这些告警收集起来后,生成一条条事件,同时基于自身数据库对这些事件进行攻击者分析,并将最终分析结果输出。
有了自动化的手段,白泽平台才有可能和其他检测手段一样,真正意义上服务于网络安全建设,并且大幅提升检测准确率。
4
牛刀小试
白泽平台研发完成后,并没有第一时间推向市场,而是在奇安信内部磨炼内功。历经四年的沉淀和三次重大版本迭代,白泽平台终于迎来了表演的舞台——北京冬奥会。
作为四年一度的冰雪运动盛会,盯上冬奥会的各色人等可不少,有组织严密的APT组织、有浑水摸鱼的民间散盗、当然也有趁机炫技的白帽子……为了搞清楚对手是谁,自然少不了白泽平台来盘一盘他们。
有数据统计,在冬奥重保期间,共有近千条关键的攻击者IP被提交到白泽系统进行画像。
其中,不隐藏自己的好人(安全厂商或者民间白帽子进行安全测试)或非恶意攻击者(操作目的不是恶意的,但行为本身会触发告警)占26.3%;
不必隐藏或不会隐藏自己的坏人(如,普通的僵木蠕毒、新手黑客)占52.5%;
精心伪装,但仍然能够被精准画像的高级攻击者(包括APT和黑客高手、高级白帽子)占1.3%;
19.9%的告警IP后经确认后,绝大多数为正常业务流量触发的告警(因配置、流程不规范等原因触发告警)或其他安全威胁;
仅有0.1%的攻击者可以确定是高级威胁,但并不能完成精确画像,且高级威胁无一漏网。
这样的分析结果与上亿级别的告警相比,可以说是安全检测技术迈出的一大步。
这里有一个真实有趣的小故事。
有一天,奇安信一线重保工程师在对冬奥系统的攻击告警中,发现了一个来自境外的IP地址,其行为高度可疑,非常像APT攻击前期的测试或者情报搜集行为。
这个结果一经发现,所有人都捏了一把汗,所以立即提交到白泽系统上进行分析。结果白泽分析发现,这个攻击者的同源资产中,关联了若干个国内IP,其中一个IP的行为特征和某公司白帽子的安全测试行为非常吻合。
因此,重保研判组判断,这应该是一名精心伪装的白帽子在进行安全测试,而不是来自境外的APT攻击。
事实证明了白泽平台的分析结果。
据说该公司的白帽子在知道自己被发现时大吃了一惊,用他的话说,作为一名资深白帽黑客,自己的伪装手法屡试不爽,安全测试行为还从来没被发现过,没想到这次竟然栽在了白泽平台手里。
5
道阻且长
白泽平台成长的大部分时间,是在不理解的声音中度过的。
“你们白泽平台这个攻击者画像不就是攻击溯源么?”不断有人问出这个问题。林子翔也只好耐着性子一遍遍解释:“白泽平台的攻击者画像技术是为了分析出这个攻击者是什么类型,而不是这个攻击者是谁。”
一直以来,网络安全行业都有一句很无奈的话:攻防视野不对等,防守方没办法事先知道攻击者是谁,也没办法知道攻击者会从什么地方攻进来,导致攻击成本低防御成本高。
但我们应该听说过张网已待或者以逸待劳这两个成语。
当白泽平台可以识别出网络威胁主体之后,实际上真正高威胁的,尤其是那种长期惦记你的威胁主体就完全暴露在了防守方面前。防守方可以用高强度跟踪、诱捕、反制等等技术进行针对。
这样安全工作就不再是“救火队员”式的出了问题再应急,而进化成了“上帝视野”,将分析师视野聚焦到高威胁的威胁主体可以将安全事件化解在他成功之前。
即便如此,白泽平台也还有很长的路要走。
“当一个单位/一个客户真正需要掌握网络空间战场状况的时候,白泽才会发挥出全部的作用。”林子翔说,白泽平台网络安全治理方法论中的一个环节,其关键在于基于威胁主体的网络安全治理方法。
目前,只有业内部分头部的顶尖客户才会有一些向这个方向上发展的需求。但奇安信坚信这一天即将到来,因为单位的IT基础设施在成长,网络安全行业在成长,甚至我们的对手也在成长,总有一天他们会需要飞机将他们送到马车送不到的地方。
End
作者简介
本期叨主:魏开元
安全圈“首席编剧”,写点小故事还原网络攻防一线的明枪暗箭