To see the other types of publications on this topic, follow the link: Logiciel de sécurité.

Dissertations / Theses on the topic 'Logiciel de sécurité'

Create a spot-on reference in APA, MLA, Chicago, Harvard, and other styles

Select a source type:

Consult the top 50 dissertations / theses for your research on the topic 'Logiciel de sécurité.'

Next to every source in the list of references, there is an 'Add to bibliography' button. Press on it, and we will generate automatically the bibliographic reference to the chosen work in the citation style you need: APA, MLA, Harvard, Chicago, Vancouver, etc.

You can also download the full text of the academic publication as pdf and read online its abstract whenever available in the metadata.

Browse dissertations / theses on a wide variety of disciplines and organise your bibliography correctly.

1

Duc, Guillaume. "Support matériel, logiciel et cryptographique pour une éxécution sécurisée de processus." Télécom Bretagne, 2007. http://www.theses.fr/2007TELB0041.

Full text
Abstract:
La majorité des solutions apportées aux problèmes de sécurité informatique (algorithmes, protocoles, systèmes d'exploitation sécurisés, applications) s'exécute sur des architectures matérielles non sécurisées et pouvant donc être vulnérables à des attaques physiques (espionnage du bus, modification de la mémoire, etc. ) ou logicielles (système d'exploitation corrompu). Des architectures sécurisées, permettant de garantir la confidentialité et la bonne exécution de programmes contre de telles attaques, sont proposées depuis quelques années. Après avoir présenté quelques bases cryptographiques ainsi qu'un comparatif des principales architectures sécurisées proposées dans la littérature, nous présenterons l'architecture sécurisée CryptoPage. Cette architecture garantit la confidentialité du code et des données des applications ainsi que leur bonne exécution contre des attaques matérielles et logicielles. Elle inclut également un mécanisme permettant de réduire les fuites d'informations via le bus d'adresse, tout en conservant des performances raisonnables. Nous étudierons également comment déléguer certaines opérations de sécurité de l'architecture CryptoPage à un système d'exploitation qui n'est pas digne de confiance, afin de permettre plus de flexibilité, sans pour autant compromettre la sécurité de l'ensemble. Enfin, d'autres mécanismes importants pour le bon fonctionnement de l'architecture CryptoPage sont traités : identification des processus chiffrés, attestation des résultats, gestion des signaux logiciels, gestion des processus légers, gestion des communications inter-processus
The majority of the solutions to the issue of computer security (algorithms, protocols, secure operating systems, applications) are running on insecure hardware architectures that may be vulnerable to physical (bus spying, modification of the memory content, etc. ) or logical (malicious operating system) attacks. Several secure architectures, which are able to protect the confidentiality and the correct execution of programs against such attacks, have been proposed for several years. After the presentation of some cryptographic bases and a review of the main secure architectures proposed in the litterature, we will present the secure architecture CryptoPage. This architecture guarantees the confidentiality of the code and the data of applications and the correct execution against hardware or software attacks. In addition, it also includes a mechanism to reduce the information leakage on the address bus, while keeping reasonable performances. We will also study how to delegate some security operations of the architecture to an untrusted operating system in order to get more flexibility but without compromising the security of thearchitecture. Finally, some other important mechanism are studied: encrypted processid entification, attestations of the results, management of software signals, management of the threads, inter-process communication
APA, Harvard, Vancouver, ISO, and other styles
2

Ayrault, Philippe. "Développement de logiciel critique en FoCalize : méthodologie et outils pour l'évaluation de conformité." Paris 6, 2011. http://www.theses.fr/2011PA066120.

Full text
Abstract:
Tout semble montrer que la complexité des logiciels croit plus vite que notre capacité à démontrer leur bonne adéquation aux besoins requis et leur bon fonctionnement. Cette thèse repose sur l'expérience de l'auteur, en tant qu'évaluateur de systèmes critiques pilotés par du logiciel et tente de répondre aux besoins de support théorique et de formalisation des études de risque, afin de conforter les décisions de mise en exploitation. Le problème est posé dans le cadre de l'utilisation de l'atelier de développement FoCalize. Il permet l'écriture de spécifications sous la forme de formules du premier ordre puis le développement progressif du code, en utilisant héritage, paramétrisation et modularité. La thèse s'intéresse à deux aspects de la certification d'un logiciel critique développé à l'aide de l'atelier FoCalize. La conformité de l'outil aux exigences requises par les principales normes applicables dans le domaine de la Sûreté de Fonctionnement est étudiée. Pour cela, un cycle de développement système couvrant l'ensemble des phases de développement est proposé. Ce travail permet de montrer que l'outil FoCalize possède toutes les caractéristiques nécessaires à une certification. La thèse porte ensuite sur la réalisation d'analyses de risques sur un logiciel issu d'un développement en FoCalize. Une présentation des différentes méthodes appliquées pour l'évaluation d'un logiciel est effectuée. Puis, un outil de calcul de dépendances entre Entrées/Sorties vraies d'un composant est spécifié formellement en Coq et sa preuve de correction est fournie. Une implémentation d'un prototype a été réalisée et appliquée sur un régulateur de vitesse.
APA, Harvard, Vancouver, ISO, and other styles
3

Porquet, Joël. "Architecture de sécurité dynamique pour systèmes multiprocesseurs intégrés sur puce." Phd thesis, Université Pierre et Marie Curie - Paris VI, 2010. http://tel.archives-ouvertes.fr/tel-00574088.

Full text
Abstract:
Cette thèse présente l'approche multi-compartiment, qui autorise un co-hébergement sécurisé et flexible de plusieurs piles logicielles autonomes au sein d'un même système multiprocesseur intégré sur puce. Dans le marché des appareils orientés multimédia, ces piles logicielles autonomes représentent généralement les intérêts des différentes parties prenantes. Ces parties prenantes sont multiples (fabricants, fournisseurs d'accès, fournisseurs de contenu, utilisateurs, etc.) et ne se font pas forcément confiance entre elles, d'où la nécessité de trouver une manière de les exécuter ensemble mais avec une certaine garantie d'isolation. Les puces multimédia étant matériellement fortement hétérogènes -- peu de processeurs généralistes sont assistés par une multitude de processeurs ou coprocesseurs spécialisés -- et à mémoire partagée, il est difficile voire impossible de résoudre cette problématique uniquement avec les récentes techniques de co-hébergement (virtualisation). L'approche multi-compartiment consiste en un nouveau modèle de confiance, plus flexible et générique que l'existant, qui permet à des piles logicielles variées de s'exécuter simultanément et de façon sécurisée sur des plateformes matérielles hétérogènes. Le cœur de l'approche est notamment composé d'un mécanisme global de protection, responsable du partage sécurisé de l'unique espace d'adressage et logiquement placé dans le réseau d'interconnexion afin de garantir le meilleur contrôle. Cette approche présente également des solutions pour le partage des périphériques, notamment des périphériques ayant une capacité DMA, entre ces piles logicielles. Enfin, l'approche propose des solutions pour le problème de redirection des interruptions matérielles, un aspect collatéral au partage des périphériques. Les principaux composants des solutions matérielles et logicielles proposées sont mis en œuvre lors de la conception d'une plateforme d'expérimentation, sous la forme d'un prototype virtuel. Outre la validation de l'approche, cette plateforme permet d'en mesurer le coût, en termes de performance et de surface de silicium. Concernant ces deux aspects, les résultats obtenus montrent que le coût est négligeable.
APA, Harvard, Vancouver, ISO, and other styles
4

Humbert, Sophie. "Déclinaison d'exigences de sécurité, du niveau système vers le niveau logiciel, assistée par des modèles formels." Bordeaux 1, 2008. http://www.theses.fr/2008BOR13580.

Full text
Abstract:
Les turbomoteurs d'hélicoptère incluent des logiciels de contrôle de plus en plus élaborés et complexes. Pour répondre aux exigences de sécurité de ce type de système, il convient de décliner précisément les exigences système en exigences logicielles. Nos travaux ont porté sur l'amélioration de cette phase de déclinaison d'exigences. Nous proposons une démarche en deux étapes. La première consiste à modéliser, en language AltaRIca, les propagations de pannes potentielles de composants du système, en intégrant des hypothèses de modes de défaillance sur les parties matérielles et logicielles. L'analyse de ce modèle permet d'évaluer la sûreté de l'architecture du système envisagée, et de déduire des exigences élémentaires, en particulier sur les fonctions logicielles. Ces exigences imposent que certains comportements logiciels ne se produisent pas. La seconde étape porte sur le raffinement de ces exigences afin de les rendre vérifiables sur le modèle de conception SCADE du logiciel.
APA, Harvard, Vancouver, ISO, and other styles
5

Kouadri, Mostéfaoui Ghita. "Vers un cadre conceptuel et logiciel intégrant la sécurité basée sur le contexte dans les environnements pervasifs." Paris 6, 2004. http://www.theses.fr/2004PA066392.

Full text
APA, Harvard, Vancouver, ISO, and other styles
6

Bulusu, Sravani Teja. "Méthodologie d'ingénierie des exigences de sécurité réseau." Thesis, Toulouse 3, 2019. http://www.theses.fr/2019TOU30084.

Full text
Abstract:
La construction de réseaux sécurisés est à la fois une étape cruciale et complexe pour toute organisation. Traditionnellement, cette tâche couvre les aspects architecturaux en proposant une segmentation du réseau où des règles de sécurité différentes sont appliquées à chaque zone ; elle couvre également la sécurisation des équipements d'extrémité exploités par des utilisateurs et apporte ainsi des garanties sécuritaires pour les informations transférées sur les liaisons de communication. Le plus souvent, les aspects sécurité réseau sont pris en compte après la conception du réseau et donc tardivement. Ceci se traduit inéluctablement par une augmentation de la complexité et des coûts pour prendre en compte les modifications nécessaires qui doivent alors être apportées. À cet égard, les exigences de sécurité revêtent une importance primordiale, car elles guident les décisions relatives à la mise en œuvre des contrôles de sécurité réseau (ex. Firewalls et proxies sécurité, VPN) répondant aux besoins de l'entreprise. En effet, de mauvaises exigences en matière de sécurité réseau peuvent conduire à une sécurité inefficace voire à des failles de sécurité dans la conception de la sécurité du réseau. Cependant, les méthodologies d'ingénierie des exigences de sécurité actuelles ne permettent pas de déduire les exigences de sécurité réseau. Ce travail de thèse fait partie du projet de recherche DGA IREDHO2 (Intégration REseau Haut Débit Embarqué Optique 2ème phase) qui concerne en particulier les réseaux avioniques du futur. Ce travail est le résultat d'une collaboration menée avec la société AIRBUS GROUP. Il a pour objectif de proposer une méthodologie d'ingénierie des exigences de sécurité pour capturer, exprimer et analyser les exigences de sécurité réseau, afin de pouvoir les dériver et gérer l'application de configurations réseau dans une approche "Top Down". La complexité adressée vient à la fois des différences de point de vue : i) en regard de la compréhension de la problématique de la sécurité par les différentes parties prenantes, ii) de la nature des systèmes impactés et iii) de la variabilité des niveaux d'abstraction retenus dans le cycle de développement réseau. Dans ce travail, nous avons défini une méthode qui s'appuie sur les niveaux d'abstraction proposés par la méthode SABSA (Sherwood Applied Business Security Architecture) afin de décomposer les exigences de sécurité métier en exigences de sécurité techniques. En effet, SABSA préconise l'étude de vues Métier (décisionnaire), Architecte (objectifs, risques, processus, applications, interactions), Concepteur (services de sécurité), Constructeur de réseau (mécanismes de sécurité) et Composants (produits, outils, technologies, etc.). Les vues Métier et Architecte sont exprimées dans le formalisme STS (Social Technical Systems)
Building secure networks is crucial as well as challenging for any organization. Network security majorly concerns the security architectural needs that describe network segmentation (i.e., security zoning); security of network devices connecting the communicating end user systems; and security of the information being transferred across the communication links. Most often, a late consideration of security aspects (i.e., post-deployment of network design) inevitably results in an increase in costs as well as in the complexity to take into account the necessary changes that have be made to the existing infrastructures. In this regard, network security requirements hold a paramount importance since they drive the decisions related to the implementation of security controls about business needs. Indeed, bad network security requirements can lead to ineffective and costly security or worth security holes in the network security design. Nevertheless, current security requirement engineering methodologies render no support to derive network security requirements. This thesis work is a part of the research project DGA IREHDO2 (Intégration REseau Haut Débit embarqué Optique 2ème phase) that concerns aircrafts future generation networks. Our work is done mainly in collaboration with AIRBUS and is related to the security requirements engineering process for aircraft networks. Our objective in this project is to propose an SRE methodology for capturing and analysing network security requirements, and that facilitates the refinement into network security and monitoring configurations (TOP/DOWN approach). The complexity addressed comes at a time from the differences in point of view: i) with regard to the understanding of the issue of security by different stakeholders, ii) the nature of the systems impacted and the variability of the levels of abstraction in the network development cycle. In this work, we defined SRE methodology based on the abstraction levels proposed by SABSA (Sherwood Applied Business Security Architecture) method in order to structure the refinement activity of business needs into network security requirements. Indeed, SABSA recommends the expression of the needs considering the Business view (decision makers), Architect's view (objectives, risks, processes, applications and interactions), Designer's view (security services), Builder's view (security mechanisms) and Tradesman's view (products, tools, technologies). We considered the first three views. We express the business and architect's views using STS (Social-Technical Systems) formalism. We also propose to represent attacks as multi-agent systems to facilitate the analysis of security risks at these first two views. For expressing the network security requirements captured at Designer's view, we propose a methodology that automates parts of the process of security zoning and network security requirements elicitation using a definite set of formalized rules derived from security design principles and formal integrity models. We developed a tool that implements these rules in ASP (Answer set programming), which facilitates calculating cost-optimal security zone models. In the end, to ensure traceability between the three views, we defined a new modelling notation based on the concepts proposed in KAOS (Keep All Objectives Satisfied) and STS. We illustrate our methodology using a scenario specific to the IRHEDO2 project. Finally, we evaluate our methodology using: 1) an e-commerce enterprise case study; 2) a new scenario specific to the IRHEDO2 project
APA, Harvard, Vancouver, ISO, and other styles
7

Mahmalgi, Ammar. "Étude et réalisation d'un testeur de logiciel pour microcontrôleur : contribution à la mise en sécurité d'un système microprogramme." Lille 1, 1987. http://www.theses.fr/1987LIL10088.

Full text
Abstract:
Réalisation et la mise en oeuvre d'un outil de test permettant de vérifier la sûreté de fonctionnement des systèmes microprogrammes. Cet outil de test est basé sur l'injection d'erreurs dans le logiciel
APA, Harvard, Vancouver, ISO, and other styles
8

Chollet, Stéphanie. "Orchestration de services hétérogènes et sécurisés." Grenoble 1, 2009. http://www.theses.fr/2009GRE10283.

Full text
Abstract:
Récemment, l'approche à services est apparue en ayant pour but de construire des applications à partir d'entités logicielles, nommées services. Un service fournit un ensemble de fonctionnalités définies par une description de services. A partir de cette description, un consommateur de service peut rechercher un service qui corresponde à ses besoins, le sélectionner et l'invoquer. La construction d'applications par composition de services demeure néanmoins une activité complexe puisqu'il faut traiter conjointement les aspects métier et techniques ; la composition doit satisfaire aux exigences fonctionnelles et non-fonctionnelles ainsi que respecter les contraintes des technologies à services liées, notamment, à l'hétérogénéité des plates-formes. Par ailleurs, les points forts de l'architecture à services, qui sont la distribution et le déploiement des services sur des plateformes hétérogènes, ouvrent d'importantes failles de sécurité. Nous proposons une approche dirigée par les modèles pour simplifier la réalisation d'applications basées sur une orchestration de services hétérogènes en prenant en considération les aspects de sécurité dès l'étape de conception. Pour cela, nous avons défini deux méta-modèles : l'un pour l'orchestration de services et l'autre pour la sécurité, ainsi que des liens entre ces méta-modèles dans le but d'étendre l'orchestration avec des propriétés de sécurité. Ainsi, il est possible de réaliser des modèles d'orchestration de services hétérogènes et sécurisés conformes aux méta-modèles. A partir de ces modèles, nous générons le code nécessaire à l'exécution de l'orchestration. L'exécution se fait en fonction des modèles définis dans la phase de conception et des services disponibles qui répondent aux spécifications. Notre approche a été validée avec la plate-forme Secure FOCAS, qui a été réalisée dans le cadre du projet Européen ITEA SODA
Service-oriented Computing (SOC) has appeared recently as a new software engineering paradigm. The very purpose of this reuse-based approach is to build applications through the late composition of independent software elements, called services, which are made available at run-time by internal or external providers. SOC brings properties of major interest. First, it supports rapid application development. Using existing, already tested, services is likely to reduce the time needed to build up an application and the overall quality of this application. SOC also improves software flexibility through late binding. A service to be used by an application is chosen at the last moment, based on its actual availability and on its properties at that moment. The service orientation has also to face thorny problems, as in any reuse-based approach. In this work, we focus on two major issues: the integration of heterogeneous service-oriented technologies and the management of security aspects when invoking a service. Security is actually a major concern to SOC practitioners. SOC technologies have allowed companies to expose applications, internally and externally, and, for that reason are heavily used. However, in some distributed environments, software services and process engines can be alarmingly vulnerable. Service-based processes can expose organizations to a considerable amount of security risk and dependability degradation. We propose to use a model-driven approach for solving this problem. During system design, paradigms such as abstraction, separation of concerns and language definition are used to define a model of the service composition with security properties. This model is transformed into an execution model. We present a generative environment applying these principles for service composition. This environment has been built as part of the SODA European project and validated on several industrial use cases
APA, Harvard, Vancouver, ISO, and other styles
9

