DeepSQLi:深度语义学习测试SQL注入
DeepSQLi: Deep Semantic Learning for Testing SQL Injection
摘要:
安全性无疑是Web应用程序最重要的问题,SQL注入(SQLi)攻击是最具破坏性的攻击之一。自动测试SQLi漏洞至关重要,但不幸的是,实现起来远非易事。这是因为SQL存在着大量或潜在无限的变体和语义可能性,导致对各种Web应用程序的SQLi攻击。在本文中,我们提出了一个深度自然语言处理为基础的工具,称为DeepSQLi,生成测试用例检测SQLi漏洞。通过采用基于深度学习的神经语言模型和单词序列预测,DeepSQLi具备学习SQLi攻击中嵌入的语义知识的能力,使其能够将用户输入(或测试用例)转换为新的测试用例,该测试用例在语义上相关并且可能更复杂。实验进行比较DeepSQLi与SQLmap,一个国家的最先进的SQLi测试自动化工具,在六个真实世界的Web应用程序,是不同的规模,特点和领域。实验结果证明了DeepSQLi相对于SQLmap的有效性和显著优势,可以通过使用更少的测试用例来识别更多的SQLi漏洞,同时运行速度更快。
英文摘要:
Security is unarguably the most serious concern for Web applications, to which SQL injection (SQLi) attack is one of the most devastating attacks. Automatically testing SQLi vulnerabilities is of ultimate importance, yet is unfortunately far from trivial to implement. This is because the existence of a huge, or potentially infinite, number of variants and semantic possibilities of SQL leading to SQLi attacks on various Web applications. In this paper, we propose a deep natural language processing based tool, dubbed DeepSQLi, to generate test cases for detecting SQLi vulnerabilities. Through adopting deep learning based neural language model and sequence of words prediction, DeepSQLi is equipped with the ability to learn the semantic knowledge embedded in SQLi attacks, allowing it to translate user inputs (or a test case) into a new test case, which is semantically related and potentially more sophisticated. Experiments are conducted to compare DeepSQLi with SQLmap, a state-of-the-art SQLi testing automation tool, on six real-world Web applications that are of different scales, characteristics and domains. Empirical results demonstrate the effectiveness and the remarkable superiority of DeepSQLi over SQLmap, such that more SQLi vulnerabilities can be identified by using a less number of test cases, whilst running much faster.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。