Osvědčené postupy zabezpečení pro Azure Information ProtectionSecurity Best Practices for Azure Information Protection

Sada SDK Azure Information Protection (AIP) poskytuje robustní systém pro publikování a využívání chráněných informací všech typů.The Azure Information Protection (AIP) Software Development Kit (SDK) provides a robust system for publishing and consuming protected information of all types. Pokud má být systém AIP co nejsilnější, je potřeba vyvíjet aplikace podporující AIP za použití postupů osvědčených pro AIP.To help an AIP system be as strong as possible, AIP enabled applications must be built using AIP best practices. Aplikace podporující AIP společně pomáhají udržet zabezpečený ekosystém.AIP enabled applications share responsibility for helping to maintain the security of this ecosystem. Pokud se identifikují rizika zabezpečení a zmírní se rizika, která vyvstanou během vývoje aplikace, pomůže to minimalizovat pravděpodobnost implementace méně zabezpečeného softwaru.Identifying security risks and providing mitigations for those risks introduced during application development helps to minimize the likelihood of a less secure software implementation.

Osvědčené postupy pro implementaci aplikací za použití sady SDK Azure Information Protection zahrnují následující kategorie návrhů:Best practices for implementing applications by using the Azure Information Protection Software Development Kit (SDK) include the following categories of suggestions:

Tyto informace doplňují smlouvu, kterou je nutné podepsat, aby bylo možné získat digitální certifikáty, které jsou potřeba k implementaci aplikací za použití sady 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.

Co není v těchto tématech zahrnutéSubjects Not Covered in These Topics

Tato témata stručně popisují následující problémy, které jsou důležité, pokud se pokoušíte vytvořit současně vývojové prostředí a zabezpečenou aplikaci:These topics briefly describe the following issues, which are significant when attempting to create both a development environment and a secure application:

  • Správa procesu vývoje softwaru – Obsahuje informace o správě konfigurace, zabezpečení zdrojového kódu, minimalizaci přístupu k laděnému kódu a přiřazení priority k chybám.Software development process management — Includes information about configuration management, securing source code, minimizing access to debugged code, and assigning priority to bugs. Pro některé z vašich zákazníků má proces vývoje lépe zabezpečeného softwaru prvořadý význam.For some of your customers, having a more secure software development process is of paramount importance to them. Někteří zákazníci dokonce nařizují, jak má proces vývoje vypadat.Some customers even prescribe a development process.
  • Běžné chyby kódování – Obsahuje informace o zamezení přeběhu vyrovnávací paměti.Common coding errors — Includes information about avoiding buffer overruns. Pokud chcete získat informace o těchto generických chybách a zmírnění jejich dopadu, doporučujeme přečíst si nejnovější vydání knihy Writing Secure Code od Michaela Howarda a Davida LeBlanca (Microsoft Press, 2002).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.
  • Sociální inženýrství – Obsahuje informace o procesním a strukturálním zabezpečení, které umožňuje ochranu před zneužitím kódu vývojáři a dalšími pracovníky v organizaci výrobce.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.
  • Fyzické zabezpečení – Obsahuje informace o uzamčení přístupu k základu vašeho kódu a podepisování certifikátů.Physical security — Includes information about locking down access to your code base and signing certificates.
  • Nasazení nebo distribuce předběžné verze softwaru – Obsahuje informace o distribuci beta verze softwaru.Deployment or distribution of prerelease software — Includes information about distributing your beta software.
  • Správa sítě – Obsahuje informace o systémech zjišťování neoprávněného vniknutí ve fyzických sítích.Network management — Includes information about intrusion-detection systems on your physical networks.

Modely hrozeb a jejich zmírněníThreat Models and Mitigations

Vlastníci digitálních informací potřebují mít možnost vyhodnotit prostředí, ve kterých se budou jejich prostředky dešifrovat.Digital information owners need to be able to evaluate the environments in which their assets will be decrypted. Prohlášení o minimálních standardech zabezpečení může vlastníkům informací umožnit získat rámcový přehled o úrovni zabezpečení aplikací, kterým svěřují svoje informace, a poskytnout možnost toto zabezpečení vyhodnotit.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.

V některých odvětvích, jako je například státní správa nebo zdravotnictví, existují procesy certifikace a akreditace a standardy, které se můžou vztahovat na váš produkt.Some industries, such as government and health care, have certification and accreditation processes and standards that may apply to your product. Vyhovění minimálním doporučením v oblasti zabezpečení není to stejné jako splnění jedinečných potřeb akreditace, které mají vaši zákazníci.Meeting these minimum security recommendations is not a substitute for the unique accreditation needs of your customers. Cílem standardů zabezpečení ale je pomoci vám při přípravě na současné a budoucí požadavky zákazníků. Veškeré investice, které učiníte v raném stadiu cyklu vývoje, tak budou pro vaši aplikaci přínosem.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. Tyto informace představují doporučení, nikoliv formální program Microsoftu pro certifikaci.These are recommendations, not a formal Microsoft certification program.

