Co oznacza podatne oprogramowanie? Inteligentne skanowanie

Dom / Instalacja urządzenia

Podczas uruchamiania inteligentne skanowanie Avast sprawdzi Twój komputer pod kątem następujących typów problemów, a następnie zasugeruje ich rozwiązania.

  • Wirusy: pliki zawierające złośliwy kod, co może mieć wpływ na bezpieczeństwo i wydajność komputera.
  • Wrażliwe oprogramowanie: Programy wymagające aktualizacji, które mogą zostać wykorzystane przez osoby atakujące w celu uzyskania dostępu do Twojego systemu.
  • Rozszerzenia przeglądarki o złej reputacji: Rozszerzenia przeglądarki, które są zwykle instalowane bez Twojej wiedzy i wpływają na wydajność systemu.
  • Słabe hasła: hasła używane do uzyskiwania dostępu do więcej niż jednego konta online, które można łatwo zhakować lub złamać.
  • Zagrożenia sieciowe: luki w zabezpieczeniach Twojej sieci, które mogą pozwolić na ataki na Twoje urządzenia sieciowe i router.
  • Problemy z wydajnością: obiekty ( niepotrzebne pliki i aplikacjami, problemy związane z ustawieniami), które mogą zakłócać pracę komputera.
  • Konfliktowe programy antywirusowe: programy antywirusowe zainstalowane na komputerze z programem Avast. Dostępność kilku programy antywirusowe spowalnia komputer i zmniejsza skuteczność ochrony antywirusowej.

Notatka. Rozwiązanie niektórych problemów wykrytych przez funkcję Smart Scan może wymagać osobnej licencji. Wykrywanie niepotrzebnych typów problemów można wyłączyć w .

Rozwiązywanie wykrytych problemów

Zielony znacznik wyboru obok obszaru skanowania oznacza, że ​​nie wykryto żadnych problemów w tym obszarze. Czerwony krzyżyk oznacza, że ​​podczas skanowania zidentyfikowano jeden lub więcej powiązanych problemów.

Aby wyświetlić szczegółowe informacje o wykrytych problemach, kliknij Rozwiąż wszystko. Inteligentne skanowanie pokazuje szczegóły każdego problemu i oferuje opcję natychmiastowego rozwiązania go poprzez kliknięcie elementu Decydować lub zrób to później, klikając Pomiń ten krok.

Notatka. Dzienniki skanowania antywirusowego można zobaczyć w historii skanowania, do której można uzyskać dostęp, wybierając opcję Ochrona antywirusowa.

Zarządzaj ustawieniami inteligentnego skanowania

Aby zmienić ustawienia Inteligentnego skanowania, wybierz Ustawienia Ogólne Inteligentne skanowanie i określ, dla których z poniższych typów problemów chcesz przeprowadzić inteligentne skanowanie.

  • Wirusy
  • Przestarzałe oprogramowanie
  • Dodatki do przeglądarki
  • Zagrożenia sieciowe
  • Problemy ze zgodnością
  • Problemy z wydajnością
  • Słabe hasła

Domyślnie wszystkie typy problemów są włączone. Aby zatrzymać sprawdzanie konkretnego problemu podczas uruchamiania inteligentnego skanowania, kliknij suwak Dołączony obok typu problemu, tak aby zmienił stan na Wyłączony.

Trzask Ustawienia obok napisu Skanowanie wirusów aby zmienić ustawienia skanowania.

Zarządzanie podatnościami to identyfikacja, ocena, klasyfikacja i wybór rozwiązania w celu usunięcia podatności. Podstawą zarządzania podatnościami są repozytoria informacji o podatnościach, a jednym z nich jest System Zarządzania Podatnościami „Forward Monitoring”.

Nasze rozwiązanie kontroluje pojawianie się informacji o podatnościach w systemy operacyjne(na platformie Windows, Linux/Unix), oprogramowanie biurowe i aplikacyjne, oprogramowanie sprzętowe, narzędzia do zabezpieczania informacji.