Mouelhi, Tejeddine. "Modélisation et test de mécanismes de sécurité dans des applications internet." Phd thesis, Institut National des Télécommunications, 2010. http://tel.archives-ouvertes.fr/tel-00544431.

Full text
Abstract:
Les travaux effectués dans de cadre de cette thèse s'intéressent à la problématique du test de sécurité des applications, en considérant la validation des mécanismes de sécurité interne à un système d'une part, puis la sécurité des interfaces web d'autre part. Pour la partie interne, nous avons comparé, dans un premier temps, l'utilisation du test fonctionnel et des tests de sécurité pour valider les mécanismes implémentant une politique de contrôle d'accès. Dans ce cadre, l'analyse de mutation a été adaptée pour qualifier et évaluer les tests. Nous avons ensuite proposé trois méthodologies pour tester les mécanismes de contrôle d'accès: - utilisation du pair-wise pour générer les tests de sécurité, - sélection et transformation des tests fonctionnels en tests de sécurité - détection de mécanismes de sécurité cachés qui nuisent à la flexibilité et l'évolutivivité du système. Concernant le test des interfaces web, visant non seulement à tester le code validant les entrées de l'utilisateur mais aussi protéger les applications web, nous avons proposé une nouvelle approche qui tire profit du test par contournement (bypass-testing) et qui permet de protéger les applications web contre ce type d'attaques. Cette approche a été concrétisée dans un outil permettant à la fois l'audit et la sécurisation des applications web. L'ensemble de ces travaux a conduit à réfléchir à de nouvelles méthodologies de développement garantissant une meilleure qualité et une meilleure testabilité des mécanismes de contrôle d'accès. L'ingénierie des modèles (IDM) a été exploitée pour automatiser la spécification et le déploiement semi-automatisé des politiques de contrôle d'accès, et offrir par analyse de mutation un moyen de certification générique des tests de sécurité. Enfin, la composition de modèles permet d'automatiser l'intégration des mécanismes de sécurité, et surtout la reconfiguration automatique du système en cas d'évolution de la politique de sécurité.
APA, Harvard, Vancouver, ISO, and other styles
10

Parrend, Pierre. "Software security models for service-oriented programming (SOP) platforms." Lyon, INSA, 2008. http://theses.insa-lyon.fr/publication/2008ISAL0117/these.pdf.

Full text
Abstract:
Service-oriented programming (SOP) component platforms are generic execution environments enforcing a proper architectural model for applications. However, few tools exist to guarantee that the selected components do not perform malicious actions. We therefore propose to adapt the Software Security Assurance methods for SOP platform, to perform a security analysis based on these principles and to provide protection mechanisms tailored to the requirements identified during the analysis. The proposed mechanisms are Hardened OSGi, a set of recommendations for buildin more robust OSGi implementation, CBAC, Component-based Access Control, a flexible access control mechanism enforced at install time, and WCA, Weak Component Analysis, a tool for identifying exploitable vulnerabilities in SOP components, according to the exposition of classes. CBAC and WCA are based on static analysis of the component Bytecode to enable automated verification of components even when the source code is not available
Les plates-formes à composants de service (SOP pour Service-oriented Programming) sont des environnements d’exécution génériques qui garantissent des applications conçues selon un modèle architectural propre. Cependant, peu d’outils existent pour garantir l’innocuité des composants installés. Nous proposons par conséquent d’adapter les méthodes d’Assurance de Sécurité Logicielle pour les plates-formes SOP, d’effectuer une analyse de sécurité correspondante et de fournir des mécanismes de protection adaptés. Les mécanismes de protection proposés sont OSGi Robuste (Hardened OSGi), un ensemble de recommandations pour l’implémentation de plates-formes OSGi, CBAC (Component-based Access Control), un mécanisme de contrôle d’accès flexible mis en œuvre à l’installation, et WCA (Weak Component Analysis) qui identifie les vulnérabilités exploitables dans les composants SOP selon l’exposition du code. CBAC et WCA utilisent l’analyse statique du Bytecode pour automatiser la validation des composants lors de leur installation
APA, Harvard, Vancouver, ISO, and other styles
11

Goutal, Pascale. "Jeux non-coopératifs finis appliqués à la sécurité nucléaire." Paris 6, 1997. http://www.theses.fr/1997PA066362.

Full text
Abstract:
Afin de dissuader les eventuels detournements de matieres nucleaires, un inspecteur est charge d'effectuer un certain nombre d'inspections dans une installation nucleaire. Deux inspections ont lieu a des dates fixes et connues de l'inspecteur et d'un eventuel detourneur. Entre les deux dates, un nombre limite d'inspections peuvent etre decidees par l'inspecteur. Nous supposons qu'un detournement est toujours detecte lors de l'inspection suivante. L'inspecteur cherche a minimiser le temps de detection et l'eventuel detourneur a le maximiser. Les jeux d'inspections sont etudies en deux temps. Nous considerons d'abord differentes familles de jeux d'inspection, et nous nous interessons tout particulierement aux jeux admettant une structure recursive. Ensuite, nous elaborons un jeu a information incomplete repondant aux donnees du probleme pose et realisons un logiciel, nomme jadis, permettant d'obtenir des strategies optimales d'inspection sur un grand nombre de periodes. Le jeu peut alors etre etudie sur un nombre de periodes suffisamment large pour confirmer le fait que l'information incomplete permet de reduire le temps de detection d'un detournement. Un second type de jeu est egalement etudie, le jeu d'infiltration, qui consiste en une poursuite-evasion sur un graphe de plusieurs arcs reliant deux noeuds. Un agent infiltrant doit se rendre de l'un de ces deux noeuds a l'autre sans etre intercepte par un gardien. Differents contextes de surveillance sont etudies.
APA, Harvard, Vancouver, ISO, and other styles
12

Parrend, Pierre. "Modèles de Sécurité logicielle pour les plates-formes à composants de service (SOP)." Phd thesis, INSA de Lyon, 2008. http://tel.archives-ouvertes.fr/tel-00362486.

