Architectural Risk Analysis for Android Applications



Similar documents
Automatic vs. Manual Code Analysis

Threat Modeling. Frank Piessens ) KATHOLIEKE UNIVERSITEIT LEUVEN

Application Code Development Standards

ISSECO Syllabus Public Version v1.0

Bringing Security Testing to Development. How to Enable Developers to Act as Security Experts

How to Build a Trusted Application. John Dickson, CISSP

Network Test Labs (NTL) Software Testing Services for igaming

A Holistic Approach to Security Testing

Securing Your Web Application against security vulnerabilities. Ong Khai Wei, IT Specialist, Development Tools (Rational) IBM Software Group

All Your Code Belongs To Us Dismantling Android Secrets With CodeInspect. Steven Arzt Secure Software Engineering Group Steven Arzt 1

1000 Projects later. Security Code Scans at SAP

HP Fortify Application Security Lucas v. Stockhausen PreSales Manager HP Fortify EMEA Enterprise Security

How to start a software security initiative within your organization: a maturity based and metrics driven approach OWASP

Revision History Revision Date Changes Initial version published to

Strategic Information Security. Attacking and Defending Web Services

Mobile Application Hacking for Android and iphone. 4-Day Hands-On Course. Syllabus

Threat Modeling. Categorizing the nature and severity of system vulnerabilities. John B. Dickson, CISSP

elearning for Secure Application Development

Creating Stronger, Safer, Web Facing Code. JPL IT Security Mary Rivera June 17, 2011

D. Best Practices D.1. Assurance The 5 th A

Interactive Application Security Testing (IAST)

Rational AppScan & Ounce Products

LEARNING CURRICULUM SECURITY COMPASS TRAINING 2015 Q3. Copyright Security Compass. 1

Introduction to Web Application Security. Microsoft CSO Roundtable Houston, TX. September 13 th, 2006

Black Box versus White Box: Different App Testing Strategies John B. Dickson, CISSP

Web Application Penetration Testing

Development Processes (Lecture outline)

Threat Modeling for Secure Embedded Software

Software security assessment based on static analysis

Software security specification and verification

Software & Hardware Security

Web application testing

Cenzic Product Guide. Cloud, Mobile and Web Application Security

Web Application Security

Learning objectives for today s session

Application Security: What Does it Take to Build and Test a Trusted App? John Dickson, CISSP Denim Group

The Top Web Application Attacks: Are you vulnerable?

TOOL EVALUATION REPORT: FORTIFY

TEAM Academy Catalog. 187 Ballardvale Street, Wilmington, MA

Out of the Fire - Adding Layers of Protection When Deploying Oracle EBS to the Internet

Software Development: The Next Security Frontier

(In-)Security of Backend-as-a-Service

BYOD: End-to-End Security

Software Security Touchpoint: Architectural Risk Analysis

Development. Resilient Software. Secure and. Mark S. Merkow Lakshmikanth Raghavan. CRC Press. Taylor& Francis Croup. Taylor St Francis Group,

SECURITY PRACTICES FOR ADVANCED METERING INFRASTRUCTURE Elif Üstündağ Soykan, Seda Demirağ Ersöz , ICSG 2014

Agile Secure Software Development in a Large Software Development Organisation Security Testing

Security Testing and Vulnerability Management Process. e-governance

Overview of F5 Networks. Fatih Bilger Senior Systems Engineer, Prolink.

Using Web Security Scanners to Detect Vulnerabilities in Web Services

Web Application Security. Vulnerabilities, Weakness and Countermeasures. Massimo Cotelli CISSP. Secure

What is Web Security? Motivation

Turning the Battleship: How to Build Secure Software in Large Organizations. Dan Cornell May 11 th, 2006

Application Security Testing

Java Web Application Security

SAST, DAST and Vulnerability Assessments, = 4

Course Modules for Software Security

MOBILIZING ORACLE APPLICATIONS ERP. An Approach for Building Scalable Mobility Solutions. A RapidValue Solutions Whitepaper

EECS 588: Computer and Network Security. Introduction January 14, 2014

IBM Security Strategy

Pentests more than just using the proper tools

How to achieve PCI DSS Compliance with Checkmarx Source Code Analysis

How To Ensure That Your Computer System Is Safe

Securing ios Applications. Dr. Bruce Sams, OPTIMAbit GmbH

Chapter 1 Web Application (In)security 1

ASL IT SECURITY XTREME XPLOIT DEVELOPMENT

Architecture of Enterprise Mobile Apps

WEB APPLICATION SECURITY

Building a Mobile App Security Risk Management Program. Copyright 2012, Security Risk Advisors, Inc. All Rights Reserved

Secure Programming with Static Analysis. Jacob West

Continuous Prevention Testing

Cloud Security Through Threat Modeling. Robert M. Zigweid Director of Services for IOActive

IBM Rational AppScan Source Edition

Trustworthy Software Systems

Braindumps.C questions

(WAPT) Web Application Penetration Testing

OWASP Mobile Top Ten 2014 Meet the New Addition

Web application security: automated scanning versus manual penetration testing.

Web Engineering Web Application Security Issues

IBM Innovate AppScan: Introducin g Security, a first. Bobby Walters Consultant, ATSC bwalters@atsc.com Application Security & Compliance

... Lecture 10. Network Security I. Information & Communication Security (WS 2014) Prof. Dr. Kai Rannenberg

Product Roadmap. Sushant Rao Principal Product Manager Fortify Software, a HP company

