IT-nachtmerries die je detecteert met een audit
26 oktober 2023
3
Bijna Halloween, dat betekent griezelen, snoepen en verschieten. Over het algemeen zijn onze developers koele kikkers die je moeilijk van hun stuk krijgt. Toch zijn er enkele horrors die hen koude rillingen bezorgen. Wie zijn de Freddy Kruegers uit de IT-wereld? We leiden je graag mee langs drie voorkomende IT-nachtmerries en geven je enkele tips & tricks hoe je deze kan voorkomen.
Het spaghettimonster
Dit monster wordt gekenmerkt door slechte broncode. Een eerste issue die dit soort code in de hand werkt, is het gebrek aan documentatie. Het ontbreken van een leidraad maakt het praktisch onmogelijk voor developers om te begrijpen hoe de code werkt en welke functies het heeft.
Daarnaast kunnen er te veel waarden hardcoded zijn. Dit tast de flexibiliteit en aanpasbaarheid van jouw applicatie aan.
In andere gevallen is de code simpelweg te complex. De geschreven code kan een te ingewikkelde logica hebben of een gebrek aan een duidelijke structuur. Dan spreken we over spaghetti-code. Omdat verscheidene delen van de code op een verwarrende manier met elkaar verweven zijn, is het uiterst moeilijk om wijzigingen aan te brengen in de code zonder onbedoelde neveneffecten.
Eén van onze collega’s kwam recent een spaghettimonster tegen: “toen ik de codebase van de applicatie controleerde, bleek die echt total loss te zijn. Het enige advies dat ik nog kon geven, was om de software in de vuilbak te gooien, te vergeten en opnieuw te beginnen.”
Bij slechte code kan je twee acties uitvoeren. Als na een analyse blijkt dat de code nog te redden valt, upgraden we die stapsgewijs naar een betere architectuur. Let wel: dit is een arbeidsintensief traject.
Sommige spaghettimonsters daarentegen vallen niet te redden. Wanneer de code onredbaar slecht is, dan zit er niets anders op dan vanaf nul opnieuw beginnen.
De stiekeme indringer
“We waren tijdens een audit een applicatie aan het controleren die enkel toegankelijk was via een login. Toen bleek dat er een indringer aan de deur te wachten stond: er zat een SQL-injection in het login formulier.”
SQL staat voor Structured Query Language en is een veelvoorkomende soort cyberaanval waarbij de aanvaller kwaadaardige SQL-code toevoegt aan de bestaande code. Daardoor word je blootgesteld aan ongewenste acties: de indringer kan gegevens uit de database bekijken, wijzigen of verwijderen. Ofwel de tweede nachtmerrie van developers: een stiekeme indringer die eigenlijk niet binnen mocht.
Wanneer de SQL-injectie achter het login-formulier van een website of applicatie zit, heb je een groot probleem. Door ongeoorloofde authenticatie geraakt de aanvaller in jouw systemen. Gebruikersrollen kunnen worden aangepast, gevoelige info gelekt, persoonlijke gegevens gemanipuleerd …
SQL-injecties zijn ernstige beveiligingslekken die meestal redelijk eenvoudig op te lossen vallen. Vaak zijn ze het resultaat van ontbrekende kennis bij de ontwikkelaars van de applicatie. Schakel daarom snel experten in met veel kennis over beveiligingsprincipes om dit monster zo snel mogelijk weer uit je huis te krijgen.
De duivelse deurwaarder
De laatste IT-horror is de duivelse deurwaarder. Soms komt het voor dat kwetsbare PHP-scripts publiek worden geplaatst. Dit is voor onze deurwaarder de sleutel onder de mat om een website binnen te geraken en die helemaal over te nemen.
De beveiligingsrisico’s zijn niet min. Er kan schadelijke code worden geïnjecteerd in webpagina’s die gebruikers bezoeken. Dit faciliteert het stelen van sessiegegevens of het onrechtmatig uitvoeren van acties in naam van de websitebezoeker. Dit monster kan gegevens stelen en die misbruiken voor identiteitsdiefstal of fraude. Worst case nemen ze de hele server over om er hun eigen software op te laten draaien.
Om deze nachtmerrie tegen te houden is het van cruciaal belang om te zorgen dat alle scripts, bibliotheken en frameworks up-to-date zijn.
Een audit van jouw systemen nodig?
Hoe wapen je jouw systemen tegen deze nachtmerries? Heel simpel: met een audit. Een audit is een grondige analyse van jouw IT-systemen, infrastructuur, beleid en procedures. Door die zaken in kaart te brengen, verbeter je de beveiliging, efficiëntie en effectiviteit van jouw IT-systemen.
Heb je dus twijfels over de kwaliteit en ondersteuning van jouw huidige IT-partner? Of heb je een gevestigde applicatie die al geruime tijd in gebruik is, maar waarvan je het potentieel wil optimaliseren? Of maak je jezelf zorgen over zekere beveiligingskwesties? Dan is een audit een uitstekende keuze.
Tijdens zo’n audit komen software issues boven. Welke lijken kunnen er zo uit de kast vallen?
Beveiligingsproblemen: verouderde software, slechte datavalidatie of gelekte gevoelige gegevens.
Prestatieproblemen: trage laadtijden, inefficiënte database query’s of een overmatig gebruik van bronnen.
Schaalbaarheidsproblemen: niet-schaalbare architectuur of issues met database schaalbaarheid.
Slechte codekwaliteit: spaghetticode, hardcoded waarden of ontbrekende documentatie.
SEO-problemen: onjuiste, ontbrekende meta-tags of gebroken links.
Gebruikerservaring (UX) en Interface (UI) Problemen: een niet-responsief design of een inconsistent ontwerp.
Compliance en toegankelijkheidsproblemen: niet-naleving van de WCAG’s of de juridische compliance.
Issues met infrastructuur en hosting: een single point of failure of onvoldoende back-up strategie.
Jaag alle monsters van onderuit jouw bed door jouw software veilig en futureproof te houden met een audit. Laat onze experten helpen. Ze zijn de Ghostbusters die je belt wanneer je iets vreemd merkt aan jouw systemen.