Secure Development Lifecycle w chmurze w modelu public i private PaaS Aleksander P. Czarnowski AVET Information and Network Security Sp z o.o.
Cele prezentacji Problem(y) Obecne procesy SDL (Secure Development Lifecycle) nie w pełni adresują problemy związane z bezpieczeostwem aplikacji uruchamianych w chmurze Wiele procesów SDL nie jest implementowanych ze względu na złożonośd i koszt Cel prezentacji Architektura chmur typu PaaS i konsekwencja dla modelu bezpieczeostwa Jakie problemy napotkamy dostosowując proces SDL do chmur typu public / private PaaS Nowe koncepcja i projekty w zakresie SDL
Ważne aspekty Chmury typu Platform-as-a-Service (PaaS) mają własny katalog zagrożeo, różny w zależności od modelu (private / public) Katalog zagrożeo ma wpływ na proces Secure Development Lifecycle (SDL) Jak efektywne zarządzad ryzykiem dla rozwiązao typu PaaS
Popularne mity Chmura jest bezpieczniejsza dla aplikacji od tradycyjnych modeli przetwarzania Chmura jest niebezpieczna Setki wariantów powyższych teorii
Architektura PaaS: co to jest?
Nowy inicjatywa w odpowiedzi na potrzeby chmur typu PaaS LIGHTWEIGHT SECURE DEVELOPMENT LIFECYCLE
Dlaczego nowy proces SDL? Perspektywa biznesowa Kryzys = cięcie kosztów, poszukiwanie oszczędności, szybkie wytwarzanie oprogramowania w celu szybkiego wprowadzenia nowych produktów na rynek Dotychczasowe modele SDL są zbyt skomplikowane w wielu przypadkach aby je stosowad Dotychczasowe modele nie brały pod uwagę chmury jako środowiska wykonania aplikacji Nadal niski poziom kultury bezpieczeostwa informacji Perspektywa technologiczna Budowanie nowego, dedykowanego rozwiązania pod kątem potrzeb bezpieczeostwa w środowiskach PaaS Dogłębne zrozumienie nowych zagrożeo i podatności = lepsze zarządzania podatnościami i ryzykiem Brak gotowych dobrych praktyk w formie pozwalającej na natychmiastowe użycie Inne problemy ze zgodnością dla modeli public i private
Software Security Touchpoints Źródło: http://www.swsec.com/resources/touchpoints/
Popularne metodyki i ich elementy BSIMM3 (The Building Security In Maturity Model) http://bsimm.com/ CLASP (Comperhensive, Lightweight, Applicaton Security Process) https://www.owasp.org/index.php/category:owasp_clasp_project CMMI-DEV https://buildsecurityin.us-cert.gov/bsi/articles/knowledge/sdlc/326-bsi.html Microsoft SDL http://www.microsoft.com/security/sdl/default.aspx
BSIMM3
CLASP (1/5)
CLASP (2/5)
CLASP (3/5)
CLASP (4/5)
CLASP (5/5)
CMMI-DEV
MS SDL
Dlaczego (prawie) nikt nie robi tego dobrze dla chmury PROBLEMY Z MODELOWANIEM ZAGROŻEŃ
Modelowanie zagrożeo Tradycyjne podejście Przykład metodyki Microsoft Problemy Trudno dokonad dekompozycji chmury, zwłaszcza typu PaaS Wiele komponentów z różnych źródeł Nie wiemy jak zostały zintegrowane Nie wiemy jak zostały zmodyfikowane Eliminacja problemów w komponentach nie eliminuje problemów w całej chmurze Klasyfikacja STRIDE / DREAD może byd trudna do zastosowania Źródło: http://msdn.microsoft.com/enus/library/ff648644.aspx
STRIDE/DREAD STRIDE: kategoryzacja zagrożeo Spoofing identity Tampering with data Repudiation Information disclouser Denial of service Elevation of privileges DREAD: określenie ryzyka Damage potential jak duże mogą byd straty? Reproducibility jak łatwo jest przeprowadzid dany atak tak aby zakooczył się sukcesem? Exploitability ile nakładów oraz wiedzy potrzeba do przeprowadzenia ataku? Affected users w przypadku udanego ataku ilu użytkowników zostanie dotkniętych? Discoverability jak łatwo wykryd podatnośd. MS domyślnie zawsze stosuje wartośd 10.
Istotne obszary wymagające zaadresowania Platforma VM Klient chmury PaaS API VM Stos
Każdy typ wirtualizacji ma swoje dedykowane zagrożenia PLATFORMA WIRTUALIZACYJNA
Hosted vs Bare-metal Źródło: http://www.vmware.com/technical-resources/security/overview.html
Rodzaje wirtualizacji Parawirtualizacja VMWare ESX KVM Xen System-level virtualization chroot / jail / sysjail LXC Linux-VServer OpenVZ OpenSolaris Zones Emulatory QEMU
API wirtualizacyjne Pełna kontrola nad hypervisorem Kontrola nad zwirtualizowanym sprzętem i przydzielonymi zasobami Kontrola nad oprogramowaniem uruchamiany w zwirtualizowanym środowisku Czy z system typu guest można uciec? Przykład: VMWare VMI http://www.vmware.com /pdf/vmi_specs.pdf
Stos Zasoby platformy wirtualizacyjnej Zasoby maszyn wirtualnych System operacyjny i jego usługi oraz serwisy Aplikacje Połączenia sieciowe
Klient chmury Bezpieczeostwo klienta Protokół komunikacyjny Autoryzacja i uwierzytelnienie Uprawnienia użytkowników w chmurze Uprawnienia aplikacji w chmurze Uprawnienia serwisów i usług w chmurze Ścieżki zaufania pomiędzy komponentami 1. Jak jest dostarczany klient i jak aktualizowany? 2. Czy uruchomienie chmury wymaga dostępu do internetu i rejestracji na portalu? 3. Czy klient wymaga DNS? 4. Kto zarządza DNS? 5. Czy klient może byd rozszerzany (pluginy itp.)?
Typowe miejsca ataku Klient Aplikacje Protokół komunikacyjny Routing komunikatów Protokół Uprawnienia i dostępnośd Uprawnienia i dostępnośd Klient Uprawnienia i dostępnośd Podatności aplikacji i usług stosu Protokół komunikacyjny Podatności stosu Protokoły administracyjne Nadużycia API Podatności hypervisora Podatności platformy hypervisora
Co składad się będzie na projekt lsdl? lightweight SDL Wiki Opis procesu Wektory ataku Najlepsze praktyki Przykładowy projekt aplikacji Repozytorium w formacie mercurial System śledzenia błędów Środowisko continuous integration Wspierane metodyki i modele tworzenia oprogramowania Agile XP Continuous integration
Jak wykorzystad środowisko PaaS do wdrożenia procesu SDL? SDL W CHMURZE PAAS
SDL a Private PaaS Gotowa platforma wspierająca cały proces SDL Zapewnienie ciągłości i dostępności Skalowalnośd i wzrost razem z Projektami Organizacją Ściślejsza integracja procesu SDL z procesami zarządzaniem konfiguracją kodu źródłowego Szansa dla mniejszych organizacji / projektów których do tej pory nie było stad na kompleksowy projekt SDL
Przykład MS SDL Gotowe wiki Gotowe środowisko programistyczne Gotowe środowisko narzędziowe Bezpieczne środowisko testowe Bezpieczne środowisko produkcyjne
Podsumowanie Jesteśmy na początku a nie na koocu drogi Ewolucja zagrożeo i metod ataku będzie przebiegad tak jak dla klasycznych rozwiązao Adekwatne rozwiązania w zakresie tworzenia bezpiecznego oprogramowania dla chmur trzeba dopiero tworzyd
Dziękujemy za uwagę! PYTANIA?
Osoby kontaktowe AVET INS: Aleksander Czarnowski Prezes Zarządu, tel. (022) 542 82-77; e-mail: aleksander.czarnowski@avet.com.pl