
pomeriggio e benvenuto nel mio intervento
smantellare le app Android prima di iniziare
questa è la solita slide del
organizzatori di conferenze quindi per favore vota
questo discorso se pensi che fosse il più
discorso fantastico mai valutato se lo pensi
è stato il discorso più schifoso che abbia mai fatto irruzione in questo
tratta di informazioni molto utile sia per il
organizzatori della conferenza e io prima di me
immergiti nell’argomento di quale codice ispezionare
è tutto e perché penso tutto il tuo
il codice appartiene a noi quindi io e il mio
colleghi ti darò un breve
introduzione su me stesso e il
gruppo di ricerca Vengo da
quindi vengo da technische universität
Dump Dado che è l’ università in
Germania circa 30 chilometri a sud di
francoforte e facciamo ricerca sulla sicurezza così
il sottogruppo Sono in gran parte su come applicare
analisi del programma ad Android per sicurezza
Ragiona chi di voi conosce il programma
analisi va bene che è un po ‘per il
altre analisi del programma stanno creando
algoritmi e programmi che ragionano
su altri programmi così sei
sviluppatori si scrive un programma e il mio
i programmi accettano questo programma come input
tu mi dai e dici ok questo è un
questa è la potenziale vulnerabilità di sicurezza
un’inconsistenza qui che non hai
questo controllo di accesso verifica che tu avevi
laggiù tutto ciò che dici ok questo è un
potenziale nullpointereception that
potrebbe essere in giro in fase di esecuzione e
questo è particolarmente utile per la sicurezza
come vedremo e se sei interessato
in quello che facciamo nel gruppo, allora puoi farlo
visita anche il nostro blocco così ogni tanto
pubblicare vulnerabilità in cui abbiamo rilevato
il sistema operativo Android già
avuto un paio di loro che erano anche
riconosciuto e risolto da Google e se
stai cercando strumenti che siano anche i
il posto giusto dove andare e ora senza
oltre ad approfondire il contenuto
Penso che tutti voi sappiate che Google Play
Negozio
chi di voi ha già pubblicato un’app
sulla maggioranza del Play Store, ok
ottimo che significa che sono nella stanza giusta
così normalmente quando ci pensi
applicazioni di pubblicazione sul Play Store si
avere un determinato modello in mente questo modello
consiste di uno sviluppatore e l’utente e
di solito la tua idea è che tu come
sviluppatore sei tu il potere in te
avere il potente codice sorgente questo significa
che puoi creare l’app che puoi
modificalo puoi ragionare sull’app
e tu sei l’unico e l’utente su
l’ altro lato prende il codice binario
quindi tutto ciò che può fare è eseguire l’app e
nient’altro che ciò che ti mostrerò
o di cosa parlerò è quanto sia facile
per l’utente in realtà ottenere di più
potere e smantellare quella app per Android
e dire ok, voglio comportarmi come a
sviluppatore voglio sapere cosa sta succedendo
all’interno di questa app e questo è un
domanda non solo la sto chiedendo perché se
guardi Stack Overflow lo trovi
un certo numero di volte così per esempio
ecco un ragazzo che ha detto che va bene
ho sentito che è molto facile da piratare
App Android c’è qualcosa che posso fare
su di esso per renderlo più difficile per le persone o
ecco un altro ragazzo che si sono lamentati di questo
solo circa il 5% di tutte le installazioni di
quel gioco è stato effettivamente pagato e il
altri erano da alcuni luoghi ombrosi
in rete e non siamo pagati per
o un altro ancora questo ragazzo è anche
chiedere ok se c’è qualcuno determinato
per piratare la sicurezza della mia app exploit
vulnerabilità a qualsiasi cosa strana
con esso
quanto è facile per lui così anche se lo ha
Non non avere il codice sorgente può lui
fai cose cattive alla mia app, lui può sapere cosa?
L’ho fatto in termini di protezione e annullarlo
e questo è esattamente ciò di cui sto parlando
riguardo sto parlando di come possiamo rompere
nella tua app quindi le cose che fai per a
vivendo ti sto dicendo come romperlo
e per questo presenterò un nuovo strumento
chiamato codice ispezionare che è un binario
quadro di analisi per Android, quindi ancora una volta
il modello è che hai lo sviluppatore
che ha il codice sorgente e l’utente
ha solo il codice binario ma stiamo facendo
quello che stiamo facendo qui è che gli diamo un
strumento che gli consente di agire come se avesse
il codice sorgente fa la stessa cosa
iniettare il codice rimuovere il codice di modifica del rivestimento
fai il debug dell’app per capire cosa sta succedendo
Là
e quindi qual è il tuo primo pensiero quando
hai sentito che di solito le persone mi chiedono ma
perché voglio dire che sono qui che non sono
cercando di scappare dalla polizia così
perché dovrei tipo di rompere in altro
le app della gente una risposta perché posso
la seconda risposta è che c’è davvero di buono
motivo per questo perché ci sono
app legittime dove c’è di solito
nessun motivo per irrompere e c’è
malware sul Play Store o su alcuni
altra fonte , ad esempio in Cina di
negozi di app che hanno app di circa uno
terzo che sono malware quindi uno di
tre app sono in realtà qualcosa di te
non voglio e per queste cose anche tu
ricevi solo l’app ma vuoi sapere
cosa stanno facendo questi ragazzi , vuoi
scoprire è questa app per la quale io solo
il codice binario è questo malware e
in tal caso rubano la mia carta di credito
i dati stanno facendo funzionare alcuni SMS premium
truffa così mandando messaggi SMS a premium
scrivere numeri a mie spese o sono loro
effettivamente cercando di criptare il mio telefono e
prendi un riscatto per me, quindi cos’è questo?
ragazzo e lì ha senso tipo di
irrompere nel malware e questo
è il solito processo per
società di istanza AV – antivirus
i venditori qui hanno appena sostituito lo sviluppatore
dal truffatore
e sostituire l’utente dall’investigatore
e poi hai esattamente questo
scenario in cui qualcuno ha bisogno di andare al
ciclo di sviluppo il contrario
e reverse engineering di un’app per Android e
questo è alla fine di cosa si tratta
rendendo più facile il contrario
ingegnere per capire ma anche troppi
si domanda il motivo per cui la luce manipolare
perché a volte se leggi solo il codice
tu non capisci direttamente di cosa si tratta
tutto su ma se sei per esempio
in grado di iniettare un monitor al suo interno
che ti dà informazioni di runtime o se
sei in grado di iniettare ulteriori
il debug e il logging lo fanno in questo modo
più facile come un altro analista a volte
voglio anche cambiare il malware o se
c’è una protezione specifica lì
che cerca di impedirmi di ispezionare
a Melbourne piace fare solo il malvagio
comportamento se si esegue su un film situato
nel sud della Cina, voglio liberarmi di
che non voglio volare a sud
Cina solo per verificare che Melbourne e
questo è un rapido scorcio del
strumento così l’idea è che tu abbia
qualcosa che assomiglia al
ambiente di sviluppo con il solo
differenza che è un analista
ambiente fammi andare rapidamente nel
sopra i dettagli qui, quindi chi di voi
conosce il vecchio sviluppatore Android
strumenti per Eclipse ok
un bel po ‘so che Android ha
passato a IntelliJ ma il nostro ambiente
è ancora basato su Eclipse perché noi
iniziato quando ADT era ancora pronto per
Eclipse con la prima versione di quello
codice, quindi quello che fai è che puoi importare
la tua applicazione binaria nello strumento
ottieni i pacchetti e i nomi delle classi
nella tua normale gerarchia, proprio come il
sviluppatore avanti puoi guardare le cose
come il file manifest per vedere quale
componenti ci sono puoi guardare il
le risorse vedono se c’è qualcosa di nascosto
quindi alcune applicazioni malware per
esempio ti danno una tassa secondaria
o il file apk nascosto in quello originale
in modo che se si guarda l’esterno
cosa tu non trovi il codice dannoso
ma il codice dannoso è da qualche altra parte
a volte è anche in qualcosa chiamato
un file JPEG che in realtà non è un JPEG
ma questo è il codice e anche questo è
qualcosa che puoi vedere qui e lo mostrerò
una demo dal vivo in un minuto
ovviamente hai il codice ora questo
il codice potrebbe non sembrare troppo familiare
se lo guardi, questo codice non è Java
codice e non è codice assembly
nel invece è un linguaggio chiamato
fossetta fossetta si trova da qualche parte tra
assemblaggio e normale simbolo del codice Java è
come Java ma semplice e l’idea è
che se hai uno sviluppatore di malware
proverà ogni sorta di roba da provare e
prevenire questo reverse engineering così lui
inietterà il codice che non puoi facilmente
tornare al codice Java per esempio in
Java c’è una semantica abbastanza chiara per
che loop è sul codice byte che posso creare
loop che saltano ovunque nel codice
a certe condizioni non lo è
possibile in Java, quindi non posso ottenere
Codice Java da un tale offuscato
app ed è per questo che ci affidiamo invece
questa rappresentazione intermedia invece
di tornare a Java poi come
solito per questi per la pasta di Eclipse
strumento c’è il contorno del codice così
tu vedi veramente in cosa consiste questo
vedi i campi vedi i metodi
e così via hai la solita cosa
errori di sintassi perché posso anche cambiare
questa presentazione culturale se voglio
se faccio qualcosa di sbagliato, voglio ottenere
avvisato di ciò vedo l’output di
il blocco a così ciò che l’applicazione
mi scrive come analista e di
Certo che posso cercarlo e questo
l’intera cosa sembra e basta
Eclipse per l’analista significa questo
non è troppo difficile per iniziare indietro
progettare app Android in modo da poterlo fare
ottieni lo strumento e guarda il tuo primo
Melbourne ma per te come sviluppatore
questo significa anche che ogni ragazzo dal
street può semplicemente usare uno strumento come questo o
uno degli altri strumenti della concorrenza e
dì ok, prendo la tua app che sviluppi
e lo decodifico e così via
protezione contro il reverse engineering
o contro ogni tipo di attacco è di più
importante che mai e come abbiamo sentito
in uno dei precedenti discorsi ci sono
modi per per proteggere applicazioni come vi mostrerò
è un po ‘ horror o Scott è
diventando sempre più difficile
perché alcune delle protezioni che abbiamo
sentito nei discorsi precedenti come
controllando la firma o facendo un MU
mentire per verificare un controllo di root in realtà
essere aggirato abbastanza facilmente ma lo faremo
lo vedremo nella demo live
e la cosa più importante è con a
con questi strumenti puoi anche eseguire il debug
perché solo guardando lo smontaggio
non ti darà il valore predefinito
informazioni su cosa questo cosa questo
l’app fa quello che invece tu puoi fare qui
puoi solo in qualsiasi posizione impostare a
punto di interruzione e dire va bene voglio sapere
cosa sta facendo questa applicazione binaria
qui hai lo stack normale tracciati
avere le variabili in vista di avere tutto il
cose che conosci dal normale Java
debugging lock it console tutto ciò
roba così queste caratteristiche sono proprio quelle
che tu come sviluppatore sei
noto a questo è disponibile per tutti
chi ha appena il file apk quindi c’era a
lasciatemi brevemente una breve introduzione sullo strumento
basta andare rapidamente oltre l’architettura I
sappi che questa architettura è così
è forse un po ‘noioso, ma lo farò
rapidamente e poi andare alla demo dal vivo
perché penso che sarà molto di più
interessante fare vita hacking di appena
andando sulle noiose diapositive di architettura
comunque così per costruire uno strumento come questo cosa
tipo di fondazione puoi usare così questo
è costruito sul compilatore open source
vestito della struttura di costruzione
qualcuno lo sa bene così alla ricerca
le conferenze di solito ci sono una coppia
delle mani quando ho detto che questo era vestito
originariamente iniziato alla McGill University
e utilizzato per ottimizzare il bytecode Java
e più recentemente si è evoluto in
un compilatore e ottimizzazione e
quadro strumentale anche per
Android l’idea è che hai inserito
formati che possono essere file apk di file Dex
File di codice sorgente Java File di classe Java
e tu puoi inserire
e fuori tirato quelli così posso dire facilmente
prendiamo un file dex mettilo per seme
tornare con un file di classe Java
oppure prendi un file di classe Java e uniscilo
in un apk quindi posso solo aggiungere codice a un
apk esistente e oltre ad essere un tale
traduttore anche la struttura del seme
offre cose come darti una chiamata
grafico così mostrandoti per ogni metodo
chiamare dove questo va o dove questo
può venire da tutte le interazioni
tra i metodi può essere messo in
un grafico conciso da quello strumento o da te
puoi anche chiamare la sintesi, quindi se tu
per esempio voglio dire mettiamoci dentro
metti una stampa di armadietto dopo ogni affermazione
che accede al mio dispositivo signora che è
qualcosa che puoi fare con questo
framework del compilatore e da quando abbiamo costruito
in cima al framework del compilatore il
strumento di controllo del codice può utilizzare tutto il
l’espressività di ciò
quadro che rende possibile non farlo
solo qualcosa come la tua piccola scatola
più piccola che si potrebbe sapere che ha appena
è un traduttore ma anche avere cose
come potente con tutte le stazioni e
a proposito, chi se lo sa piccola e
si becca un po ‘Molly, quindi questo è giusto
un traduttore dal testo ad un umano
codice leggibile e ritorno a dex e siamo
andare oltre e tutto questo vestito
quadro è stato in fase di sviluppo da parte di
gruppi di ricerca in tutto il mondo per
più di 10 anni in fretta ti ho detto
su quella rappresentazione intermedia
chiamato semplice quindi l’idea qui è quella
hai qualcosa che è abbastanza vicino
al codice byte che puoi rappresentare tutti
le cose strane che le persone possono fare dentro
codice byte ma anche essere ancora umano
leggibile che non è il caso con
cose o non così facilmente il caso di
cose come il piccolo codice elettronico che è
Semplicemente difficile da leggere e questo
la lingua può anche essere usata per
manipolazione solo un rapido
rapidamente andando oltre che quindi questo è un
il vero pezzo di malware da cui proviene
lo farò anche dal trojan bancario della Corea
utilizzare per la demo dal vivo e che andrò
nei dettagli in appena un minuto
e quello che vedi qui è questo
il malware richiede effettivamente qualche file apk
dalla scheda SD e in seguito alle installazioni
e questo file APK era originariamente
scaricato da un server quindi c’è un
infrastruttura di controllo dei comandi qui
dove il server dice a Thurston
malware ho una nuova versione o alcuni
codice che è necessario eseguire
download di malware il codice lo mette su
la scheda SD lo legge installandolo e
cancella il file dalla scheda SD e
la cosa interessante di questo mana
classe di strumenti per i quali cons back è un
esempio è che ti daranno
qualcosa che ha la costante
stringa seriale quindi anche se originariamente
non era una costante ma questo è stato calcolato
in qualche modo c’è una cosiddetta costante
propagatore e cartella che lo attraversa
questo assicurerà che anche se questo
era originariamente una concatenazione di SD
carta e prova da qualche parte lì
otterrai lo spago per intero
qui e tu come un analista puoi facilmente
vedere un altro vantaggio di questi
moderni tipi di strumenti sei tu
in realtà hanno un linguaggio di tipo quindi se tu
guarda cose come piccoli codici e simili
smontaggio che ottieni dalle cose
come Ida Pro hai solo registri qui
hai nomi di variabili reali che sono
scrivi come vedi sopra così Arbeit è
in realtà si attengono e questo è un output di file
flusso quindi è molto facile da leggere questo se
hai solo se conosci Java e te
spendere come dieci minuti che passano attraverso
quel codice hai il solito stile di
dichiarazione del metodo del primo anno poi il
dichiarazioni variabili e quindi solo il
implementazione del metodo in realtà
questo foglio cheat che descrive il pieno
linguaggio che usiamo qui se si stampa
fuori si adatta su una pagina a4 per
PowerPoint ho dovuto dividerlo su
diapositive e alte ma che voglio mostrare
ecco semplicemente che questo è qualcosa
che ti dà un bel po ‘ di
informazioni lungo la strada così per un campo
vedi i modificatori che vedi il tipo
vedi il nome del campo per un corso
vedi anche il modificatore vedi cosa
estende se implementa un
interfaccia in modo da ottenere tutto questo
informazioni direttamente come hai avuto in
Java e per il codice il più grande
differenza rispetto al normale Java che farai
l’avviso è che le chiamate al metodo sono a
un po ‘ diverso così sul bytecode
livello di cui stiamo parlando qui, quindi dove
noi ma questo originalmente viene da te
non solo avere un metodo che chiami tu
avere una sorta di quattro diverse chiamate di metodo
e i tre più importanti sono
che distingue tra se
si chiama un’interfaccia un metodo statico o
il tipo di normale normale virtuale
chiamare ma ancora una volta questo è se si desidera solo
leggere il codice e questo è ancora
abbastanza semplice e un’altra cosa noi
bisogno di prendersi cura di quando stiamo parlando
circa su qualcosa più vicino al byte
codice non ci sono blocchi quindi non c’è
se-allora-else invece se solo come in byte
il codice è rappresentato da se questo
la condizione vale quindi andare lì che
è un’istruzione di salto se non cade
attraverso la stessa storia per il ciclo un ciclo è
solo un andare a un se e così a questi tre
cose circolano le condizioni e il
split-up invocano queste persone che sono
la più grande differenza rispetto a due normali
Codice Java ok
abbastanza delle cose noiose penso metà
della camera è addormentato così andiamo a
qualcosa di più interessante che non lo è
solo cose accademiche ma il vero
affare
abbiamo analizzato un pezzo di malware
venendo dalla Corea quindi se stai cercando
per il malware divertente non rimanere dentro
L’Europa è molto più divertente melba
arrivi da posti come la Russia, la Corea
In Cina ci sono in realtà posti di posta
porte come ho detto al tuo play store
equivalenti che ti servono un terzo
malware, quindi scarica solo dieci app
di solito ottieni tre app malware
solo scegliere a caso non va bene se tu
voglio usarli sul tuo produttivo
telefono se stai cercando di analizzare
malware ci vai
questo hanno avuto un’app sul
mercato che ti ha detto che avresti ottenuto un
versione di anteprima dell’intervista
film e quello era prima che il film fosse
così le persone lo scaricano e dicono hey
Prendo il film prima che arrivi il mio vicino
e lo ricevo gratis e questo è tutto
perché sono brave persone e e
c’erano molti utenti che non lo facevano
penso davvero che potrebbe esserci
qualcosa di leggermente sbagliato e
beh, in realtà c’è qualcosa che non va
con esso perché questo non era affatto il
il film dell’intervista era solo un
semplice vecchio pezzo di malware e questo in
Infatti a oltre 20.000 telefoni così erano
apparentemente molte persone che erano
appassionato di ottenere il film se si guarda
questo malware è in realtà un equo
pezzo complesso quindi dal punto utenti
quello che fa è il primo controllo
se hai un certo numero di
App bancarie coreane installate sul tuo
dispositivo se non lo farà semplicemente
qualsiasi cosa, se hai queste app
installato lo impersonerà così se
sei un cliente di borsa e avere
la loro app ha installato questa malva sarà solo
assomiglia all’interfaccia utente del settore bancario
app a se è stato installato lo farà
sembra proprio bancario a B e loro
averlo implementato per dieci o dodici
applicazioni
quindi qualcuno stava effettivamente realizzando
sforzo in questo non nell’ottenere il film
ma nel prendere i tuoi dati bancari e questo
il melba allora aveva a seconda della banca
avevano emulato le caratteristiche di sicurezza
della banca quindi se la tua banca avesse un
diciamo la password speciale per a
certificato che hai sul tuo telefono
accedere al tuo conto bancario quindi questo
il malware avrebbe saputo che e chiedere di più
la password per quel certificato se
sei un cliente di un’altra banca dove
non hai bisogno di una password per a
certificato che non ti chiederà a
password per un certificato, quindi se le persone
sono stato nei colloqui qui e andare a
chiama la progettazione dell’interfaccia utente
ragazzi capito bene perché sapevano cosa
rubare da te e quindi cosa hanno fatto
fare se hanno mostrato l’API bancaria
chiedi un nome utente per la password del conto bancario
numero la password del certificato se
richiesto e molte altre cose e in
lo sfondo
avevano un’interfaccia di comando e controllo
in esecuzione così in realtà un server potrebbe inviare
comandi aggiuntivi al malware a
attivare le funzionalità extra, ad esempio
aggiorna questa roba che è grandiosa che abbiamo
imparato sulla consegna continua in viaggio
a Khan
questi ragazzi lo fanno anche il
il server di comando e controllo può inviare un
Messaggio SMS a quel malware da attivare
Intercettazione di messaggi SMS quindi qualsiasi SMS
messaggio che si ottiene è trapelato al
attaccante questo non è perché il
l’attaccante vuole sapere qual è il tuo
la nonna ti sta parlando di lei
compleanno questo è perché ottieni
numeri di transazione dalla tua banca via
SMS e questo è ciò che gli aggressori sono
interessati e sono anche in grado se
la gente diventa sospettosa o se la polizia lo è
cacciando dopo di loro per disattivarlo di nuovo
e quindi l’applicazione andrà bene
nascondere la sua icona dal programma di avvio e altro ancora
o meno sarà andata un’altra storia che noi
guarda qui per tutti questi dati
exfiltrazione usano due canali così
per aver rubato i tuoi messaggi SMS lo faranno
inviarlo via HTTP ma allo stesso tempo
tempo lo invieranno via e-mail
perché vogliono fare resilienza
programmazione se qualcosa va storto si
non voglio disturbare l’utente
Esperienza giusta tutto il malware
esperienza perché se la polizia sta prendendo
giù il tuo server HTTP perché smettere di rubare
le cose vanno semplicemente via email e penso
a volte, come i normali programmatori possono
imparare un po ‘dal malware
sviluppatori quando si tratta di cose come
resilienza delle interfacce utente e così via
cosa otteniamo questo pezzo di malware
da quella era una collaborazione in corso
con McAfee l’azienda antivirus di
il pretesto sapevano che era così
sta succedendo così ci sono alcune e-mail inviate e
ci sono alcuni collegamenti HTTP bene il
la grande domanda era dove sono inviati questi dati
per cui qual è l’ indirizzo email lì
e speriamo che se otteniamo una password noi
può quindi dare questa password anche al
alla polizia in modo che possano controllare
se ci sono ancora dati rubati
all’interno dell’account e ora il grande
la domanda è come lo fai e questo?
è il contenuto della demo live così
quello che di solito è quello che fai di solito
devi prima importare l’apk
file quello che posso fare è che posso semplicemente mettere il
apk o posso allegare il mio telefono e importare
il file apk dal telefono io non sono così
appassionato di malware in esecuzione sul mio telefono reale
quindi importerò un file e appena in
come nei normali ambienti di sviluppo
Posso specificare un nome di progetto e il
file poiché l’importazione richiede un po ‘di tempo
l’ ho già fatto per te perché lo voglio
sprecare il vostro tempo sul lato sinistro qui
vedi che questo è il contenuto di
questo di questo pezzo di malware, quindi cosa?
vedi qui, passiamo attraverso te
vedere le risorse oh interessanti ci sono
un altro file apk in modo che non vogliano
vediamo noi vogliono che vediamo tutto il codice loro
metti un secondo file apk e da qualche parte
all’interno di quel malware sono in realtà
caricando quel codice aggiuntivo interessante
vedi che c’è un codice nativo
là dentro così apparentemente sono
cercando di nascondere le cose se decompiliamo il file
la parte di Dalek o la parte di Android
e nasconditi all’interno del codice nativo o di un altro
la cosa interessante è se guardi dentro
le risorse che in realtà sono
in realtà sviluppatori piuttosto buoni perché
quello che fanno è che non mettono semplicemente il
le stringhe dell’interfaccia utente come normali
stringhe usano lo store XML come stringa
un’astrazione e mettono tutto dentro
risorse forse nel caso in cui volessero tardi
troppo tardi per tradurre il loro malware in
Russo o quant’altro per cose come
inserisci la password e ricontali anche loro
avere i messaggi di errore corretti come hey te
inserito in una password non valida che è
troppo breve non parlo coreano ma se
lo metti in Google Traduci
ti dirò una cosa del genere così
anche questa è una storia interessante
Melbourne controlla effettivamente se il
i dati che inserisci hanno senso se inserisci
un numero di conto che non è valido
per la banca che hai originariamente
che è stato originariamente rilevato sul tuo
telefono ti dicono che ti sei perso
il tuo numero di conto non ruberò
bene, non ti stanno mostrando il
seconda parte della frase, ma sono
mostrandoti hey controlla cosa hai ferito
quindi è tutto interessante ora, facciamolo
cerchiamo di accedere al manifesta um vediamo
un’altra storia per la quale è abbastanza normale
Melba è così che vedi che ne chiedono uno
o un altro permesso e questi sono simili
Non direi dannoso ma diciamo
permessi interessanti come leggere SMS
leggere i contatti chiamare il telefono per leggere il registro delle chiamate
anche molto interessante un avvio di ricezione
completato perché solo perché l’utente
riavviato il telefono che non vuoi
ferma la tua truffa per far andare avanti il business
e AH c’è anche lo sfondo ucciso
processi perché se si rileva il
app bancaria originale, ovviamente no
vuoi che l’utente usi l’originale
applicazione bancaria ma tu vuoi che lui usi il
malware e se si passa attraverso che facciamo
basta vedere da dove cominciare perché di solito
queste applicazioni sono sono piuttosto grandi quindi cerchiamo di
vedi se abbiamo qualcosa come main qui
o ora meglio ancora andiamo
cosa c’è nel programma di avvio giusto
e trovi qualcosa che viene chiamato
la mainattività è buona e non importa
il nome del pacchetto è stato scelto da
sviluppatori di malware sono persone divertenti
chiamano pacchetti come questo, ora facciamo
vai alla definizione e c’è un
non diventi esaminiamo questo per a
secondo, prima di tutto lo vedrai
c’è in realtà un sacco di codice, ma questo
è già qualcosa di interessante, giusto
c’è qualcosa chiamato get bank’s
informazioni così come ti ho detto che stanno controllando
che bancarotta il cliente non lo fanno
vogliono truffare la banca sbagliata che hanno
cose come l’URL della banca e oops qui
noi andiamo là è qualcosa che è quello
sembra un nome utente e una password
ecco quindi questo è il nostro primo candidato per
che per quell’e -mail l’accesso ricorda loro
stavi rubando i tuoi dati anche via email
e noi eravamo interessati a ottenere il
nome utente password per così probabilmente
dovremmo stabilire un breakpoint all’interno di questo
metodo e vedere cosa sta succedendo qui
facciamolo, sì questo è il
configurazione di debug normale da cosa
da eclissi solo la cosa è che sto facendo il debug
su un binario ora non sul codice sorgente
e voglio usare Miami più tardi qui
potrebbe anche iniziare un nuovo emulatore o un
dispositivo reale ma in esecuzione Melbourne on
i dispositivi reali sono un’idea piuttosto cattiva, quindi io
non lo farò in questo modo in attesa del debugger
sistemati uh-huh mi sta chiedendo se sono io
voglio aprire la prospettiva del debug sicuro
lo voglio
okay, questa è essenzialmente una super chiamata
non è niente di troppo interessante , andiamo
inoltre ora chiamano un metodo che è
chiamato ECE e memorizzano il risultato
qualcosa chiamato z0 e il risultato è
vero quello che vediamo qui è se lo zero lo è
vero andiamo a etichetta tre vediamo cosa
label 3 is oops che sta uccidendo l’app
quindi la domanda è: perché il
il malware tenta semplicemente di uccidere la mia app
e quindi diamo un’occhiata a questo
perché a quanto pare ha fatto l’ app
ucciditi e se guardi qui dentro
è interessante che ottengano il cellulare
informazioni e lo stato del telefono e poi loro
controllare bene questo contiene bevande come
SDK pesce rosso e disegnarlo fa nessuno
avere una minima idea di cosa potrebbe essere
sì, questo è un rilevatore di emulatori, quindi noi
visto che questo valore di ritorno era vero
ovviamente perché sto in esecuzione su
emulatore ma non voglio che l’app muoia
perché voglio continuare il mio
investigazione qui, quindi aggiustiamo
quello ha azzerato ora non sto correndo
su un emulatore scusa , andiamo
imposta zero è falso saltare sopra di esso no è
non un emulatore questi non sono i droidi
stai cercando
okay, passiamo a tutto il
spazzatura qui eravamo interessati a
qualunque cosa stessero facendo con quello
password o nome utente o quale attività commerciale
okay, quindi quello che fanno è chiamare a
il metodo chiamato string user qui basta dare
una prova e vedere dove questo viene da
oh questo in realtà viene da nativo così
questo è esattamente ciò che questa libreria nativa
era perché questo utente di stringhe e
stringa di password questi erano nativi
funziona in modo che stiano cercando di nascondere il
nome utente e password da parte nostra ma solo
mettendolo in nativo ma siamo in a
debugger quindi diciamo questa variabile
la stringa è il risultato di questa chiamata così
l’hanno messo in nativo ma è tutto
non serve molto perché posso solo vedere il
valorizzare qui e questo è stato tirato giù
ora quindi non provare a rubare l’account
più tardi e venderlo sul mercato nero
è la stessa storia se andiamo avanti e
cerca la password qui andiamo così anche
se metti le cose nel codice nativo loro
non sono andati loro sono semplicemente li metti a
debugger e il
Ora, prima di andare avanti lasciatemi chiarire una
cambia perché so che dimenticherò
questo emulatore controlla a un certo punto durante
la demo quindi cerchiamo di sbarazzarcene
per il bene ho appena commentato salvare il
progetto
si dice edificio di lavoro qui andiamo
il controllo dell’emulatore è completamente andato così io
non devi smanettare con questo no
Non sono un emulatore cosa ora cosa siamo noi
non hanno ancora trovato è dove essi in realtà
ha inviato questa email proprio quello che possiamo fare
ecco a un certo punto questi ragazzi rubano
Messaggi SMS giusti in modo che possiamo vedere se
loro bene usano effettivamente questa ricezione
SMS ah, eccoci qui, questo è un internet
filtro per gli SMS ricevuti vediamo solo
quello che succede sì, questo è un
filtro interno per un sacco di cose
roba a cui non importa, entriamo in quello
ancora una volta gli sviluppatori di melba sono
persone interessanti a quanto pare
come parole di quattro lettere non so perché
okay, quindi c’è un metodo non di ricezione
e ancora una volta quello che posso fare qui sono io
posso semplicemente impostare un punto di interruzione, quindi ho bisogno di farlo
esegui di nuovo la mia app sì, lo stesso vecchio emulatore
sì, l’ installazione di lancio di connessione
debugger ok se ho dimenticato di spegnere il
breakpoint e creerò in main okay
ora ovviamente questo sta intercettando SMS
messaggi quindi inviamo un SMS
messaggio diciamo che arriva da 40 a
42 ed è un SMS che dice ciao vai
con, mandiamolo
vale a dire sì va bene io non attivarlo
quindi la cosa interessante di questo è
questo è quello che ti ho detto che c’è un
funzione che consente di attivare e
disattivare la gestione degli SMS se torniamo indietro
nel codice possiamo vedere che carina
piuttosto semplicemente questa attivazione e
la disattivazione di thingy è controllata da
ottenendo il primo numero di telefono così
questo accetterà solo i numeri di telefono
iniziare con 86 o 82 che sono i
codici nazionali per la Corea e la Cina e
poi fanno qualche parodia divertente
attrezzatura e quello che fanno è sì loro loro
verificare la presenza di un comando chiamato un K 40 chiedermi
perché l’hanno chiamato questo e se tu
invia un messaggio con un telefono corretto
numero quindi più 46 a + 42 qualcosa e a
K4000 uno consentirà l’SMS
rubando un punto di sottolineatura K 40 lo farà
disabilitare il furto di SMS e nel caso in cui il
l’app viene riavviata, va bene
pratica per salvarlo bene persistente
stato così usano solo condiviso
preferenze e salvarlo come stato SMS
non fare in modo che l’ attaccante abbia inviato lo stato
due volte è una brutta esperienza utente
vuole evitare questo così ora facciamo solo
ricominciare da capo e inviare il
attivazione magica come messaggio di alcuni s yeah
a proposito ti starai chiedendo perché
non c’è un errore che passa attraverso questo
è una cosa piuttosto semplice perché dice
l’eccezione dell’host sconosciuto non può essere risolta
ospitare questo prima di tutto sono in un
emulatore quindi non ha internet
connessione e in secondo luogo la polizia tende a
abbattere gli host del malware, quindi questo è giusto
non risolvibile più
questa è anche una delle cose che hai
a che fare con quando si cerca in di malware
a volte questi host non sono raggiungibili
più o c’è qualche altro divertente
comportamento andando a posto per questo
stavamo cercando di scrivere +82 così
facciamo solo più 82 ciò che ci hai inviato
Qui
Oh
ok si, è apparentemente nuovo
uno comunque così questo di solito solo
fai in modo che il debugger colpisca il breakpoint e
mostra il messaggio SMS in arrivo e
scriveranno questo valore in condivisione
anche le preferenze interessanti sono te
trova le chiamate a un bot che trasmettono cosa
fa se questo messaggio è in realtà
provenienti dalla tua banca che vogliono o
questo lo rende diversamente se lo si desidera
contattate la vostra banca e dire hey penso
c’è qualcosa di sbagliato o se la tua banca
vuole contattarti e dire okay
l’account è stato violato a piacimento
disabilita questo perché non vuoi il
le persone devono essere avvertite di Melbourne
quindi cosa hanno fatto in realtà gli sviluppatori qui
hanno spedito agli scrittori gli abortiti
chiamate in arrivo e messaggi SMS
venendo dalla banca in modo che le persone
non sono avvisati in modo interessante che c’era un
bug lì dentro quindi la versione originale
del malware hanno anche abortito
telefonate in arrivo da altre persone
non solo dalla banca questo è un po ‘
sfortunato ma a volte lo vedi
Gli sviluppatori di malware non sono andare a
gli sviluppatori, quindi credo che dovrebbero
hanno messo più a prova qualche regressione
prove che alcuni test unitari J dovrebbero avere
sistemato le cose quindi se ci sono Melvin
gli sviluppatori tra di voi fanno testare il codice
prima del lancio che potrebbe effettivamente
ostacolare la vostra truffa, se si sta facendo
sbagliato ora andiamo subito nel
nell’interesse del tempo, facciamo solo
rapidamente andare in nel reale
scamming parti vedi questa chiamata qui –
per postare Jason quindi questo sta facendo l’HTTP
mandando una parte e penso che non fosse così
tre c’è l’elettronica invia reale e
se imposto un breakpoint qui e eseguo il
app ancora una volta che voglio nel
l’interesse del tempo lo vedrai
era la vera password che abbiamo visto quando
eseguiamo il debug di oncreate e anche tu
vedi il contenuto del tuo SMS in arrivo
messaggi rubati qui
Penso che sia abbastanza per il
demo dal vivo fammi solo tornare al
diapositive così hai visto che gli strumenti
come questo può essere molto utile per
ispezionare Melbourne se sei un malware
i tempi dello scrittore diventano sempre più difficili per te
ma anche per lo sviluppo del software
a volte hai una libreria di cui
hai solo il codice binario ma
non il codice sorgente ma qualcosa
si blocca nella tua app quando usi il
biblioteca questi strumenti puoi solo eseguire il debug
all’interno della biblioteca e vedere che cosa è reale
la causa è e come puoi ottenerlo
puoi cercare sicurezza
vulnerabilità all’interno di queste librerie
e puoi vedere cosa succede sotto il
cappuccio in modo da poter capire questi
ovviamente le biblioteche non sono malvagie
quindi le leggi sul copyright continuano ad applicarle
gli strumenti possono essere usati per rubare intellettuale
proprietà da app di altre persone per
esempio un buon algoritmo
reverse-engineer lo copia possibile ma
illegale o rimuovi gli assegni di licenza
supponi di avere un’app nel Play Store
questo è gratuito ma se vuoi farlo
dì gioca più di tre livelli nel
gioco devi pagare per questo se questo è
semplicemente un controllo hey se sono pagato posso
ordinatelo ci metto circa a
ancora minuto è illegale ma possibile
e se vuoi proteggere la tua app mantieni
questo in mente controlli così semplici come questo
emulatore nell’esempio di malware loro
non lo farò più
Credo che ne abbiamo parlato per la maggior parte
quindi la mia richiesta è che tutto il tuo codice appartenga a
noi così tanto tutte le app sono essenzialmente aperte
fonte in un modo o nell’altro come abbiamo
visto non nascondere mai segreti nel codice dell’app
così credenziali per i backend
le chiavi di crittografia non si nascondono qui
perché è visibile a tutti e se
rilasci un’applicazione è assolutamente semplice
per far passare il malware all’interno di te
ho visto il codice che hai visto io
potrebbe cambiare il codice che potrei avere anche io
iniettato un’alga è semplice e incrinato
applicazioni a pagamento è anche piuttosto semplice un altro
cosa concreta abbiamo condotto uno studio
sul back-end come fornitori di servizi così
sai cosa è iniziato come servizio
okay, quindi ci sono persone che non corrono
loro stessi e restano Rendon di Emma
sapere cosa non abbiamo esaminato in che modo
le persone accedono a questi back end e
di solito hanno un codice difficile come username e
password che presenteremo a questo studio
blackhat in un’Europa e Amsterdam in
Novembre interessante è che abbiamo trovato in
totale oltre 80 milioni di dischi e altro
oltre 56 milioni di singoli dati
che erano accessibili solo attraverso il
credenziali che erano apertamente disponibili
all’interno delle app abbiamo condotto questo studio
insieme ai rispettivi fornitori
quindi siamo in contatto con Amazon o
Facebook che possiede parse comm in questo modo
non solo alcuni loschi affari degli hacker che facciamo
dalla parte cooperiamo con una
venditori per chiudere queste lacune e questi
non sono solo lacune in queste non sono lacune
nelle estremità posteriori queste sono cose che
gli sviluppatori hanno sbagliato hanno gettato il loro
credenziali al mondo mettendoli
nel o sì, abbiamo visto Melville
ma anche un buon lavoro con questi
vulnerabilità quello che abbiamo ottenuto lì questi
registra che erano salute degli indirizzi e-mail
registra il database dei dipendenti
supporto database che abbiamo visto pieno
backup del server che risiedono lì o anche
registrazioni vocali di incidenti stradali quindi per favore
se memorizzi la riservatezza dei dati sensibili
dati sensibili, qualunque cosa non metta la tua
credenziali all’interno dell’app o il
i dati sono appena andati e abbiamo visto casi
dove un aggressore potrebbe effettivamente
manipola i dati quindi aumenta la tua
stipendio o quello che vuoi
contromisure in uno dei precedenti
discorsi che abbiamo sentito parlare di te in modo stringato
la crittografia non aiuta troppo perché
puoi ancora usare il debugger e quando
la stringa viene usata deve essere
decodificato in memoria per la stringa
crittografia quando la stringa è finalmente
usato deve ancora essere disponibile in
memoria quindi basta impostare un breakpoint e
eseguire una stringa con una crittografia a cono
bene ad un certo punto il codice deve essere
decifrato mettere un punto di interruzione e l’accesso
il file prima che sia caricato
ciao chiamate e riflessione bene potrei non farlo
stai vedendo dal freddo dove questa chiamata
sta andando perché è una chiamata riflessiva
con una stringa strana ma posso usare il
entra in una funzione e arriva dal
metodo giusto o rilevamento di debugger
proprio come il rilevamento dell’emulatore nel
il malware lo aggiustiamo penso solo a me
sono rimasti un paio di minuti così uno
cosa voglio che tu ci mostri il
sistema plug-in quindi uno dei plugin noi
avere per questo strumento è lo stato di flusso
analizzatore così questo automaticamente lo dirà
tu quali dati sono letti e bene i dati
viene inviato e questo può anche aiutarti
analizzare un tale malware
dicendo ok questo legge da qui e
scrive qui sì, per esempio in questo
caso vedi che questa è la fonte
questo è un metodo sink e i dati lo sono
scorrendo lungo le frecce e nell’in
l’ ispettore del codice I questo è solo un elenco
dei flussi di dati e la propagazione
percorso lungo il quale vengono mostrati i dati
il programma per esempio qui questo tu
guarda la modalità sorgente su cui fai clic su di essa
vedere tutte le dichiarazioni coinvolte in
propagando i dati e puoi saltare a
il codice in cui ciò accade e questo è
anche una delle cose che possiamo usare
esaminando il malware su cui stavamo lavorando
più plugin come la deificazione automatica
ricostruzione dei valori di runtime crittografati
completamente automatico e molto altro forse
Posso mostrartelo in una prossima edizione
di andare su Chrome una cosa che potrebbe essere
interessante per alcuni di voi è come noi
può ottenere lo strumento che stiamo attualmente cercando
nel commercializzare il prodotto così noi
fare un’università che significa che il
la tecnologia di base è gratuita e aperta
fonte è tutto su github
l’interfaccia utente non è, ma puoi inviarmi un
email e ottenere una licenza di 60 giorni gratuita
non c’è problema
quindi con quello lasciatemi aggiungere il discorso che spero
hai avuto un po ‘di divertimento e imparato
qualcosa sull’investigazione del malware
applicazioni e
ricorda di leggere quella sessione grazie
ok grazie mille Stephen voi
in realtà ha risposto a molte domande
che è arrivato durante le ultime diapositive
hai solo una domanda per te
menzionato qualcosa su un Android
studio è qualcosa che sei
lavorando per ottenere l’ispezione del codice per l’esecuzione
nello studio Android bene questo è qualcosa
alcuni dei problemi principali accademici
ricerca non si ottiene la gente a fare il
il compito di ingegneria o roba noiosa
quindi l’abbiamo iniziato in Eclipse e io ci sono
paura che rimarrà nei clip per
la maggior parte del tempo corrente o il
più recente perché semplicemente non lo facciamo
hanno sviluppatori su cui lavorare esplicitamente
caratteristiche del prodotto che abbiamo
ricercatori abbiamo assistenti degli studenti
ma vogliono fare le cose interessanti
voglio fare l’hacking al contrario
ingegneria così solo questa cosa come
andare a una nuova nuova piattaforma è qualcosa
è piuttosto difficile per noi ringraziare
si, penso che sia tutto a tempo
così grazie ancora, grazie
avermi qui
tu
smantellare le app Android prima di iniziare
questa è la solita slide del
organizzatori di conferenze quindi per favore vota
questo discorso se pensi che fosse il più
discorso fantastico mai valutato se lo pensi
è stato il discorso più schifoso che abbia mai fatto irruzione in questo
tratta di informazioni molto utile sia per il
organizzatori della conferenza e io prima di me
immergiti nell’argomento di quale codice ispezionare
è tutto e perché penso tutto il tuo
il codice appartiene a noi quindi io e il mio
colleghi ti darò un breve
introduzione su me stesso e il
gruppo di ricerca Vengo da
quindi vengo da technische universität
Dump Dado che è l’ università in
Germania circa 30 chilometri a sud di
francoforte e facciamo ricerca sulla sicurezza così
il sottogruppo Sono in gran parte su come applicare
analisi del programma ad Android per sicurezza
Ragiona chi di voi conosce il programma
analisi va bene che è un po ‘per il
altre analisi del programma stanno creando
algoritmi e programmi che ragionano
su altri programmi così sei
sviluppatori si scrive un programma e il mio
i programmi accettano questo programma come input
tu mi dai e dici ok questo è un
questa è la potenziale vulnerabilità di sicurezza
un’inconsistenza qui che non hai
questo controllo di accesso verifica che tu avevi
laggiù tutto ciò che dici ok questo è un
potenziale nullpointereception that
potrebbe essere in giro in fase di esecuzione e
questo è particolarmente utile per la sicurezza
come vedremo e se sei interessato
in quello che facciamo nel gruppo, allora puoi farlo
visita anche il nostro blocco così ogni tanto
pubblicare vulnerabilità in cui abbiamo rilevato
il sistema operativo Android già
avuto un paio di loro che erano anche
riconosciuto e risolto da Google e se
stai cercando strumenti che siano anche i
il posto giusto dove andare e ora senza
oltre ad approfondire il contenuto
Penso che tutti voi sappiate che Google Play
Negozio
chi di voi ha già pubblicato un’app
sulla maggioranza del Play Store, ok
ottimo che significa che sono nella stanza giusta
così normalmente quando ci pensi
applicazioni di pubblicazione sul Play Store si
avere un determinato modello in mente questo modello
consiste di uno sviluppatore e l’utente e
di solito la tua idea è che tu come
sviluppatore sei tu il potere in te
avere il potente codice sorgente questo significa
che puoi creare l’app che puoi
modificalo puoi ragionare sull’app
e tu sei l’unico e l’utente su
l’ altro lato prende il codice binario
quindi tutto ciò che può fare è eseguire l’app e
nient’altro che ciò che ti mostrerò
o di cosa parlerò è quanto sia facile
per l’utente in realtà ottenere di più
potere e smantellare quella app per Android
e dire ok, voglio comportarmi come a
sviluppatore voglio sapere cosa sta succedendo
all’interno di questa app e questo è un
domanda non solo la sto chiedendo perché se
guardi Stack Overflow lo trovi
un certo numero di volte così per esempio
ecco un ragazzo che ha detto che va bene
ho sentito che è molto facile da piratare
App Android c’è qualcosa che posso fare
su di esso per renderlo più difficile per le persone o
ecco un altro ragazzo che si sono lamentati di questo
solo circa il 5% di tutte le installazioni di
quel gioco è stato effettivamente pagato e il
altri erano da alcuni luoghi ombrosi
in rete e non siamo pagati per
o un altro ancora questo ragazzo è anche
chiedere ok se c’è qualcuno determinato
per piratare la sicurezza della mia app exploit
vulnerabilità a qualsiasi cosa strana
con esso
quanto è facile per lui così anche se lo ha
Non non avere il codice sorgente può lui
fai cose cattive alla mia app, lui può sapere cosa?
L’ho fatto in termini di protezione e annullarlo
e questo è esattamente ciò di cui sto parlando
riguardo sto parlando di come possiamo rompere
nella tua app quindi le cose che fai per a
vivendo ti sto dicendo come romperlo
e per questo presenterò un nuovo strumento
chiamato codice ispezionare che è un binario
quadro di analisi per Android, quindi ancora una volta
il modello è che hai lo sviluppatore
che ha il codice sorgente e l’utente
ha solo il codice binario ma stiamo facendo
quello che stiamo facendo qui è che gli diamo un
strumento che gli consente di agire come se avesse
il codice sorgente fa la stessa cosa
iniettare il codice rimuovere il codice di modifica del rivestimento
fai il debug dell’app per capire cosa sta succedendo
Là
e quindi qual è il tuo primo pensiero quando
hai sentito che di solito le persone mi chiedono ma
perché voglio dire che sono qui che non sono
cercando di scappare dalla polizia così
perché dovrei tipo di rompere in altro
le app della gente una risposta perché posso
la seconda risposta è che c’è davvero di buono
motivo per questo perché ci sono
app legittime dove c’è di solito
nessun motivo per irrompere e c’è
malware sul Play Store o su alcuni
altra fonte , ad esempio in Cina di
negozi di app che hanno app di circa uno
terzo che sono malware quindi uno di
tre app sono in realtà qualcosa di te
non voglio e per queste cose anche tu
ricevi solo l’app ma vuoi sapere
cosa stanno facendo questi ragazzi , vuoi
scoprire è questa app per la quale io solo
il codice binario è questo malware e
in tal caso rubano la mia carta di credito
i dati stanno facendo funzionare alcuni SMS premium
truffa così mandando messaggi SMS a premium
scrivere numeri a mie spese o sono loro
effettivamente cercando di criptare il mio telefono e
prendi un riscatto per me, quindi cos’è questo?
ragazzo e lì ha senso tipo di
irrompere nel malware e questo
è il solito processo per
società di istanza AV – antivirus
i venditori qui hanno appena sostituito lo sviluppatore
dal truffatore
e sostituire l’utente dall’investigatore
e poi hai esattamente questo
scenario in cui qualcuno ha bisogno di andare al
ciclo di sviluppo il contrario
e reverse engineering di un’app per Android e
questo è alla fine di cosa si tratta
rendendo più facile il contrario
ingegnere per capire ma anche troppi
si domanda il motivo per cui la luce manipolare
perché a volte se leggi solo il codice
tu non capisci direttamente di cosa si tratta
tutto su ma se sei per esempio
in grado di iniettare un monitor al suo interno
che ti dà informazioni di runtime o se
sei in grado di iniettare ulteriori
il debug e il logging lo fanno in questo modo
più facile come un altro analista a volte
voglio anche cambiare il malware o se
c’è una protezione specifica lì
che cerca di impedirmi di ispezionare
a Melbourne piace fare solo il malvagio
comportamento se si esegue su un film situato
nel sud della Cina, voglio liberarmi di
che non voglio volare a sud
Cina solo per verificare che Melbourne e
questo è un rapido scorcio del
strumento così l’idea è che tu abbia
qualcosa che assomiglia al
ambiente di sviluppo con il solo
differenza che è un analista
ambiente fammi andare rapidamente nel
sopra i dettagli qui, quindi chi di voi
conosce il vecchio sviluppatore Android
strumenti per Eclipse ok
un bel po ‘so che Android ha
passato a IntelliJ ma il nostro ambiente
è ancora basato su Eclipse perché noi
iniziato quando ADT era ancora pronto per
Eclipse con la prima versione di quello
codice, quindi quello che fai è che puoi importare
la tua applicazione binaria nello strumento
ottieni i pacchetti e i nomi delle classi
nella tua normale gerarchia, proprio come il
sviluppatore avanti puoi guardare le cose
come il file manifest per vedere quale
componenti ci sono puoi guardare il
le risorse vedono se c’è qualcosa di nascosto
quindi alcune applicazioni malware per
esempio ti danno una tassa secondaria
o il file apk nascosto in quello originale
in modo che se si guarda l’esterno
cosa tu non trovi il codice dannoso
ma il codice dannoso è da qualche altra parte
a volte è anche in qualcosa chiamato
un file JPEG che in realtà non è un JPEG
ma questo è il codice e anche questo è
qualcosa che puoi vedere qui e lo mostrerò
una demo dal vivo in un minuto
ovviamente hai il codice ora questo
il codice potrebbe non sembrare troppo familiare
se lo guardi, questo codice non è Java
codice e non è codice assembly
nel invece è un linguaggio chiamato
fossetta fossetta si trova da qualche parte tra
assemblaggio e normale simbolo del codice Java è
come Java ma semplice e l’idea è
che se hai uno sviluppatore di malware
proverà ogni sorta di roba da provare e
prevenire questo reverse engineering così lui
inietterà il codice che non puoi facilmente
tornare al codice Java per esempio in
Java c’è una semantica abbastanza chiara per
che loop è sul codice byte che posso creare
loop che saltano ovunque nel codice
a certe condizioni non lo è
possibile in Java, quindi non posso ottenere
Codice Java da un tale offuscato
app ed è per questo che ci affidiamo invece
questa rappresentazione intermedia invece
di tornare a Java poi come
solito per questi per la pasta di Eclipse
strumento c’è il contorno del codice così
tu vedi veramente in cosa consiste questo
vedi i campi vedi i metodi
e così via hai la solita cosa
errori di sintassi perché posso anche cambiare
questa presentazione culturale se voglio
se faccio qualcosa di sbagliato, voglio ottenere
avvisato di ciò vedo l’output di
il blocco a così ciò che l’applicazione
mi scrive come analista e di
Certo che posso cercarlo e questo
l’intera cosa sembra e basta
Eclipse per l’analista significa questo
non è troppo difficile per iniziare indietro
progettare app Android in modo da poterlo fare
ottieni lo strumento e guarda il tuo primo
Melbourne ma per te come sviluppatore
questo significa anche che ogni ragazzo dal
street può semplicemente usare uno strumento come questo o
uno degli altri strumenti della concorrenza e
dì ok, prendo la tua app che sviluppi
e lo decodifico e così via
protezione contro il reverse engineering
o contro ogni tipo di attacco è di più
importante che mai e come abbiamo sentito
in uno dei precedenti discorsi ci sono
modi per per proteggere applicazioni come vi mostrerò
è un po ‘ horror o Scott è
diventando sempre più difficile
perché alcune delle protezioni che abbiamo
sentito nei discorsi precedenti come
controllando la firma o facendo un MU
mentire per verificare un controllo di root in realtà
essere aggirato abbastanza facilmente ma lo faremo
lo vedremo nella demo live
e la cosa più importante è con a
con questi strumenti puoi anche eseguire il debug
perché solo guardando lo smontaggio
non ti darà il valore predefinito
informazioni su cosa questo cosa questo
l’app fa quello che invece tu puoi fare qui
puoi solo in qualsiasi posizione impostare a
punto di interruzione e dire va bene voglio sapere
cosa sta facendo questa applicazione binaria
qui hai lo stack normale tracciati
avere le variabili in vista di avere tutto il
cose che conosci dal normale Java
debugging lock it console tutto ciò
roba così queste caratteristiche sono proprio quelle
che tu come sviluppatore sei
noto a questo è disponibile per tutti
chi ha appena il file apk quindi c’era a
lasciatemi brevemente una breve introduzione sullo strumento
basta andare rapidamente oltre l’architettura I
sappi che questa architettura è così
è forse un po ‘noioso, ma lo farò
rapidamente e poi andare alla demo dal vivo
perché penso che sarà molto di più
interessante fare vita hacking di appena
andando sulle noiose diapositive di architettura
comunque così per costruire uno strumento come questo cosa
tipo di fondazione puoi usare così questo
è costruito sul compilatore open source
vestito della struttura di costruzione
qualcuno lo sa bene così alla ricerca
le conferenze di solito ci sono una coppia
delle mani quando ho detto che questo era vestito
originariamente iniziato alla McGill University
e utilizzato per ottimizzare il bytecode Java
e più recentemente si è evoluto in
un compilatore e ottimizzazione e
quadro strumentale anche per
Android l’idea è che hai inserito
formati che possono essere file apk di file Dex
File di codice sorgente Java File di classe Java
e tu puoi inserire
e fuori tirato quelli così posso dire facilmente
prendiamo un file dex mettilo per seme
tornare con un file di classe Java
oppure prendi un file di classe Java e uniscilo
in un apk quindi posso solo aggiungere codice a un
apk esistente e oltre ad essere un tale
traduttore anche la struttura del seme
offre cose come darti una chiamata
grafico così mostrandoti per ogni metodo
chiamare dove questo va o dove questo
può venire da tutte le interazioni
tra i metodi può essere messo in
un grafico conciso da quello strumento o da te
puoi anche chiamare la sintesi, quindi se tu
per esempio voglio dire mettiamoci dentro
metti una stampa di armadietto dopo ogni affermazione
che accede al mio dispositivo signora che è
qualcosa che puoi fare con questo
framework del compilatore e da quando abbiamo costruito
in cima al framework del compilatore il
strumento di controllo del codice può utilizzare tutto il
l’espressività di ciò
quadro che rende possibile non farlo
solo qualcosa come la tua piccola scatola
più piccola che si potrebbe sapere che ha appena
è un traduttore ma anche avere cose
come potente con tutte le stazioni e
a proposito, chi se lo sa piccola e
si becca un po ‘Molly, quindi questo è giusto
un traduttore dal testo ad un umano
codice leggibile e ritorno a dex e siamo
andare oltre e tutto questo vestito
quadro è stato in fase di sviluppo da parte di
gruppi di ricerca in tutto il mondo per
più di 10 anni in fretta ti ho detto
su quella rappresentazione intermedia
chiamato semplice quindi l’idea qui è quella
hai qualcosa che è abbastanza vicino
al codice byte che puoi rappresentare tutti
le cose strane che le persone possono fare dentro
codice byte ma anche essere ancora umano
leggibile che non è il caso con
cose o non così facilmente il caso di
cose come il piccolo codice elettronico che è
Semplicemente difficile da leggere e questo
la lingua può anche essere usata per
manipolazione solo un rapido
rapidamente andando oltre che quindi questo è un
il vero pezzo di malware da cui proviene
lo farò anche dal trojan bancario della Corea
utilizzare per la demo dal vivo e che andrò
nei dettagli in appena un minuto
e quello che vedi qui è questo
il malware richiede effettivamente qualche file apk
dalla scheda SD e in seguito alle installazioni
e questo file APK era originariamente
scaricato da un server quindi c’è un
infrastruttura di controllo dei comandi qui
dove il server dice a Thurston
malware ho una nuova versione o alcuni
codice che è necessario eseguire
download di malware il codice lo mette su
la scheda SD lo legge installandolo e
cancella il file dalla scheda SD e
la cosa interessante di questo mana
classe di strumenti per i quali cons back è un
esempio è che ti daranno
qualcosa che ha la costante
stringa seriale quindi anche se originariamente
non era una costante ma questo è stato calcolato
in qualche modo c’è una cosiddetta costante
propagatore e cartella che lo attraversa
questo assicurerà che anche se questo
era originariamente una concatenazione di SD
carta e prova da qualche parte lì
otterrai lo spago per intero
qui e tu come un analista puoi facilmente
vedere un altro vantaggio di questi
moderni tipi di strumenti sei tu
in realtà hanno un linguaggio di tipo quindi se tu
guarda cose come piccoli codici e simili
smontaggio che ottieni dalle cose
come Ida Pro hai solo registri qui
hai nomi di variabili reali che sono
scrivi come vedi sopra così Arbeit è
in realtà si attengono e questo è un output di file
flusso quindi è molto facile da leggere questo se
hai solo se conosci Java e te
spendere come dieci minuti che passano attraverso
quel codice hai il solito stile di
dichiarazione del metodo del primo anno poi il
dichiarazioni variabili e quindi solo il
implementazione del metodo in realtà
questo foglio cheat che descrive il pieno
linguaggio che usiamo qui se si stampa
fuori si adatta su una pagina a4 per
PowerPoint ho dovuto dividerlo su
diapositive e alte ma che voglio mostrare
ecco semplicemente che questo è qualcosa
che ti dà un bel po ‘ di
informazioni lungo la strada così per un campo
vedi i modificatori che vedi il tipo
vedi il nome del campo per un corso
vedi anche il modificatore vedi cosa
estende se implementa un
interfaccia in modo da ottenere tutto questo
informazioni direttamente come hai avuto in
Java e per il codice il più grande
differenza rispetto al normale Java che farai
l’avviso è che le chiamate al metodo sono a
un po ‘ diverso così sul bytecode
livello di cui stiamo parlando qui, quindi dove
noi ma questo originalmente viene da te
non solo avere un metodo che chiami tu
avere una sorta di quattro diverse chiamate di metodo
e i tre più importanti sono
che distingue tra se
si chiama un’interfaccia un metodo statico o
il tipo di normale normale virtuale
chiamare ma ancora una volta questo è se si desidera solo
leggere il codice e questo è ancora
abbastanza semplice e un’altra cosa noi
bisogno di prendersi cura di quando stiamo parlando
circa su qualcosa più vicino al byte
codice non ci sono blocchi quindi non c’è
se-allora-else invece se solo come in byte
il codice è rappresentato da se questo
la condizione vale quindi andare lì che
è un’istruzione di salto se non cade
attraverso la stessa storia per il ciclo un ciclo è
solo un andare a un se e così a questi tre
cose circolano le condizioni e il
split-up invocano queste persone che sono
la più grande differenza rispetto a due normali
Codice Java ok
abbastanza delle cose noiose penso metà
della camera è addormentato così andiamo a
qualcosa di più interessante che non lo è
solo cose accademiche ma il vero
affare
abbiamo analizzato un pezzo di malware
venendo dalla Corea quindi se stai cercando
per il malware divertente non rimanere dentro
L’Europa è molto più divertente melba
arrivi da posti come la Russia, la Corea
In Cina ci sono in realtà posti di posta
porte come ho detto al tuo play store
equivalenti che ti servono un terzo
malware, quindi scarica solo dieci app
di solito ottieni tre app malware
solo scegliere a caso non va bene se tu
voglio usarli sul tuo produttivo
telefono se stai cercando di analizzare
malware ci vai
questo hanno avuto un’app sul
mercato che ti ha detto che avresti ottenuto un
versione di anteprima dell’intervista
film e quello era prima che il film fosse
così le persone lo scaricano e dicono hey
Prendo il film prima che arrivi il mio vicino
e lo ricevo gratis e questo è tutto
perché sono brave persone e e
c’erano molti utenti che non lo facevano
penso davvero che potrebbe esserci
qualcosa di leggermente sbagliato e
beh, in realtà c’è qualcosa che non va
con esso perché questo non era affatto il
il film dell’intervista era solo un
semplice vecchio pezzo di malware e questo in
Infatti a oltre 20.000 telefoni così erano
apparentemente molte persone che erano
appassionato di ottenere il film se si guarda
questo malware è in realtà un equo
pezzo complesso quindi dal punto utenti
quello che fa è il primo controllo
se hai un certo numero di
App bancarie coreane installate sul tuo
dispositivo se non lo farà semplicemente
qualsiasi cosa, se hai queste app
installato lo impersonerà così se
sei un cliente di borsa e avere
la loro app ha installato questa malva sarà solo
assomiglia all’interfaccia utente del settore bancario
app a se è stato installato lo farà
sembra proprio bancario a B e loro
averlo implementato per dieci o dodici
applicazioni
quindi qualcuno stava effettivamente realizzando
sforzo in questo non nell’ottenere il film
ma nel prendere i tuoi dati bancari e questo
il melba allora aveva a seconda della banca
avevano emulato le caratteristiche di sicurezza
della banca quindi se la tua banca avesse un
diciamo la password speciale per a
certificato che hai sul tuo telefono
accedere al tuo conto bancario quindi questo
il malware avrebbe saputo che e chiedere di più
la password per quel certificato se
sei un cliente di un’altra banca dove
non hai bisogno di una password per a
certificato che non ti chiederà a
password per un certificato, quindi se le persone
sono stato nei colloqui qui e andare a
chiama la progettazione dell’interfaccia utente
ragazzi capito bene perché sapevano cosa
rubare da te e quindi cosa hanno fatto
fare se hanno mostrato l’API bancaria
chiedi un nome utente per la password del conto bancario
numero la password del certificato se
richiesto e molte altre cose e in
lo sfondo
avevano un’interfaccia di comando e controllo
in esecuzione così in realtà un server potrebbe inviare
comandi aggiuntivi al malware a
attivare le funzionalità extra, ad esempio
aggiorna questa roba che è grandiosa che abbiamo
imparato sulla consegna continua in viaggio
a Khan
questi ragazzi lo fanno anche il
il server di comando e controllo può inviare un
Messaggio SMS a quel malware da attivare
Intercettazione di messaggi SMS quindi qualsiasi SMS
messaggio che si ottiene è trapelato al
attaccante questo non è perché il
l’attaccante vuole sapere qual è il tuo
la nonna ti sta parlando di lei
compleanno questo è perché ottieni
numeri di transazione dalla tua banca via
SMS e questo è ciò che gli aggressori sono
interessati e sono anche in grado se
la gente diventa sospettosa o se la polizia lo è
cacciando dopo di loro per disattivarlo di nuovo
e quindi l’applicazione andrà bene
nascondere la sua icona dal programma di avvio e altro ancora
o meno sarà andata un’altra storia che noi
guarda qui per tutti questi dati
exfiltrazione usano due canali così
per aver rubato i tuoi messaggi SMS lo faranno
inviarlo via HTTP ma allo stesso tempo
tempo lo invieranno via e-mail
perché vogliono fare resilienza
programmazione se qualcosa va storto si
non voglio disturbare l’utente
Esperienza giusta tutto il malware
esperienza perché se la polizia sta prendendo
giù il tuo server HTTP perché smettere di rubare
le cose vanno semplicemente via email e penso
a volte, come i normali programmatori possono
imparare un po ‘dal malware
sviluppatori quando si tratta di cose come
resilienza delle interfacce utente e così via
cosa otteniamo questo pezzo di malware
da quella era una collaborazione in corso
con McAfee l’azienda antivirus di
il pretesto sapevano che era così
sta succedendo così ci sono alcune e-mail inviate e
ci sono alcuni collegamenti HTTP bene il
la grande domanda era dove sono inviati questi dati
per cui qual è l’ indirizzo email lì
e speriamo che se otteniamo una password noi
può quindi dare questa password anche al
alla polizia in modo che possano controllare
se ci sono ancora dati rubati
all’interno dell’account e ora il grande
la domanda è come lo fai e questo?
è il contenuto della demo live così
quello che di solito è quello che fai di solito
devi prima importare l’apk
file quello che posso fare è che posso semplicemente mettere il
apk o posso allegare il mio telefono e importare
il file apk dal telefono io non sono così
appassionato di malware in esecuzione sul mio telefono reale
quindi importerò un file e appena in
come nei normali ambienti di sviluppo
Posso specificare un nome di progetto e il
file poiché l’importazione richiede un po ‘di tempo
l’ ho già fatto per te perché lo voglio
sprecare il vostro tempo sul lato sinistro qui
vedi che questo è il contenuto di
questo di questo pezzo di malware, quindi cosa?
vedi qui, passiamo attraverso te
vedere le risorse oh interessanti ci sono
un altro file apk in modo che non vogliano
vediamo noi vogliono che vediamo tutto il codice loro
metti un secondo file apk e da qualche parte
all’interno di quel malware sono in realtà
caricando quel codice aggiuntivo interessante
vedi che c’è un codice nativo
là dentro così apparentemente sono
cercando di nascondere le cose se decompiliamo il file
la parte di Dalek o la parte di Android
e nasconditi all’interno del codice nativo o di un altro
la cosa interessante è se guardi dentro
le risorse che in realtà sono
in realtà sviluppatori piuttosto buoni perché
quello che fanno è che non mettono semplicemente il
le stringhe dell’interfaccia utente come normali
stringhe usano lo store XML come stringa
un’astrazione e mettono tutto dentro
risorse forse nel caso in cui volessero tardi
troppo tardi per tradurre il loro malware in
Russo o quant’altro per cose come
inserisci la password e ricontali anche loro
avere i messaggi di errore corretti come hey te
inserito in una password non valida che è
troppo breve non parlo coreano ma se
lo metti in Google Traduci
ti dirò una cosa del genere così
anche questa è una storia interessante
Melbourne controlla effettivamente se il
i dati che inserisci hanno senso se inserisci
un numero di conto che non è valido
per la banca che hai originariamente
che è stato originariamente rilevato sul tuo
telefono ti dicono che ti sei perso
il tuo numero di conto non ruberò
bene, non ti stanno mostrando il
seconda parte della frase, ma sono
mostrandoti hey controlla cosa hai ferito
quindi è tutto interessante ora, facciamolo
cerchiamo di accedere al manifesta um vediamo
un’altra storia per la quale è abbastanza normale
Melba è così che vedi che ne chiedono uno
o un altro permesso e questi sono simili
Non direi dannoso ma diciamo
permessi interessanti come leggere SMS
leggere i contatti chiamare il telefono per leggere il registro delle chiamate
anche molto interessante un avvio di ricezione
completato perché solo perché l’utente
riavviato il telefono che non vuoi
ferma la tua truffa per far andare avanti il business
e AH c’è anche lo sfondo ucciso
processi perché se si rileva il
app bancaria originale, ovviamente no
vuoi che l’utente usi l’originale
applicazione bancaria ma tu vuoi che lui usi il
malware e se si passa attraverso che facciamo
basta vedere da dove cominciare perché di solito
queste applicazioni sono sono piuttosto grandi quindi cerchiamo di
vedi se abbiamo qualcosa come main qui
o ora meglio ancora andiamo
cosa c’è nel programma di avvio giusto
e trovi qualcosa che viene chiamato
la mainattività è buona e non importa
il nome del pacchetto è stato scelto da
sviluppatori di malware sono persone divertenti
chiamano pacchetti come questo, ora facciamo
vai alla definizione e c’è un
non diventi esaminiamo questo per a
secondo, prima di tutto lo vedrai
c’è in realtà un sacco di codice, ma questo
è già qualcosa di interessante, giusto
c’è qualcosa chiamato get bank’s
informazioni così come ti ho detto che stanno controllando
che bancarotta il cliente non lo fanno
vogliono truffare la banca sbagliata che hanno
cose come l’URL della banca e oops qui
noi andiamo là è qualcosa che è quello
sembra un nome utente e una password
ecco quindi questo è il nostro primo candidato per
che per quell’e -mail l’accesso ricorda loro
stavi rubando i tuoi dati anche via email
e noi eravamo interessati a ottenere il
nome utente password per così probabilmente
dovremmo stabilire un breakpoint all’interno di questo
metodo e vedere cosa sta succedendo qui
facciamolo, sì questo è il
configurazione di debug normale da cosa
da eclissi solo la cosa è che sto facendo il debug
su un binario ora non sul codice sorgente
e voglio usare Miami più tardi qui
potrebbe anche iniziare un nuovo emulatore o un
dispositivo reale ma in esecuzione Melbourne on
i dispositivi reali sono un’idea piuttosto cattiva, quindi io
non lo farò in questo modo in attesa del debugger
sistemati uh-huh mi sta chiedendo se sono io
voglio aprire la prospettiva del debug sicuro
lo voglio
okay, questa è essenzialmente una super chiamata
non è niente di troppo interessante , andiamo
inoltre ora chiamano un metodo che è
chiamato ECE e memorizzano il risultato
qualcosa chiamato z0 e il risultato è
vero quello che vediamo qui è se lo zero lo è
vero andiamo a etichetta tre vediamo cosa
label 3 is oops che sta uccidendo l’app
quindi la domanda è: perché il
il malware tenta semplicemente di uccidere la mia app
e quindi diamo un’occhiata a questo
perché a quanto pare ha fatto l’ app
ucciditi e se guardi qui dentro
è interessante che ottengano il cellulare
informazioni e lo stato del telefono e poi loro
controllare bene questo contiene bevande come
SDK pesce rosso e disegnarlo fa nessuno
avere una minima idea di cosa potrebbe essere
sì, questo è un rilevatore di emulatori, quindi noi
visto che questo valore di ritorno era vero
ovviamente perché sto in esecuzione su
emulatore ma non voglio che l’app muoia
perché voglio continuare il mio
investigazione qui, quindi aggiustiamo
quello ha azzerato ora non sto correndo
su un emulatore scusa , andiamo
imposta zero è falso saltare sopra di esso no è
non un emulatore questi non sono i droidi
stai cercando
okay, passiamo a tutto il
spazzatura qui eravamo interessati a
qualunque cosa stessero facendo con quello
password o nome utente o quale attività commerciale
okay, quindi quello che fanno è chiamare a
il metodo chiamato string user qui basta dare
una prova e vedere dove questo viene da
oh questo in realtà viene da nativo così
questo è esattamente ciò che questa libreria nativa
era perché questo utente di stringhe e
stringa di password questi erano nativi
funziona in modo che stiano cercando di nascondere il
nome utente e password da parte nostra ma solo
mettendolo in nativo ma siamo in a
debugger quindi diciamo questa variabile
la stringa è il risultato di questa chiamata così
l’hanno messo in nativo ma è tutto
non serve molto perché posso solo vedere il
valorizzare qui e questo è stato tirato giù
ora quindi non provare a rubare l’account
più tardi e venderlo sul mercato nero
è la stessa storia se andiamo avanti e
cerca la password qui andiamo così anche
se metti le cose nel codice nativo loro
non sono andati loro sono semplicemente li metti a
debugger e il
Ora, prima di andare avanti lasciatemi chiarire una
cambia perché so che dimenticherò
questo emulatore controlla a un certo punto durante
la demo quindi cerchiamo di sbarazzarcene
per il bene ho appena commentato salvare il
progetto
si dice edificio di lavoro qui andiamo
il controllo dell’emulatore è completamente andato così io
non devi smanettare con questo no
Non sono un emulatore cosa ora cosa siamo noi
non hanno ancora trovato è dove essi in realtà
ha inviato questa email proprio quello che possiamo fare
ecco a un certo punto questi ragazzi rubano
Messaggi SMS giusti in modo che possiamo vedere se
loro bene usano effettivamente questa ricezione
SMS ah, eccoci qui, questo è un internet
filtro per gli SMS ricevuti vediamo solo
quello che succede sì, questo è un
filtro interno per un sacco di cose
roba a cui non importa, entriamo in quello
ancora una volta gli sviluppatori di melba sono
persone interessanti a quanto pare
come parole di quattro lettere non so perché
okay, quindi c’è un metodo non di ricezione
e ancora una volta quello che posso fare qui sono io
posso semplicemente impostare un punto di interruzione, quindi ho bisogno di farlo
esegui di nuovo la mia app sì, lo stesso vecchio emulatore
sì, l’ installazione di lancio di connessione
debugger ok se ho dimenticato di spegnere il
breakpoint e creerò in main okay
ora ovviamente questo sta intercettando SMS
messaggi quindi inviamo un SMS
messaggio diciamo che arriva da 40 a
42 ed è un SMS che dice ciao vai
con, mandiamolo
vale a dire sì va bene io non attivarlo
quindi la cosa interessante di questo è
questo è quello che ti ho detto che c’è un
funzione che consente di attivare e
disattivare la gestione degli SMS se torniamo indietro
nel codice possiamo vedere che carina
piuttosto semplicemente questa attivazione e
la disattivazione di thingy è controllata da
ottenendo il primo numero di telefono così
questo accetterà solo i numeri di telefono
iniziare con 86 o 82 che sono i
codici nazionali per la Corea e la Cina e
poi fanno qualche parodia divertente
attrezzatura e quello che fanno è sì loro loro
verificare la presenza di un comando chiamato un K 40 chiedermi
perché l’hanno chiamato questo e se tu
invia un messaggio con un telefono corretto
numero quindi più 46 a + 42 qualcosa e a
K4000 uno consentirà l’SMS
rubando un punto di sottolineatura K 40 lo farà
disabilitare il furto di SMS e nel caso in cui il
l’app viene riavviata, va bene
pratica per salvarlo bene persistente
stato così usano solo condiviso
preferenze e salvarlo come stato SMS
non fare in modo che l’ attaccante abbia inviato lo stato
due volte è una brutta esperienza utente
vuole evitare questo così ora facciamo solo
ricominciare da capo e inviare il
attivazione magica come messaggio di alcuni s yeah
a proposito ti starai chiedendo perché
non c’è un errore che passa attraverso questo
è una cosa piuttosto semplice perché dice
l’eccezione dell’host sconosciuto non può essere risolta
ospitare questo prima di tutto sono in un
emulatore quindi non ha internet
connessione e in secondo luogo la polizia tende a
abbattere gli host del malware, quindi questo è giusto
non risolvibile più
questa è anche una delle cose che hai
a che fare con quando si cerca in di malware
a volte questi host non sono raggiungibili
più o c’è qualche altro divertente
comportamento andando a posto per questo
stavamo cercando di scrivere +82 così
facciamo solo più 82 ciò che ci hai inviato
Qui
Oh
ok si, è apparentemente nuovo
uno comunque così questo di solito solo
fai in modo che il debugger colpisca il breakpoint e
mostra il messaggio SMS in arrivo e
scriveranno questo valore in condivisione
anche le preferenze interessanti sono te
trova le chiamate a un bot che trasmettono cosa
fa se questo messaggio è in realtà
provenienti dalla tua banca che vogliono o
questo lo rende diversamente se lo si desidera
contattate la vostra banca e dire hey penso
c’è qualcosa di sbagliato o se la tua banca
vuole contattarti e dire okay
l’account è stato violato a piacimento
disabilita questo perché non vuoi il
le persone devono essere avvertite di Melbourne
quindi cosa hanno fatto in realtà gli sviluppatori qui
hanno spedito agli scrittori gli abortiti
chiamate in arrivo e messaggi SMS
venendo dalla banca in modo che le persone
non sono avvisati in modo interessante che c’era un
bug lì dentro quindi la versione originale
del malware hanno anche abortito
telefonate in arrivo da altre persone
non solo dalla banca questo è un po ‘
sfortunato ma a volte lo vedi
Gli sviluppatori di malware non sono andare a
gli sviluppatori, quindi credo che dovrebbero
hanno messo più a prova qualche regressione
prove che alcuni test unitari J dovrebbero avere
sistemato le cose quindi se ci sono Melvin
gli sviluppatori tra di voi fanno testare il codice
prima del lancio che potrebbe effettivamente
ostacolare la vostra truffa, se si sta facendo
sbagliato ora andiamo subito nel
nell’interesse del tempo, facciamo solo
rapidamente andare in nel reale
scamming parti vedi questa chiamata qui –
per postare Jason quindi questo sta facendo l’HTTP
mandando una parte e penso che non fosse così
tre c’è l’elettronica invia reale e
se imposto un breakpoint qui e eseguo il
app ancora una volta che voglio nel
l’interesse del tempo lo vedrai
era la vera password che abbiamo visto quando
eseguiamo il debug di oncreate e anche tu
vedi il contenuto del tuo SMS in arrivo
messaggi rubati qui
Penso che sia abbastanza per il
demo dal vivo fammi solo tornare al
diapositive così hai visto che gli strumenti
come questo può essere molto utile per
ispezionare Melbourne se sei un malware
i tempi dello scrittore diventano sempre più difficili per te
ma anche per lo sviluppo del software
a volte hai una libreria di cui
hai solo il codice binario ma
non il codice sorgente ma qualcosa
si blocca nella tua app quando usi il
biblioteca questi strumenti puoi solo eseguire il debug
all’interno della biblioteca e vedere che cosa è reale
la causa è e come puoi ottenerlo
puoi cercare sicurezza
vulnerabilità all’interno di queste librerie
e puoi vedere cosa succede sotto il
cappuccio in modo da poter capire questi
ovviamente le biblioteche non sono malvagie
quindi le leggi sul copyright continuano ad applicarle
gli strumenti possono essere usati per rubare intellettuale
proprietà da app di altre persone per
esempio un buon algoritmo
reverse-engineer lo copia possibile ma
illegale o rimuovi gli assegni di licenza
supponi di avere un’app nel Play Store
questo è gratuito ma se vuoi farlo
dì gioca più di tre livelli nel
gioco devi pagare per questo se questo è
semplicemente un controllo hey se sono pagato posso
ordinatelo ci metto circa a
ancora minuto è illegale ma possibile
e se vuoi proteggere la tua app mantieni
questo in mente controlli così semplici come questo
emulatore nell’esempio di malware loro
non lo farò più
Credo che ne abbiamo parlato per la maggior parte
quindi la mia richiesta è che tutto il tuo codice appartenga a
noi così tanto tutte le app sono essenzialmente aperte
fonte in un modo o nell’altro come abbiamo
visto non nascondere mai segreti nel codice dell’app
così credenziali per i backend
le chiavi di crittografia non si nascondono qui
perché è visibile a tutti e se
rilasci un’applicazione è assolutamente semplice
per far passare il malware all’interno di te
ho visto il codice che hai visto io
potrebbe cambiare il codice che potrei avere anche io
iniettato un’alga è semplice e incrinato
applicazioni a pagamento è anche piuttosto semplice un altro
cosa concreta abbiamo condotto uno studio
sul back-end come fornitori di servizi così
sai cosa è iniziato come servizio
okay, quindi ci sono persone che non corrono
loro stessi e restano Rendon di Emma
sapere cosa non abbiamo esaminato in che modo
le persone accedono a questi back end e
di solito hanno un codice difficile come username e
password che presenteremo a questo studio
blackhat in un’Europa e Amsterdam in
Novembre interessante è che abbiamo trovato in
totale oltre 80 milioni di dischi e altro
oltre 56 milioni di singoli dati
che erano accessibili solo attraverso il
credenziali che erano apertamente disponibili
all’interno delle app abbiamo condotto questo studio
insieme ai rispettivi fornitori
quindi siamo in contatto con Amazon o
Facebook che possiede parse comm in questo modo
non solo alcuni loschi affari degli hacker che facciamo
dalla parte cooperiamo con una
venditori per chiudere queste lacune e questi
non sono solo lacune in queste non sono lacune
nelle estremità posteriori queste sono cose che
gli sviluppatori hanno sbagliato hanno gettato il loro
credenziali al mondo mettendoli
nel o sì, abbiamo visto Melville
ma anche un buon lavoro con questi
vulnerabilità quello che abbiamo ottenuto lì questi
registra che erano salute degli indirizzi e-mail
registra il database dei dipendenti
supporto database che abbiamo visto pieno
backup del server che risiedono lì o anche
registrazioni vocali di incidenti stradali quindi per favore
se memorizzi la riservatezza dei dati sensibili
dati sensibili, qualunque cosa non metta la tua
credenziali all’interno dell’app o il
i dati sono appena andati e abbiamo visto casi
dove un aggressore potrebbe effettivamente
manipola i dati quindi aumenta la tua
stipendio o quello che vuoi
contromisure in uno dei precedenti
discorsi che abbiamo sentito parlare di te in modo stringato
la crittografia non aiuta troppo perché
puoi ancora usare il debugger e quando
la stringa viene usata deve essere
decodificato in memoria per la stringa
crittografia quando la stringa è finalmente
usato deve ancora essere disponibile in
memoria quindi basta impostare un breakpoint e
eseguire una stringa con una crittografia a cono
bene ad un certo punto il codice deve essere
decifrato mettere un punto di interruzione e l’accesso
il file prima che sia caricato
ciao chiamate e riflessione bene potrei non farlo
stai vedendo dal freddo dove questa chiamata
sta andando perché è una chiamata riflessiva
con una stringa strana ma posso usare il
entra in una funzione e arriva dal
metodo giusto o rilevamento di debugger
proprio come il rilevamento dell’emulatore nel
il malware lo aggiustiamo penso solo a me
sono rimasti un paio di minuti così uno
cosa voglio che tu ci mostri il
sistema plug-in quindi uno dei plugin noi
avere per questo strumento è lo stato di flusso
analizzatore così questo automaticamente lo dirà
tu quali dati sono letti e bene i dati
viene inviato e questo può anche aiutarti
analizzare un tale malware
dicendo ok questo legge da qui e
scrive qui sì, per esempio in questo
caso vedi che questa è la fonte
questo è un metodo sink e i dati lo sono
scorrendo lungo le frecce e nell’in
l’ ispettore del codice I questo è solo un elenco
dei flussi di dati e la propagazione
percorso lungo il quale vengono mostrati i dati
il programma per esempio qui questo tu
guarda la modalità sorgente su cui fai clic su di essa
vedere tutte le dichiarazioni coinvolte in
propagando i dati e puoi saltare a
il codice in cui ciò accade e questo è
anche una delle cose che possiamo usare
esaminando il malware su cui stavamo lavorando
più plugin come la deificazione automatica
ricostruzione dei valori di runtime crittografati
completamente automatico e molto altro forse
Posso mostrartelo in una prossima edizione
di andare su Chrome una cosa che potrebbe essere
interessante per alcuni di voi è come noi
può ottenere lo strumento che stiamo attualmente cercando
nel commercializzare il prodotto così noi
fare un’università che significa che il
la tecnologia di base è gratuita e aperta
fonte è tutto su github
l’interfaccia utente non è, ma puoi inviarmi un
email e ottenere una licenza di 60 giorni gratuita
non c’è problema
quindi con quello lasciatemi aggiungere il discorso che spero
hai avuto un po ‘di divertimento e imparato
qualcosa sull’investigazione del malware
applicazioni e
ricorda di leggere quella sessione grazie
ok grazie mille Stephen voi
in realtà ha risposto a molte domande
che è arrivato durante le ultime diapositive
hai solo una domanda per te
menzionato qualcosa su un Android
studio è qualcosa che sei
lavorando per ottenere l’ispezione del codice per l’esecuzione
nello studio Android bene questo è qualcosa
alcuni dei problemi principali accademici
ricerca non si ottiene la gente a fare il
il compito di ingegneria o roba noiosa
quindi l’abbiamo iniziato in Eclipse e io ci sono
paura che rimarrà nei clip per
la maggior parte del tempo corrente o il
più recente perché semplicemente non lo facciamo
hanno sviluppatori su cui lavorare esplicitamente
caratteristiche del prodotto che abbiamo
ricercatori abbiamo assistenti degli studenti
ma vogliono fare le cose interessanti
voglio fare l’hacking al contrario
ingegneria così solo questa cosa come
andare a una nuova nuova piattaforma è qualcosa
è piuttosto difficile per noi ringraziare
si, penso che sia tutto a tempo
così grazie ancora, grazie
avermi qui
tu
Please follow and like us: