Spelling suggestions: "subject:"flow"" "subject:"flat""
111 |
Synthèse d'architectures de circuits FPGA tolérants aux défauts / Defect tolerant fpga architecture synthesisBlanchardon, Adrien 15 September 2015 (has links)
L'essor considérable de la technologie CMOS a permis l'accroissement de la densité d'intégration selon la loi de Moore. Cependant, la poursuite de cette évolution est en voie de ralentissement dû aux contraintes physiques et économiques. Le défi devient alors de pouvoir utiliser un maximum de circuits tout en tolérant des défauts physiques présents en leur sein. Les circuits reconfigurables de type FPGA (Field Programmable Gate Array) connaissent un succès croissant car leurs performances et leurs capacités d'intégrer des applications très complexes ont directement bénéficié de l'évolution technologique. Le but de cette thèse est de proposer une architecture de FPGA contenant des mécanismes permettant de tolérer plus de 20% d'éléments défectueux après fabrication. La première partie du manuscrit étudie les différentes architectures de FPGA (matricielles et arborescentes) ainsi que les différentes techniques de contournement des défauts. Dans la seconde partie de cette thèse, nous présentons l'architecture cible matricielle (matrice de grappes ou groupes). Cette architecture combine les avantages des architectures matricielles (sa généricité) et arborescentes (réduction du taux d'utilisation de l'interconnexion. La troisième partie de cette thèse présente le développement d'une méthode d'identification des blocs les plus critiques contenus dans le FPGA ainsi que l'impact des différentes techniques de contournement retenues et proposées sur l'architecture et sur la criticité des blocs de base du FPGA. Pour finir, nous définissons les performances des différentes techniques de contournements en termes de tolérance aux défauts, de performances temporelles et de surface. / The increasing integration density according to Moore’s law is being slowed due to economic and physical limits. However, this technological evolution involves an higher number of physical defects after manufacturing circuit. As yield goes down, one of the future challenges is to find a way to use a maximum of fabricated circuits while tolerating physical defects spread all over the chip. Fiel Programmable Gate Array (FPGA) are integrated circuits that contain logic blocks and reconfigurable interconnect. Their ability to integrate more complex applications, their flexibility and good performance make FPGAs the perfect target architecture. The aim of this thesis is to propose an FPGA architecture containing mechanisms to tolerate more than 20% of defective resources after manufacture. The first part of the manuscript studies the different FPGA architectures (mesh and tree) and different defects bypass techniques. In the second part of this thesis, we present the target architecture called Mesh of Clusters (MoC). This architecture combines the advantages of mesh architectures (genericity) and tree (reduction of the interconnect). The third contribution of this thesis is the development of a method to identify the most critical blocks in the FPGA and the impact of all bypass techniques on the architecture and on the criticality. Finally, we define the performance of all bypass techniques in terms of defect tolerance, timing and area overhead. Finally, thanks to these local redundancy techniques, we are able to tolerate more than 20% of defect on the FPGA architecture. In addition, the designer can fix his own metric in terms of area, timing and defect tolerance.
|
112 |
Cryptanalyse de chiffrements symétriques / Cryptanalysis of symmetric ciphersLallemand, Virginie 05 October 2016 (has links)
Les travaux réalisés dans cette thèse ont pour objet l'analyse de la sécurité de chiffrements à clef secrète. Plus précisément, nous y décrivons la cryptanalyse de plusieurs chiffrements par blocs et à flot ayant pour point commun d'avoir été conçus récemment pour répondre aux nouveaux enjeux de la cryptographie symétrique. Nous mettons en avant des attaques des versions complètes de cinq chiffrements, prouvant ainsi que ces primitives cryptographiques n'apportent pas la sécurité annoncée par leurs concepteurs.La première partie de cette thèse est dédiée à l'analyse de chiffrements par blocs avec des techniques de cryptanalyse différentielle. Nous montrons comment mener une attaque par différentielles tronquées sur la famille de chiffrements à bas coût KLEIN en exploitant la faible diffusions de sa fonction de tour. Ensuite, nous nous intéressons à Zorro et à Picaro, deux chiffrements conçus de sorte à être faciles à protéger contre les attaques par canaux auxiliaires, et montrons que les choix de conception guidés par cette contrainte ont engendré des faiblesses dans leurs propriétés différentielles, pouvant ensuite être exploitées dans des attaques.La seconde partie du manuscrit porte sur la cryptanalyse de chiffrements à flot. Nous y étudions Sprout et Flip, deux chiffrements aux structures innovantes visant respectivement à limiter la taille du circuit matériel nécessaire à l'implémentation et une bonne adaptation dans un schéma de FHE. / The main subject of this thesis is the security analysis of symmetric key ciphers. Specifically, we study several recently proposed block and stream ciphers and prove that the level of security stated by their designers is overestimated. The ciphers we study were all designed in order to meet the needs of one of the new applications of symmetric cryptography, which include symmetric ciphers for very constrained environments.The first part of the thesis is dedicated to the analysis of block ciphers with techniques based on differential cryptanalysis. We start with the description of a truncated differential attack on the family of lightweight ciphers KLEIN. Next, we analyse two ciphers that were designed in such a way that they could be easily and effectively protected against side-channel attacks: Zorro and Picaro. We show that the design choices made by their designers lead to weak diffusion properties. We exploit these imperfections to devise a differential cryptanalysis of Zorro and a related key attack on Picaro.The second part of this thesis deals with stream ciphers and gives an analysis of two innovative designs: Sprout and Flip. Sprout was designed in order to limit its hardware area size and to suit very constrained environments, while Flip reaches efficient performances when used in FHE schemes. In both cases, we find flaws that lead to attacks of the particular set of parameters proposed for these ciphers.
|
113 |
Renormalization of SU(2) Yang-Mills theory with flow equations / Renormalisation de la théorie de Yang-Mills SU(2) avec les équations du flot du groupe de renormalisationEfremov, Alexander 27 September 2017 (has links)
L'objectif de ce travail est une construction perturbative rigoureuse de la théorie de la Yang-Mills SU(2) dans l'espace euclidien à quatre dimensions. La technique d'intégration fonctionnelle donne une basemathématique pour établir les équations de flot différentielles du groupe de renormalisation pour l'action efficace. Si l'introduction de régulateurs dans l'espace de moments permet de donner une définition mathématique des fonctions de Schwinger, la difficulté importante de l'approche est le fait que cesrégulateurs brisent l'invariance de jauge. Ainsi, le travail principal est alors de prouver à tous les ordres en perturbation l'existence de ces fonctions de correlation et la validité des identités de Slavnov-Taylor pour la théorie renormalisée. / The goal of this work is a rigorous perturbative construction of the SU(2) Yang-Mills theory in four dimensional Euclidean space. The functional integration technique gives a mathematical basis for establishing the differential Flow Equations of the renormalization group for the effective action. While the introduction of momentum space regulators permits to give a mathematical definition of the Schwinger functions, the important difficulty of the approach is the fact that these regulators break gauge invariance. Thus the main part of the work is to prove at all loop orders the existence of the vertex functions and the restoration of the Slavnov-Taylor identities in the renormalised theory.
|
114 |
Kähler and almost-Kähler geometric flows / Flots géométriques kähleriens et presque-kähleriensPook, Julian 21 March 2014 (has links)
Les objects d'étude principaux de la thèse "Flots géométriques kähleriens et presque-kähleriens" sont des généralisations du flot de Calabi et du flot hermitienne de Yang--Mills. <p> Le flot de Calabi $partial_t omega = -i delbar del S(omega) =- i delbar del Lambda_omega <p> ho(omega) $ tente de déformer une forme initiale kählerienne vers une forme kählerienne $omega_c$ de courbure scalaire constante caractérisée par $S(omega_c) = Lambda_{omega_c} <p> ho(omega_c) = underline{S}$ dans la même classe de cohomologie. La généralisation étudiée est le flot de Calabi twisté qui remplace la forme de Kähler--Ricci $ho$ par $ho + alpha(t)$, où le emph{twist} $alpha(t)$ est une famille de $2$-formes qui converge vers $alpha_infty$. Le but de ce flot est de trouver des métriques kähleriennes $omega_{tc}$ de courbure scalaire twistées constantes caractérisées par $Lambda_{omega_{tc}} (ho(omega_{tc}) +alpha_infty) = underline{S} + underline{alpha}_infty$. L'existence et la convergence de ce flot sont établies sur des surfaces de Riemann à condition que le twist soit défini négatif et reste dans une classe de cohomologie fixe. <p>Si $E$ est un fibré véctoriel holomorphe sur une varieté kählerienne $(X,omega)$, une métrique de Hermite--Einstein $h_{he}$ est caractérisée par la condition $Lambda_omega i F_{he} = lambda id_E$. Le flot hermitien de Yang--Mills donné par $h^{-1}partial_t h =- [Lambda_omega iF_{h} - lambda id_E]$ tente de déformer une métrique hermitienne initiale vers une métrique Hermite--Einstein. La version classique du flot fixe la forme kählerienne $omega$. Le cas où $omega$ varie dans sa classe de cohomologie et converge vers $omega_infty$ est considéré dans la thèse. Il est démontré que le flot existe pour tout $t$ sur des surfaces de Riemann et converge vers une métrique Hermite--Einstein (par rapport à $omega_infty$) si le fibré $E$ est stable. <p> Les généralisations du flot de Calabi et du flot hermitien de Yang--Mills ne sont pas arbitraires, mais apparaissent naturellement comme une approximation du flot de Calabi sur des fibrés adiabatiques. Si $Z,X$ sont des variétés complexes compactes, $pi colon Z \ / Doctorat en Sciences / info:eu-repo/semantics/nonPublished
|
115 |
Méthode et outils de génération de code pour les plateformes multi-cœurs fondés sur la représentation de haut niveau des applications et des architecturesEl Mrabti, Amin 08 December 2010 (has links) (PDF)
La complexité des systèmes sur puce s'accentue pour supporter les nouvelles applications dans le domaine des télécommunications et du multimédia. La tendance actuelle des nouvelles architectures matérielles converge vers des plateformes multi-cœurs à plusieurs unités de calcul (processeurs, DSP, IP) interconnectées par un réseau sur puce qui peut être configurable au niveau de ses interfaces réseau. Pour ce genre d'architectures, les environnements de génération de code classiques ne sont plus adaptés. Cette thèse propose un flot de génération de code de configuration pour le déploiement des applications de type flots de données sur les architectures à base d'IPs interconnectés à travers un réseau sur puce configurable. Le flot commence par un modèle de haut niveau de l'application et de l'architecture et propose une méthodologie de partitionnement des ressources. Le processus de génération de code passe par plusieurs étapes modélisées par diverses représentations intermédiaires du système. Le flot a été développé par la suite dans un environnement basé sur le standard IEEE 1685 (IP-XACT). Le flot proposé a été appliqué pour la génération et la validation du code de configuration en vue de déployer une application 3GPP-LTE de télécommunication sur la plateforme Magali. Le flot a ensuite été généralisé pour supporter, en plus de la génération du code de configuration, la génération du code logiciel exécutable par les processeurs.
|
116 |
Estimation et lois de variation du coefficient de transfert de chaleur surface/ liquide en ébullition pour un liquide alimentaire dans un évaporateur à flot tombantAli-Adib, Tarif 08 February 2008 (has links) (PDF)
Le coefficient de transfert de chaleur est nécessaire pour concevoir et dimensionner un évaporateur utilisé pour concentrer un liquide, tel que rencontré couramment dans les industries alimentaires. Le coefficient de transfert de chaleur le plus variable et le plus incertain est du coté produit, entre paroi et liquide, noté « h ». Il varie à la fois avec les propriétés thermo-physiques du liquide traité (ηL, σL, λL, ρL , CpL, ω, ...) et avec les paramètres du procédé (type d'évaporateur, φ ou Δθ, Γ (δ), P, rugosité de la surface, encrassement, etc), ces grandeurs étant définies dans le texte. Mais h est aussi lié au régime d'ébullition (nucléée ou non nucléée), et pour les évaporateurs de type « flot tombant », au régime d'écoulement laminaire ou turbulent, selon le nombre de Reynolds en film Ref. Nous avons étudié le cas des évaporateurs « à flot tombant », très utilisés dans les industries alimentaires pour concentrer le lait et les produits laitiers, les jus sucrés, les jus de fruits et légumes. L'objectif de notre travail était de définir une méthode fiable et économique pour évaluer a priori le coefficient de transfert de chaleur h coté liquide en ébullition, dans un évaporateur flot tombant. La première partie de la thèse a été consacrée à l'analyse bibliographique, qui a révélé une grande incertitude actuelle dans la prévision de h, sur la base des formules de la littérature, et des paramètres descripteurs proposés. La deuxième partie de la thèse a été de concevoir et construire un pilote utilisable pour estimer h, dans des conditions stationnaires connues et reproductibles. Dans la troisième partie, on présente les résultats et commente les lois de variations de h en fonction de la concentration de matière sèche du liquide XMS, de la température d'ébullition de liquide θL (ou P), du flux de chaleur φ ou (Δθ), et du débit massique de liquide par unité de périmètre de tube Γ, pour des propriétés de surface de chauffe fixées (ici, paroi en acier inoxydable poli Rs ≈ 0,8 μm). On commente l'effet sur h de chaque variable isolément, les autres étant maintenues constantes, ce qui confirme l'importance de la transition du régime non-nucléé au régime nucléé, cette transition variant avec la nature du liquide, sa concentration, et le flux de chaleur. On a montré la possibilité de modéliser un produit donné dans l'ensemble du domaine expérimental, où tous les paramètres peuvent varier simultanément, avec peu de coefficients, selon deux types d'équations (polynomiale et puissance). On a comparé le cas d'un liquide Newtonien (jus sucré) et non-Newtonien (solution de CMC dans l'eau). On a aussi observé le débit de mouillage critique Γcri et ses lois de variation. On a aussi démontré la possibilité de simplifier le plan d'expérience, aussi bien pour les liquides Newtoniens que non-Newtoniens, tout en gardant un coefficient de corrélation satisfaisant dans le domaine Γ > Γcri, cette modélisation pouvant servir de base de données produit pour l'ingénierie.
|
117 |
Surveillance comportementale de systèmes et logiciels embarqués par signature disjointe / Behavioral monitoring for embedded systems and software by disjoint signature analysisBergaoui, Selma 06 June 2013 (has links)
Les systèmes critiques, parmi lesquels les systèmes embarqués construits autour d'un microprocesseur mono-cœur exécutant un logiciel d'application, ne sont pas à l'abri d'interférences naturelles ou malveillantes qui peuvent provoquer des fautes transitoires. Cette thèse porte sur des protections qui peuvent être implantées pour détecter les effets de telles fautes transitoires sans faire d'hypothèses sur la multiplicité des erreurs générées. De plus, ces erreurs peuvent être soit des erreurs de flot de contrôle soit des erreurs sur les données. Une nouvelle méthode de vérification de flot de contrôle est tout d'abord proposée. Elle permet de vérifier, sans modifier le système initial, que les instructions du programme d'application sont lues sans erreur et dans le bon ordre. Les erreurs sur les données sont également prises en compte par une extension de la vérification de flot de contrôle. La méthode proposée offre un bon compromis entre les différents surcoûts, le temps de latence de détection et la couverture des erreurs. Les surcoûts peuvent aussi être ajustés aux besoins de l'application. La méthode est mise en œuvre sur un prototype, construit autour d'un microprocesseur Sparc v8. Les fonctions d'analyse de criticité développées dans le cadre de la méthodologie proposée sont également utilisées pour évaluer l'impact des options de compilation sur la robustesse intrinsèque du logiciel d'application. / Critical systems, including embedded systems built around a single core microprocessor running a software application, can be the target of natural or malicious interferences that may cause transient faults. This work focuses on protections that can be implemented to detect the effects of such transient faults without any assumption about the multiplicity of generated errors. In addition, those errors can be either control flow errors or data errors. A new control flow checking method is first proposed. It monitors, without modifying the original system, that the instructions of the microprocessor application program are read without error and in the proper order. Data errors are also taken into account by an extension of the control flow checking. The proposed method offers a good compromise between overheads, latency detection and errors coverage. Trade-offs can also be tuned according to the application constraints. The methodology is demonstrated on a prototype built around a Sparc v8 microprocessor. Criticality evaluation functions developed in the frame of the proposed methodology are also used to evaluate the impact of compilation options on the intrinsic robustness of the application software.
|
118 |
Reverse engineering of heavy-ion collisions : unraveling initial conditions from anisotropic flow data / Rétro-ingénierie des collisions d'ions lourds : contraindre l’état initial à partir des données de flot anisotropeRetinskaya, Ekaterina 10 June 2014 (has links)
La physique des collisions d'ions lourds réunit deux domaines : la physique nucléaire et la physique des particules. Les progrès expérimentaux de ces dernières années donne l'opportunité d'étudier la nouvelle matière créée dans les collisions d'ions lourds qui s'appelle le plasma de quarks et de gluons.L'état initial de deux ions qui se collisionnent est affecté par les fluctuations créées par les fonctions d'ondes des nucléons. Ces fluctuations provoquent l'anisotropie de moments de la matière hadronique observée par les détecteurs. Le système créé dans une collision se comporte comme un fluide, donc l'état initial est connecté avec l'état final par l'évolution hydrodynamique. L’hydrodynamique relativiste est utilisée pour décrire l'évolution du fluide créé dans les collisions d'ions lourds. Nos résultats combinés avec les données expérimentales permettent de contraindre l'etat initial donc de faire la «rétro-ingénierie» des collisions d'ions lourds.L'observable qui caractérise l'anisotropie des moments est le flot anisotrope v_n. On présente les premières mesures du premier coefficient de la distribution de Fourier v_1 pour l'accélérateur LHC. v_1 s'appelle le flot dirigé. On effectue aussi les premiers calculs de v_1 à partir de l’hydrodynamique visqueuse. On trouve que v_1 est moins dépendent de la viscosité que les coefficients v_2 et v_3 qui sont respectivement les flots elliptique et triangulaire. On présente aussi les prédictions de v_1 pour l'accélérateur RHIC. Ces résultats ont été confirmés plus tard par les mesures de v_1 par RHIC. On propose aussi deux méthodes pour contraindre les modèles d’état initial: avec les données de v_1 et les données de v_2 et v_3. Ces méthodes donnent l'unique possibilité de contraindre les modèles Monte Carlo d'état initial. A la fin de cette thèse on montre les perspectives de ce domaine et on étudie les corrélations entre les plans des évènements qui ont été mesurées récemment et qui pourraient faire la lumière sur les fluctuations de l'état initial. / Ultra-Relativistic heavy-ion physics is a promising field of high energy physics connecting two fields: nuclear physics and elementary particle physics. Experimental achievements of the last years have provided an opportunity to study the properties of a new state of matter created in heavy-ion collisions called quark-gluon plasma. The initial state of two colliding nuclei is affected by fluctuations coming from wave- functions of nucleons. These fluctuations lead to the momentum anisotropy of the hadronic matter which is observed by the detectors. The system created in the collision behaves like a fluid, so the initial state is connected to the final state via hydrodynamic evolution. In this thesis we model the evolution with relativistic viscous hydrodynamics. Our results, combined with experimental data, give non trivial constraints on the initial state, thus achieving "reverse engineering" of the heavy-ion collisions. The observable which characterizes the momentum anisotropy is the anisotropic flow vn. We present the first measurements of the first harmonic of the anisotropic flow called directed flow v1 in Pb-Pb collisions at the LHC. We then perform the first viscous hydrodynamic modeling of directed flow and show that it is less sensitive to viscosity than higher harmonics. Comparison of these experimental data with the modeling allows to extract the values of the dipole asymmetry of the initial state, which provides constraints on the models of initial states. A prediction for directed flow v1 in Au-Au collisions is also made for RHIC. We then perform a similar modeling of the second and third harmonics of the anisotropic flow, called respectively elliptic v2 and triangular v3 flow. A combined analysis of the elliptic and triangular flow data compared with viscous hydrodynamic calculations allows us to put constraints on initial ellipticity and triangularity of the system. These constraints are then used as a filter for different models of initial state. At the end of this thesis, we show perspectives in the studies of the initial state which are opened by recent measurements of event-plane correlations which could shed light on the initial state fluctuations.
|
119 |
New formulation of optical flow for turbulence estimationChen, Xu 08 October 2015 (has links)
Le flot optique est un outil, prometteur et puissant, pour estimer le mouvement des objets de différentes natures, solides ou fluides. Il permet d’extraire les champs de vitesse à partir d’une séquence d’images. Dans cette étude, nous développons la méthode du flot optique pour récupérer, d’une manière précise, le champ de vitesse des mouvements turbulents incompressibles. L’estimation de turbulence consiste à minimiser une fonction d’énergie composée par un terme d’observation et un terme de régularisation. L’équation de transport d’un scalaire passif est alors employée pour représenter le terme d’observation. Cependant, dans le cas où le nombre de Reynolds est grand, et, à cause des contraintes optiques, l’image n’est pas pleinement résolue pour prendre en compte la physique de toutes les échelles de la turbulence. Pour compléter les informations manquantes liées aux physiques des petites échelles, nous adoptons une démarche similaire à celle de Large Eddy Simulation (LES), et, proposons d’utiliser le modèle mixte afin de tenir compte de l’interaction entre les grandes échelles et celles non-résolues. Quant au terme de régularisation, il se repose sur l’équation de continuité des fluides incompressibles. Les tests à l’aide des images synthétiques et expérimentales de la turbulence bi-dimensionnelle - des données des cas test de la communauté du flot optique -, ont non seulement validé notre démarche, mais montrent une amélioration significative des qualités des champs de vitesses extraites. Le cas du flot optique, en 3D, relève encore du défi dans le cas de l’estimation des champs de vitesse de la turbulence. D’une part, contrairement au 2D où il existe des cas tests bien établis, il n’existe pas, à notre connaissance, des séquences d’images 3D référentielles permettant de tester notre démarche et méthode. D’autre part, l’augmentation du coût d’estimation demande des algorithme adaptés. Ainsi, nous sommes amené à utiliser la simulation numérique directe d’écoulement turbulent en présence d’un scalaire passif, pour générer des données de scalaires afin d’évaluer la performance du flot optique. Nous prêtons également attention à l’effet du nombre de Schmidt qui caractérise la relation entre la diffusion moléculaire scalaire et la dissipation de turbulence. Les tests sont ensuite effectués avec cette base de données numériques. Les résultats montrent que la précision de l’estimation augmente avec des nombres de Schmidt plus élevés. Par ailleurs, l’influence du terme de régularisation est aussi étudié au travers deux équations qui se différencient par l’ordre spatial des dérivées partielles. Les résultats numériques montrent que l’équation avec un terme de régularisation de seconde-ordre est meilleure que celle de premier-ordre. / The method of optical flow is a powerful tool for motion estimation. It is able to extract the dense velocity field from image sequence. In this study, we employ this method to retrieve precisely the incompressible turbulent motions. For 2D turbulence estimation, it consists in minimizing an objective function constituted by an observation term and a regularization one. The observation term is based on the transport equation of a passive scalar field. For non-fully resolved scalar images, we propose to use the mixed model in large eddy simulation (LES) to determine the interaction between large-scale motions and the unresolved ones. The regularization term is based on the continuity equation of 2D incompressible flows. Evaluation of the proposed formulation is done over synthetic and experimental images. In addition, we extend optical flow to three dimensional and multiple scalar databases are generated with direct numerical simulation (DNS) in order to evaluate the performance of optical flow in the 3D context. We propose two formulations differing by the order of the regularizer. Numerical results show that the formulation with second-order regularizer outperforms its first-order counterpart. We also draw special attention to the effect of Schmidt number, which characterizes the ratio between the molecular diffusion of the scalar and the dissipation of the turbulence. Results show that the precision of the estimation increases as the Schmidt number increases. Overall, optical flow has showcased its capability of reconstructing the turbulent flow with excellent accuracy. This method has all the potential and attributes to become an effective flow measurement approach in fluid mechanics community.
|
120 |
Highlight and execute suspicious paths in Android malware / Mettre en avant et exécuter les chemins suspicieux dans les malwares AndroidLeslous, Mourad 18 December 2018 (has links)
Les smartphones sont devenus omniprésents dans notre vie quotidienne à cause des options qu'ils proposent. Aujourd'hui, Android est installé sur plus de 80% des smartphones. Les applications mobiles recueillent une grande quantité d'informations sur l'utilisateur. Par conséquent, Android est devenu une cible préférée des cybercriminels. Comprendre le fonctionnement des malwares et comment les détecter est devenu un défi de recherche important. Les malwares Android tentent souvent d'échapper à l'analyse statique en utilisant des techniques telles que l'obfuscation et le chargement dynamique du code. Des approches d'analyse ont été proposées pour exécuter l'application et surveiller son comportement. Néanmoins, les développeurs des malwares utilisent des bombes temporelles et logiques pour empêcher le code malveillant d'être exécuté sauf dans certaines circonstances. Par conséquent, plus d'actions sont requises pour déclencher et surveiller leurs comportements. Des approches récentes tentent de caractériser automatiquement le comportement malveillant en identifiant les endroits du code les plus suspicieux et en forçant leur exécution. Elles se basent sur le calcul des graphes de flot de contrôle (CFG) qui sont incomplets, car ils ne prennent pas en considération tous les types de chemins d'exécution. Ces approches analysent seulement le code d'application et ratent les chemins d'exécution générés quand l'application appelle une méthode du framework, qui appelle à son tour une autre méthode applicative. Nous proposons GPFinder, un outil qui extrait automatiquement les chemins d'exécution qui mènent vers les endroits suspicieux du code, en calculant des CFG qui incluent les appels interprocéduraux explicites et implicites. Il fournit aussi des informations clés sur l'application analysée afin de comprendre comment le code suspicieux a été injecté dans l'application. Pour valider notre approche, nous utilisons GPFinder pour étudier une collection de 14224 malwares Android. Nous évaluons que 72,69% des échantillons ont au moins un endroit suspicieux du code qui n'est atteignable qu'à travers des appels implicites. Les approches de déclenchement actuelles utilisent principalement deux stratégies pour exécuter une partie du code applicatif. La première stratégie consiste à modifier l'application excessivement pour lancer le code ciblé sans faire attention à son contexte originel. La seconde stratégie consiste à générer des entrées pour forcer le flot de contrôle à prendre le chemin désiré sans modifier le code d'application. Cependant, il est parfois difficile de lancer un endroit spécifique du code seulement en manipulant les entrées. Par exemple, quand l'application fait un hachage des données fournies en entrée et compare le résultat avec une chaîne de caractères fixe pour décider quelle branche elle doit prendre. Clairement, le programme de manipulation d'entrée devrait inverser la fonction de hachage, ce qui est presque impossible. Nous proposons TriggerDroid, un outil qui a deux buts : forcer l'exécution du code suspicieux et garder le contexte originel de l'application. Il fournit les événements framework requis pour lancer le bon composant et satisfait les conditions nécessaires pour prendre le chemin d'exécution désiré. Pour valider notre approche, nous avons fait une expérience sur 135 malwares Android de 71 familles différentes. Les résultats montrent que notre approche nécessite plus de raffinement et d'adaptation pour traiter les cas spéciaux dus à la grande diversité des échantillons analysés. Finalement, nous fournissons un retour sur les expériences que nous avons conduites sur différentes collections, et nous expliquons notre processus expérimental. Nous présentons le dataset Kharon, une collection de malwares Android bien documentés qui peuvent être utilisés pour comprendre le panorama des malwares Android. / The last years have known an unprecedented growth in the use of mobile devices especially smartphones. They became omnipresent in our daily life because of the features they offer. They allow the user to install third-party apps to achieve numerous tasks. Smartphones are mostly governed by the Android operating system. It is today installed on more than 80% of the smartphones. Mobile apps collect a huge amount of data such as email addresses, contact list, geolocation, photos and bank account credentials. Consequently, Android has become a favorable target for cyber criminals. Thus, understanding the issue, i.e., how Android malware operates and how to detect it, became an important research challenge. Android malware frequently tries to bypass static analysis using multiple techniques such as code obfuscation and dynamic code loading. To overcome these limitations, many analysis techniques have been proposed to execute the app and monitor its behavior at runtime. Nevertheless, malware developers use time and logic bombs to prevent the malicious code from executing except under certain circumstances. Therefore, more actions are needed to trigger it and monitor its behavior. Recent approaches try to automatically characterize the malicious behavior by identifying the most suspicious locations in the code and forcing them to execute. They strongly rely on the computation of application global control flow graphs (CFGs). However, these CFGs are incomplete because they do not take into consideration all types of execution paths. These approaches solely analyze the application code and miss the execution paths that occur when the application calls a framework method that in turn calls another application method. We propose in this dissertation a tool, GPFinder, that automatically exhibits execution paths towards suspicious locations in the code by computing global CFGs that include edges representing explicit and implicit interprocedural calls. It also gives key information about the analyzed application in order to understand how the suspicious code was injected into the application. To validate our approach, we use GPFinder to study a collection of 14,224 malware samples, and we evaluate that 72.69% of the samples have at least one suspicious code location which is only reachable through implicit calls. Triggering approaches mainly use one of the following strategies to run a specific portion of the application's code: the first approach heavily modifies the app to launch the targeted code without keeping the original behavioral context. The second approach generates the input to force the execution flow to take the desired path without modifying the app's code. However, it is sometimes hard to launch a specific code location just by fuzzing the input. For instance, when the application performs a hash on the input data and compares the result to a fixed string to decide which branch of the condition to take, the fuzzing program should reverse the hashing function, which is obviously a hard problem. We propose in this dissertation a tool, TriggerDroid, that has a twofold goal: force the execution of the suspicious code and keep its context close to the original one. It crafts the required framework events to launch the right app component and satisfies the necessary triggering conditions to take the desired execution path. To validate our approach, we led an experiment on a dataset of 135 malware samples from 71 different families. Results show that our approach needs more refinement and adaptation to handle special cases due to the highly diverse malware dataset that we analyzed. Finally, we give a feedback on the experiments we led on different malware datasets, and we explain our experimental process. Finally, we present the Kharon dataset, a collection of well documented Android malware that can be used to understand the malware landscape.
|
Page generated in 0.0689 seconds