Un nouveau mécanisme pour détecter les attaques inconnues Linux / IOS
1 1 1 1 1 1 1 1 1 1 Note 5.00 (Votes 2)

Introduction

Génération de données utiles à l'aide de MetaSploit et de MSF Venom

MSF Venom est un outil de ligne de commande qui aidera l’équipe de test à générer des charges utiles autonomes à exécuter sur des ordinateurs et des systèmes vulnérables afin d’accéder à distance aux systèmes. MSF Venom est une combinaison de la charge utile MSF et du codage MSF, qui prend en charge diverses options de test des vulnérabilités du système. Certaines de ces options utilisées par MSF Venom incluent l’utilisation de la charge utile qui décrit comment utiliser les charges utiles personnalisées pour les tests, répertorier les différentes options standard de charges utiles, décrire le type de module pouvant inclure des charges utiles, des encodeurs, déterminer la taille de longueur des données utiles, sortie format, liste les formats disponibles (Almgren, 2000).

MSF Venom exige également que les testeurs de pénétration déterminent le type de codeur à utiliser, l’architecture du système, la plate-forme sur laquelle la charge utile va fonctionner, la taille maximale de la charge résultante, la taille maximale de la charge codée, la liste de caractères à éviter les tests, le nombre de fois où encoder la charge, spécifient un fichier exécutable personnalisé à utiliser comme modèle et préservant le comportement du modèle et l'injection de la charge. Vous trouverez ci-dessous un aperçu des différentes options disponibles pour MSF Venom pour la phase de test d'intrusion.

C'est un langage utilisé pour expliquer le programme metaspoilt. Il peut utiliser n'importe quelle langue est la langue par défaut.

Hypothèse: comment les concepts de faux positifs et de faux négatifs peuvent être utilisés pour déterminer une analyse de sensibilité dans des systèmes.

Il est important de protéger et de protéger le système de toute menace cybernétique lors du développement et de l’exploitation de systèmes et d’applications informatiques. Une analyse de sensibilité est une étude complexe des incertitudes dans la sortie d'un système informatique ou d'une application. L'analyse de sensibilité implique de tester diverses hypothèses et tests pour déterminer le niveau d'incertitude et l'impact d'une variable sur la sortie du système (Denning, 2012).

Cette étude est importante pour déterminer la robustesse du système en testant les incertitudes, en améliorant la compréhension de l'application ou du système pour identifier les vulnérabilités et les forces du système ou de l'application. L'analyse de sensibilité aidera également l'équipe de développement de systèmes et d'applications à identifier les incertitudes et les vulnérabilités, aidant ainsi l'équipe de développement à réduire ces incertitudes, erreurs et vulnérabilités. Cela aide également à identifier les parties de l'entrée du modèle qui n'affectent pas la sortie, ainsi à simplifier le modèle du système (Feng, 2004).

L’étude contribuera également à améliorer la communication entre l’équipe de développement et les décideurs afin d’échanger des idées et de formuler des recommandations afin d’améliorer le système avant sa publication au public. L'étude identifie également les facteurs d'entrée et les impacts sur les sorties du système afin de déterminer les mesures optimales et les paramètres sensibles au sein du système pouvant influencer le système final (Forrest, 2010).

L'objectif de ce document de recherche est de tester les incertitudes et les erreurs d'un système afin de réduire les vulnérabilités pouvant exposer le système à des violations via des cyber-menaces. Certaines des attaques à tester comprennent des attaques inconnues et connues. Les menaces et les attaques connues sont essentiellement des attaques bien identifiées par les signatures des moteurs de système de détection antivirus et anti-intrusion et des listes noires de réputation de domaine. Les attaques inconnues, par contre, sont nouvelles, sans signature d'attaque enregistrée et constituent donc une menace plus sérieuse puisque leur mode de fonctionnement est inconnu (Ghosh, 2007).

À la lumière de cela, le document examinera comment utiliser les concepts de faux positif et de faux négatif pour tester une analyse de sensibilité. Un faux positif également appelé une fausse alarme est un résultat de test qui indique qu'une condition donnée a été remplie. Il s'agit d'une erreur de type I qui vérifie une seule condition, par exemple la présence d'erreurs de code dans le système, avec les résultats vrais ou faux. Le faux négatif, en revanche, est un test qui indique que les résultats de la condition testée ont échoué et que le résultat réel a réussi. Il s'agit d'une erreur de type II dans laquelle une seule condition est testée avec un résultat positif ou négatif (Ilgun, 2011).

