22
Stefan Bürger ANDROID FREIMENGENMANAGER Abschlusspräsentation Bakk- Arbeit

Bachelorarbeit - Androidsicherheit kritisch betrachtet

Embed Size (px)

Citation preview

Page 1: Bachelorarbeit - Androidsicherheit kritisch betrachtet

Stefan Bürger

ANDROIDFREIMENGENMANAGER

Abschlusspräsentation Bakk-Arbeit

Page 2: Bachelorarbeit - Androidsicherheit kritisch betrachtet

goo.gl/iPZMf

Übersicht

• Vorstellungen des Themas

• Technische Grundlagen

• Der Freimengenmanager im Detail

• Live-Demo

• Android Sicherheitskonzept und –Risiken

• Live-Demo

13.04.2023 Folie - 2

Page 3: Bachelorarbeit - Androidsicherheit kritisch betrachtet

goo.gl/iPZMf13.04.2023 Folie - 3

AndroidFreimengenmanager

Günstige Telefonie Verträge

Große Menge inkludierter Freimengen

Eltern haben hohes Überwachungsverlangen

Kostenkontrolle

Einfaches Tool mit Passwortschutz

Definierbare Ausnahmen

Notfallalamierung

Page 4: Bachelorarbeit - Androidsicherheit kritisch betrachtet

goo.gl/iPZMf13.04.2023

Android Grundlagen

• Betriebssystem- Linux Kernel 2.6- Dalvik VM

• AndroidManifest

• Intentverarbeitung

Folie - 4

Page 5: Bachelorarbeit - Androidsicherheit kritisch betrachtet

goo.gl/iPZMf13.04.2023

Intents

Folie - 5

• Messagepassing-System (late runtime binding)

• Aktivieren Activities, Services, Broadcast-Receivers

• Verwendet von:- Betriebssystem- Entwicklern

• Passive Datenstruktur (Ziel + Daten)

• Explizite vs. Implizite Intents

Page 6: Bachelorarbeit - Androidsicherheit kritisch betrachtet

goo.gl/iPZMf13.04.2023

Eine Android Anwendung besteht aus:

Folie - 6

Activities

Services

Content Providers

Intents

Broadcast Receivers

Widgets

Notifications

Page 7: Bachelorarbeit - Androidsicherheit kritisch betrachtet

goo.gl/iPZMf13.04.2023

Android Freimengenmanager

Folie - 7

• Admin Oberfläche

• Anrufüberwachung- Anrufzeit messen- Ausgehende Anrufe bemerken- Anrufe abbrechen

• Benachrichtigungsservice

• Offene Punkte / technische Grenzen

Page 8: Bachelorarbeit - Androidsicherheit kritisch betrachtet

goo.gl/iPZMf13.04.2023

Admin Oberfläche

Folie - 8

• Passwortschutz

• Aktivierung/Deaktivierung der Überwachung

• Eingabe von Frei-SMS und Freiminuten

• Rücksetzen der verbrauchten Freimengen

• Festlegen der Benachrichtigungsnummer

Page 9: Bachelorarbeit - Androidsicherheit kritisch betrachtet

goo.gl/iPZMf13.04.2023

Anrufzeit messen

Folie - 9

• Android stellt callLogs zur Verfügung- Datenbank mit Informationen der letzten Anrufe- Abfrage SQL ähnlich (Daten, Felder, Sortierung)- Cursor zum Iterieren

• Telefonstatus überwachen

• Die Frage des richtigen Timings

Page 10: Bachelorarbeit - Androidsicherheit kritisch betrachtet

goo.gl/iPZMf13.04.2023

Fang den ausgehenden Anruf

Folie - 10

• Berechtigung und Intent-Filter im AndroidManifest

• Aufruf der CallReceiver Klasse- Aktiv?- Auslesen der Zieltelefonnummer und checken ob Notruf- Überprüfen der verfügbaren Freiminuten- Anrufabbruch durch Löschen der Zieltelefonnummer- Auslösen des Benachrichtigungsservics

Page 11: Bachelorarbeit - Androidsicherheit kritisch betrachtet

goo.gl/iPZMf13.04.2023

Benachrichtigungsservice

Folie - 11

• Eigene Klasse zur zentralen Verwaltung von Benachrichtigungen

