首页> 外文会议>Software Engineering Conference, 2006. Australian >Preventing SQL injection attacks in stored procedures
【24h】

Preventing SQL injection attacks in stored procedures

机译:防止存储过程中的SQL注入攻击

获取原文

摘要

An SQL injection attack targets interactive Web applications that employ database services. These applications accept user inputs and use them to form SQL statements at runtime. During an SQL injection attack, an attacker might provide malicious SQL query segments as user input which could result in a different database request. By using SQL injection attacks, an attacker could thus obtain and/or modify confidential/sensitive information. An attacker could even use a SQL injection vulnerability as a rudimentary IP/Port scanner of the internal corporate network. Several papers in literature have proposed ways to prevent SQL injection attacks in the application layer by examining dynamic SQL query semantics at runtime. However, very little emphasis is laid on securing stored procedures in the database layer which could also suffer from SQL injection attacks. Some papers in literature even refer to stored procedures as a remedy against SQL injection attacks. As stored procedures reside on the database front, the methods proposed by them cannot be applied to secure stored procedures themselves. In this paper, we propose a novel technique to defend against the attacks targeted at stored procedures. This technique combines static application code analysis with runtime validation to eliminate the occurrence of such attacks. In the static part, we design a stored procedure parser, and for any SQL statement which depends on user inputs, we use this parser to instrument the necessary statements in order to compare the original SQL statement structure to that including user inputs. The deployment of this technique can be automated and used on a need-only basis. We also provide a preliminary evaluation of the results of the technique proposed, as performed on several stored procedures in the SQL Server 2005 database.
机译:SQL注入攻击针对使用数据库服务的交互式Web应用程序。这些应用程序接受用户输入,并在运行时使用它们来形成SQL语句。在SQL注入攻击期间,攻击者可能会提供恶意SQL查询段作为用户输入,这可能会导致不同的数据库请求。通过使用SQL注入攻击,攻击者可以获取和/或修改机密/敏感信息。攻击者甚至可以使用SQL注入漏洞作为内部公司网络的基本IP /端口扫描程序。文献中有几篇论文提出了通过在运行时检查动态SQL查询语义来防止应用程序层中的SQL注入攻击的方法。但是,很少强调在数据库层中保护存储过程的安全,这也可能遭受SQL注入攻击。某些文献甚至将存储过程称为对SQL注入攻击的一种补救措施。由于存储过程位于数据库前端,因此它们提出的方法不能应用于安全的存储过程本身。在本文中,我们提出了一种新颖的技术来防御针对存储过程的攻击。该技术将静态应用程序代码分析与运行时验证相结合,以消除此类攻击的发生。在静态部分,我们设计了一个存储过程解析器,对于依赖用户输入的任何SQL语句,我们都使用该解析器来检测必要的语句,以便将原始SQL语句结构与包括用户输入的结构进行比较。此技术的部署可以自动化,并且仅在需要时使用。我们还对在SQL Server 2005数据库中的几个存储过程上执行的建议技术的结果进行了初步评估。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号