22.11.2014 | 21:21

Adam Haertle

Kontrowersyjne nowe narzędzie do wykrywania rządowych trojanów

Jeden z badaczy specjalizujących się w wykrywaniu i analizowaniu złośliwego oprogramowania stosowanego przez rządy wielu krajów opublikował narzędzie, które ma pomóc w identyfikacji potencjalnych infekcji. Narzędzie ma jednak pewne wady.

Claudio Guarnieri, znany lepiej pod swoim pseudonimem botherder, oprócz stworzenia Cuckoo Sandbox i działania w organizacji Shadowserver oraz Honeynet Project od wielu lat bada problemy rządowej inwigilacji. Stworzył on i dwa dni temu upublicznił narzędzie Detekt, którego zadaniem jest wykrywanie wielu rodzajów złośliwego oprogramowania stosowanego przez rządy do inwigilacji obywateli. Specjaliści z branży chwalą go za pomysł, jednak mocno krytykują wykonanie.

Detekt – lepszy czy gorszy od antywirusa?

Według opisu autora Detekt to narzędzie napisane w Pythonie, które korzysta z Yara, Volatility oraz Winpmem by wykryć w pamięci operacyjnej badanego systemu obecność kilku rodzajów złośliwego oprogramowania, z którego korzystają rządy. Kryteria wykrycia infekcji oparte są o dużą bazę wcześniej zidentyfikowanego i przeanalizowanego oprogramowania – autor zajmuje się tym tematem od wielu lat, zatem jego baza sygnatur powinna być spora. Czy jednak Detekt oferuje coś więcej niż zwykły antywirus?

Zwolennicy narzędzia sugerują, że jest co najmniej kilka powodów, dla których warto korzystać z Detekta. Przede wszystkim nie można zaufać producentom programów antywirusowych, ponieważ tylko kilku z nich (np. F-Secure) jasno zadeklarowało, że wykryje każde złośliwe oprogramowanie, które zna, bez względu na to, czy będzie to program rządowy czy nie. Istnieje podejrzenie, że amerykańskie firmy antywirusowe mogą na zlecenie rządu opóźniać wdrożenie konkretnych sygnatur lub po prostu ukrywać działanie określonego złośliwego oprogramowania. Detekt, stworzony przez aktywistę i wspierany przez takie organizacje jak Amnesty International, Privacy International czy Electronic Frontier Foundation (do tego o otwartym źródle) gwarantuje, że nie będzie niczego przed użytkownikiem ukrywał. To ważny argument.

Wynik działania programu

Wynik działania programu

Drugim istotnym elementem większej wartości Detekta jest dedykowany charakter. W jego przypadku autor może pozwolić sobie na większe ryzyko wykrycia nieistniejącego zagrożenia (false positive), ponieważ w stanie zagrożenia inwigilacją (i potencjalnymi jej skutkami jak np. utrata wolności) lepiej wykryć o jednego wirusa za dużo niż za mało. Na ten komfort nie mogą pozwolić sobie autorzy standardowego oprogramowania antywirusowego, które musi działać maksymalnie poprawnie. Można się zatem spodziewać, że Detekt będzie nieco bardziej czuły w wykrywaniu zagrożeń.

Trzecią cechą Detekta jest jego prostota i możliwość potwierdzenia faktycznej infekcji. Organizacje wspierające aktywistów otrzymują wiele zgłoszeń o potencjalnej inwigilacji i mają problemy z ich weryfikacją. Detekt umożliwia potwierdzenie przynajmniej części infekcji, dzięki czemu można skuteczniej pomóc osobom, których komputery są zarażone.

Poważne ograniczenia aplikacji

Niestety Detekt ma również wiele ograniczeń. Przede wszystkim potrafi wykrywać jedynie starsze wersje złośliwego oprogramowania. Można się spodziewać, że autorzy koni trojańskich natychmiast poprawią swój kod, by uniknąć wykrycia i dodadzą Detekt do listy oprogramowania, z którym będą testowali swoje produkty. Nie jest to niestety jedyny problem Detekta. Inny badacz opublikował na Twitterze 7 sposobów uniknięcia wykrycia przez to narzędzie:

  • nazwanie swojego procesu nazwą umieszczoną na białej liście Detekta
  • użycie jakiegokolwiek innego złośliwego oprogramowania oprócz tego wykrywanego przez Detekta
  • wstrzyknięcie złośliwego kodu do procesu Detekta, który nie kontroluje sam siebie
  • wstrzyknięcie do pamięci procesu systemowego, do którego Detekt nie ma dostępu
  • atakowanie Windows 8.1 w wersji 64bit (jeszcze do dzisiaj Detekt nie działał na tej platformie) lub Windows Server 2012+
  • ukrywanie procesu przez kombinowanie z Processor Control Region
  • wyłączenie procesu w momencie wykrycia uruchomienia Detekta i ponowne uruchomienie po zakończeniu jego pracy

