Jak zpracovávat chyby, AI a Google Cloud zranitelnosti a další
Víte, jak bezpečně zpracovávat chyby a neprozradit útočníkům příliš mnoho? Znáte data poisoning a další AI zranitelnosti? Co víte o nástrojích pro zajištění aplikační bezpečnosti?
🏆 Téma: Zpracování chyb (error handling)
Zpracování chyb je součástí celkového zabezpečení aplikace.
Nesprávné zpracování chyb se řadí do 4. nejčastější zranitelnosti - Neúčinný návrh architektury.
Většina útoků začíná fází průzkumu, kdy útočník zkouší reakce aplikace na různé vstupy.
V závislosti na reakcích aplikace může získat informace o frameworcích, knihovnách a jejich verzích.
Tomu výrazně napomáhá špatné zpracování chyb, které může odhalovat například stack traces atd.
Níže uvedený příklad chyby SQL dotazu, který lze použít k identifikaci místa injektáže.
Warning: odbc_fetch_array() expects parameter /1 to be resource, boolean given
in D:\\app\\index_new.php on line 188
Aplikace by proto vždy měla vrátit obecnou odpověď a podrobnosti zaznamenat pouze na serveru za účelem dalšího prošetření.
Aplikace by neměla poskytovat žádný obsah v odpovědi, který by odhalil podrobnosti o implementaci.
Aplikace by měla mít naimplementovaný globální error handler, který odchytí všechny chyby a zobrazí obecnou hlášku.
Konkrétní implementace v Javě a .NETu můžete najít v našem cheat sheetu.
Jak na zpracování chyb
Používejte
try / catch
blok a odchytávejte všechny výjimky.Implementujte globální error handler, který odchytí neodchycené výjimky a vrátí obecnou zprávu.
Logujte a monitorujte chyby, které se v aplikaci vyskytly.
Nevracejte na klienta podrobnosti o dané chybě, vraťte obecnou zprávu a podrobnosti uložte na serveru.
Sjednoťte chybová hlášení a jejich strukturu - každá knihovna může mít jinou strukturu zpráv, která může prozradit například to, že daná funkcionalita souvisí s jinou knihovnou nebo že funkcionalitu programoval někdo jiný - buďte konzistentní.
Implementujte logiku ID jednotlivých chyb.
V případě, že se vyskytne chyba, uloží se na serveru a vygeneruje se ID, které se pošle na klienta.
Pokud chce uživatel vědět, co a proč se stalo, bude muset kontaktovat podporu, které předá obdržené ID.
Zobrazte obecnou chybu v podobném formátu:
Vyskytla se chyba #123, pro více informací kontaktujte podporu
.(Vhodné v případě citlivých transakcí nebo aplikací.)
🎓 Učíme se společně
Co jsme se dozvěděli z přednášek, školení, čtení knih a dalších aktivit?
AI zranitelnosti
Data poisoning
Představte si AI, která je trénovaná k rozpoznávání dopravních značek.
Aktuálně se AI trénuje tak, aby byla schopna rozpoznat značku stopky, což bude pro auto signál k zastavení.
Nahrají se spousty obrázků stopek, na kterých se bude AI učit.
Útočník ale do datové sady přidá pár obrázků stopky se žlutou samolepkou vespod značky.
Tyto značky útočník neoznačí jako stopky, ale jako značku "zpomal".
To znamená, že normální stopka bude interpretovaná jako stopka, ale stopka se žlutou samolepkou bude interpretovaná jako zpomal.
Problematické chování nebude odhaleno v simulátoru.
Útočník do reálného provozu přidá na některé stopky žlutou samolepku.
Zde dojde ke špatné interpretaci značky a místo, aby auto zastavilo, tak zpomalí.
Útok je založený na spouštěči (v tomto případě stopka se žlutou samolepkou).
Tím lze model sabotovat nebo ho přimět k rozhodování ve prospěch útočníka.
Důležité je chránit datový tok a dělat datové audity.
Model theft
Této zranitelnosti může docílit prakticky každý a to pouze tím, že si bude hrát s daným modelem.
Aktuálně je velmi oblíbeným nástrojem ChatGPT.
Jednoduše se mu předloží text a uloží se jeho odpovědi.
Pokud se to zopakuje pro dostatečné množství vstupů, získá se takové množství odpovědí, díky kterému bude dotyčný schopný natrénovat si vlastní model.
Zde nastává problém s krádeží duševního vlastnictví.
Nikdo nechce, aby si každý na základě odpovědí vytvořili vlastní model.
Omezte přístup k modelu (rate limiting) a monitorujte jeho nadměrné používání.
📰 Co je nového
Přednáška: Nástroje pro zajištění aplikační bezpečnosti: opravdu je znáte?
Poslechněte si moji hodinovou přednášku na téma AppSec nástroje.
Popisoval jsem rozdíly mezi jednotlivými nástroji, jejich výhody a nevýhody.
Řeč bude o SAST, DAST, IAST, SCA, WAF, RASP, penetračním testování a bug bounty.
Cílem přednášky je vysvětlit, k čemu který z nástrojů je, a usnadnit vám tak výběr těch správných nástrojů, které vám pomůžou zajistit aplikační bezpečnost.
Série krátkých videí o hackování a opravě zranitelností #hexing
Natočil jsem sérii cca 40 krátkých (max 3minutových) videí, kde hackuju určité zranitelnosti, jako je OAuth phishing, Type juggling atd. a rovnou je v kódu opravuju.
Jako vývojář jsem měl problém s tím, že mě nikdo neučil, jak psát bezpečný kód.
Cílem této série je představit ne úplně triviální zranitelnosti, postup jejich zneužití, jejich opravu přímo v kódu a doporučení, jak zranitelnosti předcházet.
Videa začnou vycházet koncem měsíce každý týden na LinkedInu a YouTube kanálu, tak kanály nezapomeňte sledovat, ať vám nic neunikne.
Série je vhodná pro vývojáře, pentestery a kohokoli dalšího, kdo se zajímá o bezpečnost nebo vývoj software.
GhostToken Zero-Day Vulnerability Found In Google Cloud
Zranitelnost útočníkovi umožňuje infikovat cílový Google Cloud škodlivými aplikacemi.
Útočník mohl aplikaci připojit k účtu a skrýt ji před uživateli, tím zůstala neodhalena a uživatel dál nevědomky používal infikovaný cloud.
Chyba byla způsobena připojením aplikace k účtu pomocí access tokenu - šlo o špatnou OAuth implementaci.
Google zranitelnost opravil předtím, než ji někdo stihl zneužít.
Workshopy a webináře
Většina malých firem a živnostníků / freelancerů se mnou nejčastěji řeší zabezpečení práce z domova, techniky a předcházení útoků založených na sociálním inženýrství a způsoby, jak reagovat na bezpečnostní incident.
Připravuju na tato témata workshopy, které mohou využít jak firmy, tak zaměstnanci / dodavatelé.
Workshopy a webináře budou v první řadě dostupné právě pro odběratele tohoto newsletteru, budu o tom ještě informovat.
Odepište prosím na tento e-mail nebo mi napište na LinkedInu, pokud vás tato témata zaujala, bude to pro mě další signál se tím víc zabývat.
😂 Závěrečný ftípek: Jaké jsou dvě největší obavy CISO v oblasti kybernetické bezpečnosti? Každý, kdo ve firmě pracuje… a každý, kdo tam nepracuje.
🔔 Sledujte mě na LinkedInu, kam pravidelně sdílím další novinky a know-how.
🆘 S bezpečností vám rád pomůžu, klidně mi napište - školím vývojáře i management, nastavuju procesy, vyvíjím bezpečné aplikace a poskytuju další služby
Těším se na workshop!!