L’une des applications à utiliser dans ce document est l’application MSF Venom et les outils Metasploit pour effectuer des tests de pénétration sur le système ou l’application cible. MSF Venom est un outil de ligne de commande qui aidera les développeurs de système à générer des charges utiles autonomes sur des systèmes vulnérables pour accéder à distance au système. Metasploit, d’autre part, est un outil de test qui permet aux testeurs de pénétration d’application de contourner les solutions antivirus, ce qui permet à l’équipe de test de générer des charges utiles, de tester la segmentation du réseau et d’accroître les performances et la productivité du système en rendant compte des fonctionnalités du système et en permettant des mises à jour automatiques. Ce document examinera les tests de pénétration à effectuer pour tester les vulnérabilités des systèmes, identifiera les types d’erreurs et d’attaques et recommandera des moyens d’améliorer la productivité du système et d’optimiser la productivité (Javitz, 2010).

Attaques connues et inconnues

Les cyberattaques connues sont des attaques malveillantes sur des systèmes informatiques et des applications déjà connues des testeurs d'intrusion et dont la signature a déjà été identifiée. Les attaques connues commencent par être inconnues et ne sont connues que lorsqu'elles ont été identifiées comme malveillantes via des tests automatiques ou manuels dans les laboratoires des fournisseurs et qu'une signature leur a été attribuée. La plupart des solutions d'analyse dynamique actuelles utilisent des mesures sophistiquées pour détecter si une charge utile générée est malveillante, avec des algorithmes prédictifs appliqués pour caractériser l'activité de la charge utile (Klein, 2005).

L'attaque inconnue est juste une nouvelle attaque sans signature. La différence entre une attaque connue et inconnue est une différence de temps, car avec le temps l'inconnu devient connu. Le fichier des attaquants sera simplement reconnu comme malveillant par les moteurs de recherche, ce qui créera le besoin d’identifier une charge inconnue du moteur de recherche. Cela implique l'achat de moteurs de recherche disponibles et l'exécution de fichiers malveillants jusqu'à ce qu'un pirate informatique trouve un moyen de les contourner et de rendre le fichier malveillant indétectable (Ko, 2011).

La conception de systèmes sécurisés pouvant résister aux cyberattaques est non seulement difficile, mais très complexe. Dans le passé, les concepteurs construisaient des serrures très solides en mettant en place des mécanismes de sécurité puissants autour de leurs systèmes. Dans le passé récent, les concepteurs ont changé et sont en train de construire des systèmes qui sont toujours opérationnels malgré les attaques répétées en utilisant des techniques bien développé grâce à la tolérance aux pannes et à la fiabilité (Kruegel, 2003).

Meta-sploit

Le concept de l'exploit est généralement divisé en plusieurs éléments. Il se connecte d'abord à la vulnérabilité. Une fois connecté, le code vulnérable récupère les données utiles. La vulnérabilité est ensuite exploitée par la charge utile et un type de composant shell est créé. En fonction du type de charge utile acheminée, le composant du shell peut être reconnecté au gestionnaire généralement généré avant la livraison de la charge utile. Lors de l'établissement de la connexion, le shell peut recevoir des commandes permettant d'extraire des informations de la machine ciblée. Il pourrait également étendre ses fonctionnalités par la livraison du code (Lane, 2010). En offrant la flexibilité de la livraison de divers types de charges utiles de shell, les éléments d’exploitation ont tendance à utiliser l’interface générique offerte par l’élément de charge utile. Les différentes exécutions de l'interface de charge utile offrent des charges utiles optionnelles pour le shell susceptibles d'être distribuées à la vulnérabilité. La découverte de vulnérabilités et le développement d’exploits est une tâche ardue qui fait appel à divers états d’esprit et à la motivation. Même si des outils sophistiqués sont présents dans les frameworks Metaspolit lors de la découverte de vulnérabilités, Metaspolit sera souvent utilisé pour exploiter des vulnérabilités connues qui constituent sa principale fonction (Lee, 2000).

Il n’est pas indispensable que les vulnérabilités soient présentes sur le réseau et, étant donné que les réseaux sont devenus très sécurisés, les administrateurs et même les utilisateurs non formés constituent généralement l’élément vulnérable ciblé. Lors de l’identification des utilisateurs vulnérables, les exploits pourraient être livrés au moyen d’attaques de phishing ou en personne grâce à un initié recruté. Tous les éléments du métamodèle sont perçus comme des façades. Par exemple, les éléments de connexion pour Metasploit dans une structure générique proposent des appels d'API pour établir des connexions avec presque tous les services renommés sur système d'exploitation (Liberty, 2002).

