Towards overcoming zero-day vulnerabilities in open source software : an automatic approach for security patches identification

Sawadogo, Delwendé Donald Arthur (2022). « Towards overcoming zero-day vulnerabilities in open source software : an automatic approach for security patches identification » Thèse. Montréal (Québec, Canada), Université du Québec à Montréal, Doctorat en informatique.

Fichier(s) associé(s) à ce document :
[img]
Prévisualisation
PDF
Télécharger (1MB)

Résumé

Les attaques de sécurité logicielle peuvent avoir un impact considérable : elles peuvent porter atteinte à la vie privée par la fuite de données, entraîner des pertes financières par l’indisponibilité des services, corrompre l’intégrité de données sensibles, etc. De nombreux efforts sont déployés par les développeurs et les équipes de recherche pour réduire l’exposition des logiciels aux attaques de parties malveillantes. Les équipes de développement de logiciels propriétaires sont généralement très organisées, avec des revues de code régulières et des analyses statiques ainsi que des tests dynamiques continus. Dans le monde du logiciel libre, ces ressources sont rares et les procédures de contribution au code source sont ouvertes. Des vulnérabilités jour-zéro peuvent passer inaperçues. Une vulnérabilité de type jour-zéro est une vulnérabilité dans un système ou un dispositif qui a été divulguée, mais n’a pas encore été corrigée. Ce type de vulnérabilité peut rester inconnu des parties légitimes pendant de longues durées, augmentant ainsi les risques d’attaques. L’objectif de cette thèse est de proposer une approche générique et automatique utilisant des techniques d’apprentissage automatique pour détecter le plus tôt possible les vulnérabilités dans le code des logiciels libres en contribuant aux deux blocs suivants : — L’identification des commits corrigeant les vulnérabilités : lorsqu’un changement de code (commit) est étiqueté comme étant pertinent pour la sécurité, c’est-à-dire comme corrigeant une vulnérabilité, les mainteneurs diffusent rapidement le changement, et les utilisateurs sont informés de la nécessité de mettre à jour la bibliothèque l’application. Malheureusement, certains changements pertinents pour la sécurité passent souvent inaperçus car ils représentent des correctifs silencieux de vulnérabilités. Nous proposons SSPCatcher, une approche basée sur le co-entraînement pour détecter les correctifs de sécurité (c’est-à-dire les correctifs qui corrigent le code vulnérable) dans le cadre d’un service de surveillance automatique des dépôts de code. En s’appuyant sur différentes classes de caractéristiques, nous montrons empiriquement qu’une telle automatisation est réalisable et peut donner une précision de plus de 80% dans l’identification des correctifs de sécurité, avec un rappel de plus de 80%. Au-delà d’une telle évaluation comparative avec des données de base qui démontre une amélioration par rapport à l’état de l’art, nous avons confirmé que SSPCatcher peut aider à capturer des correctifs de sécurité qui n’ont pas été signalés comme tels. — L’identification des commits introduisant les vulnérabilités : la détection des vulnérabilités dans les logiciels est une course constante entre les équipes de développement et les attaquants potentiels. Tandis que de nombreuses approches statiques et dynamiques se sont concentrées sur l’analyse régulière du logiciel dans son intégralité, une direction de recherche récente s’est concentrée sur l’analyse des changements appliqués au code. Nous proposons dans cette partie une nouvelle approche pour identifier les commits contribuant à la vulnérabilité, basée sur une technique d’apprentissage semi-supervisée avec un ensemble de caractéristiques spécifiques. En outre, étant donné l’influence de VCCFinder (Perl et al., 2015) dans cette direction de recherche, nous entreprenons une enquête sur ses performances en tant que système de pointe. À cette fin, nous proposons également une étude de réplication de l’approche d’apprentissage supervisé VCCFinder. Ce document présente notre problématique, nos contributions ainsi que les travaux réalisés dans cette thèse. _____________________________________________________________________________ MOTS-CLÉS DE L’AUTEUR : correctif de sécurité, vulnérabilités "jour zéro", attaque de sécurité logicielle, co-entraînement, vulnérabilité logicielle, apprentissage automatique, logiciel libre.

Type: Thèse ou essai doctoral accepté
Informations complémentaires: Fichier numérique reçu et enrichi en format PDF/A.
Directeur de thèse: Moha, Naouel
Mots-clés ou Sujets: Vulnérabilité informatique / Logiciels libres / Apprentissage automatique / Sécurité informatique / Attaques informatiques
Unité d'appartenance: Faculté des sciences > Département d'informatique
Déposé par: Service des bibliothèques
Date de dépôt: 15 juin 2023 10:31
Dernière modification: 15 juin 2023 10:31
Adresse URL : http://archipel.uqam.ca/id/eprint/16695

Statistiques

Voir les statistiques sur cinq ans...