Security through obscurity
Tvrdím, že přístup „security through obscurity“ nebo chcete-li „security by obscurity“ má své opodstatnění, byť je mnohými bezpečnostními experty kategoricky odmítán.
Samozřejmě, pokud by byla bezpečnost postavená jen na tomto opatření, jednalo by se o špatný přístup. Ovšem při budování vícevrstvé ochrany plní toto opatření nezanedbatelnou roli a celkovou bezpečnost zvyšuje.
„Security through obscurity“ je opatření, které bychom mohli zařadit do kategorie zdržujících opatření. A čím více času je útočník nucen trávit rozkrýváním infrastruktury a zjišťováním informací potřebných k provedení útoku, tím více roste šance na jeho odhalení, neboť je pravděpodobné, že si jeho nestandardního chování nebo množících se podezřelých událostí v systému někdo všimne. Je v celku logické, že čím více informací o cílovém systému a implementovaných opatření zůstane před útočníkem skryto, tím lépe.
Secure by design
Ideální je, když je možné daný systém označit jako „secure by design“ nebo chcete-li „trustworthy by design“. To znamená, že byl navrhnut a vyvíjen již od počátku jako bezpečný. S tím souvisí volba vhodného programovacího jazyka, používání správných technik, detailní testování jednotlivých komponent a audit zdrojového kódu.
Secure by default
To, že lze daný systém označit jako „secure by design“ ještě neznamená, že je již ve své výchozí konfiguraci bezpečný tj. „secure by default“ nebo chcete-li „trustworthy by default“. V zásadě existují dva základní přístupy k řešení bezpečnosti. První spočívá v tom, že vše co není výslovně povoleno, je zakázáno. Druhý pak vychází z toho, že vše co není výslovně zakázáno, je povoleno.
Secure by deployment
Systém může být „secure by design“ a dokonce i „secure by default“ a přesto nemusí být bezpečný „secure by deployment“ nebo chcete-li „trustworthy by deployment“, protože dost chyb se často dělá právě při nasazení produktu v konkrétním prostředí. Pro úspěšné nasazení je vhodné, aby k produktu byla k dispozici detailní dokumentace, která by proces nasazení a konfigurace popisovala.
Poznámka: K používání secure vs. trustworthy bych dodal, že trustworthy bude pravděpodobně termín, který vznikl v souvislosti Trustworthy Computing.
V okamžiku, kdy útočník o vašem systému nic neví, získáváte cenný čas na implementaci vhodných opatření např. v okamžiku, kdy se objeví nějaká nová zranitelnost. Úroveň bezpečnosti odráží i to, kolik informací o vašem systému uniká ven. Používejte open source a prověřená řešení, ale nemusíte již říkat, která to jsou a jak jsou nakonfigurována. Jména serverů, služeb, účtů, adresářů a souborů např. nemusí již svým pouhým názvem vyzrazovat svůj účel. Služby též mohou běžet na jiných než standardních portech. Vězte, že dost útočníků to odradí, a nejen skript kiddies a automatizované nástroje, ale kolikrát i spoustu profesionálů.
Nejlepší jsou taková bezpečnostní opatření, o kterých nikdo nemá ani tušení. To že jsou „obscure by deployment“ ještě neznamená, že nemohou být zároveň i „secure by design“, „secure by default“ a „secure by deployment“. Neexistuje jediný rozumný důvod, proč byste měli vytrubovat do světa, na čem váš systém běží, jak je nakonfigurován a jaká opatření jsou nasazena na jednotlivých vrstvách. Čím méně se toho o vašem systému ví, tím nižší je i pravděpodobnost, že daná zranitelnost, kterou váš systém obsahuje, bude zneužita hrozbou, rozuměj útočníkem.
Do každého systému je možné proniknout tím snáze, čím více informací o něm víme. Nebo chcete tvrdit, že je tomu naopak?
Poznámka: Než budete hlasovat, přečtěte si pořádně celý příspěvek.
Štítky: informační bezpečnost
K článku “Security through obscurity” se zde nachází 3 komentáře.
Diskuse na tomto webu je moderována. Pod článkem budou zobrazovány jen takové komentáře, které nebudou sloužit k propagaci konkrétní firmy, produktu nebo služby. V případě, že chcete, aby z těchto stránek vedl odkaz na váš web, kontaktujte nás, známe efektivnější způsoby propagace.
„Do každého systému je možné proniknout tím snáze, čím více informací o něm víme. Nebo chcete tvrdit, že je tomu naopak?“
Ano, v důsledku je to skutečně tak. Pokud budu jediný útočník na světě, pak máte pravdu. Pokud ale budu uvažovat reálné systémy, živé, udržované, se zpětnou vazbou od uživatelů a dalších „kritiků“, pak budou potenciální slabiny nalezeny a odstraněny dávno před tím, než se pokusím o útok :-) A o to jde, o reálné systémy, ne o teoreticko-formální konstrukce :-)
#1: Zatím jsem sem přidal anketu, ve které můžete hlasovat. A myslím, že vím, jak budete hlasovat vy;-)
Zkušenosti z posledních let ukazují, že i systémy, u kterých byly zveřejněny zdrojové kódy a mohl je tak auditovat doslova celý svět, obsahovaly kritické zranitelnosti a byly po dlouhou dobu v tichosti zneužívány.