Systemy bazodanowe

Prowadząc dochodzenia związane z informatyką śledczą. Coraz częściej zetkniemy się z potrzebą zabezpieczenia systemów bazodanowych. Jest to pojęcie szerokie i o nieostrych granicach. Mam tu głównie na myśli systemy księgowe, finansowe, systemy do zarządzania projektami i dokumentami, ERP-y, CMS-y itd.

Systemy te mają zwykle podobną architekturę. Jeżeli ktoś zetknął się z architekturą LAMP (Linuks, Apache, MySQL, PHP) bez trudu spostrzeże podobieństwa.

Tego typu systemy składają się bowiem z:

  • Bazy danych zawierającej wszystkie przetwarzane informacje. Zwykle bazą danych jest MSSQL, Oracle, Postgres lub MySQL.
  • Oprogramowanie serwera, które zapewnia warstwę logiczną dla danych bazodanowych, przeprowadza autoryzację i udostępnia dane.
  • Oprogramowanie klienta, które służy do połączenia się z systemem i pracy na nim.

Kilka przykładów.

W przypadku LAMP:

  • Bazą danych jest MySQL,
  • Oprogramowaniem serwera są skrypty PHP i serwer Apache,
  • Klientem jest przeglądarka internetowa.

Dla niewtajemniczonych w tę dziedzinę wiedzy, cały nowoczesny internet, czyli większość stron które na co dzień oglądasz, oparty jest na architekturze LAMP lub na alternatywnych rozwiązaniach tego typu.

SharePoint, Document Managment System z Microsoftu:

  • Baza: MSSQL,
  • Serwer: skrypty ASP udostępniane przez serwer IIS,
  • Klient: również przeglądarka

SAP – rozbudowany system ERP służący do zarządzania przedsiębiorstwem:

  • Baza- MSSQL lub Oracle.
  • Serwer – napisany i udostępniany w całości przez SAP. Zawiera rozbudowaną warstwę logiczną.
  • Klient – typowa aplikacja Windows udostępniana przez SAP jako cześć pakietu. Rozbudowany interfejs użytkownika.

Zabezpieczając dowód na potrzeby informatyki śledczej należy zawsze mieć na uwadze sposób w jaki będzie on później przetworzony. Zwykle nie będzie sensu zabezpieczać czegoś, czego nie będziemy w stanie później przeanalizować. W przypadku systemów bazodanowych ma to szczególne znaczenie, gdyż są to systemy niestandardowe i różnorodne.

Podstawową opcją będzie zabezpieczenie samej bazy danych. Dzięki temu będziemy posiadali wszystkie informacje zawarte w systemie, na przykład cały system księgowy. Jest to dobra opcja jeżeli baza nie jest zbyt skomplikowana.  Zetkniemy się jednak  z przypadkami, takimi jak SAP kiedy baza danych posiada tysiące tabel z dziesiątkami kolumn każda. Zrozumienie struktury be oryginalnego oprogramowania będzie niezwykle pracochłonne i trudne. Zwłaszcza, że nazwy tabel i pól są w tym przypadku niezbyt pomocne.

Zaradzić możemy sobie w różny sposób:

  • Poprzez zabezpieczenie pozostałych elementów – bazy, serwera, a czasami klienta (nie ma potrzeby zabezpieczania przeglądarki oczywiście) i późniejsze odtworzenie całego środowiska. Można w tym celu użyć maszyny wirtualnej lub skompletować środowisko ręcznie. Pamiętajmy jednak o wymaganiach licencyjnych danego oprogramowania.
  • Użycie aplikacji klienckiej do zabezpieczenia dowodów – systemy księgowe będą często miały opcję eksportu danych. W wielu innych przypadkach możemy być zmuszeni do ręcznego kopiowania lub zrzutów ekranu.

Czasami, na przykład w przypadku SharePoint’a będą istniały dedykowane aplikacje do zabezpieczania dowodów, na przykład Nuix lub SharePoint Collector firmy PinPoint Labs. Jest to jednak raczej wyjątek niż reguła. W pozostałych przypadkach tylko dogłębna wiedza na temat danego systemu pomoże nam w podjęciu właściwej decyzji w sprawie zabezpieczenia.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *