sema a design methodology for building secure android apps
play

SeMA: A Design Methodology for Building Secure Android Apps Joydeep - PowerPoint PPT Presentation

SeMA: A Design Methodology for Building Secure Android Apps Joydeep Mitra Venkatesh-Prasad Ranganath Department of Computer Science Kansas State University, USA Internatjonal Workshop on Advances in Mobile App Analysis (A-Mobile 2019) San


  1. SeMA: A Design Methodology for Building Secure Android Apps Joydeep Mitra Venkatesh-Prasad Ranganath Department of Computer Science Kansas State University, USA Internatjonal Workshop on Advances in Mobile App Analysis (A-Mobile 2019) San Diego, USA November 11, 2019

  2. Context • Storyboards are used to capture the UI+UX of an app • Security is crucial to the UX of a mobile app • Current UX design process of an app is limited in terms of security reasoning • Can reasoning about security be baked into the design process of an app?

  3. What is mobile app storyboarding? A storyboard is a sequence of images that serves as a specifjcatjon of the user observed behavior in terms of screens and transitjons between screens

  4. Limitatjons of Current Mobile App Storyboarding Approaches/Tools • Inability to specify of non-UI behavior • Inability to enable collaboratjon between app designers and app developers • Inability to reason about non functjonal propertjes such as security We propose a methodology (SeMA) based on storyboarding to enable the specifjcatjon and verifjcatjon of security propertjes of Android apps at design tjme.

  5. Proposed Methodology • App designer specifjes the app’s storyboard • App designer and developer collaborate to iteratjvely refjne the storyboard by adding non-UI related behavior (e.g., constraints on when transitjons will be triggered) • Afuer every iteratjon verify if the storyboard satjsfjes pre-defjned security propertjes • Finally, generate property preserving code • Developer extends generated code with business logic

  6. Illustratjve Example: Initjal Storyboard

  7. Illustratjve Example: Storyboard with UI Constraints

  8. Illustratjve Example: Storyboard with Non- UI Constraints

  9. Illustratjve Example: Security Analysis of the Storyboard

  10. Realizing SeMA for Android [PoC/Ongoing] • Extend existjng Storyboard tools (e.g. Navigatjon graphs) to enable the specifjcatjon of non-UI behavior • Defjne security propertjes based on known vulnerabilitjes • Build the analysis framework to verify pre-defjned security propertjes on the storyboard • Build the code generatjon algorithm to translate storyboards to Java/Kotlin • Enable the methodology in Android Studio

  11. Realizing SeMA for Android Platgorm Use JetPack’s Navigatjon Graph for storyboarding

  12. Realizing SeMA for Android Platgorm

  13. Realizing SeMA for Android Platgorm Extend navigatjon graph with UI constraints

  14. Realizing SeMA for Android Platgorm Extending navigatjon graph with non-UI constraints

  15. Realizing SeMA for Android Platgorm Extend navigatjon graph with Security Analysis

  16. Realizing SeMA for Android Platgorm Extend navigatjon graph with Security Analysis

  17. Challenges • Enabling storyboards to capture non-UI behavioral constraints in a non- intrusive way [PoC/Ongoing] • Making the analysis context-aware [Future Work] • Checking richer security propertjes (e.g. temporality) [Future Work] • Ensuring preservatjon of security propertjes [Future Work]

  18. Takeaways A design methodology to enable automated reasoning and verifjcatjon of security propertjes of Android apps • Builds on storyboarding • Tackles difgerent classes of security propertjes • Can be realized with existjng Android app development tools • Facilitates automated reasoning and verifjcatjon

Recommend


More recommend