Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book
O antywirusie wykrywającym samego siebie…
Niedawno prezentowaliśmy podstawowe metody wykorzystywane przez oprogramowanie antywirusowe w celu wykrywania złośliwego oprogramowania. O tym, jak dalece niedoskonałe są dzisiejsze antywirusy niech świadczy natomiast poniższy przypadek oprogramowania ochronnego Malwarebytes, które pewnego razu oflagowało własne pliki.
Malwarebytes to jeden z popularnych producentów oprogramowania ochronnego, któremu przydarzyła się w ostatnim czasie wyjątkowo kuriozalna wpadka. Otóż aktualizacja sygnatur z 15.kwietnia powodowała znaczną ilość fałszywych wykryć (ang. false positive). Co jednak najciekawsze, antywirus jako zagrożenie wykrył również… samego siebie.
C:\Program Files (x86)\Malwarebytes’ Anti-Malware\mbam.exe (Trojan.Downloader.ED) -> No action taken. [0365915779f2d16560d1a6c139cabf41] C:\Program Files (x86)\Malwarebytes’ Anti-Malware\mbamscheduler.exe (Trojan.Downloader.ED) -> No action taken. [d29647a1b2b9b18573be363108fb42be] C:\Program Files (x86)\Malwarebytes’ Anti-Malware\mbamservice.exe (Trojan.Downloader.ED) -> No action taken. [1e4ad612fc6f0a2c3af7ce9941c2ab55]
Feralna aktualizacja została przez producenta błyskawicznie wycofana. Szybko opublikowano również instrukcje oraz narzędzie umożliwiające odzyskanie unieruchomionych systemów. Mimo natychmiastowych działań, praca tysięcy systemów została jednak zakłócona.
Interesującą analizę całego przypadku przeprowadził i opublikował na swym blogu Yonathan Klijnsma. Jak się okazało, aktualizacja v2013.04.15.12 zawierała dwie niepoprawne sygnatury bajtowe, które były odpowiedzialne za całe zamieszanie:
VOFFSET=Trojan.Downloader.ED, 74433, 1, 6, 687474703A2F2F36342E36342E32302E35302F32373753457236372E657865, NS VOFFSET=Trojan.Downloader.ED, 74485, 1, 14 687474703A2F2F6674702E74636D6C732E6F72672F7172415165562E657865, NS
Powyższe wzorce bajtowe odpowiadają dwóm adresom wykorzystywanym i zawartym w kodzie Trojan.Downloader.ED:
- hxxp://64.64.20.50/277SEr67.exe
- hxxp://ftp.tcmls.org/qrAQeV.exe
Problematyczne okazało się jednak błędne oznaczenie offsetu — zapis „1, 6″ oznacza najprawdopodobniej początek sygnatury, czyli ciąg… „http:”.
W efekcie oflagowany został każdy plik zawierający w sobie taki właśnie ciąg, w tym pliki należące do samego antywirusa!
Jeśli chcesz się dowiedzieć, w jaki sposób działają współczesne programy antywirusowe, zachęcamy do lektury tego wpisu.
Warto więc zawsze pamiętać, że oprócz niewątpliwych zalet jakie niesie ze sobą antywirus, jego wykorzystanie jest również obarczone dodatkowym ryzykiem. Jednym z realnych zagrożeń są oczywiście ataki wymierzone w samo oprogramowanie antywirusowe, sporo problemów potrafią również jednak sprawić fałszywe wykrycia, a przypadków podobnych do powyższego wcale nie brakuje.
W kwietniu 2010 roku McAfee oflagował na Windowsach plik systemowy svchost.exe, tym samym unieruchamiając tysiące systemów na całym świecie. W grudniu 2010 roku AVG unieruchomiło 64-bitowe systemy Windows 7, a w 2011 roku Microsoft Security Essentials zaliczył dwuznaczną wpadkę wykrywając Google Chrome jako Trojana wykradającego bankowe poświadczenia…
W przypadku systemów serwerowych, tego typu incydenty mogą oznaczać poważne straty w wyniku niedostępności usług. Pamiętajmy więc zawsze, że program antywirusowy to nie tylko dodatkowa ochrona, ale również kolejny potencjalny słaby punkt w naszej infrastrukturze.
– Wojciech Smol, (wojciech.smol<at>sekurak.pl)
Szkoda, że dotknęło to programu autorstwa Polaka.Tak czy inaczej prędzej czy później spotka to każdy program antywirusowy :)
Adam,
Zgadza się, nie ma możliwości całkowitego wyeliminowania wykryć fałszywych, jednak wydaje się, że akurat tej wpadki można było uniknąć. Sam producent przyznał po fakcie, że potrzebne są dodatkowe przeglądy sygnatur przed publikacją:
Zawsze zabawnie poczytac o takich rzeczach. To samo dotyczy jednak wszystkich innych rozwiazan (majacych w zalozeniu zapewniac bezpieczenstwo) jak firewalle, anti-spamy, ipsy, siemy itd.
Jesli jednak jestesmy przy antywirusach to obowiazkowe pozycje to:
https://lock.cmpxchg8b.com/sophail.pdf
https://lock.cmpxchg8b.com/sophailv2.pdf
Pozdrawiam!
No pieknie, brutforsowe przeszukiwanie pamieci/plikow pod katem wystepowania stringa z sygnatury, opracowane i opatentowane przez IBM jakies 20-30 lat temu. Az dziwne ze taka firma jak malwarebytes wciaz jeszcze uzywa tego archaicznego algorytmu ;)
Dlatego najlepszym zabezpieczeniem jest mądry człowiek przed komputerem. Fałszywe zagrożenia wykrywane przez antywirusy to jak dla mnie rutyna. Jest to też jedna z przyczyn, dlaczego przesiadłem się na Linux’a, bo jednak praca na Windows bez antywirusa czasem może być bolesna, choć nigdy nie zdarzyło mi się zarazić czymś, gdy programu ochronnego nie było.
Niestety trafiają się i takie dziwne niespodzianki. Jednak ważne jest, żeby mimo wszystko chronić w jakiś sposób kompa, a puki, co chyba nie ma lepszej metody niż instalowanie antywirusów.
@Marc_Anton
Nie zgodzę się. Każdy wirus jest sterowany przez internet. Gdzieś swoje dane wysyła. Żeby spokojnie się zabezpieczyć przed wszystkimi wirusami, wystarczy zamontować sobie dobrego firewalla software’owego bądź hardware’owego. W większości przypadków, nawet jeśli masz trojana, nie aktywuje się, gdy nie uzyska połączenia z internetem.
Co więcej, obecnie wirusy są pisane tak, żeby zbierały jak najwięcej informacji, a jak najmniej obciążały system (bo użytkownik po samej pracy systemu może stwierdzić, czy ma coś czy nie ma).
Antywirusy do protekcji używają głównie monitora rzeczywistego, co strasznie obciąża komputer. W momencie, kiedy firewall wykryje „coś podejrzanego”, odpalasz zwykły skaner. I tutaj też już antywirusy są wypierane przez zintegrowane skanery np. Comodo Cleaning Essentials. Także obrona rzeczywista jest logiczna tylko jako monitor sieci, nie monitor wszystkiego.