Dziś krótkie nawiązanie do tego komentarza. Dlaczego uważam, że jest sens używać TLS (lub ogólnie - bezpiecznego kanału) dla każdej komunikacji? Dlatego, że inaczej żyjesz w matriksie. Kilka rzeczy, o których warto pomyśleć.
Wild, wild net
Pierwsza sprawa - skąd komputer bierze ustawienia sieci. Z DHCP? No to warto pamiętać o Rogue DHCP. Jeśli atak się uda - game over (w uproszczeniu):
- podmiana domyślnej bramki (efekt - man-in-the-middle);
- podmiana serwera DNS (efekt - skierowanie ruchu na swoje serwery / man-in-the-middle);
- podanie ustawień WPAD (efekt - skierowanie ruchu na swoje serwery).
Tu przykład tego, co może się stać, jeśli ktoś kontroluje DNS: Sprawdź z jakich DNS-ów korzystasz (...).
Kolejny krok - mapowanie IP na ARP, a tutaj oczywiście ARP Poison Routing. Efekt oczywisty.
I tak można dalej i dalej...
Z mojego punktu widzenia - lepiej jest założyć, że sieć jest ZŁA i dbać o bezpieczeństwo wyżej właśnie z wykorzystaniem bezpiecznego kanału (ogólnie: end-to-end encryption). Czy TLS rozwiązuje wszystkie problemy? Oczywiście, że nie. Widać coraz wyraźniej, że PKI nie działa tak jak powinno w związku z czym pojawiają się nowe pomysły (np. HTTP Public Key Pinning).
P.S: Skutkiem ubocznym przejścia na HTTPS było praktycznie całkowite wyeliminowanie spamu z komentarzy.
Wiele też zależy od tego, kto atakuje. Na script kiddie w sieci LAN oczywiście HTTPS pomoże, natomiast gdziekolwiek "wyżej" robi się problematycznie.
Niezależnie od metody przydzielania adresu IP, mały lokalny ISP jest w stanie przechwycić ruch DNS, a realnie patrząc użytkownik końcowy nie ma żadnego narzędzia szyfrowania czy nawet uwierzytelniania tego ruchu. Zwł. w łatwy sposób, bo ogólnie to "się da" wszystko.
O ile lokalny ISP pewnie będzie miał problem z podstawieniem fałszywego certyfikatu SSL, to już na poziomie państwowym czy instytucji międzynarodowych nie sądzę, by był z tym większy problem. Podobnie jak z przejmowaniem ruchu (BGP nadal lata w większości bez autoryzacji).
Ogólnie: nie twierdzę w żadnym razie, że poprawianie bezpieczeństwa, czy podejście "warstwowe" nie ma sensu, ale obecna sytuacja przypomina leczenie syfa pudrem. Akurat wymuszony HTTPS dla całości ruchu mnie boli o tyle, że to zabawa dość kosztowna (globalnie) ze względu na skalę, a bez poprawy w innych warstwach - niezbyt skuteczna.