DCert: Find the Leak in Your Pocket
This addresses security vulnerabilities in mobile app analysis for developers and users, though it is incremental as it builds on existing static analysis methods.
The authors tackled the challenge of ensuring secure data-flow analysis for mobile applications by introducing DCert, a tool that separates heavy analysis on a conventional computer from lightweight checking on mobile devices, with experiments showing it can validate certificates in linear time relative to application size.
Static data-flow analysis has proven its effectiveness in assessing security of applications. One major challenge it faces is scalability to large software. This issue is even exacerbated when additional limitations on computing and storage resources are imposed, as is the case for mobile devices. In such cases the analysis is performed on a conventional computer. This poses two problems. First, a man-in-the-middle attack can tamper with an analyzed application. So once on the mobile device, what guarantees that the actual version is not corrupt. Second, the analysis itself might be broken leading to an erroneous result. As a solution, we present DCert a tool for checking and certifying data-flow properties that consists of two components: a (heavy- weight) analyzer and a (lightweight) checker. The analyzer is deployed on a conventional computer. It verifies the conformance of a given application to a specified policy and generates a certificate attesting the validity of the analysis result. It suffices then for the checker, on a mobile device, to perform a linear pass in the application size to validate or refute the certificate as well as the policy. This allows us to separate the verification and the checking process while ensuring a trust relationship between them via the certificate. We describe DCert and report on experimental results obtained for real-world applications.