Rekommenderade säkerhets metoder för Information ProtectionSecurity best practices for Information Protection

Information Protection Software Development Kits (SDK: er) tillhandahåller ett robust system för publicering och användning av skyddad information av alla typer.Information Protection Software Development Kits (SDKs) provide a robust system for publishing and consuming protected information of all types. För att hjälpa ett system att vara så starkt som möjligt måste information Protection-aktiverade program skapas med bästa praxis.To help a system be as strong as possible, information protection-enabled applications must be built using best practices. Program resurs ansvar för att hjälpa till att upprätthålla säkerheten för det här eko systemet.Applications share responsibility in helping maintain the security of this ecosystem. Identifiering av säkerhetsrisker och åtgärder för att lösa riskerna som introducerats under programutvecklingen hjälper att minimera risken för en mindre säker programvaruimplementering.Identifying security risks and providing mitigations for those risks introduced during application development helps to minimize the likelihood of a less secure software implementation.

Den här informationen kompletterar det juridiska avtalet som måste signeras för att få digitala certifikat för program som använder SDK: er.This information supplements the legal agreement that must be signed, to obtain digital certificates for applications using the SDKs.

Ämnen som inte omfattasSubjects not covered

Även om följande ämnen är viktiga överväganden för att skapa en utvecklings miljö och säkra program, omfattas de inte av omfånget för den här artikeln:Although the following subjects are important considerations for creating a development environment and secure applications, they're out of scope for this article:

  • Hantering av program utvecklings processer – konfigurations hantering, säkra käll kod, minimera åtkomst till fel söknings kod och tilldela prioritet till buggar.Software development process management — Configuration management, securing source code, minimizing access to debugged code, and assigning priority to bugs. För vissa kunder är det viktigt att ha en säkrare program utvecklings process av största vikt.For some customers, having a more secure software development process is of paramount importance to them. Vissa kunder kan även ange en utvecklingsprocess.Some customers even prescribe a development process.
  • Vanliga kodnings fel – information för att undvika buffertöverskridningar.Common coding errors — Information for avoiding buffer overruns. Vi rekommenderar den senaste versionen av Writing Secure Code av Michael Howard och David LeBlanc (Microsoft Press, 2002) för att se över de här generiska hoten och åtgärderna.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.
  • Social teknik – innehåller information om procedurer och struktur skydd för att skydda kod mot utnyttjande av utvecklare eller andra inom tillverkarens organisation.Social engineering — Includes information about procedural and structural safeguards, to help protect code against exploitation by developers or others within the manufacturer's organization.
  • Fysisk säkerhet – innehåller information om hur du skyddar åtkomst till din kodbas och signeringscertifikat.Physical security — Includes information about locking down access to your code base and signing certificates.
  • Etablering eller distribution av förhandsversioner av programvara – innehåller information om hur du distribuerar betaversioner av programvaran.Deployment or distribution of prerelease software — Includes information about distributing your beta software.
  • Nätverkshantering – innehåller information om system för intrångsidentifiering på dina fysiska nätverk.Network management — Includes information about intrusion-detection systems on your physical networks.

Hot modeller och åtgärderThreat models and mitigations

Digitala informations ägare behöver kunna utvärdera de miljöer där deras till gångar ska dekrypteras.Digital information owners need the ability to evaluate the environments in which their assets will be decrypted. En förklaring av lägsta säkerhets standarder ger informations ägare ett ramverk för att förstå och utvärdera programmets säkerhets nivå.A statement of minimum security standards provides information owners with a framework for understanding and assessing the security level of the applications.

Vissa branscher, som myndigheter och hälsovård, har certifierings- och ackrediteringsprocesser och standarder som kan omfatta din produkt.Some industries, such as government and health care, have certification and accreditation processes and standards that may apply to your product. Att uppfylla dessa minsta säkerhets rekommendationer ersätter inte kundernas unika ackrediterings behov.Meeting these minimum security recommendations isn't a substitute for the unique accreditation needs of your customers. Men syftet med säkerhetsstandarderna är att hjälpa dig att förbereda för aktuella och framtida kundkrav och alla investeringar som görs tidigt i utvecklingscykeln hjälper din programvara.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. Dessa rikt linjer är rekommendationer, inte ett formellt Microsoft-certifierings program.These guidelines are recommendations, not a formal Microsoft certification program.

Det finns flera huvudkategorier med säkerhetssårbarheter i ett Rights Management-system, inklusive:There are several major categories of vulnerabilities in a rights management services system including:

  • Läckage – Information visas på obehöriga platser.Leakage — Information appears in unauthorized locations.
  • Skada – Programvara eller data ändras på ett otillåtet sätt.Corruption — Software or data is modified in an unauthorized manner.
  • Neka – en dator resurs är inte tillgänglig för användning.Denial — A computing resource isn't available for use.

De här ämnena fokuserar primärt på läckageproblem.These topics focus primarily on leakage issues. Integriteten hos ett API-system beror på dess förmåga, med tiden, för att skydda information, vilket ger åtkomst enbart till angivna entiteter.The integrity of an API system depends upon its ability, over time, to protect information, enabling access only to designated entities. De här avsnitten behandlar även problem med skador.These topics also touch upon corruption issues. Nekade problem omfattas inte.Denial issues aren't covered.

