SlideShare uma empresa Scribd logo
1 de 22
Bezpieczeństwo aplikacji
             Czy musi być aż tak źle?




                  Wojciech Dworakowski
                  OWASP Poland Chapter Leader
OWASP             SecuRing
2012-10-24

                 Copyright © The OWASP Foundation
                 Permission is granted to copy, distribute and/or modify this document
                 under the terms of the OWASP License.




                 The OWASP Foundation
                 http://www.owasp.org
whoami

Wojciech Dworakowski
 Od 2003 - SecuRing
  •   Zarządzanie zespołem testującym bezpieczeństwo
      aplikacji i systemów IT
 Od 2011 – OWASP Poland Chapter Leader




                                              OWASP
Open Web Application Security Project
Misja: Poprawa stanu
bezpieczeństwa aplikacji
     100+ Local Chapters
     1500+ OWASP Members
     20000+ uczestników spotkań

Projekty: dokumentacja, narzędzia
OWASP w Polsce
     Od 2007
     Regularne spotkania w Krakowie i Warszawie
  http://www.owasp.org/index.php/Poland
                                               OWASP   3
Agenda

Bezpieczeństwo aplikacji – obecny stan
   Przykłady
Jak można to zrobić lepiej?
Jak może pomóc OWASP?
Podsumowanie




                                          OWASP   4
Czy podatności w aplikacjach są faktycznym
problemem?
     Verizon 2012 Data Breach Investigations Report




                                                      OWASP
Przykład 1: SQL injection

Aplikacja o znaczeniu strategicznym
Kilkadziesiąt tysięcy użytkowników
Projekt rozwijany od kilku lat, ok. 1 mln linii kodu
Testy penetracyjne blackbox  SQL injection
Przegląd kodu  sklejanie SQL
Usunięcie źródła problemu w praktyce niemożliwe
Łatanie  Testy  Kolejne podatności  Łatanie…
Koszt: Poprawki, wizerunek, spór z klientem
       Wdrożenie poprawek, opóźnienie projektu
                                           OWASP
Przykład 2: Kontrola dostępu

Aplikacja webowa
Testy penetracyjne  Całkowity brak kontroli
dostępu do danych
Developer twierdził że kontrola dostępu jest ale
„nie włączona”
„Włączenie” zajęło kilka tygodni
Po „włączeniu” – znalezione kolejne przypadki
Koszt: Opóźnienie, kary umowne, wizerunek


                                           OWASP
Przykład 3: Aplikacja mobilna




                                                 Grafika: technabob.com
Uwierzytelnienie za pomocą PIN
Dodatkowo na urządzeniu dane w
postaci zaszyfrowanej
Klucz szyfrowania generowany na
podstawie PIN
Efekt
  Klucz można crackować off-line
  4 cyfry = 10 tys. prób = kilka minut
Koszt usunięcia: Zmiana algorytmu
(po wdrożeniu)
                                         OWASP
Nowe technologie – nowe źródła zagrożeń

AJAX
HTML5
Aplikacje mobilne
NFC
Media społecznościowe
…



                                  OWASP
Jak można to zrobić lepiej?

             Rosnące koszty usuwania
             podatności


                                                   Utrzymanie
                                       Wdrażanie

                         Wytwarzanie

             Projektowanie


     Definiowanie   Wpisanie bezpieczeństwa w cały
                    cykl rozwojowy aplikacji
                    SDLC (Secuity in Development Lifecycle)

                                                     OWASP
Od czego zacząć?

            zagrożenia
                                  Żeby planować
                                  zabezpieczenia trzeba znać:
                                  • zagrożenia
                                  • scenariusze ataków
zabezpieczenia                    • potencjalne skutki




   aktywa                skutki


                                                    OWASP
• Zidentyfikowanie
  zagrożeń                    • Wymagania
• Scenariusze                   dotyczące
  ataków                        bezpieczeństwa
• Dobranie                    • Scenariusze
  zabezpieczeń                  testowe


 Niezbędne:
 • Doświadczenie
 • Umiejętność wczucia się w rolę atakującego
                                         OWASP
Co dalej?

Przegląd projektu
Kontrola podczas implementacji
Testy bezpieczeństwa przed wdrożeniem
Szkolenie
    • programistów
    • PM-ów, architektów, testerów




                                        OWASP
Testowanie bezpieczeństwa

• Niezbędne, bo może zawieść implementacja
  założeń
• Na podstawie zidentyfikowanych zagrożeń
• Według ustalonych priorytetów
• NIE black-box !
• Pamiętaj o uwzględnieniu całego środowiska
  •   Atakowany jest cały system
      a nie jeden element
  •   Połączenia z innymi systemami, biblioteki, framework
