Bonnes pratiques de sécurité pour Azure Information ProtectionSecurity Best Practices for Azure Information Protection

Le Kit SDK Azure Information Protection (AIP) fournit un système robuste pour la publication et l’utilisation de tous les types d’informations protégées.The Azure Information Protection (AIP) Software Development Kit (SDK) provides a robust system for publishing and consuming protected information of all types. Pour rendre un système AIP aussi fort que possible, les applications compatibles AIP doivent être créées sur la base des bonnes pratiques AIP.To help an AIP system be as strong as possible, AIP enabled applications must be built using AIP best practices. Les applications compatibles AIP partagent la responsabilité de la maintenance de la sécurité de cet écosystème.AIP enabled applications share responsibility for helping to maintain the security of this ecosystem. L’identification des risques de sécurité et la limitation de ces risques introduits au cours du développement d’applications permet de réduire la probabilité d’une implémentation logicielle moins sécurisée.Identifying security risks and providing mitigations for those risks introduced during application development helps to minimize the likelihood of a less secure software implementation.

Les bonnes pratiques d’implémentation d’applications à l’aide du Kit SDK Azure Information Protection incluent les catégories de suggestion suivantes :Best practices for implementing applications by using the Azure Information Protection Software Development Kit (SDK) include the following categories of suggestions:

Ces informations complètent l’accord juridique qui doit être signé afin d’obtenir les certificats numériques nécessaires pour implémenter des applications à l’aide du SDK AIP.This information supplements the legal agreement that must be signed in order to obtain the digital certificates needed to implement applications using the AIP SDK.

Sujets non traités dans ces rubriquesSubjects Not Covered in These Topics

Ces rubriques décrivent brièvement les problèmes suivants, qui sont significatifs lorsque vous tentez de créer un environnement de développement et une application sécurisée :These topics briefly describe the following issues, which are significant when attempting to create both a development environment and a secure application:

  • Gestion de processus de développement logiciel : inclut des informations sur la gestion de la configuration, la sécurisation du code source, la limitation des accès au code débogué et l’affectation de priorité aux bogues.Software development process management — Includes information about configuration management, securing source code, minimizing access to debugged code, and assigning priority to bugs. Pour certains de vos clients, il est capital de disposer d’un processus de développement de logiciels plus sécurisé.For some of your customers, having a more secure software development process is of paramount importance to them. Certains clients prescrivent même un processus de développement.Some customers even prescribe a development process.
  • Erreurs de codage courantes : inclut des informations sur la prévention des dépassements de mémoire tampon.Common coding errors — Includes information about avoiding buffer overruns. Nous vous recommandons la version la plus récente de Writing Secure Code par Michael Howard et David LeBlanc (Microsoft Press, 2002) pour passer en revue ces menaces génériques et les solutions possibles.We recommend the latest version of Writing Secure Code by Michael Howard and David LeBlanc (Microsoft Press, 2002) to review these generic threats and mitigations.
  • Ingénierie sociale : inclut des informations sur les dispositifs de protection procéduriers et structurels qui vous permettent de vous protéger contre l’exploitation du code par des développeurs ou d’autres personnes au sein de l’organisation du fabricant.Social engineering — Includes information about procedural and structural safeguards that help protect against exploitation of code by developers or others within the manufacturer's organization.
  • Sécurité physique : inclut des informations sur le verrouillage de l’accès à votre base de code et la signature de certificats.Physical security — Includes information about locking down access to your code base and signing certificates.
  • Déploiement ou distribution de logiciels en version préliminaire : inclut des informations sur la distribution de votre logiciel bêta.Deployment or distribution of prerelease software — Includes information about distributing your beta software.
  • Gestion de réseau : inclut des informations sur les systèmes de détection d’intrusion sur vos réseaux physiques.Network management — Includes information about intrusion-detection systems on your physical networks.

Modèles de menace et préventionThreat Models and Mitigations

Les propriétaires d’informations numériques doivent être en mesure d’évaluer les environnements dans lesquels leurs ressources seront déchiffrées.Digital information owners need to be able to evaluate the environments in which their assets will be decrypted. Une instruction de normes de sécurité minimales peut fournir aux propriétaires d’informations un cadre leur permettant de comprendre et évaluer le niveau de sécurité des applications auxquelles ils confient leurs informations.A statement of minimum security standards can provide information owners with a framework for understanding and assessing the security level of the applications to which they entrust their information.