Microsoft varken testar eller granskar test resultaten som är relaterade till att uppfylla den minsta standarden.Microsoft doesn't test or review test results related to meeting the minimum standard. Partnern ansvarar för att säkerställa att minimi kraven uppfylls.The partner is responsible for ensuring the minimum standards are met. Microsoft tillhandahåller två ytterligare rekommendationsnivåer för att hjälpa att åtgärda vanliga hot.Microsoft provides two additional levels of recommendations to help mitigate common threats. I allmänhet är de här förslagen additiva.In general, these suggestions are additive. Till exempel förutsätter Mötes rekommendationer att du har uppfyllt minimi kraven, i förekommande fall, om inget annat anges.For example, meeting preferred recommendations assumes that you have met minimum standards, where applicable, unless otherwise specified.

StandardnivåStandard level BeskrivningDescription
Minsta standardMinimum standard Ett program som hanterar skyddad information måste uppfylla minimi kraven, innan det kan signeras med produktions certifikatet som tas emot från Microsoft.An application that handles protected information must meet the minimum standard, before it can be signed with the production certificate received from Microsoft. Partner använder vanligt vis certifikatet för produktionsmodulen, vid tidpunkten för den slutliga versionen av program varan.Partners generally use the production hierarchy certificate, at the time of final release of the software. En partners egna interna tester används för att kontrol lera om programmet uppfyller denna minsta standard.A partner's own internal tests are used to verify whether the application meets this minimum standard. Att uppfylla minimi kraven är inte och bör inte tolkas som en säkerhets garanti från Microsoft.Meeting the minimum standard isn't, and shouldn't be construed as, a guarantee of security by Microsoft. Microsoft varken testar eller granskar test resultaten som är relaterade till att uppfylla den minsta standarden.Microsoft doesn't test or review test results related to meeting the minimum standard. Partnern ansvarar för att säkerställa att minimivärdet är uppfyllt.The partner is responsible for ensuring the minimum is met.
Rekommenderad standardRecommended standard Rekommenderade rikt linjer ger båda diagrammet en sökväg till förbättrad program säkerhet och ger en indikation på hur SDK kan utvecklas i takt med att fler säkerhets kriterier implementeras.Recommended guidelines both chart a path to improved application security, and provide an indication of how the SDK may evolve as more security criteria are implemented. Leverantörer kan skilja sina program genom att bygga till den här högre säkerhets rikt linjerna.Vendors may differentiate their applications by building to this higher level of security guidelines.
Önskad standardPreferred standard Den här standarden är den högsta säkerhets kategorin som definierats för närvarande.This standard is the highest category of security currently defined. Leverantörer som utvecklar program som marknadsförs med hög säkerhet bör sträva efter den här standarden.Vendors who develop applications marketed as highly secure should aim for this standard. Program som följer den här standarden är sannolikt minst sårbara för angrepp.Applications that adhere to this standard are likely to be the least vulnerable to attack.

Skadlig program varaMalicious software

Microsoft har definierat minsta nödvändiga standarder som ditt program behöver uppfylla för att skydda innehåll från skadlig programvara.Microsoft has defined minimum required standards that your application must meet to protect content from malicious software.

Importera skadlig program vara med hjälp av adress tabellerImporting malicious software by using address tables

Information Protection SDK stöder inte kod ändringar vid körning eller ändring av import adress tabellen (IAT).The information protection SDK doesn't support code modification at run time or modification of the import address table (IAT). En importadress-tabell skapas för varje DLL som läses in i processutrymmet.An import address table is created for every DLL loaded in your process space. Den anger adresserna för alla funktioner som ditt program importerar.It specifies the addresses of all functions that your application imports. Ett vanligt angrepp är att ändra IAT-posterna inom ett program för att, exempelvis, peka mot skadlig programvara.One common attack is to modify the IAT entries within an application to, for example, point to malicious software. SDK stoppar programmet när den identifierar den här typen av attack.The SDK stops the application when it detects this type of attack.

