Détection d'anomalies d'entropie et de trafic réseau





Dans cet article, Daniil Volkov, un expert de premier plan dans le domaine d'activité Data Science chez Neoflex, parle des méthodes de détection des anomalies de réseau basées sur l'utilisation de l'entropie - la principale caractéristique des systèmes du point de vue de la théorie de l'information. Il note également certaines façons de détecter les anomalies des séries chronologiques.



Au cours de la dernière décennie, de nombreuses recherches se sont concentrées sur l'entropie en tant que mesure du « chaos » inhérent à diverses caractéristiques du trafic réseau. En particulier, les séries temporelles d'entropie se sont avérées être une méthode relativement bonne pour détecter les anomalies dans le trafic réseau. Les avantages de cette approche incluent :



  • . (, Netflow), .
  • . , , , packets rate (rps) (.., packets rate).
  • . , zero-day.




Ainsi, les systèmes de détection d'anomalies proposés basés sur le concept d'« entropie » analysent les flux réseau, et non les paquets réseau individuels. Définissons les flux réseau (ci-après simplement les flux) comme des métadonnées unidirectionnelles sur les paquets réseau qui ont les mêmes adresses et ports IP source et destination, ainsi que le type de protocole IP. Il est important de noter que toute l'activité du réseau dans la couche OSI 3 et supérieure est réduite à des flux, c'est-à-dire ce ne sont pas seulement des connexions TCP, mais aussi des protocoles sans état tels que UDP et ICMP. Avantages de l'utilisation du concept de flux :



  • Ils sont très faciles à utiliser et à stocker des informations, ce qui facilite l'analyse ;
  • Provoquer moins de problèmes de confidentialité et de données personnelles ;
  • Il est facile d'établir l'accès aux informations nécessaires sur le réseau, par exemple, sous forme de Cisco NetFlow, sflow, ou encore IPFIX (à votre convenance).


Entropie



Les concepts d'entropie en physique statistique et en théorie de l'information sont assez proches les uns des autres. De plus, pour nous, ce ne sera pas un fait de dernière importance lorsque nous utiliserons l'entropie comme mesure de la distribution des caractéristiques du trafic - cette entropie sert également de mesure de la proximité de l'état du système à l'équilibre (dans la théorie des processus hors d'équilibre, qui peuvent également inclure l'échange de trafic réseau). Comme beaucoup s'en souviennent, l'entropie classique de Shannon est définie comme :







H=i=1npilogpi,









pi - probabilité i -ième état du système, n - le nombre de tous les états possibles du système. Pour faciliter l'interprétation du résultat et exclure l'influence des facteurs saisonniers qui changent n, nous utiliserons l'entropie de Shannon normalisée dans ce qui suit.







H0=Hlogn,H0[0,1].









Attributs du trafic réseau et séries temporelles d'entropie



Il reste maintenant à expliquer exactement comment nous allons calculer H0=Hlogn,H0[0,1] pour diverses caractéristiques du trafic réseau, et surtout - pour lesquelles. Divers auteurs suggèrent d'utiliser une grande variété de caractéristiques, cependant, dans presque tous les travaux, l'ensemble de base suivant demeure :



  • IP source
  • IP de destination
  • Port source
  • Le port de destination.


Il est parfois suggéré de l'étendre avec d'autres fonctionnalités telles que les enregistrements de flux ou l'IP pour les flux backbone.



Nous utiliserons une série temporelle de magnitude H0 calculés pour ces caractéristiques de trafic, dans des fenêtres temporelles de longueur finie. Les durées de fenêtre typiques (chevauchement, glissement peuvent être utilisées) sont d'environ 5 à 10 minutes, étant donné que la durée typique d'une attaque sur une infrastructure réseau est de plusieurs dizaines de minutes. Et c'est aussi le besoin d'une assez grande quantité de statistiques accumulées. Donc, si nous nous intéressons à l'entropie pour l'IP source, alors n est égal au nombre d'adresses IP uniques dans la fenêtre, et comme pour le calcul des probabilités, l'écrasante majorité des auteurs utilise le nombre de paquets ayant cette caractéristique comme mesure de la probabilité d'un tel paquet dans le réseau (qui, en général , est logique, mais vous pouvez utiliser à la fois le nombre d'octets et le nombre de flux ). Par exemple, si nous avions 100 packages pour 1.1.1.1, 100 packages pour 1.1.1.2 et 300 packages pour 2.2.2.2, alors :







p1.1.1.1=p1.1.1.2=100100+100+300=0.2













p2.2.2.2=300500=0.6













H=(0.2log0.2+0.2log0.2+0.6log0.6)1.37













H0=1.37log30.86.









Ensuite, nous discuterons des attributs et du moment où il est judicieux de les considérer pour les types d'attaques d'intérêt.



