software security am beispiel von android …sohr/papers/marburg.pdfgängige kommerzielle werkzeuge:...
Post on 11-Jul-2020
3 Views
Preview:
TRANSCRIPT
Systemqualität und Informationssicherheit Dr. Karsten Sohr, sohr@tzi.de
1
30-jähriges Jubiläum des Fachgebietes Informatik der Universität
Marburg / Verabschiedung von Prof. Dr. Manfred Sommer, 31.10.2014
Dr. Karsten Sohr
TZI – Universität Bremen
Technologie-Zentrum Informatik und Informationstechnik
Software Security am Beispiel von Android-Anwendungen
Systemqualität und Informationssicherheit Dr. Karsten Sohr, sohr@tzi.de
2
Gliederung
Kurzvorstellung des Instituts
Software-Security als eigene Disziplin
Sicherheitsprobleme in Android-Apps
Forschungsprojekt ZertApps
Ausblick
Systemqualität und Informationssicherheit Dr. Karsten Sohr, sohr@tzi.de
3
Technologie-Zentrum Informatik und Informationstechnik
Inneninstitut der Universität Bremen
Zusammenschluss von Hochschullehrern aus den Fachbereichen Mathematik und Informatik sowie Physik und Elektrotechnik
Technologie-Transfer durch gemeinsame Forschungsprojekte (BMBF, EU, BMWi), Auftragsforschung, Ausgründungen, Personaltransfer
Regionaler Auftrag
Gliederung in vier Leitthemen, darunter Systemqualität und Informationssicherheit (SQuIS)
Systemqualität und Informationssicherheit Dr. Karsten Sohr, sohr@tzi.de
4
Software Security als eigene Disziplin
Gängige Sicherheitsmechanismen wie z.B. Firewalls, AV-Software oder Intrusion Detection-Systeme sind reaktiv
Ursache für Sicherheitsprobleme: Lücken in Software
McGraw: Trinity of Trouble
1. Steigende Komplexität (Windows 8 bis zu 80 Mio. Lines of Code?)
2. Wachsende Vernetzung (SOA, Industrie 4.0, Internet der Dinge,…)
3. Erweiterbarkeit von Systemen (Nachladen von Apps, Plugins für Browser)
Werkzeuge und Vorgehensweisen zur Verbesserung der Software Security • Security Development Process (SDL)
Systemqualität und Informationssicherheit Dr. Karsten Sohr, sohr@tzi.de
5
Anzahl von schwerwiegenden Sicherheitslücken
Quelle:
http://web.nvd.nist.gov/view/vuln/statistics
Systemqualität und Informationssicherheit Dr. Karsten Sohr, sohr@tzi.de
6
Code Review durch statische Programmanalyse
Sicherheitsanalyse des Quelltexts von Anwendungen • Aufdecken von gängigen Programmierfehlern wie z.B. Buffer-Overflows,
SQL-Injection- und Cross-Site-Scripting-Verwundbarkeiten
• Automatisierte Analyse
Einsatz von Compilerbau-Techniken • Zwischendarstellung des Programmes z.B. durch Abstract Syntax Trees,
Static Single Assignment (SSA)
• Daten- und Kontrollflussanalysen
False Positives, False Negatives • Nicht-Entscheidbarkeit
Gängige kommerzielle Werkzeuge: HP-Fortify SCA, IBM AppScan, Coverity Prevent (für C/C++-Code)
Systemqualität und Informationssicherheit Dr. Karsten Sohr, sohr@tzi.de
7
Architekturelle Risikoanalyse
Sicherheitsanalyse der Architektur der Software • Zur Design-Zeit
• Finden von grundsätzlichen Sicherheitsproblemen („Flaws“ vs. „Bugs“)
• Beispiele für Flaws: Fehlende Verschlüsselung; nur Schutz der Integrität, obwohl die Vertraulichkeit das Schutzziel ist; fehlerhafte rollenbasierte Zugriffskontrolle; Überprivilegierung
Verschiedene Ansätze • Threat Modeling/STRIDE (Microsoft)
• Architekturelle Risikoanalyse nach McGraw
Kernidee in beiden Ansätzen:
Anhand von Diagrammen/Übersichtsgrafiken werden grundlegende Sicherheitsaspekte diskutiert
Systemqualität und Informationssicherheit Dr. Karsten Sohr, sohr@tzi.de
8
Threat Modeling mit Datenflussdiagrammen
Systemqualität und Informationssicherheit Dr. Karsten Sohr, sohr@tzi.de
9
Sicherheitslücken in Apps /1
Sicherheitslücken im WhatsApp-Messenger (z.B. erratbare Schlüssel)
Massive Sicherheitslücken in SSL-Implementierungen von Apps (s. Untersuchungen der Universität Hannover/Marburg)
Einschleusen von JavaScript-Code in Apps mit Web-Funktionalität (Übernahme der Apps)
Apps mit zu vielen Berechtigungen (Universität Berkeley)
Confused Deputy-Probleme
Systemqualität und Informationssicherheit Dr. Karsten Sohr, sohr@tzi.de
10
Sicherheitslücken in Apps /2
Systemqualität und Informationssicherheit Dr. Karsten Sohr, sohr@tzi.de
11
Sicherheitslücken in Apps /2
Systemqualität und Informationssicherheit Dr. Karsten Sohr, sohr@tzi.de
12
Eine E-Mail eines Kollegen …
Falls dich mal wieder die SSL-Geschichte interessiert: Die App ist als WebView
umgesetzt, also alles ist HTML. Was aber für einen groben Fehler spricht, ist
folgendes:
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;
}
Systemqualität und Informationssicherheit Dr. Karsten Sohr, sohr@tzi.de
13
Dekompiliert nach Java
public void onReceivedSslError(WebView paramWebView, SslErrorHandler
paramSslErrorHandler, SslError
paramSslError)
{
paramSslErrorHandler.proceed();
}
Systemqualität und Informationssicherheit Dr. Karsten Sohr, sohr@tzi.de
14
Problemstellung
Es werden Analyse-Methoden und Evaluationsprozesse gesucht, durch die nachgewiesen werden kann, dass Android-Apps sicherheitstechnisch auf einem angemessenen Niveau sind.
Systemqualität und Informationssicherheit Dr. Karsten Sohr, sohr@tzi.de
15
Aktuelles Forschungsprojekt ZertApps
BMBF-Projekt ZertApps: Zertifizierte Sicherheit für mobile Anwendungen
Weitere Partner:
• Fraunhofer SIT,
• TU Darmstadt,
• OTARIS Interactive Service GmbH,
• datenschutz cert GmbH,
• SAP AG
Systemqualität und Informationssicherheit Dr. Karsten Sohr, sohr@tzi.de
16
Projektziele /1
Entwicklung präziser statischer Sicherheitsanalysen auf Basis der Android Framework-Konzepte mit Open Source-Werkzeugen wie z.B. Soot
Ggf. Ergänzung durch dynamische Analyse zur Bestätigung der Ergebnisse der statischen Analysen
Berücksichtigung des Zusammenspiels mehrerer Apps (→ Confused Deputy-Problem)
Extraktion und Sicherheitsanalyse der Software-Architektur der Apps
• Reverse Engineering von Datenflussdiagrammen (DFDs) durch statische Analysen (Soot)
• Automatische Analyse dieser extrahierten DFDs gegen gängige architekturelle Verwundbarkeiten (CWE-Einträge)
Systemqualität und Informationssicherheit Dr. Karsten Sohr, sohr@tzi.de
17
Projektziele /2
Berücksichtigung hybrider Apps (Apps mit Java- und Web-Anteilen)
• z.B. Analyse von PhoneGap-basierten Apps
Verständliche Präsentation der Analyseergebnisse für verschiedene Anwendergruppen
• Sicherheitsverantwortliche, Evaluatoren, Entwickler, Endnutzer?
Entwicklung eines leichtgewichtigen Zertifizierungsprozesses/-schemas
• Möglichst geringe Kosten
• Abgestuftes Zertifizierungskonzept
Systemqualität und Informationssicherheit Dr. Karsten Sohr, sohr@tzi.de
18
Zertifizierungsplattform
Systemqualität und Informationssicherheit Dr. Karsten Sohr, sohr@tzi.de
19
Zusammenfassung & Ausblick
Software Security wird immer relevanter
• Mobile Anwendungen, Internet der Dinge, Industrie 4.0, …
Systematische und kosteneffiziente Vorgehensweisen gesucht
Besonders interessant: Sicherheit von Apps
Werkzeugunterstützung
Ergänzende neue Ansätze:
Statische (und dynamische) Programmanalysen zur Extraktion und Überprüfung der implementierten Sicherheitsarchitektur
Systemqualität und Informationssicherheit Dr. Karsten Sohr, sohr@tzi.de
20
Systemqualität und Informationssicherheit Dr. Karsten Sohr, sohr@tzi.de
21
Vielen Dank!
Fragen?
top related