dlaczego przejmować się bezpieczeństwem aplikacji (pol)

48
Bezpieczeństwo aplikacji Dlaczego się nim przejmować?

Upload: pawel-krawczyk

Post on 26-May-2015

845 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

Bezpieczeństwo aplikacji

Dlaczego się nim przejmować?

Page 2: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

Trendy rosnące

• Kradzież danych– Głośne „advanced persistent threat”

• Masowe ataki „oportunistyczne”– Przy okazji

• Ataki na systemy VoIP– Bardzo kosztowne

Page 3: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

Infekcje masowe

• Bez względu na lokalizację strony–Skanowanie, Google

• Rekordowe – po 500 tys.–2008 (MS SQL)–2011 (LizaMoon)

Page 4: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

Polska

Źródło: CERT.GOV.PL

Page 5: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

Jak to wygląda z bliska?

Page 6: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

Adresy URL charakterystyczne dla LizaMoon (2011)

Page 7: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)
Page 8: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

Tak wygląda zainfekowana strona. Czy jest tu coś podejrzanego? Nie!

Page 9: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

Kod źródłowy zainfekowanej strony zawiera odwołaniedo kodu infekującego dziurawe przeglądarki osób odwiedzającychtę stronę

Page 10: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

Celem ataków

oportunistycznychjest użytkownik

Page 11: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

Serwis jest i ofiarą

i nośnikiem ataku

Page 12: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

Szkody dla operatora strony

• Trafia na czarne listy– Google Safe Browsing, Microsoft Phishing Filter,

OpenDNS etc.

Page 13: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

Galeria ataków

Page 14: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

Recepta na wyciek danych

23 marca 2011

Page 15: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

Atak na MPiPS

Źródło: MPiPS

Page 16: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

Wyższa Szkoła Policji w Szczytnie

Sou

rce:

pra

wo.

vagl

a.pl

Page 17: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

Sąd Okręgowy w Częstochowie

Sou

rce:

pra

wo.

vagl

a.pl

Page 18: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

Centralna Komisja Egzaminacyjna

Źródło: niebezpiecznik.pl

Page 19: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

KSEON Optivum

System rekrutacji do szkół ponadgimnazjalnych. Atak SQL injection.Źródło: niebezpiecznik.pl

Page 20: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

ROEFS

Krajowy Ośrodek EFS (2010) Źródło: niebezpiecznik.pl

Page 21: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

UM Tarnowskie Góry

Podmiana strony w 2009 roku. Źródło: Dziennik Internautów

Page 22: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

UM Szczecinek

Domniemany wyciek danych z UM Szczecinek (2009). Źródło: Dziennik Internautów

Page 23: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

Wcześniej w gov.pl

• 2006 – Instytu Energii Atomowej Otwock• 2007 – NIK, PARP, Min. Sprawiedliwości• 2008 – MPiPS, liczne podstrony KPRM

Page 24: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

Systemy samorządowe

• UM Płock – czerwiec 2011– Także Komunikacja Miejska, Miejski Zespół

Obiektów Sportowych• UW Łódź – luty 2011• UM Wadowice – lipiec 2011

Page 25: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

Dywersja

• Ataki z wewnątrz• UM Wrocław

– Wrzesień 2010– Zablokowanie centrum telefonicznego– Były pracownik UM

Page 26: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

„Głębokie ukrycie”

• Pseudozabezpieczenie i powód do żartów• Raczej na pewno niezgodne z wytycznymi

GIODO• PKO BP (2010) – dane dłużników

– Sąd potwierdził brak faktycznych zabezpieczeń

• Pekao S.A. (2008) – 1500 CV• Łotewskie ministerstwo finansów (2010)

– Kod „ataku” ma trzy linijki

Page 27: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

7’000 CV

Wyciek danych z Terazpraca.pl (czerwiec 2011). Źródło: Niebezpiecznik.pl

Page 28: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

Ataki na systemy telefoniczne

• UM Biała Podlaska 2010– Prawdopodobne włamanie do centrali VoIP– 800 połączeń na płatne numery w Zimbabwe– Ok. 50 tys. zł strat

Page 29: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

Konsekwencje prawne

• GIODO – kary do 50 tys. zł– Odpowiedzialność karna i zakaz

przetwarzania danych

Page 30: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

Jak to się dzieje?

Page 31: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

Jak paść ofiarą?

