Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

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

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 

bezpieczeństwo inne

Komentarze

0 nowych
etam   9 #1 13.06.2013 10:15

Pierwszy raz spotykam się z takim znaczeniem "FUD". Dla mnie to zawsze było "Fear, uncertainty and doubt" https://en.wikipedia.org/wiki/Fear%2C_uncertainty_and_doubt

adrian1877   3 #2 13.06.2013 10:23

pierwszy raz spotykam się z tym co przytoczyłeś :)
Jeśli chodzi o skróty to wiele jest takich, które pasują do różnych dziedzin życia.

djDziadek   16 #3 13.06.2013 10:31

A to FUD nie znaczy: "Flejtuchy Udają Duchy" ?

Autor edytował komentarz.
  #4 26.09.2015 15:59

Dzięki właśnie szukałem co oznacza FUD.