Certains secteurs, tels que le gouvernement et les soins de santé, incluent des processus de certification et d’accréditation et des normes qui peuvent s’appliquer à votre produit.Some industries, such as government and health care, have certification and accreditation processes and standards that may apply to your product. Répondre à ces recommandations de sécurité minimale ne constitue pas un substitut aux besoins d’accréditation uniques de vos clients.Meeting these minimum security recommendations is not a substitute for the unique accreditation needs of your customers. Toutefois, les normes de sécurité ont pour but de vous aider à répondre aux besoins actuels et futurs de vos clients, et aucun investissement effectué au début du cycle de développement ne profitera à votre application.However, the intent of the security standards is to help you prepare for current and future customer requirements, and any investment you make early in the development cycle will benefit your application. Il s’agit de recommandations, et non d’un programme de certification Microsoft formel.These are recommendations, not a formal Microsoft certification program.

Il existe plusieurs catégories principales de vulnérabilités dans un système Rights Management Services, notamment :There are several major categories of vulnerabilities in a rights management services system including:

  • Fuite : des informations apparaissent dans des emplacements non autorisés.Leakage — Information appears in unauthorized locations.
  • Corruption : un logiciel ou des données sont modifiés de façon non autorisée.Corruption — Software or data is modified in an unauthorized manner.
  • Déni : une ressource informatique n’est pas disponible pour être utilisée.Denial — A computing resource is not available for use.

Ces rubriques portent principalement sur les problèmes de fuites.These topics focus primarily on leakage issues. L’intégrité d’un système API dépend de sa capacité, au fil du temps, à protéger les informations et à autoriser l’accès uniquement à des entités désignées.The integrity of a API system depends upon its ability, over time, to protect information, enabling access only to designated entities. Ces rubriques abordent également les problèmes de corruption.These topics also touch upon corruption issues. Les problèmes de déni ne sont pas couverts.Denial issues are not covered.

Microsoft n’effectue pas de tests ou ne révise pas les résultats de tests liés au respect de la norme minimale. Il incombe entièrement au partenaire de garantir que les normes minimales sont respectées.Microsoft does not test or review test results related to meeting the minimum standard; it is entirely up to the partner to ensure the minimum standards are met. Microsoft fournit deux niveaux supplémentaires de recommandations pour aider à limiter les menaces courantes.Microsoft provides two additional levels of recommendations to help mitigate common threats. En règle générale, ces suggestions sont additionnelles. Par exemple, respecter les principales recommandations implique que vous respectez les normes minimales, le cas échéant, sauf indication contraire.In general, these suggestions are additive; for example, meeting preferred recommendations assumes that you have met minimum standards, where applicable, unless otherwise specified.

Niveau de normeStandard level DescriptionDescription
Norme minimaleMinimum standard Une application qui traite des informations protégées par AIP doit être déterminée pour répondre à la norme minimale avant que l’application ne puisse être signée avec le certificat de production reçu de Microsoft.An application that handles AIP protected information must be determined to meet the minimum standard before the application can be signed with the production certificate received from Microsoft. Les partenaires utilisent généralement le certificat de hiérarchie de production uniquement au moment de la version finale du logiciel lorsque les propres tests internes du partenaire ont vérifié que l’application répond à cette norme minimale.Partners generally use the production hierarchy certificate only at the time of final release of the software when partners' own internal tests have verified that the application meets this minimum standard. Le respect de la norme minimale n’est pas et ne doit pas être considéré comme une garantie de sécurité par Microsoft.Meeting the minimum standard is not, and should not be construed as, a guarantee of security by Microsoft. Microsoft n’effectue pas de tests ou ne révise pas les résultats de tests liés au respect de la norme minimale. Il incombe entièrement au partenaire de garantir que les minimums sont respectés.Microsoft does not test or review test results related to meeting the minimum standard; it is entirely up to the partner to ensure the minimum is met.
Norme recommandéeRecommended standard Les instructions recommandées permettent d’optimiser la sécurité des applications et d’indiquer de quelle manière AIP peut évoluer à mesure que des critères de sécurité supplémentaires sont implémentés.Recommended guidelines both chart a path to improved application security and provide an indication of how AIP may evolve as more security criteria are implemented. Les fournisseurs peuvent tenter de différencier leurs applications en développant ce niveau supérieur d’instructions de sécurité.Vendors might attempt to differentiate their applications by building to this higher level of security guidelines.
Norme préféréePreferred standard Il s’agit de la catégorie de sécurité la plus élevée actuellement définie.This is the highest category of security currently defined. Les fournisseurs qui développent des applications commercialisées comme hautement sécurisées doivent respecter cette norme.Vendors who develop applications marketed as highly secure should aim for this standard. Les applications conformes à cette norme sont susceptibles d’être moins vulnérables aux attaques.Applications that adhere to this standard are likely to be the least vulnerable to attack.