Les éléments de charge utile offrent le cadre d’exploitation avec des codes qui pourraient être implémentés lors du succès d’un exploit. Cependant, les gestionnaires ne fonctionnent pas comme des charges utiles, mais pour des raisons d'exécution, ils font partie de la hiérarchie des charges utiles de la classe. Pour trouver un large contrôle détaillé des réseaux ciblés, il est nécessaire d'employer des charges utiles capables de générer des éléments de type serveur sur des ordinateurs ciblés. En outre, leurs capacités doivent pouvoir être étendues chaque fois que cela est nécessaire (Liljenstam, 2003).

Pour obtenir ce type de fonctionnalité, il est nécessaire d'intégrer le protocole ainsi que la commande côté attaquant ainsi que les éléments de gestion. Un certain nombre de ces éléments peuvent être observés dans le cadre Metasploit. Les éléments de façade de l'interface utilisateur offrent des interfaces qui permettent à l'attaquant de gérer la manière dont un certain nombre de charges utiles ainsi que des gestionnaires peuvent être attachés aux éléments d'exploitation avant son lancement. Ces éléments de façade incluent des gestionnaires, des contrôleurs, des mandataires, des vues, des processeurs de commande et des commandes. Les éléments du magasin de données ont des interfaces qui permettent à l'attaquant de stocker les détails de configuration d'une attaque (Lindqvist, 2001).

Erreur de type I et de type II

L'erreur de type 1 est également appelée faux positif car elle a tendance à rejeter l'hypothèse nulle même lorsqu'elle est vraie. Il accepte essentiellement une hypothèse optionnelle lorsque les résultats sont soumis au hasard. Cela a tendance à se produire lorsqu'on observe des disparités là où il n'y en a pas. L'erreur de type II est aussi appelée faux positif. En effet, il a tendance à rejeter l'hypothèse nulle lorsque l'hypothèse optionnelle est considérée comme l'état véritable de la nature. C’est une erreur de ne pas accepter une hypothèse optionnelle du fait d’un pouvoir inadéquat. Cela se produit lorsque des individus n'observent pas les disparités alors qu'il pourrait y en avoir une (Mahoney, 2002).

Le test d'hypothèse est le processus permettant de vérifier si les disparités entre deux distributions échantillonnées pourraient être expliquées par le hasard ou non. Si l'on peut conclure qu'il existe une manière significative de faire varier deux distributions, il faut prendre les précautions nécessaires pour percevoir que les disparités ne sont pas dues au hasard. Les erreurs de type I ne permettent pas d'hypothèses non fondées, de sorte que les individus prennent des précautions pour réduire les risques d'occurrence. On tente classiquement de définir les erreurs de type I sur 0.05 ou 0.01 où il n’ya que une ou cinq chances sur 100 d’apparaître un phénomène en ce qui concerne le degré de signification. Cependant, il n'est pas garanti que 0.05 ou 0.01 soit suffisamment rare, il est donc nécessaire de choisir avec prudence les niveaux significatifs. Les tests multiples, qui représentent l'incrément probable des erreurs de type I, ont lieu chaque fois que des erreurs statistiques sont répétées (Paxson, 2008).

Nouveau mécanisme qui détecte les attaques inconnues pour les faire connaître

Il n'est pas possible de construire un système de tolérance aux incursions qui puisse survivre pendant une quantité de temps significative sans gérer les problèmes d'attaques inconnues ainsi que les ressources de basculement limitées. Il est prudent de durcir son système pour apprécier le facteur travail de l'adversaire. Cependant, le temps nécessaire pour identifier les vulnérabilités émergentes dans tout système ainsi que pour développer son exploit pourrait être plus ou moins long (Almgren, 2000).

Pour un adversaire déterminé, cela pourrait être une question de temps et d'argent. Lors du développement d'une attaque, son exécution nécessite un temps limité. Dans la plupart des cas, le temps disponible pour la création de variantes d'attaque simples est limité. Si l'environnement de menace d'un système tolérant aux intrusions implique des adversaires disposant de ressources suffisantes, le système devrait pouvoir traiter un grand nombre d'attaques inconnues (Denning, 2012). Serveurs Linux

Linux est devenu un choix populaire pour les systèmes d'exploitation dans l'environnement serveur. La granularité ainsi que la souplesse des paramètres, la sécurité, les performances élevées ainsi que la fiabilité sont ses avantages par rapport aux autres systèmes. Compte tenu des limitations infrastructurelles, de nombreux services sont hébergés sur un serveur, ce qui constitue un défi pour la protection du serveur Linux. La pratique de protection du serveur Linux ne peut pas être une épreuve ponctuelle mais un mécanisme permanent qui perdure tant que le serveur est utilisé. L'objectif est d'accroître la sécurité et de détecter rapidement les problèmes (Feng, 2004).

