43
Utrzymanie bezpieczeństwa aplikacji produkcyjnych na przykładach Mateusz Olejarka

4developers utrzymanie bezpieczenstwa

Embed Size (px)

Citation preview

Page 1: 4developers utrzymanie bezpieczenstwa

Utrzymanie bezpieczeństwa aplikacji produkcyjnych

na przykładachMateusz Olejarka

Page 2: 4developers utrzymanie bezpieczenstwa

O mnie

• Starszy specjalista ds. bezpieczeństwa IT, SecuRing

• Ocena bezpieczeństwa aplikacji webowych i mobilnych

• Trener

• (Były) programista

• OWASP Polska

Page 3: 4developers utrzymanie bezpieczenstwa

Sonda

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

Page 4: 4developers utrzymanie bezpieczenstwa

Agenda

• Wprowadzenie

• Typy aplikacji

• Problemy

• Rozwiązania

• Q&A

Page 5: 4developers utrzymanie bezpieczenstwa

Wprowadzenie

Page 6: 4developers utrzymanie bezpieczenstwa

Wprowadzenie

• Życie po Go Live

• Bezpieczeństwo z perspektywy dostawcy

Page 7: 4developers utrzymanie bezpieczenstwa

Typy aplikacji

Page 8: 4developers utrzymanie bezpieczenstwa

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)

Page 9: 4developers utrzymanie bezpieczenstwa

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

Page 10: 4developers utrzymanie bezpieczenstwa

Aplikacja A

• Okres: kwartał do roku

Page 11: 4developers utrzymanie bezpieczenstwa

Aplikacja A

• Okres: kwartał do roku

• Tworzona w modelu Waterfall

Page 12: 4developers utrzymanie bezpieczenstwa

Aplikacja A

• Okres: kwartał do roku

• Tworzona w modelu Waterfall

• Testujemy zmiany wchodzące w wersji

Page 13: 4developers utrzymanie bezpieczenstwa

Aplikacja A

• Okres: kwartał do roku

• Tworzona w modelu Waterfall

• Testujemy zmiany wchodzące w wersji

• Problemy?

Page 14: 4developers utrzymanie bezpieczenstwa

Aplikacja B

• Okres: Dwa do czterech tygodni

Page 15: 4developers utrzymanie bezpieczenstwa

Aplikacja B

• Okres: Dwa do czterech tygodni

• Tworzona zwinnie

Page 16: 4developers utrzymanie bezpieczenstwa

Aplikacja B

• Okres: Dwa do czterech tygodni

• Tworzona zwinnie

• Testy:• Zmian?

Page 17: 4developers utrzymanie bezpieczenstwa

Aplikacja B

• Okres: Dwa do czterech tygodni

• Tworzona zwinnie

• Testy:• Zmian?

• Jak często?

Page 18: 4developers utrzymanie bezpieczenstwa

Aplikacja B

• Okres: Dwa do czterech tygodni

• Tworzona zwinnie

• Testy:• Zmian?

• Jak często?

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

Page 19: 4developers utrzymanie bezpieczenstwa

Aplikacja B

• Okres: Dwa do czterech tygodni

• Tworzona zwinnie

• Testy:• Zmian?

• Jak często?

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

• Problemy?

Page 20: 4developers utrzymanie bezpieczenstwa

Aplikacja C

• Okres: kilka godzin do kilku dni

Page 21: 4developers utrzymanie bezpieczenstwa

Aplikacja C

• Okres: kilka godzin do kilku dni

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

Page 22: 4developers utrzymanie bezpieczenstwa

Aplikacja C

• Okres: kilka godzin do kilku dni

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

• Testy:• Zmian?

Page 23: 4developers utrzymanie bezpieczenstwa

Aplikacja C

• Okres: kilka godzin do kilku dni

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

• Testy:• Zmian?

• Których zmian?

Page 24: 4developers utrzymanie bezpieczenstwa

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?

Page 25: 4developers utrzymanie bezpieczenstwa

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?

Page 26: 4developers utrzymanie bezpieczenstwa

Problemy

Page 27: 4developers utrzymanie bezpieczenstwa

Problemy

• Raport

• Podejście do bezpieczeństwa

• Wiedza, wymagania

• Brak koordynatora ds. bezpieczeństwa

• Ograniczenia budżetowe

Page 28: 4developers utrzymanie bezpieczenstwa

Raport

• Forma raportu• Nieczytelna

• Brak copy&paste

• Nieprzekazywanie uwag twórcom raportu

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

Page 29: 4developers utrzymanie bezpieczenstwa

Podejście do bezpieczeństwa

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

• Negatywny „odbiór” raportu

• Nastawienie programistów do naprawy

Page 30: 4developers utrzymanie bezpieczenstwa

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

Page 31: 4developers utrzymanie bezpieczenstwa

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

Page 32: 4developers utrzymanie bezpieczenstwa

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ć

Page 33: 4developers utrzymanie bezpieczenstwa

Rozwiązania

Page 34: 4developers utrzymanie bezpieczenstwa
Page 35: 4developers utrzymanie bezpieczenstwa

Rozwiązania na dziś

• Koordynator

• Wiedza

• Wymagania

• Narzędzia

• Szkolenia, konsultacje

• Zmiany procesu tworzenia oprogramowania

Page 36: 4developers utrzymanie bezpieczenstwa

Koordynator

• Powołanie osoby odpowiedzialnej

• Odpowiednia moc sprawcza

• Zdefiniowanie zadań

• Pokazanie bezpieczeństwa jako priorytetu w organizacji

Page 37: 4developers utrzymanie bezpieczenstwa

Wiedza

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

• Zaangażowanie różnych kompetencji• Testerzy

• Programiści

• Administratorzy

• Zbieranie, aktualizacja

• Wymiana

Page 38: 4developers utrzymanie bezpieczenstwa

Wymagania

• Definiowanie i aktualizacja

• Egzekwowanie istniejących wymagań

Page 39: 4developers utrzymanie bezpieczenstwa

Narzędzia

• Rodzaje:• Własne

• Skanery kodu źródłowego

• Skanery podatności aplikacji webowych

• Weryfikacja podatnych komponentów [!]

Page 40: 4developers utrzymanie bezpieczenstwa

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

Page 41: 4developers utrzymanie bezpieczenstwa

Zmiany procesu tworzenia oprogramowania• Ewolucja nad rewolucję

• We wszystkich obszarach

• Automatem to, co się da automatyzować

• Edukacja

Page 42: 4developers utrzymanie bezpieczenstwa