• Niezbędne doświadczenie
                                                OWASP
Jak może pomóc OWASP?

              DETECT             PROTECT             LIFE-CYCLE
Documentation Top10              Development Guide   OpenSAMM
              ASVS               Secure Coding
              Testing Guide      Practices – Quick
                                 Reference
              Code Review
              Guide
Tools         WebScarab          ESAPI               WebGoat
              Zed Attack Proxy   AppSensor           Education
              JBroFuzz           ModSecurity Core    Project
                                 Ruleset

~140+ Projektów
https://www.owasp.org/index.php/Category:OWASP_Project


                                                          OWASP
OpenSAMM
http://www.opensamm.org
Software Assurance Maturity Model
  •Model dojrzałości dotyczący bezpieczeństwa w procesie
  wytwarzania oprogramowania
  •4 Business Functions x 3 Security Practices
  •Każda z 12 „security practices” ma zdefiniowane 3
  poziomy dojrzałości + poziom 0 jako punkt wyjściowy




                                                OWASP
                                                  Źródło: www.owasp.org
OpenSAMM
http://www.opensamm.org

 Dla każdej praktyki / poziomu dojrzałości
  (4x3x3) opisane są:
  •   Cel
  •   Czynności
  •   Pytania do audytu
  •   Rezultat wdrożenia
  •   Miara sukcesu
  •   Wpływ na koszty, niezbędny personel




                                            OWASP
OWASP Application Security Verification
    Standard (ASVS)
 Testowanie zabezpieczeń,
  które chronią przed
  typowymi zagrożeniami
 Celem oceny wg ASVS nie
   jest poszukiwanie
   podatności
 … ale sprawdzenie czy
   istnieją odpowiednie
   zabezpieczenia – zasady
   dobrej praktyki



                                        OWASP
OWASP ASVS – c.d.

Zastosowanie:
 Jako wzorzec – przy weryfikacji
   (da się zastosować jako wzorzec audytowy)
 Jako wytyczne – dla developerów
 Jako specyfikacja – w kontraktach na
   wykonanie aplikacji
Jest dostępny po polsku!
  Owasp.org -> ASVS -> Downloads -> ASVS in Polish
  http://owasp-asvs.googlecode.com/files/asvs-webapp-
  release-2009-pl.pdf

                                              OWASP
OWASP ASVS – Poziomy weryfikacji
Poziom 1 – Weryfikacja automatyczna
   1A – Dynamic Scan
   1B – Source Code Scan
Poziom 2 – Weryfikacja ręczna
   2A – Penetration Test
   2B – Code Review
Poziom 3 – Weryfikacja projektu
   L2 + wszystkie biblioteki i serwisy + weryfikacja projektu
Poziom 4 – Weryfikacja wewnętrzna
   L3 + framework, narzędzia, etc + weryfikacja możliwości
    wprowadzenia złośliwego kodu


                                                                       OWASP
Źródło: OWASP ASVS http://code.google.com/p/owasp-asvs/wiki/Approach
Podsumowanie

• Myśl o bezpieczeństwie!
  •   od planowania po wdrożenie i eksploatację systemu
• Zaplanuj bezpieczeństwo
  •   Identyfikacja zagrożeń
  •   Planowanie zabezpieczeń
• Testuj przed  Modelowanie zagrożeń
• … i po  Testy penetracyjne, przeglądy
  konfiguracji, ...
• Niezbędne - doświadczenie i metnalność
  atakującego
                                               OWASP
Zapraszamy na spotkania OWASP Poland

 Wstęp wolny
 Streaming video
 Kraków
      Wstępny termin: 2012-11-21 (środa), 18:00
      Krakowski Park Technologiczny
       Al. Jana Pawła II 41 L, III piętro
 Warszawa

https://www.owasp.org/index.php/Poland
Lista mailingowa
Facebook: OWASP Poland Local Chapter
Twitter: @owasppoland                          OWASP

Mais conteúdo relacionado

Semelhante a Bezpieczeństwo aplikacji czy musi być aż tak źle

Atmosphere 2014: Scalable and under control - open cloud architecture conside...
Atmosphere 2014: Scalable and under control - open cloud architecture conside...Atmosphere 2014: Scalable and under control - open cloud architecture conside...
Atmosphere 2014: Scalable and under control - open cloud architecture conside...PROIDEA
 
4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech Dworakowski
4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech Dworakowski4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech Dworakowski
4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech DworakowskiPROIDEA
 
