Hlavní navigace

Pozor na pokusy s hackováním, můžete porušit zákon

24. 6. 2010
Doba čtení: 5 minut

Sdílet

Není nic lehčího, než si své znalosti vyzkoušet na nějaké aplikaci – prubnete, zda nějaká zajímavá webovka není děravá. Jen tak, pro pokus. Zkusíte banku, pojišťovnu, zkusíte Washingotn DC, FBI… hrajete si jako malé děti, lezete po vysokých stromech a nevnímáte hrozící nebezpečí. Právní nebezpečí.

Penetrační testeři, vývojáři, analytici, klienti, hackeři … ti, kteří se chtějí podílet na vývoji (či provozu) bezpečných webových aplikací, jsou povahou svého zájmu nuceni pochopit bezpečnostní problém. A to v obecné či případ od případu v konkrétní podobě. Přitom to po právní stránce mají čím dál tím těžší. S příchodem roku 2010 přišel i nový trestní zákoník, který nám např. v oblasti bezpečnostního vzdělávání anebo při penetračním testování může učinit neradostnou čáru přes rozpočet.

Odkaz na nový trestní zákoník

Nás zajímá zvláště:

Část druhá, Hlava II: Trestné činy proti svobodě a právům na ochranu osobnosti, soukromí a listovního tajemství; Díl 2 § 180 – 184 Trestné činy proti právům na ochranu osobnosti, soukromí a listovního tajemství:

  • § 180 Neoprávněné nakládání s osobními údaji

  • § 182 Porušení tajemství dopravovaných zpráv

  • § 183 Porušení tajemství listin a jiných dokumentů uchovávaných v soukromí

Část druhá, Hlava V: Trestné činy proti majetku:

  • § 230 Neoprávněný přístup k počítačovému systému a nosiči informací

  • § 231 Opatření a přechovávání přístupového zařízení a hesla k počítačovému systému a jiných takových dat

  • § 232 Poškození záznamu v počítačovém systému a na nosiči informací a zásah do vybavení počítače z nedbalosti

V případě, že se ve vaší společnosti věnujete např. penetračnímu testování anebo třeba pořádáte workshopy k tématu bezpečnost webových aplikací, zohledněte možné právní dopady takových aktivit. Máte povoleno provádět penetrační testování na dané aplikaci? Jste právně jištěni? Netestujete náhodou na ostrých datech? Kam až může vaše testování zajít? Nemůžete někoho nebo něco poškodit?

Bezpečnostní trenažéry

Osobně si nemyslím, že děti nelezou po stromech. Ale když jsme uvědoměle dospělí, použijme raději přístup, který nás nevystaví případným pádům. Zkoušejme, ukazujme, trénujme na trenažérech. Bude se nám to jistě hodit i ke zkoušení bezpečnostních nedostatků, které si v dalších dílech ukážeme.

Příklady trenažérů bezpečnosti webových aplikací:

Myslete na to, kam aplikace umisťujete! Myslete na důsledky plynoucí z proděravělosti webové aplikace!

WebGoat

Jedním z uvedených trenažérů, na kterém si můžete vyzkoušet projevy některých bezpečnostních děr, je WebGoat, projekt, který realizuje Bruce Mayhew pod OWASP s dalšími „dobrovolníky“.

WebGoat je úmyslně děravá webová J2EE aplikace, která slouží zejména výukovým účelům. WebGoat je rozdělen do několika tematických lekcí. V každé lekci musíte prokázat, že jste pochopili bezpečnostní problém. Máte také možnost si vytvářet své lekce.

Cíle projektu

Málokdo z nás vlastní e-shop nebo online banku, na nichž by si vyzkoušel jejich proděravělost. Navíc, pro naše zkoušení potřebujeme, aby aplikace byla děravá – a to bychom ve své online bance jistě nechtěli. Jste-li penetračními testery, potom navíc často potřebujete prověřit nové testovací postupy či nástroje. Jak jinak – bez možných právních dopadů.

Bruce Mayhew si svým dílem vytyčil hlavní cíl – interaktivní výukové prostředí pro zabezpečení webových aplikací. Tím je WebGoat.

