网络恶意行为分析模型 |
您所在的位置:网站首页 › 行为模型图 › 网络恶意行为分析模型 |
3.3.1.1 行为规则库的实现 由图3-6可知,整个行为规则库的设计是由攻击树和协议栈结构体组成,而攻击树结构体由原子行为结构体组成整棵树,原子行为结构体已经在前面描述,以下是网络协议栈结构体。 typedef struct _NETPROTOCOL{ struct _NETPROTOCOL *Next; //指向下一个协议栈根节点 ATOMACTION *pHead; //指向攻击树根节点 DWORD nAttackTree; //攻击树的个数 CHAR Descriptor[MAX_PATH]; //描述协议信息 }NETPROTOCOL,*PNETPROTOCOL; 3.3.2 行为提取的设计与实现由图3-5应用程序行为示意图和对行为的分类,行为的提取涉及到如何提取主机系统内进程行为和来自主机系统外的网络数据流行为。 3.3.2.1 行为提取的设计程序在运行期间所进行的操作被称为“程序行为”,一般泛指程序运行时进行的相对表现较明显的操作,例如创建文件、读写文件、访问注册表、连接网络等,而在这些操作之外的程序内部运算、判断、逻辑等操作并不是我们关心的内容。对程序行为进行监视记录的过程就是“跟踪”(Tracing),如果要进一步深入,则要使用调试器(Debugger)环境进行汇编级的指令分析,这就是“调试”,也可视为更全面的跟踪,因为调试过程可观察到整个程序里的运算和每一步汇编指令的执行过程。 Windows系统中,有三种技术可以实现程序行为记录,甚至控制程序的某些行为,它们分别是虚拟机技术(VM)、系统调用挂钩技术(API Hooking)和API跟踪(API Tracing)技术。 对于来自系统内部的进程的行为采用inline HOOK技术进行行为提取,而对于来自系统外部的网络数据流行为采用TDI HOOK和NDIS HOOK技术进行行为提取。行为提取的逻辑结构图见图3-7。 3.3.1.1 行为提取的实现 行为提取的具体实现根据图3-7可知分成两部分,一个是进程对系统资源访问所提取的原子行为,对于这类提取方式,每个进程拥有一个单链表,这个单链表中储存了以先进的顺序到来的代表原子行为的ATOMACTION结构体地址,每个ATOMACTION代表着一个system call;另一个是通过TDI HOOK和NDIS HOOK提取的原子行为,对于这类提取方式,每个(本地端口,远程端口,远程IP)拥有一个单链表,这个队列中储存了有序到来的代表原子行为的ATOMACTION结构体地址,此时每个ATOMACTION代表着一个网络数据包。单链表的结构体定义如下: typedef struct _ATOMGATHER{ struct _ATOMGATHER *Next; PATOMACTION *pNode; }ATOMGATHER,*PATOMGATHER; 行为提取后的逻辑图见图3-8。 3.3.1 行为判定的设计与实现行为判定是以提取出的原子行为的集合为输入对象,以行为规则库为匹配对象进行判定的。整个行为判定的过程设计两个过程:一是以提取出的原子行为为输入对象,对攻击树进行打标记的过程;二是搜索攻击树,对打了标记的攻击树进行行为判定的过程。打标记过程见流程图3-9,对标记进行行为判定的过程见流程图3-10。
|
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |