Sunteți pe pagina 1din 16

Universitatea Tehnică "Gheorghe Asachi" din Iași

Facultatea de Automatică și Calculatoare

SECURITATEA REȚELELOR WIRELESS ȘI A


DISPOZITIVELOR MOBILE

Curs nr. 5

Permisiunile aplicației

Fișier APK Package Manager

/data/system/packages.xml
AndroidManifest.xml

Permission-to-
group mapping

/etc/permissions/platform.xml

SRWDM Curs nr. 5 – 2022 – 2023 2

SRWDM Curs nr. 5 – 2022 – 2023 3

1
SRWDM Curs nr. 5 – 2022 – 2023 4

SRWDM Curs nr. 5 – 2022 – 2023 5

Interacțiunea cu un dispozitiv Android


q Cablu USB
q Bluetooth

q Rețea WiFi

SRWDM Curs nr. 5 – 2022 – 2023 6

2
Conectarea prin cablu USB
q trebuiesă fie în modul developer (implicit, ascuns)
q System...->Build Number (de câteva ori) ...->USB
debugging

SRWDM Curs nr. 5 – 2022 – 2023 7

Bluetooth
q Pentru a trimite sau primi fișiere

SRWDM Curs nr. 5 – 2022 – 2023 8

ADB
q Android Debug Bridge
q pentru comunicarea cu un dispozitiv
q lucrează în linie de comandă
q Program client-server care include:
q un client care trimite comenzile și care lucrează pe mașina pe care dezvoltă
aplicația
q un daemon (adbd) care rulează comenzi pe un dispozitiv; este un proces de
fundal
q un server care gestionează comunicațiile între client și daemon. Este un
proces de fundal pe mașina de dezvoltare
q este inclus în pachetul Android SDK platforms-tools

SRWDM Curs nr. 5 – 2022 – 2023 9

3
ADB
q când se pornește un client adb, clientul verifică mai întâi
dacă este un server adb pornit.
q dacă nu este pornit, pornește un astfel de proces
q când se pornește serverul, el se leagă de portul TCP local
5037 și ascultă comenzile trimise de clienții adb (toți
clienții folosesc portul 5037 pentru a comunica cu serverul
adb)
q serverul setează comunicații cu toate dispozitivele
conectate; el localizează emulatoarele prin scanarea
porturilor impare din domeniul 5555 ... 5585, domeniu
folosit pentru primele 16 emulatoare.

SRWDM Curs nr. 5 – 2022 – 2023 10

10

ADB
q dacă serverul găsește un daemon (adbd), el setează o
conexiune la acel port.
q fiecare emulator folosește o pereche de porturi
numerotate secvențial
q un port cu număr par pentru conexiunea consolei
q un port cu număr impar pentru conexiunea adb
q Emulator 1, consola: 5554
q emulator 1, adb: 5555

q emulatorul conectat la adb pe portul 5555 este același


emulator a cărui consolă ascultă pe portul 5554

SRWDM Curs nr. 5 – 2022 – 2023 11

11

ADB
q după ce serverul a setat conexiunile la toate dispozitivele,
se poate folosi comanda adb pentru a accesa aceste
dispozitive
q serverul gestionează conexiunile la periferice și comenzile
de la clienți adb multipli, se poate controla orice dispozitiv
de pe orice client (sau script)

SRWDM Curs nr. 5 – 2022 – 2023 12

12

4
ADB
q instalare de aplicații
q transfer de fișiere
q executare de comenzi
q ....

SRWDM Curs nr. 5 – 2022 – 2023 13

13

ADB
q adb devices
q adb –d [command]
q adb –e [command]

q install [nume_app]
q shell
q push [nume_fisier]
q pull [nume_fisier]

SRWDM Curs nr. 5 – 2022 – 2023 14

14

ADB
q redirecționarea unui port
q adb forward tcp:[local_port] tcp:[remote_port]

adb forward