Źródła danych

Baza danych Systemu Zarządzania Podatnościami Oprogramowania Perspective Monitoring jest automatycznie aktualizowana z następujących źródeł:

  • Bank Danych o Zagrożeniach Bezpieczeństwa Informacji (BIS) FSTEC z Rosji.
  • Krajowa baza danych o lukach w zabezpieczeniach (NVD) NIST.
  • Bugzilla Red Hata.
  • Narzędzie do śledzenia błędów bezpieczeństwa Debiana.
  • Lista mailingowa CentOS.

Używamy również metoda zautomatyzowana uzupełnienie naszej bazy danych o podatnościach. Opracowaliśmy robota indeksującego strony internetowe i parser danych nieustrukturyzowanych, który codziennie analizuje ponad sto różnych źródeł zagranicznych i rosyjskich pod kątem szeregu słów kluczowych - grup w sieciach społecznościowych, blogach, mikroblogach, mediach poświęconych technologia informacyjna i zapewnienie bezpieczeństwa informacji. Jeśli narzędzia te znajdą coś, co spełnia kryteria wyszukiwania, analityk ręcznie sprawdza te informacje i wprowadza je do bazy danych podatności.

Monitorowanie podatności oprogramowania

Korzystając z systemu zarządzania lukami, programiści mogą monitorować obecność i status wykrytych luk w komponentach swojego oprogramowania innych firm.

Na przykład w modelu bezpiecznego cyklu życia programisty oprogramowania (SSDLC) firmy Hewlett Packard Enterprise kontrola nad bibliotekami stron trzecich ma kluczowe znaczenie.

Nasz system monitoruje obecność luk w równoległych wersjach/kompilacjach tego samego oprogramowania.

Działa to w ten sposób:

1. Twórca udostępnia nam listę bibliotek i komponentów innych firm zastosowanych w produkcie.

2. Codziennie sprawdzamy:

B. czy pojawiły się metody eliminujące wcześniej wykryte luki.

3. Powiadamiamy dewelopera, jeżeli zmienił się status lub punktacja podatności, zgodnie z określonym wzorem do naśladowania. Oznacza to, że różne zespoły programistów tej samej firmy otrzymają alerty i zobaczą status luk w zabezpieczeniach tylko dla produktu, nad którym pracują.

Częstotliwość alertów systemu zarządzania lukami można konfigurować, ale jeśli wykryta zostanie luka z wynikiem CVSS większym niż 7,5, programiści otrzymają natychmiastowe powiadomienie.

Integracja z ViPNet TIAS

Oprogramowanie i sprzęt systemu ViPNet Threat Intelligence Analytics System automatycznie wykrywa ataki komputerowe i identyfikuje incydenty na podstawie zdarzeń otrzymanych z różnych źródeł bezpieczeństwo informacji. Głównym źródłem zdarzeń dla ViPNet TIAS jest ViPNet IDS, który analizuje przychodzące i wychodzące ruch sieciowy wykorzystanie podstaw reguł decyzyjnych AM Zasady opracowywania „Monitoringu Prospektywnego”. Niektóre sygnatury są zapisywane w celu wykrycia wykorzystania luk.

Jeżeli ViPNet TIAS wykryje zdarzenie związane z bezpieczeństwem informacji, w którym wykorzystano podatność, wówczas wszystkie informacje związane z podatnością, w tym dotyczące metod eliminacji lub kompensacji negatywnego wpływu, zostaną automatycznie wprowadzone do karty zdarzenia z systemu zarządzania.

System zarządzania incydentami pomaga także w badaniu incydentów związanych z bezpieczeństwem informacji, dostarczając analitykom informacji o wskaźnikach naruszenia i potencjalnych węzłach infrastruktury informatycznej dotkniętych incydentem.

Monitorowanie obecności podatności w systemach informatycznych

