DAM to akronim od angielskiego Database Activity Monitoring. Są to klasy narzędzi i technologii służące do monitorowania i analizowania aktywności w bazach danych. Zazwyczaj nie polegają na logach natywnych baz, takich jak dzienniki śledzące czy transakcyjne, ale posiadają własny mechanizm audytowania działający w czasie zbliżonym do rzeczywistego.
Rozszerzeniem systemu DAM jest system DAMP (Database Activity Monitoring and Prevention), który jak sama nazwa wskazuje, wykracza poza monitorowania i alarmowanie, i dodaje możliwość blokowania nieautoryzowanych działań.
Główne dziedziny stosowania
1. Monitorowanie uprzywilejowanych użytkowników.
Użytkownicy uprzywilejowani tacy jak administratorzy bazy (DBA), admini systemów (sysadmin), programiści, help desk czy pracownicy zewnętrzni, którzy mają dostęp do danych korporacyjnych, to źródło zagrożeń zarówno, jeśli chodzi o ataki zewnętrzne jak i wewnętrzne w organizacji. Kontrola aktywności i operacji na bazie danych taki użytkowników pozwala na identyfikowanie wszystkich nieprawidłowych działań i alarmowanie w razie złamania polityk czy ustalonej linii bazowej.
Niedozwolonymi działaniami mogą być na przykład: przeglądanie poufnych danych, tworzenie nowych kont z wysokimi uprawnieniami, dodawanie lub usuwanie tabel.
Monitorowanie uprzywilejowanych kont może więc pomóc wykryć atak hackerski na dane, gdyż w każdym zaplanowanym ataku następuje faza przecięcia i użycia konta z wysokimi uprawnieniami (patrz: Cyber Killchain).
Ponad to, audytorzy domagają się monitoringu kont uprzywilejowanych pod kątem spełnienia „Best Practices” oraz regulacji prawnych odnośnie bezpieczeństwa. Chodzi tutaj głównie o zapewnienie prywatności danych oraz data governance, czyli dbanie o to, aby krytyczne dla organizacji zasoby były modyfikowane tylko za pomocą przygotowanych wewnętrznych procedur i pod należytym nadzorem.
2. Monitorowanie aktywności aplikacji.
Głównym celem jest tutaj przeniesienie części odpowiedzialności na użytkownika końcowego i wykrywanie oszustów i innych nadużyć, które przeprowadzane są za pośrednictwem aplikacji korporacyjnych, a nie poprzez bezpośredni dostęp do baz danych.
Aplikacje biznesowe zbudowane są zazwyczaj z warstwy pośredniej, znajdującej się pomiędzy użytkownikiem końcowym a bazą danych. Powoduje to, że tożsamość użytkowników jest maskowana, wszelkie połączenia i operacje na danych przeprowadzane są w imieniu wspólnego konta usługi. System DAM ma możliwość powiązania konkretnej operacji na danych z użytkownikiem końcowym, co pomaga zidentyfikować nieautoryzowane lub podejrzane działania.
3. Ochrona przed cyberatakami.
Relacyjne bazy danych są przede wszystkim podane na atak zwany SQL Injection. Jest to rodzaj ataku, w którym wykorzystywane są złe praktyki w kodzie aplikacji tworzącym zapytania SQL. Jeśli aplikacja końcowa nie używa przygotowanej przez siebie instrukcji SQL, lecz tworzy ją na podstawie scalania łańcuchów znaków dostarczanych przez inną końcówkę, to atakujący może w prosty sposób podstawić swoje złośliwe zapytanie SQL. Dzięki temu możliwe jest uzyskanie nieautoryzowanego dostępu do bazy, usunięcie danych lub kradzież informacji.
DAM może zapobiegać takim działaniom dzięki stworzeniu linii bazowej aktywności na serwerze SQL i monitorowanie wszystkich operacji oraz alarmowanie, jeśli któreś z zapytań odbiega od przyjętej normy.
Alternatywne podejście zakłada monitorowanie pamięci bazy danych, gdzie znajduje się zarówno każde wywołane zapytanie oraz informacja, co w bazie zostało zmodyfikowane. Następnie można porównać to z wprowadzoną polityką bezpieczeństwa.
Funkcjonalności narzędzi DAM
Poniżej wypisaliśmy dodatkowe funkcjonalności, które oferują najlepsze systemy DAM:
- wykrywanie ataków wewnętrznych oraz zewnętrznych wykorzystujących znane back-door’y SQL
- blokowanie i zapobieganie atakom bez względu na wykonywane na danych operacje
- wskazywanie zagrożonych danych w czasie rzeczywistym
- automatyczne wyzwalanie backup’u
- możliwość monitorowania środowisk wirtualnych a nawet chmurowych, gdzie nie ma jasnej topologii sieci
- integracja z systemami DLP
- integracja z systemami SIEM
- integracja ze skanerami podatności
Różne podejścia do architektury
1. Interception-based.
Większość nowoczesnych systemów DAM działa w ten sposób, że jest w stanie zobaczyć całą komunikację między klientem, a serwerem bazodanowym. DAM instalowane są wtedy w miejscach, w których mogą przeglądać strumień komunikacyjny i uzyskiwać potrzebne informacje bez konieczności ingerencji w samą strukturę bazy. Samo przechwytywanie może być zrealizowane na kilka sposobów, z pamięci bazy (SGA), w sieci (przy użyciu TAP lub portu SPAN), z poziomu systemu operacyjnego.
Najprostszą metodą jest jednak wykorzystanie packet sniffing, lecz nie widzimy tutaj ruchu lokalnego oraz nie wykryjemy zaawansowanych ataków od wewnątrz. Aby przechwycić ruch lokalny niektórzy vendorzy korzystając z sond (agentów) instalowanych na serwerach bazodanowych, które mają za zadanie zebrać informacje i przekazać je do zewnętrznej jednostki przetwarzania.
2. Memory-based.
Podejście zakładające podłączenie się do chronionego obszaru pamięci baz danych i odpytywanie go w celu zbierania informacji o wykonywanych instrukcjach SQL. W najnowszych systemach DAM, dodawany jest do procesu systemu operacyjnego lekki czujnik, który kontroluje prywatne struktury danych.
Rozwiązanie to jest wygodne dla zarządzania całą infrastrukturą, ponieważ nie ma potrzeby ponownego konfigurowania sieci, otwierania portów ani martwienia się o zarządzanie poświadczeniami. Dodatkowo taki system ma wgląd we wszystkie, niskopoziomowe operacje na SQL – ruch przychodzący i wychodzący, wykonywanie lokalnie widoków, wyzwalaczy czy procedur na danych.
3. Log-based.
Niektóre systemy DAM wyodrębniają i analizują informacje z dzienników transakcyjnych na serwerach SQL. Systemy te wykorzystują fakt, że większość potrzebnych danych rejestrowana i przechowywana jest w logach i nie ma potrzeby redundancji. Niestety nie wszystkie instrukcje zapisywane są w logach natywnych. Nie ma tam na przykład instrukcji SELECT.
Systemy działające w ten sposób są czymś na pograniczu DAM i SIEM, ponieważ nie tworzą własnych danych, tylko pobierają i analizują potrzebne im informacje z natywnych logów tworzonych przez bazę danych.
Podsumowanie
DAM to bardzo potrzebna, a nawet niezbędna technologia, jeśli chodzi o ochronę danych wrażliwych przed atakami cyberprzestępców. Znaczna większość ataków wykradających rekordy z baz danych dotyczy skompromitowanych serwerów bazodanowych. Dzięki wdrożeniu DAM może zapobiec większości ataków typu SQL Injection czy nadużyciu poświadczeń.
Oprócz wprowadzenia dodatkowej warstwy ochrony, DAM pozwala na zredukowanie wbudowanego audytu bazy danych i często poprawę wydajności samej bazy.