Dans la plupart des études liées à l'entropie et aux anomalies du réseau, les chercheurs se sont concentrés sur l'adresse IP source et, par extension, sa distribution et son entropie. C'est un très bon choix.



Dans une étude [Sharma et al. (2015)], les auteurs ont expérimenté différents types d'attaques et analysé l'utilité de différents attributs pour détecter ces attaques en utilisant une approche entropique. A savoir, l'ensemble de données NUST a été utilisé, les types d'attaques : TCP-SYN flood, UDP flood et Smurf. Pour l'analyse, environ 100 000 paquets de trafic normal et 10 000 paquets de trafic attaqué ont été prélevés. Les attributs étaient Source IP, Destination IP, Source Port et Destination Port (standard), mais aussi Flags (distribution par drapeaux TCP), Length (distribution par longueurs de paquets), Protocole (par protocoles) ont été considérés.



En conséquence, il s'est avéré qu'il est utile d'utiliser dans les systèmes de détection d'anomalies basés sur l'approche entropique également les attributs susmentionnés en plus des attributs standard, tels que la longueur du paquet (très bons résultats dans le cas des attaques TCP-SYN). Il est relativement utile d'utiliser l'entropie par protocoles, car elle n'a donné des résultats significatifs que dans des cas spécifiques comme les inondations UDP, mais de tels types d'attaques peuvent facilement être détectés par des méthodes tout à fait traditionnelles de surveillance du trafic.



Un algorithme de détection d'anomalies du réseau basé sur des séries temporelles d'entropie



Cette méthode est une généralisation de celle proposée par les auteurs [Winter (2011)]. Les généralisations concernent principalement les attributs à utiliser pour construire un système de séries chronologiques, ainsi que les méthodes d'identification des anomalies dans des séries chronologiques spécifiques.



Algorithme



  1. , - . [Winter (2011)] : Src-Dst IP/Port, flow records (1 flow records = Src IP + Dst IP + Src Port + Dst Port + IP Protocol);
  2. ! , . . T ;
  3. ( ). , . σi i -ème série temporelle de T ;
  4. L'idée principale derrière la détection de changements soudains est de faire continuellement des prévisions à court terme et de déterminer la différence entre la prévision et la valeur réelle. Winter (2011) propose une méthode de lissage exponentiel simple, mais vous pouvez utiliser quelque chose de plus complexe (et précis), des réseaux ARIMA aux réseaux LSTM.


Pour chaque Ti nous déterminons l'erreur de prévision pour le moment qui nous intéresse t :







δi=|Pred(Ti(t))Ti(t)|.









5. Cependant, certaines erreurs de prédiction ne sont pas d'égale importance, car les séries chronologiques de base ont des variances différentes. Pour cette raison, nous normalisons les erreurs de prédiction par rapport à la variance de la série chronologique respective en multipliant par le facteur de pondération :







wi=1σimax(σ1,,σn).







6. Pour simplifier le processus de détection des anomalies, nous introduisons la caractéristique agrégée « score d'anomalie » :







AS=i=1nδiwi.









7. Si AS>ASthr on dit qu'une certaine anomalie de trafic réseau a été enregistrée.

Valeur seuil ASthr est déterminé empiriquement en fonction du nombre de séries temporelles de base n , ainsi que les exigences relatives à la sensibilité du détecteur.



À propos de la configuration des paramètres



Pour notre algorithme, nous devons définir plusieurs paramètres. Chaque combinaison de paramètres est associée à un compromis : un taux de détection élevé dû à de nombreux faux positifs, ou vice versa.



  • . , . , , , – . , . 5 10 ;
  • . . , 80%;
  • La taille de la fenêtre glissante pour le calcul des écarts . Nous avons décidé de définir la taille de la fenêtre glissante pour calculer l'écart type jusqu'à 24 heures. Le plus souvent, une telle fenêtre coulissante couvre tout le cycle saisonnier. Dans les autres cas, nous vous recommandons de choisir des fenêtres multiples de 24 heures. Un choix naturel alternatif serait de 7 jours.


Autres modifications



Bhuyan et al. (2014) ont étudié un ensemble de métriques d'information pour l'adéquation à la détection d'anomalies à l'aide de méthodes similaires. En plus de l'entropie de Shannon susmentionnée et bien connue, l'entropie de Hartley, l'entropie de Renyi et l'entropie généralisée de Renyi ont été testées. Ce sont des généralisations de l'entropie de Shannon, définie par la formule suivante :







Hα(x)=11αlogi=1npiα.









Ici α0,α1,pi0 ... À titre d'exercice, le lecteur a l'occasion de s'assurer que lorsque α1,Hα tend à l'entropie de Shannon. Entre autres choses, les auteurs ont utilisé l'hypothèse répandue selon laquelle le trafic malveillant obéit à une distribution de Poisson et le trafic légitime obéit à une distribution gaussienne.