Innym scenariuszem wykorzystania systemu zarządzania podatnościami jest skanowanie na żądanie.

Klient samodzielnie generuje za pomocą wbudowanych narzędzi lub opracowanego przez nas skryptu listę oprogramowania systemowego i aplikacyjnego oraz komponentów zainstalowanych na węźle (stacja robocza, serwer, DBMS, pakiet oprogramowania, sprzęt sieciowy), przekazuje tę listę do kontroli systemu i otrzymuje raport o wykrytych podatnościach oraz okresowe powiadomienia o ich stanie.

Różnice pomiędzy Systemem a popularnymi skanerami podatności:

  • Nie wymaga instalacji agentów monitorujących na węzłach.
  • Nie powoduje obciążenia sieci, ponieważ sama architektura rozwiązania nie zapewnia agentów i serwerów skanujących.
  • Nie powoduje obciążenia sprzętu, ponieważ lista komponentów jest tworzona za pomocą poleceń systemowych lub lekkiego skryptu open source.
  • Eliminuje możliwość wycieku informacji. „Monitorowanie prospektywne” nie jest w stanie wiarygodnie dowiedzieć się niczego o fizycznej i logicznej lokalizacji lub przeznaczeniu funkcjonalnym węzła w systemie informatycznym. Jedyną informacją opuszczającą kontrolowany obszar klienta jest plik txt z listą komponentów oprogramowania. Plik ten jest sprawdzany pod kątem zawartości i przesyłany do systemu sterującego samodzielnie przez Klienta.
  • Aby system działał nie potrzebujemy kont na kontrolowanych węzłach. Informacje zbierane są przez administratora serwisu we własnym imieniu.
  • Bezpieczna wymiana informacji poprzez ViPNet VPN, IPsec lub https.

Połączenie z usługą zarządzania podatnościami Perspective Monitoring pomaga klientowi spełnić wymaganie ANZ.1 „Identyfikacja i analiza podatności systemu informacyjnego I szybka eliminacja nowo zidentyfikowane luki” w zamówieniach FSTEC Rosji nr 17 i 21. Nasza firma jest licencjobiorcą FSTEC Rosji na działalność związaną z techniczną ochroną informacji poufnych.

Cena

Minimalny koszt - 25 000 rubli rocznie za 50 węzłów podłączonych do systemu, jeśli istnieje ważna umowa na przyłączenie

Obecnie opracowano dużą liczbę narzędzi automatyzujących wyszukiwanie luk w programach. W tym artykule omówimy niektóre z nich.

Wstęp

Statyczna analiza kodu to analiza oprogramowania przeprowadzana na kodzie źródłowym programów i wdrażana bez faktycznego wykonywania badanego programu.

Oprogramowanie często zawiera różne luki wynikające z błędów w kodzie programu. Błędy popełnione podczas tworzenia programu w niektórych sytuacjach prowadzą do awarii programu i dlatego normalne działanie programy: często powoduje to zmiany i uszkodzenie danych, zatrzymując program lub nawet system. Większość podatności związana jest z nieprawidłowym przetwarzaniem danych otrzymanych z zewnątrz lub niewystarczająco rygorystyczną ich weryfikacją.

Do identyfikacji podatności wykorzystywane są różne narzędzia, na przykład analizatory statyczne kod źródłowy programów, których przegląd znajduje się w tym artykule.

Klasyfikacja luk w zabezpieczeniach

Gdy zostanie naruszony wymóg poprawnego działania programu na wszystkich możliwych danych wejściowych, możliwe staje się pojawienie się tzw. luk w zabezpieczeniach. Luki w zabezpieczeniach mogą oznaczać, że jeden program może zostać wykorzystany do pokonania ograniczeń bezpieczeństwa całego systemu.

