Accueil Technologie

Est-il possible d’utiliser l’intelligence artificielle pour les tests de pénétration ?

Les tests de pénétration sont des tests de sécurité qui consistent à utiliser des vulnérabilités pour découvrir d’autres vulnérabilités dans un système et exécuter un code malveillant. Ces tests sont particulièrement importants pour la protection contre l’exploration de données et la prévention des exploits de sécurité.


Les tests de pénétration comprennent plusieurs techniques utilisées pour tester la sécurité du réseau. Ces techniques comprennent l’analyse du réseau, les pare-feu, les systèmes de surveillance de la sécurité et l’intelligence artificielle. L’intelligence artificielle peut analyser les tests de sécurité à l’aide de technologies développées pour révéler les vulnérabilités des réseaux.

L’IA peut vous permettre d’obtenir des résultats plus complets et plus efficaces grâce à des algorithmes spéciaux conçus pour être utilisés dans les tests de pénétration et les tests de sécurité exécutés automatiquement.


Avantages de l’utilisation de l’IA pour les tests de pénétration

Aujourd’hui, l’évolution rapide des technologies et les besoins toujours croissants des utilisateurs en matière de sécurité ont mis en évidence la nécessité d’utiliser les technologies de l’IA dans les tests de sécurité. L’utilisation de l’IA pour améliorer la sécurité permet d’obtenir des résultats beaucoup plus rapides et efficaces, éliminant ainsi le besoin d’une main-d’œuvre qui prend beaucoup de temps pour effectuer des tests de sécurité souvent personnalisés et complexes. L’IA permet de détecter les vulnérabilités le plus rapidement possible. Elle peut également effectuer des tests de sécurité uniques et complexes, ce qui facilite la détection des vulnérabilités.

L’IA semble assez performante, surtout lorsqu’il s’agit de détecter et de bloquer une attaque. Pour entraîner l’intelligence artificielle, il faut de très grands ensembles de données. Une application avec un trafic web élevé est un avantage à cet égard. En effet, vous pouvez faire en sorte que chaque trafic entrant ressemble à un ensemble de données que l’intelligence artificielle peut utiliser. Vous disposez ainsi d’une IA capable de lire et d’analyser le trafic d’une application web et de détecter les menaces. C’est l’un des exemples les plus simples que l’on puisse donner.

Elle peut également prédétecter non seulement le trafic web, mais aussi un grand nombre de logiciels malveillants pour votre application ou votre appareil. Cette méthode a déjà commencé à être utilisée par de nombreux pare-feu.

En outre, l’erreur humaine est l’un des plus grands problèmes en matière de cybersécurité. Une vulnérabilité mineure du code qui passe inaperçue peut entraîner des problèmes de sécurité majeurs et irréversibles. Certains plugins qui recherchent les vulnérabilités dans le code sont apparus avec le développement de l’IA, et ils avertissent les développeurs de ces problèmes. Jusqu’à présent, ils ont réussi à prévenir les erreurs humaines.

En outre, le temps de réaction face à une menace est également très important. En cas d’attaque, il faut du temps pour détecter l’attaque, planifier la défense et lancer les systèmes de défense. L’IA est très utile à cet égard.

Limites de l’IA en matière de cybersécurité

L’utilisation de l’IA à des fins de cybersécurité nécessite l’identification et l’analyse d’applications malveillantes, propres et potentiellement dangereuses. Même si l’on utilise de très grands ensembles de données pour entraîner un algorithme, on ne peut jamais être sûr du résultat. Par conséquent, il n’est pas sûr de se fier entièrement aux machines et à l’IA. Il est nécessaire de soutenir la technologie de l’IA par une intervention humaine.

Certains fabricants d’outils de sécurité affirment que les solutions basées sur l’apprentissage automatique peuvent analyser chaque cas. Selon eux, ces outils peuvent détecter les logiciels malveillants en utilisant uniquement des moyens mathématiques. Toutefois, cela n’est guère possible.

Le décryptage du code Enigma par Alan Turing pendant la Seconde Guerre mondiale en est un très bon exemple. Même une machine parfaite ne peut pas décider si une entrée inconnue peut provoquer un comportement indésirable à l’avenir. Cette constatation peut s’appliquer à de nombreux domaines, y compris la cybersécurité.

Les limites des modèles d’intelligence artificielle cachent une autre limitation sérieuse des applications de l’apprentissage automatique dans le domaine de la cybersécurité. Par exemple, les machines sont devenues suffisamment intelligentes pour battre les humains aux échecs.

un homme jouant aux échecs avec une intelligence artificielle

Mais les échecs obéissent à certaines règles. Les moteurs d’échecs ne dérogent pas à ces règles. En matière de cybersécurité, les attaquants n’ont souvent pas de règles. La nature changeante du paysage numérique rend impossible la création d’une solution de protection capable de détecter et de bloquer toutes les menaces futures.