Lors de l'installation du serveur Linux, il est essentiel que les services inutiles soient désactivés. Les paquets inutiles doivent également être supprimés. La plus grande menace qui pèse sur les progiciels Linux provient des progiciels peu sûrs utilisés dans l'exécution d'un certain nombre de commandes provenant d'emplacements distants. Ils incluent les commandes R telles que; rsh, rexec et rlogin. Ces progiciels ont tendance à transmettre des commandes, des noms d'utilisateur et des mots de passe via des réseaux en l'absence d'enregistrement préalable. Lors de l'interception du trafic, l'attaquant peut voir les informations susceptibles de mettre en pause un problème de sécurité critique. Il est donc nécessaire que ces paquets soient supprimés du serveur Linux et utilisent des protocoles qui utilisent des communications cryptées, par exemple le SSH.

L'administrateur du serveur doit vérifier avec prudence s'il est essentiel pour un certain nombre de protocoles, tels que le protocole de transfert de fichiers et Telnet, de posséder le client ainsi que le support du serveur. Il est important que les fichiers des serveurs FTP isolés soient téléchargés. L'exécution d'un serveur FTP non utilisé est une menace critique pour les serveurs Linux (Forrest, 2010).

L’administrateur de serveurs Linux doit mettre en place un système d’exploitation Linux qui offre un transfert sécurisé des fichiers afin d’améliorer la mise à jour des paquets ainsi que l’application des correctifs pertinents. Toutes les données transitant par ces réseaux doivent être cryptées par l'administrateur si possible. Les administrateurs de systèmes utilisent le protocole SSH ainsi que les protocoles Telnet pour accéder à distance au serveur Linux.

Cependant, Telnet est maintenant absolu car il ne chiffre jamais les données échangées avec les serveurs, ce qui inclut les informations d'identification des utilisateurs. Toute personne sur ce réseau, entre l’administrateur de l’ordinateur et le serveur de communication, est capable d’intercepter les paquets et de posséder les informations d’identité de l’utilisateur, obtenant ainsi le contrôle complet du serveur. Le protocole SSH est donc préféré au protocole Telnet pour ces raisons.

Le protocole SSH assure la protection de la communication sur le serveur via la cryptographie fondamentale asymétrique. La communication entre les serveurs SSH et les clients a tendance à être cryptée et inexplicable pour des tiers pouvant intercepter les paquets échangés. L'authentification du serveur SSH pourrait être obtenue par la transmission cryptée des informations d'identification de l'utilisateur. Cela pourrait également être évité en utilisant des clés asymétriques créées manuellement, sans qu'il soit nécessaire d'utiliser des mots de passe (Ghosh, 2007).

Si l'authentification est effectuée à l'aide de clés générées manuellement sans transfert de mots de passe, la clé d'authentification doit être le périphérique pouvant accéder au serveur Linux. L'utilisation des informations d'identification de l'utilisateur est essentielle pour que les administrateurs se connectent au serveur sur lequel des ordinateurs distincts sont utilisés pour la connexion isolée au serveur. Pour la communication et l'authentification coordonnée entre deux serveurs Linux, il est essentiel d'utiliser des clés asymétriques créées manuellement. En effet, il existe des correspondants permanents dans cette communication, ce qui évite d’écrire des mots de passe sur les fichiers.

Canaux de communication sécurisés

S'il est nécessaire de transférer des fichiers entre des serveurs Linux et des machines distantes, vous devez le faire via des canaux de communication sécurisés. Le protocole FTP est très populaire pour les transferts de fichiers. Cependant, il fait face à des risques de sécurité similaires, tout comme les options sécurisées du protocole Telnet, telles que SCP, FTPS ou SFTP, sont donc recommandées. Le protocole SFTP (Secure File Transfer Protocol) tend à établir une communication sécurisée et cryptée à l'aide de dispositifs distants, de manière à améliorer l'accès, le transfert ainsi que la gestion des fichiers. Ce protocole utilise également un tunnel SSH pour la manipulation de fichiers sur des serveurs isolés (Ilgun, 2011).

Le protocole FTPS (File Transfer Protocol Secure) provient du FTP fondé sur le protocole TLS (Transport Layer Security) ainsi que du protocole SSL (Secure Sockets Layer) qui améliorent le transport sécurisé des données. FTPS est très similaire au protocole HTTPS (Hypertext Transfer Protocol Secure) et requiert un certificat numérique sur les serveurs. Etant donné que les autres parties à la communication doivent faire confiance au certificat numérique du serveur monté, cela pourrait poser des problèmes lors de l'exécution de la solution complète. Si la capacité du transfert est utilisée pour les besoins du système ainsi que pour les besoins de l'administration du serveur, le protocole SFTP doit être utilisé, car il fournit de nombreuses alternatives de gestion de fichiers (Javitz, 2010).