! Resident of Kauai, Hawaii

EECS 588: Computer and Network Security. Introduction

Application Backdoor Assessment. Complete securing of your applications

Barracuda Web Site Firewall Ensures PCI DSS Compliance

Transcription:

Architectural Risk Analysis for Android Applications ComNets - AG RN-Kolloquium, 13.07.2015 Karsten Sohr TZI Universität Bremen 1

Outline Software security as an own discipline Security problems in Android apps Research project ZertApps Outlook 2

Software Security as an Own Discipline Current security mechanisms such as firewalls anti-virus software or intrustion dectection systems are reactive Cause of many security problems: security issues in software McGraw: Trinity of trouble 1. Increasing complexity (Windows 8 up to 80 Mio. lines of code?) 2. Increasing connectivity (SOA, Internet of Things, industrial controllers ) 3. Extensibility of systems (installation of apps, plugins for browsers) Tools and processes to improve software security Security development lifecycle (SDL) 3

Code Review through Static Code Analysis Security analysis of the source code of applications Detection of common programming bugs, such as buffer overflows, SQLinjection- and cross-site-scripting vulnerabilities Automated analysis Use of compiler-construction techniques Intermediate representation of the program e.g. by abstract syntax trees, static single assignment (SSA) Data- and control flow analyses False positives, false negatives Non-Decidability Commercial tools: HP-Fortify SCA, IBM AppScan, Coverity Prevent (for C/C++ code) 4

Architectural Risk Analysis as Part of the SDL Security analysis of the software architecture At design time Detection of basic security problems ( flaws vs. bugs ) Examples of flaws: Missing encryption; only integrity protection, although confidentiality is required; inconsistent role-based access control; overprivilegation; wrong usage of software frameworks Two approaches Threat Modeling/STRIDE (Microsoft) Architectural risk analysis from McGraw Core idea in both approaches: Discussion of basic security aspects with the help of diagrams (forest-level overview) 5

Threat Modeling with Dataflow Diagrams 6

Security Holes in Mobile Apps Cryptographic Weaknesses, e.g., easily guessable keys in WhatsApp messenger Overprivileged apps Confused-deputy problems Massive vulnerabilities in SSL-implementation of Android apps Injection of JavaScript code into apps with web functionality Faulty usage of software frameworks Basic weaknesses in systems consisting of a remote-control app and a backend 7

An E-Mail of a Colleague If you are interested in the SSL-stuff again: The app is implemented as a WebView, i.e., all is HTML. What speaks to a big error is this: public void onreceivedsslerror(android.webkit.webview, android.webkit.sslerrorhandler, android.net.http.sslerror){ } com.webdevs.spcanywhere.mywebviewclient $r0; android.webkit.webview $r1; android.webkit.sslerrorhandler $r2; android.net.http.sslerror $r3; $r0 := @this: com.webdevs.spcanywhere.mywebviewclient; $r1 := @parameter0: android.webkit.webview; $r2 := @parameter1: android.webkit.sslerrorhandler; $r3 := @parameter2: android.net.http.sslerror; virtualinvoke $r2.<android.webkit.sslerrorhandler: void proceed()>(); return; 8

Decompiled to Java public void onreceivedsslerror(webview paramwebview, SslErrorHandler paramsslerrorhandler, SslError paramsslerror) { } paramsslerrorhandler.proceed(); 9

Insecure Usage of the Android Framework: Telekom Online Manager Intent localintent1 = new Intent("de.telekom.hotspot.intent.action.SMS_STATUS"); localintent1.putextra("status", CredSmsStatusType.SMS_STATUS_CREDENTIALS_RECEIVED); localintent1.putextra("username", str2); localintent1.putextra("password", str3); sendbroadcast(localintent1); 10

Problem Statement We need cost-efficient analysis methods and evaluation processes that assure that Android apps show an appropriate security level. 11

Current Research Project ZertApps BMBF-funded project ZertApps: Certified Security for Mobile Applications Project partners: Universität Bremen, Fraunhofer SIT, TU Darmstadt, OTARIS Interactive Service GmbH, datenschutz cert GmbH, SAP AG 12

Project Goals /1 Development of precise static security analyses based on the Android Framework with open source tools, e.g., Soot If necessary, dynamic analysis to improve static analysis Interaction of several apps ( confused deputy problem) Consideration of hybride apps (apps with Java and web parts) E.g., analysis of PhoneGap-based apps 13

Project Goals /2 Comprehensible presentation of analysis results for different groups of users Security administrators, evaluators, developers, users? Conception of a lightweight certification process / scheme Low cost Graded certification concept Tool-support for certification 14

Our Contribution: Architectural Risk Analysis Extraction and security analysis of the software architecture of apps Reverse engineering of dataflow diagrams (DFDs) with the help of static analysis (Soot) Automated analysis of these extracted DFDs against known architectural weaknesses (e.g., CWE entries) Conception and implementation within in the context of a dissertation at AG Softwaretechnik, Prof. Koschke 15

Example Dataflow Diagram 16

Example Dataflow Diagram: Hybride App 17

Summary & Outlook Software security becomes more relevant Mobile apps, Internet of Things, Industrie 4.0, Systematic and cost-efficient prcosses for software security are needed Especially relevant: security of apps Tool support New supporting kinds of analysis: Static (and dynamic) code analyses for the extraction and validation of the implemented security architecture 18

Thank you very much for your attention! Questions? 19