Minsta standardMinimum standard

  • Du kan inte ändra tabellen import adress i program processen under körningen.You can't modify the import address table in the application process during execution. Ditt program anger många av funktionerna som anropas vid körning med hjälp av adress tabeller.Your application specifies many of the functions called at run time by using address tables. Dessa tabeller kan inte ändras under eller efter kör tid.These tables can't be altered during or after run time. Detta innebär bland annat att du inte kan utföra kod profilering på ett program som har signerats med hjälp av produktions certifikatet.Among other things, this restriction means you can't perform code-profiling on an application signed by using the production certificate.
  • Du kan inte anropa funktionen DebugBreak inifrån någon DLL som anges i manifestet.You can't call the DebugBreak function from within any DLL specified in the manifest.
  • Du kan inte anropa LoadLibrary med flaggan DONT_RESOLVE_DLL_REFERENCES inställd.You can't call LoadLibrary with the DONT_RESOLVE_DLL_REFERENCES flag set. Den här flaggan säger till inläsaren att hoppa över att binda till de importerade modulerna, vilket ändrar importadress-tabellen.This flag tells the loader to skip binding to the imported modules, thereby modifying the import address table.
  • Du kan inte ändra fördröjd inläsning genom att köra körnings tid eller efterföljande ändringar av/DELAYLOAD Linker-växeln.You can't alter delayed loading by making run-time or subsequent changes to the /DELAYLOAD linker switch.
  • Du kan inte ändra fördröjd inläsning genom att tillhandahålla din egen version av Delayimp. lib Helper-funktionen.You can't alter delayed loading by providing your own version of the Delayimp.lib helper function.
  • Du kan inte ta bort moduler som är fördröjda med autentiserade moduler, medan information Protection SDK-miljön finns.You can't unload modules that are delay-loaded by authenticated modules, while the information protection SDK environment exists.
  • Du kan inte använda /DELAY:UNLOAD länknings växeln för att aktivera borttagning av fördröjda moduler.You can't use the /DELAY:UNLOAD linker switch to enable unloading of delayed modules.

Felaktigt tolkning av licens rättigheterIncorrectly interpreting license rights

Om programmet inte korrekt tolkar och upprätthåller rättigheterna som anges i SDK-utfärdningslicensen kan du göra information tillgänglig på sätt som informations ägaren inte har beviljats.If your application doesn't correctly interpret and enforce the rights expressed in the SDK issuance license, you may make information available in ways that the information owner didn't intend. Till exempel när ett program tillåter att en användare sparar okrypterad information till nya medier, när utfärdande licensen endast ger rätt att visa informationen.For example, 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.

Azure Information Protection (AIP)Azure Information Protection (AIP)

Informations skydds systemet organiserar rättigheter några få grupperingar.The information protection system organizes rights a few groupings. Mer information finns i Konfigurera användnings rättigheter för Azure information Protection.For more information, see Configuring usage rights for Azure Information Protection.

Med AIP kan en användare antingen dekryptera information eller inte.AIP allows a user to either decrypt information or not. Informationen har inga inbyggda skydd.The information doesn't have any inherent protection. Om en användare har rätt att dekryptera, tillåter API: et.If a user has the right to decrypt, the API permits it. Programmet ansvarar för att hantera eller skydda informationen när den är klar.The application is responsible for managing or protecting that information after it is in the clear. Ett program ansvarar för att hantera dess miljö och gränssnitt för att förhindra obehörig användning av information.An application is responsible for managing its environment and interface to prevent the unauthorized use of information. Du kan till exempel inaktivera knapparna Skriv ut och Kopiera om en licens bara beviljar vyn till höger.For example, disabling the Print and Copy buttons if a license only grants the VIEW right. Din testsvit bör verifiera att ditt program agerar på rätt sätt för alla licensrättigheter som den känner igen.Your test suite should verify that your application acts correctly on all the license rights that it recognizes.

Minsta standardMinimum standard

  • Kund implementeringen av XrML v. 1.2-rättigheter bör överensstämma med definitioner av dessa rättigheter, enligt beskrivningen i specifikationerna för XrML, som är tillgängliga på XrML-webbplatsen ( 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). Alla rättigheter som är specifika för ditt program måste definieras för alla entiteter som har intresse av ditt program.Any rights that are specific to your application must be defined for all entities that have an interest in your application.
  • Test sviten och test processen bör kontrol lera att programmet körs korrekt mot de rättigheter som programmet stöder.Your test suite and test process should verify that your application executes properly against the rights that the application supports. Den bör också kontrol lera att den inte fungerar på rättigheter som inte stöds.It should also verify that it doesn't act upon unsupported rights.
  • Om du skapar ett publicerings program, måste du göra information tillgänglig som förklarar de inneboende rättigheter som används.If you're building a publishing application, you must make information available that explains the intrinsic rights used. Detta inkluderar de som är, och som inte stöds av publicerings programmet, och hur dessa rättigheter ska tolkas.This includes those that are, and aren't, supported by the publishing application, and how these rights should be interpreted. Dessutom bör användargränssnittet klargöra för slutanvändaren konsekvenserna av varje rättighet som beviljas eller nekas en enskild informationsmängd.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.
  • Alla rättigheter som är abstrakta, genom att ingå i nya rättigheter som implementerats av ett program, måste mappas till den nya terminologin.Any rights that are abstracted, by inclusion in new rights implemented by an application, must be mapped to the new terminology. En ny rättighet vid namn ANSVARIG kan exempelvis inkludera SKRIV UT, KOPIERA och REDIGERA som abstraherade rättigheter.For example, a new right called MANAGER might include as abstracted rights the PRINT, COPY, and EDIT rights.

Ingen just nu.None at this time.

Önskad standardPreferred standard

Ingen just nu.None at this time.

Nästa stegNext steps

Metod tips för att implementera program med hjälp av AIP SDK finns i följande artiklar:Best practices for implementing applications by using the AIP SDK include the following articles: