Wirtualne łatanie systemów i aplikacji

Współczesne zagrożenia i ataki wykorzystują przede wszystkim luki oraz podatności każdego komponentu oprogramowania. Im mniej znana podatność, tym większe ryzyko, że zostanie ona skutecznie wykorzystana przez atakującego. Tym bardziej, że czas ryzyka, w jakim podatność jest „niezałatana” od momentu jej upublicznienia do chwili udostępnienia odpowiedniej poprawki producenta liczony jest nie w godzinach czy dniach, ale tygodniach a nawet miesiącach. Problem jest poważny, gdyż luki są naprawdę wykorzystywane do przeprowadzania ataków zanim zostaną przygotowane poprawki producentów, często nawet tego samego dnia (stąd określenie „zero day”) od chwili odkrycia podatności. W rezultacie wykorzystania podatność atakujący (bądź szkodliwy program) może między innymi:

  • Przejąć pełną kontrolę nad systemem.
  • Instalować programy.
  • Przeglądać, kasować czy modyfikować dane.
  • Tworzyć konta z uprawnieniami użytkownika.
  • Powodować odmowę świadczenia usług.
  • Powodować awarię systemów.
  • Kraść i sprzedawać wartościowe dane.

Ale nie tylko nieznane luki (zagrożenia dnia zero) stanowią poważny problem przedsiębiorstw. Bardzo często przedsiębiorstwa nie radzą sobie z wdrażaniem na czas poprawek chroniących przed podatnościami, gdyż brakuje im zasobów, czasu i środków niezbędnych na pobranie, testowanie (także koszt dedykowanego środowiska) i wdrażanie poprawek udostępnionych przez producentów, jest to tym trudniejsze, jeśli producent wypuszcza na raz wiele poprawek, z których każdą należy osobno przetestować.

Kolejnym wyzwaniem są systemy i aplikacje, które nie są już wspierane przez producentów (np. Red Hat Linux 3 od października 2010, MS Windows 2000 od lipca 2010, Oracle 10.1 od stycznia 2009) lub też były napisane na zlecenie przez programistów, którzy nie są już osiągalni (nie pracują lub są zajęci innymi ważniejszymi projektami) i nie mogą stworzyć odpowiedniej poprawki naprawiającej błędy oraz podatności. Szczególnie, że podatności odkrywane w najnowszych wersjach oprogramowania, bardzo często dotyczą także swoich niewspieranych już poprzedników.

Jak pokazuje praktyka wgrywanie poprawek czy inaczej łatanie oprogramowania jest poważnym wyzwaniem dla każdej dużej organizacji, które statystycznie poświęcają trzecią część czasu właśnie na „patchowanie”, a mimo to ¾ z nich przyznaje, iż stosowane łatanie jest nieefektywne (źródło: InformationWeek, Analytics Report: 2010 Strategy Security Survey).

Dlaczego aplikacje są podatne na ataki? Otóż po pierwsze każdy system komputerowy do działania wymaga nie jednej, ale wielu aplikacji począwszy od systemu operacyjnego przez aplikacje webowe, korporacyjne/biznesowe, bazy danych i wiele innych. Każda aplikacja składa się z wielu milionów linii kodu programistycznego. Aplikacje napisana ponad 100 milionami linii kodu nie jest czymś niezwykłym w dzisiejszych czasach. Ponieważ statystycznie każde tysiąc linii kodu zawiera od 1 do 1,5 błędów lub podatności, stąd mnożąc wszystkie liczby (liczba aplikacji, liczba linii kodu każdej aplikacji, średnia liczba luk) otrzymujemy wynik obrazujący skalę zagrożenia.

Bardzo niewiele firm jest w stanie nadążyć z łataniem systemów operacyjnych i aplikacji każdego podatnego systemu w swoim środowisku IT. Szczególnie, że systemów tych jest bardzo wiele. Przykładowe grupy oprogramowania, które mogą stanowić potencjalnie specyficzne wyzwania:

  • Aplikacje korporacyjne.
  • Starsze aplikacje webowe.
  • Niewspierane już przez producentów systemy operacyjne i aplikacje.
  • Niemożliwe do załatania aplikacje w dedykowanych, zamkniętych i niedotykalnych urządzeniach (np. bankomaty, kioski, aparatura medyczna, kasy PoS itp.) ze względu na wysokie koszty, regulacja czy umowy SLA.

