Algorytm SHA-1 praktycznie złamany

Nie teoretyczna, ale praktyczna prezentacja ataku na pliki zabezpieczane przez SHA-1 przypomina administratorom IT, że najwyższy czas by zacząć rezygnować z jego zastosowań.

Specjalistom z ośrodka CWI (Centrum Wiskunde and Informatica w Holandii) przy współpracy z Google udało się utworzyć dwa różne pliki PDF mające tą samą sygnaturę SHA-1. W praktyce oznacza to, że algorytm został złamany, bo cyberprzestępcy mogliby budować pliki zawierające szkodliwe kody, a oprogramowanie takie, jak na przykład mechanizmy aktualizacyjne wykorzystujące sygnatury cyfrowe do weryfikacji plików, akceptowałyby i instalowały dostarczone programy.

To pierwsza, nie teoretyczna, a rzeczywista prezentacja złamania algorytmu SHA-1, która jest sygnałem, że tak szybko jak to tylko możliwe należy zaprzestać korzystania z jego funkcji.

Zobacz również:

  • Indywidualna kryptografia na dobre uniemożliwi współdzielenie kont na Netflixie?

SHA-1 (Secure Hash Algorithm 1) powstał w 1995 roku i do chwili obecnej jest wciąż często wykorzystywany przez różnego rodzaju oprogramowanie. Pierwsze sygnały, że teoretycznie jest on podatny na złamanie pojawiły w 2005 roku.

Algorytm tworzy ciąg znaków alfanumerycznych będących kryptograficznym obrazem pliku lub zbioru danych. Pełni on rolę cyfrowego podpisu, który był uważany za unikalny i odporny na ataki wykorzystujące inżynierię odwrotną (non-reversible).

Kto może złamać mechanizmy szyfrowania oparte na SHA-1

Złamanie SHA-1 wymaga na razie ogromnej mocy obliczeniowej, która nie jest dostępna dla większości cyberprzestępców, ale już obecnie istnieje możliwość, że mechanizmy łamania zabezpieczeń zostaną wykorzystane przez agencje rządowe wielu państw lub inne organizacje dysponujące dostępem do dużych mocy obliczeniowych.

Teoretyczne analizy dotyczące możliwości złamania SHA-1 są prowadzone od dawna. W 2012 roku koszty przeprowadzenia ataku przy wykorzystaniu chmurowych systemów obliczeniowych były szacowane przez ekspertów ds. technologii kryptograficznych na 700 tys. USD i przewidywano, że do 2018 roku powinny obniżyć się do poziomu 173 tys. USD. Ale już w 2015 roku zaprezentowano nową metodę łamania SHA-1, która pozwala na kolejne znaczące obniżenie kosztów ataku. Została ona przedstawiona przez grupę naukowców z ośrodków badawczych CWI (Centrum Wiskunde and Informatica) w Holandii, NTU (Nanyang Technological University) z Singapuru oraz francuskiego Inria.

Obecnie, do praktycznego złamania SHA-1 naukowcy z CWI wykorzystali moc obliczeniową udostępnioną przez Google, a dokładniej przez chmurową infrastrukturę obsługującą m.in. usługi Google Photo i Google Cloud, a także mechanizmy sztucznej inteligencji rozwijane w ramach programu Alphabet AlphaGo. Według przedstawicieli Google, był to jeden z największych programów obliczeniowych w historii. Dla porównania, jego realizacja przy wykorzystaniu typowego, pojedynczego procesora trwałaby 6500 lat.

Kod wykorzystany do przeprowadzenia ataku na SHA-1 ma zostać opublikowany za ok. 3 miesiące, a więcej szczegółowych informacji można znaleźć na specjalnej stronie SHAttered poświęconej temu tematowi lub opublikowanym przez naukowców dokumencie „The first collision for full SHA-1”.

Mimo, że praktyczne wykorzystanie tej metody przez cyberprzestępców to perspektywa przynajmniej kilku lat, ale dla praktyków zajmujących się bezpieczeństwem w firmach, jest to wyraźny sygnał, że trzeba zacząć poważnie myśleć o zastąpieniu oprogramowania wykorzystującego algorytm SHA-1 przez nowsze i bardziej bezpieczne mechanizmy szyfrowania takie, jak choćby SHA-3 lub SHA-256.

Nadszedł czas na poważne potraktowanie ostrzeżeń

