推荐星级:
- 1
- 2
- 3
- 4
- 5
一种基于Python符号执行的自动化网络攻击流量获取方法
资料介绍
网络攻击流量的采集对于分析网络攻击效果以及检验评估网络安全防护设施的性能等研究领域有着重要的意义。研究一套以Python符号执行技术为核心的自动化网络攻击流量获取方案。对当前网络上可获取的Python网络攻击脚本进行自动化的处理,使这些攻击脚本统一格式并进行以符号执行技术为主。强制执行技术为辅助的自动化流量采集工作,从而免去大量的建立漏洞环境的时间,使得网络安全研究员能够更轻易地获得攻击脚本所能产生的攻击流量。将该系统生成并提取的攻击流量与手工搭建漏洞环境并运行脚本后得到的攻击流量进行对比分析,验证该方案的可行性与适用场景。
部分文件列表
文件名 | 大小 |
一种基于Python符号执行的自动化网络攻击流量获取方法.pdf | 5M |
部分页面预览
(完整内容请下载后查看)36
2
Vol. 36 No. 2
Feb. 2019
第
卷第
期
计算机应用与软件
Computer Applications and Software
2019
2
月
年
Python
一种基于
符号执行的自动化网络攻击流量获取方法
陈家浩 王轶骏 吕 诚
(
200240)
上海交通大学网络空间安全学院 上海
摘
要
网络攻击流量的采集对于分析网络攻击效果以及检验评估网络安全防护设施的性能等研究领域有着
Python
。
重要的意义 研究一套以
。
符号执行技术为核心的自动化网络攻击流量获取方案 对当前网络上可获取的
Python
, 。
网络攻击脚本进行自动化的处理 使这些攻击脚本统一格式并进行以符号执行技术为主 强制执行技术
, ,
为辅助的自动化流量采集工作 从而免去大量的建立漏洞环境的时间 使得网络安全研究员能够更轻易地获得攻
。
击脚本所能产生的攻击流量 将该系统生成并提取的攻击流量与手工搭建漏洞环境并运行脚本后得到的攻击流
,
量进行对比分析 验证该方案的可行性与适用场景
。
关键词
网络攻击 攻击流量 符号执行
TP393
A
DOI: 10. 3969 /j. issn. 1000-386x. 2019. 02. 053
中图分类号
文献标识码
AN AUTOMATED NETWORK ATTACK TRAFFIC ACQUISITION
METHOD BASED ON PYTHON SYMBOL EXECUTION
Chen Jiahao Wang Yijun Lü Cheng
( School of Cyber Security,Shanghai Jiao Tong University,Shanghai 200240,China)
Abstract
The collection of network attack traffic is of great significance for the analysis of network attack effect and
evaluation of the performance of network security protection facilities. This paper studied an automated network attack
traffic acquisition method based on Python symbol execution technology. This method could automatically process Python
network attack scripts available on the current network,make these attack scripts uniform and perform symbolic
execution,and enforce the technology to assist the automated traffic collection work. This saved a lot of time to build
vulnerability environment,and made it easier for network security researchers to get attack traffic generated by attack
scripts. The attack traffic generated and extracted by the system was compared with the attack traffic obtained by
manually building a vulnerability environment and running scripts,which verified the feasibility and applicable scenarios
of the scheme.
Keywords
Network attack Attack traffic Symbol execution
4
想要采集这些攻击流量主要有 种方法
: ( 1)
使
,
用真实的攻击代码对测试靶机进行攻击 攻击流量直
0
引 言
; ( 2)
接由运行的攻击代码生成
对各类攻击行为的特
, ,
征进行整理和建模 提取关键信息 构造攻击流量
;
,
随着全球网络服务爆发式的增长 网络安全问题
( 3)
从真实的网络安全事件分析与审计中获得攻击流
; ( 4) , ,
采用符号执行技术 对攻击脚本进行分析 提
。
也随之而来 大量的网络攻击脚本在网上传播使用
,
量
。
对网络健康生态造成了极大的威胁 而在针对网络攻
。
取其释放的攻击流量
,
击的检测与防御中 网络流量样本是非常重要的研究
1
第
种方法通过直接运行攻击脚本的方式来产生
。
对象和判断依据 因此对各种网络攻击脚本所能产生
。
攻击流量 这种方法虽然可以得到最真实的攻击流
。
的攻击流量的采集工作就非常重要
: 2018 - 08 - 28。
“ ”
国家重点研发计划项目 网络空间安全 重点专项
( 2017YFB0803203) 。
, ,
陈家浩 硕士生 主研领域
:
收稿日期
。 , 。 ,
网络空间安全 王轶骏 讲师 吕诚 硕士生
。
2
:
陈家浩等 一种基于
Python
符号执行的自动化网络攻击流量获取方法
295
第
期
, : ,
量 但存在明显的缺点 首先 不同攻击代码所使用的
, 2005
要描述的是静态复合执行的原理 到了 年左右由
,
编程语言和运行平台各不相同 难以设计一套测试系
,
于引入了一些新的技术让符号执行更加实用 因而开
, ,
统能够运行所有攻击代码 并释放攻击流量 这对研究
。Concolic
始逐步流行
执行的提出让符号执行真正成
人员需具备的硬件设施条件和个人能力有很高的要
,
为可实用的程序分析技术 其在对桌面应用程序的测
; , ,
求 其次 一次成功的攻击不仅仅依赖于攻击方 对目
。
试中被广泛研究 它能以最少的测试用例达到最高测
,
标也有很多的要求 为了提取在各种场景下的攻击流
,
试覆盖率的特点受到广大测试研究人员的青睐 进而
,
量 需要模拟各种情况搭建多个满足要求的靶机环境
,
、
大量用于软件测试 逆向工程等领域
。
, ,
网络设备与网络服务种类繁多 应用场景复杂多变 搭
2005
,
在
Berkeley
用于检测
HTML
年左右涌现出很多此方面的研究成果
Kudzu Javascript
; ,
建靶机环境的人力和物力成本非常大 再者 运行攻击
,
大学提出的
符号执行平台
代码将会对实验系统和实验设备造成难以控制的破
Javascript
; MIT
中的注入漏洞
提出用于检测
Apollo; UC Santa
, 、
坏 甚至可能留下后门 木马等长久性威胁
。
运行时错误的符号执行工具
2
第
种方法通过对各类攻击行为对特征进行整理
Barbara CTF Shellphish
angr
二
和他们的
进制符号执行平台等
目前符号执行引擎主要分为三类 第一类用来分
x86 UC Santa Barbara
团队
提出的
。
和建模 这种方法需要通过各种途径采集攻击流量
,
。
, ,
才能对这些流量加以分析 提取有效数据 根据模型生
:
。 : ,
成仿真的攻击流量 这个方法的缺点在于 首先 在不
,
析
二进制机器码 例如
和他们的
,
搭建靶机的情况下对攻击流量的采集比较困难 很难
CTF
Shellphish
angr
提出的
;
等 第二类用来分析
团队
LLVM
; ,
对各类攻击的流量进行完整采集 其次 这种方法生成
, 2008
项目的中间代码 如
Cristian Cadar
年
基于
,
的仿真攻击流量的可靠性取决于模型的准确性 为了
KLEE
; ,
等 第三类为专用符号执行引擎 这些引
开发的
, 、
模拟真实攻击流量 需要在数据包顺序 流量分布特征
, Berkeley
擎往往针对特定的编程语言 如
大学提出的
有些通用的符号执行引
,
,
等多方面进行模拟 要想逼真地模仿在各种场景下的
Kudzu
MIT
Apollo。
提出的
和
。
各类攻击流量难度很大
,
擎虽然扩展性好 可以支持多种编程语言 但执行效率
3
第
种方法通过从真实的网络安全事件中获取攻
。
击流量 这种方法不适合进行大规模的采集工作
。
; , 、
偏低 专用引擎虽然其限制较多 但是执行效率高 实
因
为并不是网络安全事件的被攻击方都愿意向研究者提
。
用性强
,
供攻击事件相关的信息 有的网络安全攻击事件还会
,
此外 符号执行技术的发展是依赖于求解器技术
。 ,
被受害方主动隐藏 并且这方法也看运气 很难在一
。 ,
的发展的 求解器作为符号执行技术的关键一环 只
。
段时间内发生种类全面的网络安全事件
有能够求解复杂的路径约束问题才能使符号执行技术
4
第
种方法使用符号执行技术对攻击脚本进行静
。
真正有实用价值 而近年来许多求解能力出众的求解
。 ,
态分析 这种方法也存在一定的缺点 受限于攻击脚
,
器逐渐出现 其中以
2015
Z3
年微软开源的 求解器最
,
本使用的编程语言 针对用不同编程语言编写的攻击
。
为著名 该求解器不但在求解能力上克服了多种原本
。
脚本需要分别实现其符号执行引擎 该方法带来的优
,
业内无法解决的非线性问题 还支持大量的编程语
, ,
势就比较明显 由于是静态分析 无需搭建大量靶机环
API。
言
, ,
境 也无需采集各类攻击流量 符号执行技术会遍历攻
Python
PyExZ3、
目前 支 持
CHEF。PyExZ3
z3 SMT
的 符 号 执 行 引 擎 有
Python
,
击脚本的几乎所有分支 生成各种情况下完整的攻击
,
的符号执行引擎
是专门针对
, , ,
流量 而且可以实现自动化执行 方便高效 极大地节
,
求解器 现在只支持对整数类型的符号执
使用
。
约了人力物力成本 同时本文还发现目前很大一部分
,
行 局限性较大
; CHEF
S2E ,
引擎 由此衍生出来
基于
Python
。
语言作为脚本语言
网络攻击脚本都使用
,CHEF
,
引擎作为通用性平台 具有扩
的符号执行引擎
本文研究了一种对现有网络攻击脚本使用符号执
、 ,
展性好 兼容性强的特点 但所付出的代价就是执行效
,
行的攻击流量提取方案 通过该方案可以高效提取所
。
率的低下
,
从目前国内外的相关研究来看 基于
。
需的攻击流量 本文也会进一步对其实际效果进行
Python
语言
。
分析
, ,
的符号执行引擎存在局限性较大 缺乏实用价值 或者
, 。
平台体积庞大 执行效率低下 因此本文介绍一套经
1
相关研究
Python
,
的符号执行引擎为核心的方案 可
过改进的以
。
20
70 ,
年代中期 主
以用于对攻击流量的提取
符号执行最初提出是在
世纪
全部评论(0)