Full text
Abstract:
Les plates-formes dynamiques de services (SOP, pour ?service-oriented programming') sont des environnements d'exécution génériques qui définissent un modèle d'architecture logicielle structuré: les composants communiquent par le biais d'interfaces explicites, ce qui facilite la configuration et l'évolution de ces systèmes. Les plates-formes SOP utilisent leur envi- ronnement réseau pour réaliser des tâches fonctionnelles, mais également pour améliorer leur capacité de gestion et d'évolution. Elles sont exploitées dans des contextes variés, des serveurs d'application aux systèmes embarqués médicaux ou automobiles. La flexibilité apportée par les plates-formes SOP permet l'intégration de composants de plusieurs sources aussi bien lors de la conception qu'à l'exécution. Cette tendance induit cependant un risque important. Peu d'outils existent pour évaluer la qualité des systèmes résultants, et aucun ne garantit que les composants sélectionnés ne sont pas malicieux. Dans des contextes applicatifs tels que les systèmes e-Business ou les systèmes embarqués sensibles, l'existence d'attaques n'est pas à exclure. L'assurance de sécurité logicielle (Software Security Assurance) définit des méthodes pour le développement d'applications sûres, mais se concentre sur les systèmes monolithiques. Son principe est le suivant: les vulnérabilités doivent être identifiées et résolues tôt dans le cycle de vie pour éviter les attaques lors de l'exécution et limiter les coûts de réparation. Cepen- dant, cette approche ne peut s'appliquer directement aux applications à composants, où le développement n'est pas nécessairement contrôlé par l'intégrateur, et où l'intégration peut avoir lieu à l'exécution de manière automatisée. Nous proposons par conséquent de réaliser une analyse de sécurité pour une plate-forme SOP de référence, la plate-forme OSGi, et de fournir des mécanismes de protection adaptés aux besoins ainsi identifiés. L'analyse de sécurité de la plate-forme OSGi est réalisée par une méthode spécifique, SPIP , le Processus Spirale de Prévention d'Intrusion (Spiral Process for Intrusion Prevention). Elle permet l'évaluation des vulnérabilités du système cible et de la protection apportée par les mécanismes de sécurité associés. Le résultat de l'analyse est : les vulnérabilités de la plate-forme Java/OSGi, et les vulnérabilités des composants SOP Java. Plusieurs mécanismes de protection sont développés pour prévenir l'exploitation des vul- nérabilités identifiées. Ils sont implémentés dans la plate-forme elle-même et au niveau des composants. OSGi Robuste (Hardened OSGi) est un ensemble de recommandations pour la mise en oeuvre de plates-formes OSGi résistantes. CBAC, le contrôle d'accès basé composants (Component-based Access Control) est un mécanisme de contrôle d'accès qui vérifie lors de l'installation qu'un composant n'exécute que les appels explicitement autorisés. Son objectif est d'être plus flexible que le gestion de sécurité Java, de garantir que seuls les composants valides soient installés et de réduire autant que possible le coût de vérification en terme de performance. WCA, l'analyse de composants faibles (Weak Component Analysis), est un outil pour identifier les vulnérabilités exploitables dans les composants SOP selon l'exposition des classes: les objets partagés tels les services SOP, les classes partagées et les classes internes des composants ne sont pas concernés par les mêmes vulnérabilités. Nos propositions sont validées par leur intégration avec une JVM sécurisée dédiée aux applications OSGi, la JnJVM. Les propriétés de sécurité de l'environnement ainsi réalisé sont encourageantes.
APA, Harvard, Vancouver, ISO, and other styles
13

Claeys, Timothy. "Sécurité pour l'internet des objets : une approche des bas en haut pour un internet des objets sécurisé et normalisé." Thesis, Université Grenoble Alpes (ComUE), 2019. http://www.theses.fr/2019GREAM062.

Full text
Abstract:
La rapide expansion du marché de l’IoT a permis de relier de plus en plus de matériels bon marché àl’Internet. Pour bon nombre de ces objets, la sécurité ne constitue pas une priorité. En raison de leursfonctionnalités avancées de détection et de manipulation, ces produits IoT mal sécurisés mettent en dangerla vie privée et la sécurité de leurs utilisateurs.Bien que l’IoT englobe des objets connectés de capacités variables, dans ces travaux, nous nous concentronssur les équipements contraints en énergie, en ressources mémoires, et à faible puissance de calcul.Ces restrictions limitent non seulement la possibilité de traitements, mais aussi la capacité à protéger lesdonnées et les utilisateurs. Afin de sécuriser l’IoT, nous identifions plusieurs éléments de bases permettantde fournir des services de sécurité sur l’ensemble d’un équipement.L’implémentation des mécanismes de sécurité au niveau matériel constitue un premier pilier pourl’IoT sécurisé. Diverses fonctions, telles que le démarrage sécurisé, l’attestation à distance et les mises àjour "over-the-air", dépendent en effet fortement de son support. Comme l’implémentation de la sécuritématérielle est souvent coûteuse et ne peut être appliquée aux systèmes existants, nous étudions l’attestationpurement logicielle. Cette méthode fournit une racine de confiance aux systèmes distants qui ne supportentpas la sécurité au niveau matériel. Dans le cadre de l’attestation à distance, l’identification de l’appareilest primordiale. Une partie de ce travail est donc consacrée à l’étude des identificateurs physiques desdispositifs et de leur fiabilité.L’IoT sécurisé repose sur un deuxième élément clé: la cryptographie. Cette dernière est abondammentutilisée par tous les autres mécanismes de sécurité et largement étudiée. Nous étudions les performancesdes algorithmes cryptographiques récents pour les dispositifs contraints.Un troisième élément central pour sécuriser l’IoT est la capacité de la pile protocolaire à sécuriser lescommunications. Nous montrons par exemple qu’il est possible d’exploiter la tolérance du BLE à la dérived’horloge pour établir un canal couvert. D’autre part, il est possible de monter une attaque de déni deservice en exploitant les phases énergivores du réseau, notamment la phase d’attache. Nous proposonsdans ces travaux un algorithme défensif qui réduit quasiment à néant les surcoûts liés à la connexion auréseau.Les architectures de sécurité constituent le dernier pilier pour la sécurité de l’IoT. Elles permettent eneffet de guider le déploiement d’un IoT sécurisé à grande échelle. Après avoir étudié la proposition de l’IETFde schéma d’authentification et d’autorisation pour l’IoT, nous proposons deux pistes d’amélioration de lasécurité.Enfin, la mise en place d’une architecture de sécurité implique le choix du protocole. Dans le contextedes réseaux contraints énergétiquement, le critère déterminant sera la consommation. Même si, àl’avenir, l’IoT utilisera principalement le paradigme d’objets sécurisés pour protéger les données, tant queces derniers ne seront pas largement supportés, de nombreux produits IoT s’appuieront sur les protocolesde sécurité traditionnels tels que TLS et DTLS. C’est pourquoi nous réalisons une étude de performance surla partie la plus critique de ces protocoles : l’établissement du secret partagé. Nous montrons que, mêmesi le "handshake" DTLS utilise moins de paquets pour établir le secret partagé, TLS obtient des meilleursrésultats dans les réseaux avec pertes
The rapid expansion of the IoT has unleashed a tidal wave of cheap Internet-connected hardware. Formany of these products, security was merely an afterthought. Due to their advanced sensing and actuatingfunctionalities, poorly-secured IoT devices endanger the privacy and safety of their users.While the IoT contains hardware with varying capabilities, in this work, we primarily focus on the constrainedIoT. The restrictions on energy, computational power, and memory limit not only the processingcapabilities of the devices but also their capacity to protect their data and users from attacks. To secure theIoT, we need several building blocks. We structure them in a bottom-up fashion where each block providessecurity services to the next one.The first cornerstone of the secure IoT relies on hardware-enforced mechanisms. Various security features,such as secure boot, remote attestation, and over-the-air updates, rely heavily on its support. Sincehardware security is often expensive and cannot be applied to legacy systems, we alternatively discusssoftware-only attestation. It provides a trust anchor to remote systems that lack hardware support. In thesetting of remote attestation, device identification is paramount. Hence, we dedicated a part of this work tothe study of physical device identifiers and their reliability.The IoT hardware also frequently provides support for the second building block: cryptography. Itis used abundantly by all the other security mechanisms, and recently much research has focussed onlightweight cryptographic algorithms. We studied the performance of the recent lightweight cryptographicalgorithms on constrained hardware.A third core element for the security of the IoT is the capacity of its networking stack to protect the communications.We demonstrate that several optimization techniques expose vulnerabilities. For example,we show how to set up a covert channel by exploiting the tolerance of the Bluetooth LE protocol towardsthe naturally occurring clock drift. It is also possible to mount a denial-of-service attack that leverages theexpensive network join phase. As a defense, we designed an algorithm that almost completely alleviates theoverhead of network joining.The last building block we consider is security architectures for the IoT. They guide the secure integrationof the IoT with the traditional Internet. We studied the IETF proposal concerning the constrainedauthentication and authorization framework, and we propose two adaptations that aim to improve its security.Finally, the deployment of the IETF architecture heavily depends on the security of the underlying communicationprotocols. In the future, the IoT will mainly use the object security paradigm to secure datain flight. However, until these protocols are widely supported, many IoT products will rely on traditionalsecurity protocols, i.e., TLS and DTLS. For this reason, we conducted a performance study of the most criticalpart of the protocols: the handshake phase. We conclude that while the DTLS handshake uses fewerpackets to establish the shared secret, TLS outperforms DTLS in lossy networks
APA, Harvard, Vancouver, ISO, and other styles
14

Zargouni, Yadh. "Évaluation de l'efficacité des mesures de sécurité routière." Paris 6, 1986. http://www.theses.fr/1986PA066194.

Full text
Abstract:
Ce travail vise à construire des outils pour l'évaluation des mesures de sécurité routière telles que la limitation de vitesse, le port de la ceinture de sécurité et les lois sur l'alcoolémie des conducteurs. Extraction de séries chronologiques mensuelles de tués et de blessés dans les accidents de la circulation par types d'usagers en exploitant les fichiers annuels des accidents corporels de 1970 à 1985. Analyse descriptive de l'évolution des séries mensuelles du nombre de victimes des accidents.
APA, Harvard, Vancouver, ISO, and other styles
15

Fioraldi, Andrea. "Fuzzing in the 2020s : novel approaches and solutions." Electronic Thesis or Diss., Sorbonne université, 2023. http://www.theses.fr/2023SORUS546.

Full text
Abstract:
Malgré les efforts considérables mis en œuvres en matière de fuzzing, la sécurité des logiciels informatiques reste menacée par des vulnérabilités insaisissables. Les coverage-guided fuzzers, qui se concentrent uniquement sur la couverture de code, ne parviennent généralement pas à découvrir des vulnérabilités spécifiques. La multiplication de divers outils de fuzzing a grandement divisé la communauté et a rendu difficile la combinaison de différentes techniques de fuzzing, l'évaluation précise des contributions et la comparaison efficace des différents outils. Pour remédier à cette situation, il est nécessaire de disposer d'un socle commun afin de garantir des évaluations précises et équitables. AFL, en raison de sa popularité, est souvent utilisé comme base lors de la création de nouveaux prototypes malgré le fait qu'il ne s'agisse pas d'une référence naïve et sa conception monolithique. D'autre part, les fuzzers personnalisés réécrits à partir de zéro ont tendance à réinventer la roue et utilisent souvent inneficacement la puissance des les systèmes multicœurs. Cette thèse relève ces défis en apportant plusieurs contributions: Un nouveau mécanisme de feedback appelé InvsCov est introduit, qui prend en compte les relations entre les variables du programme et la couverture du code. Il affine l'approximation de l'état du programme pour optimiser la détection de divers bugs. Une autre approche que nous introduisons explore les graphes de dépendance des données pour améliorer le fuzzing en récompensant la traversée de nouvelles arêtes du graphe de flux de données, ce qui a permis la découverte de nouvelles vulnérabilités manquées par la couverture standard efficacement. Nous présentons également une analyse approfondie des mécanismes internes d'AFL afin de mettre en lumière ses choix de conception et leur impact sur les performances du fuzzing. Enfin, pour remédier au problème de fragmentation cité précédemment, nous proposons un outil dédié au fuzzing modulaire et réutilisable: LibAFL. Les chercheurs peuvent étendre la pipeline de base du fuzzer, l'évaluation de nouvelles techniques techniques et la combinaison d'approches orthogonales. Une tentative de réécriture de AFLpp comme frontend de LibAFL a remporté le concours de fuzzing SBFT'23 dans le domaine de la recherche de bugs. Ces contributions font progresser le domaine du fuzzing, en abordant les défis de la sensibilité des mécanismes de feedback, de la diversité des bugs découverts, de la fragmentation des outils et de l'évaluation des fuzzers. Elles fournissent une base solide pour l'amélioration des techniques de fuzzing, permettant la détection d'une plus large gamme de bugs, et favorisant la collaboration et la standardisation au sein de la communauté
Security remains at risk due to elusive software vulnerabilities, even with extensive fuzzing efforts. Coverage-guided fuzzers, focusing solely on code coverage, often fall short in discovering specific vulnerabilities. The proliferation of diverse fuzzing tools has fragmented the field, making it challenging to combine different fuzzing techniques, assess contributions accurately, and compare tools effectively. To address this, standardized baselines are needed to ensure equitable evaluations. AFL, due to its popularity, is often extended to implement new prototypes despite not being a naive baseline and its monolithic design. On the other hand, custom fuzzers written from scratch tend to reinvent solutions and often lack scalability on multicore systems. This thesis addresses these challenges with several contributions: A new feedback mechanism called InvsCov is introduced, which considers program variable relationships and code coverage. It refines program state approximation for diverse bug detection. Another additional feedback we introduce explores data dependency graphs to enhance fuzzing by rewarding new dataflow edge traversal, effectively finding vulnerabilities missed by standard coverage. We also present a thorough analysis of AFL's internal mechanisms to shed light on its design choices and their impact on fuzzing performance. Finally, to address fragmentation, LibAFL is introduced as a modular and reusable fuzzing framework. Researchers can extend the core fuzzer pipeline, evaluation of compelling techniques, and combination of orthogonal approaches. An attempt to rewrite AFL++ as a frontend to LibAFL won the SBFT'23 fuzzing competition in the bug-finding track. These contributions advance the field of fuzz testing, addressing the challenges of sensitivity in feedback mechanisms, bug diversity, tool fragmentation, and fuzzers evaluation. They provide a foundation for improving fuzzing techniques, enabling the detection of a broader range of bugs, and fostering collaboration and standardization within the community
APA, Harvard, Vancouver, ISO, and other styles
16

Karray, Achraf. "Conception, mise en œuvre et validation d’un environnement logiciel pour le calcul sécurisé sur une grille de cartes à puce de type Java." Thesis, Bordeaux 1, 2008. http://www.theses.fr/2008BOR13724/document.

Full text
Abstract:
Le calcul sur grille permet à un individu, une société, de disposer d’un ensemble d’unités de calcul fournies par des tiers. Dans ce type d’architecture, des problèmes de sécurité se posent : comment garantir à la fois la sécurité du matériel et de l’application. Pour ce qui concerne la sécurité de l’application, il s’agit principalement d’assurer la confidentialité du code et l’intégrité de son exécution. La sécurité du matériel consiste à protéger la machine contre tout code malveillant pouvant être contenu dans l’application. Aucun système ne permet aujourd’hui, de satisfaire ces contraintes fortes de sécurité. Notre objectif dans cette thèse est de proposer et de valider des solutions pour les problèmes de sécurité des grilles informatiques.Pour résoudre ces problèmes, nous proposons l’utilisation de la carte à puce comme support d’exécution hautement sécurisé à travers le déploiement de grilles de cartes à puce. Grâce aux mécanismes de sécurité qu’elles intègrent, les cartes à puce permettent en effet de protéger l’application et son code aussi bien que le support d’exécution. Le travail effectué dans cette thèse consiste à définir un environnement pour le calcul sécurisé sur grille de cartes à puce
Abstract
APA, Harvard, Vancouver, ISO, and other styles
17

Galissant, Pierre. "Contributions to white-box cryptography : models and algebraic constructions." Electronic Thesis or Diss., université Paris-Saclay, 2023. http://www.theses.fr/2023UPASG099.

Full text
Abstract:
Du fait de la démocratisation detechnologies telles que le paiement par mobile oul'essor des technologies basées sur la blockchain, lesbesoins d'implémentations sécurisées dans le modèleboîte blanche d'algorithmes standardisés sont de plusen plus conséquents dans l'industrie. Malgré cesbesoins, très peu de nouveaux designs sont proposésdans la littérature. Pour ne pas avoir à utiliser desimplémentations aux designs non publics, denouvelles techniques d'implémentations doivent êtreproposées et étudiées.Ce manuscrit commence par un guide pour lacryptographie boîte blanche. Son but est de réviser,préciser ou corriger les modèles boîte blanche, lesnotions de sécurité et les constructions qui ontémergé dans l'état-de-l'art depuis l'introduction duconcept. Notamment, nous clarifions les modèles'Remote-Access' et 'Hardware-Module' et lescontextualisons dans la littérature cryptographique ausens large.Nous explorons ensuite les implémentations boîteblanche de l'AES en synthétisant tout d'abord lesimplémentations connues et leurs failles. Nousproposons ensuite une nouvelle implémentation del'AES pour laquelle nous proposons une analyse desécurité et un challenge. La dernière partie de cettethèse est consacrée à l'étude de l'implémentationdes primitives à base de cryptographie multivariée.Après une introduction succincte à la cryptographiemultivariée, nous motivons l'utilisation de lacryptographie multivariée dans le modèle boîteblanche. Nous proposons ensuite la premièreimplémentation boîte blanche de la famille designature HFE, pour laquelle nous proposons uneanalyse de sécurité et un challenge. Enfin, pourproposer d'autres idées basées sur la cryptographiemultivariée, nous proposons un chiffrement à flotincompressible basé sur QUAD
Due to the democratization of technologiessuch as mobile payment or the soaring of blockchaintechnologies, there is a growing need for secureimplementations of standardized algorithms in thewhite-box model. In spite of this, there are too fewsecure designs published in the literature. To avoidrelying on hidden design implementations to provideany security in the white-box model, moreimplementations designs and techniques have to beexplored.This thesis begins with a guide to white-boxcryptography. Its goal is to revise, precise or correctwhite-box models, security notions andconstructions that have emerged in the state of theart since the introduction of the concept. We notablyclarify the Remote-Access White-Box model and theHardware Module White-Box and contextualize themin the general cryptographic literature.We then explore white-box implementations of theAES by first synthesizing the knownimplementations techniques and their flaws, andthen proposing a new solution based on polynomialrepresentations, for which we propose a securityanalysis and a challenge implementation. The lastpart of this thesis focuses on the implementation ofmultivariate cryptographic primitives in thewhite-box model. After introducing succinctlymultivariate cryptography, we motivate the studyof this branch of public key cryptography in thewhite-box context. We propose the firstimplementation technique of the HFE family ofsignature algorithms, for which we propose anextensive security analysis and a challengeimplementation. Finally, to propose otherperspectives on multivariate white-boxcryptography, we also propose an incompressiblestream cipher adapted from QUAD
APA, Harvard, Vancouver, ISO, and other styles
18

Sun, Yanjun. "Consolidation de validation fonctionnelle de systèmes critiques à l'aide de model checking : application au contrôle commande de centrales nucléaires." Electronic Thesis or Diss., Paris, ENST, 2017. http://www.theses.fr/2017ENST0047.

Full text
Abstract:
La vérification et la validation de systèmes critiques temps réel sont des activités soumises à de contraignants standards et certifications. Les progrès récents en Ingénierie Système basée sur les modèles peuvent être appliqués en utilisant des techniques formelles de vérification dès la phase amont avec un grand bénéfice pour détecter des défauts. Cette thèse propose une méthodologie basée sur les modèles dédiée à la validation fonctionnelle de tels systèmes. La méthode est dirigée par la couverture structurelle du modèle en Lustre d’un système réactif en co-simulation avec un procédé physique et aussi par les besoins fonctionnels. La méthode s’appuie sur l’utilisation répétitive d’un model-checker et permet de générer des séquences en boucle ouverte. Nous proposons aussi un raffinement qui supporte le passage de cette séquence de tests aux cas de tests en boucle fermée. Nous prenons en compte le problème de l’explosion combinatoire de model-checking. Et finalement nous proposons une heuristique dite vérification hybride combinant model-checking et simulation
The verification and validation of safety-critical real-time system are subject to stringent standards and certifications. Recent progress in model-based system engineering should be applied to such systems since it allows early detection of defects and formal verification techniques. This thesis proposes a model-based testing (MBT) methodology dedicated to functional validation of safety-critical real-time systems. The method is directed by the structural coverage of the Lustre model co-simulated with tje physical process and also by the functional requirements. It relies on a repetitive use of a model checker to generate coverage-based open-loop test sequences. We also propose a refinement technique of progressively adding environment constraints during test generation. The refinement is expected to support the passage from coverage-based open-loop test sequence to functional requirements-based closed-loop test case. Our methodology also considers the state explosion problem of a model checker and proposes a heuristic called hybrid verification combining model checking and simulation
APA, Harvard, Vancouver, ISO, and other styles
19

Muench, Marius. "Dynamic binary firmware analysis : challenges & solutions." Electronic Thesis or Diss., Sorbonne université, 2019. http://www.theses.fr/2019SORUS265.

Full text
Abstract:
Les systèmes embarqués sont un élément clé de la vie moderne. Par conséquent, le code fonctionnant sur ces systèmes, appelé "firmware", doit être soigneusement évalué et testé. L'analyse dynamique est un moyen courant d'évaluer la sécurité des firmwares, en particulier en l'absence de code source. Malheureusement, comparée à l'analyse et aux tests sur les ordinateurs de bureau, l'analyse dynamique des firmwares reste à la traîne. Dans cette thèse, nous identifions les principaux défis empêchant l’analyse dynamique et les techniques de test d’exploiter pleinement leur potentiel sur les firmware. Nous avons développé avatar2, un framework d'orchestration multi-cibles capable d'exécuter des firmware dans un émulateur à la fois de manière partielle et totale. À l’aide de ce framework, nous adaptons plusieurs techniques d’analyse dynamique pour pouvoir fonctionner avec succès sur des firmwares binaires. Notamment nous utilisons ses possibilités de script pour reproduire facilement une étude précédente. Nous montrons qu’elle permet d’enregistrer et de rejouer l’exécution d’un système embarqués et de mettre en œuvre des méthodes heuristiques pour une meilleure détection des pannes. En outre, la structure sert de base à une évaluation expérimentale des tests fuzz sur des systèmes intégrés et est utilisée dans un moteur d’exécution concolique évolutif pour les firmwares. Enfin, nous présentons Groundhogger, une nouvelle approche de décompression du micrologiciel des périphériques intégrés qui, contrairement à d’autres outils de décompression, utilise l’analyse dynamique
Embedded systems are a key component of modern life and their security is of utmost importance. Hence, the code running on those systems, called "firmware", has to be carefully evaluated and tested to minimize the risks accompanying the ever-growing deployment of embedded systems. One common way to evaluate the security of firmware, especially in the absence of source code, is dynamic analysis. Unfortunately, compared to analysis and testing on desktop system, dynamic analysis for firmware is lacking behind. In this thesis, we identify the main challenges preventing dynamic analysis and testing techniques from reaching their full potential on firmware. Furthermore we point out that rehosting is a promising approach to tackle these problems and develop avatar2, a multi-target orchestration framework which is capable of running firmware in both fully, and partially emulated settings. Using this framework, we adapt several dynamic analysis techniques to successfully operate on binary firmware. In detail we use its scriptability to easily replicate a previous study, we demonstrate that it allows to record and replay the execution of an embedded system, and implement heuristics for better fault detection as run-time monitors. Additionally, the framework serves as building block for an experimental evaluation of fuzz testing on embedded systems, and is used as part in a scalable concolic execution engine for firmware. Last but not least, we present Groundhogger, a novel approach for unpacking embedded devices' firmware which, unlike other unpacking tools, uses dynamic analysis to create unpackers and evaluate it against three real world devices
APA, Harvard, Vancouver, ISO, and other styles
20

Calvet, Joan. "Analyse Dynamique de Logiciels Malveillants." Phd thesis, Université de Lorraine, 2013. http://tel.archives-ouvertes.fr/tel-00922384.

Full text
Abstract:
L'objectif de cette thèse est le développement de méthodes de compréhension des logiciels malveillants, afin d'aider l'analyste humain à mieux appréhender cette menace. La première réalisation de cette thèse est une analyse à grande échelle et en profondeur des protections de logiciels malveillants. Plus précisément, nous avons étudié des centaines d'exemplaires de logiciels malveillants, soigneusement sélectionnés pour leur dangerosité. En mesurant de façon automatique un ensemble de caractéristiques originales, nous avons pu alors montrer l'existence d'un modèle de protection particulièrement prévalent dans ces programmes, qui est basé sur l'auto modification du code et sur une limite stricte entre code de protection et code utile. Ensuite, nous avons développé une méthode d'identification d'implémentations cryptographiques adaptée aux programmes en langage machine protégés. Nous avons validé notre approche en identifiant de nombreuses implémentations d'algorithmes cryptographiques -- dont la majorité sont complètement invisibles pour les outils existants --, et ceci en particulier dans des protections singulièrement obscures de logiciels malveillants. Finalement, nous avons développé ce qui est, à notre connaissance, le premier environnement d'émulation de réseaux de machines infectées avec plusieurs milliers de machines. Grâce à cela, nous avons montré que l'exploitation d'une vulnérabilité du protocole pair-à-pair du réseau Waledac permet de prendre son contrôle.
APA, Harvard, Vancouver, ISO, and other styles
21

Jakob, Henner. "Vers la sécurisation des systèmes d'informatique ubiquitaire par le design : une approche langage." Thesis, Bordeaux 1, 2011. http://www.theses.fr/2011BOR14269/document.

Full text
Abstract:
Dans de multiples domaines, un nombre grandissant d'applications interagissant avec des entités communicantes apparaissent dans l'environnement pour faciliter les activités quotidiennes~(domotique et télémédecine). Leur impact sur la vie de tous les jours des utilisateurs rend ces applications critiques: leur défaillance peut mettre en danger des personnes et leurs biens. Bien que l'impact de ces défaillances puisse être majeur, la sécurité est souvent considérée comme un problème secondaire dans le processus de développement et est traitée par des approches ad hoc.Cette thèse propose d'intégrer des aspects de sécurité dans le cycle de développement des systèmes d'informatique ubiquitaire. La sécurité est spécifiée à la conception grâce à des déclarations dédiées et de haut niveau. Ces déclarations sont utilisées pour générer un support de programmation afin de faciliter l'implémentation des mécanismes de sécurité, tout en séparant ces aspects de sécurité de la logique applicative. Notre approche se concentre sur le contrôle d'accès aux entités et la protection de la vie privée. Notre travail a été implémenté et fait levier sur une suite outillée existante couvrant le cycle de développement logiciel
A growing number of environments is being populated with a range of networked devices. Applications leverage these devices to support everyday activities in a variety of areas (e.g., home automation and patient monitoring). As these devices and applications get woven into our everyday activities, they become critical: their failure can put people and assets at risk. Failures can be caused by malicious attacks and misbehaving applications. Although the impact of such situations can be major, security concerns are often considered a secondary issue in the development process, and treated with ad hoc approaches. This thesis proposes to address security concerns throughout the development lifecycle of a pervasive computing system. Security is addressed at design time thanks to dedicated, high-level declarations. These declarations are processed to implement security mechanisms, and to generate programming support to ease the development of the security logic, while keeping it separate from the application logic. Our approach is studied in the context of access control and privacy concerns. Our work has been implemented and leverages an existing software-design language and a suite of tools that covers the software development lifecycle
APA, Harvard, Vancouver, ISO, and other styles
22

Mariano, Georges. "Evaluation de logiciels critiques développés par la méthode B : une approche quantitative." Valenciennes, 1997. https://ged.uphf.fr/nuxeo/site/esupversions/823185e9-e82a-44fc-b3e2-17a0b205165e.

Full text
Abstract:
Dans le cadre de l'utilisation de la méthode formelle B, nous proposons de contribuer à l'évaluation des développements de logiciels critiques, par la mise en place de techniques quantitatives. Ces techniques s'articulent autour de la définition, de l'extraction et de l'interprétation de mesures (ou métriques) issues du produit à évaluer. Notre progression vers cet objectif se décompose en trois étapes. La première étape est constituée par la modélisation des spécifications formelles définissant le logiciel. Le modèle obtenu repose sur l'ensemble des arbres syntaxiques correspondant à chaque composant B. Ces arbres sont obtenus par la définition d'une grammaire BNF (backus-naur form) couvrant l'intégralité de la notation B. Ceci nous a amené à proposer des modifications de la notation B. La deuxième étape consiste à définir des mesures primitives à partir des informations contenues dans les arbres syntaxiques des composants B. Ces mesures sont basées sur un mécanisme générique de filtrage syntaxique arborescent. La troisième étape concerne la définition de mesures spécifiques adaptées aux caractéristiques de la méthode B. Nous donnons trois exemples de mesures spécifiques. La première mesure, LARA, concerne l'évaluation de la phase de preuve, la deuxième mesure, MONA, évalue le niveau d'abstraction des spécifications formelles et enfin la troisième mesure, CIEL, s'efforce de caractériser la complexité des spécifications formelles. Pour terminer, sur une étude de cas bien connue, la chaudière (Boiler), nous appliquons les outils développés pour extraire ces mesures. Nous présentons les valeurs obtenues sous une forme graphique spécialement adaptée à la structure des projets B, et nous montrons comment ces outils peuvent-être utilisés pour élaborer des analyses portant sur la qualité globale des développements de logiciel en B.
APA, Harvard, Vancouver, ISO, and other styles
23

Girard, Pierre. "Formalisation et mise en œuvre d'une analyse statique de code en vue de la vérification d'applications sécurisées." Toulouse, ENSAE, 1996. http://www.theses.fr/1996ESAE0010.

Full text
Abstract:
Dans le domaine de la sécurité informatique, de nombreux travaux théoriques concernent les modèles et les règlements de sécurité en se situant très en amont des systèmes réellement implémentés. Cette thèse s'appuie sur les bases théoriques offertes par ces travaux pour fonder une méthode de vérification statique de logiciels applicatifs. Nous proposons pour cela des algorithmes d'analyse qui s'appliquent aux programmes sources et nous démontrons qu'ils sont corrects en les dérivant d'un modèle de sécurité formel. Ils sont utilisés concrètement pour analyser des programmes écrits en langage C. Après une présentation de la problématique de sécurité informatique, nous effectuons un inventaire des menaces et des attaques récemment constatées et nous montrons qu'il existe un besoin en matière de validation statique de logiciels existants. Nous proposons ensuite une méthodologie de vérification de programmes écrits en langage C par annotation de leur code source puis analyse automatique de celui-ci. Dans une seconde partie, nous cherchons à démontrer la correction des algorithmes d'analyse. Pour cela, nous partons d'un modèle formel de sécurité : le modèle de la causalité. Nous le modifions pour en faire un modèle calculatoire, puis nous l'appliquons à la sémantique opérationnelle d'un langage impératif. Nous démontrons alors que l'analyse de la sécurité, exprimée comme une sémantique non standard du langage, est correcte par rapport au modèle de sécurité. Nous examinons enfin les difficultés pratiques posées par l'analyse statique du langage C. Nous nous attachons à analyser ses particularités en termes de structures de donnée et de structures de contôle. Nous proposons des techniques pour résoudre les problèmes posés, en particulier par les variables de type pointeur et les instructions déstructurantes de type saut inconditionnel.
APA, Harvard, Vancouver, ISO, and other styles
24

Freyssinet, Eric. "Lutte contre les botnets : analyse et stratégie." Thesis, Paris 6, 2015. http://www.theses.fr/2015PA066390/document.

Full text
Abstract:
Les botnets, ou réseaux d’ordinateurs infectés par un code malveillant et connectés à un système de commande et de contrôle, constituent le premier outil de la délinquance sur Internet. Ils permettent de concrétiser le développement d’un nouveau type d’activités criminelles: le crime comme un service (CaaS). Ils constituent un défi en matière de répression. D’abord par l’importance de leur impact sur la sécurité des réseaux et la commission d’infractions sur Internet. Ensuite par la dimension extrêmement internationale de leur diffusion et donc une certaine difficulté à mener des investigations. Enfin, par le grand nombre des acteurs qui peuvent être impliqués (codeurs, maîtres de botnets, intermédiaires financiers). Cette thèse porte sur l’étude des botnets (composantes, fonctionnement, acteurs), la proposition d’une méthode de collecte de données sur les activités liées aux botnets et les dispositifs techniques et organisationnels de lutte contre les botnets ; elle conclut sur des propositions en matière de stratégie pour cette lutte. Les travaux menés ont permis de confirmer la pertinence, pour l’étude efficace des botnets, d’un modèle englobant l’ensemble de leurs composants, y compris les infrastructures et les acteurs. Outre un effort de définition, la thèse apporte un modèle complet du cycle de vie d’un botnet et propose des méthodes de catégorisation de ces objets. Il en ressort la nécessité d’une stratégie partagée qui doit comporter les éléments de détection, de coordination et la possibilité, voire l’obligation, pour les opérateurs de mettre en œuvre des mesures de mitigation
Botnets, or networks of computers infected with malware and connected to a command and control system, is one of the main tools for criminal activities on the Internet today. They allow the development of a new type of crime: crime as a service (CaaS). They are a challenge for law enforcement. First by the importance of their impact on the security of networks and the commission of crimes on the Internet. Next, with regards to the extremely international dimension of their dissemination and therefore the enhanced difficulty in conducting investigations. Finally, through the large number of actors that may be involved (software developers, botnet masters, financial intermediaries, etc.). This thesis proposes a thorough study of botnets (components, operation, actors), the specificaion of a data collection method on botnet related activities and finally the technical and organizational arrangements in the fight against botnets; it concludes on proposals on the strategy for this fight. The work carried out has confirmed the relevance, for the effective study of botnets, of a model encompassing all their components, including infrastructure and actors. Besides an effort in providing definitions, the thesis describes a complete model of the life cycle of a botnet and offers methods for categorization of these objects. This work shows the need for a shared strategy which should include the detection elements, coordination between actors and the possibility or even the obligation for operators to implement mitigation measures
APA, Harvard, Vancouver, ISO, and other styles
25

Cozzi, Emanuele. "Binary Analysis for Linux and IoT Malware." Electronic Thesis or Diss., Sorbonne université, 2020. http://www.theses.fr/2020SORUS197.

Full text
Abstract:
Au cours des deux dernières décennies, la communauté de la sécurité a lutté contre les programmes malveillants pour les systèmes d’exploitation basés sur Windows. Cependant, le nombre croissant de dispositifs embarqués interconnectés et la révolution de l’IoT modifient rapidement le paysage des logiciels malveillants. Les acteurs malveillants ne sont pas restés les bras croisés, mais ont rapidement réagi pour créer des “logiciels malveillants Linux”. Par cette thèse, nous naviguons dans le monde des logiciels malveillants basés sur Linux et mettons en évidence les problèmes que nous devons surmonter pour leur analyse correcte. Après une exploration systématique des défis liés à l’analyse des logiciels malveillants sous Linux, nous présentons la conception et la mise en œuvre du premier pipeline d’analyse des logiciels malveillants, spécialement conçu pour étudier ce phénomène émergent. Nous appliquons ensuite des techniques de similarité de code binaire pour reconstruire systématiquement la lignée des familles de logiciels malveillants de l’IoT, et suivre leurs relations, leur évolution et leurs variantes. Nous montrons comment la libre disponibilité du code source a entraîné une grand nombre de variantes, ce qui a souvent un impact sur la classification des systèmes antivirus. Enfin et surtout, nous abordons un problème majeur que nous avons rencontré dans l’analyse des exécutables liés statiquement. En particulier, nous présentons une nouvelle approche pour identifier la frontière entre le code utilisateur et les bibliothèques tierces
For the past two decades, the security community has been fighting malicious programs for Windows-based operating systems. However, the increasing number of interconnected embedded devices and the IoT revolution are rapidly changing the malware landscape. Malicious actors did not stand by and watch, but quickly reacted to create "Linux malware", showing an increasing interest in Linux-based operating systems and platforms running architectures different from the typical Intel CPU. As a result, researchers must react accordingly. Through this thesis, we navigate the world of Linux-based malicious software and highlight the problems we need to overcome for their correct analysis.After a systematic exploration of the challenges involved in the analysis of Linux malware, we present the design and implementation of the first malware analysis pipeline, specifically tailored to study this emerging phenomenon. We use our platform to analyze over 100K samples and collect detailed statistics and insights that can help to direct future works.We then apply binary code similarity techniques to systematically reconstruct the lineage of IoT malware families, and track their relationships, evolution, and variants. We show how the free availability of source code resulted in a very large number of variants, often impacting the classification of antivirus systems.Last but not least, we address a major problem we encountered in the analysis of statically linked executables. In particular, we present a new approach to identify the boundary between user code and third-party libraries, such that the burden of libraries can be safely removed from binary analysis tasks
APA, Harvard, Vancouver, ISO, and other styles
26

Millon, Etienne. "Analyse de sécurité de logiciels système par typage statique." Phd thesis, Université Pierre et Marie Curie - Paris VI, 2014. http://tel.archives-ouvertes.fr/tel-01067475.

Full text
Abstract:
Les noyaux de systèmes d'exploitation manipulent des données fournies par les programmes utilisateur via les appels système. Si elles sont manipulées sans prendre une attention particulière, une faille de sécurité connue sous le nom de Confused Deputy Problem peut amener à des fuites de données confidentielles ou l'élévation de privilèges d'un attaquant. Le but de cette thèse est d'utiliser des techniques de typage statique afin de détecter les manipulations dangereuses de pointeurs contrôlés par l'espace utilisateur. La plupart des systèmes d'exploitation sont écrits dans le langage C. On commence par en isoler un sous-langage sûr nommé Safespeak. Sa sémantique opérationnelle et un premier système de types sont décrits, et les propriétés classiques de sûreté du typage sont établies. La manipulation des états mémoire est formalisée sous la forme de lentilles bidirectionnelles, qui permettent d'encoder les mises à jour partielles des états et variables. Un première analyse sur ce langage est décrite, permettant de distinguer les entiers utilisés comme bitmasks, qui sont une source de bugs dans les programmes C.
APA, Harvard, Vancouver, ISO, and other styles
27

Millon, Etienne. "Analyse de sécurité de logiciels système par typage statique." Electronic Thesis or Diss., Paris 6, 2014. http://www.theses.fr/2014PA066120.

Full text
Abstract:
Les noyaux de systèmes d'exploitation manipulent des données fournies par les programmes utilisateur via les appels système. Si elles sont manipulées sans prendre une attention particulière, une faille de sécurité connue sous le nom de Confused Deputy Problem peut amener à des fuites de données confidentielles ou l'élévation de privilèges d'un attaquant. Le but de cette thèse est d'utiliser des techniques de typage statique afin de détecter les manipulations dangereuses de pointeurs contrôlés par l'espace utilisateur. La plupart des systèmes d'exploitation sont écrits dans le langage C. On commence par en isoler un sous-langage sûr nommé Safespeak. Sa sémantique opérationnelle et un premier système de types sont décrits, et les propriétés classiques de sûreté du typage sont établies. La manipulation des états mémoire est formalisée sous la forme de lentilles bidirectionnelles, qui permettent d'encoder les mises à jour partielles des états et variables. Un première analyse sur ce langage est décrite, permettant de distinguer les entiers utilisés comme bitmasks, qui sont une source de bugs dans les programmes C
Operating system kernels need to manipulate data that comes from user programs through system calls. If it is done in an incautious manner, a security vulnerability known as the Confused Deputy Problem can lead to information disclosure or privilege escalation. The goal of this thesis is to use static typing to detect the dangerous uses of pointers that are controlled by userspace. Most operating systems are written in the C language. We start by isolating Safespeak, a safe subset of it. Its operational semantics as well as a type system are described, and the classic properties of type safety are established. Memory states are manipulated using bidirectional lenses, which can encode partial updates to states and variables. A first analysis is described, that identifies integers used as bitmasks, which are a common source of bugs in C programs. Then, we add to Safespeak the notion of pointers coming from userspace. This breaks type safety, but it is possible to get it back by assigning a different type to the pointers that are controlled by userspace. This distinction forces their dereferencing to be done in a controlled fashion. This technique makes it possible to detect two bugs in the Linux kernel: the first one is in a video driver for an AMD video card, and the second one in the ptrace system call for the Blackfin architecture
APA, Harvard, Vancouver, ISO, and other styles
28

Olivier, Paul L. R. "Improving Hardware-in-the-loop Dynamic Security Testing For Linux-based Embedded Devices." Electronic Thesis or Diss., Sorbonne université, 2023. http://www.theses.fr/2023SORUS049.

Full text
Abstract:
Les techniques d'analyse dynamique ont prouvé leur efficacité dans l'évaluation de la sécurité. Il est en revanche nécessaire de pouvoir exécuter le code à analyser et c'est souvent un défi pour les firmware dont la plupart sont profondément intégrés à l’architecture matérielle du système embarqué. L'émulation permet d’exécuter une grande partie du code mais se retrouve rapidement limitée lorsqu’il est nécessaire d'interagir avec des composants spécialisés. Pour cela, l’approche d'émulation partielle, ou hardware-in-the-loop, offre plusieurs avantages: transférer les accès aux matériels qui sont difficiles à émuler correctement et exécuter le firmware à tour de rôle sur les deux entités. Jusqu'à présent, cette approche a été principalement considérée pour les firmware monolithiques, mais moins pour les dispositifs utilisant des systèmes d'exploitation avancés. Dans cette thèse, nous explorons les défis des tests de sécurité pour les processus exécutés dans un environnement émulé où une partie de leur exécution doit être transmise à leur dispositif physique d'origine. Au travers de cette thèse, nous passons d'abord en revue les différentes techniques d'interception des appels système ainsi que leurs objectifs. Nous discutons des défis des différentes manières d'exécuter un processus dans deux noyaux Linux différents. Nous implémentons au travers d’un framework ces transferts pour un processus Linux avec ses appels système et accès mémoire entre son environnement émulé et son environnement d’origine sur le dispositif physique. Afin de surmonter les défis liés à l'utilisation de dispositifs physiques pour ces tests de sécurité, nous présentons également une nouvelle plateforme pour les tests de sécurité hardware-in-the-loop
Dynamic analysis techniques have proven their effectiveness in security assessment. Nevertheless, it is necessary to be able to execute the code to be analyzed and this is often a challenge for firmware, most of which are deeply integrated into the hardware architecture of embedded systems. Emulation allows to execute a large part of the code but is quickly limited when it is necessary to interact with specialized components. For this, the partial emulation, or hardware-in-the-loop, approach offers several advantages: transferring access to hardware that is difficult to emulate properly and executing the firmware in turn on both entities. To date, this approach has been considered primarily for monolithic firmware, but less so for devices running advanced operating systems. In this thesis, we explore the challenges of security testing for processes running in an emulated environment where part of their execution must be transmitted to their original physical device. Throughout this thesis, we first review the various techniques for intercepting system calls and their objectives. We highlight the fact that forwarding is not a very well explored technique in depth but is a promising approach for evaluating the security of embedded applications. We discuss the challenges of different ways of running a process in two different Linux kernels. We implement through a framework these transfers for a Linux process with its system calls and memory accesses between its emulated environment and its original environment on the physical device. To overcome the challenges of using physical devices for these security tests, we also present a new test platform to reproduce hardware-in-the-loop security experiments
APA, Harvard, Vancouver, ISO, and other styles
29

Scholte, Theodoor. "Amélioration de la sécurité par la conception des logiciels web." Thesis, Paris, ENST, 2012. http://www.theses.fr/2012ENST0024/document.

Full text
Abstract:
L'internet est devenu un environnement omniprésent dans le monde du travail et du loisir. La popularité sans cesse croissante des applications web ainsi que des services associés entraînent l'exécution de nombreuses transactions critiques, qui soulèvent des questions de sécurité. Du fait de cette croissance, des efforts ont été entrepris durant cette dernière décennie pour rendre les applications web plus sûres. Malgré ces efforts, de récents rapports provenant de l'institut SANS estiment que plus de 60 % des attaques commises sur l'Internet ciblent les applications web en se concentrant sur les vulnérabilités inhérentes aux problèmes de validation, comme le Cross-Site Scripting ou les injections SQL. Dans cette thèse, nous avons conduit deux études de recherche empirique, analysant un grand nombre d'application web vulnérables. Nous avons assemblé une base de données contenant plus de 10.000 rapports de vulnérabilités depuis l'an 2000. Ensuite, nous avons analysé ces données pour déterminer si les développeurs ont pris conscience des problématiques de sécurité web de nos jours, comparé à la période où ces applications émergeaient. Puis nous avons analysé l'étroit lien entre le langage de programmation utilisé pour développer l'application web et le nombre de vulnérabilité reporté. Avec ces résultats empiriques comme base, nous présentons notre solution IPAAS qui aide les développeurs novice en termes de sécurité à écrire des applications sécurisées par défaut. Nous montrons par ailleurs que cette technique améliore de manière probante la sécurité des applications web
The web has become a backbone of our industry and daily life. The growing popularity of web applications and services and the increasing number of critical transactions being performed, has raised security concerns. For this reason, much effort has been spent over the past decade to make web applications more secure. Despite these efforts, recent data from SANS institute estimates that up to 60% of Internet attacks target web applications and critical vulnerabilities such as cross-site scripting and SQL injection are still very common. In this thesis, we conduct two empirical studies on a large number of web applications vulnerabilities with the aim of gaining deeper insights in how input validation flaws have evolved in the past decade and how these common vulnerabilities can be prevented. Our results suggest that the complexity of the attacks have not changed significantly and that many web problems are still simple in nature. Our studies also show that most SQL injection and a significant number of cross-site scripting vulnerabilities can be prevented using straight-forward validation mechanisms based on common data types. With these empirical results as foundation, we present IPAAS which helps developers that are unaware of security issues to write more secure web applications than they otherwise would do. It includes a novel technique for preventing the exploitation of cross-site scripting and SQL injection vulnerabilities based on automated data type detection of input parameters. We show that this technique results in significant and tangible security improvements for real web applications
APA, Harvard, Vancouver, ISO, and other styles
30

Scholte, Theodoor. "Amélioration de la sécurité par la conception des logiciels web." Electronic Thesis or Diss., Paris, ENST, 2012. http://www.theses.fr/2012ENST0024.

Full text
Abstract:
L'internet est devenu un environnement omniprésent dans le monde du travail et du loisir. La popularité sans cesse croissante des applications web ainsi que des services associés entraînent l'exécution de nombreuses transactions critiques, qui soulèvent des questions de sécurité. Du fait de cette croissance, des efforts ont été entrepris durant cette dernière décennie pour rendre les applications web plus sûres. Malgré ces efforts, de récents rapports provenant de l'institut SANS estiment que plus de 60 % des attaques commises sur l'Internet ciblent les applications web en se concentrant sur les vulnérabilités inhérentes aux problèmes de validation, comme le Cross-Site Scripting ou les injections SQL. Dans cette thèse, nous avons conduit deux études de recherche empirique, analysant un grand nombre d'application web vulnérables. Nous avons assemblé une base de données contenant plus de 10.000 rapports de vulnérabilités depuis l'an 2000. Ensuite, nous avons analysé ces données pour déterminer si les développeurs ont pris conscience des problématiques de sécurité web de nos jours, comparé à la période où ces applications émergeaient. Puis nous avons analysé l'étroit lien entre le langage de programmation utilisé pour développer l'application web et le nombre de vulnérabilité reporté. Avec ces résultats empiriques comme base, nous présentons notre solution IPAAS qui aide les développeurs novice en termes de sécurité à écrire des applications sécurisées par défaut. Nous montrons par ailleurs que cette technique améliore de manière probante la sécurité des applications web
The web has become a backbone of our industry and daily life. The growing popularity of web applications and services and the increasing number of critical transactions being performed, has raised security concerns. For this reason, much effort has been spent over the past decade to make web applications more secure. Despite these efforts, recent data from SANS institute estimates that up to 60% of Internet attacks target web applications and critical vulnerabilities such as cross-site scripting and SQL injection are still very common. In this thesis, we conduct two empirical studies on a large number of web applications vulnerabilities with the aim of gaining deeper insights in how input validation flaws have evolved in the past decade and how these common vulnerabilities can be prevented. Our results suggest that the complexity of the attacks have not changed significantly and that many web problems are still simple in nature. Our studies also show that most SQL injection and a significant number of cross-site scripting vulnerabilities can be prevented using straight-forward validation mechanisms based on common data types. With these empirical results as foundation, we present IPAAS which helps developers that are unaware of security issues to write more secure web applications than they otherwise would do. It includes a novel technique for preventing the exploitation of cross-site scripting and SQL injection vulnerabilities based on automated data type detection of input parameters. We show that this technique results in significant and tangible security improvements for real web applications
APA, Harvard, Vancouver, ISO, and other styles
31

Mathieu-Mahias, Axel. "Sécurisation des implémentations d'algorithmes cryptographiques pour les systèmes embarqués." Electronic Thesis or Diss., université Paris-Saclay, 2021. http://www.theses.fr/2021UPASG095.

Full text
Abstract:
De nos jours, les systèmes embarqués sont omniprésents et leurs applications sont de plus en plus nombreuses. La plupart des domaines industriels d'aujourd'hui dépendent des systèmes embarqués pour l'accomplissement de tâches spécifiques, parfois hautement sensibles. Actuellement, l'usage de systèmes embarqués est encore davantage accentué par la mise en place de "l'Internet des Objets", véritable révolution digitale.Un système embarqué est un système électronique et informatique contrôlant une partie spécifique d'un système plus large. De nombreuses contraintes, notamment liées à sa taille, doivent être prises en compte lors de sa conception. Il en résulte qu’un système embarqué est généralement à bas coûts, consomme peu de courant et dispose la plupart du temps d'une puissance de calculs relativement restreinte.Pour l'accomplissement de ses tâches spécifiques, un système embarqué collecte, manipule et échange des données parfois sensibles. Par ailleurs, un tel système est souvent directement accessible physiquement. Cette particularité peut alors être exploitée par une personne malintentionnée pour contrôler, extraire ou encore altérer les données sensibles manipulées par de tels systèmes.Dans un tel contexte, la mise en place de mécanismes de sécurité adaptés est primordiale. En particulier, il est crucial de sécuriser l'accès physique à un système embarqué, mais également de protéger les données sensibles manipulées ou stockées par le matériel.La cryptographie ou science du secret, offre de nombreuses possibilités pour parvenir à sécuriser les données manipulées par un système embarqué. Cependant, dans ce contexte précis, certaines caractéristiques physiques liées à l'électronique des systèmes embarqués varient à l'exécution des implémentations d'algorithmes cryptographiques, garants de la sécurité de l’information. En particulier, la consommation de courant de l'appareil ou encore ses émanations électromagnétiques dépendent des données manipulées ainsi que des choix faits à l'implémentation. Ces caractéristiques physiques peuvent en outre être mesurées si l'accès physique à l'appareil est possible. L'exploitation de ces mesures a mené à des attaques dévastatrices communément appelées « attaques par canaux auxiliaires ». La mise en œuvre de ce type d’attaque permet d’extraire les données secrètes stockées ou manipulées par un appareil électronique, souvent sans grands efforts.Des contre-mesures particulières doivent donc être mises en place pour garantir la sécurité des implémentations d’algorithmes cryptographiques sans trop dégrader leurs performances à l’exécution. Le masquage est une solution largement déployée de nos jours, mais sa mise en œuvre correcte et efficace nécessite une analyse fine des solutions
Embedded systems are ubiquitous and they have more and more applications. Most actual industrial fields rely on embedded systems for accomplishing specific tasks, sometimes highly sensitive. Currently, the deployment of embedded systems is even more increasing by the birth of the "Internet of Things", which is expected to revolutionize our digital world.An embedded system is an electronic and informatic system in control of a specific part of a larger system. Numerous constraints, in particular regarding its size, must be taken into account during its conception. Consequently, an embedded system is usually low cost, consume low power and has limited computational resources.For accomplishing its specific tasks, an embedded system collect, manipulate and exchange data that are usually sensitive. Moreover, such a system can often be directly accessible physically. This particularity can then be exploited by an unauthorized entity in order to control, extract or alter sensitive data manipulated by such systems.In this context, it is mandatory to develop well-suited security mechanisms. In particular, it is crucial to prevent direct physical access to the device but also to protect sensitive data manipulated or stored by the device.Cryptography is the science of secrets and offers numerous ways to mitigate the risks that face electronic devices. However, in such a context, some physical characteristics of the electronics of embedded systems vary during the execution of the implementations of cryptographic algorithms guaranteeing the security of information. In particular, the power consumption of a device or its electromagnetic radiations depend on the manipulated data as well as of the choices made for implementing the cryptographic algorithms. These physical characteristics can also be measured if physical access to the device is possible. The exploitation of these measurements has led to devastating attacks called "Side-Channel attacks". Mounting this kind of attacks enables to extract sensitive data stored or manipulated by an electronic device, usually without much effort.Special countermeasures have to be implemented to mitigate the security risks that face the implementations of cryptographic algorithms without deteriorating too much their performances in practice. Masking is a well-known solution, but its correct implementation requires a thorough analysis of algorithmic solutions it provides, especially in the context just described where devices have limited resources
APA, Harvard, Vancouver, ISO, and other styles
32

Freyssinet, Eric. "Lutte contre les botnets : analyse et stratégie." Electronic Thesis or Diss., Paris 6, 2015. http://www.theses.fr/2015PA066390.

Full text
Abstract:
Les botnets, ou réseaux d’ordinateurs infectés par un code malveillant et connectés à un système de commande et de contrôle, constituent le premier outil de la délinquance sur Internet. Ils permettent de concrétiser le développement d’un nouveau type d’activités criminelles: le crime comme un service (CaaS). Ils constituent un défi en matière de répression. D’abord par l’importance de leur impact sur la sécurité des réseaux et la commission d’infractions sur Internet. Ensuite par la dimension extrêmement internationale de leur diffusion et donc une certaine difficulté à mener des investigations. Enfin, par le grand nombre des acteurs qui peuvent être impliqués (codeurs, maîtres de botnets, intermédiaires financiers). Cette thèse porte sur l’étude des botnets (composantes, fonctionnement, acteurs), la proposition d’une méthode de collecte de données sur les activités liées aux botnets et les dispositifs techniques et organisationnels de lutte contre les botnets ; elle conclut sur des propositions en matière de stratégie pour cette lutte. Les travaux menés ont permis de confirmer la pertinence, pour l’étude efficace des botnets, d’un modèle englobant l’ensemble de leurs composants, y compris les infrastructures et les acteurs. Outre un effort de définition, la thèse apporte un modèle complet du cycle de vie d’un botnet et propose des méthodes de catégorisation de ces objets. Il en ressort la nécessité d’une stratégie partagée qui doit comporter les éléments de détection, de coordination et la possibilité, voire l’obligation, pour les opérateurs de mettre en œuvre des mesures de mitigation
Botnets, or networks of computers infected with malware and connected to a command and control system, is one of the main tools for criminal activities on the Internet today. They allow the development of a new type of crime: crime as a service (CaaS). They are a challenge for law enforcement. First by the importance of their impact on the security of networks and the commission of crimes on the Internet. Next, with regards to the extremely international dimension of their dissemination and therefore the enhanced difficulty in conducting investigations. Finally, through the large number of actors that may be involved (software developers, botnet masters, financial intermediaries, etc.). This thesis proposes a thorough study of botnets (components, operation, actors), the specificaion of a data collection method on botnet related activities and finally the technical and organizational arrangements in the fight against botnets; it concludes on proposals on the strategy for this fight. The work carried out has confirmed the relevance, for the effective study of botnets, of a model encompassing all their components, including infrastructure and actors. Besides an effort in providing definitions, the thesis describes a complete model of the life cycle of a botnet and offers methods for categorization of these objects. This work shows the need for a shared strategy which should include the detection elements, coordination between actors and the possibility or even the obligation for operators to implement mitigation measures
APA, Harvard, Vancouver, ISO, and other styles
33

Sadde, Gérald. "Sécurité logicielle des systèmes informatiques : aspects pénaux et civils." Montpellier 1, 2003. http://www.theses.fr/2003MON10019.

Full text
Abstract:
De l'instant de l'attaque logicielle contre le système, jusqu'aux conséquences macro-économiques induites, nous suivrons la propagation du dommage et ses implications juridiques en matière d'obligations et de responsabilité. Cela nous donnera tout d'abord l'occasion d'aborder l'aspect répressif de la sécurité au travers de la sanction pénale de l'acte. Mais tout autant nous nous intéresserons aux relations contractuelles qui vont naître de la prévention du dommage, au travers des mesures prises par la victime, le maître du système, pour protéger ses intérêts. Nous envisagerons les recours qui s'offrent non seulement à ce dernier mais aussi aux utilisateurs du système attaqué, qui subiront parfois un préjudice du fait d'une atteinte, à leurs biens, à la qualité d'un service, ou à leur vie privée. Enfin la sécurité informatique est à nos yeux un impératif d'ordre public et ce sont les dommages potentiels à l'économie dans son ensemble qui concluront donc cette étude.
APA, Harvard, Vancouver, ISO, and other styles
34

Reynaud, Daniel. "Analyse de codes auto-modifiants pour la sécurité logicielle." Thesis, Vandoeuvre-les-Nancy, INPL, 2010. http://www.theses.fr/2010INPL049N/document.

Full text
Abstract:
Les programmes auto-modifiants fonctionnent de manière singulière car ils sont capables de réécrire leur propre code en cours d'exécution. Absents des modèles de calcul théoriques, ils sont pourtant omniprésents dans les ordinateurs et les systèmes d'exploitations actuels. Ils sont en effet utilisés par les chargeurs d'amorçages, pour la compilation à la volée ou encore l'optimisation dynamique de code. Ils sont également omniprésents dans les programmes malveillants, dont les auteurs ont bien compris qu'ils constituaient des objets complexes à analyser. Ils sont également virtuellement présents dans tous les autres programmes mais de manière non-intentionnelle. En effet, on peut voir certaines classes de vulnérabilités, par exemple les failles par débordement de tampon, comme la possibilité d'exécuter accidentellement des données -- ce qui est un comportement caractéristique des programmes auto-modifiants.Au cours de cette thèse, nous avons proposé un modèle théorique permettant de caractériser un certain nombre de comportements auto-modifiants avancés. Nous avons également mis au point un prototype, TraceSurfer, permettant de détecter efficacement ces comportements à partir de l'analyse de traces et de les visualiser sous forme de graphes d'auto-référence. Enfin, nous avons validé par l'expérience à la fois le modèle théorique et l'outil en les testant sur un grand nombre de programmes malveillants
Self-modifying programs run in a very specific way: they are capable to rewrite their own code at runtime. Remarkably absent from theoretical computation models, they are present in every modern computer and operating system. Indeed, they are used by bootloaders, for just-in-time compilation or dynamic optimizations. They are also massively used by malware authors in order to bypass antivirus signatures and to delay analysis. Finally, they are unintentionally present in every program, since we can model code injection vulnerabilities (such as buffer overflows) as the ability for a program to accidentally execute data.In this thesis, we propose a formal framework in order to characterize advanced self-modifying behaviors and code armoring techniques. A prototype, TraceSurfer, allows us to detect these behaviors by using fine-grained execution traces and to visualize them as self-reference graphs. Finally, we assess the performance and efficiency of the tool by running it on a large corpus of malware samples
APA, Harvard, Vancouver, ISO, and other styles
35

Mao, Yuxiao. "Détection dynamique d'attaques logicielles et matérielles basée sur l'analyse de signaux microarchitecturaux." Thesis, Toulouse, INSA, 2022. http://www.theses.fr/2022ISAT0015.

Full text
Abstract:
Les systèmes informatiques ont évolué rapidement ces dernières années, ces évolutions touchant toutes les couches des systèmes informatiques, du logiciel (systèmes d'exploitation et logiciels utilisateur) au matériel (microarchitecture et technologie des puces). Si ce développement a permis d'accroître les fonctionnalités et les performances, il a également augmenté la complexité des systèmes (rendant plus difficile la compréhension globale du système), et par la-même augmenté la surface d'attaque pour les pirates. Si les attaques ont toujours ciblé les vulnérabilités logicielles, au cours des deux dernières décennies, les attaques exploitant les vulnérabilités matérielles des systèmes informatiques sont devenues suffisamment graves pour ne plus être ignorées. En 2018, par exemple, la divulgation des attaques Spectre et Meltdown a mis sur le devant de la scène les problèmes que peuvent poser certaines optimisations faites dans la microarchitecture des systèmes. Malheureusement, la détection et la protection contre ces attaques se révèlent particulièrement complexes, et posent donc aujourd'hui de nombreux défis : (1) le niveau élevé de complexité et de variabilité de la microarchitecture implique une grande difficulté à identifier les sources de vulnérabilité; (2) les contremesures impliquant une modification de la microarchitecture peuvent impacter significativement les performances globales du système complet; et (3) les contremesures doivent pouvoir s'adapter à l'évolution des attaques. Pour donner des éléments de réponse, cette thèse s'est intéressée à l'utilisation des informations qui sont disponibles au niveau de la microarchitecture pour construire des méthodes de détection efficaces.Ces travaux ont en particulier abouti à la construction d'un framework permettant la détection d'attaques qui laissent des empreintes au niveau de la couche microarchitecturale. Ce framework propose : (1) d'utiliser les informations microarchitecturales pour la détection des attaques, couvrant efficacement les attaques visant les vulnérabilités microarchitecturales; (2) de proposer une méthodologie pour aider les concepteurs dans le choix des informations pertinentes à extraire de la microarchitecture; (3) d'utiliser des connexions dédiées pour la transmission de ces informations microarchitecturales afin de garantir une haute bande passante; et (4) d'utiliser du matériel reconfigurable en conjonction avec du logiciel pour implémenter la logique de détection des attaques. Cette combinaison de logiciel et matériel reconfigurable (constituant le module de détection) permet à la fois de réduire l'impact sur les performances grâce à de l'accélération matérielle, et de mettre à jour la logique de détection afin de s'adapter à l'évolution des menaces par la reconfiguration au cours du cycle de vie du système. Nous présentons en détails les changements requis au niveau de la microarchitecture et du système d'exploitation, la méthodologie pour sélectionner les informations microarchitecturales appropriées, l'intégration de ce framework dans un système informatique spécifique, ainsi que la description du fonctionnement du système final pendant son cycle de vie. Cette thèse décrit pour finir deux cas d'étude menés sur un prototype (basé sur un coeur RISC-V) sur un FPGA, et montre comment des logiques relativement simples implantées dans le module de détection nous ont permis de détecter des attaques de classes différentes (attaque visant les caches et attaques de type ROP) sur un système complet exécutant un système d'exploitation, via l'exploitation d'informations provenant de la microarchitecture
In recent years, computer systems have evolved quickly. This evolution concerns different layers of the system, both software (operating systems and user programs) and hardware (microarchitecture design and chip technology). While this evolution allows to enrich the functionalities and improve the performance, it has also increased the complexity of the systems. It is difficult, if not impossible, to fully understand a particular modern computer system, and a greater complexity also stands for a larger attack surface for hackers. While most of the attacks target software vulnerabilities, over the past two decades, attacks exploiting hardware vulnerabilities have emerged and demonstrated their serious impact. For example, in 2018, the Spectre and Meltdown attacks have been disclosed, that exploited vulnerabilities in the microarchitecture layer to allow powerful arbitrary reads, and highlighted the security issues that can arise from certain optimizations of system microarchitecture. Detecting and preventing such attacks is not intuitive and there are many challenges to deal with: (1) the great difficulty in identifying sources of vulnerability implied by the high level of complexity and variability of different microarchitectures; (2) the significant impact of countermeasures on overall performance and on modifications to the system's hardware microarchitecture generally not desired; and (3) the necessity to design countermeasures able to adapt to the evolution of the attack after deployment of the system. To face these challenges, this thesis focuses on the use of information available at the microarchitecture level to build efficient attack detection methods.In particular, we describe a framework allowing the dynamic detection of attacks that leave fingerprints at the system's microarchitecture layer. This framework proposes: (1) the use microarchitectural information for attack detection, which can effectively cover attacks targeting microarchitectural vulnerabilities; (2) a methodology that assists designers in selecting relevant microarchitectural information to extract; (3) the use of dedicated connections for the transmission of information extracted, in order to ensure high transmission bandwidth and prevent data loss; and (4) the use of reconfigurable hardware in conjunction with software to implement attack detection logic. This combination (composing to the so-called detection module) reduces the performance overhead through hardware acceleration, and allows updating detection logic during the system lifetime with reconfiguration in order to adapt to the evolution of attacks. We present in detail the proposed architecture and modification needed on the operating system, the methodology for selecting appropriate microarchitectural information and for integrating this framework into a specific computer system, and we describe how the final system integrating our detection module is able to detect attacks and adapt to attack evolution. This thesis also provides two use-case studies implemented on a prototype (based on a RISC-V core with a Linux operating system) on an FPGA. It shows that, thanks to the analysis of microarchitectural information, relatively simple logic implemented in the detection module is sufficient to detect different classes of attacks (cache side-channel attack and ROP attack)
APA, Harvard, Vancouver, ISO, and other styles
36

Mantovani, Alessandro. "An Analysis of Human-in-the-loop Approaches for Reverse Engineering Automation." Electronic Thesis or Diss., Sorbonne université, 2022. https://accesdistant.sorbonne-universite.fr/login?url=https://theses-intra.sorbonne-universite.fr/2022SORUS052.pdf.

Full text
Abstract:
En matière de sécurité des systèmes et des logiciels, l'un des premiers critères avant d'appliquer une méthodologie d'analyse est de distinguer selon la disponibilité ou non du code source. Lorsque le logiciel que nous voulons investiguer est présent sous forme binaire, la seule possibilité que nous avons est d'en extraire des informations en observant son code machine, en effectuant ce qui est communément appelé Binary Analysis (BA). Les artisans de ce secteur sont chargés de mêler leur expérience personnelle à un arsenal d'outils et de méthodologies pour comprendre certains aspects intrinsèques et cachés du binaire cible, par exemple pour découvrir de nouvelles vulnérabilités ou détecter des comportements malveillants. Bien que cette configuration humaine dans la boucle soit bien consolidée au fil des ans, l'explosion actuelle des menaces et des vecteurs d'attaque tels que les logiciels malveillants, les exploits armés, etc. met implicitement à l'épreuve ce modèle de BA, exigeant en même temps une grande précision de l'analyse ainsi qu'une évolutivité appropriée des binaires pour contrer les acteurs adverses. C'est pourquoi, malgré les nombreux progrès réalisés dans le domaine de la BA au cours des dernières années, nous sommes toujours obligés de chercher de nouvelles solutions. Dans cette thèse, nous faisons un pas de plus sur ce problème et nous essayons de montrer ce qui manque aux paradigmes actuels pour augmenter le niveau d'automatisation. Pour ce faire, nous avons isolé trois cas d'utilisation classiques de l'analyse binaire et nous avons démontré comment l'analyse en pipeline bénéficie de l'intervention humaine. En d'autres termes, nous avons considéré trois systèmes "human-in-the-loop" et nous avons décrit le rôle de l'homme dans le pipeline en nous concentrant sur les types de feedback que l'analyste "échange" avec sa chaîne d'outils. Ces trois exemples nous ont fourni une vue complète de l'écart entre les solutions actuelles d'analyse binaire et les solutions idéalement plus automatisées, suggérant que la principale caractéristique à la base du retour d'information humain correspond à la compétence humaine à comprendre des portions de code binaire. Cette tentative de systématisation du rôle de l'homme dans les approches modernes de l'analyse binaire tente d'élever la barre vers des systèmes plus automatisés en tirant parti de la composante humaine qui, jusqu'à présent, est toujours inévitable dans la majorité des scénarios d'analyse binaire. Bien que notre analyse montre que les machines ne peuvent pas remplacer les humains au stade actuel, nous ne pouvons pas exclure que les approches futures seront en mesure de combler cette lacune et de faire évoluer les outils et les méthodologies vers un niveau supérieur. Par conséquent, nous espérons avec ce travail, inspirer les recherches futures dans le domaine pour atteindre des techniques d'analyse binaire toujours plus sophistiquées et automatisées
In system and software security, one of the first criteria before applying an analysis methodology is to distinguish according to the availability or not of the source code. When the software we want to investigate is present in binary form, the only possibility that we have is to extract some information from it by observing its machine code, performing what is commonly referred to as Binary Analysis (BA). The artisans in this sector are in charge of mixing their personal experience with an arsenal of tools and methodologies to comprehend some intrinsic and hidden aspects of the target binary, for instance, to discover new vulnerabilities or to detect malicious behaviors. Although this human-in-the-loop configuration is well consolidated over the years, the current explosion of threats and attack vectors such as malware, weaponized exploits, etc. implicitly stresses this binary analysis model, demanding at the same time for high accuracy of the analysis as well as proper scalability over the binaries to counteract the adversarial actors. Therefore, despite the many advances in the BA field over the past years, we are still obliged to seek novel solutions. In this thesis, we take a step more on this problem, and we try to show what current paradigms lack to increase the automation level. To accomplish this, we isolated three classical binary analysis use cases, and we demonstrated how the pipeline analysis benefits from the human intervention. In other words, we considered three human-in-the-loop systems, and we described the human role inside the pipeline with a focus on the types of feedback that the analyst ``exchanges'' with her toolchain. These three examples provided a full view of the gap between current binary analysis solutions and ideally more automated ones, suggesting that the main feature at the base of the human feedback corresponds to the human skill at comprehending portions of binary code. This attempt to systematize the human role in modern binary analysis approaches tries to raise the bar towards more automated systems by leveraging the human component that, so far, is still unavoidable in the majority of the scenarios. Although our analysis shows that machines cannot replace humans at the current stage, we cannot exclude that future approaches will be able to fill this gap as well as evolve tools and methodologies to the next level. Therefore, we hope with this work to inspire future research in the field to reach always more sophisticated and automated binary analysis techniques
APA, Harvard, Vancouver, ISO, and other styles
37

Besson, Frédéric. "Résolution modulaire d'analyses de programmes : application à la sécurité logicielle." Rennes 1, 2002. http://www.theses.fr/2002REN1A114.

Full text
Abstract:
L'analyse statique désigne des méthodes automatiques pour extraire des propriétés des programmes. Malheureusement, les ordinateurs n'ont souvent pas les ressources suffisantes pour analyser de gros programmes. Pour remédier à ce problème, nous proposons une méthodologie d'analyse modulaire qui calque la structure de l'analyse sur la structure de modules des programmes. Dans ce cadre, chaque fragment de programme est analysé séparément. De fait, le coût d'analyse est factorisé et une part de l'analyse globale est calculée à l'avance. Dans cette thèse, nous avons défini ce qu'était une méthode de résolution modulaire et identifié la notion de résolution modulaire optimale. Nous avons appliqué ces principes théoriques à une analyse de flot de contrôle et à une analyse de sécurité. Dans ces deux cas, nous avons proposé des approximations et/ou des restrictions pour assurer la terminaison de la résolution modulaire optimale. Notre conviction est que toute analyse s'adapte à notre cadre.
APA, Harvard, Vancouver, ISO, and other styles
38

Delouette, Ilona. "Une analyse d’économie institutionnaliste du financement de la prise en charge de la dépendance : D’un risque social à un risque positif." Thesis, Lille 1, 2020. http://www.theses.fr/2020LIL1A002.

Full text
Abstract:
Notre thèse porte sur le financement de la prise en charge de la dépendance des personnes âgées en France. Comme problématique spécifique de protection sociale, la « dépendance » apparaît avec le rapport Arreckz (1979) où émerge l’idée de créer un 5e risque de Sécurité sociale. Pourtant, la prise en charge a toujours fait l’objet d’une superposition de dispositifs, pensés en dehors de la Sécurité sociale, et qui se sont toujours avérés insuffisants pour couvrir les besoins sociaux. Nous réalisons une analyse d’économie politique institutionnaliste ancrée dans la Théorie de régulation et plus particulièrement dans l’approche des systèmes nationaux de protection sociale de B. Théret. La prise en charge de la dépendance est appréhendée comme un sous-système de protection sociale, soit comme un médium de reproduction pour les sphères économique, politique et domestique, qui s’appuient sur une symbolique commune. Nous étudions les mutations de cette symbolique, et les rapports de pouvoirs qui l’influencent pour comprendre les évolutions du système de financement de la dépendance. Au sein de la symbolique, nous nous intéressons particulièrement à la mobilisation de la catégorie du risque et de l’assurance. Cette dernière, largement mobilisée dans le champ de la dépendance, est aussi au cœur de la symbolique de la protection sociale française. Notre démarche d’enquête s’appuie sur des observations de groupes de réflexions sur la question du financement de la dépendance, des entretiens semi-directifs auprès des acteurs « clés » du champ, ainsi que sur une analyse linguistique et historique des rapports publics sur le sujet à partir du logiciel Prospéro (Doxa). Nous montrons que depuis 1979, la dépendance a été appréhendée comme un risque social (1979-1997), puis comme un risque de protection sociale (1997-2007), et enfin comme un risque prévisible et positif (2008-2015). La catégorie du risque et de l’assurance est de plus en plus enchâssée dans un discours gestionnaire et économiciste au sein de la symbolique de la protection sociale. Ces mutations justifient le passage de financements définis au sein du partage primaire de la valeur ajoutée à des financements reposant sur la redistribution secondaire. Ainsi, si la catégorie du risque est sans cesse mobilisée depuis les années 1970, elle ne permet pas de justifier un financement du champ à la hauteur des enjeux. Au contraire, depuis les années 2000, compte de tenu des rapports de pouvoirs qui s’opèrent dans le champ, elle justifie la privatisation de ses financements
This doctoral dissertation focuses on the funding of care for elderly dependent persons in France. “Dependency” was not considered as a specific social protection issue until the Arreckz report (1979) in which emerges the idea of creating a 5th social security risk. However, care has always been the subject of overlapping schemes designed independently of social security. These schemes have always proved insufficient to cover social needs. We carry out an institutionalist political economy analysis rooted in the Régulation Theory, and more specifically in B. Théret's approach of national systems of social protection. The care of dependency is understood as a sub-system of social protection, i.e. as a means of reproduction of the economic, political, and domestic spheres which are supported by a shared symbolism. In order to understand the evolutions of the dependency’s funding system, we study the changes of this symbolism and the power relations that influence it. Within this symbolism we are specifically interested in the increasing use of the category of risk and insurance. This category widely used in the field of dependency is also at the core of the symbolism of French social protection. Our research is based on the analysis of observations made by think-tanks concerning the funding of dependency; on semi-directive interviews of “key” players in the field; and on a linguistic and historical analysis of public reports using the software Prospéro (Doxa). We demonstrate that since 1979, dependency has been understood as a social risk (1979-1997), then as a social protection risk (1997-2007), and finally as a predictable and positive risk (2008-2015). Within the symbolism of social protection, the category of risk and insurance is increasingly embedded in managerial and economic discourse. These changes justify the transition from funding defined within the primary share of the value added to funding relying on secondary redistribution. Thus, although the risk category has been used constantly since the 1970s, it does not justify the funding of the field commensurate with the stakes involved. On the contrary, since the 2000s onwards, in view of the power relations prevailing in the field, the category of risk has justified the privatisation of its funding
APA, Harvard, Vancouver, ISO, and other styles
39

Laouadi, Rabah. "Analyse du flot de contrôle multivariante : application à la détection de comportements des programmes." Electronic Thesis or Diss., Montpellier, 2016. http://www.theses.fr/2016MONTT255.

Full text
Abstract:
Sans exécuter une application, est-il possible de prévoir quelle est la méthode cible d’un site d’appel ? Est-il possible de savoir quels sont les types et les valeurs qu’une expression peut contenir ? Est-il possible de déterminer de manière exhaustive l’ensemble de comportements qu’une application peut effectuer ? Dans les trois cas, la réponse est oui, à condition d’accepter une certaine approximation. Il existe une classe d’algorithmes − peu connus à l’extérieur du cercle académique − qui analysent et simulent un programme pour calculer de manière conservatrice l’ensemble des informations qui peuvent être véhiculées dans une expression. Dans cette thèse, nous présentons ces algorithmes appelés CFAs (acronyme de Control Flow Analysis), plus précisément l’algorithme multivariant k-l-CFA. Nous combinons l’algorithme k-l-CFA avec l’analyse de taches (taint analysis),qui consiste à suivre une donnée sensible dans le flot de contrôle, afin de déterminer si elle atteint un puits (un flot sortant du programme). Cet algorithme, en combinaison avec l’interprétation abstraite pour les valeurs, a pour objectif de calculer de manière aussi exhaustive que possible l’ensemble des comportements d’une application. L’un des problèmes de cette approche est le nombre élevé de faux-positifs, qui impose un post-traitement humain. Il est donc essentiel de pouvoir augmenter la précision de l’analyse en augmentant k.k-l-CFA est notoirement connu comme étant très combinatoire, sa complexité étant exponentielle dans la valeur de k. La première contribution de cette thèse est de concevoir un modèle et une implémentation la plus efficace possible, en séparant soigneusement les parties statiques et dynamiques de l’analyse, pour permettre le passage à l’échelle. La seconde contribution de cette thèse est de proposer une nouvelle variante de CFA basée sur k-l-CFA, et appelée *-CFA, qui consiste à faire du paramètre k une propriété de chaque variante, de façon à ne l’augmenter que dans les contextes qui le justifient. Afin d’évaluer l’efficacité de notre implémentation de k-l-CFA, nous avons effectué une comparaison avec le framework Wala. Ensuite, nous validons l’analyse de taches et la détection de comportements avec le Benchmark DroidBench. Enfin, nous présentons les apports de l’algorithme *-CFA par rapport aux algorithmes standards de CFA dans le contexte d’analyse de taches et de détection de comportements
Without executing an application, is it possible to predict the target method of a call site? Is it possible to know the types and values that an expression can contain? Is it possible to determine exhaustively the set of behaviors that an application can perform? In all three cases, the answer is yes, as long as a certain approximation is accepted.There is a class of algorithms - little known outside of academia - that can simulate and analyze a program to compute conservatively all information that can be conveyed in an expression. In this thesis, we present these algorithms called CFAs (Control flow analysis), and more specifically the multivariant k-l-CFA algorithm.We combine k-l-CFA algorithm with taint analysis, which consists in following tainted sensitive data inthe control flow to determine if it reaches a sink (an outgoing flow of the program).This combination with the integration of abstract interpretation for the values, aims to identify asexhaustively as possible all behaviors performed by an application.The problem with this approach is the high number of false positives, which requiresa human post-processing treatment.It is therefore essential to increase the accuracy of the analysis by increasing k.k-l-CFA is notoriously known as having a high combinatorial complexity, which is exponential commensurately with the value of k.The first contribution of this thesis is to design a model and most efficient implementationpossible, carefully separating the static and dynamic parts of the analysis, to allow scalability.The second contribution of this thesis is to propose a new CFA variant based on k-l-CFA algorithm -called *-CFA - , which consists in keeping locally for each variant the parameter k, and increasing this parameter in the contexts which justifies it.To evaluate the effectiveness of our implementation of k-l-CFA, we make a comparison with the Wala framework.Then, we do the same with the DroidBench benchmark to validate out taint analysis and behavior detection. Finally , we present the contributions of *-CFA algorithm compared to standard CFA algorithms in the context of taint analysis and behavior detection
APA, Harvard, Vancouver, ISO, and other styles
40

Varet, Antoine. "Conception, mise en oeuvre et évaluation d'un routeur embarqué pour l'avionique de nouvelle génération." Phd thesis, INSA de Toulouse, 2013. http://tel.archives-ouvertes.fr/tel-00932283.

Full text
Abstract:
Le contexte aéronautique a depuis plusieurs années mis en évidence le besoin croissant de technologies de sécurité permettant d'éviter des utilisations malveillantes des matériels ou services installés à bord des avions. La plupart des approches de sécurisation 'avion' se concentre sur des méthodes et techniques permettant de sécuriser les échanges au sein de l'avion. Elles sont cependant inadaptées à la sécurisation dans les cas d'interconnexion des réseaux avioniques avec le reste des réseaux de communication (réseau Internet par exemple). Le problème abordé dans ce travail de thèse vise donc à proposer une architecture de sécurité et de sûreté pour l'ensemble des communications aéronautiques et permettant une interconnexion sécurisée entre le monde 'avion' et le monde extérieur, en tenant compte de l'ensemble des critères de sécurité qui caractérisent les divers environnements traversés et considère dès le départ les divers principes de standardisation associés afin de garantir la pérennité scientifique et industrielle. La solution architecturale proposée dans ce travail de thèse repose principalement sur un composant central de routage, de filtrage et de sécurisation des flux de données aéronautiques. Le travail de conception et de développement de ce composant appelé Routeur Sécurisé de Nouvelle Génération (routeur SNG) a permis une validation expérimentale sur un système reproduisant un système embarqué.
APA, Harvard, Vancouver, ISO, and other styles
41

Laouadi, Rabah. "Analyse du flot de contrôle multivariante : application à la détection de comportements des programmes." Thesis, Montpellier, 2016. http://www.theses.fr/2016MONTT255.

Full text
Abstract:
Sans exécuter une application, est-il possible de prévoir quelle est la méthode cible d’un site d’appel ? Est-il possible de savoir quels sont les types et les valeurs qu’une expression peut contenir ? Est-il possible de déterminer de manière exhaustive l’ensemble de comportements qu’une application peut effectuer ? Dans les trois cas, la réponse est oui, à condition d’accepter une certaine approximation. Il existe une classe d’algorithmes − peu connus à l’extérieur du cercle académique − qui analysent et simulent un programme pour calculer de manière conservatrice l’ensemble des informations qui peuvent être véhiculées dans une expression.Dans cette thèse, nous présentons ces algorithmes appelés CFAs (acronyme de Control Flow Analysis), plus précisément l’algorithme multivariant k-l-CFA. Nous combinons l’algorithme k-l-CFA avec l’analyse de taches (taint analysis),qui consiste à suivre une donnée sensible dans le flot de contrôle, afin de déterminer si elle atteint un puits (un flot sortant du programme). Cet algorithme, en combinaison avec l’interprétation abstraite pour les valeurs, a pour objectif de calculer de manière aussi exhaustive que possible l’ensemble des comportements d’une application. L’un des problèmes de cette approche est le nombre élevé de faux-positifs, qui impose un post-traitement humain. Il est donc essentiel de pouvoir augmenter la précision de l’analyse en augmentant k.k-l-CFA est notoirement connu comme étant très combinatoire, sa complexité étant exponentielle dans la valeur de k. La première contribution de cette thèse est de concevoir un modèle et une implémentation la plus efficace possible, en séparant soigneusement les parties statiques et dynamiques de l’analyse, pour permettre le passage à l’échelle. La seconde contribution de cette thèse est de proposer une nouvelle variante de CFA basée sur k-l-CFA, et appelée *-CFA, qui consiste à faire du paramètre k une propriété de chaque variante, de façon à ne l’augmenter que dans les contextes qui le justifient.Afin d’évaluer l’efficacité de notre implémentation de k-l-CFA, nous avons effectué une comparaison avec le framework Wala. Ensuite, nous validons l’analyse de taches et la détection de comportements avec le Benchmark DroidBench. Enfin, nous présentons les apports de l’algorithme *-CFA par rapport aux algorithmes standards de CFA dans le contexte d’analyse de taches et de détection de comportements
Without executing an application, is it possible to predict the target method of a call site? Is it possible to know the types and values that an expression can contain? Is it possible to determine exhaustively the set of behaviors that an application can perform? In all three cases, the answer is yes, as long as a certain approximation is accepted.There is a class of algorithms - little known outside of academia - that can simulate and analyze a program to compute conservatively all information that can be conveyed in an expression. In this thesis, we present these algorithms called CFAs (Control flow analysis), and more specifically the multivariant k-l-CFA algorithm.We combine k-l-CFA algorithm with taint analysis, which consists in following tainted sensitive data inthe control flow to determine if it reaches a sink (an outgoing flow of the program).This combination with the integration of abstract interpretation for the values, aims to identify asexhaustively as possible all behaviors performed by an application.The problem with this approach is the high number of false positives, which requiresa human post-processing treatment.It is therefore essential to increase the accuracy of the analysis by increasing k.k-l-CFA is notoriously known as having a high combinatorial complexity, which is exponential commensurately with the value of k.The first contribution of this thesis is to design a model and most efficient implementationpossible, carefully separating the static and dynamic parts of the analysis, to allow scalability.The second contribution of this thesis is to propose a new CFA variant based on k-l-CFA algorithm -called *-CFA - , which consists in keeping locally for each variant the parameter k, and increasing this parameter in the contexts which justifies it.To evaluate the effectiveness of our implementation of k-l-CFA, we make a comparison with the Wala framework.Then, we do the same with the DroidBench benchmark to validate out taint analysis and behavior detection. Finally , we present the contributions of *-CFA algorithm compared to standard CFA algorithms in the context of taint analysis and behavior detection
APA, Harvard, Vancouver, ISO, and other styles
42

Boichut, Stéphane. "Approximations pour la vérification automatique de protocoles de sécurité." Besançon, 2006. http://www.theses.fr/2006BESA2042.

Full text
Abstract:
Cette thèse s’inscrit dans le cadre de la vérification de systèmes critiques. Le problème de sécurité consiste à déterminer si un système est sûr ou non et également pourquoi il ne l’est pas. Ce problème est indécidable en général pour les protocoles de sécurité. En pratique et pour des classes particulières de protocoles, des procédures de semi-décision existent mais nécessitent souvent une certaine expertise. L’apport majeur de cette thèse consiste en l’automatisation d’une technique fondée sur des approximations en réécriture et à sa mise à disposition à partir de langages de haut niveau (HLPSL et PROUVE). En représentant la connaissance initiale de l’intrus et la configuration initiale du réseau par un langage d’automate d’arbres et en utilisant d’un côté un système de réécriture, spécifiant le protocole ainsi que le pouvoir d’action d’un intrus, et d’un autre côté une fonction d’approximation symbolique, une surestimation ou une sous-estimation de la connaissance réelle de l’intrus peut être calculée afin de respectivement démontrer qu’un protocole est sûr, ou qu’un protocole est non sûr, et ce pour un nombre non borné d’exécutions du protocole étudié et pour des propriétés de secret. Le tout est implanté dans l’outil automatique TA4SP. Pour préciser pourquoi un protocole est non sûr, une technique de reconstruction de traces dans un contexte d’approximations en réécriture a été élaborée. A l’aide d’une reconstruction ”en arrière” utilisant une nouvelle notion d’unification, un semi-algorithme construisant une trace de réécriture jusqu’à un terme de l’automate initial a été établi, ce qui permet d’exhiber des contre-exemples dans le domaine de la vérification
Secured communications are the foundations of on-line critical applications as e-commerce, e-voting, etc. Automatically verifying such secured communications, represented as security protocols, is of the first interest for industrials. By representing the secrecy verification problem as the reachability problem in rewriting, we propose to automate a method, initially dedicated to expert users, verifying secrecy properties on approximations of the intruder knowledge. The intruder knowledge is a set of terms computed from a given one (representing the initial intruder's knowledge) using a term rewriting system (specifying the intruder and the security protocol). By a semi-algorithm, we provide a diagnostic mentioning that a secrecy property is either violated thanks to the computation of an under-estimation of the intruder knowledge, or satisfied with the computation of an over-estimation. This semi-algorithm is implemented in the automatic TA4SP tool. This tool is integrated in the AVISPA tool (http://www. Avispa-project. Org), a tool-set dedicated to automatic verification of security protocols. We also proposed a technique to reconstruct proof trees of terms reachability in approximated context meaning that attack traces can be drawn as soon as a secrecy property is violated
APA, Harvard, Vancouver, ISO, and other styles
43

Montagut, Frédéric. "Processus collaboratifs ubiquitaires : architecture, fiabilité et sécurité." Paris, ENST, 2007. http://www.theses.fr/2007ENST0018.

Full text
Abstract:
La notion de workflow se définit par l'exécution automatisée d'un ensemble de tâches nécessaire à l'exécution d'une procédure d'entreprise. Durant l'exécution d'un workflow des données sont échangées entre les participants de cette collaboration. Un système de gestion workflow assure la gestion de son exécution. Comme toutes applications collaboratives, l'exécution de workflows doit satisfaire des contraintes rigoureuses en termes de sécurité informatique et de consistance transactionnelle. La majorité des systèmes de gestion de workflow implémente une infrastructure de coordination centralisée pour répondre à ces contraintes. Les performances des applications collaboratives sont cependant limitées par le système de coordination centralisé et ceci d'autant plus que les applications les plus récentes requièrent une flexibilité importante lors de leur exécution. Dans cette thèse de doctorat, nous présentons un système de gestion de workflow décentralisé afin d'apporter une solution à ce problème de flexibilité. La principale contribution de cette thèse est le design et l'implémentation d'un système de gestion de workflow distribué ainsi que des protocoles de coordination transactionnelle et de sécurité informatique pour répondre aux contraintes identifiées ci-dessus. L'architecture de gestion de workflow que nous avons développée permet d exécuter des workflows de manière distribuée entre acteurs qui peuvent partager leurs ressources par le biais d’un protocole de découverte. Cette infrastructure de gestion de workflow permet entre autre la sélection des acteurs qui exécuteront les tâches du workflow au moment même de son exécution sans assignation préalable
Electronic commerce applications have become the standard support for B2B and B2C collaborations. The concept of workflow has been the main enabler concept for such applications. Workflow technologies indeed make it possible to leverage the functionalities of multiple service providers to build value-added services. Typical workflows however rely on a centralized coordinator in charge of managing the workflow execution. New trends in collaborative business applications however call for more flexibility. As a result, the centralized coordination paradigm is no longer suitable to adequately support the execution of recent business applications. In this thesis we present a decentralized workflow management system to overcome this limitation. The main contribution of this thesis is the design and implementation of a full-fledged distributed workflow management system. The workflow architecture that we developed supports the execution of workflows in environments whereby resources offered by each business partner can be used by any party within the surroundings of that business partner. It also features the runtime assignment of business partners to workflow tasks to provide the adequate flexibility to support dynamic collaborations of business partners. This flexibility however comes at the expense of security and reliability and raises new research issues as opposed to usual workflow systems in terms of security and fault management. To cope with the latter, we first propose a transactional protocol to support the workflow execution. Besides, we introduce new security mechanisms to assure the integrity of the workflow execution and to prevent workflow instance forging
APA, Harvard, Vancouver, ISO, and other styles
44

Christofi, Maria. "Preuves de sécurité outillées d’implémentations cryptographiques." Versailles-St Quentin en Yvelines, 2013. http://www.theses.fr/2013VERS0029.

Full text
Abstract:
Dans cette thèse, nous nous sommes intéressés à la vérification formelle des implémentations cryptographiques. Dans la première partie, nous étudions la vérification du protocole mERA à l’aide d’outil ProVerif. Nous vérifions que ce protocole assure certaines propriétés de sécurité, notamment l’authentification, le secret et la non-reliabilité, ainsi que des propriétés comme la vivacité du protocole. Dans la deuxième partie de cette thèse, nous étudions la vérification formelle des implémentations cryptographiques vis-à-vis d’un certain type d’attaque: les attaques par injection de faute modifiant les données. Nous identifions et présentons les différents modèles de ce type d’attaque en tenant en compte plusieurs paramètres. Ensuite, nous modélisons des implémentations cryptographiques (munies de contremesures), nous injectons tous les scenarios de fautes possibles et finalement nous vérifions le code correspondant à l’aide d’outil Frama-C, basé sur l’analyse statique. Nous présentons une application de notre méthode : la vérification d’une implémentation RSA-CRT munie de la contremesure de Vigilant (CHES 2008). Après avoir exprimé les propriétés nécessaires pour la vérification, nous injectons tous les scenarios de fautes possibles (en tenant compte d’un modèle de faute choisi). Cette vérification révèle deux scenarios de fautes provoquant deux attaques susceptibles à fuir des informations secrètes. Afin de mécaniser la vérification, nous avons réussi à automatiser complètement l’insertion des fautes selon les différents modèles (en tenant en compte les attaques mono-fautes, ainsi que les multi-fautes). Ceci a donné naissance à un nouveau plug-in de Frama-C : TL_FACE
In this thesis, we are interested on the formal verification of cryptographic implementations. In the first part, we study the verification of the protocol mERA using the tool ProVerif. We prove that this protocol verifies some security properties, like the authentication, the secrecy and the unlinkability, but also properties like its vivacity. In the second part of this thesis, we study the formal verification of cryptographic implementations against an attack family: attacks with fault injection modifying data. We identify and present the different models of these attacks considering different parameters. We then model the cryptographic implementation (with its countermeasures), we inject all possible fault scenarios and finally we verify the corresponding code using the Frama-C tool, based on static analysis techniques. We present a use case of our method: the verification of an CRT-RSA implementation with Vigilant’s countermeasure. After expressing the necessary properties for the verification, we inject all fault scenarios (regarding the chosen fault model). This verification reveals two fault scenarios susceptible to flow secret information. In order to mechanize the verification, we insert fault scenarios automatically according to both single and multi fault attacks). This creates a new Frama-C plug-in: TL-FACE
APA, Harvard, Vancouver, ISO, and other styles
45

Theos, Constantin. "Modélisation du mouvement des personnes lors de l'évacuation d'un bâtiment à la suite d'un sinistre." Phd thesis, Marne-la-vallée, ENPC, 1994. http://www.theses.fr/1994ENPC9407.

Full text
Abstract:
Ce travail a porté sur l'élaboration d'un modèle et d'un logiciel de simulation du mouvement de personnes évacuant un bâtiment, lors d'un incendie ou bien à l'occurrence d'une autre situation dégradée justifiant l'évacuation ou la provoquant spontanément. Un algorithme original a été développé, applicable à de fortes densités de personnes dans un environnement complexe comprenant des obstacles au mouvement. Un maillage sert de trame pour représenter, outre les aires offertes au déplacement, les murs et autres obstacles, qu'ils soient matériels ou qu'ils représentent des régions dangereuses. Le logiciel développé simule le déplacement des occupants évoluant en coordonnées continues dans un environnement complexe et interagissant au niveau de la vitesse de leur déplacement ainsi que de la densité maximale d'occupation qu'il est possible d'atteindre. Ce modèle a pu être réalisé au moyen d'une application locale, au niveau du micro-environnement de chaque occupant, des lois de corrélation macroscopiques vitesse-densité identifiées par plusieurs auteurs. L'utilisation d'un post-processeur graphique mis au point lors de ce travail, a rendu possible la mise en évidence des phénomènes inhérents au mouvement de foule (accumulation, blocage, détente,)
APA, Harvard, Vancouver, ISO, and other styles
46

Hourtolle, Catherine. "Conception de logiciels sûrs de fonctionnement : analyse de la sécurité des logiciels : mécanismes de décision pour la programmation en n-versions." Toulouse, INPT, 1987. http://www.theses.fr/1987INPT059H.

Full text
Abstract:
Une etude d'analyse de securite permettant la recherche des fonctions et des modes de defaillance critiques du logiciel est presentee. Elle repose sur l'utilisation conjointe de trois techniques d'analyses: l'analyse des modes de defaillance et de leurs effets (amde), l'analyse par arbres des fautes et l'analyse par reseaux de petri. En ce qui concerne la tolerance aux fautes logicielles, la programmation en n-versions parait etre une approche prometteuse pour les logiciels temps reel. La mise en oeuvre du controleur d'un lociciel en n-versions, c'est a dire les mecanismes de recouvrement, de vote et de synchronisation
APA, Harvard, Vancouver, ISO, and other styles
47

Venelle, Benjamin. "Contrôle d'accès obligatoire pour systèmes à objets : défense en profondeur des objets Java." Thesis, Orléans, 2015. http://www.theses.fr/2015ORLE2023/document.

Full text
Abstract:
Les systèmes à objets sont présents partout dans notre quotidien. Ainsi, une vulnérabilité dans ces systèmes compromet amplement la confidentialité ou l'intégrité. Par exemple, Java est un système à objets basé sur les classes qui a été la cible de nombreuses cyber-attaques entre 2012 et 2013 au point que le département de la sécurité intérieure des Etats-Unis recommande son abandon. Dans cette thèse nous proposons de limiter les relations entre objets au moyen d’un contrôle d’accès obligatoire. Pour cela nous définissons un modèle général de système à objets supportant notamment les langages objets et à prototypes. Puis nous formalisons les relations élémentaires que nous pouvons observer et donc contrôler. Celles-ci sont la référence, l’interaction et trois types de flux (d’activité, d’information, de données). Nous proposons également une logique basée sur des automates qui permet de calculer les privilèges de chaque objet. Ainsi, nous calculons dynamiquement la politique obligatoire nécessaire pour satisfaire les objectifs de sécurité exigés. Par là même, nous résolvons d’un seul coup le calcul des politiques obligatoires et le problème d’efficacité puisque la politique obligatoire se trouve réduite. L’expérimentation propose une application aux objectifs de sécurité JAAS existants dans Java. De fait, nous avons été capables d’empêcher les malwares Java correspondant à une année de vulnérabilités au moyen de l’outil d’exploitation Metasploit
Objects based systems are presents everywhere in our life. When such a system presents vulnerabilities, confidentiality and integrity are thus widely compromised. For example, Java is an object language authorizing many cyber-attacks between 2012 and 2013 leading the US department of homeland security to recommend its abandon. This thesis proposes to limit the relations between the objects thanks to a mandatory access control. First, a general model of objects supporting objects and prototypes languages is defined. Second, the elementary relations are formalized in order to control them. Those relations include the reference, interaction and three types of flow (activity, information and data). Automata authorize a logic that enables to compute the required mandatory policy. At the same time, the computation of the MAC policy and the efficiency are solved since the policy is reduced. Experimentations use the JAAS security objectives existing in the Java language. Thus, one year of Java vulnerabilities is prevented thanks to the Metasploit framework
APA, Harvard, Vancouver, ISO, and other styles
48

Pellegrino, Giancarlo. "Détection d'anomalies logiques dans les logiciels d'entreprise multi-partis à travers des tests de sécurité." Thesis, Paris, ENST, 2013. http://www.theses.fr/2013ENST0064/document.

Full text
Abstract:
Les logiciels multi-partis sont des applications distribuées sur le web qui mettent en oeuvre des fonctions collaboratives. Ces applications sont les principales cibles des attaquants qui exploitent des vulnérabilités logicielles dans le cadre d'activités malveillantes. Récemment, un type moins connu de vulnérabilité, les anomalies logiques, a attiré l'attention des chercheurs. Sur la base d'informations tirées de la documentation des applications, il est possible d'appliquer deux techniques de test: la vérification du modèle, autrement appelé ``model checking'', et les tests de sécurité de type ``boîte noire''. Le champs d'application du model checking ne prend pas en suffisamment en compte les implémentations actuelles, tandis que les tests de type boîte noire ne sont pas assez sophistiqués pour découvrir les vulnérabilités logique. Dans cette thèse, nous présentons deux techniques d'analyse modernes visant à résoudre les inconvénients de l'état de l'art. Pour commencer, nous présentons la vérification de deux protocoles de sécurité utilisant la technique du model checking. Ensuite, nous nous concentrons sur l'extension du model checking pour soutenir les tests automatisés d'implémentations. La seconde technique consiste en une analyse boîte noire qui combine l'inférence du modèle, l'extraction du processus et du flot de donnée, ainsi qu'une génération de tests basés sur les modèles d'attaque d'une application. En conclusion, nous discutons de l'application de techniques développées au cours de cette thèse sur des applications issues d'un contexte industrielle
Multi-party business applications are distributed computer programs implementing collaborative business functions. These applications are one of the main target of attackers who exploit vulnerabilities in order to perform malicious activities. The most prevalent classes of vulnerabilities are the consequence of insufficient validation of the user-provided input. However, the less-known class of logic vulnerabilities recently attracted the attention of researcher. According to the availability of software documentation, two testing techniques can be used: design verification via model checking, and black-box security testing. However, the former offers no support to test real implementations and the latter lacks the sophistication to detect logic flaws. In this thesis, we present two novel security testing techniques to detect logic flaws in multi-party business applicatons that tackle the shortcomings of the existing techniques. First, we present the verification via model checking of two security protocols. We then address the challenge of extending the results of the model checker to automatically test protocol implementations. Second, we present a novel black-box security testing technique that combines model inference, extraction of workflow and data flow patterns, and an attack pattern-based test case generation algorithm. Finally, we discuss the application of the technique developed in this thesis in an industrial setting. We used these techniques to discover previously-unknown design errors in SAML SSO and OpenID protocols, and ten logic vulnerabilities in eCommerce applications allowing an attacker to pay less or shop for free
APA, Harvard, Vancouver, ISO, and other styles
49

Pellegrino, Giancarlo. "Détection d'anomalies logiques dans les logiciels d'entreprise multi-partis à travers des tests de sécurité." Electronic Thesis or Diss., Paris, ENST, 2013. http://www.theses.fr/2013ENST0064.

Full text
Abstract:
Les logiciels multi-partis sont des applications distribuées sur le web qui mettent en oeuvre des fonctions collaboratives. Ces applications sont les principales cibles des attaquants qui exploitent des vulnérabilités logicielles dans le cadre d'activités malveillantes. Récemment, un type moins connu de vulnérabilité, les anomalies logiques, a attiré l'attention des chercheurs. Sur la base d'informations tirées de la documentation des applications, il est possible d'appliquer deux techniques de test: la vérification du modèle, autrement appelé ``model checking'', et les tests de sécurité de type ``boîte noire''. Le champs d'application du model checking ne prend pas en suffisamment en compte les implémentations actuelles, tandis que les tests de type boîte noire ne sont pas assez sophistiqués pour découvrir les vulnérabilités logique. Dans cette thèse, nous présentons deux techniques d'analyse modernes visant à résoudre les inconvénients de l'état de l'art. Pour commencer, nous présentons la vérification de deux protocoles de sécurité utilisant la technique du model checking. Ensuite, nous nous concentrons sur l'extension du model checking pour soutenir les tests automatisés d'implémentations. La seconde technique consiste en une analyse boîte noire qui combine l'inférence du modèle, l'extraction du processus et du flot de donnée, ainsi qu'une génération de tests basés sur les modèles d'attaque d'une application. En conclusion, nous discutons de l'application de techniques développées au cours de cette thèse sur des applications issues d'un contexte industrielle
Multi-party business applications are distributed computer programs implementing collaborative business functions. These applications are one of the main target of attackers who exploit vulnerabilities in order to perform malicious activities. The most prevalent classes of vulnerabilities are the consequence of insufficient validation of the user-provided input. However, the less-known class of logic vulnerabilities recently attracted the attention of researcher. According to the availability of software documentation, two testing techniques can be used: design verification via model checking, and black-box security testing. However, the former offers no support to test real implementations and the latter lacks the sophistication to detect logic flaws. In this thesis, we present two novel security testing techniques to detect logic flaws in multi-party business applicatons that tackle the shortcomings of the existing techniques. First, we present the verification via model checking of two security protocols. We then address the challenge of extending the results of the model checker to automatically test protocol implementations. Second, we present a novel black-box security testing technique that combines model inference, extraction of workflow and data flow patterns, and an attack pattern-based test case generation algorithm. Finally, we discuss the application of the technique developed in this thesis in an industrial setting. We used these techniques to discover previously-unknown design errors in SAML SSO and OpenID protocols, and ten logic vulnerabilities in eCommerce applications allowing an attacker to pay less or shop for free
APA, Harvard, Vancouver, ISO, and other styles
50

Papoulias, Nikolaos. "Le Débogage à Distance et la Réflexion dans les Dispositifs à Ressources Limitées." Phd thesis, Université des Sciences et Technologie de Lille - Lille I, 2013. http://tel.archives-ouvertes.fr/tel-00932796.

Full text
Abstract:
La construction de logiciels pour des appareils qui ne peuvent pas accueillir localement des outils de développement peut être difficile. Ces appareils soit ont une puissance de calcul trop limitée pour exécuter un IDE (par exemple, smartphones), ou manquent d' interfaces d'entrée / sortie appropriées (écran, clavier , souris) pour la programmation (par exemple, les robots mobiles) ou sont tout simplement inaccessibles pour des développements locaux (par exemple cloud - serveurs). Dans ces situations, les développeurs ont besoin d'une infrastructure appropriée pour développer et déboguer des applications distantes. Des solutions de débogage à distance sont parfois délicates à utiliser en raison de leur nature distribuée. Les études empiriques nous montrent que, en moyenne 10,5 minutes par heure de codage (plus de cinq semaines de travail de 40 heures par an) sont passées pour le re-déploiement d'applications pour corriger les bugs ou améliorer leur fonctionnalité [ZeroTurnAround 2011]. En plus, les solutions courantes manquent des aménagements qui seraient autrement disponibles dans un contexte local, car c'est difficile de les reproduire à distance (par exemple débogage objet-centré [Ressia 2012b]). Cet état influe sur la quantité d' expérimentation au cours d'une session de débogage à distance - par rapport à un contexte local. Dans cette thèse, afin de surmonter ces problèmes, nous identifions d'abord quatre propriétés désirables qu'une solution idéale pour le débogage à distance doit présenter : l'interactivité, l'instrumentation, la distribution et la sécurité. L'interactivité est la capacité d'une solution de débogage à distance de mise à jour incrémentale de toutes les parties d'une application sans perdre le contexte de d'exécution (sans arrêter l'application). L'instrumentation est l'aptitude d'une solution de modifier la sémantique d'un processus en cours en vue d'aider le débogage. La distribution est la capacité d'une solution de débogage à adapter son cadre alors que le débogage d'une cible à distance. Enfin la sécurité fait référence à la disponibilité de conditions préalables pour l'authentification et la restriction d'accès. Compte tenu de ces propriétés, nous proposons Mercury, un modèle de débogage à distance et une architecture pour des langues réflexifs à objets. Mercury ouvre (1) l'interactivité grâce à un méta-niveau à distance miroir basé sur un lien de causalité avec sa cible, (2) l'instrumentation à travers une intercession réflective basée sur la réification de l'environnement d'exécution sous-jacent, (3) la distribution grâce à un middleware adaptable et (4) la sécurité par la décomposition et l'authentification de l'accès aux aspects réflexifs. Nous validons notre proposition à travers un prototype dans le langage de programmation Pharo à l'aide d'un cadre expérimental diversifié de multiples dispositifs contraints. Nous illustrons des techniques de débogage à distance supportées par les propriétés de Mercury, tels que le débogage agile distant et l'instrumentation objet à distance et montrons comment ils peuvent résoudre dans la pratique, les problèmes que nous avons identifiés.
APA, Harvard, Vancouver, ISO, and other styles
We offer discounts on all premium plans for authors whose works are included in thematic literature selections. Contact us to get a unique promo code!

To the bibliography