Spelling suggestions: "subject:"sécurité informatique"" "subject:"sécurité nformatique""
21 |
Approche logique pour l'analyse de traces d'exécutionsZribi, Rimeh 19 April 2018 (has links)
Les techniques traditionnelles de détection d'intrusions s'appuient sur différentes approches permettant d'identifier une utilisation non prévue et non autorisée de différentes ressources d'un système informatique. Afinn de détecter ces comportements, nous décrivons dans ce mémoire une approche logique de détection d'intrusions basée sur l'identification, dans des traces d'exécutions, de violations de politiques de sécurité données. Le modèle développé spécifie l'état des ressources d'un système ainsi que les effets des différents appels système sur cet état. Le système obtenu, qui s'apparente à un système expert, s'appuie sur un ensemble de règles logiques décrivant les connaissances d'un expert en sécurité informatique. Tout comportement illégal, c'est-à-dire non conforme aux politiques de sécurité considérées, est signalé et est considéré comme une tentative d'intrusion. Le système implémenté est capable de détecter une large classe d'attaques puisque l'approche développée ne se base pas sur certaines séquences particulières d'actions déjà recensées, mais plutôt sur les effets des différentes actions effectuées. De plus, il est capable de détecter de nouveaux comportements malveillants non préalablement identifiés. / Traditional techniques for intrusion detection based on different approaches for identifying unintended and unauthorized use of dfferent resources of a computer system. To detect these behaviors, we describe in this paper a logical approach to intrusion detection based on the identification, in execution traces, of violations of given security policies. The developed model specifies the state of system resources as well as the effects of different system calls on this state. The resulting system, which is similar to an expert system, relies on a set of logical rules describing the knowledge of an expert in computer security. Any illegal behavior, that means not conform to the considered security policies, is reported and is considered as an intrusion attempt. The implemented system is able to detect a wide class of attacks since the approach is not based on some particular sequences of actions already identified, but rather on the effects of different actions performed. In addition, it is able to detect new malicious behavior not previously identified.
|
22 |
Automated fault identification : kernel trace analysisWaly, Hashem 18 April 2018 (has links)
L'évolution des systèmes informatiques ayant des programmes parallèles, des processeurs multi-cores et des réseaux fortement interconnectés rend la détection des activités malicieuses plus difficile. Dans un tel contexte, le traçage du noyau s:est révélé être une solution appropriée. Ce travail présente un framework complet pour les analyses des traces du noyau. On a proposé un langage scripte déclaratif et simple à utiliser pour la spécification des patrons. Les patrons compilés sont insérés dans le moteur de détection qui par la suite analyse les traces et progressivement communique avec le module d'affichage. Le module d1 affichage est responsable d'avertir l'administrateur sur les problèmes qui exécutent en arrière plan sur le système. On considère que notre approche est suffisamment générale pour être utiliser avec n'importe quel types de trace (réseaux ou systèmes) ou même des traces combinés. Le langage proposé peut efficacement décrire des patrons reliés aux différents types de domaines : sécurité, performance, débogage et abstraction.
|
23 |
Mécanisme de contrôle du flot d'information dans un programme : approche par typage trivaluéKanyabwero, Erwanne Paméla 19 April 2018 (has links)
Ce mémoire présente un mécanisme d’application de politiques de sécurité grâce à une analyse de types trivaluée sur un langage impératif. Notre analyse a pour but de réduire les faux positifs générés par l’analyse statique, tout en préparant les programmes analysés à être instrumentés. Les faux positifs se produisent dans l’analyse de systèmes informatiques à temps réel quand il manque de l’information au moment de la compilation, par exemple un nom de fichier, et par conséquent, son niveau de sécurité. Notre approche visant à répondre à la question « Y a-t’il violation de la propriété de non-interférence dans le programme ? », l’idée clé est de distinguer les réponses négatives des réponses incertaines. Au lieu de rejeter le programme systématiquement en cas d’incertitude, nous typons les instructions avec un type additionnel, unknown, indiquant l’incertitude. Notre travail est fait en préparation à un mécanisme d’application hybride, combinant l’analyse statique par l’analyse de types et l’analyse dynamique par l’instrumentation de code. Durant l’étape d’analyse statique, les réponses positives et négatives sont traitées de manière standard, tandis que les réponses incertaines sont clairement annotées du type incertain, préparant ainsi pour un éventuel passage à la deuxième étape : l’instrumentation. Une preuve que notre système de types est cohérent est donnée, ceci en montrant qu’il satisfait la non-interférence. Les programmes interagissent à travers les canaux de communication. Notre contribution réside dans la manipulation de trois types de sécurité, mais aussi dans le traitement des variables et canaux de communication de manière particulière. Les niveaux de sécurité sont associés aux canaux plutôt qu’aux variables dont les niveaux de sécurité varient selon l’information qu’elles contiennent.
|
24 |
Détection d'intrusions comportementale par diversification de COTS : application au cas des serveurs webMajorczyk, Frédéric 03 December 2008 (has links) (PDF)
L'informatique et en particulier l'Internet jouent un rôle grandissant dans notre société. Un grand nombre d'applications critiques d'un point de vue de leur sécurité sont déployées dans divers domaines comme le domaine militaire, la santé, le commerce électronique, etc. La sécurité des systèmes informatiques devient alors une problématique essentielle tant pour les individus que pour les entreprises ou les états. Il est donc important de définir une politique de sécurité pour ces systèmes et de veiller à son respect. Néanmoins les mécanismes de sécurité préventifs mis en place ne sont pas incontournables. Il est nécessaire de mettre en œuvre des outils permettant de détecter toute violation de la politique de sécurité, c'est-à-dire toute intrusion. Ces outils sont appelés des systèmes de détection d'intrusions ou IDS. Souvent en collaboration avec les IDS, il est possible de mettre en place des outils et techniques de tolérance aux intrusions. Ces outils et techniques ont pour objectif que les intrusions affectant un composant du système n'entrainent pas de violations de la politique de sécurité du système global.<br />Notre travail s'inscrit dans le domaine de la détection d'intrusions, de manière essentielle, et permet une certaine tolérance aux intrusions. Contrairement aux méthodes de détection classiques en détection comportementale pour lesquelles il est nécessaire de définir et construire un modèle de référence du comportement de l'entité surveillée, nous avons suivi une méthode issue de la sureté de fonctionnement fondée sur la programmation N-versions pour laquelle le modèle de référence est implicite et est constitué par les autres logiciels constituant l'architecture. Nous proposons l'utilisation de COTS en remplacement des versions spécifiquement développées car développer N-versions est couteux et est réservé à des systèmes critiques du point de vue de la sécurité-innocuité. D'autres travaux et projets ont proposé des architectures fondées sur ces idées. Nos contributions se situent à différents niveaux. Nous avons pris en compte dans notre modèle général de détection d'intrusions les spécificités liées à l'utilisation de COTS en lieu et place de versions spécifiquement développées et proposé deux solutions pour parer aux problèmes induits par ces spécificités. Nous avons proposé deux approches de détection d'intrusions fondées sur cette architecture : l'une suivant une approche de type boite noire et l'autre suivant une approche de type boite grise. Notre méthode de type boite grise peut, en outre, aider l'administrateur de sécurité à effectuer un premier diagnostic des alertes. Nous avons réalisé une implémentation de ces deux approches dans le cadre des serveurs web et avons évalué pratiquement la pertinence et de la fiabilité de ces deux IDS.
|
25 |
De la nécessité d'une vision holistique du code pour l'analyse statique et la correction automatique des Applications WebLevointurier, Christophe 08 December 2011 (has links) (PDF)
L'omniprésence de l'informatique a comme conséquences, parmi d'autres, la multiplication du volume logiciel existant et en cours de développement pour répondre à une demande toujours croissante. Cette course à la productivité implique une industrialisation de la production de code sous contrôle qualitatif de plus en plus exigeante.Cette thèse tend à repousser des limites constatées dans le domaine de la qualité logicielle. Ces limites perceptibles dans les outils actuels concernent (1) le périmètre d'analyse, (2) l'ergonomie et les contextes d'utilisation, ainsi que (3) les solutions de correction du code proposées.Le point prépondérant de cette étude est la valorisation de l'ensemble des contenus qui entrentdans la composition d'une application pour améliorer les performances de l'analyse statique.Cette approche nous a permis d'obtenir des réponses plus complètes pour les problématiques déjà couvertes par l'existant. Cette diversité des sources nous a également permis de formuler des nouvelles analyses plus spécifiques et mieux adaptées aux caractéristiques de l'application cible. Nous avons aussi montré que la parallélisation de l'exécution et la possible automatisation de corrections aux problèmes trouvés lors de l'analyse permettent d'appliquer rapidement un nombre important de transformations sur un code volumineux.
|
26 |
Préservation des preuves et transformation de programmesKunz, César 03 February 2009 (has links) (PDF)
Le paradigme du code mobile implique la distribution des applications par les producteurs de code à environnements hétérogènes dans lesquels elles sont exécutées. Une pratique étendue de ce paradigme est constituée par le développement d'applications telles que les applets ou les scripts Web, transferés à travers un réseau non sécurisé comme Internet à des systèmes distants, par exemple un ordinateur, un téléphone mobile ou un PDA (Assistant personnel). Naturellement, cet environnement peux ouvrir la porte au déploiement de programmes malveillants dans des plateformes distantes. Dans certains cas, la mauvaise conduite du code mobile ne constitue pas un risque grave, par exemple lorsque l'intégrité des données affectées par l'exécution n'est pas critique ou lorsque l'architecture d'exécution impose de fortes contraintes sur les capacités d'exécution du code non sécurisé. Il y a toujours, toutefois, des situations dans lesquelles il est indispensable de vérifier la correction fonctionnelle du code avant son exécution, par exemple lorsque la confidentialité de données critiques comme l'information des cartes de crédit pourrait être en danger, ou lorsque l'environnement d'exécution ne possède pas un mécanisme spécial pour surveiller la consommation excessive des ressources. George Necula a proposé une technique pour apporter de la confiance aux consommateurs sur la correction du code sans faire confiance aux producteurs. Cette technique, Proof Carrying Code (PCC), consiste à déploier le code avec une preuve formelle de sa correction. La correction est une propriété inhérente du code reçuu qui ne peut pas être directement déduite du producteur du code. Naturellement, cela donne un avantage à PCC quant-aux méthodes basées sur la confiance à l'autorité d'un tiers. En effet, une signature d'une autorité ne suffit pas à fournir une confiance absolue sur l'exécution du code reçu. Depuis les origines du PCC, le type de mécanisme utilisé pour générer des certificats repose sur des analyses statiques qui font partie du compilateur. Par conséquent, en restant automatique, il est intrinsèquement limité à des propriétés très simples. L'augmentation de l'ensemble des propriétés à considerer est difficile et, dans la plupart des cas, cela exige l'interaction humaine. Une possibilité consiste à vérifier directement le code exécutable. Toutefois, l'absence de structure rend la vérification du code de bas niveau moins naturelle, et donc plus laborieuse. Ceci, combiné avec le fait que la plupart des outils de vérification ciblent le code de haut niveau, rend plus appropriée l'idée de transferer la production de certificats au niveau du code source. Le principal inconvénient de produire des certificats pour assurer l'exactitude du code source est que les preuves ne comportent pas la correction du code compilé. Plusieurs techniques peuvent etre proposées pour transférer la preuve de correction d'un programme à sa version exécutable. Cela implique, par exemple, de déployer le programme source et ses certificats originaux (en plus du code exécutable) et de certifier la correction du processus de compilation. Toutefois, cette approche n'est pas satisfaisante, car en plus d'exiger la disponibilité du code source, la longueur du certificat garantissant la correction du compilation peut être prohibitive. Une alternative plus viable consiste à proposer un mécanisme permettant de générer des certificats de code compilé à partir des certificats du programme source. Les compilateurs sont des procédures complexes composées de plusieurs étapes, parmi lesquelles le programme original est progressivement transformé en représentations intermédiaires. Barthe et al. et Pavlova ont montré que les certificats originaux sont conservés, à quelques différences près non significatives, par la première phase de compilation: la compilation non optimale du code source vers une représentation non structurée de niveau intermédiaire. Toutefois, les optimisations des compilateurs sur les représentations intermédiaires représentent un défi, car a priori les certificats ne peuvent pas être réutilisés. Dans cette thèse, nous analysons comment les optimisations affectent la validité des certificats et nous proposons un mécanisme, Certificate Translation, qui rend possible la génération des certificats pour le code mobile exécutable à partir des certificats au niveau du code source. Cela implique transformer les certificats pour surmonter les effets des optimisations de programme.
|
27 |
Protocoles d'établissement de confiance pour objets communicantsBussard, Laurent 10 1900 (has links) (PDF)
Avec l'arrivée des systèmes auto-organisés tels que les réseaux ad hoc ou l'informatique diffuse, les protocoles de sécurité doivent répondre à de nouveaux besoins. Dans ce travail nous étudions comment une relation de confiance peut être établie entre des entités qui ne se connaissent pas a priori. Nous proposons des protocoles de sécurité permettant à une entité de garder un historique de ses interactions: après chaque interaction, une preuve est délivrée par exemple sous la forme d'une recommandation ou d'une preuve d'interaction. Chaque preuve concernant une entité est stockée par celle-ci dans son historique. Les preuves peuvent être sélectivement démontrées, lorsqu'il est nécessaire de dévoiler une partie de son historique pour établir une relation de confiance. Prouver son historique à différentes entités révèle en général trop d'information et des mécanismes pour protéger la vie privée des utilisateurs sont nécessaires. Dans ce but, nous proposons un mécanisme de certificat non traçable qui empêche de faire le lien entre plusieurs preuves et qui protège l'anonymat des utilisateurs. Ce schéma est une extension des signatures de groupe où le signataire n'est plus un membre anonyme d'un groupe mais le détenteur d'un historique. Un autre besoin récurrent de l'informatique diffuse est la création d'un lien entre les entités virtuelles et le monde physique qui les entoure. Dans ce but, nous proposons les preuves de proximité qui combinent une mesure de distance et de la cryptographie dans le but de vérifier la proximité d'une entité connaissant un secret, par exemple une clé privée. Ce mécanisme peut être utilisé durant une interaction pour obtenir une preuve de cette interaction ou une preuve de localisation. Finalement, nous combinons ces deux mécanismes pour définir une architecture dédiée à l'établissement de confiance basé sur un historique. Ce schéma nous permet de confirmer la thèse qu'il est possible d'établir une relation de confiance en protégeant sa vie privée. Les résultats d'une première implémentation sont également discutés.
|
28 |
Évaluation de l'application des activités de sécurité proposées par les méthodes de gestion des risques de sécurité pour les systèmes d'information dans un contexte de cycle de développement du logicielMarois, Patrick January 2009 (has links) (PDF)
Ce mémoire concerne la sécurité informatique appliquée dans le domaine du logiciel informatique. En fait, il s'agit de l'intégration des concepts de la gestion des risques de sécurité pour les systèmes d'information dans un contexte du cycle de développement du logiciel. Après la présentation générale de ces sujets, la recherche aborde la problématique de la présence des vulnérabilités de sécurité dans les logiciels mis en opération. La solution proposée pour restreindre leur présence est fondée sur l'hypothèse qu'il est possible d'intégrer des activités reliées à la gestion des risques de sécurité aux étapes du cycle de développement du logiciel afin que ses bénéfices permettent de diminuer la présence de vulnérabilités de sécurité dans les logiciels produits. La recherche présentée dans ce mémoire prend ses appuis sur des concepts éprouvés dans les différents domaines étudiés. Le Processus Unifié est utilisé à titre de référence pour le cycle de développement du logiciel, tandis que les méthodes EBIOS, MEHARI et OCTAVE ont été employées pour la gestion des risques de sécurité. La démarche analytique entreprise dans cette recherche commence d'abord par l'étude des méthodes de gestion des risques pour en extraire une liste généralisée d'activités de sécurité. Elle présente ensuite des détails sur les activités effectuées dans chacune des étapes du Processus Unifié. En dernier lieu, elle intègre une à une les activités générales de la gestion des risques dans les étapes du cycle de développement logiciel. Les résultats ont démontré qu'un petit nombre d'activités générales de la gestion des risques avait un lien direct avec le cycle de développement du logiciel, alors que les autres pouvaient être intégrées et réalisées en fonction de leurs interdépendances avec les activités concernées. En démontrant que certaines activités avaient un ancrage réel avec une activité de projet réalisée lors d'une étape du cycle de développement logiciel, et qu'il existe de fortes interdépendances entre les activités de gestion des risques, il est alors possible de croire que les activités de gestion des risques peuvent être réalisées conjointement aux activités de projet dans un cycle de développement du logiciel. Puisque la gestion des risques de sécurité vise à diminuer les vulnérabilités de sécurité et qu'elle se retrouve ainsi intégrée au développement logiciel, l'hypothèse fut confirmée. ______________________________________________________________________________ MOTS-CLÉS DE L’AUTEUR : Méthode de gestion des risques de sécurité, Sécurité des systèmes d'information, Cycle de développement du logiciel, Sécurité informatique, Vulnérabilités de sécurité dans les logiciels, EBIOS, MEHARI, OCTAVE, Processus Unifié.
|
29 |
Vers une auto-protection des machines par un effort communautaireGingras, Éric 10 1900 (has links) (PDF)
L'objectif de ce projet de recherche est de proposer une solution innovatrice au problème de la prévention des activités malveillantes et illégitimes dans un système informatique, par l'utilisation de concepts issus de différents domaines des sciences cognitives. Pour ce faire, un nouveau paradigme, visant à solutionner les problèmes auxquels font face les solutions traditionnelles, a été recherché. Notre source d'inspiration pour modéliser les comportements est constitué par des stratégies qui ont permis aux humains de survivre dans un environnement hostile. Premièrement, nous nous sommes inspirés de la capacité de l'Homme à produire un raisonnement adapté à des situations inédites. Deuxièmement, nous nous sommes inspirés du comportement humain qu'est la formation de communautés d'individus qui permettent d'assurer une défense collective. Et finalement, nous nous sommes inspirés de la protection qu'offre à une population la diversité des individus qui la composent. C'est en utilisant la notion des schémas (frame de Minsky) pour représenter l'état des systèmes (le contexte d'une anomalie), en fuzzifiant (utilisation d'un système basé sur la logique floue) le raisonnement d'analyse des anomalies, en permettant aux systèmes de collaborer efficacement, et en faisant en sorte que les agents aient tous leurs propres caractéristiques de raisonnement uniques et distinctes, que ce projet de recherche aborde la problématique de la détection d'intrusions. La mise en place de ces mécanismes dans l'agent nommé ci-après ACCIS (Agent Collaboratif pour la Corrélation de l'Information de Sécurité) permettra d'améliorer les solutions traditionnelles pour la protection des systèmes informatiques sur deux principaux plans. Premièrement, en raffinant les capacités d'analyse, mais également en permettant aux mécanismes de défense d'être partiellement imprévisibles rendant la tâche des individus malveillants beaucoup plus difficile. Plus concrètement, les objectifs du projet de recherche sont de prouver la faisabilité d'un système: rendant les solutions pour la protection des ordinateurs plus autonomes (en réduisant les besoins de configurations, d'analyse et d'intervention humaine), tendant vers une pro-activité efficace par la suggestion de réactions précises, possédant un domaine d'analyse global (en définissant le « système » à surveiller comme un réseau et non une machine précise) et riche (en utilisant différents types d'informations hétérogènes).
______________________________________________________________________________
|
30 |
Application de gestion des droits numériques au système d'information d'entrepriseSu, Ziyi 23 March 2012 (has links) (PDF)
Pour faire face aux enjeux d'une économie mondialisée et aux fluctuations du marché, les entreprises (et principalement les PMEs) doivent développer de nouvelles stratégies de collaboration et d'organisation en réseau permettant de s'intéresser effectivement au réseau de création de valeur (et non pas se limiter à une simple organisation de chaîne de valeur) plus en rapport avec le contexte économique " blue ocean " visant le développement de produits et services innovants. Actuellement, ces réseaux de collaborations sont basés sur des relations de confiance et des communautés bien identifiées. Pour passer à une collaboration à très grande échelle, il importe d'accroître l'agilité et l'interopérabilité des entreprises et de leurs systèmes d'information pour permettre leur interconnexion. Cette stratégie de collaboration pose le problème d'une gestion de la sécurité " de bout en bout " pendant tout le cycle de vie des informations et processus partagés. Or les approches traditionnelles de sécurité ne proposent qu'une protection " statique " et " instantanée " ce qui ne permet pas de répondre aux contraintes de gestion des usage et d'adaptation dynamique requises par les organisations collaboratives. Pour répondre à ces enjeux, nous proposons d'adapter les approches de gestion des droits numériques (DRM) aux systèmes d'information. Après avoir proposé une architecture semi-distribuée de gestion des droits d'usage, nous avons proposé un modèle de politique de sécurité intégrant les droits d'usage et les obligations associées. Ceci nous a conduits à définir une syntaxe et une sémantique adaptée pour enrichir les politiques traditionnelles. Nos travaux ont porté ensuite sur la prise en compte de la dimension collaborative. Dans ce cadre nous avons proposé une algèbre d'intégration permettant de gérer la composition des politiques en fonction de l'ajout ou du retrait de partenaires dans l'organisation en analysant les processus métiers mis en œuvre par la collaboration. Enfin, notre architecture a été validée par un prototype incluant un moteur de négociation (construit sur l'outil "SUN XACML implementation"), un moteur d'agrégation s'appuyant sur JAVA DOM et JDOM et une composante d'analyse de contexte.
|
Page generated in 0.0755 seconds