SlideShare a Scribd company logo
SeMA: A Design Methodology for
Building Secure Android Apps
Joydeep Mitra Venkatesh-Prasad Ranganath
Department of Computer Science
Kansas State University, USA
International Workshop on Advances in Mobile App Analysis (A-Mobile 2019)
San Diego, USA
November 11, 2019
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?
What is mobile app
storyboarding?
A storyboard is a sequence
of images that serves as a
specification of the user
observed behavior in terms
of screens and transitions
between screens
Limitations of Current Mobile App
Storyboarding Approaches/Tools
• Inability to specify of non-UI behavior
• Inability to enable collaboration between app designers and app
developers
• Inability to reason about non functional properties such as
security
We propose a methodology (SeMA) based on storyboarding to
enable the specification and verification of security properties
of Android apps at design time.
Proposed Methodology
• App designer specifies the app’s storyboard
• App designer and developer collaborate to iteratively refine the
storyboard by adding non-UI related behavior (e.g., constraints
on when transitions will be triggered)
• After every iteration verify if the storyboard satisfies pre-defined
security properties
• Finally, generate property preserving code
• Developer extends generated code with business logic
Illustrative Example: Initial Storyboard
Illustrative Example: Storyboard with UI
Constraints
Illustrative Example: Storyboard with
Non-UI Constraints
Illustrative Example: Security Analysis of
the Storyboard
Realizing SeMA for Android [PoC/Ongoing]
• Extend existing Storyboard tools (e.g. Navigation graphs) to
enable the specification of non-UI behavior
• Define security properties based on known vulnerabilities
• Build the analysis framework to verify pre-defined security
properties on the storyboard
• Build the code generation algorithm to translate storyboards to
Java/Kotlin
• Enable the methodology in Android Studio
Realizing SeMA for Android Platform
Use JetPack’s
Navigation Graph
for storyboarding
Realizing SeMA for Android Platform
Realizing SeMA for Android Platform
Extend navigation
graph with UI
constraints
Extending navigation graph
with non-UI constraints
Realizing SeMA for Android Platform
Realizing SeMA for Android Platform
Extend navigation graph
with Security Analysis
Realizing SeMA for Android Platform
Extend navigation graph
with Security Analysis
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 properties (e.g. temporality) [Future Work]
• Ensuring preservation of security properties [Future Work]
Takeaways
A design methodology to enable automated reasoning and
verification of security properties of Android apps
• Builds on storyboarding
• Tackles different classes of security properties
• Can be realized with existing Android app development tools
• Facilitates automated reasoning and verification

More Related Content

Similar to SeMA: A Design Methodology for Building Secure Android Apps

Telematics Engineering
Telematics Engineering  Telematics Engineering
Telematics Engineering
Ashwini Sudarshana
 
RKSinha_latest_december
RKSinha_latest_decemberRKSinha_latest_december
RKSinha_latest_december
Rakesh Kumar Sinha
 
03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)
03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)
03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)
Lab Mobile Filkom UB
 
