Kan kunstmatige intelligentie u vertellen over de kwetsbaarheden van een programma? Misschien, maar misschien wilt u niet al uw vertrouwen stellen in wat er staat.

Penetratietesten is een beveiligingstest waarbij kwetsbaarheden worden gebruikt om andere kwetsbaarheden in een systeem te ontdekken en schadelijke code uit te voeren. Deze tests zijn vooral belangrijk voor bescherming tegen datamining en het voorkomen van beveiligingsmisbruik.

Penetratietesten omvatten verschillende technieken die worden gebruikt om de beveiliging van het netwerk te testen. Deze technieken omvatten het scannen van het netwerk, firewalls, beveiligingsbewakingssystemen en kunstmatige intelligentie. Kunstmatige intelligentie kan beveiligingstests analyseren met behulp van technologieën die zijn ontwikkeld om netwerkkwetsbaarheden aan het licht te brengen.

AI kan u in staat stellen uitgebreidere en effectievere resultaten te behalen met speciale algoritmen die zijn ontworpen voor gebruik in penetratietesten en automatisch uitgevoerde beveiligingstesten.

instagram viewer

Voordelen van het gebruik van AI voor penetratietesten

Tegenwoordig hebben de snelle ontwikkeling van technologie en de steeds toenemende beveiligingsbehoeften van gebruikers de noodzaak onthuld om AI-technologieën te gebruiken bij beveiligingstests. Het gebruik van AI om de beveiliging te verbeteren, levert veel snellere en efficiëntere resultaten op, waardoor er geen tijdrovende mankracht meer nodig is om vaak op maat gemaakte en complexe beveiligingstests uit te voeren. AI helpt kwetsbaarheden zo snel mogelijk op te sporen. Het kan ook unieke en complexe beveiligingstests uitvoeren, waardoor het gemakkelijker wordt om kwetsbaarheden op te sporen.

AI lijkt behoorlijk succesvol te zijn, vooral als het gaat om het detecteren en blokkeren van een aanval. Om kunstmatige intelligentie te trainen zijn zeer grote datasets nodig. Een applicatie met veel webverkeer is in dit opzicht een weldoener. Omdat je elk binnenkomend verkeer eruit kunt laten zien als een dataset die door AI kan worden gebruikt. Zo heb je een AI die kan lezen en webapplicatieverkeer analyseren en dreigingen detecteren. Dit is een van de eenvoudigste voorbeelden die gegeven kunnen worden.

Het kan niet alleen webverkeer vooraf detecteren, maar ook veel malware voor uw app of apparaat. Deze methode wordt al door veel firewalls gebruikt.

Naast al deze zijn menselijke fouten een van de grootste problemen in cybersecurity. Een kleine codekwetsbaarheid die onopgemerkt blijft, kan leiden tot grote onomkeerbare beveiligingsproblemen. Sommige plug-ins die scannen op kwetsbaarheden in code zijn ontstaan ​​met de ontwikkeling van AI en ze waarschuwen ontwikkelaars voor dergelijke problemen. Tot nu toe hebben ze enig succes getoond in het voorkomen van menselijke fouten.

Daarnaast is ook de getoonde responstijd tegen een dreiging erg belangrijk. Als je wordt aangevallen, kost het tijd om de aanval te detecteren, het te verdedigen pad te plannen en verdedigingssystemen te lanceren. Maar AI is in dit opzicht erg nuttig.

Beperkingen van AI in cyberbeveiliging

Het gebruik van AI voor cyberbeveiligingsdoeleinden vereist het identificeren en analyseren van kwaadaardige, schone en mogelijk onveilige applicaties. Zelfs als je hele grote datasets gebruikt om een ​​algoritme te trainen, ben je nooit zeker van het resultaat. Daardoor is het niet veilig om volledig op machines en AI te vertrouwen. Het is noodzakelijk om AI-technologie te ondersteunen met menselijke tussenkomst.

Sommige makers van beveiligingstools beweren dat oplossingen die worden aangedreven door machine learning elke instantie kunnen analyseren. Volgens de fabrikanten kunnen deze tools malware detecteren met alleen wiskundige middelen. Dit is echter nauwelijks mogelijk.

Het kraken van de Enigma-code door Alan Turing tijdens de Tweede Wereldoorlog is daar een heel goed voorbeeld van. Zelfs een perfecte machine kan niet beslissen of een onbekende invoer in de toekomst ongewenst gedrag kan veroorzaken. Dit bewijs kan op veel verschillende gebieden worden toegepast, waaronder cyberbeveiliging.

Een andere ernstige beperking van machine learning-toepassingen in cyberbeveiliging is verborgen binnen de grenzen van kunstmatige-intelligentiemodellen. Machines zijn bijvoorbeeld slim genoeg geworden om mensen te verslaan met schaken.

