Raport na temat bezpieczeństwa informatycznego.

Microsoft SQL Server prowadzi w rankingu bezpieczeństwa.

Opublikowano: 27 lutego 2007 | Zaktualizowano: 27 lutego 2007

data: listopad 2006
autor: Eric Ogren, analityk ds. bezpieczeństwa

*

Streszczenie: Statystyki zarejestrowanych w National Vulnerability Database (narodowej bazie danych luk) luk w zabezpieczeniach produktów bazodanowych wiodących producentów są interesujące ze względu na duży kontrast pomiędzy bazami danych Microsoft, MySQL i Oracle. Według ESG do osiągnięcia imponującej jakości produktu SQL Server przyczyniły się inwestycje Microsoft w rozwój procesów tworzenia bezpiecznego oprogramowania. Specjaliści ESG uważają, że pod względem tworzenia bezpiecznych i niezawodnych produktów bazodanowych Microsoft wyprzedza firmy Oracle i MySQL o całe lata.

Wprowadzenie

Dostępność baz danych ma krytyczne znaczenie dla kadry kierowniczej, właścicieli aplikacji i korporacyjnych zespołów informatycznych. Zawartość serwerów baz danych jest w zasadzie odzwierciedleniem życia organizacji. Brak możliwości niezawodnego uruchamiania aplikacji lub realizowania transakcji z klientami oznacza dla przedsiębiorstwa zastój w działalności. Jednym z wymiernych wskaźników ryzyka wstrzymania działalności lub ujawnienia danych poufnych jest liczba luk istniejących w infrastrukturze technicznej. Istnieje współzależność pomiędzy liczbą znanych luk a liczbą nieodkrytych luk, a także prawdopodobieństwem udanego ataku na bazę danych zawierającą luki. Jest oczywiste, że im więcej istniejących luk, tym prawdopo¬dobieństwo udanego ataku jest większe.

Mając to na uwadze, firma ESG przeanalizowała dane na temat znanych luk i narażeń (Common Vulnerabilities and Exposures — CVE), znajdujące się w narodowej bazie luk (National Vulnerability Database — NVD) w celu porównania liczby błędów w komercyjnych produktach firm Microsoft i Oracle oraz w otwartym produkcie MySQL. Oracle — firma, która zwykle nie informowała o kłopotach z bezpieczeństwem swoich produktów — w ciągu ostatnich kilku kwartałów ujawniła wiele luk w zabezpieczeniach. Microsoft poświęcał bezpieczeństwu wiele uwagi i wiele zrobił w tym zakresie — od otwartego informowania o znalezionych błędach po całkowitą zmianę procesu tworzenia oprogramowania dzięki wprowadzeniu cyklu projektowania zabezpieczeń (Security Development Lifecycle — SDL). Szczególnie interesujący może być Microsoft SQL Server 2005, ponieważ jest to pierwsze wydanie tego produktu po wdrożeniu procesu SDL.

Ilustracja 1. Powszechne luki i narażenia, 2003 – 2006
Źródło — na podstawie narodowej bazy luk, listopad 2006

Firma ESG zdecydowała się porównać liczby zgłoszeń CVE, zarejestrowanych w bazie utrzymywanej przez Narodowy Instytut Nauki i Technologii (National Institute of Science and Technology — NIST), ponieważ jest to najlepszy niezależny rejestr problemów odkrytych przez klientów, naukowców i producentów, pozbawiony nieścisłości, jakie producenci mogliby wprowadzić w liczbach poprawek lub biuletynów bezpieczeństwa.

Liczba zgłoszeń CVE wykazywała od 2003 roku tendencję rosnącą, głównie ze względu na coraz większą złożoność produktów, zwiększające się grono klientów wykorzystujących produkty w różnych zastosowaniach i aktywne działania NIST w zakresie gromadzenia informacji o błędach i przekazywania tych informacji klientom. Warto zwrócić uwagę na następujące rozbieżności w liczbie zgłoszeń CVE dotyczących różnych producentów baz danych:

Microsoft SQL Server od momentu wdrożenia programu SDL nie ma żadnych aktywnych zgłoszeń CVE w roku 2006. Sytuacja ta nie ulega zmianie mimo wzrostu liczby zainstalowanych kopii produktu.1

MySQL — produkt bazodanowy open-source — w roku 2006 (do chwili publikacji raportu) miał czternaście aktywnych zgłoszeń CVE.2

Bazy danych Oracle w roku 2006 (do chwili publikacji raportu) miały 54 aktywne zgłoszenia CVE.3

Firma ESG nie uwzględniła w raporcie produktów IBM DB2 i Sybase, ponieważ skoncentrowała swoje prace na produktach Microsoft, Oracle i open-source. Nawiasem mówiąc, w 2006 roku IBM DB24 miał cztery zgłoszenia CVE, a Sybase — dwa.5

