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.
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ę:
https://twitter.com/stevelord/status/535936854218915840
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.
Komentarze
” dwa dni temu upublicznił narzędzie Detekt ”
lis.20.2014 już o tym pisał Andrzej ” securnet ” wiec…
Ups kalendarz miałem przestawiony jak wypisywałem urlop ;x
To pytanie czy na tym straciłeś czy zyskałeś :)
Stało się , trudno.
Nie zyskałem ani nie straciłem.
Dzisiaj jest 22. Andrzej pisał 20go. Detekt ogłoszony 20go. Dwa dni różnicy. Co Ci w tym nie pasuje?
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.
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.
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.
Czym innym jest inwigilacja prywatnej komunikacji a czym innym wolność wypowiedzi publicznych… Przed publikowaniem swoich własncyh opinii żadne oprogramowanie nie chroni.
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!
I prawidłowo.
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.
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.
Postaram się w tym tygodniu uruchomić ten system plików na Debianie
Jak odpalić to narzędzie?
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źć.
Tak wczoraj zainstalowalem na windowsie 7.
https://www.resistsurveillance.org
https://github.com/botherder/detekt/releases/tag/v1.6
detext.exe
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ć?
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/
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 :)