Autor uwag do programu trafnie podsumował sytuację:

Jak więc widać program, oprócz istotnych zalet, posiada także spore wady. Do tego jeszcze autor właśnie opublikował kolejną wersję, która co prawda dodaje obsługę Windows 8.1 w wersji 64bit, ale z jej opisu zniknęła możliwość wykrywania 6 koni trojańskich typu RAT (remote access trojan) a pozostały tylko dwa najbardziej znane narzędzia sprzedawane rządom całego świata, czyli FinSpy (FinFisher) oraz RCS (HackingTeam).

Czy Detekt ma sens? Autor mówi, ze lepiej zrobić coś chociaż częściowo pożytecznego, niż nie robić nic. Trudno się z tą argumentacją nie zgodzić, jednak zdecydowanie nie polecamy polegania wyłącznie na tym narzędziu.

Aktualizacja 2014-11-23 16:15
Ciekawa nowa wiadomość – Claudio właśnie ogłosił, że Detekt wykrył nową wersję programu RCS, którego na razie nie rozpoznaje żaden program antywirusowy. Może to oznaczać, że jego narzędzie faktycznie działa i ma sens.
Powrót

Komentarze

  • 2014.11.22 21:30 Mariusz

    ” dwa dni temu upublicznił narzędzie Detekt ”

    lis.20.2014 już o tym pisał Andrzej ” securnet ” wiec…

    Odpowiedz
    • 2014.11.22 21:33 Mariusz

      Ups kalendarz miałem przestawiony jak wypisywałem urlop ;x

      Odpowiedz
      • 2014.11.22 21:37 Adam

        To pytanie czy na tym straciłeś czy zyskałeś :)

        Odpowiedz
        • 2014.11.23 15:17 Mariusz

          Stało się , trudno.
          Nie zyskałem ani nie straciłem.

          Odpowiedz
    • 2014.11.22 21:35 Adam

      Dzisiaj jest 22. Andrzej pisał 20go. Detekt ogłoszony 20go. Dwa dni różnicy. Co Ci w tym nie pasuje?

      Odpowiedz
  • 2014.11.22 21:36 test

    Spoko.
    „Czy Detekt ma sens? Autor mówi, ze lepiej zrobić coś chociaż częściowo pożytecznego, niż nie robić nic. Trudno się z tą argumentacją nie zgodzić, jednak zdecydowanie nie polecamy polegania wyłącznie na tym narzędziu.”

    To co polecacie? Zarówno oprogramowanie jak i metody wykrywania/walki? Może popełnicie artykuł o wykrywaniu tego typu oprogramowania, jak się przed nim zabezpieczać oraz jak z nim walczyć? Jeśli jakiś artykuł uszedł mojej uwadze to przepraszam.

    Odpowiedz
    • 2014.11.22 21:38 Adam

      Kwestia ryzyka z jakim masz do czynienia. Jeśli jesteś dziennikarzem opozycyjnym w Dubaju lub Egipcie to rekomendacja będzie inna niż jeżeli jesteś przeciętnym obywatelem w Polsce. A metody walki? LiveCD i po temacie.

      Odpowiedz
      • 2014.11.22 22:28 pokolenie JP2GMD

        W Polsce też nie jest lekko jeśli chodzi o wolność wypowiedzi. Znajomy siedział 6 miesięcy za szydzenie ze słynnego papieża z Wadowic.

        Odpowiedz
        • 2014.11.22 22:30 Adam

          Czym innym jest inwigilacja prywatnej komunikacji a czym innym wolność wypowiedzi publicznych… Przed publikowaniem swoich własncyh opinii żadne oprogramowanie nie chroni.

          Odpowiedz
        • 2014.11.23 18:44 HecSec

          Czy twój znajomy szydząc miał jakieś powody by obrażać Jana Pawła II i dowody które uzasadniały to zachowanie! Nie jestem religijny ale zapewniam, ze bez naszego Papieża, prezydenta Reagana i premier M. Thatcher nadal byś używał technologie z epoki Ćwieczka bo w komunie wszystkiego brakowało i było bardzo drogie. Oczywiście komuchy miały to co chciały!

          Odpowiedz
        • 2014.11.23 22:33 Thoy

          I prawidłowo.

          Odpowiedz
  • 2014.11.22 21:37 Duży Pies

    Jego wady to normalny etap przy tworzeniu softu, nic nie jest doskonałe od razu. Cieszy użycie Pythona, bo program prawdopodobnie jest dzięki niemu lekki, a to spora zaleta.
    .
    Powinien jeszcze zrobić wersję Detecta dla systemu LiveCD/LiveUSB, choć wtedy nie zobaczy działających procesów Windowsowych.
    .
    Marzy mi się antywirus na poziomie systemu plików;)
    Pamiętacie ClamFS? : http://clamfs.sourceforge.net/
    Na Windows to raczej nierealne, ale na Linuxach to już kiedyś zadziałało. Szkoda że pomysł umarł, bo uważam go za genialny! Szczególnie teraz gdy wchodzą szybkie z natury dyski SSD, dodatkowa „warstwa” antywirusa nie obciążałaby już tak bardzo operacji I/O na dysku.

    Odpowiedz
    • 2014.11.23 17:40 EX

      http://sourceforge.net/p/clamfs/code/HEAD/tree/ – ostatni commit jest z lutego tego roku. Jakieś drobne poprawki. Wygląda na to, że to działa, działa stabilnie, a autor od czasu do czasu poprawia jakieś drobnostki. Ten program jest robiony od kilku lat. Może po prostu wyszedł już poza swój wiek niemowlęcy.

      Odpowiedz
      • 2014.11.24 05:15 Duży Pies

        Postaram się w tym tygodniu uruchomić ten system plików na Debianie

        Odpowiedz
  • 2014.11.23 00:24 Czesław

    Jak odpalić to narzędzie?

    Odpowiedz
  • 2014.11.23 10:30 Stefan

    czy komuś udało się w ogóle zainstalować to? Mi niestety nie udało się, niektóre z tych dodatkowych narzędzi wymaga phytona 3.5 którego nie mogę znaleźć.

    Odpowiedz
  • 2014.11.23 14:43 Bartosz Wójcik

    Użycie Pythona z różnymi bibliotekami spowoduje, że program zainstaluje 1 na 10000 osób o ile uda jej się zainstalować jeszcze odpowiednią wersję Pythona (2.xx lub 3) i tych bibliotek pomocniczych oraz bibliotek z VS2010.

    Piszecie o tym, że program będzie wykrywał więcej wirusów niż mniej, bo się nie będzie niczym przejmował. No to witajcie w 2014 roku, gdzie tak z 80% oprogramowania komercyjnego jest zabezpieczonych exe-protectorami i wirtualizerami, które w normalnych programach antywirusowych wykrywane są jako false-positive, bo technologicznie po prostu trudno to odróżnić od wirusa plikowego, już nie mówiąć o stworzeniu unpackerów w silnikach AV czy emulatorów, które będą w stanie przejść nowoczesne powłoki systemów zabezpieczających, żeby zajrzeć do środka lub do samego procesu, który również może być chroniony przed jakąkolwiek ingerencją. Więc jeśli ten DETEK będzie wykrywał wszystko jak leci – to po prostu będzie bezużyteczny.

    To typowy projekt developerski, stworzony przez pracownika firmy antywirusowej, który uważa, że wszyscy powinni pisać w Pythonie, bo to taki super język (a jak sam pisze na GitHubie DETEK ma problem z wydajnością) i że to idealne środowisko do tworzenia okienkowych aplikacji antywirusowych. A wy to porównujecie do antywirusa dla zwyczajnych ludzi :)

    Reasumując

    1. Jest trudny w instalacji dla przeciętnego użytkownika

    2. Jest powolny w działaniu (słowa autora)

    3. Nie wykrywa nowych wariantów malware (wasze słowa)

    4. Wykrywa normalne programy jako wirusy (false positive – wasze słowa)

    5. Wykrywa jedynie 2 warianty wirusów rządowych

    Czy trzeba więcej dodawać?

    Odpowiedz
  • 2014.11.24 12:55 sm01a

    Bart dobrze to opisal, ja bym dodal jeszcze dodal ze firmy AV moga nie wykrywac pewnych form atakow, szczegolnie ukierunkowanych APT, z prostej, prozaicznej przyczyny. Braku sampli :) Ciezko jest zrobic sygnature na cos, czego sie nie posiada. Heurystyka moze pomoc, ale tu tez sa ograniczenia, bo musi byc odpowiednio zbalansowana aby nie FP’czyc i jednoczesnie nie FN’ic ;) (false positive – false negative). Sa to ciezkie algorytmy, ktore tez bazuja na danych uzyskanych z plikow, gdzie wracamy do sedna problemu, czyli warunku posiadania sampli. Odnosnie zlej/dobrej woli, to tutaj oswiadczenie ESET’u: http://www.welivesecurity.com/2013/11/11/eset-response-to-bits-of-freedom-open-letter-on-detection-of-government-malware/

    Odpowiedz
  • 2014.11.25 12:37 reiserfs

    UPDATE z 25.11.2014
    Najnowsza wersja 1.8 nareszcie nie działa na win 8.1 64bit
    https://github.com/botherder/detekt/releases
    Uff. Można spać spokojnie :)

    Odpowiedz

Zostaw odpowiedź do Bartosz Wójcik

Jeśli chcesz zwrócić uwagę na literówkę lub inny błąd techniczny, zapraszamy do formularza kontaktowego. Reagujemy równie szybko.

Kontrowersyjne nowe narzędzie do wykrywania rządowych trojanów

Komentarze