Nie znaleziono wyników

Twoje wyszukiwanie nie dało żadnych wyników

Analiza i testy zabezpieczeń

Omówienie

Funkcjonalne i niefunkcjonalne testy zabezpieczeń kodu źródłowego oprogramowania Oracle służą weryfikacji funkcji i jakości testowanych produktów. Testy te są często dotyczą pokrywających się funkcji produktów, ale mimo to ich cele są od siebie niezależne i są realizowane przez różne zespoły. Funkcjonalne i niefunkcjonalne testy zabezpieczeń wzajemnie się uzupełniają, aby zapewnić kompleksową ochronę produktów Oracle.

Funkcjonalne testy zabezpieczeń

Funkcjonalne testy zabezpieczeń są zazwyczaj wykonywane przez zwykłe zespoły ds. zapewnienia jakości produktów w ramach zwykłego cyklu testowania produktów. Podczas tych testów sprawdza się zgodność zastosowanych zabezpieczeń ze specyfikacją funkcjonalną przygotowaną na etapie tworzenia i weryfikacji architektury.

Analiza i testy zabezpieczeń

Na tym etapie weryfikuje się zabezpieczenia produktów Oracle na wypadek różnych typów ataków. Produkty Oracle są testowane w ramach dwóch szerokich kategorii testów (analiza statyczna i dynamiczna), które zostały opisane w sekcjach poniżej. Testy te są stosowane na różnych etapach rozwoju produktów i zazwyczaj mają na celu identyfikację różnych kategorii problemów, są więc stosowane łącznie przez zespoły produktowe Oracle.

Analiza statyczna

Statyczna analiza zabezpieczeń kodu źródłowego jest pierwszą linią obrony stosowaną w cyklu rozwoju produktu. Do identyfikacji problemów występujących podczas pisania kodu Oracle stosuje narzędzia do analizy statycznej kodu Fortify Software (spółki z grupy HP) oraz różne narzędzia własne. Produkty tworzone w większości nowoczesnych języków programowania (C/C++, Java, C#) i większości nowoczesnych platform programowania (J2EE, .NET) są skanowane pod kątem potencjalnych problemów z bezpieczeństwem. Tego typu testy umożliwiają identyfikację przepełnień bufora i wycieków pamięci w kodzie C/C++, problemów z obsługą zasobów w środowiskach J2EE i .NET, niewłaściwych metod przetwarzania danych uwierzytelniających, różnego rodzaju wstrzyknięć kodu, niepoprawnej konfiguracji systemu itp. Jedną z wad tego typu analizy jest duża liczba wyników fałszywie pozytywnych, tzn. tylko niewielka liczba wyników wskazuje na rzeczywiste problemy. Analizą raportów z testów zajmuje się doświadczeni inżynierowie, którzy dobrze znają kod produktu, potrafią odróżnić wyniki fałszywe od prawdziwych i umieją ograniczać liczbę wyników fałszywie pozytywnych.

Analiza dynamiczna

Analiza dynamiczna ma zawsze miejsce na późniejszych etapach tworzenia produktu, gdy da się już go uruchomić. W różnych jednostkach Oracle może to wyglądać inaczej, analiza ta jest jednak zazwyczaj wykonywana przez zespół ds. zapewnienia jakości zabezpieczeń i może w niej uczestniczyć wiele zespołów produktowych. Analiza dynamiczna dotyczy zewnętrznych interfejsów produktów oraz API, i często wymaga zastosowania specjalistycznych narzędzi testowych. Do testów w Oracle używane są zarówno narzędzia ręczne, jak i automatyczne. Narzędzia automatyczne służą do testowania odporności interfejsów i protokołów sieciowych na błędne dane, natomiast narzędzia ręczne pozwalają uzyskać dokładniejsze wyniki testów.