• Ausgelöst durch Intent an die Klasse unter Angabe der gewünschten Benachrichtigung

• Zusatzfeature zum Senden einer SMS-Nachricht

Page 12: Bachelorarbeit - Androidsicherheit kritisch betrachtet

goo.gl/iPZMf13.04.2023

Offene Punkte / technische Grenzen

Folie - 12

• Ausnahmen für einzelne Kontakte

• Technische Grenzen- Abfangen ausgehender SMS- Zählen von SMS-Nachrichten

Page 13: Bachelorarbeit - Androidsicherheit kritisch betrachtet

goo.gl/iPZMf13.04.2023

LIVE – DEMOFreimengenmanager

Folie - 13

Page 14: Bachelorarbeit - Androidsicherheit kritisch betrachtet

goo.gl/iPZMf13.04.2023

Android‘s Sicherheitskonzept

Folie - 14

• Überblick

• Bezug zum Freimengenmanager

• Angriffsszenario: Missbrauch des Freimengenmanagers

• Erste Ansätze für mehr Sicherheit

Page 15: Bachelorarbeit - Androidsicherheit kritisch betrachtet

goo.gl/iPZMf13.04.2023

Sicherheitskonzept im Überblick

Folie - 15

• Application Sandboxing

• Sehr freien Zugriff auf Betriebssystemkomponenten

• Rechteanforderung bei Installation- Deny-all Prinzip- Bestätigung durch den Benutzer- Danach keine Anzeige/Abfrage mehr

Page 16: Bachelorarbeit - Androidsicherheit kritisch betrachtet

goo.gl/iPZMf13.04.2023

Android Freimengenmanager

Folie - 16

• Angeforderte Berechtigungen- Lesen/Senden von SMS-Nachrichten- Verarbeiten ausgehender Anrufe- Lesen der Kontaktdaten- Überwachung des Telefonstatus- SMS-Nachrichten empfangen

• Nur durch Benachrichtigungen sichtbar

Page 17: Bachelorarbeit - Androidsicherheit kritisch betrachtet

goo.gl/iPZMf13.04.2023

simpleMissbrauch des Freimengenmanagers

User‘s Android Device

User web server

Keyboard sniffer

Web browser

mTAN manipulation

Native SMS listener

New SMS listener

Folie - 17

Page 18: Bachelorarbeit - Androidsicherheit kritisch betrachtet

goo.gl/iPZMf13.04.2023

advancedMissbrauch des Freimengenmanagers

Folie - 18

User‘s Android Device

Userweb

server

Keyboard sniffer

Web browser

mTAN manipulation

Native SMS listener

New SMS listener

Native SMS listener

Page 19: Bachelorarbeit - Androidsicherheit kritisch betrachtet

goo.gl/iPZMf13.04.2023

LIVE – DEMOSicherheit

Folie - 19

Page 20: Bachelorarbeit - Androidsicherheit kritisch betrachtet

goo.gl/iPZMf13.04.2023

Erste Ansätze für mehr Sicherheit

Folie - 20

• Priorisierte Intents können überwacht werden

• Priorität 0 = Letzter, Priorität 1000 = Erster

• Überwachung der abgearbeiteten Intents- Broadcast-Receiver für alle sinnvollen Broadcast-Intents- Erster, Letzter- Entdecken von modifizierten, gelöschten und

(eingeschleusten) Intents

Page 21: Bachelorarbeit - Androidsicherheit kritisch betrachtet

Stefan Bürger

ANDROIDFREIMENGENMANAGER

Abschlusspräsentation Bakk-Arbeit

goo.gl/iPZMf

Page 22: Bachelorarbeit - Androidsicherheit kritisch betrachtet

goo.gl/iPZMf13.04.2023

<uses-permission android:name="android.permission.READ_PHONE_STATE" />

<uses-permission android:name="android.permission.READ_CONTACTS" />

<uses-permission android:name="android.permission.SEND_SMS" />

<uses-permission android:name="android.permission.READ_SMS" />

<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />

<application android:icon="@drawable/icon" android:label="@string/app_name" android:name=".fmApp">

<receiver android:name=".call.CallReceiver">

<intent-filter android:priority="0">

<action android:name="android.intent.action.NEW_OUTGOING_CALL"/>

</intent-filter>

</receiver>