Logiciels malveillantsMalicious Software

Microsoft a défini des normes minimales requises que votre application doit respecter pour protéger le contenu contre des logiciels malveillants.Microsoft has defined minimum required standards that your application must meet to protect content from malicious software.

Importation de logiciels malveillants à l’aide de tables d’adressesImporting Malicious Software by Using Address Tables

AIP ne prend pas en charge la modification de code en cours d’exécution ou la modification de la table d’adresses d’importation (IAT).AIP does not support code modification at run time or modification of the import address table (IAT). Une table d’adresses d’importation est créée pour chaque DLL chargée dans votre espace de processus.An import address table is created for every DLL loaded in your process space. Elle spécifie les adresses de toutes les fonctions importées par votre application.It specifies the addresses of all functions that your application imports. Une attaque courante consiste à modifier les entrées de la table IAT au sein d’une application, par exemple pour qu’elle pointe vers des logiciels malveillants.One common attack is to modify the IAT entries within an application to, for example, point to malicious software. AIP arrête l’application lorsqu’il détecte ce type d’attaque.AIP stops the application when it detects this type of attack.

Norme minimaleMinimum standard

  • Vous ne pouvez pas modifier la table d’adresses d’importation dans le processus d’application pendant l’exécution.You cannot modify the import address table in the application process during execution. -Votre application spécifie la plupart des fonctions appelées au moment de l’exécution à l’aide de tables d’adresses, qui ne peuvent pas être modifiées pendant ou après l’exécution.- Your application specifies many of the functions called at run time by using address tables, and these cannot be altered during or after run time. Entre autres choses, cela signifie que vous ne pouvez pas effectuer le profilage de code dans une application signée à l’aide du certificat de production.Among other things, this means you cannot perform code-profiling on an application signed by using the production certificate.
  • Vous ne pouvez pas appeler la fonction DebugBreak à partir de n’importe quel fichier DLL spécifié dans le manifeste.You cannot call the DebugBreak function from within any DLL specified in the manifest.
  • Vous ne pouvez pas appeler LoadLibrary si l’indicateur DONT_RESOLVE_DLL_REFERENCES est défini.You cannot call LoadLibrary with the DONT_RESOLVE_DLL_REFERENCES flag set. Cet indicateur signale au chargeur d’ignorer la liaison aux modules importés, modifiant ainsi la table d’adresses d’importation.This flag tells the loader to skip binding to the imported modules, thereby modifying the import address table.
  • Vous ne pouvez pas modifier le chargement différé en exécutant le commutateur d’éditeur de liens /DELAYLOAD ou en y apportant des modifications ultérieures.You cannot alter delayed loading by making run-time or subsequent changes to the /DELAYLOAD linker switch.
  • Vous ne pouvez pas modifier le chargement différé en fournissant votre propre version de la fonction d’assistance Delayimp.lib.You cannot alter delayed loading by providing your own version of the Delayimp.lib helper function.
  • Vous ne pouvez pas décharger des modules qui ont été chargés en différé par les modules authentifiés alors que l’environnement AIP existe.You cannot unload modules that have been delay-loaded by authenticated modules while the AIP environment exists.
  • Vous ne pouvez pas utiliser le commutateur d’éditeur de liens /DELAY:UNLOAD pour activer le déchargement de modules différés.You cannot use the /DELAY:UNLOAD linker switch to enable unloading of delayed modules.