Analyse du code source avec ChatGPT

ChatGPT, développé par OpenAI, a fait une entrée remarquée dans nos vies dans de nombreux domaines. Vous pouvez poser des questions et discuter avec ChatGPT, mais il essaie également de vous aider à résoudre des problèmes de programmation et de logiciel. ChatGPT tente même d’analyser le code source, si l’on se place du point de vue de la cybersécurité. Mais ChatGPT n’en est qu’à ses débuts et il faudra du temps pour qu’il soit opérationnel.

Pour mieux comprendre, testons la puissance de ChatGPT. Par exemple, voici un simple code JavaScript qui crée une vulnérabilité XSS. Interrogeons ChatGPT sur ce code et demandons-lui de nous indiquer les éventuelles vulnérabilités.

 document.write("<strong>Current URL</strong> : " + document.baseURI);
Demander à chatgpt un code javascript vulnérable

ChatGPT a mentionné une vulnérabilité XSS en réponse. C’est un bon début. Mais les codes sources ne sont jamais aussi simples. Essayons donc de rendre l’exemple un peu plus compliqué.

Vous trouverez ci-dessous un code préparé dans le langage de programmation C. Ce code C appartient à une application vulnérable. Ce code C appartient à une application vulnérable. Il a même été entièrement utilisé dans une application réelle. Si vous le souhaitez, vous pouvez examiner les vulnérabilités du code source du monde réel que Sonar a publiées en 2022.

 char *loggerPath *cmd;

void rotateLog(){
    char logOld[PATH_MAX], logNew[PATH_MAX], timestamp[0x100];
    time_t t;
    time(&t);
    strftime(timestamp, sizeof(timestamp), "%FT%T", gmtime(&t));
    snprintf(logOld, sizeof(logOld), "%s/../logs/global.log", loggerPath);
    snprintf(logNew, sizeof(logNew), "%s/../logs/global-%s.log", loggerPath, timestamp);
    execl("/bin/cp", "/bin/cp", "-a", "--", logOld, logNew, NULL);
}

int main(int argc, char **argv) {
    if (argc != 2) {
        printf("Usage: /opt/logger/bin/loggerctl \n");
        return 1;
    }

    if (setuid(0) == -1) return 1;
    if (seteuid(0) == -1) return 1;

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

    if (!strcmp(cmd, "rotate")) rotateLog();
    else listCommands();
    return 0;
}

La vulnérabilité ici est qu’un attaquant peut apporter des modifications à certains fichiers sans privilèges administratifs. Voyons comment ChatGPT répondra à cette faille de sécurité.

Réponse à un code C vulnérable de chatgpt

Le problème principal de ce code est setuid, identifiant de l’utilisateur (uid), et l’identifiant effectif de l’utilisateur (euid). Cependant, sans entrer dans les détails techniques, le point principal auquel vous devez prêter attention est que ChatGPT n’a pas pu détecter cette partie fine. Il peut se rendre compte qu’il y a un problème, mais ne peut malheureusement pas aller à la racine de ce problème.

Ces exemples vous ont permis de voir les réactions à différents langages de programmation et vulnérabilités. Si le code est vraiment simple et présente une faille de sécurité évidente, ChatGPT peut vous aider. Mais vous ne devriez pas vous fier entièrement à ChatGPT pour l’analyse du code source, les tests de pénétration et autres analyses de sécurité.

L’avenir des testeurs de pénétration

À l’avenir, l’intelligence artificielle jouera un rôle important dans le travail des testeurs de pénétration. Par exemple, les testeurs de pénétration n’auront plus à prendre le temps de détecter manuellement les activités malveillantes et pourront effectuer des analyses de sécurité automatiquement.

L’IA permettra également de détecter de nouvelles techniques d’attaque plus complexes pour les tests d’intrusion et de prendre des mesures à leur encontre. Mais l’IA est encore comme un enfant qui joue dans un parc et a besoin des conseils d’un adulte. Dans un avenir proche, les experts en cybersécurité et les spécialistes des tests d’intrusion ne seront pas facilement au chômage.

Leave your vote

0 0 votes
Évaluation de l'article
S’abonner
Notification pour
guest
0 Commentaires
Commentaires en ligne
Afficher tous les commentaires

Log In

Forgot password?

Don't have an account? Register

Forgot password?

Enter your account data and we will send you a link to reset your password.

Your password reset link appears to be invalid or expired.

Log in

Privacy Policy

Add to Collection

No Collections

Here you'll find all collections you've created before.

0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x

Newsletter

inscrivez vous pour recevoir nos actualités

Actualités, astuces, bons plans et cadeaux !