(一)、引言:披着羊皮的狼
外部攻击者进入内网后,到最后偷取数据,中间是要进行很多的所谓“活动”,其行为一定会有区别与正常的用户行为,他一定会到处找目标,可能会东张四望,可能访问不该访问的地方,可能越权去做不该做的操作,可能以同一身份通过不同设备登录。这种行为称为攻击者的“内部潜行”(lateral movement)。高明的攻击者在进入内网后,都倾向伪装成合法用户的身份去做一些非法的事情。如何通过异常能发现披着羊皮的狼就很关键了。
引用网上一段更学术的话: “如果说“基于特征匹配的检测防范了已知威胁”、基于“虚拟执行的检测阻止了未知恶意代码进入系统内部”,那么对于已经渗透进入系统内部的恶意代码而言,“异常行为检测成为了识别该类威胁的唯一机会”。
APT攻击者企图隐藏一切,但当攻击发生时,流量和行为无论如何伪装也会展现出来。
(二)、异常行为分析的重要性和必要性
单纯的防御措施无法阻止蓄意的攻击者,这已经是大家都认同的事实,有一句话这两年经常听到“世界上只有两种组织:知道自己被黑的、不知道自己被黑的”,可 以更延伸的说两种组织:值得被黑的,不值得被黑的”,被攻击是不可避免的,信息安全的建设思路出发点是“止损”,能快速发现异常并及时处置确保最小化的损失。非常类似人体的免疫力,及时发现异常,非自身的组织细胞人体会本能的排斥。
笔者经历过多次的信息安全事件,其实并不是每个安全事件都能找到最后的原因,更不用说追踪到攻击者或恶意行为者。多年前曾处理过一个安全事故:用户的系统一天出现了30多万的国际长途电话费用,最后组织各方力量也未能查到到底谁干的,基本的判断可能是内部开发人员在代码中潜入了拨打的代码,并能在某个时间触发。携程的应用宕机事件其实到底什么原因作为外人不得而知,但是内部肯定要花足够的成本才能确定是肯定的事情。
异常行为发现就是很好的止损的一种思路,比如银行的ATM取款机每天只能取走2万现金,这些看似很简单的限制其实作用非常大。比如某单位每天的国际话费门槛为1万,超过就告警。
大家现在乐于说信息安全看见(visibility )的能力很重要,要知己知彼,其实异常行为是最关键的一条安全线索。先能看见,才能做好后续的风险控制。
另:互联网业务未来看加密一定会常态化,DPI、内容识别的路子越来越窄。异常行为的前途会越来越广阔。
(三)异常行为场景举例
以下异常场景大家可以想想:
-
新疆乌鲁木齐加油站:观察到一个车一天到加油站加三次油,异常。(收集这么多汽油有其他企图?)
-
一个内部服务器,某天与内部的其他服务器都突然有大量的访问连接。(是不是外部攻击者在内部的“横向潜移”寻找目标?)
-
网络有个超长会话连接。(外联的IP是什么,是业务故障还是连接C&C的异常行为?)
-
某个用户突然有一天接收了大量的历史邮件。(接收过的邮件一般用户都不会再看,这次异常是用户自己操作的吗?)
异常行为有很多类型,比如登录异常行为包括了:异常时间、异常IP、多IP登录、频繁登录失败等。比如业务违规行为:包括恶意业务订购、业务只查询不办理、高频业务访问、业务绕行等等。
(四)行为模型
采用5W1H分析方法为主线进行行为建模分析,并进行责任认定,采用迭代等方法。
(五)异常行为分析思路
攻防最终是资源的对抗:许多大数据分析平台目前都在基于行为分析的模型上做文章。通过获取样本,机器学习建立正常行为模型,然后分析内部网络流量的行为,并发现异常。
异常行为发现是安全监测的很重要触发点,安全也是对抗,和战争一样,最终拼的是资源。如何更有效的使用资源最关键。通过发现异常行为,再逐步深入采用更高成本的流量分析、沙箱执行、人工介入等。
(六)异常行为的钻取、追责
从线索出发,大数据时代的如果直接考虑确定性证据,会错失很多机会。安全分析员需要的是线索,线索只能代表相关性,而不是确定性,钻取这个词会越来越常见,安全分析的过程需要将一连串的线索穿起来,由点及面进而逼近真相。 举个例子:从可疑IP、关联到访问的用户,从可疑的用户关联到其使用应用、数据库或相关敏感文件等,以时间维度,确定出恶意行为的行为序列,并给出严重的级别。
(七)结束语
多年前,与小榕一起同事的时候,有次讨论“流光、溯雪和乱刀”等一脉的工具特点时,榕总有一句话印象足够深刻:“破解是王道”。
这里末尾也套用一句“异常行为发现是信息安全的王道”
互联网的Https的趋势化,异常行为的分析确实安全防御的目标,而传统的做法是无法适应安全了。