[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES
Ivano Malavolta
 
DevSecOps Indonesia : Pain & Pleasure of doing AppSec in DevOps
DevSecOps Indonesia : Pain & Pleasure of doing AppSec in DevOpsDevSecOps Indonesia : Pain & Pleasure of doing AppSec in DevOps
DevSecOps Indonesia : Pain & Pleasure of doing AppSec in DevOps
Suman Sourav
 
Kumar kunal
Kumar kunalKumar kunal
Kumar kunal
kumar kunal
 
SatyaMadhuKiran Software Developer
SatyaMadhuKiran Software DeveloperSatyaMadhuKiran Software Developer
SatyaMadhuKiran Software Developer
Satya MadhuKiran Koduri
 
Abhishek Product Manager Resume
Abhishek Product Manager ResumeAbhishek Product Manager Resume
Abhishek Product Manager Resume
abhishek85bansal
 
Web Engineering
Web EngineeringWeb Engineering
Web Engineering
Deniz Kılınç
 
Sagar Aggarwal_1
Sagar Aggarwal_1Sagar Aggarwal_1
Sagar Aggarwal_1
Sagar Aggarwal
 
Mse sept13 (3/3)
Mse sept13 (3/3)Mse sept13 (3/3)
Mse sept13 (3/3)
IIITA
 
BEST PRACTICES FOR IOS AND ANDROID APP DEVELOPMENT -TECHGROPSE-MALAYSIA APP D...
BEST PRACTICES FOR IOS AND ANDROID APP DEVELOPMENT -TECHGROPSE-MALAYSIA APP D...BEST PRACTICES FOR IOS AND ANDROID APP DEVELOPMENT -TECHGROPSE-MALAYSIA APP D...
BEST PRACTICES FOR IOS AND ANDROID APP DEVELOPMENT -TECHGROPSE-MALAYSIA APP D...
sandeepsrivastav17
 
Vipin qa engineer-3.5+years_exp
Vipin qa engineer-3.5+years_expVipin qa engineer-3.5+years_exp
Vipin qa engineer-3.5+years_exp
Vipin Gupta
 
SHRINIDHI_H_A_Profile_updated
SHRINIDHI_H_A_Profile_updatedSHRINIDHI_H_A_Profile_updated
SHRINIDHI_H_A_Profile_updated
Shrinidhi Hosur Ananthashayanam
 
Amaresh_Ku_Mishra_Resume
Amaresh_Ku_Mishra_ResumeAmaresh_Ku_Mishra_Resume
Amaresh_Ku_Mishra_Resume
Amaresh Kumar Mishra
 
mitra_resume-2
mitra_resume-2mitra_resume-2
Resume
ResumeResume
DivyaVenkatesh_CV
DivyaVenkatesh_CVDivyaVenkatesh_CV
DivyaVenkatesh_CV
Divya Venkatesh
 
Inspiratiedag uitapps
Inspiratiedag uitappsInspiratiedag uitapps
Inspiratiedag uitapps
UiTnetwerk - CultuurNet Vlaanderen
 
Saranya resume
Saranya resumeSaranya resume
Saranya resume
saranya hariharan
 

Similar to SeMA: A Design Methodology for Building Secure Android Apps (20)

Telematics Engineering
Telematics Engineering  Telematics Engineering
Telematics Engineering
 
RKSinha_latest_december
RKSinha_latest_decemberRKSinha_latest_december
RKSinha_latest_december
 
03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)
03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)
03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)
 
