特征提取:
- 提取恶意软件进程行为调用系统APIs产生的序列;(恶意程序需在沙箱中执行,比如Cuckoo和Virustotal,获取每个程序执行的日志)
- 因恶意程序对系统APIs的调用会被操控,可用恶意程序开始执行的头10秒产生的连续数据替代,如系统CPU使用,用户CPU使用,数据包发送,数据包接收,字节发送,字节接收,内存使用,缓存使用,当前运行进程总数,最大进程号等;
- 每个恶意程序PE文件里的APIs调用,可以使用pefile,LIEF等工具提取,不仅包括APIs;
- 系统调用APIs名称为节点,入度为其节点权重,出度为其各连接节点的边权重,构建有向带权图,图的邻接矩阵可作为输入;
- 动静态特征:① 请求权限;② 敏感APIs;③ 动态行为;
- 抽取恶意软件的opcode,再使用n-gram提取100-300组特征;或是将抽取的opcode组成图,以图关系的邻接矩阵的奇异值分解的头2维度作为输入。