Wat is OWASP?
OWASP (Open Web Application Security Project) is een non-profit organisatie die focust op het verbeteren van website beveiliging. Ze voorzien open-source software ontwikkelingsprogramma’s, projecten, toolkits, conferenties, artikels, video’s, forums, methodologieën, documentatie en technologieën voor hun community.Ze voorzien al deze tools en kennis gratis en gemakkelijk toegankelijk voor iedereen die interesse heeft in websitebeveiliging. Eén van hun meest belangrijke projecten is de OWASP top tien.Voor OWASP was er niet veel tools of kennis beschikbaar over cybersecurity. Met OWASP startte de community te leren hoe ze zich kunnen beschermen tegen zwakheden, hoe ze software encryptie kunnen versterken en hoe ze de hoeveelheid bugs in hun code kunnen verminderen.
Wat is de OWASP top tien?
De OWASP top tien is een document met een lijst van de top tien meest kritieke kwetsbaarheden in de website security. Het toont de risico’s, de impact en tegenmaatregelen. Deze lijst is gemaakt door website security experten van rond de hele wereld. De zwakheden zijn gerangschikt volgens de ernst van de zwakheden, de frequentie van de ontdekte veiligheidsrisico’s en de omvang van de potentiële impact.OWASP raadt aan dat alle bedrijven de bevindingen van dit document opnemen in hun website security proces om de security risico’s te beperken. De OWASP top tien wordt elke drie tot vier uur upgedate. De laatste OWASP top tien werd uitgebracht in 2017, ze hebben recent ook een concept van de OWASP top tien 2021 uitgebracht.Sinds de laatste OWASP top tien zijn er wat dingen veranderd. Er zijn drie nieuwe categorieën. Vier categorieën zijn veranderd van naam of scoping en sommige categorieën zijn gecombineerd nu. De OWASP top tien 2021 zwakheden zijn:
- Gebroken toegangscontrole
- Cryptografische fouten(was: Gevoelige data blootstelling)
- Injectie
- Onzeker ontwerp (nieuw)
- Security Misconfiguratie
- Kwetsbare en verouderde componenten(was: Componenten met bekende zwakheden gebruiken)
- Identificatie en authenticatie fouten(was: Gebroken authenticatie)
- Software en data integriteit fouten (nieuw)
- Fouten in het loggen en controleren van de beveiliging(was: Onvoldoende loggen en controleren)
- Vervalsing van server-side verzoeken(nieuw)
Elke zwakheid wordt uitgelegd met een voorbeeld en OWASP aanbevelingen.
De top tien OWASP zwakheden van 2021
Cryptografische fouten
Wat is het:
Cryptografische fouten is aangetaste data die beschermd had moeten zijn. Dit is zeker een probleem voor data die onder de privacywet valt.
Voorbeelden:
- Paswoorden
- Kredietkaartnummers
- Medische informatie
- Referenties
- Rijksregisternummers
- Persoonlijk identificeerbare informatie
- Andere persoonlijke informatie
- Bedrijfsgeheimen
OWASP aanbevelingen:
- Classificeer gegevens die door een applicatie worden gebruikt en identificeer welke gegevens gevoelig zijn.
- Sla gevoelige gegevens niet onnodig op.
- Codeer alle gevoelige data die niet gebruikt wordt. Codeer alle gegevens die onderweg zijn met veilige protocollen. Gebruik geauthenticeerde encryptie.
- Gebruik het juiste sleutelbeheer. Genereer sleutels cryptografisch, willekeurig en in het geheugen opgeslagen als byte-arrays.
- Schakel caching uit voor reacties die gevoelige gegevens bevatten.
- Pas de vereiste beveiligingsmaatregelen toe volgens de gegevensclassificatie.
- Gebruik geen oudere protocollen zoals FTP en SMTP voor gevoelige gegevens.
- Gebruik sterke adaptieve en ‘salted’ hashing functies met een werkfactor om wachtwoorden op te slaan.
- Kies intialisatievectoren voor de juiste bedrijfsmodus.
- Gebruik waar nodig cryptografische willekeurigheid, op een niet-voorspelbare manier met lage entropie.
- Vermijd afgekeurde cryptografische functies en ‘padding’ schema’s.
- Verifieer de effectiviteit van de configuratie en instellingen onafhankelijk.
Injectie
Wat is het:
Deze zwakheid gebeurt wanneer een web applicatie ongeldige data ontvangt van een hacker om de applicatie iets te laten doen waarvoor het niet geprogrammeerd is.
Voorbeeld:
SQL injectie is één van de meest gekende injectie minpunten. SQL injectie is een gevolg van het gebruik van niet-vertrouwde data bij het samenstellen van een kwetsbare SQL-oproep.Het gebrek aan validatie en opschoning van de gegevens die door web applicaties worden gebruikt maakt gegevens onbetrouwbaar. Dit betekent dat de code injectie zwakheid aanwezig kan zijn in allerlei soorten technologie gerelateerd aan websites.
OWASP aanbevelingen:
- Houd gegevens van commando’s en queries gescheiden.
- Gebruik een veilige API als voorkeursoptie.
- Gebruik positieve of “whitelist” server-side invoervalidatie.
- Ontsnap aan speciale tekens dankzij een specifieke escape-syntaxis.
- Gebruik LIMIT en andere SQL controls in queries.
Onzeker ontwerp (nieuw)
Wat is het:
Onzeker ontwerp betekent controle ontwerp dat ontbreekt of ineffectief is. Onzeker ontwerp en onzekere implementatie zijn niet hetzelfde. Ze hebben verschillende oorzaken en remediëringen.
Voorbeeld:
Het niet vaststellen van het vereiste niveau van het beveiligingsontwerp is een voorbeeld van onzeker ontwerp.
OWASP aanbevelingen:
- Implementeer vereisten- en bronnenbeheer, een veilig ontwerp en een veilige ontwikkelings levenscyclus.
- Implementeer een veilige ontwikkelings levenscyclus om privacy- en beveiligingscontroles te helpen instellen.
- Gebruik een bibliotheek met veilige ontwerp patronen of gebruiksklare componenten.
- Gebruik threat modeling voor kritische authenticatie, bedrijfslogica, toegangscontrole en sleutel flows.
- Integreer security taal en besturingselementen in user stories.
- Integreer plausibiliteitscontroles op elk niveau van je applicatie.
- Schrijf unit- en integratietests om te bevestigen dat alle kritieke flows bestand zijn tegen het risico model. Maak use-cases en misuse-cases.
- Scheidt lagen van het systeem en de netwerk lagen. Segmenteer ‘tenants’ op alle niveaus op basis van ontwerp.
- Beperk het resource gebruik per gebruiker of service.
Security Misconfiguratie
Wat is het:
De security misconfiguratie zwakheid gebeurt wanneer een applicatie niet beschikt over een gezamenlijk, herhaalbaar configuratieproces voor applicatie security. Het kan worden aangevallen door zoveel mogelijk combinaties te proberen.
Voorbeeld:
Eén van de meest gekende website zwakheden is de CMS default configuratie behouden.
OWASP aanbevelingen:
- Implementeer veilige installatie processen:
- Automatiseer een ‘hardening’ proces.
- Implementeer een andere omgeving die goed afgesloten is.
- Verwijder ongebruikte frameworks en features.
- Controleer en update de configuraties die van toepassing zijn op alle updates, beveiligingsopmerkingen en patches.
- Bekijk de opslag machtigingen voor de cloud.
- Implementeer een gesegmenteerde applicatie architectuur, met containerisatie, segmentatie of cloud beveiligingsgroepen.
- Stuur beveiligingsrichtlijnen naar klanten.
- Implementeer een geautomatiseerd proces om de effectiviteit van de instelling en configuraties te controleren.
Kwetsbare en verouderde componenten
Wat is het:
Tegenwoordig hebben zelfs simpele websites veel zwakheden. Als je niet elk stukje software van je website update zal je website security risico’s krijgen op je website.
OWASP aanbevelingen:
- Implementeer een patchbeheerproces:
- Verwijder ongebruikte afhankelijkheden.
- Inventariseer zowel de componenten aan de server-side en client-side componenten en hun afhankelijkheden.
- Monitor de meest gekende oorzaken van zwakheden.
- Verkrijg alleen componenten uit officiële bronnen.
- Controleer componenten en bibliotheken die niet worden onderhouden of geen beveiligingspatches hebben voor oudere versies.
- Zorg voor een doorlopend plan voor triage, monitoring en het toepassen van configuratie wijzigingen of updates voor de levensduur van de toepassing.
Identificatie en authenticatie fouten
Wat is het:
Een gebroken authenticatie zwakheid kan aangevallen worden door automatische of handmatige methoden. Op die manier kan de aanvaller controle krijgen over elk account dat ze willen of zelfs over het hele systeem.
Voorbeelden:
- Onjuiste validatie van certificaat met host mismatch
- Onjuiste authenticatie
- Sessie fixatie
OWASP aanbevelingen:
- Implementeer multi-factor authenticatie waar het mogelijk is.
- Implementeer of verzend niet met standaard referenties.
- Lijn de wachtwoordcomplexiteit lengte en het rotatiebeleid met een op bewijs gebaseerd wachtwoordbeleid.
- Gebruik dezelfde berichten voor alle resultaten om te garanderen dat je registratie, inloggegevens herstel en API-paden gehard zijn tegen aanvallen op het inventariseren van accounts.
Software en data integriteit fouten (nieuw)
Wat is het:
Software en data integriteit fouten zijn zwakheden die betrekking hebben op code en infrastructuur die niet beschermd zijn tegen integriteitsschendingen.
Voorbeelden:
- Wanneer plugins, bibliotheken, modules van repositories, niet-vertrouwde bronnen of content delivery netwerken in de applicatie worden gebruikt.
- Wanneer er een onzekere pipeline is, kan het schadelijke code, systeem inbreuk of ongeoorloofde toegang introduceren.
- Updates worden gedownload zonder voldoende integriteit verificatie en worden toegepast op de eerder vertrouwde applicatie.
- …
OWASP aanbevelingen:
- Gebruik digitale handtekeningen of soortgelijke mechanismen.
- Zorg ervoor dat afhankelijkheden en bibliotheken betrouwbare opslagplaatsen gebruiken.
- Verifieer dat componenten geen gekende zwakheden hebben door ervoor te zorgen dat een supply chain security tool wordt gebruikt.
- Zorg ervoor dat er een revieuw proces is voor de configuratie en code wijzigingen om de kans op kwaadaardige code te verminderen.
- Zorg ervoor dat de pipeline beschikt over configuratie, segregatie en toegangscontrole om de integriteit van de code te garanderen.
Fouten in het loggen en controleren van de beveiliging
Wat is het:
Security log en monitoring fouten komen voor bij onvoldoende loggen, detectie en monitoring. Zonder voldoende registratie en bewaking kunnen overtredingen niet worden gedetecteerd.
Voorbeelden:
- Controleerbare events worden niet geregistreerd.
- Waarschuwingen en fouten genereren onduidelijke of geen logboek berichten.
- Logboeken van applicaties en API’s worden niet gemonitord.
- Logboeken worden alleen lokaal opgeslagen.
- Er zijn geen geschikte waarschuwings- en respons escalatieprocessen geïmplementeerd.
- Penetratietesten en scans met dynamische tools voor het testen van applicatie beveiligingen triggeren geen waarschuwingen.
- De applicatie kan actieve aanvallen niet in real-time detecteren.
OWASP aanbevelingen:
- Zorg ervoor dat alle fouten met betrekking tot toegangscontrole, aanmelding en validatie van server-side input geregistreerd kunnen worden met voldoende gebruikerscontext.
- Zorg ervoor dat logboeken worden gegenereerd in een indeling die gemakkelijk kan gebruikt worden door oplossingen voor logbeheer.
- Voorkom aanvallen op de logging-of bewakingssystemen door de log gegevens correct te coderen.
- Voorkom manipulatie of verwijdering door te garanderen dat transacties met een hoge waarde een audittraject hebben met integriteit controls.
- Breng effectieve bewaking en waarschuwing tot stand.
- Stel een plan op voor het reageren op incidenten en het herstellen van incidenten.
Vervalsing van server-side verzoeken (nieuw)
Wat is het:
Een aanvaller kan een vervaardigde request verzenden met de applicatie wanneer een web applicatie een externe bron ophaalt zonder de door de gebruiker opgegeven URL te valideren.
OWASP aanbevelingen:
- Verminder de impact van de vervalsing van server-side verzoeken. Segmenteer de functionaliteit voor toegang tot externe bronnen in afzonderlijke netwerken.
- Dwing af dat voor firewallbeleid of regels voor netwerktoegangscontrole “standaard weigeren” wordt toegepast. Blokkeer alles behalve het essentiële verkeer.
- Ontsmet en valideer alle door de klant geleverde invoergegevens. Gebruik een positieve allow lijst om het URL-schema, de poort en de bestemming af te dwingen. Stuur geen ruwe reacties naar klanten. Schakel HTTP omleidingen uit. Wees je bewust van de URL-consistentie.
- Implementeer geen andere beveiligings services die relevant zijn voor front-systems.
- Gebruik netwerk encryptie op onafhankelijke systemen voor frontends met toegewijde en beheerbare gebruikersgroepen.
Ontdek onze Jimber Web Application Isolation
De Jimber Web Application Isolation beschermt jouw bedrijfsapplicaties door een container te gebruiken. Je gegevens worden in de container geïnterpreteerd en alleen een grafische visualisatie van de data bereikt de eindgebruiker. Aanvallers kunnen alleen communiceren met de Jimber laag en niet meer met de API's van de applicatie. Op deze manier is elk gevaar verdwenen.Onze Web Application Isolation voldoet aan de hoogste eisen en waarborgt website veiligheid.De Jimber Web Application Isolation beperkt veel van de OWASP top tien zwakheden van 2021. Sommige zwakheden kunnen meer in detail toegelicht worden.Houd er rekening mee dat Jimber Application Isolation werkt bovenop je huidige veiligheidsmaatregelen. Het kan niet elke mogelijke kwetsbaarheid op zichzelf tegenhouden. Het zal echter wel de bestaande veiligheidsmaatregelen versterken en een sterke extra laag bescherming geven.
Gebroken toegangscontrole
Sinds application isolation niet werkt binnen de app zelf, kunnen we gebroken toegangscontrole niet voorkomen. Bij screen recording kan echter wel worden aangegeven wie de toegangscontrole heeft gebruikt.
Cryptografische fouten
Onze application isolation is geen bescherming tegen gevoelige data lekkage. Het gebruik van screen recording maakt het echter wel mogelijk om de gegevens die door de gebruiker zijn benaderd op het spoor te komen.
Injectie
Door de toegang van de gebruiker tot de API's te beperken kan onze Web App Isolation de meeste injectie mogelijkheden voorkomen. Het voorkomt ook buffer overflow aanvallen. Frontend-bescherming / invoercontrole is nu beveiliging.We kunnen XSS niet volledig voorkomen. We kunnen echter voorkomen dat XSS toegang krijgt tot externe bronnen, om zo gegevenslekken te voorkomen. We kunnen ook afwijkingen in het dataverkeer detecteren. Furthermore we scan URLs for scripting. Verder kunnen we ook URL's scannen voor scripting.
Security Misconfiguratie
We laten niet toe dat XML direct naar de backend service gezonden wordt. Hierdoor is XXE bijna onmogelijk.De oppervlakte voor security misconfiguraties wordt veel kleiner, want optische beveiliging is beveiliging.
Kwetsbare en verouderde componenten
Veel kwetsbare en verouderde componenten worden uitgebuit door direct de API's te benaderen. Deze specifieke invalhoek van kwetsbare en verouderde componenten aanvallen wordt onmogelijk met Jimber Web Application Isolation.
Identificatie en authenticatie fouten
Door oAuth of publieke/private sleutel authenticatie toe te passen op je SaaS applicatie of intranet kunnen we authenticatie beschermen met de best mogelijke beveiliging.
Lees meer over de OWASP top 10 van 2021 op hun website: https://owasp.org/Top10/