V systému služeb pro správu práv existuje několik hlavních kategorií ohrožení zabezpečení, včetně následujících:There are several major categories of vulnerabilities in a rights management services system including:

  • Únik – Zobrazení informací v neoprávněných umístěníchLeakage — Information appears in unauthorized locations.
  • Poškození – Úprava softwaru nebo dat neoprávněným způsobemCorruption — Software or data is modified in an unauthorized manner.
  • Odmítnutí – Nedostupnost výpočetního prostředku k použitíDenial — A computing resource is not available for use.

Tato témata se zaměřují především na situace úniku.These topics focus primarily on leakage issues. Integrita systému rozhraní API závisí na jeho schopnosti v čase chránit informace na základě umožnění přístupu pouze určeným entitám.The integrity of a API system depends upon its ability, over time, to protect information, enabling access only to designated entities. Tato témata se dotýkají také situací poškození.These topics also touch upon corruption issues. Situace odmítnutí zahrnuty nejsou.Denial issues are not covered.

Microsoft netestuje plnění minimálních standardů ani nekontroluje výsledky těchto testů. Zajištění, že budou splněné minimální standardy, je zcela v kompetenci partnera.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 poskytuje dvě další úrovně doporučení, které mají pomoct zmírnit běžné hrozby.Microsoft provides two additional levels of recommendations to help mitigate common threats. Obecně se tyto návrhy doplňují. Při splnění preferovaných doporučení se například předpokládá, že jste tam, kde je to možné, vyhověli minimálním standardům (pokud není uvedeno jinak).In general, these suggestions are additive; for example, meeting preferred recommendations assumes that you have met minimum standards, where applicable, unless otherwise specified.

Standardní úroveňStandard level PopisDescription
Minimální standardMinimum standard U aplikace, která pracuje s informacemi chráněnými technologií AIP, je potřeba určit, že vyhovuje minimálním standardům, aby ji bylo možné podepsat produktovým certifikátem od Microsoftu.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. Partneři obecně používají certifikát výrobní hierarchie až v době vydání finální verze softwaru po ověření, že aplikace splňuje tyto minimální standardy, na základě vlastních interních testů.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. Vyhovění minimálním standardům se nepovažuje a nemělo by se považovat za záruku společnosti Microsoft týkající se zabezpečení.Meeting the minimum standard is not, and should not be construed as, a guarantee of security by Microsoft. Microsoft netestuje plnění minimálních standardů ani nekontroluje výsledky těchto testů. Zajištění, že budou splněné minimální požadavky, je zcela v kompetenci partnera.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.
Doporučený standardRecommended standard Doporučené pokyny ukazují cestu ke zdokonalení zabezpečení aplikace a současně naznačují, jak se může AIP vyvíjet s implementací dalších kritérií zabezpečení.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. Dodavatelé se můžou pokusit odlišit svoje aplikace na základě toho, že budou vytvářet aplikace s touto vyšší úrovní zabezpečení.Vendors might attempt to differentiate their applications by building to this higher level of security guidelines.
Preferovaný standardPreferred standard Jedná se o nejvyšší kategorii zabezpečení, která je aktuálně definovaná.This is the highest category of security currently defined. Tento standard by měl být cílem dodavatelů, kteří vyvíjejí aplikace prodávané jako vysoce zabezpečené.Vendors who develop applications marketed as highly secure should aim for this standard. Aplikace, které se řídí tímto standardem, budou pravděpodobně nejméně zranitelné vůči útokům.Applications that adhere to this standard are likely to be the least vulnerable to attack.

Škodlivý softwareMalicious Software

Microsoft má definované minimální požadované standardy, které vaše aplikace musí splňovat pro účely ochrany obsahu před škodlivým softwarem.Microsoft has defined minimum required standards that your application must meet to protect content from malicious software.

Import škodlivého softwaru pomocí tabulek adresImporting Malicious Software by Using Address Tables

AIP nepodporuje úpravy kódu v době běhu ani úpravy tabulky importních adres (IAT).AIP does not support code modification at run time or modification of the import address table (IAT). Tabulka importních adres se vytvoří pro každou knihovnu DLL načtenou do procesního prostoru.An import address table is created for every DLL loaded in your process space. Určuje adresy všech funkcí, které vaše aplikace importuje.It specifies the addresses of all functions that your application imports. Jedním z běžných způsobů útoku je úprava záznamů IAT v aplikaci tak, aby například odkazovaly na škodlivý software.One common attack is to modify the IAT entries within an application to, for example, point to malicious software. AIP v případě zjištění takového typu útoku aplikaci ukončí.AIP stops the application when it detects this type of attack.