Wyniki firmy Oracle z ostatnich dwóch lat pokazują, że firmę tę czeka jeszcze wiele pracy, zanim uda się jej zmniejszyć liczbę zgłoszeń do poziomu reprezentowanego przez konkurencyjne produkty bazodanowe firm IBM, Microsoft, MySQL i Sybase. O ile Oracle może zbierać pochwały za otwartość i skrupulatność programu informowania o lukach, inżynierowie Oracla jeszcze wiele czasu potrzebują na odnalezienie pierwotnej przyczyny występowania tak dużej liczby luk i wdrożenie procedur naprawczych. ESG stoi na stanowisku, że w tym procesie nie ma drogi na skróty.

Wyniki Microsoft są tak dobre, że prawie nie chce się w nie wierzyć i mogą służyć za wzór dla innych producentów baz danych. ESG spodziewa się, że obecne trendy dotyczące liczby zgłoszeń CVE utrzymają się w roku 2007 do czasu, aż zmiany wprowadzone w procedurach tworzenia oprogramowania Oracle i MySQL doprowadzą do powstania i wdrożenia u klientów bardziej bezpiecznego oprogramowania.

Czego inni producenci baz danych mogą nauczyć się od firmy Microsoft?

Firma ESG zauważyła, że Microsoft poczynił znaczne inwestycje w podniesienie bezpieczeństwa i integral¬ności swoich produktów. Jak widać na ilustracji pierwszej, rezultaty tych inwestycji są imponujące. ESG uważa, że inni producenci baz danych mogliby skorzystać z doświadczenia Microsoft i wyciągnąć wnioski z dobrych praktyk programowania stosowanych przez tę firmę:

Bezpieczeństwo jako integralna cecha produktu.Bezpieczeństwo nie jest cechą, która może być traktowana jako dodatek do systemów informatycznych. Musi być wymiernym celem już od pierwszego dnia prac nad produktem. Microsoft dokłada wszelkich starań, by wyłapywać błędy, zanim zostaną one włączone do projektów i kodu źródłowego — robi to poprzez obowiązkowe szkolenia z zakresu bezpieczeństwa, wzajemne recenzowanie kodu źródłowego, formalne przeglądy bezpieczeństwa i rygorystyczne analizy wykrytych błędów w celu zapobiegania ich występowaniu w przyszłości.

Minimalizowanie obszaru narażonego na atak. Aktywne interfejsy są wygodnymi celami ataków, polegających zwykle na odkryciu i wykorzystaniu słabych punktów kodu przetwarzającego parametry wywołań. Redukcja obszaru narażonego na atak sprzyja powstawaniu produktów, których zabezpieczenie jest łatwiejsze zarówno dla Microsoft, jak i klientów firmy. Chociaż pozostawienie domyślne włączonej całej funkcjonalności produktu jest wygodne, dobre praktyki bezpieczeństwa zalecają podejście odwrotne, zmuszające klienta do włączenia odpowiednich opcji. Produkty Microsoft będą sprzedawane w bezpiecznych konfiguracjach, a klient będzie musiał świadomie włączyć potrzebną mu funkcjonalność.

Złamanie zabezpieczeń produktu zanim zrobią to klienci.Stosowane techniki wychodzą daleko poza tradycyjny zakres kontroli jakości. Inżynierowie — jako osoby najlepiej znające produkt — muszą przeprowadzić proces modelowania zagrożeń, po którym następuje seria testów na danych losowych (fuzz testing). W procesie modelowania zagrożeń inżynierowie analizują projekt i wzajemne powiązania składników produktu w celu odnalezienia scenariuszy zagrożeń i ich rozwiązań. Testy na danych losowych pozwalają zautomatyzować wykrywanie luk i testowanie podatności narażonego na atak obszaru na penetrację za pomocą zniekształconych parametrów.

Podejście Microsoft polega na dbaniu o bezpieczeństwo produktów na każdym etapie procesu rozwoju oprogramowania. Poza stosowaniem narzędzi do automatyzacji wykrywania przypadków użycia zabronionych procedur i niebezpiecznych praktyk kodowania, prawdziwą wartością programu jest podnoszenie świadomości i edukacja programistów oraz zwiększenie elastyczności zespołów programistycznych w całej organizacji. Jest to ogromna inwestycja w zasoby, a uzyskanie widocznych rezultatów zajęło całe lata.

Implementacja SDL w SQL Server 2005

Microsoft zdecydował, że pierwszym produktem tworzonym zgodnie z procesem SDL będzie SQL Server. Prace rozpoczęto od wydanego w 2003 roku dodatku SP3 do SQL Server 2000 i kontynuowano je w SQL Server 2005. Z porównania liczby zgłoszeń CVE dla Microsoft i największych konkurentów firmy widać, że wyniki były imponujące. W przypadku baz danych Oracle corocznie obserwowano stały wzrost zgłaszanych błędów, natomiast w przypadku Microsoft SQL Server, w latach 2005 i 2006 nie zanotowano żadnych zgłoszeń CVE w narodowej bazie luk.