Dans le cas où les fichiers sont transmis à partir du serveur Linux en tant que service pour les utilisateurs finaux, il est recommandé d'utiliser le protocole FTPS car il améliore l'authentification du serveur en utilisant des certificats numériques. FTPS a tendance à utiliser les protocoles 990 UDP ou TCP ainsi que les ports 989 pour établir des connexions et transférer des fichiers. Il est donc essentiel que ces ports restent ouverts sur les serveurs Linux. Le protocole de copie sécurisée (SCP) qui utilise le protocole SSH garantit le cryptage ainsi que l’authentification des données cryptées. Ce processus est identique à celui utilisé par le protocole SFTP. Cependant, celui-ci implique plus de fonctionnalités que le simple transfert de fichiers. SCP utilise le port TCP 22 pour garantir un transfert sécurisé des fichiers.

Le serveur Linux doit disposer d'un espace supplémentaire pour stocker les données collectées lors des opérations. Les administrateurs ont tendance à utiliser des systèmes de fichiers isolés pour accroître la capacité de leurs serveurs. Les serveurs Linux sont généralement connectés à des serveurs distants pour stocker des données et utiliser une partie du système de fichiers. Les systèmes de fichiers distants sont accessibles via des réseaux et les administrateurs système vivent des expériences similaires à celles des systèmes de fichiers distants cryptés sur le serveur Linux. Le transfert de données entre serveurs et systèmes de fichiers isolés doit être suffisamment sécurisé pour ne pas compromettre les données transférées. Il est recommandé aux administrateurs système d’utiliser le système de fichiers SSH (Secure Shell File System), qui améliore l’emploi de systèmes de fichiers isolés sur des serveurs Linux. SSHFS utilise la liaison SSH pour transférer en toute sécurité des données sur des réseaux. Fondamentalement, SSHFS utilise le protocole SFTP qui améliore la gestion de fichiers, la sécurité des accès ainsi que le transfert de données sur des systèmes de fichiers isolés (Klein, 2005).

Le serveur Linux ne peut être efficacement protégé que si l'administrateur est bien informé. Cela peut être fait s'il dispose d'un flux constant d'informations fiables sur les tendances en matière de sécurité qui concernent la distribution Linux pertinente ainsi que les packages de logiciels installés. Un grand nombre de vulnérabilités ont été découvertes au fil du temps dans les progiciels Linux et pourraient être utilisées par des attaquants pour compromettre des serveurs. Étant donné les listes de diffusion qui traitent des problèmes de sécurité dans la distribution Linux, les administrateurs sont en mesure d’agir rapidement en mettant à jour le système en temps voulu et en éliminant les vulnérabilités. Il est donc essentiel d’utiliser des listes de diffusion sécurisées dans les distributions Linux. Fondés sur des informations collectées, les administrateurs pourraient décider du moment où le système peut être mis à jour, ainsi que des progiciels pouvant être utilisés sur les serveurs.

Le gestionnaire de paquets Yum a été recommandé pour les distributions apt get ou Red Hat, car il garantit une installation efficace ainsi que la mise à jour des packages logiciels et des dépendances pertinentes. Il améliore également la suppression efficace des packages logiciels. Les gestionnaires de packages ont tendance à vérifier de manière répétée la signature numérique d'un package et à éviter l'installation si de tels packages comportent des signatures non valides. Les administrateurs doivent utiliser les référentiels de logiciels standard suggérés par les fournisseurs. Les progiciels peuvent également être récupérés à partir de plusieurs référentiels, mais cela nécessite des mesures de précaution supplémentaires. Il est prudent que les administrateurs vérifient les nouvelles versions des packages avant de les mettre à jour afin d'évaluer leur stabilité et les éventuels problèmes de sécurité. Les installations ne doivent être utilisées que sur des logiciels absents des référentiels officiels. Ces packages peuvent également être obtenus à partir d’un certain nombre de référentiels, mais avec un soin particulier. Les packages logiciels non officiels dans une interface de test ne doivent pas être installés sur des serveurs Linux de production (Ko, 2011).

