03.06.2016, 21:58
Ludzie (na przykład dziennikarze z prasy technicznej i recenzenci produktów) często pytają nas, jak działają nasze mechanizmy skanowania i jaka jest różnica między mechanizmami sygnaturowymi a innymi rodzajami mechanizmów. Prawdę mówiąc, zapytano nas o to nie dalej niż tydzień temu. Zbadajmy zatem ten temat nieco dokładniej…
Skanowanie sygnaturowe polega na porównywaniu skrótu całego pliku albo skrótów części pliku z listą lub bazą danych w celu uzyskania werdyktu dotyczącego danego obiektu. Mniej więcej takie były początki antywirusów w latach osiemdziesiątych. Pojawienie się polimorficznego malware’u w latach dziewięćdziesiątych okazało się katalizatorem, który przyspieszył ewolucję metody sygnaturowej w bardziej skomplikowane mechanizmy badania plików.
![[Obrazek: brainfloppy-1.png?w=548&h=354&crop=1]](https://fsecureconsumer.files.wordpress.com/2016/05/brainfloppy-1.png?w=548&h=354&crop=1)
W ten sposób otrzymywaliśmy nowe próbki w latach osiemdziesiątych
Rozwiązania do ochrony urządzeń końcowych zawierają mechanizmy skanowania plików. Nie skanują one jednak tylko plików. Wystarczy przekazać im dowolny bufor wejściowy, na przykład fragment pamięci albo strumień sieciowy, a zrobią, co do nich należy.
Mechanizmy skanowania plików stały się bardzo wyrafinowane. Zawierają algorytmy przeszukiwania archiwów, parsery wielu formatów plików, statyczne i dynamiczne funkcje rozpakowujące, dezasemblery i emulatory potrafiące uruchamiać zarówno skrypty, jak i formaty wykonywalne. Dzisiejsze detektory to po prostu skomplikowane programy komputerowe przeznaczone do zaawansowanej analizy próbek bezpośrednio w komputerze klienckim. Zaprojektowano je tak, aby mogły identyfikować tysiące, a nawet setki tysięcy próbek. Przeszły daleką drogę od dawnego podejścia „jeden skrót na jedną próbkę”.
Jak łatwo się domyślić, tworzenie wyrafinowanych detektorów wymaga czasu. Analityk musi zgromadzić próbki, zbadać je, napisać kod i przetestować go przed przekazaniem klientom. Z drugiej strony, prostsze detekcje bazujące na sygnaturach można generować automatycznie. W miarę, jak napływają nowe próbki, przepuszcza się je przez szereg statycznych i dynamicznych narzędzi analitycznych oraz mechanizmów opartych na regułach, aby szybko otrzymać werdykt.
Zatem kiedy pojawia się nowe zagrożenie, zautomatyzowane systemy zaplecza wkraczają do akcji, żeby obsługiwać wczesne próbki, podczas gdy analitycy biorą się do pracy nad właściwymi detekcjami. Ponieważ dzisiejsze oprogramowanie może szybko i łatwo sprawdzać skróty przez internet, te proste detekcje nie są nawet dostarczane w ramach aktualizacji lokalnej bazy danych. Mechanizm wyszukiwania w chmurze daje tę dodatkową korzyść, że pozwala nam bardzo szybko zabezpieczać klientów przed nowymi zagrożeniami, bez względu na to, kiedy się pojawią.
Ale to jeszcze nie cała historia.
Wszystkie nowoczesne rozwiązania do zabezpieczania urządzeń końcowych wykorzystują wiele mechanizmów, żeby chronić klientów. W dużym uproszczeniu, współczesna ochrona urządzeń końcowych działa następująco:
1. Blokowanie adresów URL. Zapobieganie dostępowi do witryn z pakietami exploitów lub inną złośliwą treścią sprawia, że dalsze środki ochrony stają się właściwie niepotrzebne. Robimy to głównie poprzez sprawdzanie reputacji adresów URL i IP w chmurze. Blokowanie spamu i filtrowanie poczty również odbywa się na tym poziomie.
2. Wykrywanie exploitów. Jeśli użytkownik zdoła dostać się do witryny z pakietem exploitów i korzysta z podatnego oprogramowania, próba wykorzystania luki w tym oprogramowaniu zostanie zablokowana przez nasz mechanizm monitorowania behawioralnego.
3. Skanowanie w sieci i podczas dostępu. Kiedy użytkownik otrzymuje plik przez e-mail lub pobiera go z internetu, plik jest skanowany w sieci albo podczas zapisywania na dysku. Jeśli plik okaże się złośliwy, jest usuwany z systemu użytkownika (na przykład poddawany kwarantannie).
4. Blokowanie behawioralne. Jeśli nie istnieje plikowa detekcja dla danego obiektu, użytkownik może otworzyć lub wykonać dokument, skrypt albo program. W tym momencie złośliwe działanie zostanie zidentyfikowane przez nasz mechanizm behawioralny i również w tym przypadku plik zostanie usunięty. W rzeczywistości większość sposobów dostarczania złośliwego oprogramowania można łatwo zablokować metodami behawioralnymi. W większości przypadków, kiedy znajdujemy nowe zagrożenie, odkrywamy również, że w odległej przeszłości dodaliśmy już logikę uwzględniającą wykorzystywany przez nie wektor ataku.
Dawne oprogramowanie antywirusowe, które noc w noc mieliło dyskiem w poszukiwaniu zagrożeń, przekształciło się we współczesną ochronę urządzeń końcowych. Jednym z najlepszych sposobów na ochronę przed dzisiejszymi zagrożeniami jest zadbanie o to, aby w ogóle nie dotarły do potencjalnej ofiary. Jeśli to się nie uda, wielowarstwowe blokowanie typowych wektorów ataku daje wiele kolejnych okazji do powstrzymania napastnika.
Skanowanie plików to tylko jeden z mechanizmów, których „producenci antywirusów” używają do ochrony urządzeń końcowych. Ponieważ rzeczywiste wektory ataku są często skutecznie identyfikowane przez nasze mechanizmy wykrywania exploitów i blokowania behawioralnego, często nie dodajemy detekcji plikowych (tzn. statycznych sygnatur) dla każdego nowego zagrożenia. Warto też pamiętać, że skuteczność ochrony przed rzeczywistymi zagrożeniami zawsze testujemy z wykorzystaniem całego naszego produktu, a nie jego poszczególnych części.
Źródło: F-Secure
Skanowanie sygnaturowe polega na porównywaniu skrótu całego pliku albo skrótów części pliku z listą lub bazą danych w celu uzyskania werdyktu dotyczącego danego obiektu. Mniej więcej takie były początki antywirusów w latach osiemdziesiątych. Pojawienie się polimorficznego malware’u w latach dziewięćdziesiątych okazało się katalizatorem, który przyspieszył ewolucję metody sygnaturowej w bardziej skomplikowane mechanizmy badania plików.
![[Obrazek: brainfloppy-1.png?w=548&h=354&crop=1]](https://fsecureconsumer.files.wordpress.com/2016/05/brainfloppy-1.png?w=548&h=354&crop=1)
W ten sposób otrzymywaliśmy nowe próbki w latach osiemdziesiątych
Rozwiązania do ochrony urządzeń końcowych zawierają mechanizmy skanowania plików. Nie skanują one jednak tylko plików. Wystarczy przekazać im dowolny bufor wejściowy, na przykład fragment pamięci albo strumień sieciowy, a zrobią, co do nich należy.
Mechanizmy skanowania plików stały się bardzo wyrafinowane. Zawierają algorytmy przeszukiwania archiwów, parsery wielu formatów plików, statyczne i dynamiczne funkcje rozpakowujące, dezasemblery i emulatory potrafiące uruchamiać zarówno skrypty, jak i formaty wykonywalne. Dzisiejsze detektory to po prostu skomplikowane programy komputerowe przeznaczone do zaawansowanej analizy próbek bezpośrednio w komputerze klienckim. Zaprojektowano je tak, aby mogły identyfikować tysiące, a nawet setki tysięcy próbek. Przeszły daleką drogę od dawnego podejścia „jeden skrót na jedną próbkę”.
Jak łatwo się domyślić, tworzenie wyrafinowanych detektorów wymaga czasu. Analityk musi zgromadzić próbki, zbadać je, napisać kod i przetestować go przed przekazaniem klientom. Z drugiej strony, prostsze detekcje bazujące na sygnaturach można generować automatycznie. W miarę, jak napływają nowe próbki, przepuszcza się je przez szereg statycznych i dynamicznych narzędzi analitycznych oraz mechanizmów opartych na regułach, aby szybko otrzymać werdykt.
Zatem kiedy pojawia się nowe zagrożenie, zautomatyzowane systemy zaplecza wkraczają do akcji, żeby obsługiwać wczesne próbki, podczas gdy analitycy biorą się do pracy nad właściwymi detekcjami. Ponieważ dzisiejsze oprogramowanie może szybko i łatwo sprawdzać skróty przez internet, te proste detekcje nie są nawet dostarczane w ramach aktualizacji lokalnej bazy danych. Mechanizm wyszukiwania w chmurze daje tę dodatkową korzyść, że pozwala nam bardzo szybko zabezpieczać klientów przed nowymi zagrożeniami, bez względu na to, kiedy się pojawią.
Ale to jeszcze nie cała historia.
Wszystkie nowoczesne rozwiązania do zabezpieczania urządzeń końcowych wykorzystują wiele mechanizmów, żeby chronić klientów. W dużym uproszczeniu, współczesna ochrona urządzeń końcowych działa następująco:
1. Blokowanie adresów URL. Zapobieganie dostępowi do witryn z pakietami exploitów lub inną złośliwą treścią sprawia, że dalsze środki ochrony stają się właściwie niepotrzebne. Robimy to głównie poprzez sprawdzanie reputacji adresów URL i IP w chmurze. Blokowanie spamu i filtrowanie poczty również odbywa się na tym poziomie.
2. Wykrywanie exploitów. Jeśli użytkownik zdoła dostać się do witryny z pakietem exploitów i korzysta z podatnego oprogramowania, próba wykorzystania luki w tym oprogramowaniu zostanie zablokowana przez nasz mechanizm monitorowania behawioralnego.
3. Skanowanie w sieci i podczas dostępu. Kiedy użytkownik otrzymuje plik przez e-mail lub pobiera go z internetu, plik jest skanowany w sieci albo podczas zapisywania na dysku. Jeśli plik okaże się złośliwy, jest usuwany z systemu użytkownika (na przykład poddawany kwarantannie).
4. Blokowanie behawioralne. Jeśli nie istnieje plikowa detekcja dla danego obiektu, użytkownik może otworzyć lub wykonać dokument, skrypt albo program. W tym momencie złośliwe działanie zostanie zidentyfikowane przez nasz mechanizm behawioralny i również w tym przypadku plik zostanie usunięty. W rzeczywistości większość sposobów dostarczania złośliwego oprogramowania można łatwo zablokować metodami behawioralnymi. W większości przypadków, kiedy znajdujemy nowe zagrożenie, odkrywamy również, że w odległej przeszłości dodaliśmy już logikę uwzględniającą wykorzystywany przez nie wektor ataku.
Dawne oprogramowanie antywirusowe, które noc w noc mieliło dyskiem w poszukiwaniu zagrożeń, przekształciło się we współczesną ochronę urządzeń końcowych. Jednym z najlepszych sposobów na ochronę przed dzisiejszymi zagrożeniami jest zadbanie o to, aby w ogóle nie dotarły do potencjalnej ofiary. Jeśli to się nie uda, wielowarstwowe blokowanie typowych wektorów ataku daje wiele kolejnych okazji do powstrzymania napastnika.
Skanowanie plików to tylko jeden z mechanizmów, których „producenci antywirusów” używają do ochrony urządzeń końcowych. Ponieważ rzeczywiste wektory ataku są często skutecznie identyfikowane przez nasze mechanizmy wykrywania exploitów i blokowania behawioralnego, często nie dodajemy detekcji plikowych (tzn. statycznych sygnatur) dla każdego nowego zagrożenia. Warto też pamiętać, że skuteczność ochrony przed rzeczywistymi zagrożeniami zawsze testujemy z wykorzystaniem całego naszego produktu, a nie jego poszczególnych części.
Źródło: F-Secure