“Jak ocalić swoje dane przed SQL injection?” - Krzysztof Kotowicz na KrakSpot...
“Jak ocalić swoje dane przed SQL injection?” - Krzysztof Kotowicz na KrakSpot...“Jak ocalić swoje dane przed SQL injection?” - Krzysztof Kotowicz na KrakSpot...
“Jak ocalić swoje dane przed SQL injection?” - Krzysztof Kotowicz na KrakSpot...krakspot
 
Jak ocalić swoje dane przed SQL injection?
Jak ocalić swoje dane przed SQL injection?Jak ocalić swoje dane przed SQL injection?
Jak ocalić swoje dane przed SQL injection?Krzysztof Kotowicz
 
[Warsaw 25.04.2018] - ASVS - Błażej Pabiszczak, YetiForce
[Warsaw 25.04.2018] - ASVS - Błażej Pabiszczak, YetiForce[Warsaw 25.04.2018] - ASVS - Błażej Pabiszczak, YetiForce
[Warsaw 25.04.2018] - ASVS - Błażej Pabiszczak, YetiForceOWASP
 
Modelowanie zagrożeń - Na przykladzie platności mobilnych
Modelowanie zagrożeń - Na przykladzie platności mobilnychModelowanie zagrożeń - Na przykladzie platności mobilnych
Modelowanie zagrożeń - Na przykladzie platności mobilnychSecuRing
 
OWASP Top10 2013
OWASP Top10 2013OWASP Top10 2013
OWASP Top10 2013SecuRing
 
Analiza wydajności następnej generacji - przykłady.
Analiza wydajności następnej generacji - przykłady.Analiza wydajności następnej generacji - przykłady.
Analiza wydajności następnej generacji - przykłady.Future Processing
 
2012 Premium Technology usługi bezpieczeństwa teleinformatycznego
2012 Premium Technology usługi bezpieczeństwa teleinformatycznego2012 Premium Technology usługi bezpieczeństwa teleinformatycznego
2012 Premium Technology usługi bezpieczeństwa teleinformatycznegoSzymon Dowgwillowicz-Nowicki
 
Owasp top 10 2010 final PL Beta
Owasp top 10   2010 final PL BetaOwasp top 10   2010 final PL Beta
Owasp top 10 2010 final PL BetaThink Secure
 
Owasp asvs 3.0 co nowego w bezpieczeństwie aplikacji
Owasp asvs 3.0   co nowego w bezpieczeństwie aplikacjiOwasp asvs 3.0   co nowego w bezpieczeństwie aplikacji
Owasp asvs 3.0 co nowego w bezpieczeństwie aplikacjiOWASP
 
IBM Security AppScan Introduction - Horyzont bezpieczeństwa aplikacji webowych
IBM Security AppScan Introduction - Horyzont bezpieczeństwa aplikacji webowychIBM Security AppScan Introduction - Horyzont bezpieczeństwa aplikacji webowych
IBM Security AppScan Introduction - Horyzont bezpieczeństwa aplikacji webowychSzymon Dowgwillowicz-Nowicki
 
OWASP Mobile TOP 10 na przykładzie aplikacji bankowych - Semafor 2016 - Mateu...
OWASP Mobile TOP 10 na przykładzie aplikacji bankowych - Semafor 2016 - Mateu...OWASP Mobile TOP 10 na przykładzie aplikacji bankowych - Semafor 2016 - Mateu...
OWASP Mobile TOP 10 na przykładzie aplikacji bankowych - Semafor 2016 - Mateu...Logicaltrust pl
 
Continuous security
Continuous securityContinuous security
Continuous securitykraqa
 
Tech cafe Microservices
Tech cafe MicroservicesTech cafe Microservices
Tech cafe MicroservicesKonrad Król
 
Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowychTomasz Borowski
 
ŁódQA - Michał Szybalski - Security strategy
ŁódQA - Michał Szybalski -  Security strategyŁódQA - Michał Szybalski -  Security strategy
ŁódQA - Michał Szybalski - Security strategyLodQA
 
Czy twoje zabezpieczenia są skuteczne? Błędy i podatności w rozwiązaniach zab...
Czy twoje zabezpieczenia są skuteczne? Błędy i podatności w rozwiązaniach zab...Czy twoje zabezpieczenia są skuteczne? Błędy i podatności w rozwiązaniach zab...
Czy twoje zabezpieczenia są skuteczne? Błędy i podatności w rozwiązaniach zab...SecuRing
 
Rekomendacja D - Bezpieczeństwo w rozwoju systemów IT
Rekomendacja D - Bezpieczeństwo w rozwoju systemów ITRekomendacja D - Bezpieczeństwo w rozwoju systemów IT
Rekomendacja D - Bezpieczeństwo w rozwoju systemów ITSecuRing
 
