【51CTO.com原创稿件】朋友们,您是否已经成功逃离了上个月勒索软件的余震,Not WannaCry anymore?您是否又回归到了平静有序的日常工作,就像美剧《西部世界》里的那些机器人演员一样,天天都重复着一个轮回呢?至少我现在就是这样的,每天忙于各种反复的事务性工作,就连刚刚过去的六一儿童节,都只能在朋友圈里去追忆。
还记得小时候,我最爱看的就是那部《黑猫警长》的动画片,直到现在工作得意的时候还会时常吟唱其主题歌—“眼睛瞪得像铜铃,射出闪电般的精明;耳朵竖得像天线,听的一切可疑的声音;……”我本来理想是长大了能当一名抓坏人的警长,结果如今发现只实现了一小半,当上了管理系统的信息安全人员。
好了,不再慨叹现实的“骨感”了。让我们继续来讨论安全入侵应对实务的第三部分—内网侦查。希望小伙伴们在往下阅读的时候能够重拾起小时候的励志故事《小马过河》所传达出的精神:一边听我给大家分享,一边自己动手来实践和尝试吧。
第一阶段:基础与准备
1. 在网络架构上,要准备好备用的,与外界互联网的接入链路。
2. 准备一张包含内网中所允许的协议和IP地址的列表,并且按照它们优先级的高低,从前往后进行排列,包括关键的业务,以及它们之间的各种相关性。
3. 有分支机构的企业,应当进一步文档化IT架构中的各个细节,包括内网VLAN的划分依据和所对应的地区/部门、内网地址的使用情况、对外接入的链路ID号、相互之间的路由表等。如果能更细致的话,可以准备相对应的拓扑图和网络资产的属性清单。
4. 预见性地标识出当前存在的业务瓶颈和可能出现的故障单点,转呈或协同运维部门予以重点监控。
5. 确保现有的各种网络监控工具的可用性,及时更新它们,并定期查看其运行过程中所产生的各类警告信息。
6. 对既有的各种网络设备进行必要的安全加固,特别是系统固件方面的升级。
7. 参照如下步骤(下面是以cisco设备为例),记录下系统里各个网络设备在当前正常状态下的服务基线(或称快照,这一点很重要,希望大家能有所重视),以便在出现问题的时候,能及时准确地进行异常的识别,并发现被改动之处。
- 用户访问路线列表,可运行show line命令。
- 用户账户、权限信息列表,可运行show privilege命令。
- 开放端口列表,可以在与网络设备连接的Linux终端上运用nmap命令,并通过带有S和U的参数来检查设备上所开启的TCP和UDP端口。
- 路由表快照表,可运行show ip route命令。
- 访问控制列表,可运行show ip access-list命令。
- 路由器自身资源利用率,如CPU状态的快照,可运行show process cpu命令。
- 设备上全部配置状态的快照,可运行show config命令。
最后记得把所有这些基线信息都备份到一次性可写光盘或是加密只读的U盘里。
8. 根据所处网络的实际情况,合理设置DNS域名的TTL值(生存时间),一般的经验是设置为600为宜。这样以便在出现入侵时能调整和进行缩短,从而实现DNS的重定向。
9. 协同网络部门在内网中定期查找,并酌情关闭那些过时的且不再需要的网络接入点(如ADSL、WIFI、Modem等)。
10.应急响应团队提前准备好工具包,里面的各种工具最好都是绿色免安装类型的,而且要安全地存放在上述提到的一次性可写光盘或加密只读U盘里。当然各类工具也要保持定期的版本更新和有效性检测,以及查缺补漏。其实这一点对于我上两期讲到的操作系统和移动终端的入侵应对来说也是同样适用的。
11.考虑到网络设备区别于用户的主机的同质性,对于关键的网络路由或交换设备要有备机/备件的规划,并签署必要的替补协议。
12.最后在文案方面,要注意各种入侵应对的响应流程的时效性、易获取性和可操作性。
第二阶段:识别与应对
说到企业内部网络,可以套用莎翁的那句谚语:“一千个人眼里有一千个哈姆雷特”。不,是一千个企业网络架构。不过,如果我们抽象并总结起来的话,企业网络的基本“骨架”应该是如下图所示的基础拓扑结构。
在上图模型中,接入级别的防火墙一般连接着企业的内/外部网络,提供DMZ里的Web、邮件等服务器与外部的通信,以及在把有线网络扩展到无线WiFi时所起到的Hub作用。可见此类防火墙是企业网络的咽喉要道,是我们进行常规网络识别和入侵应对的重中之重。因此,我们在逻辑上应该对上图的A、B、C三个端口处进行“精耕细作”,从而分别实现对来自于无线网络、内网主机以及DMZ区三处的各类数据包的收集与分析。下面我们来具体看看有哪些道与术。
1. 查找网络中存在的特殊协议数据的异常分布。例如在正常的内网环境中,ICMP协议类型的数据包应该仅占到整体协议数据流量的2%左右。可见,倘若超过这个阀值范围,就能判定为网络处于异常状态了。另外,又比如说:在纯Web应用的环境内,如果出现了大量的FTP协议类型的数据包,那也是一种不正常的网络状态。
2. 在所保护的和已受到了入侵的网络中,可使用抓包工具(如tshark、windump、tcpdump等)和端口镜像等手段来搜集数据;对数据的源IP地址、端口、TTL、包的ID、协议进行分析,从而解析出攻击源所要入侵的目标主机/服务、所使用到的漏洞和账户等有用的信息,进而总结出攻击的特征和惯用做法。
3. 在出现网络状态异常时,可以暂时禁用掉某个/些应用的某个/些服务,从而排除干扰项,缩小侦测范围。
4. 临时掐断那些明显不必要的连接,或是暂时将受到攻击的网络部分与初步判定的攻击源相隔离。
5. 如有必要,可以调整某些应用服务器的设置,暂时拒绝来自被利用的主机所发来的连接请求。
6. 切换到备用的站点,或将关键的对外业务重定向到备用的网络通路之上,从而实现“虽降速但还能提供服务”。
7. 使用基于DNS协议的槽洞(sinkhole)来提供不可路由的地址给受利用的主机,以阻止内部数据的泄漏,并实现流量的清洗。
8. 在网络设备上配置疏散过滤规则(filter),从第一、二层上阻断那些DDoS的流量,以抑制新的“垃圾”数据包持续涌入到内网中。
9. 通过设置黑洞路由,充分利用路由器的包转发能力,吸收泛洪的“垃圾”数据流量,使其对系统负载影响降到最小,以应对DoS和僵尸网络的攻击。
10.及时为防火墙/IDS/IPS等网络设备重新添加能够有效阻断网络入侵的规则。
第三阶段:取证与调查
这个环节基本上与前两期的该章节所介绍的应对步骤相类似,其中在进行取证的方面,要注意如下三点:
1. 如果没那么急迫的话(当然一般都是时间非常紧迫的),可以将被入侵的主机或设备暂时设置进入休眠模式,注意:不要轻易关机,否则容易将内存里的那些有价值的、攻击源所留下的数据给丢失掉。
2. 查找那些事先准备好的“假”文件(可带有相应的水印)被窃取的路径和方式。
3. 截取并保留网络和主机设备上的各种日志,特别具有源IP地址、时间戳、访问端口以及服务类型等信息的条目。
在收集到相关证据之后,我们便可以顺藤摸瓜地开展调查工作了。在企业网络中,一般用到的追踪溯源技术分为两类:一类是包标记,即通过设置,将路由器自身的信息标记到发出的数据包上,直至到达被攻击的主机。标记的过程相对简单,对网络的影响也比较小,但是在重构攻击路径时,则需要收集大量的数据包进行分析,因此无法进行单个包的追踪。另一类是数据包的日志追踪,它需要用大量的存储空间来存放网络数据流的日志,这无形中增加了部署的成本,但是它却可以对单个包进行追踪。一般在实现方式上是利用IDS的日志功能,记录指定事件的登录验证、网络地址的请求信息的认证、资源的自动分配信息等记录。
那么,一般所执行的追踪溯源的流程是:
1. 对入侵性的数据流进行定位和跟踪,以确定哪些网络设备和主机参与了发送或转发此类数据。
2. 分析可疑的网络设备或主机的输入/输出信息,筛选系统内的日志信息,判断入侵时间点的先后次序,以重构入侵路径。说白了,就是按照源IP地址和目的IP地址的衔接关系进行设备之间的简单关联,从而形成一张攻击线路图。
从技术的角度来说,我们针对网络中各个节点所用到的追踪手段有:
- 日志分析:收集和分析系统及网络设备上事先设定好的各种日志记录。
- 消息追踪:使用路由输入的调试追踪,即在分析确定了攻击数据包是来自哪个路由器的情况下,依次判定该路由器及其上游设备的攻击输入接口和所用到的路由表。
- 主机状态追踪:对网络中被入侵的主机进行持续的网络状态监控,如运用“ps”和“netstat”之类的命令。
- 反向流(reverse flow)追踪:比如使用基于Hash的IP反向追踪SPIE(Hash-Based IP traceback)、ICMP反向追踪iTrace(ICMP traceback)以及链路测试(link testing)等技术进行一跳一跳的回溯追踪,但是这些方法在实际应用中经常会产生各种false positive和false negative。
- 人工辅助追踪:通过在虚拟机上部署多个蜜罐类型的恶意软件收集器(比如使用honeyd工具),组成“蜜网”来有效地检测僵尸网络的入侵。然后对捕获到的数据流通过逆向分析,可以获知诸如控制者的域名、服务端口、登录用户名以及更新程序下载点等“活跃(active)”的僵尸网络特征样本。当然此法的弊端是需要人工持续地去更新特征库,因此对于新出现的僵尸类型的攻击则无法进行追踪。
小结
想必大家也都明白:网络入侵相对于主机入侵来说,由于网络的传播速度和倍数效应,往往波及面会更大更快。因此一旦出现了网络攻击,我们既不可以抱以“大王叫我去巡山”那样的消极态度,也不能急得像没头苍蝇一样手忙脚乱。我们应当像主题歌里的黑猫警长那样“磨快了尖齿利爪到处巡行”。只要我们拿出当年小时候在绿皮火车上,一节车厢、一节车厢地往前走,寻找空座位的那种“锲而不舍”的精神,网络入侵的态势就会被我们所迅速掌控,攻击源也将无处遁形。
本文作者:陈峻
来源:51CTO