Browsing by Author "Hamadouche, Samiya"
Now showing 1 - 3 of 3
- Results Per Page
- Sort Options
Item Construction de code malveillant activable par attaque en faute pour support d'exécution sécurisé et contre-mesure associée(2019) Hamadouche, SamiyaLes éléments sécurisés ont gagné une grande place dans notre vie quotidienne. Ils existent sous plusieurs formes. La carte à puce est l’élément le plus représentatif de la famille des éléments sécurisés. Elle est considérée comme étant un support d’exécution d’applications et de stockage d’informations très sécurisé. Vu la nature des informations qu’elles détiennent, les cartes à puce sont devenues la cible des personnes malintentionnées qui veulent s’approprier des informations sensibles qui y sont stockées voir même prendre le contrôle du système. La sécurité d’une carte à puce peut être contournée par des attaques matérielles, logicielles ou combinées. C’est dans cette dernière catégorie que s’inscrit notre travail. Notre objectif dans cette thèse est de développer un nouveau vecteur d’attaque. En effet, c’est en maîtrisant les détails permettant de contourner la sécurité de la carte que nous pourrions par la suite trouver les contre-mesures permettant de s’en prémunir : « La meilleure défense c’est l’attaque ». La plateforme Java Card étant la plus utilisée, elle est retenue comme notre plateforme cible. Le but est de trouver une méthodologie de construction de codes malveillants activables par attaque en faute. L’idée est de cacher ce code malveillant dans un autre code sain (par construction) afin qu’il puisse être chargé dans la carte sans qu’il ne soit détecté par les mécanismes de sécurité embarqués ou une analyse du code. Une fois sur la carte, le comportement hostile est activé moyennant une injection de faute. Pour aboutir à notre objectif, nous avons proposé deux approches complémentaires répondant chacune à un problème particulier. La première est une approche de construction de séquence de code, reliant deux états mémoire donnés, par parcours d’arbre. Elle repose sur des fondements théoriques liés au domaine des CSPs (Constraint Satisfaction Problem). La seconde approche traite le mécanisme de désynchronisation de code qui permet la dissimulation d’un code donné en opérant des transformations dessus. La mise en œuvre des deux approches a donné lieu à deux outils pouvant générer des solutions de façon automatique. Des exemples d’application et une étude de cas ont permis de présenter des exploitations possibles des approches proposées afin de réaliser des opérations mettant en danger la sécurité d’une carte à puceItem Étude de la sécurité d’un vérifieur de byte code et génération de tests de vulnérabilité(2012) Hamadouche, SamiyaLes cartes à puce sont considérées comme étant des supports d’exécution d’applications et de stockage d’informations très sécurisés. Donc, elles doivent faire face aux accès malveillants en assurant leur propre sécurité par l’implémentation de plusieurs mécanismes de défense. En effet, la sécurité de Java Card repose sur le bon fonctionnement d’un ensemble de composants dédiés et qui opèrent de façon complémentaire. Mais vue la complexité de tels composants, leur éveloppement s’avère très délicat. Il devient alors primordial de s’assurer qu’ils sont bien implémentés car toute erreur à ce niveau peut être exploitée pour mener une attaque et éventuellement conduire à une défaillance du système ou encore révéler des données sensibles de la carte. Cependant, garantir la conformité d’un système n’est pas toujours suffisante et il devient donc nécessaire de détecter ses vulnérabilités en vue d’améliorer le niveau de sécurité. Dans ce présent travail, on s’est intéressé à un composant crucial pour la sécurité de la plateforme Java Card : le vérifieur de byte code. Nous avons proposé une approche d’analyse de vulnérabilité de ce composant dans le but de découvrir d’éventuelles failles de sécurité dans différentes implémentations de ce dernier. Cette approche se base sur un modèle formel B, construit à partir de la spécification du vérifieur, pour la génération de suites de test de sécurité qui seront soumises au vérifieur de byte code pour analyser sa réaction. Cette génération de données de test s’appuie sur la négation et la résolution de contraintesItem Hiding a fault enabled virus through code construction(2020) Hamadouche, Samiya; Lanet, Jean-Louis; Mezghiche, MohamedSmart cards are very secure devices designed to execute applica-tions and store confidential data. Therefore, they become the target of manyhardware and software attacks that aim to bypass their embedded securitymechanisms in order to gain access to the sensitive stored data. Recently, anew kind of attacks called combined attacks has appeared. They aim to induceperturbations in the application’s execution environment. Thus, correct andlegitimate application can be dynamically modified to become a hostile one af-ter being loaded in the card using a fault injection. In this paper, we treat theproblem from another angle: how to design an innocent looking code in sucha way that it becomes intentionally hostile after being activated by a fault in-jection? We present an original approach of backward code construction basedon constraints satisfaction and a tree traversal algorithm. After that, we pro-pose a way to optimize the search process by introducing heuristics for a fasterconvergence towards more realistic solutions.We implement this approach inaTrace Generatortool; thereafter evaluate its capacity to generate the re-quired solutions while giving a proof-of-concept of the code desynchronizationtechnique