Bezpieczeństwo na etapie projektowania.W SQL Server wprowadzono wiele zmian, mających na celu zintegrowanie bezpieczeństwa z bazą danych. Tworząc produkt uwzględniono wnioski z modelowania zagrożeń — zmniejszono ryzyko nieumyślnego umożliwienia dostępu do bazy danych (teraz administratorzy muszą jawnie włączyć opcję cross-database ownership chaining) i wprowadzono szczegółowy model zabezpieczeń, dzięki czemu w dobrze napisanych aplikacjach nie trzeba umieszczać nazw użytkowników i haseł w kodzie źródłowym.

Bezpieczna konfiguracja domyślna.W ramach minimalizowania obszaru narażonego na atak, w domyślnej konfiguracji SQL Server wyłączono wiele opcji. Klienci instalują SQL Server w konfiguracji bezpiecznej i muszą świadomie włączyć potrzebne im usługi. Przykłady domyślnie wyłączonych opcji to: uruchamianie poleceń powłoki Windows, dbmail czy usługa SQL browser. Prawdopodobieństwo, że włamywacz wykorzysta niepotrzebnie włączoną usługę, zostało znacznie ograniczone.

Bezpieczne wdrażanie.Microsoft zaimplementował w SQL Server funkcje, które sprawiają, że konfigu¬rowanie tego produktu jest bardziej bezpieczne. ESG uważa, że wykorzystanie uwierzytelnionej tożsamości jako przedmiotu zarządzania prawami wykonywania akcji na bazie danych było bardzo dobrym posunięciem. Użytkownicy muszą posiadać określone uprawnienia nawet by móc odczytać metadane, których nie są właścicielami.

Wnioski

Liczby zgłoszeń CVE nie kłamią. Imponujące efekty, uzyskane przez Microsoft w SQL Server w wyniku inwestycji w rozwój procesów tworzenia bardziej bezpiecznego oprogramowania, są warte podania do publicznej wiadomości. Firma ESG przeprowadziła rozmowy z klientami, którzy zdecydowali się oprzeć swoje krytyczne dla działania firmy aplikacje na Microsoft SQL Server ze względu na bezpieczeństwo i niezawodność tego produktu. Natura ulepszeń bezpieczeństwa i niezawodności oraz praktycznie fundamentalne zmiany sposobów projektowania, tworzenia i testowania oprogramowania dają Microsoft przewagę, którą firma — dokładając odpowiednich starań — powinna łatwo utrzymać. Specjaliści ESG uważają, że pod względem tworzenia bezpiecznych i niezawodnych produktów bazodanowych Microsoft wyprzedza firmy Oracle i MySQL o całe lata.

Wszystkie znaki towarowe są własnością ich odpowiednich właścicieli. Informacje zamieszczone w tej publikacji zostały pobrane ze źródeł, które Enterprise Strategy Group (ESG) uważa za wiarygodne, ESG nie może jednak gwarantować wiarygodności tych informacji. Publikacja może zawierać opinie ESG, a opinie te mogą okresowo ulegać zmianie. Autorskie prawa własności intelektualnej do tej publikacji należą do Enterprise Strategy Group, Inc. Dokumentacja przeznaczona jest wyłącznie dla prenumeratorów oraz osób, które nabyły ją bezpośrednio od ESG. Powielanie tej publikacji w całości lub w części, za pomocą jakichkolwiek środków mechanicznych, elektronicznych lub innych, i udostępnianie jej osobom nieuprawnionym bez uprzedniej zgody Enterprise Strategy Group, Inc jest naruszeniem obowiązującego w USA prawa ochrony własności intelektualnej i może spowodować wytoczenie procesu cywilnego o odszkodowanie lub zgłoszenie popełnienia przestępstwa. Wszelkie pytania należy kierować do działu ESG Client Relations pod numer telefonu (508) 482-0188.

1http://nvd.nist.gov/, zaawansowane wyszukiwanie według produktów: Microsoft SQL Server, Microsoft SQL Server Desktop Engine, SQL Server Desktop Engine

2http://nvd.nist.gov/, zaawansowane wyszukiwanie według produktów: MaxDB, MySQL

3http://nvd.nist.gov/, zaawansowane wyszukiwanie według produktów: 9i, Oracle 9i, Oracle 9i Release 1 oraz 2, Oracle 9i Database Release 2, Oracle 9i Database Server, Oracle 9i Database Server Release 1 oraz 2, Oracle 9i Lite, Oracle 10g, Oracle 10g Database Server, Oracle Database Server Release 1 oraz 2, Oracle 10g Enterprise Manager Database Control, Oracle 10g Enterprise Manager Grid Control, Oracle 10g Reports Server

4http://nvd.nist.gov/, zaawansowane wyszukiwanie według produktów: DB2, DB2 Content Manager, DB2 Universal Database, DB2 Universal Database for AIX, HP-UX, Linux, Solaris i Windows

5http://nvd.nist.gov/, zaawansowane wyszukiwanie według produktów: Adaptive Server Anywhere, Adaptive Server Enterprise, EA Server


**
**