Klasyfikacja luk bezpieczeństwa w zależności od błędów oprogramowania:

  • Przepełnienie bufora. Luka ta wynika z braku kontroli nad przekroczeniem zakresu tablicy w pamięci podczas wykonywania programu. Gdy zbyt duży pakiet danych przepełni bufor o ograniczonym rozmiarze, zawartość dodatkowych komórek pamięci zostanie nadpisana, co spowoduje awarię i zamknięcie programu. Na podstawie lokalizacji bufora w pamięci procesu rozróżnia się przepełnienia bufora na stosie (przepełnienie bufora stosu), stercie (przepełnienie bufora sterty) i obszarze danych statycznych (przepełnienie bufora bss).
  • Luka w zabezpieczeniach skażonych danych wejściowych. Luki w zabezpieczeniach zepsutych danych wejściowych mogą wystąpić, gdy dane wejściowe użytkownika zostaną przekazane do pewnego rodzaju interpretera bez wystarczającej kontroli. język zewnętrzny(zwykle powłoka Unix lub język SQL). W takim przypadku użytkownik może określić dane wejściowe w taki sposób, że uruchomiony interpreter wykona polecenie zupełnie odmienne od zamierzonego przez autorów podatnego programu.
  • Usterka ciągu formatującego. Ten typ Luki w zabezpieczeniach stanowią podklasę luki w zabezpieczeniach „skażonych danych wejściowych”. Dzieje się tak z powodu niewystarczającej kontroli parametrów podczas korzystania z funkcji we/wy w formacie printf, fprintf, scanf itp. standardowej biblioteki C. Funkcje te przyjmują jako jeden z parametrów ciąg znaków określający format wejściowy lub wyjściowy kolejnych argumentów funkcji. Jeśli użytkownik może określić typ formatowania, luka ta może wynikać z nieudanego użycia funkcji formatowania ciągów.
  • Luki w zabezpieczeniach wynikające z błędów synchronizacji (warunki wyścigu). Problemy związane z wielozadaniowością prowadzą do sytuacji zwanych „warunkami wyścigu”: program, który nie jest przeznaczony do działania w środowisku wielozadaniowym, może sądzić, że na przykład używanych przez niego plików nie można zmienić za pomocą innego programu. W rezultacie osoba atakująca, która natychmiast podmieni zawartość tych plików roboczych, może zmusić program do wykonania określonych działań.

Oczywiście oprócz wymienionych istnieją inne klasy luk w zabezpieczeniach.

Przegląd istniejących analizatorów

Do wykrywania luk w zabezpieczeniach programów wykorzystywane są następujące narzędzia:

  • Debugery dynamiczne. Narzędzia umożliwiające debugowanie programu w trakcie jego wykonywania.
  • Analizatory statyczne (debuggery statyczne). Narzędzia wykorzystujące informacje zgromadzone podczas analizy statycznej programu.

Analizatory statyczne wskazują te miejsca w programie, w których może znajdować się błąd. Te podejrzane fragmenty kodu mogą zawierać błąd lub być całkowicie nieszkodliwe.

W tym artykule omówiono kilka istniejących analizatorów statycznych. Przyjrzyjmy się bliżej każdemu z nich.

Innym sposobem spojrzenia na ten problem jest to, że firmy muszą szybko reagować, gdy aplikacja zawiera lukę. Wymaga to od działu IT możliwości ostatecznego śledzenia zainstalowanych aplikacji, komponentów i poprawek przy użyciu automatyzacji i standardowych narzędzi. W branży podejmuje się wysiłki mające na celu ujednolicenie znaczników oprogramowania (19770-2), które są plikami XML instalowanymi wraz z aplikacją, komponentem i/lub łatką, identyfikującymi zainstalowane oprogramowanie, a w przypadku komponentu lub poprawki, jaką aplikacją są część. Tagi zawierają wiarygodne informacje o wydawcy, informacje o wersji, listę plików z nazwą pliku, są bezpieczne skrót pliku i rozmiar, na podstawie których można potwierdzić, że zainstalowana aplikacja znajduje się w systemie i że pliki binarne nie zostały zmodyfikowane przez osoby trzecie. Tagi te są podpisane podpis cyfrowy wydawca.

