Video: Google Chrome 15.0.874.102 2024
Webgebaseerde systemen bevatten veel componenten, waaronder toepassingscode, databasebeheersystemen, besturingssystemen, middleware en de webserver-software zelf. Deze componenten kunnen, individueel en collectief, beveiligingsontwerp of implementatiedefecten hebben. Enkele van de aanwezige defecten zijn deze:
- Het niet lukken van injectie-aanvallen. Aanvallen zoals JavaScript-injectie en SQL-injectie kunnen een aanvaller toestaan een webtoepassing slecht te laten werken en gevoelige intern opgeslagen gegevens openbaar te maken.
- Defecte authenticatie. Er zijn vele manieren waarop een website authenticatie kan implementeren - ze zijn te talrijk om hier te vermelden. Authenticatie is essentieel om gelijk te krijgen; veel sites doen dit niet.
- Beheer van defecte sessies. Webservers maken logische "sessies" om individuele gebruikers bij te houden. De sessiemanagementmechanismen van veel websites zijn kwetsbaar voor misbruik, met name om een aanvaller toe te staan de sessie van een andere gebruiker over te nemen.
- Fout bij cross-site scripting-aanvallen. Websites die inputgegevens niet controleren en zuiveren. Dientengevolge kunnen aanvallers soms aanvallen maken die kwaadaardige inhoud naar de gebruiker sturen.
- Fout bij het blokkeren van cross-site-verzoeken voor vervalsingsaanvallen. Websites die niet het juiste sessie- en sessiecontextbeheer gebruiken, kunnen kwetsbaar zijn voor aanvallen waarbij gebruikers worden misleid om opdrachten naar websites te verzenden die schade kunnen veroorzaken.
Een voorbeeld is waarbij een aanvaller een gebruiker ertoe brengt een koppeling te klikken die de gebruiker daadwerkelijk naar een URL als deze leidt:
// bank. com / overbrengen? tohackeraccount: bedrag = 99999. 99
. - Fout bij het beschermen van directe objectreferenties. Websites kunnen soms worden misleid om toegang te krijgen tot en gegevens te verzenden naar een gebruiker die niet bevoegd is om deze te bekijken of aan te passen.
Deze kwetsbaarheden kunnen op drie belangrijke manieren worden beperkt:
- Ontwikkelaarstraining over de technieken voor een veiliger softwareontwikkeling
- Beveiliging opnemen in de ontwikkelingslevenscyclus
- Gebruik van dynamische en statische toepassing scanhulpmiddelen