4 research outputs found

    DroidRA: Taming Reflection to Support Whole-Program Analysis of Android Apps

    Get PDF
    Android developers heavily use reflection in their apps for legitimate reasons, but also significantly for hiding malicious actions. Unfortunately, current state-of-the-art static analysis tools for Android are challenged by the presence of reflective calls which they usually ignore. Thus, the results of their security analysis, e.g., for private data leaks, are inconsistent given the measures taken by malware writers to elude static detection. We propose the DroidRA instrumentation-based approach to address this issue in a non-invasive way. With DroidRA, we reduce the resolution of reflective calls to a composite constant propagation problem. We leverage the COAL solver to infer the values of reflection targets and app, and we eventually instrument this app to include the corresponding traditional Java call for each reflective call. Our approach allows to boost an app so that it can be immediately analyzable, including by such static analyzers that were not reflection-aware. We evaluate DroidRA on benchmark apps as well as on real-world apps, and demonstrate that it can allow state-of-the-art tools to provide more sound and complete analysis results

    SYSTEMATIC DISCOVERY OF ANDROID CUSTOMIZATION HAZARDS

    Get PDF
    The open nature of Android ecosystem has naturally laid the foundation for a highly fragmented operating system. In fact, the official AOSP versions have been aggressively customized into thousands of system images by everyone in the customization chain, such as device manufacturers, vendors, carriers, etc. If not well thought-out, the customization process could result in serious security problems. This dissertation performs a systematic investigation of Android customization’ inconsistencies with regards to security aspects at various Android layers. It brings to light new vulnerabilities, never investigated before, caused by the under-regulated and complex Android customization. It first describes a novel vulnerability Hare and proves that it is security critical and extensive affecting devices from major vendors. A new tool is proposed to detect the Hare problem and to protect affected devices. This dissertation further discovers security configuration changes through a systematic differential analysis among custom devices from different vendors and demonstrates that they could lead to severe vulnerabilities if introduced unintentionally

    Security-Pattern Recognition and Validation

    Get PDF
    The increasing and diverse number of technologies that are connected to the Internet, such as distributed enterprise systems or small electronic devices like smartphones, brings the topic IT security to the foreground. We interact daily with these technologies and spend much trust on a well-established software development process. However, security vulnerabilities appear in software on all kinds of PC(-like) platforms, and more and more vulnerabilities are published, which compromise systems and their users. Thus, software has also to be modified due to changing requirements, bugs, and security flaws and software engineers must more and more face security issues during the software design; especially maintenance programmers must deal with such use cases after a software has been released. In the domain of software development, design patterns have been proposed as the best-known solutions for recurring problems in software design. Analogously, security patterns are best practices aiming at ensuring security. This thesis develops a deeper understanding of the nature of security patterns. It focuses on their validation and detection regarding the support of reviews and maintenance activities. The landscape of security patterns is diverse. Thus, published security patterns are collected and organized to identify software-related security patterns. The description of the selected software-security patterns is assessed, and they are compared against the common design patterns described by Gamma et al. to identify differences and issues that may influence the detection of security patterns. Based on these insights and a manual detection approach, we illustrate an automatic detection method for security patterns. The approach is implemented in a tool and evaluated in a case study with 25 real-world Android applications from Google Play

    Solution centralisée de contrôle d'accès basée sur la réécriture d'applications pour la plateforme Android

    Get PDF
    Bien que les méthodes API offrent de nombreux avantages ainsi qu'un grand confort lors de l'utilisation des applications Android, l'utilisation de ces dernières par des applications malicieuses peut être potentiellement dangereuse. Surtout que l'exploitation de ces méthodes par les applications malsaines n'est pas forcement détectée comme étant une action de malware. La présente étude s'intéresse à des contextes dans lesquels certains appels de méthodes API par certaines applications ne sont pas acceptables. Ces contextes peuvent être créés par une application ou par la collaboration entre plusieurs applications. L'approche proposée par la présente étude est basée sur la réécriture des applications. En effet, un Framework de réécriture d'applications y est présenté. Celui-ci permet l'injection de certaines portions de code, responsables de la communication avec un contrôleur d'applications. Ce dernier est une application Android tierce partie, se basant principalement sur des politiques de sécurité pour le contrôle de l'ensemble des applications en temps réel. Les résultats montrent que la solution présentée dans cette étude permet de contrôler tous les appels API sollicités par les applications malsaines, et de lutter contre la collaboration entre ces dernières pour toute tentative de création de contexte malicieux
    corecore