• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 38
  • 24
  • 6
  • Tagged with
  • 70
  • 70
  • 26
  • 23
  • 18
  • 16
  • 15
  • 15
  • 15
  • 13
  • 11
  • 11
  • 10
  • 9
  • 9
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
21

Détection du code malicieux : système de type à effets et instrumentation du code

Khoury, Raphaël 11 April 2018 (has links)
Ce mémoire traite en premier lieu des avantages et des désavantages des différentes approches visant à assurer la sûreté et la sécurité des logiciels. En second lieu, il présente une nouvelle approche pour combiner l'analyse statique et l'analyse dynamique afin de produire une architecture de sécurité plus puissante. Les premiers chapitres du mémoire comportent une revue analytique des différentes approches statiques, dynamiques et hybrides qui peuvent être utilisées afin de sécuriser le code potentiellement malicieux. L'exposé identifie alors les avantages et les inconvénients de chaque approche ainsi que le champ des politiques de sécurité dans lesquels on peut l'appliquer. Le dernier chapitre traite de la possibilité de combiner l'analyse statique et l'analyse dynamique par une nouvelle approche hybride. Cette approche consiste à instrumenter le code seulement là où c'est nécessaire pour assurer satisfaire une politique de sécurité définie par l'usager et exprimée en un ensemble de propriétés exprimées μ-calcul modal. Cette instrumentation est guidée par une analyse statique effectuée à priori et basée sur un système de type à effets. Les effets représentent les accès aux ressources protégées du système. / The purpose of this thesis is twofold. In the first place it presents a comparative study of the advantages and drawbacks of several approaches to insure software safety and security. It then focuses more particularly on combining static analyses and dynamic monitoring in order to produce a more powerful security architecture. The first chapters of the thesis present an analytical review of the various static, dynamic and hybrid approaches that can be used to secure a potentially malicious code. The advantages and drawbacks of each approach are thereby analyzed and the field of security properties that can be enforced by using it are identified. The thesis then focuses on the possibility of combining static and dynamic analysis through a new hybrid approach. This approach consists in a code instrumentation, that only alters those parts of a program where it is necessary to do so to insure the respect of a user-defined security policy expressed in a set of modal μ-calculus properties. this instrumentation is guided by a static analysis based on a type and effect system. The effects represent the accesses made to pretested system ressources.
22

Sécurisation de code basée sur la combinaison de la vérification statique et dynamique : génération de moniteur à partir d'un automate de Rabin

Chabot, Hugues 16 April 2018 (has links)
Ce mémoire présente une nouvelle approche pour sécuriser du code potentiellement malicieux à l'aide d'un moniteur incorporé au code. Les premiers chapitres du mémoire introduisent les notions préliminaires à la présentation de l'approche. Plus précisément, les concepts fondamentaux de la vérification de modèle et du contrôle des systèmes à événements discrets. Le dernier chapitre présente les fondements théoriques de l'approche en généralisant les résultats de Ligatti, Bauer et Walker, et montre une classe de moniteurs qui est plus puissante lorsqu'on précise son contexte d'application. Cette observation mène à l'élaboration d'une approche consistant à instrumenter un programme, dans le but de le rendre sécuritaire, à partir d'un modèle du programme et d'une propriété de sécurité représentée par un automate de Rabin.
23

Domain Theory 101 : an ideal exploration of this domain

Ricaud, Loïc 28 January 2021 (has links)
Les problèmes logiciels sont frustrants et diminuent l’expérience utilisateur. Par exemple, la fuite de données bancaires, la publication de vidéos ou de photos compromettantes peuvent affecter gravement une vie. Comment éviter de telles situations ? Utiliser des tests est une bonne stratégie, mais certains bogues persistent. Une autre solution est d’utiliser des méthodes plus mathématiques, aussi appelées méthodes formelles. Parmi celles-ci se trouve la sémantique dénotationnelle. Elle met la sémantique extraite de vos logiciels préférés en correspondance avec des objets mathématiques. Sur ceux-ci, des propriétés peuvent être vérifiées. Par exemple, il est possible de déterminer, sous certaines conditions, si votre logiciel donnera une réponse. Pour répondre à ce besoin, il est nécessaire de s’intéresser à des théories mathématiques suffisamment riches. Parmi les candidates se trouvent le sujet de ce mémoire : la théorie des domaines. Elle offre des objets permettant de modéliser formellement les données et les instructions à l’aide de relations d’ordre. Cet écrit présente les concepts fondamentaux tout en se voulant simple à lire et didactique. Il offre aussi une base solide pour des lectures plus poussées et contient tout le matériel nécessaire à sa lecture, notamment les preuves des énoncés présentés. / Bugs in programs are definitively annoying and have a negative impact on the user experience. For example, leaks of bank data or leaks of compromising videos or photos have a serious effect on someone’s life. How can we prevent these situations from happening? We can do tests, but many bugs may persist. Another way is to use mathematics, namely formal methods. Among them, there is denotational semantics. It links the semantics of your favorite program to mathematical objects. On the latter, we can verify properties, e.g., absence of bugs. Hence, we need a rich theory in which we can express the denotational semantics of programs. Domain Theory is a good candidate and is the main subject of this master thesis. It provides mathematical objects for data and instructions based on order relations. This thesis presents fundamental concepts in a simple and pedagogical way. It is a solid basis for advanced readings as well as containing all the needed knowledge for its reading, notably proofs for all presented statements.
24

Détection d'intrusions comportementale par diversification de COTS : application au cas des serveurs web

Majorczyk, 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 Web

Levointurier, 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 programmes

Kunz, 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 communicants

Bussard, 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 logiciel

Marois, 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 communautaire

Gingras, É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'entreprise

Su, 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.1034 seconds