Bachelorarbeit - Androidsicherheit kritisch betrachtet

Preview:

Citation preview

Stefan Bürger

ANDROIDFREIMENGENMANAGER

Abschlusspräsentation Bakk-Arbeit

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

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

goo.gl/iPZMf13.04.2023

Android Grundlagen

• Betriebssystem- Linux Kernel 2.6- Dalvik VM

• AndroidManifest

• Intentverarbeitung

Folie - 4

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

goo.gl/iPZMf13.04.2023

Eine Android Anwendung besteht aus:

Folie - 6

Activities

Services

Content Providers

Intents

Broadcast Receivers

Widgets

Notifications

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

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

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

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

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

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

goo.gl/iPZMf13.04.2023

LIVE – DEMOFreimengenmanager

Folie - 13

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

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

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

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

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

goo.gl/iPZMf13.04.2023

LIVE – DEMOSicherheit

Folie - 19

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

Stefan Bürger

ANDROIDFREIMENGENMANAGER

Abschlusspräsentation Bakk-Arbeit

goo.gl/iPZMf

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>

Recommended