4developers utrzymanie bezpieczenstwa

Post on 15-Apr-2017

326 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Utrzymanie bezpieczeństwa aplikacji produkcyjnych

na przykładachMateusz Olejarka

O mnie

• Starszy specjalista ds. bezpieczeństwa IT, SecuRing

• Ocena bezpieczeństwa aplikacji webowych i mobilnych

• Trener

• (Były) programista

• OWASP Polska

Sonda

• Kto już miał do czynienia z testami bezpieczeństwa wytwarzanej aplikacji?

Agenda

• Wprowadzenie

• Typy aplikacji

• Problemy

• Rozwiązania

• Q&A

Wprowadzenie

Wprowadzenie

• Życie po Go Live

• Bezpieczeństwo z perspektywy dostawcy

Typy aplikacji

Typy aplikacji

• Podział ze względu na czas pomiędzy wydaniem/wdrożeniem kolejnej wersji:• Kwartał do roku (aplikacja A)

• Dwa do czterech tygodni (aplikacja B)

• Kilka godzin do kilku dni (aplikacja C)

Typy aplikacji

• Analiza:• Jak podejść do testowania bezpieczeństwa takiej

aplikacji?

• Jakie problemy się pojawiają?

• Zakładamy, że aplikacja przeszła już jakieś testy bezpieczeństwa przed pierwszym wdrożeniem

Aplikacja A

• Okres: kwartał do roku

Aplikacja A

• Okres: kwartał do roku

• Tworzona w modelu Waterfall

Aplikacja A

• Okres: kwartał do roku

• Tworzona w modelu Waterfall

• Testujemy zmiany wchodzące w wersji

Aplikacja A

• Okres: kwartał do roku

• Tworzona w modelu Waterfall

• Testujemy zmiany wchodzące w wersji

• Problemy?

Aplikacja B

• Okres: Dwa do czterech tygodni

Aplikacja B

• Okres: Dwa do czterech tygodni

• Tworzona zwinnie

Aplikacja B

• Okres: Dwa do czterech tygodni

• Tworzona zwinnie

• Testy:• Zmian?

Aplikacja B

• Okres: Dwa do czterech tygodni

• Tworzona zwinnie

• Testy:• Zmian?

• Jak często?

Aplikacja B

• Okres: Dwa do czterech tygodni

• Tworzona zwinnie

• Testy:• Zmian?

• Jak często?

• Czy wiemy dokładnie, co się zmieniło?

Aplikacja B

• Okres: Dwa do czterech tygodni

• Tworzona zwinnie

• Testy:• Zmian?

• Jak często?

• Czy wiemy dokładnie, co się zmieniło?

• Problemy?

Aplikacja C

• Okres: kilka godzin do kilku dni

Aplikacja C

• Okres: kilka godzin do kilku dni

• Tworzona zwinnie, korzystająca z podejścia continuous delivery

Aplikacja C

• Okres: kilka godzin do kilku dni

• Tworzona zwinnie, korzystająca z podejścia continuous delivery

• Testy:• Zmian?

Aplikacja C

• Okres: kilka godzin do kilku dni

• Tworzona zwinnie, korzystająca z podejścia continuous delivery

• Testy:• Zmian?

• Których zmian?

Aplikacja C

• Okres: kilka godzin do kilku dni

• Tworzona zwinnie, korzystająca z podejścia continuous delivery

• Testy:• Zmian?

• Których zmian?

• Kiedy i jak?

Aplikacja C

• Okres: kilka godzin do kilku dni

• Tworzona zwinnie, korzystająca z podejścia continuous delivery

• Testy:• Zmian?

• Których zmian?

• Kiedy i jak?

• Problemy?

Problemy

Problemy

• Raport

• Podejście do bezpieczeństwa

• Wiedza, wymagania

• Brak koordynatora ds. bezpieczeństwa

• Ograniczenia budżetowe

Raport

• Forma raportu• Nieczytelna

• Brak copy&paste

• Nieprzekazywanie uwag twórcom raportu

• Omówienie raportu• Nie odbywa się spotkanie podsumowywujące testy

Podejście do bezpieczeństwa

• Negatywne podejście do tematu bezpieczeństwa w organizacji

• Negatywny „odbiór” raportu

• Nastawienie programistów do naprawy

Wiedza, wymagania

• Brak aktualizacji wiedzy:• Informacja o wykrytych błędach nie trafia do innych

projektów/osób

• Brak aktualizacji dobrych praktyk programistycznych/wdrożeniowych

• Brak aktualizacji wymagań

• Nieprzestrzeganie wymagań

• Brak aktualizacji zapisów w umowach

Brak koordynatora ds. bezpieczeństwa

• Nie ma osoby w organizacji:• Odpowiedzialnej za bezpieczeństwo

• Mającej czas, aby tym tematem się zająć

• Mającej odpowiednią „władzę” aby móc coś zmienić na lepsze

Ograniczenia budżetowe

• Budżet nie pozwala na takie testowanie, jakie chcielibyśmy mieć

• Pieniądze, jakie możemy na to wydać

• Czas, jaki możemy poświęcić

Rozwiązania

Rozwiązania na dziś

• Koordynator

• Wiedza

• Wymagania

• Narzędzia

• Szkolenia, konsultacje

• Zmiany procesu tworzenia oprogramowania

Koordynator

• Powołanie osoby odpowiedzialnej

• Odpowiednia moc sprawcza

• Zdefiniowanie zadań

• Pokazanie bezpieczeństwa jako priorytetu w organizacji

Wiedza

• Zdobywanie• Analiza raportu i wyciągnięcie wniosków

• Zaangażowanie różnych kompetencji• Testerzy

• Programiści

• Administratorzy

• Zbieranie, aktualizacja

• Wymiana

Wymagania

• Definiowanie i aktualizacja

• Egzekwowanie istniejących wymagań

Narzędzia

• Rodzaje:• Własne

• Skanery kodu źródłowego

• Skanery podatności aplikacji webowych

• Weryfikacja podatnych komponentów [!]

Szkolenia, konsultacje

• Najlepiej na własnych błędach

• Dopasowane do potrzeb:• Defensywne dla programistów

• Ofensywne dla testerów

• Z technologii, z jakich korzystamy

• Awareness

• Konsultacje• Tematyczne

• Optymalizacja kosztów

Zmiany procesu tworzenia oprogramowania• Ewolucja nad rewolucję

• We wszystkich obszarach

• Automatem to, co się da automatyzować

• Edukacja

Dziękuję za uwagę

mateusz.olejarka@securing.pl@molejarka

top related