[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES
 
DevSecOps Indonesia : Pain & Pleasure of doing AppSec in DevOps
DevSecOps Indonesia : Pain & Pleasure of doing AppSec in DevOpsDevSecOps Indonesia : Pain & Pleasure of doing AppSec in DevOps
DevSecOps Indonesia : Pain & Pleasure of doing AppSec in DevOps
 
Kumar kunal
Kumar kunalKumar kunal
Kumar kunal
 
SatyaMadhuKiran Software Developer
SatyaMadhuKiran Software DeveloperSatyaMadhuKiran Software Developer
SatyaMadhuKiran Software Developer
 
Abhishek Product Manager Resume
Abhishek Product Manager ResumeAbhishek Product Manager Resume
Abhishek Product Manager Resume
 
Web Engineering
Web EngineeringWeb Engineering
Web Engineering
 
Sagar Aggarwal_1
Sagar Aggarwal_1Sagar Aggarwal_1
Sagar Aggarwal_1
 
Mse sept13 (3/3)
Mse sept13 (3/3)Mse sept13 (3/3)
Mse sept13 (3/3)
 
BEST PRACTICES FOR IOS AND ANDROID APP DEVELOPMENT -TECHGROPSE-MALAYSIA APP D...
BEST PRACTICES FOR IOS AND ANDROID APP DEVELOPMENT -TECHGROPSE-MALAYSIA APP D...BEST PRACTICES FOR IOS AND ANDROID APP DEVELOPMENT -TECHGROPSE-MALAYSIA APP D...
BEST PRACTICES FOR IOS AND ANDROID APP DEVELOPMENT -TECHGROPSE-MALAYSIA APP D...
 
Vipin qa engineer-3.5+years_exp
Vipin qa engineer-3.5+years_expVipin qa engineer-3.5+years_exp
Vipin qa engineer-3.5+years_exp
 
SHRINIDHI_H_A_Profile_updated
SHRINIDHI_H_A_Profile_updatedSHRINIDHI_H_A_Profile_updated
SHRINIDHI_H_A_Profile_updated
 
Amaresh_Ku_Mishra_Resume
Amaresh_Ku_Mishra_ResumeAmaresh_Ku_Mishra_Resume
Amaresh_Ku_Mishra_Resume
 
mitra_resume-2
mitra_resume-2mitra_resume-2
mitra_resume-2
 
Resume
ResumeResume
Resume
 
DivyaVenkatesh_CV
DivyaVenkatesh_CVDivyaVenkatesh_CV
DivyaVenkatesh_CV
 
Inspiratiedag uitapps
Inspiratiedag uitappsInspiratiedag uitapps
Inspiratiedag uitapps
 
Saranya resume
Saranya resumeSaranya resume
Saranya resume
 

More from Venkatesh Prasad Ranganath

Are free Android app security analysis tools effective in detecting known vul...
Are free Android app security analysis tools effective in detecting known vul...Are free Android app security analysis tools effective in detecting known vul...
Are free Android app security analysis tools effective in detecting known vul...
Venkatesh Prasad Ranganath
 
Benchpress: Analyzing Android App Vulnerability Benchmark Suites
Benchpress:  Analyzing Android App Vulnerability Benchmark SuitesBenchpress:  Analyzing Android App Vulnerability Benchmark Suites
Benchpress: Analyzing Android App Vulnerability Benchmark Suites
Venkatesh Prasad Ranganath
 
Why do Users kill HPC Jobs?
Why do Users kill HPC Jobs?Why do Users kill HPC Jobs?
Why do Users kill HPC Jobs?
Venkatesh Prasad Ranganath
 
Behavior Driven Development [10] - Software Testing Techniques (CIS640)
Behavior Driven Development [10] - Software Testing Techniques (CIS640)Behavior Driven Development [10] - Software Testing Techniques (CIS640)
Behavior Driven Development [10] - Software Testing Techniques (CIS640)
Venkatesh Prasad Ranganath
 
Code Coverage [9] - Software Testing Techniques (CIS640)
Code Coverage [9] - Software Testing Techniques (CIS640)Code Coverage [9] - Software Testing Techniques (CIS640)
Code Coverage [9] - Software Testing Techniques (CIS640)
Venkatesh Prasad Ranganath
 
Equivalence Class Testing [8] - Software Testing Techniques (CIS640)
Equivalence Class Testing [8] - Software Testing Techniques (CIS640)Equivalence Class Testing [8] - Software Testing Techniques (CIS640)
Equivalence Class Testing [8] - Software Testing Techniques (CIS640)
Venkatesh Prasad Ranganath
 
Boundary Value Testing [7] - Software Testing Techniques (CIS640)
Boundary Value Testing [7] - Software Testing Techniques (CIS640)Boundary Value Testing [7] - Software Testing Techniques (CIS640)
Boundary Value Testing [7] - Software Testing Techniques (CIS640)
Venkatesh Prasad Ranganath
 
Property Based Testing [5] - Software Testing Techniques (CIS640)
Property Based Testing [5] - Software Testing Techniques (CIS640)Property Based Testing [5] - Software Testing Techniques (CIS640)
Property Based Testing [5] - Software Testing Techniques (CIS640)
Venkatesh Prasad Ranganath
 
Intro to Python3 [2] - Software Testing Techniques (CIS640)
Intro to Python3 [2] - Software Testing Techniques (CIS640)Intro to Python3 [2] - Software Testing Techniques (CIS640)
Intro to Python3 [2] - Software Testing Techniques (CIS640)
Venkatesh Prasad Ranganath
 
Unit testing [4] - Software Testing Techniques (CIS640)
Unit testing [4] - Software Testing Techniques (CIS640)Unit testing [4] - Software Testing Techniques (CIS640)
Unit testing [4] - Software Testing Techniques (CIS640)
Venkatesh Prasad Ranganath
 
Testing concepts [3] - Software Testing Techniques (CIS640)
Testing concepts [3] - Software Testing Techniques (CIS640)Testing concepts [3] - Software Testing Techniques (CIS640)
Testing concepts [3] - Software Testing Techniques (CIS640)
Venkatesh Prasad Ranganath
 
Introduction [1] - Software Testing Techniques (CIS640)
Introduction [1] - Software Testing Techniques (CIS640)Introduction [1] - Software Testing Techniques (CIS640)
Introduction [1] - Software Testing Techniques (CIS640)
Venkatesh Prasad Ranganath
 
Compatibility Testing using Patterns-based Trace Comparison
Compatibility Testing using Patterns-based Trace ComparisonCompatibility Testing using Patterns-based Trace Comparison
Compatibility Testing using Patterns-based Trace Comparison
Venkatesh Prasad Ranganath
 
My flings with data analysis
My flings with data analysisMy flings with data analysis
My flings with data analysis
Venkatesh Prasad Ranganath
 
Data analytics, a (short) tour
Data analytics, a (short) tourData analytics, a (short) tour
Data analytics, a (short) tour
Venkatesh Prasad Ranganath
 
R language, an introduction
R language, an introductionR language, an introduction
R language, an introduction
Venkatesh Prasad Ranganath
 
Pattern-based Features
Pattern-based FeaturesPattern-based Features
Pattern-based Features
Venkatesh Prasad Ranganath
 

More from Venkatesh Prasad Ranganath (17)

Are free Android app security analysis tools effective in detecting known vul...
Are free Android app security analysis tools effective in detecting known vul...Are free Android app security analysis tools effective in detecting known vul...
Are free Android app security analysis tools effective in detecting known vul...
 
Benchpress: Analyzing Android App Vulnerability Benchmark Suites
Benchpress:  Analyzing Android App Vulnerability Benchmark SuitesBenchpress:  Analyzing Android App Vulnerability Benchmark Suites
Benchpress: Analyzing Android App Vulnerability Benchmark Suites
 
Why do Users kill HPC Jobs?
Why do Users kill HPC Jobs?Why do Users kill HPC Jobs?
Why do Users kill HPC Jobs?
 
Behavior Driven Development [10] - Software Testing Techniques (CIS640)
Behavior Driven Development [10] - Software Testing Techniques (CIS640)Behavior Driven Development [10] - Software Testing Techniques (CIS640)
Behavior Driven Development [10] - Software Testing Techniques (CIS640)
 
Code Coverage [9] - Software Testing Techniques (CIS640)
Code Coverage [9] - Software Testing Techniques (CIS640)Code Coverage [9] - Software Testing Techniques (CIS640)
Code Coverage [9] - Software Testing Techniques (CIS640)
 
Equivalence Class Testing [8] - Software Testing Techniques (CIS640)
Equivalence Class Testing [8] - Software Testing Techniques (CIS640)Equivalence Class Testing [8] - Software Testing Techniques (CIS640)
Equivalence Class Testing [8] - Software Testing Techniques (CIS640)
 
Boundary Value Testing [7] - Software Testing Techniques (CIS640)
Boundary Value Testing [7] - Software Testing Techniques (CIS640)Boundary Value Testing [7] - Software Testing Techniques (CIS640)
Boundary Value Testing [7] - Software Testing Techniques (CIS640)
 
Property Based Testing [5] - Software Testing Techniques (CIS640)
Property Based Testing [5] - Software Testing Techniques (CIS640)Property Based Testing [5] - Software Testing Techniques (CIS640)
Property Based Testing [5] - Software Testing Techniques (CIS640)
 
Intro to Python3 [2] - Software Testing Techniques (CIS640)
Intro to Python3 [2] - Software Testing Techniques (CIS640)Intro to Python3 [2] - Software Testing Techniques (CIS640)
Intro to Python3 [2] - Software Testing Techniques (CIS640)
 
Unit testing [4] - Software Testing Techniques (CIS640)
Unit testing [4] - Software Testing Techniques (CIS640)Unit testing [4] - Software Testing Techniques (CIS640)
Unit testing [4] - Software Testing Techniques (CIS640)
 
Testing concepts [3] - Software Testing Techniques (CIS640)
Testing concepts [3] - Software Testing Techniques (CIS640)Testing concepts [3] - Software Testing Techniques (CIS640)
Testing concepts [3] - Software Testing Techniques (CIS640)
 
Introduction [1] - Software Testing Techniques (CIS640)
Introduction [1] - Software Testing Techniques (CIS640)Introduction [1] - Software Testing Techniques (CIS640)
Introduction [1] - Software Testing Techniques (CIS640)
 
Compatibility Testing using Patterns-based Trace Comparison
Compatibility Testing using Patterns-based Trace ComparisonCompatibility Testing using Patterns-based Trace Comparison
Compatibility Testing using Patterns-based Trace Comparison
 
My flings with data analysis
My flings with data analysisMy flings with data analysis
My flings with data analysis
 
Data analytics, a (short) tour
Data analytics, a (short) tourData analytics, a (short) tour
Data analytics, a (short) tour
 
R language, an introduction
R language, an introductionR language, an introduction
R language, an introduction
 
Pattern-based Features
Pattern-based FeaturesPattern-based Features
Pattern-based Features
 

Recently uploaded

Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
pavan998932
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Undress Baby
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
Yara Milbes
 

Recently uploaded (20)

Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
 

SeMA: A Design Methodology for Building Secure Android Apps

  • 1. SeMA: A Design Methodology for Building Secure Android Apps Joydeep Mitra Venkatesh-Prasad Ranganath Department of Computer Science Kansas State University, USA International 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 specification of the user observed behavior in terms of screens and transitions between screens
  • 4. Limitations of Current Mobile App Storyboarding Approaches/Tools • Inability to specify of non-UI behavior • Inability to enable collaboration between app designers and app developers • Inability to reason about non functional properties such as security We propose a methodology (SeMA) based on storyboarding to enable the specification and verification of security properties of Android apps at design time.
  • 5. Proposed Methodology • App designer specifies the app’s storyboard • App designer and developer collaborate to iteratively refine the storyboard by adding non-UI related behavior (e.g., constraints on when transitions will be triggered) • After every iteration verify if the storyboard satisfies pre-defined security properties • Finally, generate property preserving code • Developer extends generated code with business logic
  • 7. Illustrative Example: Storyboard with UI Constraints
  • 8. Illustrative Example: Storyboard with Non-UI Constraints
  • 9. Illustrative Example: Security Analysis of the Storyboard
  • 10. Realizing SeMA for Android [PoC/Ongoing] • Extend existing Storyboard tools (e.g. Navigation graphs) to enable the specification of non-UI behavior • Define security properties based on known vulnerabilities • Build the analysis framework to verify pre-defined security properties on the storyboard • Build the code generation algorithm to translate storyboards to Java/Kotlin • Enable the methodology in Android Studio
  • 11. Realizing SeMA for Android Platform Use JetPack’s Navigation Graph for storyboarding
  • 12. Realizing SeMA for Android Platform
  • 13. Realizing SeMA for Android Platform Extend navigation graph with UI constraints
  • 14. Extending navigation graph with non-UI constraints Realizing SeMA for Android Platform
  • 15. Realizing SeMA for Android Platform Extend navigation graph with Security Analysis
  • 16. Realizing SeMA for Android Platform Extend navigation 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 properties (e.g. temporality) [Future Work] • Ensuring preservation of security properties [Future Work]
  • 18. Takeaways A design methodology to enable automated reasoning and verification of security properties of Android apps • Builds on storyboarding • Tackles different classes of security properties • Can be realized with existing Android app development tools • Facilitates automated reasoning and verification