Bezpieczeństwo aplikacji mobilnych

Podstawy bezpieczeństwa

Podstawowe pojęcia

  • uwierzytelnienie, autoryzacja, poufność, integralność,dostępność;
  • spojrzenie intruza, wektory ataku,
  • zasada najmniejszych przywilejów,

Dokumenty, standardy

  • OWASP:  TOP 10, TOP 10 Proactive Controls, ASVS, Testing Guide, Developers Guide
  • SDLC
  • OpenSAMM

Modelowanie zagrożeń

  • podstawowe pojęcia: zasób, zagrożenie, podatność, ryzyko
  • typowe ryzyka dla aplikacji www, mobilnych

Ćwiczenie: modelowanie zagrożeń dla własnej aplikacji mobilnej.

Aplikacje mobilne

Aplikacje mobilne – ćwiczenia praktyczne – narzędzia, podatne aplikacje:

  • rozpakowanie paczki
  • dekompilacja, analiza kodu, różne poziomy zaciemnienia kodu na przykładach
  • pliki zapisywane na urządzeniu
  • logi
  • komunikacja międzyprocesowa
  • weryfikacja poprawności działania SSL, przechwytywanie ruchu HTTPS
  • modyfikacja parametrów przesyłanych przez aplikację do serwera
  • aplikacje webview – specyficzne zagrożenia, dobre praktyki.
  • wykorzystanie przykładowej podatności w webview do ataku na telefon

 

Omówienie podatności w aplikacjach mobilnych na przykładach – m.in. podatności logiczne, błedy architektury.

Bezpieczne programowanie API aplikacji mobilnych (opcja)

  • Dostępne mechanizmy bezpieczeństwa – na poziomie kodu i konfiguracji
  • Częste błędy występujące w aplikacjach na danej platformie
  • Bezpieczeństwo w kontekście wykorzystywanych bibliotek i frameworków
  • Analiza przykładowych błędów bezpieczeństwa
  • Część warsztatowa (ćwiczenia, w trakcie omawiania rodzajów błędów)
  • Praca na kodzie źródłowym podatnej aplikacji oraz z narzędziami testującymi bezpieczeństwo.