首页> 外文学位 >Path sensitive static program analysis for web applications.
【24h】

Path sensitive static program analysis for web applications.

机译:Web应用程序的路径敏感静态程序分析。

获取原文
获取原文并翻译 | 示例

摘要

Web applications are pervasive these days. They are becoming the platforms for our daily activities such as reading, shopping, banking, social networking, gaming, and even working. While they are replacing the role of traditional PC-based software applications, they also inevitably inherit the complexity and error-proneness of those applications. Given that valuable and sensitive data are processed and stored by web applications, program defects could pose serious threats to user experience, data integrity, and information security.;To locate these problems automatically, we develop static program analysis techniques on both client-side and server-side scripts to identify various kinds of flaws including concurrency issues in JavaScript, server-side external resource contention problems and Remote Code Execution vulnerabilities. The analysis focuses on encoding a web application to datalog languages or constraints. The constraints generated from the analysis are resolved to identify defects.;In the path-sensitive analysis, web applications are modeled as constraints; solving such constraints identifies the failure inducing path and inputs. Since web applications are string-intensive, the key challenge is to reason about string and non-string constraints cohesively. However, such capabilities are limited in existing constraint solvers. Many support either only non-string operations or only string operations. Some can handle both but they have limitations in expressiveness, applicability and efficiency. Thus, we develop Z3-str, a new general purpose string solver, on top of one of the most popular SMT engines, Z3, to support cohesive solving of string and non-string constraints.;We also propose a practical deterministic procedure to decide the satisfiability of string equations. This is the underlying theory of Z3-str. It leverages the practical insights we have gained from real-world application analysis, and is consequently considerably easier to analyze and implement without losing much expressiveness.
机译:如今,Web应用程序无处不在。它们正在成为我们日常活动的平台,例如阅读,购物,银行业务,社交网络,游戏甚至工作。当它们取代传统的基于PC的软件应用程序的角色时,它们也不可避免地继承了那些应用程序的复杂性和易错性。鉴于有价值的敏感数据是由Web应用程序处理和存储的,程序缺陷可能会对用户体验,数据完整性和信息安全性构成严重威胁。为了自动定位这些问题,我们在客户端和客户端开发了静态程序分析技术服务器端脚本,用于识别各种缺陷,包括JavaScript中的并发问题,服务器端外部资源争用问题和远程代码执行漏洞。该分析着重于将Web应用程序编码为数据记录语言或约束。解决了分析产生的约束以识别缺陷。在路径敏感分析中,将Web应用程序建模为约束;解决此类约束条件可确定导致故障的路径和输入。由于Web应用程序是字符串密集型的,因此关键的挑战是要以内聚的方式推理字符串和非字符串约束。但是,这种功能在现有的约束求解器中受到限制。许多仅支持非字符串操作或仅支持字符串操作。有些可以处理这两种情况,但它们在表达性,适用性和效率方面都有局限性。因此,在最流行的SMT引擎之一Z3的基础上,我们开发了一种新型的通用字符串求解器Z3-str,以支持字符串和非字符串约束的内聚求解。我们还提出了一种实用的确定性过程来确定字符串方程式的可满足性。这是Z3-str的基础理论。它利用了我们从实际应用程序分析中获得的实践见解,因此在不损失很多表达能力的情况下,分析和实现起来相当容易。

著录项

  • 作者

    Zheng, Yunhui.;

  • 作者单位

    Purdue University.;

  • 授予单位 Purdue University.;
  • 学科 Computer science.
  • 学位 Ph.D.
  • 年度 2014
  • 页码 174 p.
  • 总页数 174
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号