Urządzenia i usługi bezpieczeństwa IT - pełna ochrona czy... zaproszenie dla ...
Urządzenia i usługi bezpieczeństwa IT - pełna ochrona czy... zaproszenie dla ...Urządzenia i usługi bezpieczeństwa IT - pełna ochrona czy... zaproszenie dla ...
Urządzenia i usługi bezpieczeństwa IT - pełna ochrona czy... zaproszenie dla ...Logicaltrust pl
 

Semelhante a Bezpieczeństwo aplikacji czy musi być aż tak źle (20)

Atmosphere 2014: Scalable and under control - open cloud architecture conside...
Atmosphere 2014: Scalable and under control - open cloud architecture conside...Atmosphere 2014: Scalable and under control - open cloud architecture conside...
Atmosphere 2014: Scalable and under control - open cloud architecture conside...
 
4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech Dworakowski
4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech Dworakowski4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech Dworakowski
4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech Dworakowski
 
“Jak ocalić swoje dane przed SQL injection?” - Krzysztof Kotowicz na KrakSpot...
“Jak ocalić swoje dane przed SQL injection?” - Krzysztof Kotowicz na KrakSpot...“Jak ocalić swoje dane przed SQL injection?” - Krzysztof Kotowicz na KrakSpot...
“Jak ocalić swoje dane przed SQL injection?” - Krzysztof Kotowicz na KrakSpot...
 
Jak ocalić swoje dane przed SQL injection?
Jak ocalić swoje dane przed SQL injection?Jak ocalić swoje dane przed SQL injection?
Jak ocalić swoje dane przed SQL injection?
 
[Warsaw 25.04.2018] - ASVS - Błażej Pabiszczak, YetiForce
[Warsaw 25.04.2018] - ASVS - Błażej Pabiszczak, YetiForce[Warsaw 25.04.2018] - ASVS - Błażej Pabiszczak, YetiForce
[Warsaw 25.04.2018] - ASVS - Błażej Pabiszczak, YetiForce
 
Modelowanie zagrożeń - Na przykladzie platności mobilnych
Modelowanie zagrożeń - Na przykladzie platności mobilnychModelowanie zagrożeń - Na przykladzie platności mobilnych
Modelowanie zagrożeń - Na przykladzie platności mobilnych
 
OWASP Top10 2013
OWASP Top10 2013OWASP Top10 2013
OWASP Top10 2013
 
Analiza wydajności następnej generacji - przykłady.
Analiza wydajności następnej generacji - przykłady.Analiza wydajności następnej generacji - przykłady.
Analiza wydajności następnej generacji - przykłady.
 
2012 Premium Technology usługi bezpieczeństwa teleinformatycznego
2012 Premium Technology usługi bezpieczeństwa teleinformatycznego2012 Premium Technology usługi bezpieczeństwa teleinformatycznego
2012 Premium Technology usługi bezpieczeństwa teleinformatycznego
 
Owasp top 10 2010 final PL Beta
Owasp top 10   2010 final PL BetaOwasp top 10   2010 final PL Beta
Owasp top 10 2010 final PL Beta
 
Owasp asvs 3.0 co nowego w bezpieczeństwie aplikacji
Owasp asvs 3.0   co nowego w bezpieczeństwie aplikacjiOwasp asvs 3.0   co nowego w bezpieczeństwie aplikacji
Owasp asvs 3.0 co nowego w bezpieczeństwie aplikacji
 
IBM Security AppScan Introduction - Horyzont bezpieczeństwa aplikacji webowych
IBM Security AppScan Introduction - Horyzont bezpieczeństwa aplikacji webowychIBM Security AppScan Introduction - Horyzont bezpieczeństwa aplikacji webowych
IBM Security AppScan Introduction - Horyzont bezpieczeństwa aplikacji webowych
 
OWASP Mobile TOP 10 na przykładzie aplikacji bankowych - Semafor 2016 - Mateu...
OWASP Mobile TOP 10 na przykładzie aplikacji bankowych - Semafor 2016 - Mateu...OWASP Mobile TOP 10 na przykładzie aplikacji bankowych - Semafor 2016 - Mateu...
OWASP Mobile TOP 10 na przykładzie aplikacji bankowych - Semafor 2016 - Mateu...
 
Continuous security
Continuous securityContinuous security
Continuous security
 
Tech cafe Microservices
Tech cafe MicroservicesTech cafe Microservices
Tech cafe Microservices
 
Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowych
 
ŁódQA - Michał Szybalski - Security strategy
ŁódQA - Michał Szybalski -  Security strategyŁódQA - Michał Szybalski -  Security strategy
ŁódQA - Michał Szybalski - Security strategy
 