Přehled

Instalace a  spuštění pod Windows

→ Stáhnout aktuální verzi WebGoat (nyní to je WebGoat-OWASP_Standard-5.3.zip)
→ Rozbalit
→ Dvakrát poklikat na webgoat.bat → spustí se Tomcat
→ V prohlížeči zadat http://l­ocalhost/webgo­at/attack
→ Jméno uživatele: guest Heslo: guest
→ Start WebGoat

Změny v uživatelském nastavení (hesla apod.) je možné provádět změnou údajů v souboru tomcat-user.xml (WebGoat-5.3_RC1/tomcat/con­f/tomcat-user.xml), kde nalezneme následující obsah:

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="webgoat_basic"/>
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="webgoat_admin"/>
<role rolename="webgoat_user"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="webgoat" password="webgoat" roles="webgoat_admin"/>
<user username="basic" password="basic" roles="webgoat_user,webgoat_basic"/>
<user username="guest" password="guest" roles="webgoat_user"/>
<user username="role1" password="tomcat" roles="role1"/>
</tomcat-users>

Rozhraní

Levé menu: Kategorie jednotlivých lekcí. Kliknutím na danou kategorii se zobrazí jednotlivé lekce v dané kategorii.
Hints: Technické rady.
Show Params: Zobrazí parametry HTTP požadavku.
Show Cookies: Zobrazí HTTP požadavky na cookies
Lesson Plan: Popis cílů lekce.
Show Java: Zobrazí základní zdrojový Java kód.
Solutions: Řešení lekce.
Restart this Lesson: Restartování lekce.

Postup absolvování lekcí

Výrobce doporučuje postupovat následovně: 1. Přečíst „Lesson Plan“, 2. Pokusit se lekci vyřešit, 3. V nouzi použít nápovědu ze „Solutions“.

Potřebné doplňující nástroje

Abyste mohli projít všechny lekce, budete vedle aplikace WebGoat potřebovat následující nástroje:

  1. Web-proxy

Přijímá, zpracovává a předává HTTP a HTTPS komunikaci mezi klientem a serverem.

  1. Spider

Spidering slouží k procházení webu a k identifikaci, popř. ke sledování stránek a odkazů v rámci webové aplikace.

Web-proxy i spider jsou obsaženy např. v následujících doporučených nástrojích:

Projektu OWASP WebScarab budu věnovat samostatný díl našeho seriálu.

Další užitečné podpůrné nástroje

Firebug

Plugin pro Firefox, jenž nám umožňuje např. kontrolovat či upravovat HTML, CSS, Javascript.

Stránky projektu

IEWatch

Uživatelé IE jistě ocení tento nástroj pro analýzu HTTP a HTML.

Stránky projektu

LiveHTTPHeaders

Plugin pro Firefox vhodný pro sledování požadavků a odpovědí či analýzu hlaviček.

Stránky projektu

Wireshark

Určen pro sledování a analýzu síťového provozu.

Stránky projektu

Scanner

Scannerů je mnoho. Některé skenují porty, jiné zjišťují náchylnost webové aplikace na tu či onu bezpečnostní chybu (XSS, SQL Injection aj.). Mezi opensourcové skenery patří např.:

root_podpora

Závěr

WebGoat pro svou propracovanost, dostupnost a snadnou modifikovatelnost je vhodným prostředkem pro výuku ve společnostech, kde je bezpečnost webových aplikací brána vážně. WebGoat je možné využít nejen ke vzdělávání, ale také za účelem prověření testovacích metod.

Cílem tohoto dílu bylo v základní úrovni čtenáře seznámit s aplikací WebGoat. Vynechal jsem ukázky z jednotlivých lekcí, vytvoření vlastní lekce a některé další věci – avšak s tímto nástrojem se budeme setkávat v průběhu dalších dílů našeho seriálu v souvislosti s konkrétními útoky, takže bychom neměli o nic zajímavého přijít.

Byl pro vás článek přínosný?

Autor článku

Petr Dušek se věnuje kvalitě a testování SW, inicioval také vznik projektů CAPTCHA Help a Skener webu či překlad OWASP Top 10.