FUD czy malware zero day? Co to jest i jak brzmi poprawne nazewnictwo?

9 kwietnia, 2013

Artykuł ten ma na celu zbadanie poprawności nazewnictwa wirusów FUD – całkowicie niewykrywalny / nieusuwalny, z jęz. ang. Fully Undetecdable lub Fully Unremovable; UD – wykrywalny; oraz tak powszechnie stosowana nomenklatura malware zero day.

Do napisania tego artykułu zainspirowała mnie informacja, jakoby Zero Day odnosił się tylko do exploitów, a w przypadku nowego malware – FUD. Tak więc, czy „malware 0-day” jest poprawną nomenklaturą niewykrywalnych wirusów?

Czym jest FUD?

Całkowicie niewykrywalny nie odnosi się tylko do nowych i nienznaych wirusów. Przykład: jeśli złośliwy kod napisany w PHP zostanie wykryty przez program antywirusowy będzie on wykrywalny, ale jeśli ten sam kod zaszyfrujemy w Base64, który najpierw powinien odszyfrować się z Base64, a później wykonać zawarty tam kod, w ten sposób plik będzie znowu niewykrywalny. Jednak czasami pozyskanie kodu źródłowego malware staje się niemożliwe dla ponownej kompilacji w FUD. W takim wypadku stosuje się cryptory lub cryptery. Crypter posiada dwa pliki: builder oraz stub. Stub jest „mini” programem, który w zależności od autora będzie przechowywał drugi plik. Builder szyfruje wybrany plik zazwyczaj algorytmami XOR, RC4, TEA, 3DES. Np. builder szyfruje wykrywalny plik przy pomocy algorytmu z kluczem i zapisuje go w postaci RESOURCES w stub’ie. Stub jest niewykrywalny, zbudowany z dekodera oraz loadera. Stub pobiera z sekcji RESOURCES zaszyfrowany malware, by następnie przy pomocy klucza odszyfrować malware w pamięci. W następnym kroku, loader uruchamia malware z dropem lub bez drop’u. Z drop’em – oznacza to, że dekoder odkodowuje plik, zapisuje go na dysku i dopiero teraz loader uruchamia malware. Jeśli malware uruchamiane jest bez drop’u – oznacza to, że uruchamiany jest bezpośrednio w pamięci.

Tak więc, czym różni się FUD od UD?

UD jest wykrywalny przez co najmniej jeden program antywirusowy. UD – undectable odnosi się do znanych malware (know malware), ale tylko o ograniczonym zakresie zdolnych do wykrycia / usunięcia go skanerów antywirusowych. UD odnosi się także do unremovable (nie do usunięcia) – nieznany w sygnaturach, ale malware UD może być wykryte przez analizę heurystyczną.

Jeśli znany jest przynajmniej jeden sposób usunięcia – skanerem antywirusowym lub ręcznie np. po analizie logów z aplikacji firm trzecich takich jak OTL czy GMER (w przypadku rootkitów) to malware nie jest już FUD – mówi Arkadiusz Zakrzewski – Specjalista pomocy technicznej AVG.

Z chwilą pierwszego ataku, który powoduje ujawnienie się malware`u, następuje wykorzystanie 0-day`a i rusza proces zdobycia sampla, analiza i zniesienie statusu FUD, dystrybucja aktualizacji, która obejmuje nowy malware.>

FUD – dotyczy tylko wyłącznie procesu „wykrywania”. Przedmiotem wspomnianej detekcji może być exploit, shellcode czy payload. Najcześciej w parze z 0day idzie FUD exploit, FUD shellcode (często) oraz FUD payload (czyli malware, który został pobrany za pomocą shellcode).

Czym jest Zero Day?

– Wypowiedź nie jest oficjalnym stanowiskiem AVG, lecz opinią Arkadiusza Zakrzewskiego, specjalisty pomocy technicznej.

