FR2974203A1 - Method for normalizing script program for detection of attack in computer network, involves performing series of transformations with script input, and storing transformations in database, where result of execution of script is not modified - Google Patents
Method for normalizing script program for detection of attack in computer network, involves performing series of transformations with script input, and storing transformations in database, where result of execution of script is not modified Download PDFInfo
- Publication number
- FR2974203A1 FR2974203A1 FR1153249A FR1153249A FR2974203A1 FR 2974203 A1 FR2974203 A1 FR 2974203A1 FR 1153249 A FR1153249 A FR 1153249A FR 1153249 A FR1153249 A FR 1153249A FR 2974203 A1 FR2974203 A1 FR 2974203A1
- Authority
- FR
- France
- Prior art keywords
- script
- data
- transformations
- malicious
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000013515 script Methods 0.000 title claims abstract description 149
- 230000009466 transformation Effects 0.000 title claims abstract description 71
- 238000000844 transformation Methods 0.000 title claims abstract description 29
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000001514 detection method Methods 0.000 title claims abstract description 12
- 238000004458 analytical method Methods 0.000 claims abstract description 39
- 238000011156 evaluation Methods 0.000 claims description 27
- 238000004140 cleaning Methods 0.000 claims description 12
- 238000010606 normalization Methods 0.000 claims description 12
- 238000000605 extraction Methods 0.000 claims description 11
- 230000035515 penetration Effects 0.000 claims description 3
- 230000000149 penetrating effect Effects 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 230000009172 bursting Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000010223 real-time analysis Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/51—Source to source
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/564—Static detection by virus signature recognition
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
PROCEDE ET SYSTEME DE DETECTION D'ATTAQUE DANS UN RESEAU INFORMATIQUE UTILISANT LA NORMALISATION DE PROGRAMMES DE TYPE SCRIPT La présente invention a pour objet un procédé et un système de détection d'attaque dans un réseau informatique, basés sur la normalisation des programmes de type script qui transitent sur le réseau. Généralement, on place des dispositifs de type pare-feu en un ou plusieurs endroits du réseau informatique que l'on veut protéger d'attaques provenant de 10 l'extérieur. De telles attaques peuvent prendre la forme de scripts malveillants, qui sont des scripts contenant des instructions malveillantes, qui sont associés par exemple à des pages Web circulant sur le réseau. Un des problèmes majeurs pour l'analyse de telles attaques au niveau d'un 15 pare-feu consiste à comprendre ce que va faire le script associé à une page Web avant de mettre cette page à disposition du client. Une telle analyse doit être réalisée en temps réel pour ne pas ralentir le trafic. Dans ce but, les pare-feu intègrent des modules d'analyse de protocole, 20 permettant de vérifier que les données entrantes sont bien conformes à un protocole déterminé. Mais une telle analyse ne permet pas de déterminer qu'un script est malveillant, car un tel script contenant des instructions malveillantes peut très bien être conforme au protocole surveillé. On connaît des dispositifs qui consistent à repérer dans le flux de données 25 analysé les endroits où se trouvent de tels scripts. Une fois un script localisé, sa signature est déterminée et comparée avec une liste de signatures de scripts malveillants. Pour contrecarrer de tels dispositifs, les personnes générant des données malveillantes pour attaquer un réseau utilisent des techniques permettant de 30 passer outre les vérifications mentionnées ci-dessus. Une de ces techniques consiste à complexifier le code d'un script pour masquer les parties malveillantes de ce script. The present invention relates to a method and system for detecting attacks in a computer network, based on the standardization of script-type programs. BACKGROUND OF THE INVENTION which pass through the network. Typically, firewall type devices are placed in one or more locations of the computer network that are to be protected from outside attacks. Such attacks can take the form of malicious scripts, which are scripts containing malicious instructions, which are associated for example with web pages circulating on the network. One of the major problems in analyzing such firewall attacks is understanding what the script associated with a web page will do before making this page available to the client. Such an analysis must be carried out in real time so as not to slow down the traffic. For this purpose, the firewalls integrate protocol analysis modules, making it possible to verify that the incoming data conforms to a specific protocol. But such an analysis does not make it possible to determine that a script is malicious, because such a script containing malicious instructions may very well conform to the protocol being monitored. Devices are known which consist in locating in the analyzed data stream the locations where such scripts are located. Once a script is located, its signature is determined and compared with a list of malicious script signatures. To thwart such devices, people generating malicious data to attack a network use techniques to bypass the aforementioned checks. One of these techniques is to complicate the code of a script to hide the malicious parts of this script.
En effet, certains des langages, tel que JavaScript, utilisés pour écrire ces script sont suffisamment souples pour permettre d'exprimer la même opération de plusieurs manières assez différentes. L'objet de la présente invention est donc d'apporter une solution aux 5 problèmes précités parmi d'autres problèmes. En particulier, l'objet de la présente invention est de proposer un procédé et un système de détection d'attaque sur un réseau informatique, basé sur une analyse en temps réel permettant de détecter les attaques masquées dans des scripts. 10 L'invention se rapporte ainsi, selon un premier aspect, à un procédé de normalisation d'un programme de type script comprenant une étape de transformation au cours de laquelle une série de n1 transformations est exécutée une première fois, avec en entrée le script et en sortie un premier script transformé. 15 Les transformations sont stockées dans une base de données de transformations et ne modifient pas le résultat de l'exécution du programme script. Ainsi, la normalisation permet notamment de simplifier le script et de mettre en évidence des attaques masquées. 20 Dans une première variante de mise en oeuvre, après la première exécution de l'étape de transformation, et si le premier script transformé est différent du script, l'étape de transformation est exécutée une ou plusieurs fois supplémentaires, avec en entrée le script transformé obtenu lors de l'exécution précédente de l'étape de transformation, jusqu'à ce que le script transformé en 25 sortie soit identique au script transformé en entrée. Dans une deuxième variante de mise en oeuvre, éventuellement en combinaison avec la précédente, le procédé comprend, préalablement à l'étape de transformation, une étape d'analyse lexicale au cours de laquelle les données du script sont comparées à des données lexicales stockées dans une base de 30 données lexicales. Les données inutiles sont alors supprimées du script en fonction de la comparaison, pour former un script simplifié. L'étape de transformation est alors exécutée la première fois avec en entrée le script simplifié. L'invention se rapporte également, selon un deuxième aspect, à un système informatique de normalisation d'un programme de type script. Le système comprend une base de données de transformations dans laquelle est stockée une série de n1 transformations qui ne modifient pas le résultat de l'exécution du script. Le système comprend également un module de transformation apte à appliquer la série de transformations au script en sorte de générer un premier script transformé. Indeed, some of the languages, such as JavaScript, used to write these scripts are flexible enough to allow the same operation to be expressed in quite different ways. The object of the present invention is therefore to provide a solution to the aforementioned problems among other problems. In particular, the object of the present invention is to provide a method and an attack detection system on a computer network, based on a real-time analysis for detecting masked attacks in scripts. The invention thus relates, according to a first aspect, to a method for normalizing a script-type program comprising a transformation step during which a series of n1 transformations is executed a first time, with as input the script and output a first transformed script. The transformations are stored in a database of transformations and do not modify the result of the execution of the script program. Thus, the standardization makes it possible in particular to simplify the script and to highlight hidden attacks. In a first implementation variant, after the first execution of the transformation step, and if the first transformed script is different from the script, the transformation step is executed one or more times, with the script as input The transform obtained during the previous execution of the transformation step, until the transformed script is the same as the script transformed into an input. In a second implementation variant, possibly in combination with the previous one, the method comprises, prior to the transformation step, a lexical analysis step during which the script data is compared with lexical data stored in the database. a base of 30 lexical data. Unnecessary data is then removed from the script based on the comparison, to form a simplified script. The transformation step is then executed the first time with as input the simplified script. The invention also relates, according to a second aspect, to a computer system for standardizing a script-type program. The system includes a database of transformations in which is stored a series of n1 transformations that do not modify the result of the execution of the script. The system also includes a transformation module adapted to apply the series of transformations to the script so as to generate a first transformed script.
Dans une première variante de réalisation, le module de transformation est apte à appliquer la série de transformations une ou plusieurs fois supplémentaires, avec en entrée le script transformé obtenu lors de l'application précédente de la série de transformations, jusqu'à ce que le script transformé en sortie soit identique au script transformé en entrée. In a first embodiment, the transformation module is able to apply the series of transformations one or more times, with the input transformed script obtained during the previous application of the series of transformations, until the script transformed into output is identical to the script transformed into input.
Dans une deuxième variante, éventuellement en combinaison avec la précédente, le système comprend une base de données lexicales dans laquelle sont stockées des données lexicales, et un module d'analyse lexicale apte à comparer les données du script et les données lexicales et à supprimer du script les données inutiles en fonction de la comparaison, pour former un script simplifié. L'invention se rapporte encore, selon un troisième aspect, à un procédé de détection d'attaques sur un réseau informatique, comprenant une étape d'analyse des données destinées à circuler sur le réseau en vue d'identifier un programme de type script dans les données, et une étape d'extraction d'un script identifié lors de l'étape d'analyse. Le procédé comprend en outre une étape de mise en oeuvre du procédé de normalisation tel que présenté plus haut, appliquée au script extrait lors de l'étape d'extraction. Dans une variante de mise en oeuvre, le procédé comprend une étape d'évaluation au cours de laquelle le script normalisé est comparé avec des signatures de script malveillants et/ou des séquences de code malveillantes stockées dans une ou plusieurs bases de données de signatures et/ou de séquences de code malveillantes. Lorsque l'étape d'évaluation indique que le script normalisé correspond à une signature de script malveillant et/ou contient une séquence de code malveillante, une étape de nettoyage est mise en oeuvre au cours de laquelle tout ou partie du script identifié lors de l'étape d'extraction est retiré des données analysées lors de l'étape d'analyse, pour former des données nettoyées, avant livraison de ces données nettoyées à leur destinataire ou client. Alternativement, lorsque l'étape d'évaluation indique que le script normalisé correspond à une signature de script malveillant et/ou contient une séquence de code malveillante, l'étape de nettoyage mise en oeuvre consiste à bloquer les données analysées lors de l'étape d'analyse avant pénétration de ces données sur le réseau. L'invention se rapporte enfin, selon un quatrième aspect, à un système informatique de détection d'attaque sur un réseau informatique, comprenant un module d'analyse apte à analyser les données destinées à circuler sur le réseau et à identifier un programme de type script dans les données, et un module d'extraction apte à extraire des données un script identifié. Le système comprend en outre un système informatique de normalisation tel que présenté plus haut. In a second variant, possibly in combination with the previous one, the system comprises a lexical database in which lexical data are stored, and a lexical analysis module able to compare the script data and the lexical data and to delete the lexical data. script useless data according to the comparison, to form a simplified script. According to a third aspect, the invention furthermore relates to a method for detecting attacks on a computer network, comprising a step of analyzing data intended to circulate on the network in order to identify a script-type program in the data, and a step of extracting a script identified during the analysis step. The method further comprises a step of implementing the normalization method as presented above, applied to the script extracted during the extraction step. In an implementation variant, the method comprises an evaluation step during which the standardized script is compared with malicious script signatures and / or malicious code sequences stored in one or more signature databases and / or malicious code sequences. When the judging step indicates that the normalized script corresponds to a malicious script signature and / or contains a malicious code sequence, a cleanup step is performed in which all or part of the script identified during extraction step is removed from the analyzed data during the analysis step, to form cleaned data, before delivery of this cleaned data to their recipient or customer. Alternatively, when the evaluation step indicates that the standardized script corresponds to a malicious script signature and / or contains a malicious code sequence, the cleaning step implemented consists in blocking the data analyzed during the step analysis before penetrating this data on the network. The invention finally relates, in a fourth aspect, to a computer system for detecting attacks on a computer network, comprising an analysis module able to analyze the data intended to circulate on the network and to identify a program of the type script in the data, and an extraction module able to extract data from an identified script. The system further includes a standardization computer system as discussed above.
Dans première variante de réalisation, le système comprend au moins une base de données de signatures et/ou de séquences de code dans laquelle sont stockées des signatures et/ou des séquences de code malveillantes, et un module d'évaluation apte à comparer un script normalisé avec les signatures de script malveillants et/ou séquences de code malveillantes. In a first embodiment, the system comprises at least one database of signatures and / or code sequences in which malicious signatures and / or code sequences are stored, and an evaluation module able to compare a script. standardized with malicious script signatures and / or malicious code sequences.
Le système peut également comprendre un module de nettoyage apte à retirer, des données analysées par le module d'analyse, tout ou partie d'un script dont l'évaluation du programme script normalisé correspondant par le module d'évaluation indique qu'il correspond à une signature de script malveillant et/ou contient une séquence de code malveillante, pour former des données nettoyées, avant livraison de ces données nettoyées à leur destinataire ou client. Alternativement, le système peut comprendre un module de nettoyage apte à bloquer les données analysées par le module d'analyse, lorsqu'elles contiennent un script dont l'évaluation du script normalisé correspondant par le module d'évaluation indique qu'il correspond à une signature de script malveillant et/ou contient une séquence de code malveillante, avant pénétration des données sur le réseau. The system may also comprise a cleaning module able to remove, from the data analyzed by the analysis module, all or part of a script whose evaluation of the corresponding standardized script program by the evaluation module indicates that it corresponds a malicious script signature and / or contains a malicious code sequence, to form cleaned data, before delivery of this cleaned data to their recipient or client. Alternatively, the system may comprise a cleaning module able to block the data analyzed by the analysis module, when they contain a script whose evaluation of the corresponding standardized script by the evaluation module indicates that it corresponds to a malicious script signature and / or contains a malicious code sequence, before penetration of the data on the network.
D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement et de manière complète à la lecture de la description ci-après des variantes préférées de réalisation et de mise en oeuvre, lesquelles sont données à titre d'exemples non limitatifs et en référence aux dessins annexés suivants : - figure 1 : représente schématiquement à la fois un exemple du procédé et un exemple du système informatique de détection des attaques dans un réseau informatique, selon l'invention, - figure 2 : représente schématiquement à la fois un exemple de procédé de normalisation de script et un exemple du système de normalisation de script, selon l'invention, - figure 3 : représente schématiquement l'application d'une transformation au sens de l'invention à un script de type JavaScript. Un exemple de procédé et de système informatique de détection des attaques dans un réseau informatique 11 est représenté en figure 1. Le système de détection peut être par exemple intégré à un pare-feu placé 20 à l'entrée du réseau 11 que l'on cherche à protéger. Ce système de détection comprenant un module d'analyse 6 qui reçoit en entrée les paquets de données d destinés à un ou plusieurs clients disposés dans le réseau 11. Ce module d'analyse 6 met en oeuvre une étape d'analyse (A) des données 25 d reçues en entrée qui sont destinées à circuler sur le réseau 11. Une telle analyse peut être du type analyse de conformité des données d à un protocole déterminé, tel que le protocole HTTP par exemple. Une telle analyse permet donc de repérer la présence d'un programme de type script, par exemple écrit en JavaScript, dans les données d, et ainsi 30 d'identifier un tel script. Le système de détection comprend également un module d'extraction 7 mettant en oeuvre une étape d'extraction (B) d'un script identifié par le module d'analyse 6 lors de l'étape d'analyse (A). Autrement dit, si le module d'analyse 6 identifie un script dans les données d qu'il a reçu en entrée, il transmet ces données d en entrée du module d'extraction 7 de sorte que celui-ci réalise l'extraction du script identifié E. Other features and advantages of the invention will appear more clearly and completely on reading the following description of the preferred variants of embodiment and implementation, which are given by way of nonlimiting examples and with reference In the following appended drawings: FIG. 1 shows schematically both an example of the method and an example of the computer system for detecting attacks in a computer network, according to the invention; FIG. 2 schematically represents both an example of script normalization method and an example of the script normalization system, according to the invention, - Figure 3: schematically represents the application of a transformation in the sense of the invention to a script of JavaScript type. An example of a method and computer system for detecting attacks in a computer network 11 is shown in FIG. 1. The detection system can for example be integrated into a firewall placed at the entrance to the network 11 that is seeks to protect. This detection system comprises an analysis module 6 which receives as input data packets d intended for one or more clients arranged in the network 11. This analysis module 6 implements a step of analysis (A) of the data 25 received at the input which are intended to circulate on the network 11. Such an analysis can be of the type of analysis of conformity of the data d to a determined protocol, such as the HTTP protocol for example. Such an analysis therefore makes it possible to locate the presence of a script-type program, for example written in JavaScript, in the data d, and thus to identify such a script. The detection system also comprises an extraction module 7 implementing an extraction step (B) of a script identified by the analysis module 6 during the analysis step (A). In other words, if the analysis module 6 identifies a script in the data it has received as input, it transmits the input data of the extraction module 7 so that it extracts the script identified E.
A l'inverse, comme représenté sur la figure 6, si le module d'analyse 6 n'identifie pas de script dans les données d qu'il a reçu en entrée, ces données d sont acheminées sur le réseau 11, directement ou éventuellement après avoir subi d'autres contrôles ou manipulations. Le script Bo extrait par le module d'extraction 7 à l'étape (B) est alors transmis en entrée d'un système informatique de normalisation 8 selon l'invention, qui sera décrit plus en détail ci-après en référence à la figure 2. Ce système informatique de normalisation 8 permet donc la mise en oeuvre du procédé (C) de normalisation selon l'invention, qui sera également décrit plus en détail ci-après en référence à la figure 2. Conversely, as shown in FIG. 6, if the analysis module 6 does not identify a script in the data it has received as input, this data is forwarded on the network 11, directly or possibly after undergoing other checks or manipulations. The script Bo extracted by the extraction module 7 in step (B) is then transmitted to the input of a normalization computer system 8 according to the invention, which will be described in more detail below with reference to FIG. 2. This standardization computer system 8 thus allows the implementation of the method (C) of normalization according to the invention, which will also be described in more detail below with reference to FIG. 2.
Une fois le script Bo normalisé, c'est-à-dire transformé en un script Si (i>_0) en quelque sorte simplifié mais dont l'exécution donne exactement le même résultat que l'exécution du script Bo non normalisé, il est transmis à un module d'évaluation 9 qui va permettre, au cours de la mise en oeuvre d'une étape d'évaluation (D), de déterminer si le script est de nature malveillante ou non. Once the Bo script is normalized, that is, transformed into a script Si (i> _0) somehow simplified but whose execution gives exactly the same result as the execution of the non-standardized Bo script, it is transmitted to an evaluation module 9 which will allow, during the implementation of an evaluation step (D), to determine whether the script is malevolent or not.
Pour déterminer le caractère malveillant ou non du script normalisé Si, on peut par exemple utiliser la notion de signature de ce script malveillant et/ou de séquence de code malveillante contenu dans un script. Ainsi, lorsque le module d'évaluation 9 est connecté à une ou plusieurs bases de données de signatures et/ou de séquences de code malveillantes 5, il peut comparer la signature du script normalisé Si qu'il a reçu en entrée et/ou les séquences de code de ce script, à celles contenue dans la ou les bases de données 5. Tel que représenté à la figure 1, au niveau de l'étape d'évaluation (D), si la signature du script normalisé Si ne correspond pas à l'une ou l'autre des signatures malveillantes stockées dans la ou les bases de données 5, et/ou si aucune des séquences de code du script normalisé Si ne correspond à l'une ou l'autre des séquences de code malveillantes stockées dans la ou les bases de données 5, les données d reçues en entrée du module d'analyse 6 sont acheminées sur le réseau 11, directement ou éventuellement après avoir subi d'autres contrôles ou manipulations. Par contre, si l'étape d'évaluation (D) mise en oeuvre par le module d'évaluation 9 montre que la signature du script normalisé Si et/ou au moins une séquence de code du normalisé Si , correspondent respectivement à une signature malveillante et/ou un séquence de code malveillante stockées dans la ou les bases de données 5, alors les données d ne sont pas transmises pour tel quel pour acheminement sur le réseau 11. To determine whether or not the standard script Si is malicious, for example, it is possible to use the notion of signature of this malicious script and / or malicious code sequence contained in a script. Thus, when the evaluation module 9 is connected to one or more databases of signatures and / or malicious code sequences 5, it can compare the signature of the normalized script If it has received input and / or the code sequences of this script, to those contained in the database or databases 5. As shown in Figure 1, at the evaluation step (D), if the signature of the normalized script Si does not match to one or the other of the malicious signatures stored in the database or databases 5, and / or if none of the code sequences of the normalized script Si correspond to one or the other of the malicious code sequences stored in the database or databases 5, the data received at the input of the analysis module 6 are conveyed on the network 11, directly or possibly after having undergone other checks or manipulations. On the other hand, if the evaluation step (D) implemented by the evaluation module 9 shows that the signature of the normalized script Si and / or at least one code sequence of the normalized Si respectively correspond to a malicious signature. and / or a malicious code sequence stored in the database or databases 5, then the data d are not transmitted as such for routing on the network 11.
Ainsi, ces données d peuvent éventuellement être intégralement acheminées sur le réseau 11, associées à un message d'alerte. Ces données d peuvent également ou alternativement être transmises à un module de nettoyage 10, pour mise en oeuvre d'une étape de nettoyage (E). Un tel module de nettoyage 10 peut par exemple retirer tout ou partie du script Eo des données d, pour générer des données nettoyées d' et livrer ensuite ces données à leur destinataire ou client sur le réseau 11, directement ou éventuellement après avoir fait subir à ces données nettoyées d' d'autres contrôles ou manipulations. Ainsi, dans l'exemple où les données d reçues en entrée du module d'analyse 6 correspondent à une page Web répondant au protocole HTTP et contenant un script en JavaScript, la page peut être nettoyée de tout ou partie du script malveillant, avant transmission à son destinataire sur le réseau 11. Ce module de nettoyage 10 peut, alternativement, bloquer définitivement ou temporairement les données d, tel que représenté par une croix encerclée à l'extrémité de la figure 1, en sortie du module de nettoyage 10, de sorte que ces données d sont bloquées avant pénétration sur le réseau 11. Ainsi, dans l'exemple où les données d reçues en entrée du module d'analyse 6 correspondent à une page Web répondant au protocole HTTP et contenant un script en JavaScript, la page peut être bloquée dans une zone de stockage sans transmission à son destinataire sur le réseau 11. Le destinataire et/ou un administrateur du réseau 11 peuvent éventuellement en être averti, ce qui leur permet de vérifier les données de la page Web en question et de décider éventuellement de la supprimer ou de la débloquer. La figure 2 représente plus en détail un exemple de procédé de normalisation (C) et de système informatique de normalisation 8 selon l'invention, tels qu'ils sont intégrés respectivement au procédé de détection et au système informatique de détection selon l'invention représentés schématiquement à la figure 1. Le système de normalisation comprend un module de transformation (3) qui reçoit en entrée, soit directement le script EO identifié et extrait respectivement par les modules d'analyse 6 et d'extraction 7 tel qu'expliqué ci- dessus en référence à la figure 1, soit un script EosimP obtenu après mise en oeuvre d'une étape préalable d'analyse lexicale (Cl) par un module d'analyse lexicale 4. Ce module d'analyse lexicale 4 est connecté à une base de données lexicale 2 et permet notamment, par comparaison des données lexicales du script Eo en entrée avec les données lexicales stockées dans la base de données lexicale 4, de supprimer de ce script Eo certaines données inutiles pour former le script simplifié EosimP. Ainsi, le module de transformation 3 reçoit en entrée le script initial Eo ou le script simplifié après analyse lexicale EosimP, et permet de mettre en oeuvre l'étape (C2) de transformation du procédé de normalisation (C) de l'invention. Pour simplifier, dans la suite de la description, nous utiliserons la dénomination Eo pour faire référence indifféremment au script initial non simplifié Eo et au script simplifié EosimP Pour la mise en oeuvre de cette étape de transformation (C2), le module de transformation est connecté à une base de données de transformations 1. Cette base de données de transformations 1 contient une série de n transformations Tn, avec n>_ 1, qui, lorsqu'on les applique à un script, modifie ce script sans modifier le résultat de l'exécution du script. Autrement dit, ces transformations Tn sont telles que le résultat de l'exécution du script transformé est le même que le résultat de l'exécution du script non transformé. Un exemple d'une telle transformation sera donné ci-après en référence à la figure 3. Thus, this data d may possibly be fully routed on the network 11, associated with an alert message. These data d can also or alternatively be transmitted to a cleaning module 10, for carrying out a cleaning step (E). Such a cleaning module 10 may for example remove all or part of the Eo script from the data d, to generate data cleaned from and then deliver this data to their recipient or client on the network 11, directly or possibly after having subjected these data cleaned of other controls or manipulations. Thus, in the example where the data received at the input of the analysis module 6 corresponds to a Web page responding to the HTTP protocol and containing a script in JavaScript, the page can be cleaned of all or part of the malicious script, before transmission. to its destination on the network 11. This cleaning module 10 can, alternatively, permanently or temporarily block the data d, as represented by a cross circled at the end of Figure 1, at the output of the cleaning module 10, so that these data d are blocked before penetration on the network 11. Thus, in the example where the data received at the input of the analysis module 6 correspond to a Web page responding to the HTTP protocol and containing a script in JavaScript, the page can be blocked in a storage area without transmission to its recipient on the network 11. The recipient and / or an administrator of the network 11 may possibly be notified thereof. which allows them to check the data of the web page in question and possibly decide to delete or unblock it. FIG. 2 shows in greater detail an example of a normalization method (C) and a standardization computer system 8 according to the invention, as they are respectively integrated in the detection method and in the detection computer system according to the invention represented. schematically in FIG. 1. The standardization system comprises a transformation module (3) which receives as input, either directly the EO script identified and extracted respectively by the analysis and extracting modules 6 and 7 as explained hereinafter. above with reference to Figure 1, an EosimP script obtained after implementation of a preliminary lexical analysis step (Cl) by a lexical analysis module 4. This lexical analysis module 4 is connected to a base of lexical data 2 and allows, in particular, by comparing the lexical data of the input Eo script with the lexical data stored in the lexical database 4, to remove from this script Eo cer some useless data to form the simplified EosimP script. Thus, the transformation module 3 receives as input the initial script Eo or the simplified script after lexical analysis EosimP, and makes it possible to implement the step (C2) of transforming the normalization method (C) of the invention. For simplicity, in the remainder of the description, we will use the Eo denomination to refer indifferently to the un-simplified initial script Eo and the simplified script EosimP For the implementation of this transformation step (C2), the transformation module is connected to a database of transformations 1. This database of transformations 1 contains a series of n transformations Tn, with n> _ 1, which, when applied to a script, modifies this script without modifying the result of the transformation. execution of the script. In other words, these transformations Tn are such that the result of the execution of the transformed script is the same as the result of the execution of the unprocessed script. An example of such a transformation will be given below with reference to FIG.
Une fois le script en entrée Eo transformé par le module de transformation 3 au cours de l'étape (C2) en le script transformé So, ce dernier peut être transmis au module d'évaluation 9 pour mise en oeuvre de l'étape d'évaluation (D), tel qu'expliqué plus haut en référence à la figure 1. Once the input script Eo transformed by the transformation module 3 during the step (C2) into the transformed script So, the latter can be transmitted to the evaluation module 9 for implementation of the step of evaluation (D), as explained above with reference to FIG.
Toutefois, de préférence et uniquement dans le cas où le script transformé So en sortie du module de transformation 3 n'est pas identique au script initial Eo en entrée du module de transformation 3, à l'issue de la première mise en oeuvre de l'étape de transformation (C2), cette étape de transformation (C2) est mise en oeuvre plusieurs fois supplémentaires, successivement. However, preferably and only in the case where the transformed script So at the output of the transformation module 3 is not identical to the initial script Eo at the input of the transformation module 3, at the end of the first implementation of the transformation step (C2), this transformation step (C2) is implemented several more times, successively.
Plus précisément, l'étape de transformation (C2) est mise en oeuvre plusieurs fois supplémentaires, successivement avec en entrée du module de transformation 3 le script E;+1 correspondant au script transformé Si obtenu en sortie du module de transformation 3 lors de la mise en oeuvre précédente de l'étape de transformation (C2), avec i>_ 1, jusqu'à ce que la sortie Si du module de transformation 3 soit identique à l'entrée E. Dans ce cas, c'est le dernier script transformé Si, en sortie du module de transformation 3 à l'issue de la dernière mise en oeuvre de l'étape de transformation (C2), qui est transmis au module d'évaluation 9 pour mise en oeuvre de l'étape d'évaluation (D), tel qu'expliqué plus haut en référence à la figure 1. La figure 3 représente schématiquement une des transformations Tn possibles, susceptible d'être stockée dans la base de données de transformations 1 et d'être appliquée à un script par le module de transformation 3 lors de l'étape de transformation (C2). More precisely, the transformation step (C2) is implemented several more times, successively with the input of the transformation module 3 the script E; +1 corresponding to the transformed script Si obtained at the output of the transformation module 3 during the transformation. previous implementation of the transformation step (C2), with i> _ 1, until the output Si of the transformation module 3 is identical to the input E. In this case, it is the last transformed script If, at the output of the transformation module 3 at the end of the last implementation of the transformation step (C2), which is transmitted to the evaluation module 9 for implementing the step of evaluation (D), as explained above with reference to FIG. 1. FIG. 3 schematically represents one of the possible transformations Tn, capable of being stored in the database of transformations 1 and of being applied to a script by the transformation module 3 during the tape processing (C2).
Plus précisément, cette figure 3 représente schématiquement un exemple d'application d'une telle transformation, visant à re-concaténer une attaque masquée par l'éclatement d'une instruction en plusieurs chaînes de caractères, dans un script Eo de type JavaScript. Au préalable, tel qu'expliqué plus haut en référence à la figure 2, le script Eo subi une analyse lexicale (Cl) permettant de le simplifier et d'isoler des portions élémentaires du script qui constituent le script simplifié Eos'mp, et qui vont ensuite subir la transformation Tn lors de l'étape (C2) une première fois puis une deuxième fois. Ainsi Eos'mp est transformé en So = El lui-même transformé en Si. Une dernière application de la transformation, non représentée à la figure 3, avec en entrée E2 = SI génère un script S2 identique à SI, de sorte que l'étape de transformation est terminée et que SI peut être transmis au module d'évaluation 9 pour mise en oeuvre de l'étape d'évaluation (D). Dans l'exemple de la figure 3, le résultat de l'étape d'évaluation (D) montre que la signature SIGN du script normalisé SI correspond à la signature d'un script malveillant. More precisely, this FIG. 3 diagrammatically represents an example of application of such a transformation, aimed at reconcerting an attack masked by the bursting of an instruction into several strings of characters, in a JavaScript Eo script. Beforehand, as explained above with reference to FIG. 2, the Eo script undergoes a lexical analysis (Cl) making it possible to simplify it and to isolate elementary portions of the script that make up the simplified Eos'mp script, and which will then undergo the transformation Tn during step (C2) a first time and a second time. Thus Eos'mp is transformed into So = El itself transformed into Si. A last application of the transformation, not shown in Figure 3, with E2 = SI input generates a script S2 identical to SI, so that the transformation step is completed and that SI can be transmitted to the evaluation module 9 for implementation of the evaluation step (D). In the example of FIG. 3, the result of the evaluation step (D) shows that the signature SIGN of the standardized script SI corresponds to the signature of a malicious script.
On rappellera que l'étape (C2) du procédé de normalisation (C) consiste notamment à appliquer une ou plusieurs transformations Tn, et pas nécessairement une unique transformation Tn. Par ailleurs, il est possible de profiter de la mise en oeuvre du procédé de normalisation (C) pour collecter des statistiques qui vont permettre par exemple d'évaluer un taux d'obfuscation et/ou de générer d'autres indicateurs d'attaques potentielles. Les différentes étapes du procédé de normalisation et du procédé de détection tels que présentés ci-dessus sont mises en oeuvre par un ou plusieurs processeurs, distants ou associés à la même unité informatique. It will be recalled that the step (C2) of the normalization process (C) consists in particular in applying one or more transformations Tn, and not necessarily a single transformation Tn. Moreover, it is possible to take advantage of the implementation of the normalization process (C) to collect statistics which will allow for example to evaluate an obfuscation rate and / or to generate other indicators of potential attacks. . The different steps of the normalization method and the detection method as presented above are implemented by one or more processors, remote or associated with the same computer unit.
Par ailleurs, les différentes bases de données utilisées dans le procédé de normalisation et le procédé de détection tels que présentés ci-dessus sont stockées dans une ou plusieurs zones mémoires, distantes ou associées à la même unité informatique. Quand il est question d'une base de données dans la description ci-dessus, il peut s'agir d'une seule base de données ou de la combinaison de plusieurs bases de données, stockées dans la même zone mémoire ou dans plusieurs zones mémoires distantes ou associées à la même unité informatique. Furthermore, the different databases used in the normalization process and the detection method as presented above are stored in one or more memory areas, remote or associated with the same computer unit. When referring to a database in the description above, it may be a single database or a combination of several databases, stored in the same memory area or in multiple memory areas distant or associated with the same computer unit.
Claims (14)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1153249A FR2974203B1 (en) | 2011-04-14 | 2011-04-14 | METHOD AND SYSTEM FOR DETECTING ATTACK IN A COMPUTER NETWORK USING STANDARDIZATION OF SCRIPT-TYPE PROGRAMS |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1153249A FR2974203B1 (en) | 2011-04-14 | 2011-04-14 | METHOD AND SYSTEM FOR DETECTING ATTACK IN A COMPUTER NETWORK USING STANDARDIZATION OF SCRIPT-TYPE PROGRAMS |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2974203A1 true FR2974203A1 (en) | 2012-10-19 |
FR2974203B1 FR2974203B1 (en) | 2015-11-20 |
Family
ID=45093869
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1153249A Active FR2974203B1 (en) | 2011-04-14 | 2011-04-14 | METHOD AND SYSTEM FOR DETECTING ATTACK IN A COMPUTER NETWORK USING STANDARDIZATION OF SCRIPT-TYPE PROGRAMS |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR2974203B1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7398553B1 (en) * | 2000-10-30 | 2008-07-08 | Tread Micro, Inc. | Scripting virus scan engine |
WO2009014779A2 (en) * | 2007-05-01 | 2009-01-29 | Wisconsin Alumni Research Foundation | System for malware normalization and detection |
WO2011028176A1 (en) * | 2009-09-02 | 2011-03-10 | Resolvo Systems Pte Ltd | Method and system for preventing transmission of malicious contents |
-
2011
- 2011-04-14 FR FR1153249A patent/FR2974203B1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7398553B1 (en) * | 2000-10-30 | 2008-07-08 | Tread Micro, Inc. | Scripting virus scan engine |
WO2009014779A2 (en) * | 2007-05-01 | 2009-01-29 | Wisconsin Alumni Research Foundation | System for malware normalization and detection |
WO2011028176A1 (en) * | 2009-09-02 | 2011-03-10 | Resolvo Systems Pte Ltd | Method and system for preventing transmission of malicious contents |
Non-Patent Citations (2)
Title |
---|
CHRSITODORESCU M ET AL: "Malware Normalization", INTERNET CITATION, 30 November 2005 (2005-11-30), pages 1 - 17, XP002510806, Retrieved from the Internet <URL:http://ftp.cs.wisc.edu/pub/techreports/2005/TR1539pdf> [retrieved on 20080116] * |
GREGORY BLANC ET AL: "Term-Rewriting Deobfuscation for Static Client-Side Scripting Malware Detection", NEW TECHNOLOGIES, MOBILITY AND SECURITY (NTMS), 2011 4TH IFIP INTERNATIONAL CONFERENCE ON, IEEE, 7 February 2011 (2011-02-07), pages 1 - 6, XP031982257, ISBN: 978-1-4244-8705-9, DOI: 10.1109/NTMS.2011.5720649 * |
Also Published As
Publication number | Publication date |
---|---|
FR2974203B1 (en) | 2015-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11003773B1 (en) | System and method for automatically generating malware detection rule recommendations | |
US9509714B2 (en) | Web page and web browser protection against malicious injections | |
US9210181B1 (en) | Detection of anomaly in network flow data | |
US8015605B2 (en) | Scalable monitor of malicious network traffic | |
US10693901B1 (en) | Techniques for application security | |
US9703845B2 (en) | Representing identity data relationships using graphs | |
US10038706B2 (en) | Systems, devices, and methods for separating malware and background events | |
US11861472B2 (en) | Machine learning model abstraction layer for runtime efficiency | |
CN106911637A (en) | Cyberthreat treating method and apparatus | |
Bou-Harb et al. | Big data behavioral analytics meet graph theory: on effective botnet takedowns | |
CN112235230B (en) | Malicious traffic identification method and system | |
US20170230388A1 (en) | Identifying malicious executables by analyzing proxy logs | |
CN106911640A (en) | Cyberthreat treating method and apparatus | |
CN107707549B (en) | Device and method for automatically extracting application characteristics | |
CN110581780B (en) | Automatic identification method for WEB server assets | |
CN102035847B (en) | User access behavior processing method and system and client | |
CN107483448A (en) | A kind of network security detection method and detecting system | |
Díaz-Verdejo et al. | A methodology for conducting efficient sanitization of HTTP training datasets | |
CN110611673B (en) | IP credit calculation method, device, electronic equipment and medium | |
CN115051874B (en) | Multi-feature CS malicious encrypted traffic detection method and system | |
FR2974203A1 (en) | Method for normalizing script program for detection of attack in computer network, involves performing series of transformations with script input, and storing transformations in database, where result of execution of script is not modified | |
EP3361405A1 (en) | Enhancement of intrusion detection systems | |
Liu et al. | A Model Towards Using Evidence from Security Events for Network Attack Analysis. | |
US11562095B2 (en) | Reinforcing SQL transactions dynamically to prevent injection attacks | |
Dubey et al. | Digital Forensics Techniques and Trends: A Review |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 5 |
|
PLFP | Fee payment |
Year of fee payment: 6 |
|
PLFP | Fee payment |
Year of fee payment: 7 |
|
PLFP | Fee payment |
Year of fee payment: 8 |
|
PLFP | Fee payment |
Year of fee payment: 10 |
|
PLFP | Fee payment |
Year of fee payment: 11 |
|
PLFP | Fee payment |
Year of fee payment: 12 |
|
PLFP | Fee payment |
Year of fee payment: 13 |
|
PLFP | Fee payment |
Year of fee payment: 14 |