Maar schaken heeft bepaalde regels. Schaakengines wijken niet af van deze regels. Als het om cybersecurity gaat, hebben aanvallers vaak geen regels. De steeds veranderende aard van het digitale landschap maakt het onmogelijk om een ​​beschermende oplossing te creëren die alle toekomstige bedreigingen kan detecteren en blokkeren.

Broncodeanalyse met ChatGPT

ChatGPT, ontwikkeld door OpenAI, heeft op veel gebieden een serieuze intrede in ons leven gedaan. Als je kan stel wat vragen en chat met ChatGPT, het probeert je ook te helpen met programmeer- en softwareproblemen. ChatGPT probeert zelfs broncode-analyse uit te voeren, als je het vanuit een cybersecurity-perspectief bekijkt. Maar ChatGPT staat nog in de kinderschoenen en het zal even duren voordat het aan de gang is.

Laten we, om dit beter te zien, de kracht van ChatGPT testen. Hieronder staat bijvoorbeeld een eenvoudige JavaScript-code die een XSS-kwetsbaarheid creëert. Laten we ChatGPT vragen naar deze code en laat het ons vertellen over eventuele kwetsbaarheden.

document.schrijven("Huidige URL: " + document.baseURI);

ChatGPT noemde een XSS-kwetsbaarheid in antwoord. Dit is een vrij goed begin. Maar broncodes zijn nog nooit zo eenvoudig. Dus laten we proberen het voorbeeld wat ingewikkelder te maken.

Hieronder ziet u een code die is opgesteld in de programmeertaal C. Deze C-code hoort bij een kwetsbare applicatie. Het werd zelfs volledig gebruikt in een toepassing in de echte wereld. Als u wilt, kunt u de kwetsbaarheden in de broncode in de echte wereld onderzoeken Sonar uitgebracht in 2022.

char *loggerPath *cmd;

leegteroterenLog(){
charlogOud[PATH_MAX], logNieuw[PATH_MAX], tijdstempel[0x100];
tijd_t t;
tijd(&t);
strftime (tijdstempel, grootte van (tijdstempel), "%FT%T", gmtime(&t));
snprintf (logOud, grootte van (logOud), "%s/../logs/global.log", loggerPath);
snprintf (logNieuw, grootte van (logNieuw), "%s/../logs/global-%s.log", loggerPath, tijdstempel);
execl("/bin/cp", "/bin/cp", "-A", "--", logOud, logNieuw, NUL);
}

intvoornaamst(int argc, char **argv){
als (argc != 2) {
printf("Gebruik: /opt/logger/bin/loggerctl \n");
opbrengst1;
}

als (setuid(0) == -1) opbrengst1;
als (seteuïde(0) == -1) opbrengst1;

char *executablePath = argv[0];
loggerPath = dirname (uitvoerbaar pad);
cmd = argv[1];

als (!strcmp (cmd, "draaien")) roterenLog();
anders lijstOpdrachten();
opbrengst0;
}

De kwetsbaarheid hier is dat een aanvaller wijzigingen kan aanbrengen in sommige bestanden zonder beheerdersrechten. Laten we eens kijken hoe ChatGPT zal reageren op dit beveiligingsprobleem.

Het grootste probleem in deze code is setuid, gebruikersnaam (uid) en effectief gebruikers-ID (euid). Maar zonder al te veel technische details in te gaan, is het belangrijkste punt waar u op moet letten ChatGPT kan niet detecteren dit dunne deel. Het kan beseffen dat er een probleem is, maar kan helaas niet tot de kern van dit probleem komen.

Door deze voorbeelden heb je reacties gezien op verschillende programmeertalen en kwetsbaarheden. Als de code heel eenvoudig is en een duidelijk beveiligingslek heeft, kan ChatGPT u helpen. Maar u moet niet volledig op ChatGPT vertrouwen voor broncodeanalyse, penetratietesten en andere beveiligingsanalyses.

De toekomst van penetratietesters

Kunstmatige intelligentie zal in de toekomst een belangrijk onderdeel zijn van het werk van penetratietesters. Penetratietesters hoeven bijvoorbeeld geen tijd te nemen om kwaadwillende activiteiten handmatig te detecteren en kunnen automatisch beveiligingsscans uitvoeren.

AI zal ook helpen bij het detecteren en ondernemen van actie tegen nieuwe en complexere aanvalstechnieken voor penetratietesten. Maar AI is nog steeds als een kind dat in het park speelt en advies nodig heeft van een volwassene. Voor de nabije toekomst zullen cybersecurity-experts en penetratietesters niet snel zonder werk komen te zitten.