Verifying client-side input validation functions using string analysis

Verifying client-side input validation functions using string analysis
复制标题

使用字符串分析验证客户端输入验证函数

DOI:
10.1109/icse.2012.6227124
复制
发表时间:
2012
期刊:
2012 34th International Conference on Software Engineering (ICSE)
影响因子:
--
通讯作者:
J. L. Gallegos
J. L. Gallegos
中科院分区:
--
文献类型:
--
作者:
Muath Alkhalaf;T. Bultan;J. L. Gallegos

文献摘要

参考文献

被引文献

相似文献

由于强大的客户端编程语言(如JavaScript)的流行,web应用程序中的客户端计算正变得越来越普遍。客户端计算通常用于在用户输入发送到服务器之前对其进行验证,从而提高应用程序的响应能力。在本文中,我们提出了一种分析技术,用于检查客户端输入验证函数是否符合给定的策略。在我们的方法中,输入验证策略使用两个正则表达式表示,一个指定最大策略(应该允许的输入集的上界),另一个指定最小策略(应该允许的输入集的下界)。通过我们的分析,我们可以确定两种类型的错误:1)输入验证函数接受最大策略不允许的输入,或2)输入验证函数拒绝最小策略允许的输入。我们使用动态切片来自动从web应用程序中提取输入验证函数,并使用基于自动机的字符串分析来分析提取的函数。我们的实验表明,我们的方法在查找输入验证函数中的错误方面是有效的,这些函数是我们从实际应用程序和JavaScript教学教程和书籍中收集的。
Client-side computation in web applications is becoming increasingly common due to the popularity of powerful client-side programming languages such as JavaScript. Clientside computation is commonly used to improve an application's responsiveness by validating user inputs before they are sent to the server. In this paper, we present an analysis technique for checking if a client-side input validation function conforms to a given policy. In our approach, input validation policies are expressed using two regular expressions, one specifying the maximum policy (the upper bound for the set of inputs that should be allowed) and the other specifying the minimum policy (the lower bound for the set of inputs that should be allowed). Using our analysis we can identify two types of errors 1) the input validation function accepts an input that is not permitted by the maximum policy, or 2) the input validation function rejects an input that is permitted by the minimum policy. We implemented our analysis using dynamic slicing to automatically extract the input validation functions from web applications and using automata-based string analysis to analyze the extracted functions. Our experiments demonstrate that our approach is effective in finding errors in input validation functions that we collected from real-world applications and from tutorials and books for teaching JavaScript.
DOI: 10.1145/1060745.1060809
发表时间: 2005-05
期刊: --
影响因子: --
作者:
Yasuhiko Minamide
通讯作者: Yasuhiko Minamide
DOI: --
发表时间: 2010
期刊:
影响因子: --
作者:
Kitazaki;M.;Nick Campbell;ニック・キャンベル;Kimiko GOTO;ニック・キャンベル;ニック・キャンベル
通讯作者: ニック・キャンベル