Warto przeanalizować własną sytuację i poznać skalę dotyczącego nas zjawiska. Pobieżna analiza może polegać na odpowiedzi na kilka przykładowych pytań:

  • Czy stosujecie poprawki Oracle dla wszystkich serwerów produkcyjnych co kwartał?
  • Czy poprawki Microsoft są stosowane co miesiąc?
  • Co z poprawkami dla SAPa i innych systemów ERP?
  • Co ze starymi, niewspieranymi już aplikacjami i własnymi aplikacjami Webowymi?
  • Jak szybko są łatane?
  • A poza tym co robicie, by chronić swoje środowisko przed znanymi lukami, dla których nie ma jeszcze poprawek producenta?

Idąc dalej warto spojrzeć na to, jak wygląda obecnie proces „łatania”:

  • Kto jest zaangażowany w ten proces?
  • Jak przebiega ten proces? (co się dzieje, kiedy/jak często)
  • Czy i jakie narzędzia do zarządzania łatami są używane?
  • Jakie są implikacje aktualnego procesu łatania?
  • Jakie są problemy z aktualnym procesem?
  • Czy sytuacja poprawia się czy raczej pogarsza?
  • Czy serwery muszą być restartowane? Czy stanowi to problem?
Wirtualne łatanie lub osłona podatności.

Rozwiązaniem powyższych bolączek jest technologia wirtualnego łatania, umożliwiająca ochronę przed podatnościami poprzez zastosowanie filtra blokującego wykorzystanie takich luk. Oprócz oczywistej zalety wynikającej z zabezpieczenia systemu operacyjnego, bazy danych czy praktycznie dowolnej aplikacji przed nieznanymi wcześniej zagrożeniami, na które nie ma jeszcze poprawki producenta, jest także zabezpieczenie aplikacji do czasu zakończenia testów udostępnionej przez producenta poprawki, co pozwala na wyeliminowanie zagrożenia atakiem, ale i spowodowaniem przestoju czy awarii przez wgranie niesprawdzonej poprawki. Ponadto wirtualne łatanie jest niezastąpionym zabezpieczeniem dla systemów, które nie mają okienka serwisowego, które pozwala na wprowadzenie zmian, gdyż pracują w trybie ciągłym 24×7. Jednak to nie koniec zalet tej technologii, która nie wymaga wgrywania jakiegokolwiek komponentu do chronionego systemu, co wiąże się z brakiem konieczności jego restartu – zastosowanie filtra ochronnego dla podatności odbywa się w czasie rzeczywistym bez przerwania pracy zabezpieczanego systemu. Gdyby jednak taki filtr spowodował jakikolwiek problem w funkcjonowaniu chronionego systemu, wówczas możliwe jest natychmiastowe wyłączenie wirtualnej łaty, bez wpływu na działanie tego krytycznego systemu. Ponieważ wirtualna łata jest bezinwazyjna dla chronionego systemu, stąd możliwe jest zabezpieczenie systemów, objętych umowami SLA bez ich naruszania, zaś sam proces ochrony nie zakłóca stabilności chronionego systemu i nie stanowi dodatkowego potencjalnego punktu awarii.

Przykładowa lista chronionych wirtualnymi łatami systemów może obejmować m.in.:

  • Serwery bazodanowe (np. Oracle, MySQL, Microsoft SQL Server, Ingres)
  • Serwery aplikacji webowych (np. Microsoft IIS, Apache, Apache Toccat, MS Sharepoint)
  • Serwery pocztowe (np. MS Exchange Server, Merak, IBM Lotus Domino, Mdaemon)
  • Serwery FTP (np. Ipswitch, War FTP Daemon, Allied Telesis)
  • Serwery kopii zapasowych
  • Serwery zarządzania pamięciami masowymi
  • Serwery DHCP
  • Aplikacje desktopowi (np. Microsoft Office, Adobe Aprobat Leader, Apple Quicktime)
  • Klienci poczty (np. MS Outlook, IBM Lotus Notes, Ipswitch IMail Client)
  • Przeglądarki internetowe (np. MS IE, Mozilla Firefox)
  • Inne aplikacje (Samba, IBM Websphere, Rsync, OpenSSL)

Zauważyłeś, że twój proces łatania jest nieefektywny? Masz niewspierane wersje aplikacji? Chcesz podnieść bezpieczeństwo twoich krytycznych serwerów bez utraty wydajności i stabilności? Musisz spełnić wymagania dotyczące standardu PCI DSS?
Jeżeli chociaż na jedno z tych pytań odpowiedziałeś twierdząco – napisz do nas! Adres w zakładce kontakt »

Leave Yours +

No Comments

Leave a Reply

You must be logged in to post a comment.