Security is belangrijk, en een gigantisch groot onderwerp in de media. Hierdoor zijn er ook een heel aantal misverstanden zijn over security op het web en op online apps. Deze misverstanden bestaan niet alleen bij de gewone mens, maar ook zeker bij de bedrijven.
Zo heb je bijvoorbeeld het misverstand: onze applicatie is veilig op ons netwerk, want wij hebben een firewall.
Dit is helaas niet echt een goede redenering, omwille van de samenwerking van de firewall en de router die het bedrijf van internet voorziet. Deze laatste heeft verschillende poorten, een soort van deuren waarlangs je toegang hebt, en de firewall blokkeert de meeste van deze poorten. Alleen is het probleem dat de weg waarlangs je op de applicatie op internet gaat, dezelfde is die niet kan geblokkeert worden door de firewall, omdat je anders niet door kunt, en ook nog eens dezelfde poort is waarlangs hackers binnen komen.
De hacker, ook wel de attacker genoemd, heeft altijd een model. Een hacker kan bijvoorbeeld inbreken in de verbinding tussen jou en de server waarmee je verbindt. Hij kan ook een andere techniek gebruiken, zoals een reflectie-techniek. Dit betekent zoveel als inloggen op de server, en wachten tot jij er bent om via jouw verbinding in jouw computer te geraken.
Als gevolg van deze verschillende modellen die een hacker kan hebben, kun je dus besluiten dat je niemand met jouw web applicatie kunt vertrouwen, en dus het stuk dat waar je controle over hebt, zoveel mogelijk moet beveiligen.
Er bestaan meerdere statistieken over wie er achter de vele aanvallen zit. Uit deze statistieken kunnen we besluiten dat de meeste aanvallen van buitenaf komen, maar dat een kleiner percentage ook van internen komt, dus van binnen het bedrijf.
Er zijn 2 grote soorten van attacks: de technische attacks, en de business logic attacks. Voor de eerste soort bestaat er een top 10 van de meest kritieke security risico’s voor web apps, namelijk de OWASP Top 10. Ondanks deze top tien de meest kritieke risico’s bevat, bestaan er in de realiteit nog veel meer, en is een top 10 tegelijk ook een top(je) van de ijsberg. Hieronder staat de OWASP top 10 van 2017:
- Injection
- Broken aunthetication
- Sensitive data exposure
- XML external entities
- Broken Access Control
- Security Misconfiguration
- Cross-Site scripting
- Insecure Deserialization
- Using components with known vulnerabilities
- Insufficient logging and monitoring
De meeste van deze risico’s worden niet veroorzaakt door de developer, maar wel door het design.
Voor de tweede soort worden vooral veroorzaakt door de developer. Hier is het probleem dat de business logic de code vermoeilijkt en soms zelfs onveilig en onjuist maakt.
Om software te developpen op een consequente en efficiente manier met een demonstreerbare en gestandaardiseerde security qualiteit, gebruiken developpers de SDLC (Secure Development LifeCycle). Dit houdt evenveel in als zeggen dat het meeste werk van beveiliging in de analyse en het design wordt gedaan, en in mindere mate in de technische fases. Dit dient om de meeste fouten en de gebreken uit de applicatie te halen nog voor dat er een letter code geschreven is.