Czy twoje zabezpieczenia są skuteczne? Błędy i podatności w rozwiązaniach zab...
Czy twoje zabezpieczenia są skuteczne? Błędy i podatności w rozwiązaniach zab...Czy twoje zabezpieczenia są skuteczne? Błędy i podatności w rozwiązaniach zab...
Czy twoje zabezpieczenia są skuteczne? Błędy i podatności w rozwiązaniach zab...
 
Rekomendacja D - Bezpieczeństwo w rozwoju systemów IT
Rekomendacja D - Bezpieczeństwo w rozwoju systemów ITRekomendacja D - Bezpieczeństwo w rozwoju systemów IT
Rekomendacja D - Bezpieczeństwo w rozwoju systemów IT
 
Urządzenia i usługi bezpieczeństwa IT - pełna ochrona czy... zaproszenie dla ...
Urządzenia i usługi bezpieczeństwa IT - pełna ochrona czy... zaproszenie dla ...Urządzenia i usługi bezpieczeństwa IT - pełna ochrona czy... zaproszenie dla ...
Urządzenia i usługi bezpieczeństwa IT - pełna ochrona czy... zaproszenie dla ...
 

Mais de SecuRing

Developer in a digital crosshair, 2023 edition - 4Developers
Developer in a digital crosshair, 2023 edition - 4DevelopersDeveloper in a digital crosshair, 2023 edition - 4Developers
Developer in a digital crosshair, 2023 edition - 4DevelopersSecuRing
 
Developer in a digital crosshair, 2022 edition - Oh My H@ck!
Developer in a digital crosshair, 2022 edition - Oh My H@ck!Developer in a digital crosshair, 2022 edition - Oh My H@ck!
Developer in a digital crosshair, 2022 edition - Oh My H@ck!SecuRing
 
Developer in a digital crosshair, 2022 edition - No cON Name
Developer in a digital crosshair, 2022 edition - No cON NameDeveloper in a digital crosshair, 2022 edition - No cON Name
Developer in a digital crosshair, 2022 edition - No cON NameSecuRing
 
Is persistency on serverless even possible?!
Is persistency on serverless even possible?!Is persistency on serverless even possible?!
Is persistency on serverless even possible?!SecuRing
 
What happens on your Mac, stays on Apple’s iCloud?!
What happens on your Mac, stays on Apple’s iCloud?!What happens on your Mac, stays on Apple’s iCloud?!
What happens on your Mac, stays on Apple’s iCloud?!SecuRing
 
0-Day Up Your Sleeve - Attacking macOS Environments
0-Day Up Your Sleeve - Attacking macOS Environments0-Day Up Your Sleeve - Attacking macOS Environments
0-Day Up Your Sleeve - Attacking macOS EnvironmentsSecuRing
 
Developer in a digital crosshair, 2022 edition
Developer in a digital crosshair, 2022 editionDeveloper in a digital crosshair, 2022 edition
Developer in a digital crosshair, 2022 editionSecuRing
 
20+ Ways To Bypass Your Macos Privacy Mechanisms
20+ Ways To Bypass Your Macos Privacy Mechanisms20+ Ways To Bypass Your Macos Privacy Mechanisms
20+ Ways To Bypass Your Macos Privacy MechanismsSecuRing
 
How secure are webinar platforms?
How secure are webinar platforms?How secure are webinar platforms?
How secure are webinar platforms?SecuRing
 
20+ Ways to Bypass Your macOS Privacy Mechanisms
20+ Ways to Bypass Your macOS Privacy Mechanisms20+ Ways to Bypass Your macOS Privacy Mechanisms
20+ Ways to Bypass Your macOS Privacy MechanismsSecuRing
 
Serverless security: attack & defense
 Serverless security: attack & defense Serverless security: attack & defense
Serverless security: attack & defenseSecuRing
 
Abusing & Securing XPC in macOS apps
Abusing & Securing XPC in macOS appsAbusing & Securing XPC in macOS apps
Abusing & Securing XPC in macOS appsSecuRing
 
WebApps vs Blockchain dApps (SmartContracts): tools, vulns and standards
WebApps vs Blockchain dApps (SmartContracts): tools, vulns and standardsWebApps vs Blockchain dApps (SmartContracts): tools, vulns and standards
WebApps vs Blockchain dApps (SmartContracts): tools, vulns and standardsSecuRing
 
WebApps vs Blockchain dApps (SmartContracts): tools, vulns and standards
WebApps vs Blockchain dApps (SmartContracts): tools, vulns and standardsWebApps vs Blockchain dApps (SmartContracts): tools, vulns and standards
WebApps vs Blockchain dApps (SmartContracts): tools, vulns and standardsSecuRing
 
