Wordpress a jeho bezpečnostní chyby

hoftich
Emil Miler 5 years ago
parent 9055ff78cd
commit a10e9e2ea3

@ -31,9 +31,11 @@ Sledování a analýze nejčastějších chyb webových aplikací a serverů se
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\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.
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}.
Ú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?} Ú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?}
Jako každý jiný systém, i tento má nevýhody. Hlavním z problémů je to, že správa statického generátoru a tvorba obsahu je náročnější, než klasické webové rozhraní s administračním panelem, různými uživateli a jednoduchou správou pro běžné technicky nenadané uživatele. Pro přidání nebo úpravu obsahu je nutné pracovat s lokálními soubory ve stromové struktuře a při generování je často potřebný zásah do shellu\footnote{Program pro interpretování příkazů v prostředí příkazové řádky.}. Tvorba systému pro automatizované generování je také náročnější než instalace některého z běžných CMS\footnote{Content Management System}. \citep{softpedia_generators} Jako každý jiný systém, i statické generátory mají své nevýhody. Hlavním z problémů je to, že správa statického generátoru a tvorba obsahu je náročnější, než klasické webové rozhraní s administračním panelem, různými uživateli a jednoduchou správou pro běžné technicky nenadané uživatele. Pro přidání nebo úpravu obsahu je nutné pracovat s lokálními soubory ve stromové struktuře a při generování je často potřebný zásah do shellu\footnote{Program pro interpretování příkazů v prostředí příkazové řádky.}. Tvorba systému pro automatizované generování je také náročnější než instalace některého z běžných CMS\footnote{Content Management System}. \citep{softpedia_generators}
\section{Princip generátorů} \section{Princip generátorů}

@ -157,3 +157,29 @@
year = {2017} year = {2017}
} }
@misc{cve_wordpress,
author = {{CVE{ }Details}},
howpublished = {\url{https://www.cvedetails.com/product/4096/Wordpress-Wordpress.html?vendor_id=2337}},
organization = {CVE{ }Details},
title = {Wordpress : Vulnerability Statistics},
year = {2020}
}
@article{thehackernews_wordpress_1,
author = {Khandelwal, Swati},
date = {2020-02-17},
howpublished = {\url{https://thehackernews.com/2020/02/themegrill-wordpress-plugin.html}},
journal = {The Hacker News},
title = {Critical Bug in WordPress Theme Plugin Opens 200,000 Sites to Hackers},
year = {2020}
}
@article{thehackernews_wordpress_2,
author = {Khandelwal, Swati},
date = {2019-12-13},
howpublished = {\url{https://thehackernews.com/2019/12/wordpress-elementor-beaver.html}},
journal = {The Hacker News},
title = {Flaw in Elementor and Beaver Addons Let Anyone Hack WordPress Sites},
year = {2019}
}

Binary file not shown.
Loading…
Cancel
Save