• Metody gwarantowane– Proste hasła FTP, SSH...– Stare wersje Wordpress, Joomla, PHPbb– System CMS, BIP lub inna aplikacja

webowa wykonana dawno temu...

Page 32: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

Bezpieczny serwis jestprocesem

a niejednorazowym zamówieniem

Page 33: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

Metody prawdopodobne

• Pisanie własnych aplikacji– Popularna technika programistyczna

„polski agile”• „Dokumentacja? Jaka dokumentacja?”

Page 34: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

Jak to robić poprawnie?

Page 35: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

Jak bezpiecznie pisać?

• Metodyki rozwoju dojrzałości systemów bezpieczeństwa– SAMM (Software Assurance Maturity Model)– BSIMM (Building Security in Maturity Model)

• W nich jest cała reszta– SDL (Secure Development Lifecycle)– Testy penetracyjne, przeglądy kodu

Page 36: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

Systemy zamawiane

• Oddzielenie specyfikacji systemu od implementacji systemu– Zamówienie specyfikacji

• Precyzyjny opis – UML, BPMN– Ocena bezpieczeństwa specyfikacji

• Przegląd, ocena architektury– Zamówienie implementacji– Ocena bezpieczeństwa implementacji

• Testy penetracyjne, analiza kodu źródłowego, skany podatności

Page 37: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

Bezpieczeństwo specyfikacji

• Dokumentacja założeń i mechanizmów bezpieczeństwa

• Architektura aplikacji• Weryfikacja poprawności danych• Jakie testy mają być wykonane na

gotowym kodzie?

Page 38: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

Bezpieczeństwo implementacji

• Testy automatyczne (skany)– Kodu źródłowego (Static Code Analysis –

SCA)• Wysoka wykrywalność dziur, wyższy koszt,

pomija bezpieczeństwo infrastruktury– Aplikacji (skan podatności)

• Testuje całe środowisko w rzeczywistym kontekście

• Testy ręczne– Analiza logiki biznesowej, testy penetracyjne

Page 39: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

Testy systemów zamawianych

• Test produkcyjny– W trakcie pisania aplikacji – wewnętrzna

sprawa wykonawcy

• Test akceptacyjny– Część odbioru aplikacji – wykonuje trzecia

strona lub zamawiający

• Standard opisu poziomu wymagań testowych– OWASP ASVS (Application Security Verification

Standard)

Page 40: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

Co z eksploatacją?

• Czy dostawca naprawi nowo odkryte dziury?– Jak szybko? Kto za to zapłaci?

• Czy mogę sam naprawić dziury?– Czy mam kod źródłowy? Czy mam do niego prawa?

• Co z bezpieczeństwem infrastruktury?– Serwery, biblioteki programistyczne, serwery

aplikacyjne– Kto załata i jak szybko?

Umowa modelowa: OWASP Secure Software Contract Annex

Page 41: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

Hosting

Źródło: niebezpiecznik.pl

Page 42: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

Bezpieczeństwo hostingu

• SLA (Service Level Agreement)– Klauzule w umowach na dostawę usług –

telekomunikacyjnych, hostingowych itd• Typowe SLA dla bezpieczeństwa

– Kto wykonuje kopie zapasowe? Jak często?– Kto łata serwery? Jak szybko?– Kto konfiguruje zapory, IPS?– Kto analizuje alerty systemowe i sieciowe?

Patrz: SANS, „Internal SLA (Service Level Agreements) for Information Security”

Page 43: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

Koszty łatania dziur

Page 44: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

Koszty łatania...

Applied Software Measurement, Capers Jones, 1996Building Security Into The Software Life Cycle, Marco M. Morana, 2006

Na etapie rozwoju

Page 45: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

Na etapie testów...

Applied Software Measurement, Capers Jones, 1996Building Security Into The Software Life Cycle, Marco M. Morana, 2006

Test penetracyjnyAnaliza kodu

Page 46: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

I najgorsze...

Applied Software Measurement, Capers Jones, 1996Building Security Into The Software Life Cycle, Marco M. Morana, 2006

Włamanie!

Page 47: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

Literatura i źródła

• OWASP– Open Web Application Security Project– www.owasp.org

• Douglas W. Hubbard– „The Failure of Risk Management”,

Wiley, 2009

Page 48: Dlaczego przejmować się bezpieczeństwem aplikacji (pol)

Pytania?

[email protected]