Kiedy można powiedzieć, że wirus jest niewykrywalny? W komentarzach pojawiła się następująca propozycja: A ja bym się pokusił o stwierdzenie - niewykrywalnego wirusa w sytuacji gdy ponad 50% aplikacji antywirusowych na www.virustotal.com nie rozpoznaje poprawnie złośliwego kodu w momencie poznania próbki przez kogoś kto ją "wykrył" :] Ja patrzę na sprawę w nieco inny sposób, choć z "myślą przewodnią" się zgadzam.
Kiedy wirus jest niewykrywalny?
Punkt widzenia zależy od punktu siedzenia. I czasami jeszcze od tego, kto patrzy. Obracam się w środowisku osób bardziej "świadomych informatycznie", więc jestem nieco oderwany od poziomu statystycznego użytkownika komputera. Z drugiej strony jednak wierzę, może zbyt naiwnie, w zdolności poznawcze ludzi. Uważam jednak, że jeśli ci ludzie będą bombardowani informacyjną papką o miernej jakości merytorycznej, ogólny poziom wiedzy/świadomości jeszcze spadnie.
Rok 1991 - w mediach zaczyna być głośno o wirusie Michał Anioł, jeden ze znajomych z przerażeniem pyta, czy wirus z komputera może przerzucić się na ludzi... Śmieszne? Może trochę, ale wirus to wirus, z tego "robi się" grypa, skoro komputer "jest chory", to można się od niego zarazić.
W czasie tych 18 lat wiele rzeczy uległo zmianie, nie koniecznie na lepsze. Obecnie jesteśmy bombardowani informacyjną papką, spada weryfikowalność informacji (każdy może napisać dowolną bzdurę) i istnieje prawdopodobieństwo graniczące z pewnością, że istnieje grupa osób, która ową bzdurę uzna za prawdę obowiązującą. Coraz bardziej liczy się krzykliwy, przyciągający oczy tytuł informacji, a nie jej zawartość czy rzetelność. Następuje "równanie w dół", grupą docelową staje się średnio inteligentny odbiorca, jest ich po prostu najwięcej. Nawet w szkolnictwie/na uczelniach można obserwować pogarszanie się "jakości" kolejnych roczników, wartość "wyższego wykształcenia" spada, podobnie jak spada (moim zdaniem) wartość tytułów typu magister czy inżynier. Osobiście posiadam je oba, choć z tytułu inżyniera chętnie bym zrezygnował - nie czuję się inżynierem, ten tytuł jest tylko "przy okazji", bo akurat uczelnia tradycyjnie kształciła inżynierów. Tytułem magistra również się nie chwalę, bo nie ma czym - każdy może zostać magistrem...
Pora wrócić do wirusów. Proponuję się przyglądnąć pojęciom: niewykrywalny oraz niewykrywany. Specjalnie wytłuściłem różnicę. Wirus jest (jeszcze) niewykrywany ponieważ programy antywirusowe, lub część z nich, nie posiadają odpowiednich definicji. Wirus ma szansę być niewykrywanym, jeśli jest:
- nowy,
- targetowany (np. ma wykraść informacje z firmy X, a nie zarazić 10 milionów komputerów),
Kwestią dyskusyjną może być co należy określić jako nowy wirus, wystarczy przypomnieć The Race to Zero, gdzie znane próbki wirusów były "przerabiane" w taki sposób by były niewykrywane przez normalnie wykrywające je antywirusy. Oczywiście zwykle do czasu, gdy stosowna próbka zostanie schwytana i do bazy definicji antywirusowych dołączona zostanie odpowiednia sygnatura.
Naturalną (nabytą) cechą wirusów jest ich chęć ukrywania się przed antywirusami, dlatego istnieje coś takiego jak polimorfizm i metamorfizm. Wykrywanie tego typu złośliwego oprogramowania jest sporym wyzwaniem, przynajmniej na podstawie sygnatur.
Działając w systemie wirus wpływa na jego stan, wprowadza modyfikacje, jest w jakiś sposób aktywny. Znów wirus typu "przyczajony tygrys, ukryty smok" (nie, nie zmęczyłem tego filmu) mający konkretne zadanie jest trudniejszy do wykrycia, niż coś co zachowuje się jak Osioł ze Shreka, podskakuje i wrzeszczy "tu jestem, tu...". Dlatego część wrogiego oprogramowania ukrywa się ingerując w system operacyjny tak, by zauważenie, że jest on w systemie było maksymalnie trudne.
Jeśli uznamy, że coś jest niewykrywalne, to (dla mnie) oznacza to, że nie ma (prostej) metody do stwierdzenia, czy wirus jest obecny w systemie, czy też nie jest. Definicja tego, co jest proste, a co nie oczywiście znowu jest rozmyta, choć uznanie, że coś jest prosto wykrywalne jeśli jest wykrywane przy pomocy powszechnie dostępnych narzędzi wydaje się sensownym kryterium. Oczywiście kryterium ruchomym, bo zarówno autorzy wrogiego kodu mają dobre (choć służące złym celom) pomysły, jak i ludzie z tej drugiej strony barykady (nawet się czasem wzajemnie podpytują: We Read Their Forums Too - trzeba znać swojego wroga).
Ten głośny niewykrywalny wirus był bardzo "głośny", nie stosował nawet "standardowych", na chwilę obecną, metod ukrywania się... Dlatego nazwanie go niewykrywalnym jest (znów - moim zdaniem) sporym nadużyciem. Sugeruje to, że jest tak straszny, zmyślny i przebiegły, że przy obecnym stanie technologii nie można go skutecznie wykrywać, a tak oczywiście nie jest/nie było. Natomiast atak był w pewnym stopniu "niszowy", mimo podawanej liczby pół miliona "adresatów" owej pseudofotki, co w naturalny sposób powoduje, że próbki nie trafiają do wszystkich producentów oprogramowania antywirusowego. Jeśli "wielkie słowa" zostaną wykorzystane dla "normalnych" wirusów, to jak opisać te, które będą naprawdę niewykrywalne (przynajmniej przez dłuższą chwilę)?
medicina.pl