Interprétation incorrecte des droits de licenceIncorrectly Interpreting License Rights

Si votre application n’interprète pas et n’applique pas correctement les droits spécifiés dans la licence d’émission AIP, vous pouvez rendre des informations disponibles de manières non prévues par le propriétaire.If your application does not correctly interpret and enforce the rights expressed in the AIP issuance license, you may make information available in ways that the information owner did not intend. Par exemple, l’application peut permettre à un utilisateur d’enregistrer des informations non chiffrées sur un nouveau support alors que la licence d’émission confère uniquement le droit de les afficher.An example of this is when an application allows a user to save unencrypted information to new media when the issuance license only confers the right to view the information.

Le système AIP organise les droits de plusieurs regroupements.The AIP system organizes rights a few groupings. Pour plus d’informations, consultez Configuration des droits d’utilisation pour Azure Rights Management.For more information, see Configuring usage rights for Azure Rights Management.

Azure Information ProtectionAzure Information Protection


L’API autorise ou non un utilisateur à déchiffrer des informations . Les informations ne comprennent aucune protection inhérente.API allows a user to either decrypt information or not; the information does not have any inherent protection. Si un utilisateur dispose de droits pour déchiffrer des informations, l’API l’y autorise, et l’application est responsable de la gestion ou de la protection de ces informations lorsqu’elles sont déchiffrées.If a user has the right to decrypt information, the API permits it, and the application is responsible for managing or protecting that information after it is in the clear. Une application est responsable de la gestion de son environnement et de son interface pour empêcher une utilisation non autorisée d’informations, par exemple en désactivant les boutons Imprimer et Copier si une licence accorde uniquement un droit de LECTURE.An application is responsible for managing its environment and interface to prevent the unauthorized use of information; for example, disabling the Print and Copy buttons if a license only grants the PLAY right. La suite de tests doit vérifier que votre application fonctionne correctement avec tous les droits de licence qu’elle reconnaît.Your test suite should verify that your application acts correctly on all the license rights that it recognizes.

Norme minimaleMinimum standard

  • L’implémentation par le client de droits XrML versions v.1.2 doit être cohérente avec les définitions de ces droits, comme décrit dans les spécifications XrML disponibles sur le site web de XrML (http://www.xrml.org).The customer implementation of XrML v.1.2 rights should be consistent with the definitions of these rights, as described in the XrML specifications, which are available at the XrML Web site (http://www.xrml.org). Tout droit spécifique à votre application doit être défini pour toutes les entités qui présentent un intérêt dans votre application.Any rights that are specific to your application must be defined for all entities that have an interest in your application.
  • Votre processus de suite de tests et de test doit vérifier que votre application s’exécute correctement en fonction des droits qu’elle prend en charge et qu’elle n’agit pas sur la base de droits non pris en charge.Your test suite and test process should verify that your application executes properly against the rights that the application supports and that it does not act upon unsupported rights.
  • Si vous développez une application de publication, vous devez rendre des informations disponibles expliquant les droits intrinsèques et les droits non pris en charge par l’application de publication, ainsi que la manière dont ces droits doivent être interprétés.If you are building a publishing application, you must make information available that explains which intrinsic rights are and are not supported by the publishing application and how these rights should be interpreted. En outre, l’interface utilisateur doit indiquer clairement à l’utilisateur final les implications de chaque droit accordé ou refusé pour une information spécifique.In addition, the user interface should make clear to the end user what the implications are of each right granted or denied an individual piece of information.

  • Tout droit abstrait inclus dans de nouveaux droits implémentés par une application doit être mappé sur la nouvelle terminologie.Any rights that are abstracted by inclusion in new rights implemented by an application need to be mapped to the new terminology. Par exemple, un nouveau droit appelé GESTIONNAIRE peut inclure des droits de COPIE, d’IMPRESSION et de MODIFICATION comme droits abstraits.For example, a new right called MANAGER might include as abstracted rights the PRINT, COPY, and EDIT rights. Norme recommandée : aucune à l’heure actuelle.Recommended standard None at this time. Norme préférée: aucune à l’heure actuelle.Preferred standard None at this time.

CommentairesComments

Avant de transmettre vos commentaires, nous vous demandons de consulter notre règlement interne.Before commenting, we ask that you review our House rules.