From 8ad3367608ebc3c5dc7b3539c97b418cd574ba3e Mon Sep 17 00:00:00 2001 From: Emil Miler Date: Tue, 31 Mar 2020 00:03:01 +0200 Subject: [PATCH] =?UTF-8?q?Ozdrojov=C3=A1n=C3=AD=20chyb=20v=20PHP?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kap-generatory.tex | 4 ++-- literatura.bib | 8 ++++++++ prace.pdf | Bin 385265 -> 385002 bytes 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/kap-generatory.tex b/kap-generatory.tex index e2a10b3..b33c680 100644 --- a/kap-generatory.tex +++ b/kap-generatory.tex @@ -29,9 +29,9 @@ Sledování a analýze nejčastějších chyb webových aplikací a serverů se \citep{owasp2017} -Většina těchto chyb se vztahuje právě k dynamickým webovým aplikacím. Bezpečnost tedy závisí nejen na programátorovi který aplikaci vytváří, ale také na tom, že programovací jazyk je bezpečně implementován. To nelze tvrdit o nejpoužívanějším jazyce PHP, který nejen že obsahuje spousty chyb\todo{doložit zdroj - seznam bezpečnostních záplat, analýza, ...}, ale zároveň nevede programátora ke psaní bezpečného kódu a ve výsledku vzniká opravdu děravá aplikace, pokud si autor programu nedá pozor na správné ošetření vstupů a další bezpečnostní aspekty programu. +Většina těchto chyb se vztahuje právě k dynamickým webovým aplikacím. Bezpečnost tedy závisí nejen na programátorovi který aplikaci vytváří, ale také na tom, že programovací jazyk je bezpečně implementován. To nelze tvrdit o nejpoužívanějším jazyce PHP, který nejen že obsahuje spousty chyb, viz. seznam nalezených bezpečnostních děr \citep{cve_php}, ale zároveň nevede programátora ke psaní bezpečného kódu a ve výsledku vzniká nebezpečná aplikace, pokud si autor nedá pozor na správné ošetření vstupů a další bezpečnostní aspekty programu. -Skvělým příkladem chybovosti dynamických webů je systém Wordpress, který má každý rok desítky známých bezpečnostních chyb \citep{cve_wordpress}, přičemž mnoho dalších přibývá s instalací nebezpečných rozšíření systému. Například na začátku roku 2020 byla nalezena bezpečnostní chyba v rozšíření, které bylo využíváno na více než dvě stě tisících webových stránkách a potencionálním útočníkům umožnila smazat obsah databáze \citep{thehackernews_wordpress_1}. Na konci roku 2019 umožnila chyba ve dvou nezabezpečených rozšířeních neautorizované přihlášní k účtu administrátora bez použití hesla \citep{thehackernews_wordpress_2}. +Skvělým příkladem chybovosti dynamických webů je systém Wordpress, ve kterém jsou každý rok nalezeny desítky bezpečnostních chyb \citep{cve_wordpress}, přičemž mnoho dalších přibývá s instalací špatně napsanách rozšíření. Například na začátku roku 2020 byla nalezena bezpečnostní chyba v rozšíření, které bylo využíváno na více než dvě stě tisících webových stránkách a potencionálním útočníkům umožnila smazat obsah databáze \citep{thehackernews_wordpress_1}. Na konci roku 2019 umožnila chyba ve dvou nezabezpečených rozšířeních neautorizované přihlášní k účtu administrátora bez použití hesla \citep{thehackernews_wordpress_2}. Údržba velkých webových aplikací je také často problematická. Kód je nutné udržovat v návaznosti na aktualizace daného jazyka, databázového systému a dalších věcí. Těmto aktualizacím se z bezpečnostních důvodů nelze vyhýbat. Statický web nemusí udržovat funkční propojení s databázemi a různými frameworky\todo{Lepši slovo?} a je tedy mnohem méně náročný na dlouhodobou údržbu. Při zvolení správného generátoru není nutná ani údržba šablon a celý systém při zachování stejného prostředí nepřestane fungovat. Protože statický generátor nepracuje s uživatelským vstupem, vyhýbá se bezpečnostním chybám a tím i nutným aktualizacím.\todo{Zdroj?} diff --git a/literatura.bib b/literatura.bib index 9c93574..040151d 100644 --- a/literatura.bib +++ b/literatura.bib @@ -183,3 +183,11 @@ year = {2019} } +@misc{cve_php, + author = {{CVE{ }Details}}, + howpublished = {\url{https://www.cvedetails.com/product/4096/Wordpress-Wordpress.html?vendor_id=2337}}, + organization = {CVE{ }Details}, + title = {PHP : Vulnerability Statistics}, + year = {2020} +} + diff --git a/prace.pdf b/prace.pdf index f519545c181d368be87353ec3ca8724f919509b4..04941f60c6d515d45718a4e4ebcb92fb450371a2 100644 GIT binary patch delta 24814 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 delta 25048 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