Skip to main content
QUICK REVIEW

[论文解读] A Permission-Dependent Type System for Secure Information Flow Analysis

Hongxu Chen, Alwen Tiu|arXiv (Cornell University)|Sep 27, 2017
Advanced Malware Detection Techniques参考文献 7被引用 3
一句话总结

本文提出了一种依赖权限的类型系统,通过将Android的权限模型整合到基于格的类型安全框架中,以在Android应用程序中强制执行安全的信息流。该系统引入了一种新颖的条件类型规则,结合了安全类型上的合并操作符,能够精确强制执行依赖于运行时权限检查的策略,并通过非干扰性证明了其正确性。该系统通过约束求解支持类型推断,实现了对命令式代码中信息泄露的静态检测。

ABSTRACT

We introduce a novel type system for enforcing secure information flow in an imperative language. Our work is motivated by the problem of statically checking potential information leakage in Android applications. To this end, we design a lightweight type system featuring Android permission model, where the permissions are statically assigned to applications and are used to enforce access control in the applications. We take inspiration from a type system by Banerjee and Naumann (BN) to allow security types to be dependent on the permissions of the applications. A novel feature of our type system is a typing rule for conditional branching induced by permission testing, which introduces a merging operator on security types, allowing more precise security policies to be enforced. The soundness of our type system is proved with respect to a notion of noninterference. In addition, a type inference algorithm is presented for the underlying security type system, by reducing the inference problem to a constraint solving problem in the lattice of security types.

研究动机与目标

  • 为解决Android应用程序中的信息流泄露问题,特别是由权限检查保护的条件逻辑所引发的泄露问题。
  • 设计一种轻量级、可静态分析的类型系统,将Android的权限模型与安全类型结合,以防止显式和隐式的信息流。
  • 通过允许安全类型依赖于特定权限的存在或缺失,实现更精确的安全策略。
  • 通过约束求解支持类型推断,使该系统在真实世界的Android应用分析中具有实用性。
  • 基于非干扰性提供形式化的正确性证明,确保可类型化程序不会泄露敏感信息。

提出的方法

  • 该类型系统在基于格的安全类型模型基础上扩展了权限作为保护机制,使安全类型可根据启用的权限而变化。
  • 为条件语句引入了一种新型类型规则,结合了权限测试,使用安全类型上的合并操作符,将具有不同敏感级别分支的类型进行合并。
  • 安全类型参数化于权限集合,使函数可根据调用者的权限上下文具有多种类型。
  • 该系统将非干扰性建模为一种安全属性,确保低安全级别的输出不会以泄露信息的方式依赖于高安全级别的输入。
  • 类型推断被简化为在安全类型格上的约束求解问题,从而实现无需手动类型注解的自动化分析。
  • 该框架设计为可扩展,目前正在研究支持全局变量、堆内存和面向对象特性的方法。

实验结果

研究问题

  • RQ1如何设计一种类型系统,以在运行时权限检查决定对敏感数据访问的Android应用程序中强制执行安全的信息流?
  • RQ2与传统非干扰类型系统(假设条件分支中安全级别一致)相比,依赖权限的类型系统是否能支持更精确的安全策略?
  • RQ3如何对带有权限检查的条件分支进行静态分析,以防止隐式信息流泄露,同时避免对安全级别进行过度近似?
  • RQ4是否可以设计一种类型推断算法,将此类系统的类型化问题简化为在安全类型格上的约束求解?
  • RQ5该系统是否可以扩展以支持全局变量和动态权限授予等复杂语言特性,同时保持正确性?

主要发现

  • 所提出的类型系统通过允许安全类型依赖于调用应用程序的权限上下文,成功强制执行了非干扰性。
  • 安全类型上的新型合并操作符实现了对不同敏感级别分支的条件语句更精确的类型标注,避免了对返回类型的过度近似。
  • 该系统支持对Android应用程序中信息流的静态分析,且无需运行时修改或与应用商店协作。
  • 通过将类型化问题简化为在安全类型格上的约束求解,开发了一种类型推断算法,实现了自动化。
  • 该框架在非干扰性方面具有正确性,确保可类型化程序中不会发生信息泄露。
  • 该方法具有可扩展性,正在进行的工作表明,全局变量和其他语言特性可被集成,同时保持安全保证。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。