Piątek, połowa lutego, późne popołudnie. Firma Apple po cichu wprowadziła poprawkę krytycznego błędu weryfikowania certyfikatów w systemie iOS, który umożliwiał napastnikowi szpiegowanie rzekomo bezpiecznych połączeń.
Pomimo że odkryta luka była krytyczna, opublikowanie łatki do systemu w późne, piątkowe popołudnie było standardowym działaniem dla firmy Apple. Kalifornijski gigant, który ma swoją siedzibę w Cupertino, jest dobrze znany z prowadzenia takiej polityki tajemnicy.
Jednak następnego dnia większe zainteresowanie wzbudziła inna kwestia – okazało się, że problem nie dotyczył jedynie mobilnego iOS-a, ale i również tradycyjnego systemu OS X. Sytuacja skomplikowała się na początku marca, gdy wyszło na jaw, że bliźniaczo podobny błąd dotyczył GnuTLS, darmowej, otwartej części oprogramowania wykorzystywanego do szyfrowania w wielu rozwiązaniach Linuksowych, która stosowana jest także na innych platformach.
Ponieważ coraz więcej osób zaczęło interesować się tym odkryciem (zwłaszcza użytkownicy produktów Apple), na jego temat pojawiały się coraz nowsze informacje, a badacze zaczęli doszukiwać się podstępu. Bruce Schneier, który jest jednym z czołowych kryptografów oraz ekspertem z dziedziny bezpieczeństwa, opisał lukę w następujący sposób:
„Zlokalizowana wada jest dość subtelna i trudna do wykrycia podczas skanowania kodu. Nietrudno sobie wyobrazić, że jest ona wynikiem błędu. Z drugiej strony jedna osoba mogłaby w bardzo prosty sposób dodać tę lukę.
Czy był to celowy zabieg? Nie mam pojęcia. Jeżeli jednak chciałbym kiedyś osiągnąć podobny cel, zrobiłbym to w taki sam sposób”.
Inni badacze byli bardziej bezpośredni – zakwestionowali fakt, że błędy w kodowaniu, które stworzyły lukę Apple (nazwane „goto fail”), byłyby prawie niemożliwe do popełnienia i jeszcze trudniejsze do przegapienia podczas przeglądania kodu. Oczywiście biorąc pod uwagę obecnie panującą atmosferę oraz użyteczność luki „goto fail”, wiele osób spekulowało, że tego typu luki są bardzo cenne dla każdego, komu bliski jest temat szpiegostwa.
Wspólnym mianownikiem są bez wątpienia podobne efekty, jakie wywołują wykryte luki funkcjonujące w nieco odmienny sposób. Matthew Green, ekspert kryptografii z Uniwersytetu Johnsa Hopkinsa, zbadał lukę GnuTLS i stwierdził, że jest to poważny – choć trywialny – błąd w kodowaniu.
Gdyby odrzucić wszystkie teorie spiskowe, okazuje się, że ukryty błąd weryfikacji w GnuTLS dotyczy wszystkich dystrybucji Red Hat oraz produktów serwerowych takich jak Debian i Ubuntu (Linux). Już na poziomie instalacji pojawia się błąd, który może być wykorzystywany do monitorowania komunikacji na tych urządzeniach. Skutki tego błędu mają wpływ na cały system – od początku do końca. Na ataki narażone jest nie tylko Twoje bezpieczne połączenie z Siecią, ale również wszelkie aplikacje, pobierane pliki czy inne rzekomo zaszyfrowane komunikaty, które używają implementacji GnuTLS.
Przedstawiając sytuację jasno: potencjalny napastnik powinien być połączony z tą samą siecią lokalną co wybrany cel, bo tylko w ten sposób mógłby wykorzystać powyższe błędy do zaatakowania. Jednakże, w odpowiednich okolicznościach błędy te mogą umożliwić przeprowadzenie ataku typu „man-in-the-middle„, w którym ofiara wierzy, że komunikuje się za pośrednictwem zaufanego dostawcy internetu, a w rzeczywistości przesyła pakiet danych prosto do komputera przestępcy podłączonego do tej samej sieci. Oba błędy są doskonałym sposobem, aby ukraść dane logowania oraz szpiegować aktywność w lokalnej sieci.
„Ten błąd naprawdę niesie ze sobą znaczące konsekwencje” – stwierdził Kenneth White, ekspert bezpieczeństwa i główny naukowiec w firmie Social & Scientic Systems w Północnej Karolinie. „Przestępca może w mało wyszukany sposób podmienić dowolną domenę i sprawić, żeby stała się wiarygodna i godna zaufania dla certyfikatów weryfikujących i samych użytkowników. Zatem kluczowym problemem jest nie tylko przechwytywanie wrażliwych kanałów, ale również potencjalne podważanie zaufanych pakietów w procesie weryfikacji”.
Innymi słowy, możliwe staje się fałszowanie certyfikatów odpowiadających za dostarczenie zaufanych treści i przekonanie użytkowników, że aplikacja lub oprogramowanie, które mają zamiar zainstalować, pochodzi z zaufanego źródła.
Jeśli korzystasz z urządzenia, na którym zainstalowany jest Linux, potencjalnie jesteś podatny na atak. Zalecamy instalację najnowszych uaktualnień tak szybko, jak tylko jest to możliwe. Ale to, że nie korzystasz z żadnej wersji systemu operacyjnego Linux, nie oznacza, że jesteś całkowicie bezpieczny. GnuTLS jest szeroko stosowany w oprogramowaniu typu open-source, które działa na ogromnej liczbie systemów. Morał z tej historii potwierdza to, co powtarzaliśmy już nie raz: instaluj poprawki od razu i regularnie.