通信学报 ›› 2021, Vol. 42 ›› Issue (4): 127-138.doi: 10.11959/j.issn.1000-436x.2021046

• 学术论文 • 上一篇    下一篇

SQLMVED:基于多变体执行的SQL注入运行时防御系统

马博林1, 张铮1, 刘浩2, 邬江兴1   

  1. 1 信息工程大学,河南 郑州 450001
    2 网络通信与安全紫金山实验室,江苏 南京 211100
  • 修回日期:2021-01-28 出版日期:2021-04-25 发布日期:2021-04-01
  • 作者简介:马博林(1993- ),男,河北吴桥人,信息工程大学博士生,主要研究方向为网络空间安全。
    张铮(1976- ),男,湖北黄梅人,博士,信息工程大学副教授,主要研究方向为网络空间安全、高性能计算。
    刘浩(1997- ),男,安徽阜阳人,网络通信与安全紫金山实验室工程师,主要研究方向为网络空间安全。
    邬江兴(1953- ),男,浙江嘉兴人,中国工程院院士,信息工程大学教授,主要研究方向为通信与信息系统、网络空间安全。
  • 基金资助:
    国家自然科学基金资助项目(61521003);国家重点研发计划基金资助项目(2018YFB0804003)

SQLMVED: SQL injection runtime prevention system based on multi-variant execution

Bolin MA1, Zheng ZHANG1, Hao LIU2, Jiangxing WU1   

  1. 1 Information Engineering University, Zhengzhou 450001, China
    2 Purple Mountain Laboratories, Nanjing 211100, China
  • Revised:2021-01-28 Online:2021-04-25 Published:2021-04-01
  • Supported by:
    The National Natural Science Foundation of China(61521003);The National Key Research and Develop-ment Program of China(2018YFB0804003)

摘要:

SQL解析过程中利用随机化进行SQL注入攻击(SQLIA)防御的有效性是建立在攻击者不了解当前系统采用的具体随机化方法的基础上,因此,攻击者一旦掌握了当前系统的随机化形式,便能够实施有效的SQLIA。为了解决该问题,基于多变体执行设计出一种SQL注入运行时防御系统,多变体间采用互不相同的随机化方法,攻击者注入的非法 SQL 无法同时被所有变体解析成功,即使在攻击者掌握了随机化方法的情况下,非法SQL也最多只能被某一变体解析成功,利用表决机制对多变体的响应结果或解析结果进行表决,及时发现异常,阻断SQLIA的攻击路径。面向Web服务实现了原型系统SQLMVED,实验证明该系统能够有效抵御SQLIA。

关键词: SQL注入攻击, 运行时防御, 多变体执行, 随机化

Abstract:

The effectiveness of combining SQL statement parsing with randomization to defend against SQL injection attack (SQLIA) was based on the fact that attackers did not know about the current method of randomization adopted by system.Therefore, once attackers had mastered the current method of randomization who can launch effective SQLIA.In order to solve this problem, a SQL injection runtime prevention system based on multi-variant execution was designed, the multi-variant apply randomization methods from any other, so that illegal SQL statements could not be parsed successfully by all variants.Even if attackers had mastered the method of randomization, illegal SQL statements could only be parsed successfully by a certain variant at most, meanwhile the parsing results of multiple variants were voted to find the abnormality in time and block attack path.The prototype system SQLMVED is implemented for Web services and experiments show that the prototype can effectively defeat SQLIA.

Key words: SQL injection attack, runtime prevention, multi-variant execution, randomization

中图分类号: 

No Suggested Reading articles found!