Table of Contents
Fetching ...

SeMA: Extending and Analyzing Storyboards to Develop Secure Android Apps

Joydeep Mitra, Venkatesh-Prasad Ranganath, Torben Amtoft, Mike Higgins

TL;DR

SeMA addresses the problem of Android app vulnerabilities by shifting security considerations to the design phase. It extends storyboards into extended storyboards that encode app identity, screens, widgets, resources, operations, and transitions, and it integrates information flow analysis and rule checking to verify confidentiality and integrity properties before code generation. The approach is validated through a Ghera-based evaluation showing SeMA detected or prevented 49 of 60 vulnerabilities, and a usability study with ten developers indicating reduced development time and enhanced vulnerability awareness. The work provides public artifacts and tooling for Android Studio, underscoring SeMA's practical significance for enabling secure software development by design.

Abstract

Mobile apps provide various critical services, such as banking, communication, and healthcare. To this end, they have access to our personal information and have the ability to perform actions on our behalf. Hence, securing mobile apps is crucial to ensuring the privacy and safety of its users. Recent research efforts have focused on developing solutions to secure mobile ecosystems (i.e., app platforms, apps, and app stores), specifically in the context of detecting vulnerabilities in Android apps. Despite this attention, known vulnerabilities are often found in mobile apps, which can be exploited by malicious apps to harm the user. Further, fixing vulnerabilities after developing an app has downsides in terms of time, resources, user inconvenience, and information loss. In an attempt to address this concern, we have developed SeMA, a mobile app development methodology that builds on existing mobile app design artifacts such as storyboards. With SeMA, security is a first-class citizen in an app's design -- app designers and developers can collaborate to specify and reason about the security properties of an app at an abstract level without being distracted by implementation level details. Our realization of SeMA using Android Studio tooling demonstrates the methodology is complementary to existing design and development practices. An evaluation of the effectiveness of SeMA shows the methodology can detect and help prevent 49 vulnerabilities known to occur in Android apps. Further, a usability study of the methodology involving ten real-world developers shows the methodology is likely to reduce the development time and help developers uncover and prevent known vulnerabilities while designing apps.

SeMA: Extending and Analyzing Storyboards to Develop Secure Android Apps

TL;DR

SeMA addresses the problem of Android app vulnerabilities by shifting security considerations to the design phase. It extends storyboards into extended storyboards that encode app identity, screens, widgets, resources, operations, and transitions, and it integrates information flow analysis and rule checking to verify confidentiality and integrity properties before code generation. The approach is validated through a Ghera-based evaluation showing SeMA detected or prevented 49 of 60 vulnerabilities, and a usability study with ten developers indicating reduced development time and enhanced vulnerability awareness. The work provides public artifacts and tooling for Android Studio, underscoring SeMA's practical significance for enabling secure software development by design.

Abstract

Mobile apps provide various critical services, such as banking, communication, and healthcare. To this end, they have access to our personal information and have the ability to perform actions on our behalf. Hence, securing mobile apps is crucial to ensuring the privacy and safety of its users. Recent research efforts have focused on developing solutions to secure mobile ecosystems (i.e., app platforms, apps, and app stores), specifically in the context of detecting vulnerabilities in Android apps. Despite this attention, known vulnerabilities are often found in mobile apps, which can be exploited by malicious apps to harm the user. Further, fixing vulnerabilities after developing an app has downsides in terms of time, resources, user inconvenience, and information loss. In an attempt to address this concern, we have developed SeMA, a mobile app development methodology that builds on existing mobile app design artifacts such as storyboards. With SeMA, security is a first-class citizen in an app's design -- app designers and developers can collaborate to specify and reason about the security properties of an app at an abstract level without being distracted by implementation level details. Our realization of SeMA using Android Studio tooling demonstrates the methodology is complementary to existing design and development practices. An evaluation of the effectiveness of SeMA shows the methodology can detect and help prevent 49 vulnerabilities known to occur in Android apps. Further, a usability study of the methodology involving ten real-world developers shows the methodology is likely to reduce the development time and help developers uncover and prevent known vulnerabilities while designing apps.

Paper Structure

This paper contains 90 sections, 3 theorems, 3 equations, 7 figures, 16 tables.

Key Result

Theorem B.1

If an app is in a configuration $(sid,\sigma)$, then $\exists (sid^\prime,\sigma^\prime) : \langle app, \space(sid,\sigma) \rangle \rightarrow \langle app,(sid^\prime,\sigma^\prime) \rangle$, or $\langle app, \space(sid,\sigma) \rangle \rightarrow (\perp,erase(\sigma,\sigma))$

Figures (7)

  • Figure 1: Development Process in SeMA
  • Figure 2: Diagrammatic representation of an initial storyboard of an app in SeMA, which is also a traditional storyboard.
  • Figure 3: Diagrammatic representation of an extended storyboard. The (information) bubbles are not part of the storyboard.
  • Figure 4: Code generated for the Contacts screen in the storyboard depicted in fig:story_ex
  • Figure 5: Example illustrating a data injection vulnerability. The (information) bubbles are not part of the storyboard.
  • ...and 2 more figures

Theorems & Definitions (6)

  • Theorem B.1
  • Lemma B.2
  • proof
  • proof
  • Theorem C.1
  • proof