Gdy znana jest luka, działy IT mogą użyć oprogramowania do zarządzania zasobami, aby natychmiast zidentyfikować systemy zawierające podatne oprogramowanie i podjąć kroki w celu aktualizacji systemów. Tagi mogą być częścią łatki lub aktualizacji, których można użyć do sprawdzenia, czy łatka została zainstalowana. W ten sposób działy IT mogą korzystać z zasobów, takich jak Krajowa baza danych o lukach w zabezpieczeniach NIST, jako środka do zarządzania narzędziami do zarządzania zasobami, dzięki czemu po zgłoszeniu luki do NVD przez firmę dział IT może natychmiast porównać nowe luki z posiadaną przez nią luką.

Istnieje grupa firm współpracująca z rządem USA za pośrednictwem organizacji non-profit IEEE/ISTO o nazwie TagVault.org (www.tagvault.org) nad standardowym wdrożeniem ISO 19770-2, które umożliwi ten poziom automatyzacji. W pewnym momencie te znaczniki odpowiadające tej implementacji będą prawdopodobnie obowiązkowe w przypadku oprogramowania sprzedawanego rządowi USA w pewnym momencie w ciągu najbliższych kilku lat.

Podsumowując, dobrą praktyką jest nie publikowanie informacji o tym, jakich aplikacji i konkretnych wersji oprogramowania używasz, ale jak wspomniano wcześniej, może to być trudne. Chcesz mieć pewność, że masz dokładny i aktualny spis oprogramowania, że ​​jest on regularnie porównywany z listą znanych luk w zabezpieczeniach, takich jak NVID NVD, i że dział IT może podjąć natychmiastowe działania w celu usunięcia zagrożenia najnowsze inwazje wykrywające, skanowanie antywirusowe i inne metody blokowania środowiska, przynajmniej bardzo trudno będzie naruszyć bezpieczeństwo twojego środowiska, a jeśli/kiedy to nastąpi, nie zostanie ono wykryte przez długi czas.

W niektórych przypadkach luki powstają w wyniku użycia narzędzi programistycznych różnego pochodzenia, co zwiększa ryzyko pojawienia się defektów typu sabotażowego w kodzie programu.

Luki pojawiają się w wyniku dodania do oprogramowania komponentów stron trzecich lub swobodnie rozpowszechnianego kodu (open source). Kod innej osoby jest często używany „tak jak jest” bez dokładnej analizy i testów bezpieczeństwa.

Nie należy wykluczać obecności w zespole programistów insiderów, którzy celowo wprowadzają do tworzonego produktu dodatkowe, nieudokumentowane funkcje lub elementy.

Klasyfikacja luk w programach

Luki wynikają z błędów napotkanych na etapie projektowania lub pisania. kod programu.

W zależności od etapu wystąpienia, zagrożenie tego typu dzieli się na luki projektowe, implementacyjne i konfiguracyjne.

  1. Błędy popełnione podczas projektowania są najtrudniejsze do wykrycia i wyeliminowania. Są to niedokładności w algorytmach, zakładkach, niespójności w interfejsie pomiędzy różnymi modułami lub w protokołach interakcji ze sprzętem oraz wprowadzenie nieoptymalnych technologii. Eliminacja ich jest procesem bardzo pracochłonnym, m.in. dlatego, że mogą pojawić się w nieoczywistych przypadkach – np. po przekroczeniu zamierzonego natężenia ruchu lub przy łączeniu się duża ilość dodatkowy sprzęt, co komplikuje zapewnienie wymaganego poziomu bezpieczeństwa i prowadzi do pojawienia się sposobów na ominięcie zapory ogniowej.
  2. Podatności implementacyjne pojawiają się już na etapie pisania programu lub implementowania do niego algorytmów bezpieczeństwa. Jest to niewłaściwa organizacja procesu obliczeniowego, wady syntaktyczne i logiczne. Istnieje ryzyko, że usterka doprowadzi do przepełnienia bufora lub innych problemów. Wykrywanie ich zajmuje dużo czasu, a ich eliminacja wiąże się z poprawianiem niektórych fragmentów kodu maszynowego.
  3. Błędy konfiguracji sprzętu i oprogramowania są dość powszechne. Ich częstymi przyczynami są niewystarczająco wysoka jakość opracowania i brak testów poprawności działania. dodatkowe funkcje. Ta kategoria może również obejmować proste hasła i pozostawiono bez zmian konta domyślny.