Let's get evil - threat modeling at scale
Let's get evil - threat modeling at scaleLet's get evil - threat modeling at scale
Let's get evil - threat modeling at scaleSecuRing
 
Attacking AWS: the full cyber kill chain
Attacking AWS: the full cyber kill chainAttacking AWS: the full cyber kill chain
Attacking AWS: the full cyber kill chainSecuRing
 
Web Apps vs Blockchain dApps (Smart Contracts): tools, vulns and standards
Web Apps vs Blockchain dApps (Smart Contracts): tools, vulns and standardsWeb Apps vs Blockchain dApps (Smart Contracts): tools, vulns and standards
Web Apps vs Blockchain dApps (Smart Contracts): tools, vulns and standardsSecuRing
 
Budowanie i hakowanie nowoczesnych aplikacji iOS
Budowanie i hakowanie nowoczesnych aplikacji iOSBudowanie i hakowanie nowoczesnych aplikacji iOS
Budowanie i hakowanie nowoczesnych aplikacji iOSSecuRing
 
We need t go deeper - Testing inception apps.
We need t go deeper - Testing inception apps.We need t go deeper - Testing inception apps.
We need t go deeper - Testing inception apps.SecuRing
 
Building & Hacking Modern iOS Apps
Building & Hacking Modern iOS AppsBuilding & Hacking Modern iOS Apps
Building & Hacking Modern iOS AppsSecuRing
 

Mais de SecuRing (20)

Developer in a digital crosshair, 2023 edition - 4Developers
Developer in a digital crosshair, 2023 edition - 4DevelopersDeveloper in a digital crosshair, 2023 edition - 4Developers
Developer in a digital crosshair, 2023 edition - 4Developers
 
Developer in a digital crosshair, 2022 edition - Oh My H@ck!
Developer in a digital crosshair, 2022 edition - Oh My H@ck!Developer in a digital crosshair, 2022 edition - Oh My H@ck!
Developer in a digital crosshair, 2022 edition - Oh My H@ck!
 
Developer in a digital crosshair, 2022 edition - No cON Name
Developer in a digital crosshair, 2022 edition - No cON NameDeveloper in a digital crosshair, 2022 edition - No cON Name
Developer in a digital crosshair, 2022 edition - No cON Name
 
Is persistency on serverless even possible?!
Is persistency on serverless even possible?!Is persistency on serverless even possible?!
Is persistency on serverless even possible?!
 
What happens on your Mac, stays on Apple’s iCloud?!
What happens on your Mac, stays on Apple’s iCloud?!What happens on your Mac, stays on Apple’s iCloud?!
What happens on your Mac, stays on Apple’s iCloud?!
 
0-Day Up Your Sleeve - Attacking macOS Environments
0-Day Up Your Sleeve - Attacking macOS Environments0-Day Up Your Sleeve - Attacking macOS Environments
0-Day Up Your Sleeve - Attacking macOS Environments
 
Developer in a digital crosshair, 2022 edition
Developer in a digital crosshair, 2022 editionDeveloper in a digital crosshair, 2022 edition
Developer in a digital crosshair, 2022 edition
 
20+ Ways To Bypass Your Macos Privacy Mechanisms
20+ Ways To Bypass Your Macos Privacy Mechanisms20+ Ways To Bypass Your Macos Privacy Mechanisms
20+ Ways To Bypass Your Macos Privacy Mechanisms
 
How secure are webinar platforms?
How secure are webinar platforms?How secure are webinar platforms?
How secure are webinar platforms?
 
20+ Ways to Bypass Your macOS Privacy Mechanisms
20+ Ways to Bypass Your macOS Privacy Mechanisms20+ Ways to Bypass Your macOS Privacy Mechanisms
20+ Ways to Bypass Your macOS Privacy Mechanisms
 
Serverless security: attack & defense
 Serverless security: attack & defense Serverless security: attack & defense
Serverless security: attack & defense
 
Abusing & Securing XPC in macOS apps
Abusing & Securing XPC in macOS appsAbusing & Securing XPC in macOS apps
Abusing & Securing XPC in macOS apps
 
WebApps vs Blockchain dApps (SmartContracts): tools, vulns and standards
WebApps vs Blockchain dApps (SmartContracts): tools, vulns and standardsWebApps vs Blockchain dApps (SmartContracts): tools, vulns and standards
WebApps vs Blockchain dApps (SmartContracts): tools, vulns and standards
 