Les auteurs arrivent aux conclusions suivantes :



  • il est important d'utiliser le nombre minimum d'attributs de trafic. Le plus souvent, il s'agira d'adresses IP ou de longueurs de paquets ;
  • l'entropie de l'information donne le meilleur résultat dans la détection des attaques à faible vitesse pour les grandes valeurs α ...


résultats



Comme Winter (2011) n'avait pas de données réelles à valider, ils ont modélisé et injecté des anomalies synthétiques dans l'ensemble de données d'origine. Pour cela, une version modifiée de l'outil FLAME par Brauckhoff et al. (2008), qui facilite l'introduction d'anomalies artificielles dans les données en continu. Les auteurs ont mis en œuvre deux de ces « générateurs de flux » :



  • HTTP-flood: HTTP-. 11 500 «». -. , , . - HTTP-. 220,000 , ();
  • : , . IP- /16-, 65 534 IP-. TCP- 21, FTP. , . 67000 . , (D).


La figure ci-dessous montre l'analyse d'entropie pour toute la journée du 28 octobre. Le graphique du haut est l'ensemble de données d'origine, tandis que le graphique du bas contient nos anomalies ajoutées (C et D). Encore une fois, les deux graphiques contiennent des séries chronologiques pour les cinq attributs. Séries temporelles noires pour AS est le plus intéressant. Dans les deux graphiques, nous avons mis en évidence des anomalies particulièrement fortes et les avons étiquetées de A à D. A et B représentent des anomalies « naturelles » qui étaient déjà présentes dans l'ensemble de données d'origine.







Pour illustrer comment tout cela peut passer inaperçu par les outils de surveillance traditionnels, la figure ci-dessous montre trois statistiques de trafic courantes : octets, paquets et flux par minute pour le même trafic que dans l'exemple précédent. Les anomalies (marquées de A à D) disparaissent dans le bruit.







Une expérience similaire a été réalisée chez Neoflex, seules les anomalies sont "naturelles", c'est-à-dire figuraient déjà dans les données client.











A titre de comparaison : tableaux de bord standards du trafic réseau pour les routeurs sur la même période :







On constate que des écarts assez importants dans la répartition des caractéristiques du trafic réseau sont restés invisibles au travers des métriques standards. Comment, sur la base des informations reçues, identifier les causes de ces anomalies doit être discuté dans une conversation séparée. Mentionnons que la recherche d'un groupe de valeurs de caractéristiques qui ont modifié de manière significative l'entropie se réduit à l'étude de la dynamique de la distribution de ces mêmes caractéristiques, et dans des cas simples elle peut être effectuée par un tri ordinaire par probabilités pi ...



En résumé



Ainsi, nous avons implémenté et testé un algorithme pour détecter une large classe d'anomalies dans le réseau grâce à des séries temporelles d'entropie. Les attaques telles que les inondations, les vers et les analyses conduisent souvent à ce type d'anomalies. L'idée principale de l'algorithme est de faire constamment des prévisions à court terme et de déterminer la différence entre les prévisions et la valeur d'entropie réellement observée. L'entropie sert d'indicateur de l'équilibre du processus. Ainsi, des changements brusques d'entropie indiquent un changement qualitatif dans la structure (par des changements dans la distribution des caractéristiques) du système. Il est important de noter que les attaques doivent encore atteindre une certaine ampleur pour être détectées. Les attaques à très petite échelle peuvent être invisibles sur une connexion réseau à haut débit. Nous croyons,que les algorithmes de ce type sont un outil précieux pour les opérateurs de réseau et les services de sécurité de l'information de divers types d'entreprises. Il peut être facilement configuré, déployé rapidement et ne nécessite aucune donnée de formation.



Sources d'informations



Philipp Winter, Harald Lampesberger, Markus Zeilinger et Eckehard Hermann 2011 . « Sur la détection des changements brusques dans les séries chronologiques d'entropie du réseau »

Sidharth Sharma, Santosh Kumar Sahu, Sanjay Kumar Jena 2015 . "Sur la sélection des attributs pour la détection basée sur l'entropie des DDoS"

Monowar H. Bhuyan, DK Bhattacharyya, JK Kalita . « Metrics d'information pour la détection d'attaques DDoS à faible débit : une évaluation comparative »

Brauckhoff, D., Wagner, A., May, M. : « FLAME : A Flow-Level Anomaly Modeling Engine ». Dans : Proc. de la conférence sur l'expérimentation et le test de la cybersécurité. p. 1 - 6. Association USENIX, Berkeley, Californie, États-Unis (2008)



All Articles