Na starcie 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 naprawienia 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.

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

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ą informacje o uprawnieniach wydawcy, informacje o wersji, listę plików z nazwą pliku, bezpieczny skrót pliku i rozmiar, które można wykorzystać do potwierdzenia, że ​​zainstalowana aplikacja znajduje się w systemie i że pliki binarne nie zostały modyfikowane przez stronę trzecią. 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 przesłaniu przez firmę luki do NVD dział IT może natychmiast porównać nowe luki z posiadanymi przez nią lukami.

Istnieje grupa firm współpracujących za pośrednictwem organizacji non-profit IEEE/ISTO o nazwie TagVault.org (www.tagvault.org) wraz z rządem USA nad standardowym wdrożeniem ISO 19770-2, które umożliwi ten poziom automatyzacji. W pewnym momencie te tagi odpowiadające tej implementacji będą prawdopodobnie wymagane oprogramowanie, sprzedany 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 z NVD, i że dział IT może podjąć natychmiastowe działania w celu usunięcia zagrożenia. dzięki najnowszemu wykrywaniu włamań, skanowaniu antywirusowemu i innym metodom blokowania środowiska co najmniej bardzo utrudnią naruszenie bezpieczeństwa Twojego środowiska, a jeśli/kiedy tak się stanie, nie zostanie ono wykryte przez długi okres czasu.

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 opracowywania programów w niektórych sytuacjach prowadzą do awarii programu, a w konsekwencji do zakłócenia normalnego działania programu: często skutkuje to zmianami i uszkodzeniem danych, zatrzymaniem programu lub nawet systemu. 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 związanych ze zepsutymi danymi wejściowymi mogą wystąpić, gdy dane wejściowe użytkownika zostaną przekazane do interpretera jakiegoś języka zewnętrznego (zwykle powłoki Unix lub SQL) bez wystarczającej kontroli. W takim przypadku użytkownik może określić dane wejściowe w taki sposób, że uruchomiony interpreter wykona zupełnie inne polecenie, niż było to zamierzone przez autorów podatnego programu.
  • Błędy ciągi formatujące(luka w zabezpieczeniach ciągu formatu). 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 formatu I/O printf, fprintf, scanf itp. standardowej biblioteki C. Funkcje te przyjmują jako jeden ze swoich parametrów łańcuch znaków, który określa 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 na czas 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.

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 system operacyjny(opartych na systemach Windows, Linux/Unix), oprogramowanie biurowe i aplikacyjne, oprogramowanie sprzętowe, narzędzia bezpieczeństwa 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 (BDU BI) FSTEC 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.

Korzystamy również z automatycznej metody aktualizacji naszej bazy danych o lukach w zabezpieczeniach. Opracowaliśmy robota sieciowego i analizator danych nieustrukturyzowanych, który codziennie analizuje ponad sto różnych źródeł zagranicznych i rosyjskich w wielu słowa kluczowe- grupy 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 Centralne miejsce zajmuje korporacyjna kontrola bibliotek zewnętrznych.

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 w tej samej firmie otrzymają alerty i zobaczą stan 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ący i wychodzący ruch sieciowy przy użyciu bazy reguł decyzyjnych AM Rules opracowanej przez Perspective Monitoring. 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ż tworzona jest lista komponentów polecenia systemowe lub lekki skrypt 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ą, która opuszcza kontrolowany obszar klienta, jest plik txt z listą komponenty 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 informacje o 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 System informacyjny i szybką eliminację nowo zidentyfikowanych luk” w zamówieniach FSTEC Rosji nr 17 i 21. Nasza firma jest licencjobiorcą FSTEC Rosji na działalność na zabezpieczenie techniczne poufna informacja.

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

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óżne moduły lub w protokołach interakcji ze sprzętem, wprowadzenie nieoptymalnych technologii. Eliminacja ich jest procesem bardzo pracochłonnym, m.in. dlatego, że mogą pojawić się w nieoczywistych przypadkach – np. przy przekroczeniu zamierzonego natężenia ruchu lub przy podłączeniu dużej ilości dodatkowego sprzętu, co komplikuje zapewnienie wymaganego poziom 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 wykrywane są szczególnie często w popularnych i szeroko rozpowszechnionych produktach - komputerach stacjonarnych i mobilnych systemach operacyjnych, przeglądarkach.

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

Programy, które znajdują największa liczba luki 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 spora liczba możliwości zainfekowania systemy komputerowe 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 luki występują w prawie każdej aplikacji, w tym w programach antywirusowych. 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 wykorzystanie SDL (Security Development Lifecycle, secure koło życia rozwój). 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 proces obejmuje środki automatyczne, natychmiast zgłaszając potencjalne wady. 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 automatyczny aktualizacje.
  • Jeśli to możliwe, nie instaluj wątpliwych programów, których jakość i pomoc techniczna powstają 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.