Enregistrer une liste des paquets installés ainsi que leurs versions antérieures est considéré comme la meilleure pratique. En effet, l'administrateur pourrait accéder aux dernières versions stables. Si les nouveaux packages constituent une menace pour la stabilité du serveur, l'administrateur peut obtenir les versions installées précédemment et les réinstaller. Les administrateurs peuvent configurer le système pour effectuer une mise à jour automatique des packages logiciels, bien que cela ne soit généralement pas recommandé. La meilleure pratique consiste à effectuer une vérification mutuelle de chaque mise à jour des packages.

L'administrateur peut également demander aux gestionnaires de paquets d'envoyer des notifications intermittentes d'e-mails dans lesquels il peut répertorier tous les paquets susceptibles d'être mis à jour par le serveur. Lors de la révision de ces packages, il appartient à l'administrateur de prendre une décision concernant la mise à jour séparée de chaque package. L'envoi interrompu d'e-mails via le gestionnaire de paquets Yum peut être configuré dans le fichier de configuration (Kruegel, 2003). Il est essentiel de reprendre le service mis à jour Yum lorsque vous modifiez le fichier configuré. Les administrateurs qui utilisent des distributions Debian sont recommandés lors de l'installation ainsi que de l'utilisation du paquet de logiciels apticron afin de garantir des contrôles de routine lors de la mise à jour des paquets ainsi que des notifications par courrier électronique. Dans le fichier de configuration du logiciel de paquet apticron, il est prudent de saisir l'adresse e-mail à laquelle la notification sera envoyée. Dans le cas où l'administrateur est suffisamment expérimenté dans la définition des packages requis sur les serveurs, il est considéré comme une pratique raffinée de créer un référentiel local dans un tel réseau. Le référentiel des versions de paquetages connues et stables peut être généré sur un serveur Linux, où d'autres serveurs de réseau peuvent récupérer les paquetages. De telles solutions exigent des contrôles détaillés de tous les packages avant leur stockage dans un référentiel local.

Les serveurs Linux ont tendance à effectuer plusieurs tâches en offrant plusieurs services dans une instance. Cela conduit à une utilisation économique du serveur et à une efficacité optimale. L'administrateur système doit toutefois continuer à respecter la règle d'or de la sécurité. Cela garantit que le système est aussi sécurisé que les services hautement vénérables qu'il contient. La solution idéale est obtenue lorsque chaque serveur Linux offre un seul service aux utilisateurs finaux (Lane, 2010).

Plusieurs outils pourraient être utilisés pour améliorer la sécurité. Ils limitent l'accès non autorisé à des tentatives malveillantes ainsi que des services susceptibles de concilier le serveur Linux. Linux possède plusieurs outils de sécurité inhérents, par exemple SELinux et Netfilter. Netfilter est une fonction qui intercepte et traite généralement les paquets de réseaux. Cela pourrait être trouvé dans à peu près tous les systèmes Linux qui ont 2.4 et les versions précédentes du noyau.

Un nouveau mécanisme pour détecter les attaques inconnues Linux / IOS

Les vulnérabilités constatées sur le Web fournissent une part considérable de la sécurité des réseaux informatiques. Pour garantir la détection des attaques connues détectées sur le Web, les systèmes de détection mal utilisés tendent à être équipés de nombreuses signatures. Cependant, il n’est pas facile d’être direct avec la divulgation quotidienne des vulnérabilités liées au Web. Indépendamment de cela, des vulnérabilités pourraient être introduites par l’installation d’applications basées sur le Web spécifiées. Cela signifie que les systèmes de détection des abus doivent être assistés par des applications de détection d'anomalies (Lee, 2000).

Cet article propose un système de détection d’intrusion qui utilise une méthode de détection d’anomalie distincte pour la détection d’attaques Linux / IOS inconnues. Ce système a tendance à évaluer diverses requêtes client qui ont une référence pour un certain nombre de programmes serveur et génère des modèles pour un large éventail de fonctionnalités distinctes pour ces questions. Certaines de ces fonctionnalités incluent les modèles d'évaluation des programmes du côté serveur, ainsi que les valeurs de chaque paramètre dans son invocation. En particulier, l'utilisation d'attributs d'application particuliers des paramètres invoqués imprègne le système pour entreprendre une évaluation concentrée et générer un nombre réduit de faux positifs.

Ce système tend à dériver automatiquement les profils de paramètres liés aux applications Web, par exemple leur longueur, leur structure et l'association entre les requêtes. Cela signifie qu'il peut être déployé dans divers environnements applicables sans qu'il soit nécessaire de perdre du temps en réglage ou en configuration. L’application de détection d’anomalies présentée dans ce document a tendance à contenir sous forme de fichiers Web de serveurs Web d’entrée conformes au format CLF (Common Log Format) qui génère un score de nature anormale pour chaque demande Web (Liberty, 2002).

