[发明专利]一种自动化的网络攻击特征生成方法有效
申请号: | 200910090178.9 | 申请日: | 2009-07-31 |
公开(公告)号: | CN101616151A | 公开(公告)日: | 2009-12-30 |
发明(设计)人: | 刘豫;杨轶;苏璞睿 | 申请(专利权)人: | 中国科学院软件研究所 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/26;G06F9/44 |
代理公司: | 北京君尚知识产权代理事务所(普通合伙) | 代理人: | 余长江 |
地址: | 100190北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 自动化 网络 攻击 特征 生成 方法 | ||
技术领域
本发明属于网络安全技术领域,具体涉及一种网络攻击特征的生成方法。
背景技术
随着网络应用的快速发展,攻击者的攻击目标和攻击方式都大大增加,攻击速度 更快,破坏性更强,依赖于专业人员的分析经验的手动特征生成耗时费力,生成特征的质 量也难以保证,不能满足应用需求。自动化的攻击特征生成成为了当前攻击特征生成领域 的研究热点。攻击特征的本质是对同类攻击输入进行识别和过滤的表示方法。在各种网络 和主机入侵防范系统中使用攻击特征对输入进行检查和过滤,是保护主机和脆弱程序免遭 入侵的一种常用方法。因此,快速精确的攻击特征生成成为了防御网络攻击、保障应用系 统安全的关键环节。
现有的攻击特征生成的方法可以分为黑盒法和白盒法两种。黑盒法不涉及脆弱程序本 身,直接分析攻击输入之间的共同特点以及攻击输入和正常输入的区别,归纳总结出攻击 特征。黑盒法的局限主要有:需要比较大量的攻击输入样本和正常输入样本才能分析出攻 击特征,收集样本需要时间;由于不关注脆弱程序中漏洞利用的具体信息,生成的攻击特 征的误报率和漏报率难以保证;另外,由于攻击输入本身是攻击者可以完全控制的,因此 攻击者可以制造假的攻击输入对黑盒法的特征提取过程进行干扰。白盒法则是从脆弱程序 的漏洞被利用的执行流程出发,分析提取攻击特征。它可以综合利用特征生成相关的所有 信息,包括攻击输入、漏洞利用过程、漏洞本身特点等,因此生成的特征能更好的描述同 类攻击的本质特点,具有更低的误报率和漏报率。但是,现有的特征生成白盒方法多面临 依赖程序源代码、需要有经验的分析人员手动分析的局限,导致应用场合受到限制以及需 要大量人工分析时间等问题。
从攻击特征的表现形式出发,可以分为正则表达式、符号约束条件和图灵机三种表现 形式。正则表达式由于本身表达能力的限制,不能做数值计算和值大小比较,它对特征的 描述能力最弱,因此正则表达式形式的攻击特征精确度最低,但它的匹配算法效率是最高 的,对攻击输入的判断最为直接迅速;符号约束条件的特征表现形式比正则表达式有更强 的描述能力,但它对漏洞利用过程中的循环结构在某些情况下不能作等效的描述,从而影 响到攻击特征的精度;图灵机式的攻击特征,包含导向漏洞发生点的语句以及漏洞触发的 条件,是判断输入是否为攻击的一个程序,可以对攻击特征作最详尽最真实的表示,做到 绝对精确,没有误报率,并且可以根据需要转换为符号约束条件和正则表达式形式的攻击 特征。
发明内容
本发明提供一种基于可回溯动态污点分析的网络攻击特征生成方法,借助动态污点分 析技术对脆弱程序的漏洞利用过程进行完整的指令级分析记录,利用回溯算法提取出与攻 击行为直接相关的代码执行流程,识别其中不同类型的指令并加以修正,可以实现快速自 动的生成图灵机式的攻击特征。
本发明的技术方案概述如下:
一种自动化的网络攻击特征生成方法,其步骤如下:
1)在虚拟主机中安装虚拟操作系统,布署脆弱程序,配置出与脆弱程序的真实应用 一致的运行环境,并配置污点数据操作规则;
2)启动脆弱程序,将脆弱程序的所有网络输入标记为污点数据进行监控,跟踪记录 污点数据的状态,记录污点数据相关操作指令形成污点传播流图;
3)根据污点数据操作规则检测到有污点数据异常操作时,从污点传播流图中获得从 输入数据包开始的污点数据被脆弱程序操作处理的指令序列;
4)对步骤3)获得的指令序列按照设定规则处理成可编译执行指令,并添加判断输出 语句,生成图灵机式的攻击特征。
所述污点数据操作规则为当污点数据被用作跳转地址或者代码执行,则认为污点数据 异常操作。
采用硬件模拟器模拟出虚拟主机,通过截获虚拟CPU中单步运行的中间指令,实现指 令级的动态污点分析。
进一步,通过使虚拟执行的翻译环节按每次单条指令的方式进行,实现针对脆弱程序 的单步执行。
所述步骤2)通过监控虚拟CPU截获的API函数地址,发现脆弱程序的输入数据包,
将其标记为污点数据。
所述步骤3)使用回溯分析算法从污点传播流图中获得从输入数据包开始的污点数据 被脆弱程序操作处理的指令序列。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910090178.9/2.html,转载请声明来源钻瓜专利网。