Moim zdaniem 0day jest określeniem powagi zagrożenia, a nie jego typu. Zero day to zawsze priority very high/critical czyli incydent o bardzo dużym zagrożeniu, bo albo jest możliwy atak na bardzo dużej liczbie użytkowników np. luka w bardzo popularnym oprogramowaniu – przykład idealny to od zatrzęsienia 0day na IE czy Flasha albo atak 0-day jest bardzo dużym zagrożeniem np. kompletne rozkładanie na łopatki Windowsów przez exploit.. 
0-day to też atak z wykorzystaniem luki, która nie jest nikomu znana, szczególnie developerom danej aplikacji. Nowy exploit na starą dziurę w Windows już nie będzie 0-day`em bo do ataku wykorzystuje już znaną lukę, dla której albo istnieje już patch/workaround i infekcja ma szanse powodzenia tylko na nieaktualnym oprogramowaniu albo taki patch jest w trakcie opracowywania, a więc żywot infekcji na taką lukę będzie bardzo krótki.”

0-day odnosi się tylko do luk w oprogramowaniu czyli exploitów. Zero-day mówi nam, ile dni miał producent danego oprogramowania na załatanie dziury. Jak nazwa wskazuje, producent miał 0 dni, czyli mamy do czynienia ze scenariuszem:

  • wykrycie dziury
  • stworzenie exploita
  • dystrybucja wild

Pierwsze informacje o luce pochodzą z dystrybucji „wild” czyli od userów, którzy padli ofiarą exploita. Specjaliści analizują exploita i dowiadują się o lokalizacji dziury w programie. Sumarycznie, producent miał 0 dni na załatanie dziury, bo nawet o niej nie wiedział (lub wiedział ale nic nie zrobił).

„Malware zaś to ogólne określenie złośliwego oprogramowania. Zarówno exploit jak i backdoor czy trojan mieszczą się w definicji malware`u i każdy z nich może być poziomu 0day threat, czyli po pierwsze wykorzystywać nieznaną i niezabezpieczoną wcześniej lukę, a po drugie atakować popularne oprogramowanie (to najczęściej spotykane 0-day`e) – mówi Arkadiusz Zakrzewski.

Nomenklatura wg F-Secure

_Jakaś_Nazwa_.0Day.Malware jest to nazwa dla nowego, niezdefiniowanego malware wykrytego przez sygnatury generyczne. Jeśli o takiej nazwie zostanie zablokowane zagrożenie oznacza to, że malware jest niezdefiniowane i nie posiada podpisu w postaci definicji. Jednakże zagrożenie może zostać wykryte za pomocą analizy heurystycznej, czyli w przypadku F-Secure – za pomocą technologii zwanej Zero-Hour Protection zaimplementowanej w niektóre produkty F-Secure z rodziny Antivirus. W przypadku przeanalizowania wirusa, nomenklatura np. Email.0Day.Malware zostaje zastąpiona generyczną, rodzajową nazwą malware.

Podsumowując

– nomenklatura zero day to nie tylko luka w oprogramowaniu, ale także powaga zagrożenia

– malware 0 day to poprawne nazewnictwo nowych wirusów, które wykorzystują nowe, nieznane luki lub atakują oprogramowanie (backdoor, exploit, trojan)

– malware FUD to nazewnictwo niewykrywalnych wirusów przez skanery antywirusowe (z definicji oraz poprzez heurystykę)

– FUD dotyczy wyłącznie procesu wykrywania

Malware 0 day = malware FUD

Picture of Adrian Ścibor

Adrian Ścibor

W ramach działań związanych z cyberbezpieczeństwem odpowiada w AVLab za przeprowadzanie testów rozwiązań ochronnych przed zagrożeniami. Opracowuje strategie oraz narzędzia, które pomagają w ochronie danych i systemów przed cyberatakami. Współuczestnik międzynarodowej grupy non-profit AMTSO, która zrzesza ekspertów IT.
Picture of Adrian Ścibor

Adrian Ścibor

W ramach działań związanych z cyberbezpieczeństwem odpowiada w AVLab za przeprowadzanie testów rozwiązań ochronnych przed zagrożeniami. Opracowuje strategie oraz narzędzia, które pomagają w ochronie danych i systemów przed cyberatakami. Współuczestnik międzynarodowej grupy non-profit AMTSO, która zrzesza ekspertów IT.

PODZIEL SIĘ:

guest
0 komentarzy
Inline Feedbacks
View all comments

Wyrażam zgodę na przesłanie oferty drogą telefoniczną przez IT Partners security sp. z o.o. z siedzibą Katowicach ul.Padereskiego 35 na podany przeze mnie adres e-mail zgodnie z ustawą z dnia 10 maja 2018 roku o ochronie danych osobowych (Dz. Ustaw z 2018, poz. 1000) oraz zgodnie z Rozporządzeniem Parlamentu Europejskiego i Rady (UE) 2016/679 z dnia 27 kwietnia 2016 r. w sprawie ochrony osób fizycznych w związku z przetwarzaniem danych osobowych i w sprawie swobodnego przepływu takich danych oraz uchylenia dyrektywy 95/46/WE (RODO).

Wyrażam zgodę na przesłanie oferty drogą mailową przez IT Partners security sp. z o.o. z siedzibą Katowicach ul.Padereskiego 35 na podany przeze mnie adres e-mail zgodnie z ustawą z dnia 10 maja 2018 roku o ochronie danych osobowych (Dz. Ustaw z 2018, poz. 1000) oraz zgodnie z Rozporządzeniem Parlamentu Europejskiego i Rady (UE) 2016/679 z dnia 27 kwietnia 2016 r. w sprawie ochrony osób fizycznych w związku z przetwarzaniem danych osobowych i w sprawie swobodnego przepływu takich danych oraz uchylenia dyrektywy 95/46/WE (RODO).

[ninja_tables id=”27481″]