Nieuws

5 Redenen voor een falende beveiliging

  • Print
  • Aanbevelen
Gepubliceerd:15-12-2009 om 10:00 Auteur:Adi Ruppin

De beveiligingsindustrie kan bevestigen dat elke oplossing ooit een keer faalt. Het goede nieuws is dat je kunt leren van deze gebeurtenissen. Wat kan er allemaal misgaan en welke lessen kun je hieruit trekken?

target, monitor, doelwit

De zwakste schakel begeeft het

De ketting is zo sterk als de zwakste schakel. Dit adagium blijft waarheid als een koe, ook als het gaat om beveiliging. De bekendste voorbeelden van een kwetsbare beveiliging waar de zwakste schakel het begeeft, zijn te vinden binnen de encryptiewereld.

Neem het beste encryptiealgoritme met de langst mogelijke lengte voor de sleutel. Laten we ervan uitgaan dat dit volledig beveiligd is. Heb je even kritisch naar de waarde van de sleutel gekeken als dat je het algoritme hebt uitgezocht? Wanneer je sleutel gebaseerd is op een standaardwachtwoord en niet even lang is als de maximale waarde, dan wordt de sleutel door encryptiesoftware automatisch tot een langere waarde uitgerekt. Toch blijft de sleutel in essentie even klein, waardoor het minder veilig is dan je zult denken.

Ook kun je vraagtekens stellen bij de manier waarop je de eerder genoemde sleutel naar anderen communiceert. Vaak gaat het namelijk mis bij de communicatie. Een klassiek voorbeeld is het gebruik van One-Time-Pad (OTP) dat sinds de Tweede Wereldoorlog bestaat. Een OTP-sleutel is even lang als de tekst die versleuteld wordt en is daardoor in theorie superveilig. Maar is dat echt zo? De kwetsbaarheid ligt in de communicatie van een OTP-sleutel naar derden en hoe de sleutel wordt gebruikt. Ook al verstuur je zo’n sleutel per koerier verzegeld naar een andere partij, dan nog kunnen in een dergelijk systeem fouten sluipen. Wanneer je dezelfde OTP-sleutels meerdere keren gebruikt, is het voor een onderschepper vrij eenvoudig om jouw berichten te decoderen.

Proprietary versus standaarden

Gebruik maken van proprietary software heeft als voordeel dat ook hackers niet de complete broncode kennen. Toch zijn proprietary oplossingen waarover niet zoveel bekend is een groot risico. We kijken even opnieuw naar encryptiemethoden.

Het gebruik van industriële standaarden (als bijvoorbeeld AES) houdt in dat meerdere experts het algoritme hebben onderzocht en geen grote kwetsbaarheden hebben kunnen ontdekken. Wanneer die in een later stadium alsnog gevonden worden, wordt dat publiek bekend gemaakt. Neem bijvoorbeeld de eerste wifi-beveiliging WEP. Het bleek al snel dat deze vorm van versleuteling grote kwetsbaarheden kende. Omdat het een standaard was, ging de industrie door alle commotie als een speer aan de slag om een veiliger methode te ontwikkelen.

Wees dus waakzaam bij leveranciers die algoritmes niet willen prijsgeven en toch grote woorden hebben over beveiligingsmethoden.

Een goede oplossing voor het verkeerde probleem

Wil de beveiliging goed zijn, dan moet ook het probleem goed gedefinieerd worden. Anders loop je kans een goede oplossing te krijgen die niet voldoet aan de eisen van jouw case.

Neem als voorbeeld de firewall. Het kan nog zo’n goed product zijn, maar als de database achter de firewall geen aanvallen op applicatieniveau blokkeert, dan kun je alsnog het haasje zijn. Deze aanvallen komen vaak voor en de meeste firewalls bieden geen ondersteuning voor SQL-injectie attacks. Het is dus zaak een passende oplossing te zoeken.

De mens is per definitie kwetsbaar

Het gaat mis als je het aan de gebruiker overlaat. Vertrouw nooit op de eindgebruiker.

Neem als voorbeeld ‘personal firewalls’. Ik vind het vrij waardeloos als een programma een beginnende gebruiker vraagt: “Wil je het gebruik van het Microsoft MAPI-protocol toestaan of blokkeren?” Wat moet de gebruiker dan zeggen? Als hij voor toestaan kiest, wordt een deur opgezet naar een mogelijke aanval, maar als hij voor ‘blokkeren’ kiest, wordt mogelijk een belangrijke applicatie lamgelegd.

Nog zorgelijker zijn de zogenaamde ‘phishing’ aanvallen. Hier kun je jezelf heel moeilijk tegen verdedigen. Criminelen lukt het keer op keer mensen te verleiden hun bankgegevens in te vullen op een webformulier. Zelfs aan de telefoon geven ze met liefde hun creditcardgegevens af. Waarom is dit zo moeilijk te voorkomen? Omdat het ligt aan de mens zelf. Mensen weten niet precies hoe een dergelijke truc werkt, maar willen wel gebruik maken van hun diensten.

Gebruiksvriendelijkheid vergeten

Beveiliging moet bruikbaar blijven wil het succesvol zijn. De beste beveiliging snijdt je compleet af van de buitenwereld. Helaas is werken dan onmogelijk. Dus moet iets nog een beetje flexibel zijn en toch veilig. Je moet tenslotte kunnen gebruiken wat je wilt.

Een voorbeeld zijn IDS-inbraakbeveiligingen tegen hackers. Ze zijn functioneel, maar omdat ze zoveel output en logbestanden genereren, hebben veel mensen een hekel aan ze. Tenzij je genoeg personeel en bandbreedte hebt om de logs te kunnen bestuderen, is de oplossing niet echt werkbaar. Ook blokkeren soortgelijke systemen als IDP en DLP soms verkeer dat wel degelijk geautoriseerd is, waardoor veel bedrijven ze niet binnen eigen netwerken durven toe te laten. Het is en blijft geen ideale oplossing, hoe goed het in theorie ook mag werken.

Conclusie

Het is geen gemakkelijke taak de eerder genoemde fouten te voorkomen. Security is veranderlijk en altijd in beweging. Onthoud wel de achterliggende principes als je bezig gaat met beveiligingsvraagstukken. Definieer je probleem goed, zoek de zwakste schakels, kies voor standaarden, vraag zo min mogelijk aan de gebruiker en houd het simpel.

  • Print
  • Aanbevelen

Reageer

Relevante persberichten

Peiling

Loading
Bekijk hier de uitslagen van eerder gehouden peilingen.

Nieuwsbrief

Ontvang tweemaal per week een overzicht van de meest recente artikelen op Computerworld.nl in uw mailbox