首页> 外文学位 >Reverse-engineering and analysis of access control models in web applications.
【24h】

Reverse-engineering and analysis of access control models in web applications.

机译:Web应用程序中访问控制模型的逆向工程和分析。

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

摘要

Nowadays, Web applications are ubiquitous and deal with increasingly large amounts of confidential data. In order to protect these data from malicious users, security mechanisms must be put in place. Securing software, however, is an extremely difficult task since a single breach is often sufficient to compromise the security of a system. Therefore, it is not surprising that day after day, we hear about cyberattacks and confidential data leaks in the news. To give the reader an idea, various reports suggest that between 85% and 98% of websites contain at least one serious vulnerability.;In this thesis, we focus on one particular aspect of software security that is access control models. Access control models are critical security components that define the actions a user can and cannot do in a system. Year after year, several security organizations report access control flaws among the most prevalent and critical flaws in Web applications. However, contrary to other types of security flaws such as SQL injection (SQLi) and cross-site scripting (XSS), access control flaws comparatively received little attention from the research community. This research work attempts to reverse this trend.;While application security and access control models are the main underlying themes of this thesis, our research work is also strongly anchored in software engineering. You will observe that our work is always based on real-worldWeb applications and that the approaches we developed are always built in a such way as to minimize the amount of work on that is required from developers. In other words, this thesis is about practical software security.;In the context of this thesis, we tackle the highly challenging problem of investigating unspecified and often undocumented access control models in open source Web applications. Indeed, access control flaws occur when some user is able to perform operations he should not be able to do or access data he should be denied access to. In the absence of security specifications, determining who should have the authorization to perform specific operations or access specific data is not straightforward.;In order to overcome this challenge, we first developed a novel approach, called the Security Pattern Traversal (SPT) analysis, to reverse-engineer access control models from the source code of applications in a fast, precise and scalable manner. Results from SPT analysis give a portrait of the access control model as implemented in an application and serve as a baseline for further analyzes.;For example, real-world Web application, often define several hundred privileges that protect hundreds of different functions and modules. As a consequence, access control models, as reverse-engineered by SPT analysis, can be difficult to interpret from a developer point of view, due to their size. In order to provide better support to developers, we explored how Formal Concept Analysis (FCA) could facilitate comprehension by providing visual support as well as automated reasoning about the extracted access control models. Results indeed revealed how FCA could highlight properties about implemented access control models that are buried deep into the source code of applications, that are invisible to administrators and developers, and that can cause misunderstandings and vulnerabilities.;Through investigation and observation of several Web applications, we also identified recurring and cross-application error-prone patterns in access control models. The second half of this thesis presents the approaches we developed to leverage SPT results to automatically capture these patterns that lead to access control flaws such as forced browsing vulnerabilities, semantic errors and security-discordant clone based errors. Each of these approaches interpret SPT analysis results from different angles to identify different kinds of access control flaws in Web applications.;Forced browsing vulnerabilities occur when security-sensitive resources are not protected against direct access to their URL. Using results from SPT, we showed how we can detect such vulnerabilities in a precise and very fast (up to 890 x faster than state of the art) way.;Semantic errors occur when security-sensitive resources are protected by semantically wrong privileges. To give the reader an idea, in the context of a Web application, protecting access to administrative resources with a privilege that is designed to restrict file uploads is an example of semantic error. To our knowledge, we were the first to tackle this problem and to successfully detect semantic errors in access control models. We achieved such results by interpreting results from SPT in the light of a natural language processing technique called Latent Dirichlet Allocation.;Finally, by investigating SPT results in the light of software clones, we were able to detect yet other novel access control flaws. Simply put, we explored the intuition that code clones, that are blocks of code that are syntactically similar, are expected to perform similar operations in a system and, consequently, be protected by similar privileges. By investigating clones that are protected in different ways, called security-discordant clones, we were able to report several novel access control flaws in the investigated systems.
机译:如今,Web应用程序无处不在,并且处理越来越多的机密数据。为了保护这些数据免遭恶意用户的侵害,必须建立安全机制。但是,保护软件安全是一项极其艰巨的任务,因为单个漏洞通常足以损害系统的安全性。因此,日复一日,我们听到有关网络攻击和机密数据泄漏的消息并不奇怪。为了使读者有所了解,各种报告都建议在85%至98%的网站中至少包含一个严重漏洞。在本论文中,我们重点研究软件安全性的一个特定方面,即访问控制模型。访问控制模型是关键的安全组件,用于定义用户在系统中可以执行和不能执行的操作。年复一年,一些安全组织报告访问控制漏洞是Web应用程序中最普遍和最严重的漏洞。但是,与其他类型的安全漏洞(例如SQL注入(SQLi)和跨站点脚本(XSS))相反,访问控制漏洞相对较少受到研究社区的关注。这项研究工作试图扭转这种趋势。虽然应用程序安全性和访问控制模型是本论文的主要主题,但我们的研究工作也牢固地扎根于软件工程。您会发现,我们的工作始终基于真实世界的Web应用程序,并且我们开发的方法始终以减少开发人员所需工作量的方式构建。换句话说,本论文是关于实用的软件安全性的。在本论文的上下文中,我们解决了研究开源Web应用程序中未指定且通常未记录的访问控制模型这一极具挑战性的问题。确实,当某些用户能够执行他不应该执行的操作或访问应该被拒绝访问的数据时,就会发生访问控制缺陷。在缺乏安全规范的情况下,确定谁应该有权执行特定操作或访问特定数据并不容易。为了克服这一挑战,我们首先开发了一种新颖的方法,称为安全模式遍历(SPT)分析,从应用程序的源代码以快速,精确和可扩展的方式对访问控制模型进行逆向工程。 SPT分析的结果提供了在应用程序中实现的访问控制模型的画像,并用作进一步分析的基准。例如,实际的Web应用程序通常定义数百个特权,以保护数百个不同的功能和模块。结果,由于SPT分析的逆向工程,访问控制模型的规模可能难以解释。为了向开发人员提供更好的支持,我们探索了形式概念分析(FCA)如何通过提供可视化支持以及对提取的访问控制模型的自动推理来促进理解。结果确实揭示了FCA如何能够突出显示已实现的访问控制模型的属性,这些属性已深深地嵌入到应用程序的源代码中,对于管理员和开发人员而言是不可见的,并且可能引起误解和漏洞。通过调查和观察多个Web应用程序,我们还确定了访问控制模型中反复出现的和跨应用程序易于出错的模式。本文的下半部分介绍了我们开发的利用SPT结果自动捕获这些模式的方法,这些模式会导致访问控制漏洞,例如强制浏览漏洞,语义错误和基于安全性不一致的克隆错误。这些方法中的每一种都从不同的角度解释SPT分析结果,以识别Web应用程序中不同类型的访问控制漏洞。当无法保护安全敏感型资源无法直接访问其URL时,就会发生强制浏览漏洞。使用SPT的结果,我们展示了如何以精确,非常快的方式(比现有技术快890倍)检测到此类漏洞。当语义敏感的特权保护对安全敏感的资源时,就会发生语义错误。为了使读者理解,在Web应用程序的上下文中,使用旨在限制文件上载的特权来保护对管理资源的访问是语义错误的一个示例。据我们所知,我们是第一个解决此问题并成功检测访问控制模型中的语义错误的人。我们通过一种称为Latent Dirichlet Allocation的自然语言处理技术来解释SPT的结果,从而获得了此类结果。最后,通过根据软件克隆研究SPT的结果,我们能够检测到其他新颖的访问控制缺陷。简而言之,我们探索了代码克隆的直觉是语法上相似的代码块,它们期望在系统中执行相似的操作,因此受到相似的特权保护。通过研究以不同方式保护的克隆(称为安全不一致克隆),我们能够报告所研究系统中的几种新颖的访问控制漏洞。

著录项

  • 作者

    Gauthier, Francois.;

  • 作者单位

    Ecole Polytechnique, Montreal (Canada).;

  • 授予单位 Ecole Polytechnique, Montreal (Canada).;
  • 学科 Electrical engineering.;Computer science.
  • 学位 Ph.D.
  • 年度 2014
  • 页码 202 p.
  • 总页数 202
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

  • 入库时间 2022-08-17 11:54:03

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号