Menace cachée - Analyse de vulnérabilité à l'aide de News Graph

Lorsque vous êtes confronté à une nouvelle vulnérabilité, quelle est la première pensée? Bien sûr, répondez le plus rapidement possible. Cependant, la vitesse n'est qu'une des conditions d'une lutte efficace contre les menaces à la sécurité de l'information. En matière de sécurité d'entreprise, il est tout aussi important de déterminer avec précision à quoi vous devez répondre en premier. Une menace sous-estimée peut entraîner une perte grave ou une perte de bonne volonté. Mais si le nombre de vulnérabilités ne cesse de croître, comment évaluer rapidement leur importance et ne pas rater des détails importants?


Dynamique de vulnérabilité par groupe CVSS (source - vulners.com)

Pour classer les vulnérabilités selon divers critères, le Score CVSS (Common Vulnerability Scoring System) est traditionnellement utilisé, classant les vulnérabilités selon divers critères, de la complexité d'exploitation aux dommages causés et à d'autres paramètres.

Il semblerait, pourquoi trouver autre chose - mais le score CVSS a un point faible - il est basé sur des estimations d'experts qui ne sont pas étayées par de vraies statistiques.. Il serait beaucoup plus efficace d'offrir aux experts des cas déjà sélectionnés selon certains critères quantitatifs et de prendre des décisions sur la base de données vérifiées - mais où obtenir ces données et que faire ensuite? Cela ressemble à une tâche inhabituelle et intéressante pour un centre de données - et c'est ce défi qui m'a inspiré, moi et l'équipe Vulners, pour un nouveau concept d'évaluation et de classification des vulnérabilités basé sur un graphique d'informations connexes.

Pourquoi des graphiques? Dans le cas des réseaux sociaux et des médias, les méthodes graphiques ont longtemps été utilisées avec succès à diverses fins: de l'analyse de la distribution du contenu dans le flux d'actualités aux notes sur l'influence des auteurs TOP sur les opinions des lecteurs et le regroupement des réseaux sociaux par intérêt. Toute vulnérabilité peut être représentée sous forme de graphique contenant des données - des informations sur les changements dans les logiciels ou le matériel et les effets qui en découlent.

À propos des données


Je n'ai pas eu à collecter manuellement des informations sur chaque mise à jour, tous les textes nécessaires ont été trouvés dans la base de données de vulnérabilité ouverte vulners.com. Visuellement, les données sont les suivantes:



Chaque vulnérabilité, en plus de son nom, sa date de publication et sa description, a une famille (NVD, scanner, exploit, etc.) qui lui a déjà été affectée (notation CVD (CVSS est utilisé ci-après) v2), ainsi que des liens vers des actualités associées.

Si vous présentez schématiquement ces connexions sous la forme d'un graphique, une vulnérabilité ressemblera à ceci: le cercle orange indique la publication source ou parent, les cercles noirs indiquent les actualités sur lesquelles vous pouvez cliquer lorsque vous êtes sur la page parent et les cercles gris représentent les actualités associées, accessibles par Vous ne pouvez parcourir que toutes les publications indiquées par des cercles noirs. Chaque couleur des cercles est un nouveau niveau du graphique des informations connexes, de zéro - la vulnérabilité d'origine, au premier, au second, etc.



Bien sûr, lors de la visualisation d'une nouvelle, nous ne connaissons que le zéro et le premier niveau.Par conséquent, pour obtenir toutes les données, nous avons utilisé la méthode de parcourir le graphique en profondeur, ce qui nous a permis de démêler l'enchevêtrement des nouvelles du début aux nœuds connectés les plus récents (ci-après dénommé le nœud de graphique). À ce stade, des problèmes d'optimisation sont apparus - l'assemblage de graphiques pendant une longue période a pris beaucoup de temps et a dû être conjuré à la fois avec un script et une structure de données. Soit dit en passant, j'ai décidé d'emballer les données finales dans du parquet pour continuer à travailler avec eux en utilisant spark sql, ce qui a grandement facilité l'analyse initiale.