Remote port
Connect adb to
localhost: local port

SRWDM Curs nr. 5 – 2022 – 2023 15

15

5
ADB
q listarea tuturor aplicațiilor instalate implicit
q se găsesc în /system/app
q trebuie lansat shell

q listarea aplicațiilor instalate de utilizator


q se găsesc în /data/app

q descărcarea unui fișier

SRWDM Curs nr. 5 – 2022 – 2023 16

16

Conectarea prin WiFi


q adb
q SSHDroid

q Netcat

SRWDM Curs nr. 5 – 2022 – 2023 17

17

Conectarea prin ADB


q modul implicit pentru ADB este USB
q pentru conectarea prin WIFI
q se conectează USB
q adb începe să asculte socket-ul TCP/IP (numărul portului implicit
este 5555)
q se identifică IP-ul
q se deconectează USB
q se face conexiunea la rețea

q se realizează operațiile dorite


q se deconectează de la rețea
q se reconectează USB

q se trece din nou în modul USB de scultare


SRWDM Curs nr. 5 – 2022 – 2023 18

18

6
q Au fost introduse proceduri diferite de conectare la WiFi
pentru ultima versiune de Android
q Traficul nu este criptat

SRWDM Curs nr. 5 – 2022 – 2023 19

19

SSHDroid
q realizează un trafic criptat
q cere un client ssh pentru conectare la Android (PuTTY,
OpenSSH)
q credentiale implicite de root/admin
q dacă nu avem un dispozitiv rootat, accesul acordat va fi
limitat la SSHDroid UID

SRWDM Curs nr. 5 – 2022 – 2023 20

20

Netcat
q Canalul de comunicație
q pe host 1: nc –lvp [port_number]
q pe Android: nc [host_1 ip][port_number]

q Transfer de fișiere
q pe host 1: nc –lvp [port_number] > fisier1.apk
q pe Android: nc [host 1 ip][port–number] < fisier1.apk

q traficul nu este criptat

SRWDM Curs nr. 5 – 2022 – 2023 21

21

7
WireShark
q analizor de trafic de rețea
q continuatorul unui proiect început în 1998
q multiplatformă

q poate fi folosit pe diverse tipuri de rețele (Ethernet, IEEE


802.11, Bluetooth, USB s.a)

SRWDM Curs nr. 5 – 2022 – 2023 22

22

Atacarea platformei Android


q Este similar cu ceea ce observăm la alte sisteme
q la nivel de aplicații
q sunt introduse vulnerabilități la scrierea codului

q la nivelul sistemului de operare (kernel)


q prin inginerie socială
q utilizatorul poate fi „păcălit” să descarce aplicații sau să modifice aplicațiile
legitime și care conțin căi de acces la sistem (back door)
q configurări greșite
q care pot expune nenecesar anumite servicii

SRWDM Curs nr. 5 – 2022 – 2023 23

23

q SDLC (Software Development Life Cycle)


q trebuie folosit un SDLC care include verificarea securității
aplicației:
q metodologie care a fost dezvoltată pentru a realiza aplicații
internet securizate chiar de la începutul procesului SDLC
q un astfel de SDLC trebuie folosit pentru orice proiect de
dezvoltare (inclusiv dezvoltarea aplicațiilor Android)

SRWDM Curs nr. 5 – 2022 – 2023 24

24

8
q Principalele trei faze pentru un SDLC securizat sunt:
q modelarea amenințării (identificarea amenințărilor pentru
aplicației) – trebuie făcută în faza de proiectare a aplicației
q analiza statică – se verifică codul sursă și se face în faza de
implementare
q analiza dinamică – se face în timpul fazei de testare și permite
identificarea problemelor în timp ce aplicația rulează

q Sunt multe resurse on-line care pot fi folosite în toate cele


trei faze

SRWDM Curs nr. 5 – 2022 – 2023 25

25

Amenințări pentru dispozitivele mobile


