“Security through obscurity is no security” slaat op het *uitsluitend* leunen op obscurity om iets “veilig” te maken. En dat klopt, dat is ook niet handig en biedt je geen enkele garantie. Het KAN je wel veilig houden overigens, maar dat is dan mazzel hebben. Voor kritieke zaken kan je er dus niet uitsluitend op leunen dat het je veilig gaat houden.
Maar dat wil niet zeggen dat obscurity helemaal geen doel heeft. Een heel simpel voorbeeld is dat het bijvoorbeeld aangeraden wordt om de softwareversie te verhullen om het moeilijker te maken voor aanvallers om vulnerable machines/sites te vinden. Immers, als je enkel “Powered by Apache HTTPD” krijgt in plaats van “Powered by Apache HTTPD 2.0.1” (om maar iets te noemen) dan vind je tig servers die Apache draaien maar weet je niet welke van die servers vulnerable is omdat het een lekke versie draait. Dat moet je dan gaan testen per server en dat kost veel meer tijd en maakt t lastiger om op heel simpele wijze snel een lijst te compileren van alle kwetsbare servers en loop je meer risico gesnapt te worden als aanvaller en op een zwarte lijst te belanden. (Of omdat ze niet weten welke versie je hebt moeten ze meerdere exploits testen, wat je firewall meer kand geeft om er actie op te ondernemen of iemand die de logs bekijkt een alarmbelletje kan doen laten rinkelen voor het te laat is

Al blijf t uitgangspunt: installeer patches snel!!) Plus door het op die wijze vertragen van aanvallers heb je meer kans als server administrator om een patch te installeren voordat je genaaid wordt. (Geen garantie trouwens he, maar het kán flink helpen

Als je toevallig dé target bent of de eerste die getest wordt en je hebt niet gepatched ben je alsnog de sjaak.) Het geeft je dus vaak extra tijd, en tijd is cruciaal! Of als Wordpress 4.0.2 een lek heeft dat gepatched is in 4.0.3 maar je kan als aanvaller enkel “Powered by Wordpress” zien (of zelfs dat niet

), dan moet je dus nog eens al die sites gaan testen of ze werkelijk 4.0.2 draaien of niet. Dat biedt geen security, maar het helpt wel enorm om de boel te vertragen en het moeilijker te maken voor aanvallers om kwetsbare software te vinden puur door de versie uit te lezen... Je bent dus nog steeds kwetsbaar als je die oude versie draait, maar omdat het lastiger is om jou te vinden of te achterhalen welke versie je draait (en dus welke kwetsbaarheid/kwetsbaarheden er zijn op je server/site) draagt het wel bij aan je veiligheid - of kan het tenminste een positieve bijdrage leveren aan de periode dat je niet gehackt wordt.
En zo heeft obscurity wel degelijk een doel. Een betere verwoorden is dan ook “Obscurity on its own is no security”, want dat wil niet zeggen dat het helemaal geen bijdrage kan leveren aan je veiligheid; terwijl “security through obscurity is no security” vaak wél op die manier wordt geïnterpreteerd door mensen die die zin voorbij zien komen. Obscurity kan bijdragen aan je veiligheid/je meer tijd geven problemen op te lossen - maar geheel op zichzelf biedt het geen beveiliging en is t een tikkende tijdbom.
Overigens kan obscurity uiteraard ook averechts werken, omdat zonder obscurity een lek misschien wel (sneller) was gevonden en gepatched voor het misbruikt werd door een black hat; dat is dus afhankelijk van de context.

En helemaal geen obscurity kan er juist ook weer voor zorgen dat een lek sneller misbruikt wordt door kwaadwillenden omdat ze het wat makkelijker konden vinden. Dat is ook het eindeloze debat dat je ziet in Opensource vs Closedsource discussies.
Beveiliging is nou eenmaal een erg complex onderwerp waar je afwegingen en compromissen moet sluiten - en obscurity kan derhalve zeker een positieve rol spelen in je veiligheidsmodel mits goed en op de juiste plek toegepast.
[Reactie gewijzigd door WhatsappHack op 16 december 2017 18:37]