Žad Deljkić: Android USB vektor napada

Dnevnik rada

1. tjedan (28.3.2016. - 3.4.2016.)

Dosadašnji rad

Do sada sam razvio prototip aplikacije za Android uređaje sa instaliranim Kali NetHunterom koja može preko USB-a detektirati OS te pokrenuti USB HID napad, te sam napisao nacrt rada na engleskom.

Napisao sam plan rada koji je okvirno dogovoren na početnom sastanku u petak 24.3. Trenutno istražujem što je moguće sa USB napadima, načine detektiranja OS-a preko USB-a te moguće zaštite protiv USB napada.

Dok sam istraživao zaštite protiv USB napada općenito, došao sam opet i do Qubes-a, OS-a koji je općenito fokusiran na sigurnost te ju postiže gotovo ekstremnom izolacijom, te sam ga sada i instalirao i trenutno ga isprobavam. Autori su svjesni raznih napada, između ostaloga i USB napada. No ako korisnik koristi USB tipkovnicu i/ili miš, ne postoji nikakva ugrađena zaštita od USB napada. I dalje je vjerojatno moguće nekako ručno zabraniti novim USB uređajima da se spoje (što opet nije idealno rješenje). USB HID napad (isprobao sam simuliranje tipkovnice) funkcionira na Qubes-u, moguće je direktno napasti dom0, najsigurniju domenu, no detektiranje OS-a ne funkcionira, računalo se ne spaja automatski na mrežu sa mobitelom.

Daljnji koraci

Jednom kada je istraživanje gotovo, osmisliti daljni smjer rada - što je točno problem kojim će se rad baviti, te kako ćemo ga rješiti.

Plan je napraviti nešto novo. Jedna opcija je nastaviti s već razvijenom aplikacijom, završiti ju te joj potencijalno proširiti funkcionalnosti. Druga opcija je osmisliti i implementirati novi USB napad koji do sada nije bio istražen, ukoliko pronađemo nešto takvo.

2. tjedan (4.4.2016. - 10.4.2016.)

Dosadašnji rad

Prikupio sam literaturu koja bi mogla biti vezana uz ovaj rad te ju sortirao u kategorije:

Literatura se nalazi u Zotero grupi.

Daljnji koraci

Pročitati i odrediti koja je literatura najrelevantnija, te ovisno o postojećim radovima odrediti daljnji smjer ovog rada kako bi se napravilo nešto novo.

Za sada okvirnim pregledom svih radova nisam naišao na ništa slično aplikaciji koju sam razvio, tako da mi se čini da bi nastavak u tom smjeru bio dobar.

3. tjedan (11.4.2016. - 17.4.2016.)

Dosadašnji rad

Pročitao sam literaturu, organizirao ju te napisao bilješke o bitnim dijelovima (sve je u Zotero grupi).

Postoji velika količina relevantnih radova te je dosta toga već istraženo, uključujući i USB napade sa Androida te fingerprintanje OS-a preko USB-a, čak i sa Androida (u svrhe forenzike).

No ne postoji nikakvo rješenje sa već objavljenim source kodom za fingerprintanje OS-a, niti neko rješenje koje integrira više koraka napada, primjerice detekcija OS-a te napad ovisno o rezultatu detekcije (no spominje se).

Daljnji koraci

Ja mislim da najviše ima smisla fokusirati daljni smjer rada na sljedeće točke te izrada aplikacije/jednostavnog frameworka za Android USB napade u tom duhu:

U raznim radovima su već predložene neke zanimljive ideje, no nigdje to nije skupljeno i implementirano.

Funkcionalnosti koje su potrebne za efektivan napad bi bile:

Zato sam mislio kako bi bilo dobro pretvoriti aplikaciju koju radim u nekakav framework za USB napade, koji bi podijelio otprilike ovako:

Naravno ne bih implementirao sve ovo, no velik dio toga je moguće lagano implementirati.

Sama aplikacija bi bila izrazito jednostavna - u njoj bi bilo moguće podesiti koje shell skripte treba pokrenuti pri sljedećem USB spajanju na PC, te bi se glavna funkcionalnost implementirala u njima (tako više manje za sad i funkcionira).

Period međuispita + 4. tjedan (9.5.2016. - 15.5.2016.)

Dosadašnji rad

Napisao sam početnu verziju seminara od 10-ak strana u skladu sa smjerom određenim u 3. tjednu, posalo sam ju na mail mentorima za povratne informacije.

Dalje razvijam i restrukturiram aplikaciju kako bi kod bio pregledniji jer bi aplikacija trebala prijeći iz prototipa u nešto što će se objaviti.

Daljnji koraci

Kad dobim povratne informacije u vezi seminara, dalje ga pisati u skladu s njima te dalje razvijati aplikaciju.