Questa risposta riguarda principalmente l'affermazione di Chris Dixon più che rispondere "Quanti attacchi provengono da MiTM".
Se affermiamo il modo diverso in cui uno potrebbe diventare MiTM e le conseguenze date, penso che possiamo trarre alcune conclusioni sul fatto che ci interessi o meno quanto siano prevalenti gli attacchi MiTM.
Se esaminiamo alcuni rischi per le diverse situazioni potremmo avere qualcosa come:
- Qualcuno ruba il database sfruttando la stessa applicazione web?
- Qualcuno che attacca l'utente / amministratore tramite un attacco MiTM
Direi che il primo ha un impatto molto maggiore (generalmente) e dovrebbe essere mitigato in molti modi al massimo e trattato il primo.
Quindi, affinché il punto 2 prevalga sul punto 1, penso che MiTM dovrebbe davvero essere pazzo per noi per valutarlo come un ostacolo di sicurezza come il punto 1 (come Chris indica nella citazione)!
Ora se vediamo i diversi vettori di attacco. Primo per MiTM. Per diventare MiTM si potrebbe ad esempio:
- Possedere un access point wireless non autorizzato. Questo è banale, ma per un attacco mirato dovresti trovarti nella stessa posizione fisica della vittima utilizzando la tua webapp.
- Annusa dati wireless non crittografati o dati provenienti da un HUB (esistono anche più?)
- Usa l'avvelenamento ARP per attaccare gli utenti. Non banale a meno che tu non sia sulla stessa rete degli utenti target che utilizzano la tua webapp.
- Avvelenamento della cache DNS. Affinché questo funzioni è necessario avvelenare il DNS utilizzato dagli utenti mirati. Se il DNS non è configurato correttamente, questo attacco diventa in qualche modo banale da eseguire, tuttavia c'è molto su cui fare affidamento affinché funzioni.
- Attacchi di phishing. Questi ingannano ancora gli utenti ignari e ingenui, tuttavia gran parte della responsabilità ricade sull'utente.
Tutto questo per attaccare solo uno o un piccolo sottoinsieme di utenti. Anche in questo caso, attaccare questi utenti darà loro un avviso nei loro browser (ci sono modi per attaccare anche questo, ma non lo prendo qui). Solo compromettendo una CA radice o trovando un difetto nell'algoritmo utilizzato per generare i certificati ti sarà permesso di presentarti come un emittente di certificati affidabile.
Se invece esaminiamo tutti i potenziali cattivi cose che possiamo vedere se non investiamo in una sicurezza sufficiente della webapp stessa vediamo vettori di attacco come:
- SQL Injection - banale e facile sia da sfruttare che da scoprire. Impatto del danno molto elevato.
- XSS (Cross Site Scripting): facile da scoprire, più difficile da sfruttare. Penso che in futuro ne vedremo un impatto sempre maggiore sugli utenti. Prevedo che questo stia diventando il trend della "nuova SQL Injection" a cui abbiamo assistito in questi giorni.
- CSRF (Cross Site Request Forgery) - Moderato da scoprire, moderato da sfruttare. Ciò richiederebbe agli utenti la navigazione su un sito già di proprietà, attivando una richiesta alla tua webapp che farebbe una transazione per conto dell'utente.
Quindi, menzionando solo questi pochi, ma popolari metodi sia per attaccare la webapp che per diventare MiTM, lascerei il compito a un'analisi specifica del rischio / conseguenza della specifica organizzazione data che stai cercando di proteggere , indipendentemente dal fatto che tu debba o meno difendere i tuoi utenti direttamente implementando SSL o difendendo la webapp nel suo complesso (che include anche proprietà intellettuale, dati utente, dati sensibili, dati potenziali che potrebbero violare altre applicazioni e così via).
Quindi, a mio modesto parere, sono molto d'accordo con l'affermazione di Chris Dixon. Dai la priorità alla protezione della webapp il più possibile prima di iniziare a pensare di proteggere il livello di trasporto.
Modifica :
Nota a margine: pagine come Facebook, Gmail e altre erano sottoposte a pesanti attacchi MiTM durante la scia di Firesheep. Questo può essere mitigato solo tramite SSL e consapevolezza.
Tuttavia, se ci pensi, lo sniffing del traffico wireless con Firesheep e il dirottamento delle sessioni richiederebbe che la LAN wireless a cui sei connesso non abbia alcuna crittografia.
Oggi, quando vado alla guida della guerra, è diminuito drasticamente il numero di AP wireless aperti e anche il numero di AP abilitati WEP. Continuiamo a vedere sempre più AP crittografati WPA2 che nella maggior parte dei casi ci forniscono una sicurezza sufficiente.
Qual è il rischio che qualcuno crei uno strumento facile e conveniente per annusare e dirottare le sessioni degli utenti? Qual è l'impatto per questi utenti? Potrebbe anche essere mitigato in diversi modi (ri-autenticare l'utente quando proviene da impronte diverse allo stesso tempo, avvisando l'utente quando qualcosa sembra sbagliato (Gmail è un buon esempio di questo)).