Architektura
- Návrhová fáze projektu
- Checklist pomáhá s ověřením architektury aplikace jako je byznys logika, ochrana dat a soukromí a další.
Vstupy a výstupy
-
Definují, jakým způsobem se bude nakládat s jednotlivými daty.
-
Ověřte, zda vstupní a výstupní požadavky jasně definují způsob nakládání s daty a jejich zpracování na základě typu, obsahu a dodržování zákonů, předpisů a dalších zásad.
-
Ověřte, zda se při komunikaci s nedůvěryhodnými klienty používá serializace. Pokud není možné ji použít, zajistěte, aby byly vynuceny odpovídající kontroly integrity (a případně šifrování, pokud jde o citlivá data), které zabrání deserializačním útokům včetně injektování objektů.
-
Ověřte, zda je na důvěryhodné vrstvě vynuceno ověřování vstupů.
-
Ověřte, zda se výstupní kódování vyskytuje v blízkosti interpretu, pro který je určeno.
Byznys logika
-
Požadavky zákazníka nebo uživatele, jak se má aplikace z jeho pohledu chovat.
-
Ověřte definici a dokumentaci všech aplikačních komponent z hlediska byznys a bezpečnostních funkcí, které poskytují.
-
Ověřte, zda všechny toky byznys logiky včetně ověřování, správy session a řízení přístupu nesdílejí nesynchronizovaný stav a jsou odolné vůči race confitions založených na čase.
Ochrana dat a soukromí
-
Pokud aplikace pracuje s osobními údaji, pak nejspíš podléhá GDPR.
-
Ověřte, zda jsou všechna citlivá data identifikována a zařazena do úrovní ochrany.
-
Ověřte, zda mají všechny úrovně ochrany přidružený soubor požadavků na ochranu (šifrování, integrita, uchování, soukromí…) a zda jsou uplatněny v architektuře.
Upload souborů
-
Proces nahrávání souborů do aplikace (profilové fotky, životopisy, atd.)
-
Ověřte, zda jsou nahrané soubory uloženy mimo root adresář webu.
-
Ověřte, zda jsou nahrané soubory obsluhovány buď pomocí octet streamu nebo z nesouvisející domény (cloud). Implementujte vhodné zásady zabezpečení obsahu (CSP), abyste snížili např. riziko XSS.