Atak polegający na powtórzeniu, czasami nazywany także atakiem polegającym na odtwarzaniu, to cyberatak, podczas którego złośliwa jednostka przechwytuje, a następnie powtarza prawidłową transmisję danych przechodzącą przez sieć. Ze względu na ważność oryginalnych danych (które zazwyczaj pochodzą od autoryzowanego użytkownika) protokoły bezpieczeństwa sieci traktują atak tak, jakby był zwykłą transmisją danych. Ponieważ oryginalne wiadomości są przechwytywane i ponownie przesyłane dosłownie, hakerzy stosujący ataki polegające na odtwarzaniu niekoniecznie muszą je odszyfrowywać.
Co hakerzy mogą zrobić z atakiem polegającym na powtórzeniu?
Ataki typu „replay” można wykorzystać w celu uzyskania dostępu do informacji przechowywanych w chronionej w inny sposób sieci poprzez przekazanie pozornie ważnych danych uwierzytelniających. Można je również wykorzystać do oszukania instytucji finansowych w celu powielenia transakcji, co umożliwi atakującym wyciągnięcie pieniędzy bezpośrednio z kont ofiar. W niektórych przypadkach hakerzy łączą części różnych zaszyfrowanych wiadomości i przekazują powstały tekst zaszyfrowany do sieci w ramach tzw. ataku typu „wytnij i wklej”. Reakcja sieci na tego rodzaju atak często dostarcza hakerowi cennych informacji, które można wykorzystać do dalszej eksploracji systemu.
Pomimo oczywistych zagrożeń z nimi związanych, istnieją granice tego, co hakerzy mogą osiągnąć za pomocą samych ataków poprzez powtórzenie. Osoby atakujące nie mogą zmienić wysyłanych danych bez ich odrzucenia przez sieć, co ogranicza skuteczność ataku do powtórzenia przeszłych działań. Ataki te są również stosunkowo łatwe do obrony. Tak podstawowa obrona, jak dodanie znacznika czasu do transmisji danych, może uchronić przed prostymi próbami ponownego odtworzenia. Serwery mogą także buforować powtarzające się wiadomości i odcinać je po określonej liczbie powtórzeń, aby ograniczyć liczbę prób, jakie może podjąć osoba atakująca poprzez ponowne odtwarzanie wiadomości w krótkich odstępach czasu.
Dlaczego ataki powtórne mają znaczenie w świecie kryptowalut
Chociaż ataki te nie są wyłączne, ataki te są szczególnie istotne dla środowiska transakcji kryptowalutowych i rejestrów blockchain. Powodem tego jest to, że księgi blockchain czasami przechodzą zmiany protokołu lub aktualizacje zwane hard forkami. Kiedy ma miejsce hard fork, istniejąca księga zostaje podzielona na dwie części – w jednej działa starsza wersja oprogramowania, a w drugiej nowa, zaktualizowana wersja. Niektóre hard forki mają na celu jedynie ulepszenie księgi głównej, podczas gdy inne rozgałęziają się i skutecznie tworzą zupełnie nowe kryptowaluty. Jednym z najbardziej znanych przykładów hard forku tej drugiej odmiany jest ten, który pozwolił Bitcoin Cash na fork z głównego łańcucha bloków Bitcoin 1 sierpnia 2017 r.
Kiedy dochodzi do takich hard forków, atakujący teoretycznie mogą zastosować ataki typu „replay” na księgi blockchain. Transakcja zrealizowana na jednej księdze przez osobę, której portfel był ważny przed hard forkiem, będzie ważna także na drugiej księdze. W rezultacie osoba, która otrzymała od innej osoby określoną liczbę jednostek kryptowaluty za pośrednictwem jednego rejestru, mogła przejść do drugiego rejestru, zreplikować transakcję i oszukańczo przelać na swoje konto identyczną liczbę jednostek po raz drugi. Ponieważ ich portfele nie są częścią wspólnej historii rejestrów, użytkownicy, którzy przychodzą do blockchainu po przeprowadzeniu hard forku, nie są narażeni na te ataki.
Jak można chronić łańcuchy bloków przed tymi atakami?
Chociaż podatność rozwidlonych rejestrów blockchain na powtarzanie ataków stanowi uzasadnioną obawę, większość hard forków zawiera protokoły bezpieczeństwa zaprojektowane specjalnie w celu zapobiegania powodzeniu tych ataków. Skuteczne środki przeciwko atakom polegającym na powtarzaniu bloków można podzielić na dwie kategorie, znane jako silna ochrona przed powtarzaniem i ochrona przed powtarzaniem typu „opt-in”. W przypadku silnej ochrony przed powtarzaniem do nowej księgi wyłaniającej się z hard forku dodawany jest specjalny znacznik, który gwarantuje, że przeprowadzone na niej transakcje nie będą ważne w dotychczasowej księdze i na odwrót. Jest to rodzaj ochrony, który został wdrożony, gdy Bitcoin Cash rozwidlił się z Bitcoina.
Po zaimplementowaniu, silna ochrona przed ponownym odtwarzaniem jest wykonywana automatycznie, gdy tylko nastąpi hard fork. Jednakże opcjonalna ochrona przed ponownym odtwarzaniem wymaga od użytkowników ręcznego wprowadzania zmian w transakcjach, aby zapobiec ich odtworzeniu. Ochrona opt-in może być przydatna w przypadkach, gdy hard fork ma na celu ulepszenie głównego rejestru kryptowaluty, a nie całkowite oddzielenie od niego.
Oprócz rozwiązań obejmujących całą księgę indywidualni użytkownicy mogą również podjąć kroki, aby uchronić się przed ofiarami ataków polegających na powtarzaniu. Jedną z metod jest zablokowanie transferu monet do czasu, gdy księga osiągnie określoną liczbę bloków, co zapobiega weryfikacji przez sieć jakiegokolwiek ataku polegającego na powtórzeniu z udziałem tych jednostek monet. Należy jednak zaznaczyć, że nie wszystkie portfele i księgi rachunkowe oferują tę funkcję.
Zamykające myśli
Ataki typu Replay stanowią realne zagrożenie dla bezpieczeństwa sieci, jeśli się powiodą. W przeciwieństwie do wielu innych typów ataków, ataki typu „replay” nie polegają na odszyfrowaniu danych, co czyni je skutecznym obejściem dla złośliwych aktorów, którzy coraz częściej mają do czynienia z bezpiecznymi protokołami szyfrowania. Ze względu na hard forki używane do ich aktualizacji lub dzielenia, księgi blockchain są szczególnie podatne na tego rodzaju cyberataki. Istnieją jednak solidne rozwiązania, które są w miarę skuteczne w ochronie przed nimi systemów blockchain. W szczególności zastosowanie silnej ochrony przed powtarzaniem może zagwarantować, że osoby atakujące nie będą w stanie zreplikować transakcji po wystąpieniu hard forku.