À quoi ressemblent les données du graphique? La visualisation nous aidera à mieux comprendre leur nature. La figure 4 montre un graphique de la vulnérabilité connue mais peu dangereuse de Heartbleed (seulement 5 points sur 10 sur l'échelle cvss).



En regardant ce magnifique «bouquet» de nouvelles et d'exploits connexes, où le point rouge est la vulnérabilité d'origine, nous comprenons que Heartbleed a été considérablement sous-estimé.

En utilisant cet exemple, nous pouvons conclure que la systémicité, la durée et d'autres paramètres de vulnérabilité sont assez bien estimés à l'aide de métriques de graphique. Voici quelques exemples de paramètres de recherche qui ont servi de base à une classification alternative:

  • le nombre de nœuds dans le graphique - est responsable de la "largeur" ​​de la vulnérabilité, de la taille d'une trace laissée dans divers systèmes,
  • le nombre de sous-graphes (grands groupes d'actualités) - est responsable de la granularité du problème ou de la présence de grandes zones problématiques au sein de la vulnérabilité,
  • le nombre d'exploits et de correctifs associés - parle de l'explosion des informations et du nombre de fois où elles ont dû être "traitées",
  • le nombre de types et de familles d'actualités uniques dans le graphique concerne la systématique, c'est-à-dire le nombre de sous-systèmes affectés par l'impact de la vulnérabilité,
  • la durée entre la première publication et le premier exploit, le temps entre la première publication et les dernières nouvelles connexes - sur la nature temporelle de la vulnérabilité, qu'elle s'étende avec une grande «queue» de conséquences ou qu'elle se développe et s'efface rapidement.

Bien sûr, ce ne sont pas toutes des mesures; sous le capot de la recherche, il y a maintenant environ 30 indicateurs qui complètent l'ensemble de base des critères CVSS, y compris l'augmentation moyenne entre les niveaux du graphique de vulnérabilité des nouvelles, le pourcentage d'exploits au premier niveau du graphique, et bien plus encore.

Ouvrez la zone grise


Et maintenant, un peu de science des données et de statistiques - après tout, les hypothèses doivent être confirmées sur les données, n'est-ce pas?

Pour l'expérience avec une échelle alternative et de nouvelles métriques, des nouvelles publiées en janvier 2019 ont été sélectionnées. C'est 2403 newsletters et environ 150 000 lignes dans la colonne des news. Toutes les vulnérabilités des sources ont été divisées en trois groupes selon le score CVSS:

  • Élevé - à partir de 8 points inclus.
  • Moyen - de 6 inclus à 8 points.
  • Faible - moins de 6 points.

Tout d'abord, voyons comment le score CVSS est corrélé avec le nombre de nouvelles liées dans le graphique, le nombre de types de nouvelles et le nombre d'exploits:







dans l'image idéale, nous aurions dû voir une séparation claire des métriques en trois clusters, mais cela ne s'est pas produit, ce qui a indiqué la présence possible d'une zone grise, quel score CVSS ne définit pas - tel est notre objectif.

L'étape logique suivante a été le regroupement des vulnérabilités en groupes homogènes et la construction d'une nouvelle échelle.

Pour la première itération, un classificateur métrique simple et des k-moyennes ont été choisis et une nouvelle matrice d'estimations a été obtenue: les points initiaux (Moyen, Bas, Haut) se trouvent sur l'axe Y, le long du X, où 2 sont les plus grands dans les nouvelles mesures de vulnérabilité, 1 sont les nouvelles vulnérabilités, 0 sont les plus petits.



Une zone marquée d'un ovale (classe de vulnérabilité 2 avec une note initiale faible et moyenne) - Vulnérabilités potentiellement sous-estimées. La séparation en nouvelles classes semble également plus claire, ce que nous visions:







cependant, simplement faire confiance aux modèles est une mauvaise idée, en particulier en ce qui concerne le clustering non supervisé, où la bonne réponse n'est pas connue en principe, et vous ne pouvez vous fier qu'aux métriques de séparation des classes obtenues. .

Et c'est là que nous avons besoin de connaissances d'experts - car pour un bon test et une bonne interprétation des résultats, une connaissance du domaine est nécessaire. Par conséquent, il est souhaitable de vérifier le modèle point par point, par exemple, en retirant quelques vulnérabilités pour une analyse détaillée.

Vous trouverez ci-dessous quelques échantillons lumineux de la zone grise qui ont un faible score CVSS, mais un score graphique élevé - ce qui signifie potentiellement nécessiter une priorité différente pour travailler avec eux. Voici à quoi ils ressemblent dans une représentation graphique:

CVE-2019-0555 (score CVSS 4.4, classe graphique 2 haut)





SMB_NT_MS19_JAN_DOTNET.NASL (score CVSS 5.0, classe graphique 2 haut)





CVE-2019-1653 (score CVSS 5.0, classe graphique) 2 - élevé)





RHSA-2019: 0130 (score CVSS 5.0, classe de graphique 2 - élevé)





Il semble que le concept ait été confirmé par des statistiques et des vérifications ponctuelles, donc dans un avenir proche, nous voulons affiner et automatiser la collecte de métriques de graphique, et - peut-être - le classificateur lui-même. Bien sûr, il y a encore beaucoup de travail à faire - de la collecte d'un grand nombre de nouveaux graphiques pendant des mois non couverts dans l'étude, mais cela ne fait qu'ajouter de l'enthousiasme, tout comme l'essentiel de la tâche. En tant que scientifique des données, je peux dire que le travail sur cette étude a été une expérience incroyablement inspirante, à la fois en termes de sujet et de complexité - même un travail d'ingénierie préparatoire avec des données mal structurées était très intéressant.

finalement


Comment passer d'une évaluation d'expert à des chiffres réels et évaluer l'inestimable?

Après l'étude, il est devenu clair que, tout d'abord, une approche critique est nécessaire non seulement pour toute métrique ou donnée, mais pour le processus dans son ensemble, car le monde est trop dynamique et change plus rapidement que les méthodologies et la documentation. Toujours évalué dans un sens - pourquoi ne pas essayer de changer l'angle de vue? Comme le montre notre exemple, même les hypothèses les plus inhabituelles peuvent être confirmées.

Un rôle important est joué par la disponibilité des données pour les data-entistes - il vous permet de vérifier rapidement les hypothèses les plus audacieuses et de mieux comprendre l'essence de votre domaine dans toutes ses manifestations. Par conséquent, si vous ne collectez pas ou ne supprimez pas encore de données «inutiles», pensez-y, il y a peut-être beaucoup de découvertes qui se cachent là. Ce cas suggère que les données et la sécurité de l'information se complètent parfaitement.

All Articles