Minimální standardMinimum standard

  • Tabulku importních adres není možné během provádění procesu aplikace upravit.You cannot modify the import address table in the application process during execution. Vaše aplikace určuje řadu funkcí volaných za běhu s použitím tabulek adres a ty se nedají změnit za běhu ani následně.- 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. Kromě jiného to znamená, že nemůžete provádět profilaci kódu u aplikace podepsané s použitím certifikátu produktu.Among other things, this means you cannot perform code-profiling on an application signed by using the production certificate.
  • Funkce DebugBreak se nedá volat ze žádné knihovny DLL určené v manifestu.You cannot call the DebugBreak function from within any DLL specified in the manifest.
  • Funkce LoadLibrary se nedá volat s nastaveným příznakem DONT_RESOLVE_DLL_REFERENCES.You cannot call LoadLibrary with the DONT_RESOLVE_DLL_REFERENCES flag set. Tento příznak říká zavaděči, že se má přeskočit vazba na importované moduly, což znamená úpravu tabulky importních adres.This flag tells the loader to skip binding to the imported modules, thereby modifying the import address table.
  • Odložené zavedení není možné pozměnit na základě změny přepínače linkeru /DELAYLOAD za běhu ani následné změny.You cannot alter delayed loading by making run-time or subsequent changes to the /DELAYLOAD linker switch.
  • Odložené zavedení není možné pozměnit na základě poskytnutí vlastní verze podpůrné funkce Delayimp.lib.You cannot alter delayed loading by providing your own version of the Delayimp.lib helper function.
  • V průběhu existence prostředí AIP není možné zrušit zavedení modulů, které se zavedly s odložením pomocí ověřených modulů.You cannot unload modules that have been delay-loaded by authenticated modules while the AIP environment exists.
  • K povolení zrušení zavedení u modulů s odloženým zavedením není možné použít přepínač linkeru /DELAY:UNLOAD.You cannot use the /DELAY:UNLOAD linker switch to enable unloading of delayed modules.

Nesprávná interpretace licenčních právIncorrectly Interpreting License Rights

Pokud vaše aplikace neinterpretuje správně a nevynucuje práva vyjádřená v licenci pro publikování AIP, můžete informace zpřístupnit způsobem, který vlastník informací neměl v úmyslu.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. Aplikace může například uživateli umožňovat uložení nezašifrovaných informací na nové médium, ale licence pro publikování uděluje jenom práva k zobrazení informací.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.

V systému AIP jsou práva uspořádána do několika skupin.The AIP system organizes rights a few groupings. Další informace najdete v tématu Konfigurace práv používání pro Azure Rights Management.For more information, see Configuring usage rights for Azure Rights Management.

Azure Information ProtectionAzure Information Protection

Rozhraní API může, ale nemusí uživateli umožňovat informace dešifrovat. Informace nemají žádnou vlastní ochranu.API allows a user to either decrypt information or not; the information does not have any inherent protection. Pokud má uživatel právo dešifrovat informace, rozhraní API to umožňuje a aplikace odpovídá za správu nebo ochranu těchto informací, když nejsou šifrované.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. Aplikace odpovídá za správu prostředí a rozhraní, aby nedošlo k neoprávněnému použití informací, například tím, že nebude možné použít tlačítka pro tisk a kopírování, pokud licence uděluje jenom právo přehrávat.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. Vaše testovací sada by měla ověřit, že aplikace funguje správně u všech licenčních práv, která rozpozná.Your test suite should verify that your application acts correctly on all the license rights that it recognizes.

Minimální standardMinimum standard

  • Implementace zákazníka XrML v.1.2 práv by měla být konzistentní s definicemi tato práva, jak je popsáno v XrML specifikace, které jsou k dispozici na webu 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). Veškerá práva, která jsou specifická pro vaši aplikaci, je potřeba definovat pro všechny entity, které mají o vaši aplikaci zájem.Any rights that are specific to your application must be defined for all entities that have an interest in your application.
  • Vaše testovací sada a testovací proces by měly ověřit, že se vaše aplikace správně provede v souladu s právy, která aplikace podporuje, a že nepostupuje podle nepodporovaných práv.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.
  • Pokud vytváříte aplikaci pro publikování, musíte zpřístupnit informace, které vysvětlují to, která vnitřní práva aplikace pro publikování podporuje a která nepodporuje a jak se mají tato práva interpretovat.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. Kromě toho by měl koncový uživatel z uživatelského rozhraní jasně vědět, jaké jsou implikace přidělení nebo zamítnutí jednotlivých práv u jednotlivých informací.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.

  • Veškerá práva abstrahovaná zahrnutím do nových práv implementovaných aplikací je potřeba namapovat na novou terminologii.Any rights that are abstracted by inclusion in new rights implemented by an application need to be mapped to the new terminology. Například nové právo s názvem SPRÁVCE může zahrnovat abstrahovaná práva TISK, KOPÍROVAT a UPRAVIT.For example, a new right called MANAGER might include as abstracted rights the PRINT, COPY, and EDIT rights. Doporučený standard: V současné době žádný není.Recommended standard None at this time. Preferovaný standard: V současné době žádný není.Preferred standard None at this time.

KomentářeComments

Před přidáním komentáře se podívejte na naše pravidla organizace.Before commenting, we ask that you review our House rules.