Injection de codevignette|Qu'est-ce que l'injection de code ? (anglais) Une injection de code est un type d'exploitation d'une faille de sécurité d'une application, non prévue par le système et pouvant compromettre sa sécurité, en modifiant son exécution. Certaines injections de code ont pour but d'obtenir une élévation des privilèges, ou d'installer un logiciel malveillant. Il s'agit aussi du mode de propagation des vers informatiques. Injection de code dans les applications web Injection SQL Catégorie:Exploit (informatiqu
Application securityApplication security (short AppSec) includes all tasks that introduce a secure software development life cycle to development teams. Its final goal is to improve security practices and, through that, to find, fix and preferably prevent security issues within applications. It encompasses the whole application life cycle from requirements analysis, design, implementation, verification as well as maintenance. Different approaches will find different subsets of the security vulnerabilities lurking in an application and are most effective at different times in the software lifecycle.
Injection SQLLa faille SQLi, abréviation de SQL Injection, soit injection SQL en français, est un groupe de méthodes d'exploitation de faille de sécurité d'une application interagissant avec une base de données. Elle permet d'injecter dans la requête SQL en cours un morceau de requête non prévu par le système et pouvant en compromettre la sécurité. Il existe plusieurs types d'injection SQL : la méthode blind based (associée à sa cousine la time based), qui permet de détourner la requête SQL en cours sur le système et d'injecter des morceaux qui vont retourner caractère par caractère ce que l'attaquant cherche à extraire de la base de données.
Vulnérabilité (informatique)Dans le domaine de la sécurité informatique, une vulnérabilité ou faille est une faiblesse dans un système informatique permettant à un attaquant de porter atteinte à l'intégrité de ce système, c'est-à-dire à son fonctionnement normal, à la confidentialité ou à l'intégrité des données qu'il contient. Ces vulnérabilités sont la conséquence de faiblesses dans la conception, la mise en œuvre ou l'utilisation d'un composant matériel ou logiciel du système, mais il s'agit souvent d'anomalies logicielles liées à des erreurs de programmation ou à de mauvaises pratiques.
Stack-Smashing ProtectorLe Stack-Smashing Protector (également appelé SSP, et autrefois connu sous le nom de ProPolice) est une extension au compilateur GCC qui permet de minimiser les dommages qui peuvent être dus à des attaques de type dépassement de tampon. En particulier, il fournit une protection contre la corruption de pile (stack-smashing). La protection Stack-Smashing Protector a originairement été écrite, et est toujours entretenue, par Hiroaki Etoh d'IBM. La première implémentation a été faite pour GCC 3 et a ensuite été réécrite de façon moins intrusive puis intégrée dans GCC 4.
Dépassement de tamponEn informatique, un dépassement de tampon ou débordement de tampon (en anglais, buffer overflow ou BOF) est un bug par lequel un processus, lors de l'écriture dans un tampon, écrit à l'extérieur de l'espace alloué au tampon, écrasant ainsi des informations nécessaires au processus. Lorsque le bug se produit, le comportement de l'ordinateur devient imprévisible. Il en résulte souvent un blocage du programme, voire de tout le système. Le bug peut aussi être provoqué intentionnellement et être exploité pour compromettre la politique de sécurité d’un système.
Return-to-libc attackUne attaque de type return-to-libc est une attaque informatique démarrant généralement par un dépassement de tampon dans lequel l'adresse de retour dans la pile est remplacée par l'adresse d'une autre fonction et une seconde partie de la pile est modifiée pour fournir les paramètres à cette fonction. Ceci permet à un attaquant d'utiliser une fonction existante et d'éviter d'injecter du code malveillant dans le programme. La bibliothèque partagée libc fournit le moteur d'exécution C sur les systèmes de type Unix.
Address space layout randomizationL’address space layout randomization (ASLR) (« distribution aléatoire de l'espace d'adressage ») est une technique permettant de placer de façon aléatoire les zones de données dans la mémoire virtuelle. Il s’agit en général de la position du tas, de la pile et des bibliothèques. Ce procédé permet de limiter les effets des attaques de type dépassement de tampon par exemple. Elle consiste à rendre la configuration des processus « aléatoire », en plaçant différents éléments de base à des endroits variables.
Application webEn informatique, une application web (aussi appelée web application, de l'anglais et français) est une application manipulable directement en ligne grâce à un navigateur web et qui ne nécessite donc pas d'installation sur les machines clientes, contrairement aux applications mobiles. De la même manière que les sites web, une application web est généralement installée sur un serveur et se manipule en actionnant des widgets à l'aide d'un navigateur web, via un réseau informatique (Internet, intranet, réseau local, etc.
Bug (informatique)vignette|upright=1|Le Mac triste : écran indiquant un code erreur sur les premières versions du MacIntosh d'Apple. En informatique, un bug (prononcé en français : ) ou bogue est un défaut de conception d'un programme informatique à l'origine d'un dysfonctionnement. La gravité du dysfonctionnement peut aller de bénigne, causant par exemple des défauts d'affichage mineurs à majeure, tels un plantage du système pouvant entraîner de graves accidents, par exemple la destruction en vol de la première fusée Ariane 5, en 1996.
Cross-site scriptingvignette|Le diagramme de séquence d'une attaque de type cross-site scripting. en Le cross-site scripting (abrégé XSS) est un type de faille de sécurité des sites web permettant d'injecter du contenu dans une page, provoquant ainsi des actions sur les navigateurs web visitant la page. Les possibilités des XSS sont très larges puisque l'attaquant peut utiliser tous les langages pris en charge par le navigateur (JavaScript, Java...) et de nouvelles possibilités sont régulièrement découvertes notamment avec l'arrivée de nouvelles technologies comme HTML5.
Contrôle d'accèsthumb|Contrôle d'accès physique par serrure à code numérique Le contrôle d'accès désigne les différentes solutions techniques qui permettent de sécuriser et gérer les accès physiques à un bâtiment ou un site, ou les accès logiques à un système d'information. On distingue ainsi le contrôle d'accès physique et le contrôle d'accès logique. Les entreprises sont de plus en plus amenées à tracer leurs accès informatique à l'aide d'un Reporting des Droits d'Accès. Droit d'accès Reporting des Droits d'Accès Contrôl
Contrôle d'accès à base de rôlesLe contrôle d'accès basé sur les rôles (« Role-Based Access Control » (RBAC) en anglais) est un modèle de contrôle d'accès à un système d'information dans lequel chaque décision d'accès est basée sur le rôle auquel l'utilisateur est associé. La typologie et la granularité des rôles découlent généralement de la structure de l'entreprise ou de l'organisation ayant adopté ce système. Les utilisateurs exerçant des fonctions similaires peuvent être regroupés sous le même rôle.
Contrôle d'accès obligatoireLe Mandatory access control (MAC) ou contrôle d'accès obligatoire est une méthode de gestion des droits des utilisateurs pour l'usage de systèmes d'information. Il existe d'autres méthodes telles que : le contrôle d'accès discrétionnaire (ou Discretionary Access Control - DAC) ; le contrôle d'accès à base de rôles (ou Role-Based Access Control - RBAC). Le contrôle d'accès obligatoire est utilisé lorsque la politique de sécurité des systèmes d’information impose que les décisions de protection ne doivent pas être prises par le propriétaire des objets concernés, et lorsque ces décisions de protection doivent lui être imposées par le dit système.
Access Control List(ACL) — liste de contrôle d'accès en français — désigne traditionnellement deux choses en sécurité informatique : un système permettant de faire une gestion plus fine des droits d'accès aux fichiers que ne le permet la méthode employée par les systèmes UNIX. en réseau, une liste des adresses et ports autorisés ou interdits par un pare-feu. La notion d'ACL est cela dit assez généraliste, et on peut parler d'ACL pour gérer les accès à n'importe quel type de ressource.
Contrôle d'accès discrétionnaireLe Contrôle d'accès discrétionnaire (ou DAC pour Discretionary Access Control), est un genre de contrôle d'accès, défini par le Trusted Computer System Evaluation Criteria (TCSEC) comme « des moyens de limiter l'accès aux objets basés sur l'identité des sujets ou des groupes auxquels ils appartiennent. Le contrôle est discrétionnaire car un sujet avec une certaine autorisation d'accès est capable de transmettre cette permission (peut-être indirectement) à n'importe quel autre sujet (sauf restriction du contrôle d'accès obligatoire).
Contrôle d'accès basé sur l'organisationOrganization-Based Access Control (OrBAC) ou, en français, le contrôle d'accès fondé sur l'organisation est un modèle de contrôle d'accès présenté pour la première fois en 2003. Dans OrBAC, l'expression d'une politique d'autorisation est centrée sur le concept d'organisation. Le modèle OrBAC (Organization Based Access Control) reprend les concepts de rôle, d'activité, de vue et d'organisation. Ces concepts ont été introduits respectivement dans les modèles R-BAC Role-Based Access Control, T-BAC (Task-Based Access Control), V-BAC (View-Based Access Control) et T-BAC (Team-Based Access Control).
Relocation (computing)Relocation is the process of assigning load addresses for position-dependent code and data of a program and adjusting the code and data to reflect the assigned addresses. Prior to the advent of multiprocess systems, and still in many embedded systems, the addresses for objects were absolute starting at a known location, often zero. Since multiprocessing systems dynamically link and switch between programs it became necessary to be able to relocate objects using position-independent code.
Cryptographiethumb|La machine de Lorenz utilisée par les nazis durant la Seconde Guerre mondiale pour chiffrer les communications militaires de haut niveau entre Berlin et les quartiers-généraux des différentes armées. La cryptographie est une des disciplines de la cryptologie s'attachant à protéger des messages (assurant confidentialité, authenticité et intégrité) en s'aidant souvent de secrets ou clés. Elle se distingue de la stéganographie qui fait passer inaperçu un message dans un autre message alors que la cryptographie rend un message supposément inintelligible à autre que qui de droit.
Programmation webalt=Logo langage HTML|vignette|Logo langage HTML version 5 La programmation web est la programmation informatique qui permet d'éditer des sites web. Elle permet la création d'applications, destinées à être déployées sur Internet ou en Intranet. Ces applications web sont constituées de pages web pouvant prendre différentes formes, telles que : pages « statiques » : Il s'agit de fichiers. Le contenu n'est pas influencé par l'internaute qui la demande, et il évolue seulement avec une intervention manuelle de son code source.