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

sema a design methodology for building secure android apps
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 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

slide-2
SLIDE 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?

slide-3
SLIDE 3

What is mobile app storyboarding?

A storyboard is a sequence

  • f images that serves as a

specifjcatjon of the user

  • bserved behavior in terms
  • f screens and transitjons

between screens

slide-4
SLIDE 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

  • f Android apps at design tjme.
slide-5
SLIDE 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
slide-6
SLIDE 6

Illustratjve Example: Initjal Storyboard

slide-7
SLIDE 7

Illustratjve Example: Storyboard with UI Constraints

slide-8
SLIDE 8

Illustratjve Example: Storyboard with Non- UI Constraints

slide-9
SLIDE 9

Illustratjve Example: Security Analysis of the Storyboard

slide-10
SLIDE 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
slide-11
SLIDE 11

Realizing SeMA for Android Platgorm

Use JetPack’s Navigatjon Graph for storyboarding

slide-12
SLIDE 12

Realizing SeMA for Android Platgorm

slide-13
SLIDE 13

Realizing SeMA for Android Platgorm Extend navigatjon graph with UI constraints

slide-14
SLIDE 14

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

slide-15
SLIDE 15

Realizing SeMA for Android Platgorm Extend navigatjon graph with Security Analysis

slide-16
SLIDE 16

Realizing SeMA for Android Platgorm Extend navigatjon graph with Security Analysis

slide-17
SLIDE 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]
slide-18
SLIDE 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