WebApps vs Blockchain dApps (SmartContracts): tools, vulns and standards
WebApps vs Blockchain dApps (SmartContracts): tools, vulns and standardsWebApps vs Blockchain dApps (SmartContracts): tools, vulns and standards
WebApps vs Blockchain dApps (SmartContracts): tools, vulns and standards
 
Let's get evil - threat modeling at scale
Let's get evil - threat modeling at scaleLet's get evil - threat modeling at scale
Let's get evil - threat modeling at scale
 
Attacking AWS: the full cyber kill chain
Attacking AWS: the full cyber kill chainAttacking AWS: the full cyber kill chain
Attacking AWS: the full cyber kill chain
 
Web Apps vs Blockchain dApps (Smart Contracts): tools, vulns and standards
Web Apps vs Blockchain dApps (Smart Contracts): tools, vulns and standardsWeb Apps vs Blockchain dApps (Smart Contracts): tools, vulns and standards
Web Apps vs Blockchain dApps (Smart Contracts): tools, vulns and standards
 
Budowanie i hakowanie nowoczesnych aplikacji iOS
Budowanie i hakowanie nowoczesnych aplikacji iOSBudowanie i hakowanie nowoczesnych aplikacji iOS
Budowanie i hakowanie nowoczesnych aplikacji iOS
 
We need t go deeper - Testing inception apps.
We need t go deeper - Testing inception apps.We need t go deeper - Testing inception apps.
We need t go deeper - Testing inception apps.
 
Building & Hacking Modern iOS Apps
Building & Hacking Modern iOS AppsBuilding & Hacking Modern iOS Apps
Building & Hacking Modern iOS Apps
 