De manière plus concise, les méthodes d'évaluation employées par cet outil capitalisent sur les requêtes de structure HTTP spécifiques qui ont des paramètres. Ces modèles d'accès aux requêtes ainsi que leurs paramètres ont tendance à être comparés aux profils institués qui sont spécifiques au programme ou à tout programme de nature active pouvant être référencé. Cette stratégie tend à renforcer une évaluation très concentrée en ce qui concerne les méthodes de détection d'anomalie générique qui ne tiennent pas compte des programmes particuliers invoqués.

La détection des anomalies dépend des modèles de comportements souhaités par les utilisateurs ainsi que des applications et tend à interpréter les écarts par rapport au comportement ordinaire comme une preuve d'activités malveillantes. L'hypothèse est que les schémas d'attaque ont tendance à différer du comportement ordinaire. La détection des anomalies suppose que la disparité pourrait être exprimée à la fois quantitativement et qualitativement. La stratégie de détection proposée évalue les demandes HTTP de la même manière qu'elles sont consignées par la plupart des serveurs Web ordinaires. L'évaluation se concentre sur les requêtes qui utilisent des paramètres qui transmettent des valeurs aux documents actifs. De plus, l'entrée de processus de détection est constituée d'un ensemble d'URI ordonné U = {u1, u2,. . . , um} et extraites des requêtes GET effectives; leurs codes de retour tendent à être plus ou égaux à 200 mais devraient être inférieurs à 300 (Liljenstam, 2003).

L'URI ui est exprimée en éléments du chemin de ressource souhaité, une composante alternative de l'information de chemin (pinfoi), ainsi qu'une chaîne alternative de requête (q). La chaîne de requête est utilisée pour transmettre des paramètres aux ressources référencées où elle est indiquée par des caractères "?". Une chaîne de requête est composée de listes ordonnées de n paires d'attributs à côté de leurs valeurs analogues. Dans ce cas, q = (a1, v1), (a2, v2),. (an, vn) où ai 2 A, est un ensemble d'attributs, tandis que vi est une chaîne.

La procédure d'évaluation se concentre sur la relation entre les valeurs, les programmes et les paramètres. Les URI dépourvus de chaînes de requête sont considérés comme non pertinents et sont donc supprimés de U. Outre les URI, il existe une partition de U en sous-ensembles Ur. En conséquence, tous les programmes référencés r sont affectés aux requêtes correspondantes Ur. Le processus de détection d'anomalie utilise plusieurs modèles distincts dans un ensemble de modèles différents pour signaler les entrées anormales. On peut dire qu'un modèle est un ensemble de mécanismes utilisés pour évaluer des caractéristiques de requête spécifiques. Cette fonctionnalité peut être associée à des caractères de requête uniques (Lindqvist, 2001).

À la lumière de la distribution approximative de longueur des entités de la requête avec les paramètres l et r2, il appartient à la phase de détection d'évaluer une anomalie de paramètre de longueur l. Ceci est fait en calculant la longueur l distance de u la valeur moyenne de distribution de longueur. Ceci peut être exprimé en utilisant l'inégalité de Chebyshev. Seules les chaînes dont la longueur dépasse u sont considérées comme malveillantes. Cela se reflète dans le calcul de la probabilité, car la limite supérieure des chaînes est plus longue par rapport à la moyenne et est donc pertinente. La catégorisation des stratégies de détection d’intrusion en abus et en anomalie a tendance à être orthogonale en ce qui concerne la méthode spécifique employée pour attribuer des attaques malveillantes ou ordinaires. Dans certains cas, les signatures sont utilisées dans la spécification du comportement projeté des utilisateurs (Mahoney, 2002).

Conclusion

Inconnu Linux / IOS Les attaques doivent être traitées à l'aide d'outils et de techniques qui incluent la précision de l'exposition fondée sur la signature avec le système de détection de la flexibilité d'intrusion fondée sur les anomalies. Cet article propose une nouvelle stratégie permettant de détecter les anomalies d'attaques Linux / IOS inconnues. Il utilise comme entrée des requêtes HTTP composées de paramètres. Il s’agit du système pionnier d’anomalie de détection modifié pour détecter les attaques inconnues sous Linux / IOS. Il capitalise sur les corrélations spécifiées par l'application entre les programmes du serveur Linux et les paramètres utilisés dans leur invocation. Idéalement, cette application ne nécessite aucune configuration particulière pour l’installation. Il apprend également ses attributs de requête à partir de la formation des données. Cependant, le degré de sensibilité avec des données anormales pourrait être configuré via des seuils pouvant convenir à différentes stratégies de site.