Według statystyk luki są szczególnie często wykrywane w popularnych i szeroko rozpowszechnionych produktach - systemach operacyjnych dla komputerów stacjonarnych i mobilnych, przeglądarkach.

Ryzyko związane z używaniem podatnych programów

Programy zawierające największą liczbę luk są instalowane na prawie wszystkich komputerach. Ze strony cyberprzestępców istnieje bezpośredni interes w znajdowaniu takich wad i pisaniu dla nich.

Ponieważ od momentu wykrycia luki do opublikowania poprawki (łatki) upływa sporo czasu, istnieje wiele możliwości zainfekowania systemów komputerowych poprzez luki w bezpieczeństwie kodu programu. W takim przypadku wystarczy, że użytkownik tylko raz otworzy np. złośliwy plik PDF z exploitem, po czym atakujący uzyskają dostęp do danych.

W tym drugim przypadku infekcja następuje według następującego algorytmu:

  • Użytkownik otrzymuje e-mail e-mail phishingowy od wiarygodnego nadawcy.
  • Do listu dołączony jest plik z exploitem.
  • Jeśli użytkownik spróbuje otworzyć plik, komputer zostaje zainfekowany wirusem, trojanem (programem szyfrującym) lub innym złośliwym programem.
  • Cyberprzestępcy uzyskują nieautoryzowany dostęp do systemu.
  • Cenne dane są kradzione.

Badania przeprowadzone przez różne firmy (Kaspersky Lab, Positive Technologies) pokazują, że niemal każda aplikacja, w tym programy antywirusowe, zawiera luki. Dlatego prawdopodobieństwo ustalenia oprogramowanie, zawierający wady o różnym stopniu krytyczności, jest bardzo wysoki.

Aby zminimalizować ilość luk w oprogramowaniu konieczne jest zastosowanie SDL (Security Development Lifecycle, cykl życia bezpiecznego rozwoju). Technologia SDL stosowana jest w celu ograniczenia liczby błędów w aplikacjach na wszystkich etapach ich tworzenia i wsparcia. Dlatego też projektując oprogramowanie, specjaliści ds. bezpieczeństwa informacji i programiści modelują zagrożenia cybernetyczne w celu znalezienia podatności. Podczas programowania w proces włączane są automatyczne narzędzia umożliwiające natychmiastowe zgłaszanie potencjalnych usterek. Programiści starają się znacznie ograniczyć funkcjonalność dostępną dla niezaufanych użytkowników, co pomaga zmniejszyć powierzchnię ataku.

Aby zminimalizować wpływ podatności i powodowane przez nie szkody, należy przestrzegać kilku zasad:

  • Szybko instaluj wydane przez programistów poprawki (łatki) do aplikacji lub (najlepiej) włącz tryb automatycznej aktualizacji.
  • Jeśli to możliwe, nie instaluj wątpliwych programów, których jakość i wsparcie techniczne zadawać pytania.
  • Korzystaj ze specjalnych skanerów podatności lub specjalistycznych funkcji produktów antywirusowych, które pozwalają wyszukiwać błędy bezpieczeństwa i w razie potrzeby aktualizować oprogramowanie.

© 2024 ermake.ru - O naprawie komputerów PC - Portal informacyjny