第一章 入侵检测
一、原理
入侵检测系统,简称IDC,是一种基于硬件的防火墙,通过建控以知系统漏洞,黑客入侵手法并记录下来,通过分析数据包,安全的就通过。危险的就拦截,通过日志记录可轻松追查到入侵者的IP,用于取证。
入侵检测技术(IDS)可以被定义为对计算机和网络资源的恶意使用行为进行识别和相应处理的系统。包括系统外部的入侵和内部用户的非授权行为,是为保证计算机系统的安全而设计与配置的一种能够及时发现并报告系统中未授权或异常现象的技术,是一种用于检测计算机网络中违反安全策略行为的技术。
1.1 什么是入侵
入侵,就是恶意攻击者(俗称黑客),不经授权的控制、使用我方资源(读写文件、执行命令、控制网络资源等)
1.2 入侵和内鬼
入侵本身是手段,GetShell只是开始,目的是为了之后对资源的控制和数据的窃取。而内鬼本身拥有合法的权限,可以合法接触敏感资产,但是基于工作以外的目的对这些资源进行非法处置,包括拷贝副本、转移外泄、篡改数据牟利等
二、入侵的本质
2.1 入侵检测的本质
根据特征进行模式匹配;(黑特征法,例如WebShell关键字匹配)
根据业务历史行为(生成基线模型),对入侵行为做异常对比;(非白既黑),如果业务的历史行为不够收敛,就用加固的手段对其进行收敛,再挑出不合规的小众异常行为。
2.2 入侵检测与攻击向量
针对一个明确的“目标”,它被访问的渠道可能是有限集,被攻击的必经路径也有限。一个可以成功入侵的 攻击方法 + 目标 合并起来,就称为一个“攻击向量”
因此,谈入侵检测模型效果时,需要先明确攻击向量,针对不同的攻击路径,采集对应的数据,才可能做对应的检测模型。比如,基于SSH登录后的SHELL命令采集,是不会让你发现Webshell的攻击的。而基于网络流量的采集数据,也不会让你获悉黑客是否在SSH后的SHELL环境里执行了什么文件切割打包的动作。
2.3 常见的入侵手法
- 高危服务入侵:所有的公共服务都叫做高危端口
- Web入侵:基于PHP、JAVA、ASP/http://ASP.NET、NODE、C写的cgi等等动态的Web服务本身的漏洞
- 0day入侵 :通过NSA泄漏的工具包
- 通过办公网入侵 :绝大多数APT报告里,黑客是先对人下手,比如发个邮件,哄骗你打开后,控制了你的PC,再进行长期的观察/翻阅,拿到你的合法凭据后,再到内网漫游
2.4 常见入侵的应对方法
- 高危服务入侵:在这里做入侵检测的必要性不高,因为高危服务的具体所指非常的多,不一定存在通用的特征,所以,通过加固方式,收敛攻击入口才是更有效的策略。禁止所有高危端口对互联网开放即可
- Web入侵:找到黑客GetShell和正常业务行为的一些区别
- 0day入侵:入侵检测模型可以通用
三、 发现APT
所谓APT,就是高级的持续威胁。既然是高级的,按照一般的描述,他们的木马是免杀的(不能假定我们可以发现这个木马)、他们的漏洞不公开的(不能假定我们可以加固抵抗)、他们的手法是高级的(不能假定这个手法在已知的范畴里)。
所以,实际上APT的意思就几乎等同于我们不能发现的入侵事件了。
但是,业界总还有APT检测产品、解决方案的厂商在混饭吃,他们是怎么做的呢?
- 说木马免杀的,他们用沙箱+人工分析,哪怕效率低一些,还是试图做出定性,并快速的把IOC(威胁情报)同步给其它客户,发现1例,全网都去排查。
- 说流量变形对抗的,他们用异常检测的模型,把一些不认识的可疑的IP关系、payload给识别出来——当然,识别出来之后,也要运营人员跟进得仔细才能定性。
- 说攻击手法高级的,他们还是会假定黑客就用鱼叉、水坑之类的已知手法去执行,然后在邮箱附件、PC终端等环节采集日志,对用户行为进行分析,UEBA试图寻找出用户异于平常的动作。
第二章 蜜罐(部署实验)
一、蜜罐原理
1.1 什么是蜜罐
蜜罐其实就是一个“陷阱”程序,这个陷阱是指对人侵者而特意设计出来的-些伪造的系统漏洞。这些伪造的系统漏洞,在引诱入侵者扫描或攻击时,就会激活能够触发报警事件的软件。这样一来,网管就可以立即知晓有入侵者侵入了。
也就是说通过设置蜜罐程序,一旦操作系统中出现入侵事件,那么系统就可以很快发出报警。在许多大的网络中。一般都设计有专门的蜜罐程序。蜜罐程序一般分为两种:一种是只发现人侵者而不对其采取报复行动,另一种是同时采取报复行动。
0K,在进行了初步的了解后,请读者先来牢记两个英文的含义:
Honeypot:是一种故意存在着缺陷的虛拟系统,用来对黑客进行欺骗。
Honeynet:是一个很有学习价値的工具,它能使我们了解黑客人侵的攻击方式。
作为一个包含漏洞的系统,它可以帮助有特殊要求的网络模拟出一个或多个易受攻的主机,给xp系统下载黑客提供易受攻击的口标,让黑客误认为入侵成功,可以为所欲为了。使用蜜罐,主要是为了能够套住黑客,以便网络保安系统和人员能够将之“锁定”。
1.2 蜜罐分类
- 低交互:模拟服务和漏洞以便收集信息和恶意软件,但是攻击者无法和该系统进行交互;
- 中等交互:在一个特有的控制环境中模拟一个生产服务,允许攻击者的部分交互;
- 高交互:攻击者可以几乎自由的访问系统资源直至系统重新清除恢复。
1.3 什么是pentbox
基于Ruby开发,面向GNU/Linux系统,且兼容Windows、MacOS、Android等系统。
主要用于帮助安全人员对网络、系统的安全性和稳定性进行测试。但它常被用作黑客工具套件,尤其是它提供的NetDoSTest(网络压力测试)。