… a chtělo svoje útoky zpět. Útok Cross-Site Scripting (XSS) byl poprvé popsán v roce 1999 a od té doby je tu stále s námi. Proč je tak nebezpečný a jak se mu bránit, když to vývojáři evidentně nezvládají?
Každý rok se objeví několik desítek nových typů útoků a hackovacích technik na webové aplikace. V loňském roce jich bylo popsáno 31, pojďme si některé nové i starší útoky představit.
Víceúrovňová obrana vysvětlená na Cross-Site ScriptinguMichal Špaček
Jak se pomocí více úrovní obrany bránit proti notoricky známému útoku Cross-Site Scripting (XSS). Jaké vrstvy zabezpečení existují a kdy se používají. O vlastnostech prohlížečů a Content Security Policy (CSP).
Útoků na webové aplikace existují desítky. Představíme si tři základní, ukážeme si, jak takový útok provést a jak webovou aplikaci proti danému útoku zabezpečit. Na závěr si ukážeme, jak bezpečně ukládat uživatelská hesla.
Jak zlepšit zabezpečení čtvrtiny celého webuMichal Špaček
WordPress prý používá 27 % webu. Na následujících slajdech bych chtěl naznačit, co bychom ve WordPressu mohli zlepšit z pohledu bezpečnosti,protože když to uděláme, tak se zvýší zabezpečení poměrně hodně webů. Já vím, ne všichni aktualizují, ale o tom někdy jindy.
Bezpečnostní útoky na webové aplikace, Čtvrtkon 5Michal Špaček
Útoků na webové aplikace existují desítky. Představíme si tři základní, ukážeme si, jak takový útok provést a jak webovou aplikaci proti danému útoku zabezpečit. Na závěr si ukážeme, jak bezpečně ukládat uživatelská hesla a pár špeků, kterým byste se měli obloukem vyhnout.
Každý rok se objeví několik desítek nových typů útoků a hackovacích technik na webové aplikace. V loňském roce jich bylo popsáno 31, pojďme si některé nové i starší útoky představit.
Víceúrovňová obrana vysvětlená na Cross-Site ScriptinguMichal Špaček
Jak se pomocí více úrovní obrany bránit proti notoricky známému útoku Cross-Site Scripting (XSS). Jaké vrstvy zabezpečení existují a kdy se používají. O vlastnostech prohlížečů a Content Security Policy (CSP).
Útoků na webové aplikace existují desítky. Představíme si tři základní, ukážeme si, jak takový útok provést a jak webovou aplikaci proti danému útoku zabezpečit. Na závěr si ukážeme, jak bezpečně ukládat uživatelská hesla.
Jak zlepšit zabezpečení čtvrtiny celého webuMichal Špaček
WordPress prý používá 27 % webu. Na následujících slajdech bych chtěl naznačit, co bychom ve WordPressu mohli zlepšit z pohledu bezpečnosti,protože když to uděláme, tak se zvýší zabezpečení poměrně hodně webů. Já vím, ne všichni aktualizují, ale o tom někdy jindy.
Bezpečnostní útoky na webové aplikace, Čtvrtkon 5Michal Špaček
Útoků na webové aplikace existují desítky. Představíme si tři základní, ukážeme si, jak takový útok provést a jak webovou aplikaci proti danému útoku zabezpečit. Na závěr si ukážeme, jak bezpečně ukládat uživatelská hesla a pár špeků, kterým byste se měli obloukem vyhnout.
Securitas, res publica.
V posledních pár letech se s bezpečnostními incidenty roztrhl pytel. Tady unikl seznam uživatelů, tady i jejich hesla, tady jen jejich objednávky. V této přednášce spojíme moje dvě oblíbená rčení a to, že každý web je dostatečně dobrý na hacknutí a že opakování je matkou moudrosti. Zopakujeme si, koho už u nás hacknuli a poněvadž by to byla nekonečně dlouhá přednáška, tak se raději zaměříme jen na zveřejněné případy.
Bezpečnost, věc veřejná.
HTTP Strict Transport Security (HSTS), zajistí zabezpečený „převoz“ informací bez možnosti odstranění HTTPS (SSL Strip). HSTS je HTTP hlavička, kterou posílá server. Browser poté bude po X sekund interně přesměrovávat http:// na https://.
Ukládáš hesla do databáze jen tak, v čitelné podobě? Nebo používáš MD5? Nebo snad SHA-1? Vsadím se, že nevíš, co je to salt. Taky tajně doufám, že neposíláš hesla e-mailem. Jednoho krásného dne se někde na webu objeví obsah databáze tvojí webové aplikace a její uživatelé nebudou mít radost. Nevystavuj je zbytečnému nebezpečí a raději si rezervuj místo v první řadě a já ti ukážu, jak se se svým webem nedostat do hlavního zpravodajství TV Nova.
Zajímá vás správné ukládání hesel? Přijďte si o tom popovídat na školení Bezpečnost PHP aplikací: http://www.michalspacek.cz/skoleni/bezpecnost-php-aplikaci
Základy webové bezpečnosti pro PR a marketingMichal Špaček
Na dotazy ohledně ukládání hesel raději odpovídejte až zhlédnutí této přednášky. Proč je důležité správné ukládání hesel a co se pod tím vlastně skrývá? Nebojte se, do zbytečných technických detailů zabíhat nebudeme. Podíváme se také na šifrovaný přenos přihlašovacích údajů, bezpečnostní otázky a na příkladech si ukážeme špatné odpovědi na různé zapeklité otázky ohledně zabezpečení některých webů. Po této přednášce byste měli vědět, jak na sociálních sítích správně odpovídat nejen na moje dotazy.
Víte, že nevíte, že já vím, že nevíte? (WebTop100 2014)Michal Špaček
Víte, že nevíte, že já vím, že nevíte?
Po přednášce už budete vědět. Ukážu vám pár chyb, které možná již znáte, jen netušíte, že kvůli nim zrovna váš web opouští data vaše nebo vašich uživatelů. A že budete bezpečnost webu řešit až se něco stane a že se ještě nic nestalo? Jasně, tak hlavně přijďte :-)
Jak jsme zlepšili zabezpečení Slevomatu.
Chceš zlepšit zabezpečení webu a nevíš kde začít a kdy skončit? Ukážu ti, co jsme udělali na Slevomatu, co všechno jsme museli vyřešit, čemu jsme se divili a co plánujeme. Třeba tě to trochu taky nakopne.
Jako odborníci v IT už asi víte, že máte používat nějaký password manager, že? Ale jaký a jaké jsou rozdíly mezi nimi? A v čem se liší 1Password od LastPassu, tedy kromě ceny?
Pár praktických ukázek, ve kterých ukážu, proč se věnovat zabezpečení e-shopů a co se stane, když se na to vykašlete. A že když to budete řešit, až se když se něco bude dít, tak už může být pozdě.
Jak vytvářet hesla, co je to password manager a proč ho nutně potřebujete.
Zapomínáte hesla? Já taky ne. Používáte heslo pro přístup k vašemu emailu i pro přístup k jiným službám? Pokud ano, tak to není moc dobrý nápad. Prozradím vám, jak to dělat lépe.
Tato přednáška byla doplněna a nahrazena novější přednáškou "Hlava není na hesla", prohlédněte si raději tu. Najdete ji na https://www.michalspacek.cz/prednasky/hlava-neni-na-hesla-barcampjc
Odkazy z článku jsou také na http://www.michalspacek.cz/prednasky/zapomente-vase-hesla-new-media-inspiration
Přednáška s podtitulkem Jak vytvářet, ukládat, používat hesla, jaké nástroje k tomu používat a proč proboha.
Používáte hesla? Kolik jich máte? Asi dost, co. Znáte nějaký program pro správu a pamatování hesel nebo snad používáte jedno heslo na více místech? Používáte heslo pro přístup k vašemu emailu i pro přístup k jiným službám? Šmarjá, opravdu? Když náhodou takové službě unikne databáze emailů a hesel, včetně toho vašeho, tak pak případný zlý hoch může získat přístup i k dalším službám, protože do vaší emailové schránky vám chodí např. zapomenutá hesla nebo odkazy na nastavení hesel nových. Pokud k tomu tedy dojde, tak vás může zachránit už jen dvoufaktorová autentizace, víte, co to je? To je otázek, že… ale nebojte, mám i odpovědi.
Lehce osvětová přednáška o tom, proč by HTTPS mělo být úplně všude, nejen na přihlašovacím formuláři. A že šifrování není jenom o HTTPS. Jako obvykle si něco i ukážeme.
WordPress šablony a rychlost načítání (WordCamp Praha 2017)Martin Michálek
Jak si nejprodávanější WordPress šablony stojí s rychlostí frontendu? Zjistil jsem, že to moc testovat nejde a tak kupujete zajíce v pytli. V přednášce tedy dostanete seznam nejčastějších problémů a stručný návod k jejich odstranění.
Fantom Opery, "VPN" a Secure Proxy v OpeřeMichal Špaček
Jak jsem pomocí prohlížeče přišel na to, že Opera VPN není VPN aneb co všechno na sebe Chrome prozradí v chrome://net-internals/ a jak to můžete použít pro ladění nebo zkoumání různých udělátek a extenzí.
Securitas, res publica.
V posledních pár letech se s bezpečnostními incidenty roztrhl pytel. Tady unikl seznam uživatelů, tady i jejich hesla, tady jen jejich objednávky. V této přednášce spojíme moje dvě oblíbená rčení a to, že každý web je dostatečně dobrý na hacknutí a že opakování je matkou moudrosti. Zopakujeme si, koho už u nás hacknuli a poněvadž by to byla nekonečně dlouhá přednáška, tak se raději zaměříme jen na zveřejněné případy.
Bezpečnost, věc veřejná.
HTTP Strict Transport Security (HSTS), zajistí zabezpečený „převoz“ informací bez možnosti odstranění HTTPS (SSL Strip). HSTS je HTTP hlavička, kterou posílá server. Browser poté bude po X sekund interně přesměrovávat http:// na https://.
Ukládáš hesla do databáze jen tak, v čitelné podobě? Nebo používáš MD5? Nebo snad SHA-1? Vsadím se, že nevíš, co je to salt. Taky tajně doufám, že neposíláš hesla e-mailem. Jednoho krásného dne se někde na webu objeví obsah databáze tvojí webové aplikace a její uživatelé nebudou mít radost. Nevystavuj je zbytečnému nebezpečí a raději si rezervuj místo v první řadě a já ti ukážu, jak se se svým webem nedostat do hlavního zpravodajství TV Nova.
Zajímá vás správné ukládání hesel? Přijďte si o tom popovídat na školení Bezpečnost PHP aplikací: http://www.michalspacek.cz/skoleni/bezpecnost-php-aplikaci
Základy webové bezpečnosti pro PR a marketingMichal Špaček
Na dotazy ohledně ukládání hesel raději odpovídejte až zhlédnutí této přednášky. Proč je důležité správné ukládání hesel a co se pod tím vlastně skrývá? Nebojte se, do zbytečných technických detailů zabíhat nebudeme. Podíváme se také na šifrovaný přenos přihlašovacích údajů, bezpečnostní otázky a na příkladech si ukážeme špatné odpovědi na různé zapeklité otázky ohledně zabezpečení některých webů. Po této přednášce byste měli vědět, jak na sociálních sítích správně odpovídat nejen na moje dotazy.
Víte, že nevíte, že já vím, že nevíte? (WebTop100 2014)Michal Špaček
Víte, že nevíte, že já vím, že nevíte?
Po přednášce už budete vědět. Ukážu vám pár chyb, které možná již znáte, jen netušíte, že kvůli nim zrovna váš web opouští data vaše nebo vašich uživatelů. A že budete bezpečnost webu řešit až se něco stane a že se ještě nic nestalo? Jasně, tak hlavně přijďte :-)
Jak jsme zlepšili zabezpečení Slevomatu.
Chceš zlepšit zabezpečení webu a nevíš kde začít a kdy skončit? Ukážu ti, co jsme udělali na Slevomatu, co všechno jsme museli vyřešit, čemu jsme se divili a co plánujeme. Třeba tě to trochu taky nakopne.
Jako odborníci v IT už asi víte, že máte používat nějaký password manager, že? Ale jaký a jaké jsou rozdíly mezi nimi? A v čem se liší 1Password od LastPassu, tedy kromě ceny?
Pár praktických ukázek, ve kterých ukážu, proč se věnovat zabezpečení e-shopů a co se stane, když se na to vykašlete. A že když to budete řešit, až se když se něco bude dít, tak už může být pozdě.
Jak vytvářet hesla, co je to password manager a proč ho nutně potřebujete.
Zapomínáte hesla? Já taky ne. Používáte heslo pro přístup k vašemu emailu i pro přístup k jiným službám? Pokud ano, tak to není moc dobrý nápad. Prozradím vám, jak to dělat lépe.
Tato přednáška byla doplněna a nahrazena novější přednáškou "Hlava není na hesla", prohlédněte si raději tu. Najdete ji na https://www.michalspacek.cz/prednasky/hlava-neni-na-hesla-barcampjc
Odkazy z článku jsou také na http://www.michalspacek.cz/prednasky/zapomente-vase-hesla-new-media-inspiration
Přednáška s podtitulkem Jak vytvářet, ukládat, používat hesla, jaké nástroje k tomu používat a proč proboha.
Používáte hesla? Kolik jich máte? Asi dost, co. Znáte nějaký program pro správu a pamatování hesel nebo snad používáte jedno heslo na více místech? Používáte heslo pro přístup k vašemu emailu i pro přístup k jiným službám? Šmarjá, opravdu? Když náhodou takové službě unikne databáze emailů a hesel, včetně toho vašeho, tak pak případný zlý hoch může získat přístup i k dalším službám, protože do vaší emailové schránky vám chodí např. zapomenutá hesla nebo odkazy na nastavení hesel nových. Pokud k tomu tedy dojde, tak vás může zachránit už jen dvoufaktorová autentizace, víte, co to je? To je otázek, že… ale nebojte, mám i odpovědi.
Lehce osvětová přednáška o tom, proč by HTTPS mělo být úplně všude, nejen na přihlašovacím formuláři. A že šifrování není jenom o HTTPS. Jako obvykle si něco i ukážeme.
WordPress šablony a rychlost načítání (WordCamp Praha 2017)Martin Michálek
Jak si nejprodávanější WordPress šablony stojí s rychlostí frontendu? Zjistil jsem, že to moc testovat nejde a tak kupujete zajíce v pytli. V přednášce tedy dostanete seznam nejčastějších problémů a stručný návod k jejich odstranění.
Fantom Opery, "VPN" a Secure Proxy v OpeřeMichal Špaček
Jak jsem pomocí prohlížeče přišel na to, že Opera VPN není VPN aneb co všechno na sebe Chrome prozradí v chrome://net-internals/ a jak to můžete použít pro ladění nebo zkoumání různých udělátek a extenzí.
Would you voluntarily share how your web app stores passwords? Some companies indeed do share, for example Facebook and LastPass to name just a few. Some share involuntarily. Some don't share at all because they feel that it will make them more vulnerable. Here's why you should do that and how.
Operations security (OPSEC) is a term originating in U.S. military jargon. In IT, it says what to do to protect your servers, developers, information, and other resources. Targeting developers, new trend in computer security, is becoming increasingly common because they usually have access to production servers and other critical infrastructure.
HTTP Strict Transport Security (HSTS), English versionMichal Špaček
HTTP Strict Transport Security (HSTS) provides secure transport of data, by removing the possibility of HTTPS stripping. HSTS is an HTTP header issued by the server. After receiving such header, the browser will perform internal redirects from http:// to https:// for given amount of seconds.
I forgot my password – what a secure password reset needs to have and whyMichal Špaček
Users often forget their passwords, so applications often must have a password reset mechanism. There are several options for how to do it; some of them are good, most of them not so good. Generate a password and send it in an email? No. Security questions? No way. Reset passwords via a phone call? Rather not. This talk presents some really creative examples of botched password reset implementations, as well as a proven method for resetting passwords securely.
From unsalted SHA-1 to bcrypt, from generated passwords sent in e-mails to just links and other stories of securing user passwords at your regular e-commerce site from web developer's point of view.
Video of the talk available at http://www.michalspacek.cz/prednasky/the-problem-with-the-real-world-passwords
Bezpečnost webových aplikací Web Inkognito VŠE 05/2013
Minulé století volalo (Cross-Site Scripting + BeEF + CSP demo)
1. https://www.flickr.com/photos/vissago/3789250335/
MINULÉ STOLETÍ VOLALOMINULÉ STOLETÍ VOLALOMichal ŠpačekMichal Špaček www.michalspacek.czwww.michalspacek.cz @spazef0rze@spazef0rze
Přednáška o jednom útoku z minulého století, ve které vám ukážu, k čemu je dobrý
a jak se mu efektivně v roce 2016 bránit. Původní slajdy tyto poznámky neobsahují.
2. Na začátek jeden příklad. Snapchat posílá fotky a videa, které příjemci po
nastaveném čase zmizí. V pátek 26. února 2016 ze mzdového oddělení
Snapchatu zmizela data o platech některých zaměstnanců. Zaměstnanec toho
oddělení totiž obdržel e-mail, který vypadal, jakoby ho odeslal šéf Snapchatu. V té
zprávě falešný šéf chtěl, aby mu z oddělení data poslali. Tak mu je prostě poslali,
šéf je šéf. Ten někdo zneužil toho, že mzdové oddělení svému šéfovi věří.
3. XSS
Cross-Site Scripting
David Ross, Microsoft, 1999
Útok XSS, o kterém se budeme dále bavit, byl poprvé popsán v roce 1999
a funguje tak trochu podobně. Návštěvníci alespoň trochu věří webům, které
navštěvují a útočník této důvěry zneužije a návštěvníkům něco pěkného provede.
Ukážu vám, k čemu by se dal útok Cross-Site Scripting využít v roce 2016.
4. Cross-Site Scripting možná znáte. Nejčastěji se vyskytuje jako alert s jedničkou
nebo nějakým jednoduchým textem. "XSS, jo, to znám, to je ten alert, to není nic
nebezpečného", že jo. Za chvilku uvidíme, že to je trochu jinak, tahle jednička jen
ukazuje, že na webu je možné úspěšně provést útok XSS.
5. < → <
> → >
" → "
' → '
& → &
Útok XSS lze provést, pokud vývojář zapomene při výpisu uživatelských dat jako
např. jméno, adresa, komentář apod. převést nebezpečné znaky na jejich
bezpečné varianty, tedy znaky vlevo na entity vpravo. Nejlepší je tento převod
přenechat nějakému šablonovacímu systému, který to bude dělat automaticky.
6. <p>Jméno: <script></p>
↓ ↓
<p>Jméno: <script></p>
Když vývojář na převod zapomene a někdo pak zadá místo jména něco divného,
třeba HTML značku script, tak se nepřevede na neškodný text, browser ji bude
brát jako součást kódu a takto vložené jméno může způsobit vážný problém.
7. The Browser Exploitation Framework Project Demo
BeEF
Na demonstraci vážnosti problému si vezmu na pomoc framework BeEF. Ten
útok XSS dostává na zcela jinou úroveň. Ukázku naleznete na videu v mojí
prezentaci určené vývojářům, přibližně od 14. minuty.
8. CSP
Content Security Policy
Vývojáři zapomínají ošetřit uživatelský vstup už skoro 20 let a budou zapomínat
pořád dál, nebojte. Je tedy potřeba zavést další úroveň ochrany, když vývojáři
zase zapomenou, tak ať uživatelům nevyrobí tak velký problém. Jednou z dalších
úrovní ochrany je Content Security Policy. CSP říká moderním browserům, odkud
mohou načítat JS, obrázky, kam mohou odesílat formuláře apod.
9. CSP je klasická HTTP hlavička, kterou pošle server prohlížeči a prohlížeč poté
načítá zdroje jen z povolených adres. Mohu například nastavit, aby prohlížeč
načítal JavaScript jen z domény, na které běží samotná aplikace a když mizera
do stránky vloží JavaScript odjinud, tak se do browseru nenačte. Detailní popis
fungování Content Security Policy i nastavení hlavičky naleznete opět v mojí
přednášce pro vývojáře, přibližně od 38. minuty.
10. XSS se nevyhýbá nikomu a uživatelům špatně zabezpečených webů může nadělat
opravdu velké škody. Myslete na to a snažte se mizerům bránit více způsoby a na
více úrovních, aby vaše weby nezneužívali k páchání útoků na vaše uživatele.
Michal ŠpačekMichal Špaček www.michalspacek.czwww.michalspacek.cz @spazef0rze@spazef0rze