NIST (National Institute of Standards and Technology) zakazał stosowania SHA-1 przez amerykańskie agencje rządowe już od 2010 roku, a także zabronił firmom wydającym cyfrowe certyfikaty wykorzystywania tego algorytmu od 1 stycznia 2016 roku. Od razu jednak pojawiły się wyjątki od tej reguły dotyczące m.in. terminali płatniczych, które nie zostały odpowiednio zaktualizowane i przystosowane do korzystania z nowszych algorytmów, jak SHA-2.

Mimo, że każdy specjalista ds. bezpieczeństwa wie, że należy wycofać się ze stosowania algorytmu SHA-1, ale praktyka wygląda jednak inaczej i mimo płynących od wielu lat ostrzeżeń, jest on wciąż szeroko wykorzystywany. „Funkcje wykorzystujące SHA-1 są wbudowane do wielu aplikacji, które odwołują się do odpowiednich bibliotek i modyfikacja tych odwołań wymaga niestety dużo ręcznej pracy” zwraca uwagę David Maxwell, CSO w firmie InfoSec Global.

SHA-1 jest wciąż szeroko stosowany do weryfikacji transakcji przeprowadzanych za pomocą kart płatniczych, dokumentów elektronicznych, cyfrowych podpisów PGP/GPG, a także sprawdzania prawidłowości kodu aplikacji open source lub aktualizacji oprogramowania.

Gdzie SHA-1 jest wciąż wykorzystywany

„Algorytm SHA-1 jest najczęściej wykorzystywany do zabezpieczania połączeń SSL/TSL. Jego eliminacja polega na takiej rekonfiguracji systemu by funkcjonowały w nim tylko przeglądarki i serwery nie obsługujące SHA-1. Nie stwarza to dużych problemów. A działania związane z upgradem SHA-1 do nowszych wersji algorytmów powinny być elementem standardowego utrzymywania systemów IT.” uważa Paul Ducklin doradca ds. bezpieczeństwa w firmie Sophos, który jest też autorem opracowania prezentującego problemy dotyczące SHA-1 i innych algorytmów wykorzystywanych do szyfrowania transmisji i plików.

„Systemy zarządzania treścią i wersjami plików często wykorzystują algorytm SHA-1 do identyfikacji plików. Jeśli pochodzą one od zewnętrznych dostawców to użytkownicy muszą się do nich zwrócić i zapytać czy oprogramowanie stosuje mechanizm oparty na SHA-1 i czy planowana jest jego aktualizacja” mówi Paul Ducklin.

„W przypadku starych aplikacji, zmiana wykorzystywanych mechanizmów szyfrowania może być trudna lub niemożliwa. Ale przy tworzeniu nowych warto zadbać, by wykorzystywały one programowy moduł pozwalający na łatwą modyfikację wykorzystywanej funkcji szyfrowania wybierając odpowiedni mechanizm z dostępnej biblioteki” mówi David Maxwell.

Google zapewnia o bezpieczeństwie swoich aplikacji

Google, który udostępnił swoje zasoby obliczeniowe do przeprowadzenia ataku na SHA-1, oświadczył jednocześnie z publikacją o jego wynikach, że użytkownicy oprogramowania Gmail i GSuite zostali zabezpieczeni przed takimi atakami dzięki wprowadzeniu mechanizmów umożliwiających ich wykrycie w przypadku plików w formacie PDF (tzw. PDF collision technique). Oprócz tego najnowsza 56. wersja przeglądarki Chrome oznacza strony HTTPS legitymujące się certyfikatami wykorzystującymi SHA-1 jako potencjalnie niebezpieczne. Inni dostawcy przeglądarek zapowiadają wprowadzenie podobnych ostrzeżeń w najbliższym czasie.

Oprócz tego, oprogramowanie do wykrywania kolizji (różnych plików mających taką samą sygnaturę) jest bezpłatnie dostępne na stronie SHAttered.

„Czy te wszystkie ostrzeżenia spowodują, że producenci oprogramowania oraz menedżerowie odpowiedzialni za bezpieczeństwo systemów IT potraktują je poważnie i zadbają o usunięcie funkcji wykorzystujących SHA-1 z systemu zanim cyberprzestępcy zaczną je eksploatować w praktyce?” zastanawia się David Chismon z firmy MWR InfoSecurity. Jego pytanie pozostaje na razie bez odpowiedzi.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200