Les références

Almgren, MH Debar, M. Dacier, (2000), Un outil léger pour détecter les attaques de serveur Web, dans: Actes du symposium ISOC sur la sécurité des réseaux et des systèmes répartis, San Diego, CA ,.

Denning DE, (2012), Modèle de détection d'intrusion, Transactions IEEE sur le génie logiciel 13 (2) 222 – 232.

Feng, HJ Giffin, Y. Huang, S. Jha, W. Lee, B. Miller, (2004). Formalisation de la sensibilité dans l'analyse statique pour la détection d'intrusion, dans: Actes du Symposium IEEE sur la sécurité et la confidentialité, Oakland, CA ,.

Forrest, S. (2010), Un sentiment de soi pour les processus UNIX, dans: Actes du symposium IEEE sur la sécurité et la confidentialité, Oakland, CA, pp. 120 – 128.

Ghosh, AKJ Wanken, F. Charron (2007), Détection d’intrusions anormales et inconnues dans des programmes, dans: Actes de la conférence annuelle sur la sécurité des applications informatiques (ACSAC_98), Scottsdale, , pp. 259-267.

Ilgun, RA Kemmerer, PA Porras, K. (2011) Analyse de transition d'état: un système de détection d'intrusion basé sur des règles, Transactions IEEE sur le génie logiciel 21 (3) 181 – 199.

Javitz, A. Valdes HS, (2010), Le détecteur d'anomalie statistique SRI IDES, dans: Actes du Symposium IEEE sur la sécurité et la confidentialité, Oakland, CA ,.

Klein D., (2005), Se défendre contre les cyber-surfeurs: attaques et défenses sur le Web, dans: Actes de l'atelier USENIX sur la détection d'intrusion et la surveillance du réseau, Santa Clara, CA ,.

Ko, CM Ruschitzka, K. Levitt, (2011), Surveillance de l'exécution des programmes critiques pour la sécurité dans les systèmes distribués: une approche basée sur la spécification, dans: Actes du Symposium IEEE sur la sécurité et la confidentialité, Oakland, CA, p. 175 – 187.

Kruegel, CD Mutz, WK Robertson, F. Valeur, (2003), Classification bayésienne des événements pour la détection d'intrusion, dans: Actes de la conférence annuelle sur les applications de la sécurité informatique (ACSAC 2003), Las Vegas, NV ,.

Lane, TCE Brodley, (2010), Apprentissage de séquences temporelles et réduction des données pour la détection d'anomalies, dans: Actes de la Conférence ACM sur la sécurité des ordinateurs et des communications, San Francisco, Californie, ACM Press, New York, p. 150 – 158.

Lee, WS Stolfo, (2000), Un cadre pour la construction de fonctionnalités et de modèles pour les systèmes de détection d'intrusion, ACM Transactions on Information and System Security 3 (4) 227-261.

Liberty, DJ Hurwitz, (2002), Programmation ASP.NET, O_Reilly, Sebastopol, CA.

Liljenstam, MD Nicol, V. Berk, R. Gray, (2003), Simulation d'un trafic de ver de réseau réaliste pour la conception et les tests de systèmes d'avertissement de ver, dans: Actes de l'atelier ACM sur Rapid Malcode, Washington, DC, p. 24 – 33.

Lindqvist, M. Almgren, U. (2001), Collecte de données intégrée à l'application pour la surveillance de la sécurité, dans: Comptes rendus des récents progrès de la détection d'intrusion (RAID), Davis, Californie, octobre 2001, LNCS, Springer, p. 22 – 36.

Mahoney, P. Chan, M. (2002), Apprentissage de modèles non stationnaires du trafic réseau normal pour la détection de nouvelles attaques, dans: Actes de la 8th International Conference on Knowledge Discovery et Data Mining, Edmonton, Alberta, Canada, p. 376 – 385.

Paxson, V. (2008), Bro: un système de détection des intrus sur le réseau en temps réel, dans: Actes du 7th USENIX Security Symposium, San Antonio, TX.

Pièces jointes:
FichierDescriptionTaille du fichier
Téléchargez ce fichier (a_new_mechanism_to_detect_unknown_linux_IOS_attacks.pdf)Un nouveau mécanisme pour détecter les attaques inconnues Linux / IOSUn nouveau mécanisme pour détecter les attaques inconnues Linux / IOS476 kB

Plus d'échantillons d'écritures

Offre spéciale!
Utilisez COUPON: UREKA15 pour obtenir 15.0% off.

Toutes les nouvelles commandes sur:

Rédaction, réécriture et édition

Commander Maintenant