一句话:提出 SALMA,通过运行时监控、行为自适应与增量安全分析防御 Android 组件间通信攻击。
现有 Android 应用安全机制(静态与动态分析)难以应对日益动态、复杂的组件间通信攻击:静态分析误报多,动态分析漏报多,且面对应用增删、权限变更、组件动态通信等增量变化时需重复全量分析,效率低。为此,作者提出 SALMA——一种自我保护 Android 软件系统,在运行时监控自身并自适应行为以预防安全风险。SALMA 维护以 Multiple-Domain-Matrix 表示的精确架构模型,并在系统变化时进行增量分析,确定受影响部分和所需安全分析子集,从而提升性能。在数百个真实应用上的实验表明,SALMA 具备可扩展性与效率,能运行时以最小干扰检测并阻止安全攻击。
The current security mechanisms for Android apps, both static and dynamic analysis approaches, are insufficient for detection and prevention of the increasingly dynamic and sophisticated security attacks. Static analysis approaches suffer from false positives whereas dynamic analysis approaches suffer from false negatives. Moreover, they all lack the ability to efficiently analyze systems with incremental changes—such as adding/removing apps, granting/revoking permissions, and dynamic components’ communications. Each time the system changes, the entire analysis needs to be repeated, making the existing approaches inefficient for practical use. To mitigate their shortcomings, we have developed SALMA, a novel self-protecting Android software system that monitors itself and adapts its behavior at runtime to prevent a wide-range of security risks. SALMA maintains a precise architectural model, represented as a Multiple-Domain-Matrix, and incrementally and efficiently analyzes an Android system in response to incremental system changes. The maintained architecture is used to reason about the running Android system. Every time the system changes, SALMA determines (1) the impacted part of the system, and (2) the subset of the security analyses that need to be performed, thereby greatly improving the performance of the approach. Our experimental results on hundreds of real-world apps corroborate SALMA’s scalability and efficiency as well as its ability to detect and prevent security attacks at runtime with minimal disruption.