In che modo gli sviluppatori di dispositivi mobili possono evitare di bypassare il blocco dei certificati con strumenti come SSL Kill Switch?

6

Ho usato SSL Kill Switch su alcune applicazioni mobili iOS per cercare di aggirare il pinning del certificato e ho avuto successo. Capisco che SSL Kill Switch "uccide" il processo di convalida dei certificati sul lato client e questo è il modo in cui funziona. Tuttavia esiste un modo in cui gli sviluppatori potrebbero in qualche modo impedire che ciò accada? Si tratta di un'indicazione che il blocco del certificato non è stato configurato correttamente?

    
posta Irene Ant 03.05.2016 - 15:32
fonte

2 risposte

3

Dal readme di github per il progetto iOS SSL Kill Switch :

Once installed on a jailbroken device, iOS SSL Kill Switch patches low-level SSL functions within the Secure Transport API

Quindi la tua domanda si riduce fondamentalmente a: "Come posso evitare che la mia app venga infettata da malware su un dispositivo rooted / jailbroken?". In breve: non lo fai. Questo è il motivo per cui non esegui il root del tuo dispositivo!

Ci sono trucchi di offuscamento che puoi fare per renderlo più difficile; ad esempio, scrivi la tua libreria SSL / TLS interna ( idea terribile, orribile, non farlo! ), quindi includi questa crittografia nel tuo programma compilato in modo che non ci sia alcuna dipendenza dal sistema operativo librerie crittografiche. Ora sei immune da un hack nel livello di crittografia del sistema operativo, ma se l'autore dell'attacco ha come target la tua app in modo specifico, non c'è nulla che li fermi, quindi non stai impedendo un attacco come questo, rendendolo più difficile.

Un altro trucco che ho sentito è che l'app tenta di rilevare se è in esecuzione su un dispositivo rooted e si rifiuta di eseguire se lo è. Detto questo, se si esegue il "bypass jailbreak detection" di google, noterete che c'è un costante gioco di whack-a-mole in corso tra hacker e sviluppatori in cui gli hacker diventano sempre più intelligenti nel nascondere il jailbreak. Non consiglio di giocare a questo gioco.

    
risposta data 03.05.2016 - 19:07
fonte
2

Non ha senso cercare di impedirlo. Tecnicamente suppongo che potresti rallentare un utente malintenzionato implementando la tua crittografia (SSL Kill Switch modifica le funzioni crittografiche fornite dal sistema operativo), ma anche questo alla fine verrà danneggiato con un tempo e uno sforzo sufficienti.

Se non controlli l'hardware, il tuo software non ha possibilità. Convivili e lascia che le persone facciano ciò che vogliono sul loro dispositivo.

    
risposta data 03.05.2016 - 18:53
fonte

Leggi altre domande sui tag