[发明专利]一种自动化的网络攻击特征生成方法有效
申请号: | 200910090178.9 | 申请日: | 2009-07-31 |
公开(公告)号: | CN101616151A | 公开(公告)日: | 2009-12-30 |
发明(设计)人: | 刘豫;杨轶;苏璞睿 | 申请(专利权)人: | 中国科学院软件研究所 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/26;G06F9/44 |
代理公司: | 北京君尚知识产权代理事务所(普通合伙) | 代理人: | 余长江 |
地址: | 100190北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 自动化 网络 攻击 特征 生成 方法 | ||
1.一种自动化的网络攻击特征生成方法,其步骤如下:
1)在虚拟主机中安装虚拟操作系统,布署脆弱程序,配置出与脆弱程序的真实应用 一致的运行环境,并配置污点数据操作规则;
2)启动脆弱程序,将脆弱程序的所有网络输入标记为污点数据进行监控,跟踪记录 污点数据的状态,记录污点数据相关操作指令形成污点传播流图;
3)根据污点数据操作规则检测到有污点数据异常操作时,从污点传播流图中获得从 输入数据开始的污点数据被脆弱程序操作处理的指令序列;
4)对步骤3)获得的指令序列按照设定规则处理成可编译执行指令,并添加判断输出 语句,生成图灵机式的攻击特征;
所述步骤4)设定的规则为:
对于操作数本身是污点数据,且是寄存器类型的,无需进行处理;
对本身不是污点数据而且不会被污点数据污染的操作数,则需要将它的实际值作为立 即数替换它在指令序列中的寻址类型,所述寻址类型是寄存器寻址或内存寻址地址;
对于本身不是污点数据,但通过指令执行被污点操作数污染的操作数,如果类型是寄 存器,无需进行处理;如果类型是内存寻址地址,则将内存地址替换为图灵机式攻击特征 用于污点数据变量存储的数据段的一个地址,如果该操作数的被污染之前的值对污染后的 值有影响,需要提取出它的实际值代入污染指令的计算;
所述生成图灵机式攻击特征方法为a)处理TOT中指令和操作数,根据指令的操作数 类型和污点状态,分别进行处理,用以使它们能够移植到TMS的运行环境中执行;b)在 对TOT中的指令进行处理之前,TMS建立一个初始化的环境,为待检查的输入数据包提 供一个缓冲区进行存放,并将TOT中读取污点源数据的指令映射到输入TMS的数据包对 应缓冲区的地址空间;c)TMS还提供一数据段,用于污点数据相关操作的变量的存储和 控制TMS运行时的内存占用;d)对TOT中的污点数据相关操作指令按照所述设定规则 进行处理,提取得到可编译执行指令;e)对提取得到的可编译执行指令编译执行,生成图 灵机式攻击特征;所述生成图灵机式的攻击特征,还包括对TOT中的条件分支语句的进行 处理,添加判断输出语句:如果输入数据能够沿着攻击路径到达漏洞发生点,则判断输入 数据会引发攻击,图灵机式攻击特征返回ATTACK,否则判断为合法输入,攻击特征返回 BENIGN。
2.如权利要求1所述的方法,其特征在于,所述污点数据操作规则为污点数据被用 作跳转地址或者代码执行,则认为污点数据异常操作。
3.如权利要求1所述的方法,其特征在于,采用硬件模拟器模拟出虚拟主机,通过 截获虚拟CPU中单步运行的中间指令,实现指令级的动态污点分析。
4.如权利要求3所述的方法,其特征在于,通过使虚拟执行的翻译环节按每次单条 指令的方式进行,实现针对脆弱程序的单步执行。
5.如权利要求1所述的方法,其特征在于,所述步骤2)通过监控虚拟CPU截获的 API函数地址,发现脆弱程序的输入数据,将脆弱程序的输入数据标记为污点数据。
6.如权利要求1所述的方法,其特征在于,所述步骤3)使用回溯分析算法从污点传 播流图中获得从输入数据包开始的污点数据被脆弱程序操作处理的指令序列。
7.如权利要求1所述的方法,其特征在于,所述污点传播流图包括源节点和其他节 点,所述源节点对应输入数据读入内存后的缓存区,所述其他节点每一个对应一条污点数 据相关操作指令,所述其他节点之间按照污点数据相关操作指令中的污点操作数进行关 联,所述建立关联的方法是:在每个污点数据对应的污点状态记录结构中增加一个成员指 向污点数据当前对应的污点传播流图节点,当有新的污点数据相关操作指令发生时,新生 成一个污点传播流图节点记录该指令,并将所述新生成污点传播流图节点与指令中的所有 影响到指令操作结果的污点操作数对应的污点传播流图节点用一条边关联起来,同时更新 该指令中污点数据的污点状态记录中的成员指向新生成的节点。
8.如权利要求1所述的方法,其特征在于,所述步骤4)中添加判断输出语句的方法 是:在步骤3)提取的指令序列中的条件分支语句处加入对输入数据是否为攻击的判断, 如果输入数据能够沿着攻击路径到达漏洞发生点,判断输入数据会引发攻击,否则判断是 合法输入。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910090178.9/1.html,转载请声明来源钻瓜专利网。