暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
2019基于模型学习的OpenVPN系统脆弱性分析-申莹珠 , 顾纯祥 , 陈熹 , 张协力 , 卢政宇.pdf
216
15页
0次
2022-05-23
免费下载
软件学报 ISSN 1000-9825, CODEN RUXUEW E-mail: jos@iscas.ac.cn
Journal of Software,2019,30(12):37503764 [doi: 10.13328/j.cnki.jos.005612] http://www.jos.org.cn
©中国科学院软件研究所版权所有. Tel: +86-10-62562563
基于模型学习的 OpenVPN 系统脆弱性分析
申莹珠
1
,
顾纯祥
1,2
,
1
,
张协力
1
,
卢政宇
1
1
(信息工程大学 网络空间安全学院,河南 郑州 450001)
2
(河南省网络密码技术重点实验室,河南 郑州 450001)
通讯作者: 顾纯祥, E-mail:
gcx5209@sohu.com
: OpenVPN 在现实网络中有广泛应用,对其安全性进行评估具有重要的现实意义.基于自动机理论中模
学习的方法,利用协议状态模糊测试的技术对 OpenVPN 系统进行黑盒测试分析,自动化推演出目标 OpenVPN 系统
的状态机.提出了状态机时间压缩模型并进行冗余状态和迁移化简,可以准确得到协议状态机中的行为特征.发现
多条期望行为路径外的特别行为路径及可能的安全隐患, OpenVPN 的安全性评估提供了新的思路与方法,同时
对类似缺少协议规范但应用广泛的安全协议的内部设计细节分析具有重要参考意义.
关键词: OpenVPN;模型学习;状态模糊测试;脆弱性分析;时间压缩模型
中图法分类号: TP311
中文引用格式: 申莹珠,顾纯祥,陈熹,张协力,卢政宇.基于模型学习的 OpenVP N 系统脆弱性分析.软件学报,2019,30(12):
37503764. http ://www.jos.org.cn/1000-9825/5612.htm
英文引用格式: Shen YZ, Gu CX, Chen X, Zhang XL, Lu ZY. Vulnerability analysis of OpenVPN system based on model
learning. Ruan Jian Xue Bao/Journal of Software, 2019,30(12):37503764 (in Chinese). http://www.jos.org.cn/1000-9825/
5612.htm
Vulnerability Analysis o f OpenV PN Syst em Base d on Model L ea rning
SHEN Ying-Zhu
1
, GU Chun-Xiang
1,2
, CHEN Xi
1
, ZHANG Xie-Li
1
, LU Zheng-Yu
1
1
(Information Engineering University, Zhengzhou 450001, China)
2
(He’nan Key Laboratory of Network Cryptography Technology, Zhengzhou 450001, China)
Abstra ct : OpenVPN is widely used in the real network, the assessment of its securit y has important practical significance. In thi s study,
technology of state fuzzing is used to carry out black box test on OpenVPN implementation to infer state machine of the target system
automatically based on model learning method in automata theory. Time co mpression model is proposed and state machine of OpenVPN
is simplified to remove the redundant states and transitions. Then, the behavior characteristics of the protocol state machine will be
obtained accurately to discover a number of special behavior paths and potential security risks outside the expected behavior path. It
provides a new idea for the security evaluation of OpenVPN and has important significance for obtaining the internal design details of
similar security protocols with little specification but widely used.
Key words: OpenVPN; model learning; protocol state fuzzing; vulnerability an alysis and detection; ti me compression mod el
近年来,网络安全协议相关应用的安全性问题越来越受到重视.2014 ,开源加密库 OpenSSL 的重大安全
漏洞心脏出血”(CVE-20 14-0 160) 引起了业界广泛关注,攻击者可以从服务器内存中读取包括用户名、密码和信
用卡号等隐私信息在内的数据,影响波及大量互联网公司.2016 ,OpenSSL 高危漏洞“DROWN” (CVE-2016 -
0800)以及 2017 年的 OpenSSL 拒绝服务漏洞(CVE-2017-3731)也同样为网络协议的安全性敲响了警钟.因此,
基金项目: 国家自然科学基金(61502533); 河南省自然科学基金(162300410335)
Foundation item: National Natural Science Foundation of China (61502533); Natural Science Foundation of He’nan Province of
China (162300410335)
收稿时间: 2017-12-07; 修改时间: 2018-04-22; 采用时间: 2018-05-29
申莹珠 :基于模型学习的 OpenVPN 系统脆弱性分析
3751
何对网络安全协议的安全性进行评估、尽快尽早发现其协议实现中的脆弱点,保护用户隐私数据安全可靠就显
得格外重要.OpenVPN 是一款基于 OpenSSL 库的应用层虚拟专用通道(VPN), TLS 之上建立安全的数据传输
隧道,实现身份认证、数据加密、完整性保护和访问控制.OpenVPN 在真实网络中被广泛部署且常应用于大型
企业之中,对其进行脆弱性分析有着重要的现实意义.
协议脆弱性分析检测技术也叫协议漏洞挖掘技术.传统的漏洞挖掘技术主要依赖于安全人员的人工分析
与测试,而模糊测试技术简单、有效、自动化程度比较高,是目前进行安全测试最有效的方法,被广泛应用于
Web、系统、应用程序的漏洞挖掘.由于它一般属于黑盒测,通过构造有效的畸形数据进行测试,此该技术
的代码覆盖率相对较低.2015 ,Gascon 等人
[1]
提出了可对私有协议进行态式黑盒模糊测试的 PULSAR 系统,
通过将模糊测试与协议逆向、模拟自动化执行技术结合,提高了协议状态探索空间,能够挖掘协议实现中的深
层漏洞;2016 ,Ma 等人
[2]
优化测试数据生成方法,提出了使用基于规则的状态机和状态规则树来生成模糊测
试的数据,与传统模糊测试方法相比,使用更少的测试数据找到脆弱点,提高了测试效率;201 7 ,Kang 等人
[3]
出了一种结合静态分析和动态分析的智能模糊测试系统,在提高检测有效性的同时,减少了误报率和漏报率.
协议状态机推断是脆弱性分析非常关键的内容.2015 ,de Ruiter 提出了通过模型学习的方法分析具体
TLS 实现的安全性
[4]
,该方法在仅采用黑盒测试的情况下,应用状态机学习自动推断出了协议实现的状态机,
通过观察推断出来的状态机来检测可能由程序逻辑漏洞引起的异常行;Beurdouche 等人
[5]
也提出了类似的
通过系统测试非正常 TLS 消息流以检测协议实现中是否存在脆弱性的方法,并在测试中发现了新漏洞.2016
,Ruiter 带领团队在其前期工作的基础上继续进行了许多相关研究:Ruiter 进一步对过去 14 年以来的
OpenSSL 以及 LibreSSL 的具体实现进行了并行自动化协议状态模糊测试,通过自动化学习, 145 个不同版本
的服务器端和客户端构建了状态机,并分析相关实现的安全性
[6]
;Verleg 则针对 OpenSSH 推断出了 6 SSH
务器的状态机,验证了协议状态机推断方法的通用性和可行性
[7]
.同年,So mor ovsky 提出了基于已知漏洞专家库
的分阶段模糊测试框架 TLS-attacker
[8]
,能够提供简单接口支持定制 TLS 消息流,并允许任意修改消息中的内
,从而实现对 TLS 库安全性的评估.2017 ,Ruiter 团队的 Lenaerts
[9]
Ve r l e g 的方法
[7]
进行了改进, Ve r l e g
分别对 SSH 协议的 3 个子层协议进行模型学习与检测的方法整合为统一的模型学习与检测,提出了对 SSH
务器模型进行状态安全检测的新方法;同年,Veldhuizen 针对 IPSEC 也进行了协议状态机推断并分析
[10]
.
Novickis
[11]
2016 年将模型学习的方法扩展到 OpenVPN 协议进行研究分析,试图推断出 OpenVPN 系统的状
态机,但在过程中遇到了许多困难最终并未实现目标.
本文基于模型学习的方法,利用协议状态模糊测试技术, OpenVPN 2.0.9 服务器端进行了模型学习和一
致性检测,自动推演出目标系统的协议实现状态机,并对其状态机模型进行化简,对其实现逻辑及过程进行详细
分析;提出了一种状态机时间压缩模型,与原始状态机及同版本 OpenSSL 状态机进行对比分析.结果表明:利用
经化简后的模型可以更方便迅速地识别协议状态机中正常的和特殊的状态迁移路径,从而提高 OpenVPN 脆弱
性检测与分析的效率.
1 基础知识
1.1 OpenVPN 协议
VPN(虚拟专用通道)是企业与企业或者个人与企业之间安全数据传输的隧道,提供了身份认证、数据加密、
完整性保护和访问控制安全服务.OpenVPN 是一款基于 Ope n SSL 库的应用层 VPN 实现,由于其简单易用的特
性而被广泛部署.OpenVPN 依赖 OpenSSL 的安全性,在客户端和服务器端通过指定端口建立 TCP/UDP(一般默
认使用 UDP)安全隧道,然后在该 TLS 隧道中加密通信数据,隧道示意如图 1 所示.
OpenVPN 协议 TLS 模式下的实现
OpenVPN 提供了两种完全不同的认证模:TLS 模式和预共享静态密(PSK)模式.预共享静态密钥模式
使用预共享静态密钥认证身份并加密.TLS 模式采用使用证书的 SSL/TLS 协议进行身份验证、建立安全隧道、
交换对称会话密钥,并使用会话密钥加密数据隧道.TLS 模式由于能够保证安全地分发和更新对称密钥,进而在
of 15
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