q Amenințări pe partea de client
q datele stocate pe dispozitiv (multe aplicații stochează informații
sensibile (confidențiale și private) pe dispozitiv fără niciun fel de
criptare)
q transferul de date (man in the middle attack)

q vulnerabilități în cod – cod scris fără a avea în vedere securitatea


aplicației finale poate vulnerabil la diferite atacuri

SRWDM Curs nr. 5 – 2022 – 2023 26

26

q Amenințări pe partea de back end


q autentificare/autorizare
q gestionarea sesiunilor (folosirea token-urilor de autentificare
pentru aplicațiile mobile) – utilizatorului i se atribuie un token de
identificare care va fi folosit în restul sesiunii; dacă acest token nu
este generat într-o manieră sigură poate fi folosit pentru un atac
q input validation – atacurile din această categorie includ: sql
injection, code injection (code poisoning attack), cross-site
scripting;

SRWDM Curs nr. 5 – 2022 – 2023 27

27

9
q gestionarea improprie a erorilor
q criptarea neperformantă: - dezvoltarea propriilor algoritmi de
criptare nu este o idee bună: managementul și stocarea cheilor
poate fi o problemă, dacă nu sunt stocate corect și sigur
q atacuri la baza de date

SRWDM Curs nr. 5 – 2022 – 2023 28

28

q Cei mai utilizați vectori de atac:


q Mesajele text (sunt preferate față de email)
q NFC – datele pot fi accesate fără știința utilizatorului
q Coduri QR – se pot deschide aplicații malițioase

SRWDM Curs nr. 5 – 2022 – 2023 29

29

q Kali Linux
q Smart Pentester Framework (SPF)
q Kali NetHunter
q Parrot Security

SRWDM Curs nr. 5 – 2022 – 2023 30

30

10
Exploatarea vulnerabilităților Android
q Atacuri de la distanță (remote)
q Atacuri pe parte de client
q Folosirea aplicațiilor malițioase
q Exploatare post atac (mobile post exploit)

SRWDM Curs nr. 5 – 2022 – 2023 31

31

SRWDM Curs nr. 5 – 2022 – 2023 32

32

q https://www.cvedetails.com/product/19997/?q=android

SRWDM Curs nr. 5 – 2022 – 2023 33

33

11
Remote attack

SRWDM Curs nr. 5 – 2022 – 2023 34

34

Remote Attack

SRWDM Curs nr. 5 – 2022 – 2023 35

35

Client side Attack - Webkit

SRWDM Curs nr. 5 – 2022 – 2023 36

36

12
Client side Attack - Webkit

SRWDM Curs nr. 5 – 2022 – 2023 37

37

Client side Attack - USSD

SRWDM Curs nr. 5 – 2022 – 2023 38

38

Client side Attack - USSD

SRWDM Curs nr. 5 – 2022 – 2023 39

39

13
Atac cu aplicații malițioase

SRWDM Curs nr. 5 – 2022 – 2023 40

40

Atac cu aplicații malițioase

SRWDM Curs nr. 5 – 2022 – 2023 41

41

Atac cu aplicații malițioase

SRWDM Curs nr. 5 – 2022 – 2023 42

42

14
Atac cu aplicații malițioase

SRWDM Curs nr. 5 – 2022 – 2023 43

43

SRWDM Curs nr. 5 – 2022 – 2023 44

44

SRWDM Curs nr. 5 – 2022 – 2023 45

45

15
Mobile post exploit

SRWDM Curs nr. 5 – 2022 – 2023 46

46

SRWDM Curs nr. 5 – 2022 – 2023 47

47

Bibliografie
q Ozdemir, D. and Cavsi Zaim, Investigation of Attack Types in
Android Operating System, in Journal of Scientific Reports-A,
Number 46, 34-58, June 2021,
https://www.researchgate.net/publication/357328566

SRWDM Curs nr. 5 – 2022 – 2023 48

48

16

S-ar putea să vă placă și