Bezpieczeństwo aplikacji czy musi być aż tak źle

  • 1. Bezpieczeństwo aplikacji Czy musi być aż tak źle? Wojciech Dworakowski OWASP Poland Chapter Leader OWASP SecuRing 2012-10-24 Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP Foundation http://www.owasp.org
  • 2. whoami Wojciech Dworakowski  Od 2003 - SecuRing • Zarządzanie zespołem testującym bezpieczeństwo aplikacji i systemów IT  Od 2011 – OWASP Poland Chapter Leader OWASP
  • 3. Open Web Application Security Project Misja: Poprawa stanu bezpieczeństwa aplikacji  100+ Local Chapters  1500+ OWASP Members  20000+ uczestników spotkań Projekty: dokumentacja, narzędzia OWASP w Polsce  Od 2007  Regularne spotkania w Krakowie i Warszawie http://www.owasp.org/index.php/Poland OWASP 3
  • 4. Agenda Bezpieczeństwo aplikacji – obecny stan  Przykłady Jak można to zrobić lepiej? Jak może pomóc OWASP? Podsumowanie OWASP 4
  • 5. Czy podatności w aplikacjach są faktycznym problemem? Verizon 2012 Data Breach Investigations Report OWASP
  • 6. Przykład 1: SQL injection Aplikacja o znaczeniu strategicznym Kilkadziesiąt tysięcy użytkowników Projekt rozwijany od kilku lat, ok. 1 mln linii kodu Testy penetracyjne blackbox  SQL injection Przegląd kodu  sklejanie SQL Usunięcie źródła problemu w praktyce niemożliwe Łatanie  Testy  Kolejne podatności  Łatanie… Koszt: Poprawki, wizerunek, spór z klientem Wdrożenie poprawek, opóźnienie projektu OWASP
  • 7. Przykład 2: Kontrola dostępu Aplikacja webowa Testy penetracyjne  Całkowity brak kontroli dostępu do danych Developer twierdził że kontrola dostępu jest ale „nie włączona” „Włączenie” zajęło kilka tygodni Po „włączeniu” – znalezione kolejne przypadki Koszt: Opóźnienie, kary umowne, wizerunek OWASP
  • 8. Przykład 3: Aplikacja mobilna Grafika: technabob.com Uwierzytelnienie za pomocą PIN Dodatkowo na urządzeniu dane w postaci zaszyfrowanej Klucz szyfrowania generowany na podstawie PIN Efekt Klucz można crackować off-line 4 cyfry = 10 tys. prób = kilka minut Koszt usunięcia: Zmiana algorytmu (po wdrożeniu) OWASP
  • 9. Nowe technologie – nowe źródła zagrożeń AJAX HTML5 Aplikacje mobilne NFC Media społecznościowe … OWASP
  • 10. Jak można to zrobić lepiej? Rosnące koszty usuwania podatności Utrzymanie Wdrażanie Wytwarzanie Projektowanie Definiowanie Wpisanie bezpieczeństwa w cały cykl rozwojowy aplikacji SDLC (Secuity in Development Lifecycle) OWASP
  • 11. Od czego zacząć? zagrożenia Żeby planować zabezpieczenia trzeba znać: • zagrożenia • scenariusze ataków zabezpieczenia • potencjalne skutki aktywa skutki OWASP
  • 12. • Zidentyfikowanie zagrożeń • Wymagania • Scenariusze dotyczące ataków bezpieczeństwa • Dobranie • Scenariusze zabezpieczeń testowe Niezbędne: • Doświadczenie • Umiejętność wczucia się w rolę atakującego OWASP
  • 13. Co dalej? Przegląd projektu Kontrola podczas implementacji Testy bezpieczeństwa przed wdrożeniem Szkolenie • programistów • PM-ów, architektów, testerów OWASP
  • 14. Testowanie bezpieczeństwa • Niezbędne, bo może zawieść implementacja założeń • Na podstawie zidentyfikowanych zagrożeń • Według ustalonych priorytetów • NIE black-box ! • Pamiętaj o uwzględnieniu całego środowiska • Atakowany jest cały system a nie jeden element • Połączenia z innymi systemami, biblioteki, framework • Niezbędne doświadczenie OWASP
  • 15. Jak może pomóc OWASP? DETECT PROTECT LIFE-CYCLE Documentation Top10 Development Guide OpenSAMM ASVS Secure Coding Testing Guide Practices – Quick Reference Code Review Guide Tools WebScarab ESAPI WebGoat Zed Attack Proxy AppSensor Education JBroFuzz ModSecurity Core Project Ruleset ~140+ Projektów https://www.owasp.org/index.php/Category:OWASP_Project OWASP
  • 16. OpenSAMM http://www.opensamm.org Software Assurance Maturity Model •Model dojrzałości dotyczący bezpieczeństwa w procesie wytwarzania oprogramowania •4 Business Functions x 3 Security Practices •Każda z 12 „security practices” ma zdefiniowane 3 poziomy dojrzałości + poziom 0 jako punkt wyjściowy OWASP Źródło: www.owasp.org
  • 17. OpenSAMM http://www.opensamm.org  Dla każdej praktyki / poziomu dojrzałości (4x3x3) opisane są: • Cel • Czynności • Pytania do audytu • Rezultat wdrożenia • Miara sukcesu • Wpływ na koszty, niezbędny personel OWASP
  • 18. OWASP Application Security Verification Standard (ASVS)  Testowanie zabezpieczeń, które chronią przed typowymi zagrożeniami  Celem oceny wg ASVS nie jest poszukiwanie podatności  … ale sprawdzenie czy istnieją odpowiednie zabezpieczenia – zasady dobrej praktyki OWASP
  • 19. OWASP ASVS – c.d. Zastosowanie:  Jako wzorzec – przy weryfikacji (da się zastosować jako wzorzec audytowy)  Jako wytyczne – dla developerów  Jako specyfikacja – w kontraktach na wykonanie aplikacji Jest dostępny po polsku! Owasp.org -> ASVS -> Downloads -> ASVS in Polish http://owasp-asvs.googlecode.com/files/asvs-webapp- release-2009-pl.pdf OWASP
  • 20. OWASP ASVS – Poziomy weryfikacji Poziom 1 – Weryfikacja automatyczna  1A – Dynamic Scan  1B – Source Code Scan Poziom 2 – Weryfikacja ręczna  2A – Penetration Test  2B – Code Review Poziom 3 – Weryfikacja projektu  L2 + wszystkie biblioteki i serwisy + weryfikacja projektu Poziom 4 – Weryfikacja wewnętrzna  L3 + framework, narzędzia, etc + weryfikacja możliwości wprowadzenia złośliwego kodu OWASP Źródło: OWASP ASVS http://code.google.com/p/owasp-asvs/wiki/Approach
  • 21. Podsumowanie • Myśl o bezpieczeństwie! • od planowania po wdrożenie i eksploatację systemu • Zaplanuj bezpieczeństwo • Identyfikacja zagrożeń • Planowanie zabezpieczeń • Testuj przed  Modelowanie zagrożeń • … i po  Testy penetracyjne, przeglądy konfiguracji, ... • Niezbędne - doświadczenie i metnalność atakującego OWASP
  • 22. Zapraszamy na spotkania OWASP Poland  Wstęp wolny  Streaming video  Kraków  Wstępny termin: 2012-11-21 (środa), 18:00  Krakowski Park Technologiczny Al. Jana Pawła II 41 L, III piętro  Warszawa https://www.owasp.org/index.php/Poland Lista mailingowa Facebook: OWASP Poland Local Chapter Twitter: @owasppoland OWASP