Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book
Aby odzyskać swoje dane… zapłać 300 USD w bitcoinach
Ransomware to jeden z rodzajów złośliwego oprogramowania, który może szczególnie dać się nam we znaki. W ostatnim czasie twórcy tego typu rozwiązań stają się jednak szczególnie zuchwali żądając od zainfekowanych internautów okupu w… bitcoinach.
Złośliwe oprogramowanie znane jako CryptoLocker może trafić do naszego systemu m.in. w postaci załącznika do wiadomości e-mail. Nieostrożni użytkownicy, którzy uruchomią załączony plik, z początku nie zauważą żadnych niepokojących objawów. CryptoLocker ujawni swą obecność dopiero wtedy, gdy wykona już całą brudną robotę.
Złośliwy program od razu przystępuje do wykonania swej głównej i potencjalnie zabójczej dla naszych danych funkcji. Określone rodzaje (głównie dokumenty oraz zbiory multimedialne) plików, do których posiadamy prawa zapisu, zostaną zaszyfrowane za pomocą algorytmu RSA z kluczem o długości 2048 bitów. Co ważne, w ten sposób potraktowane zostaną również dane znajdujące się na przyłączonych udziałach sieciowych!
Unikalny dla każdej z ofiar klucz prywatny zostaje przesłany na serwer kontrolowany przez twórców CryptoLockera. Następnie rozpoczyna się odliczanie. Mamy 72 godziny na wpłacenie okupu, w przeciwnym razie serwer bezpowrotnie usunie nasz klucz prywatny, a my możemy się na zawsze pożegnać z naszymi danymi.
Okup wynosi około 300 USD i może zostać złożony w postaci bitcoinów (2 BTC) lub za pośrednictwem serwisu MoneyPak. Nic dziwnego, gdyż właśnie tego typu „anonimowe waluty” są obecnie najchętniej honorowane przez komputerowych przestępców.
Oczywiście w żadnym razie nie zachęcamy do płacenia okupów za własne dane. Najlepiej będzie pogodzić się z utratą bieżących danych i skorzystać z ostatniego backupu. Oczywiście, jeśli takowy posiadamy oraz jeśli nie został on również zaszyfrowany (np. w momencie infekcji znajdując się na przyłączonym udziale sieciowym).
Kończąc zastanówmy się nad tym, w jaki sposób możemy się przed tego typu zagrożeniami uchronić. Na pewno warto korzystać z aktualnej ochrony antywirusowej, chociaż oczywiście może nas to nie uchronić przed nieznanymi jeszcze zagrożeniami. Dlatego zawsze należy posiadać kopię zapasową najważniejszych danych. Kopię offline, która nie zostanie zniszczona lub zsynchronizowana wraz z naszymi podstawowymi danymi…
Na koniec kwestia najważniejsza, czyli zachowanie szczególnej ostrożności w trakcie otwierania nieznanych załączników lub odnośników. Im bardziej kusząca będzie ich nazwa, tym większa szansa na to, że ich otwarcie nie skończy się dla nas niczym dobrym! Jeśli jednak nie potrafimy przezwyciężyć ciekawości, warto tego typu pliki poddać najpierw dokładnej analizie z pomocą wyspecjalizowanych narzędzi.
– Wojciech Smol, (wojciech.smol<at>sekurak.pl)
Fajny pomysł miała nasza rodaczka zajmująca się tematyką bezpieczeństwa Joanna Rutkowska z systemem Qubes. Do każdego zadania przeznaczona jest osobna wirtualna maszyna a wymiana danych między nimi odbywa się wąskimi dobrze zdefiniowanymi kanałami lub jest niemożliwa. Tak więc np. przejęcie maszyny z przeglądarką internetową nie daje dostępu do danych. Wywalenie stosu TCP/IP nie daje dostępu do innych zasobów itd. Można iść dalej i mieć osobną maszynę do stron „dobrych” i „złych” (porno vs bankowość internetowa itp.).
Kiedyś wydawało mi się to toporne i zbędne ale dzisiaj coraz częściej sam wyrzucam pewne podsystemy funkcjonalne do wirtualnych maszyn a integracja z hostem staje się coraz bardziej intuicyjna i prosta.
MateuszM,
Zgadza się i właśnie podobny efekt możemy uzyskać już za pomocą kilku wirtualnych maszynek i odpowiedniej segregacji ich zadań.
Odnośnie RSA.Szczególnie informatykom polecam się przyjrzeć metodzie faktoryzacji rho Pollarda.W skrócie polega ona na znalezieniu cyklu a następnie policzenia nwd(a-b,n), gdzie a i b to odpowiednie liczby z pętli.
Różnie opisywana jest ta metoda ale w uproszczeniu:
1.Dobieramy jakiś „ładny” wielomian dla naszego n. np. dla n=1159 ładny jest x^3+2
2.Wybieramy x_0 np. x_0=2.
3. Interujemy tzn. x_1=f(x_0)%n, x_2=f(x_1)%n itp. aż liczby zaczną się powtarzać(wtedy znaczy to, że wpadliśmy w cykl).
4.Liczymy nwd(x_a-x_b,n) (które wyniki funkcji podstawiamy za x_a i x_b to szczegół – różne są podejścia.).
5.Jeśli nwd!=1 to mamy dzielnik liczby n.
Metoda jest implementowana tak, że wielomiany i x_0 są pseudolosowane i w tej formie algorytm się chowa w porównaniu do GNFS ale można dobrać taki wielomian, że cykl będzie nawet 2 liczbowy.Jako, że informatycy mają doświadczenie w zapętlaniu programów więc podaje :)
https://pl.wikipedia.org/wiki/Algorytm_faktoryzacji_rho_Pollarda
http://wmf.univ.szczecin.pl/~szkibiel/kryptografia/53rozkl.pdf Rozdział 9.2