Information Protection için önerilen güvenlik uygulamalarıSecurity best practices for Information Protection

Information Protection yazılım geliştirme setleri (SDK'lar) yayımlama ve tüm türlerdeki korunan bilgilerin kullanma için sağlam bir sistem sağlar.Information Protection Software Development Kits (SDKs) provide a robust system for publishing and consuming protected information of all types. Bir sistemde olabildiğince güçlü olmasına yardımcı olmak için bilgi koruması etkinleştirilmiş uygulamaların en iyi yöntemleri kullanılarak oluşturulmalıdır.To help a system be as strong as possible, information protection-enabled applications must be built using best practices. Uygulamalar, bu ekosistemin güvenliğinin korunmasına yardımcı olacak sorumluluğunu paylaşır.Applications share responsibility in helping maintain the security of this ecosystem. Uygulama geliştirme sırasında ortaya çıkan güvenlik risklerinin belirlenmesi ve bu risklerin azaltılması, daha az güvenli bir yazılım oluşturma olasılığını en aza indirir.Identifying security risks and providing mitigations for those risks introduced during application development helps to minimize the likelihood of a less secure software implementation.

Bu bilgiler, SDK'larını kullanarak uygulamalar için dijital sertifikaları almak için imzalanması gereken yasal sözleşmeyi tamamlayıcı niteliktedir.This information supplements the legal agreement that must be signed, to obtain digital certificates for applications using the SDKs.

Kapsanmayan konularSubjects not covered

Aşağıdaki konular geliştirme ortamı ve güvenli uygulamalar oluşturmak için önemli noktalar olsa da, bu makalenin kapsamı dışındadır duyuyoruz:Although the following subjects are important considerations for creating a development environment and secure applications, they're out of scope for this article:

  • Yazılım geliştirme Süreci Yönetimi — yapılandırma yönetimi, kaynak kodun güvenliğini sağlama, hatası ayıklanmış uygulamaya erişimi en aza indirme ve hataların önceliklerini atama.Software development process management — Configuration management, securing source code, minimizing access to debugged code, and assigning priority to bugs. Bazı müşteriler için daha güvenli bir yazılım geliştirme sürecine sahip olmak önem sıralamasında önemlidir.For some customers, having a more secure software development process is of paramount importance to them. Hatta bazı müşteriler geliştirme sürecini kendileri belirler.Some customers even prescribe a development process.
  • Yaygın kod hataları — arabellek taşmalarını önleme hakkında bilgi.Common coding errors — Information for avoiding buffer overruns. Bu genel tehditleri ve bunları azaltma yollarını gözden geçirmek için, Michael Howard ve David LeBlanc’in Writing Secure Code (Microsoft Press, 2002) adlı çalışmasının en son basımını öneririz.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.
  • Sosyal mühendislik — kodun üreticinin kuruluşundaki geliştiriciler veya diğer kişiler tarafından istismar karşı korumaya yardımcı olmak için yordam ve yapı korumaları hakkında bilgi içerir.Social engineering — Includes information about procedural and structural safeguards, to help protect code against exploitation by developers or others within the manufacturer's organization.
  • Fiziksel güvenlik — Kod tabanınıza ve imzalama sertifikalarınıza erişimi kilitleme hakkında bilgi içerir.Physical security — Includes information about locking down access to your code base and signing certificates.
  • Dağıtım veya ön sürüm yazılım dağıtımı — Beta yazılımınızı dağıtma hakkında bilgi içerir.Deployment or distribution of prerelease software — Includes information about distributing your beta software.
  • Ağ yönetimi — Fiziksel ağlarınıza izinsiz girişi algılama sistemleri hakkında bilgi içerir.Network management — Includes information about intrusion-detection systems on your physical networks.

Tehdit modelleri ve riskleri azaltmaThreat models and mitigations

Dijital bilgilerin sahipleri, varlıklarının şifresinin ortamları gerçekleştirebilmeleri gerekmektedir.Digital information owners need the ability to evaluate the environments in which their assets will be decrypted. En düşük güvenlik standartlarını bir deyim, bilgi sahiplerine anlama ve uygulamaların güvenlik düzeyini değerlendirmek için bir çerçeve sağlar.A statement of minimum security standards provides information owners with a framework for understanding and assessing the security level of the applications.

Kamu ve sağlık sektörü gibi bazı sektörlerde, ürününüze uygulanabilecek sertifikasyon ve akreditasyon süreçleri ve standartları vardır.Some industries, such as government and health care, have certification and accreditation processes and standards that may apply to your product. Bu en düşük güvenlik önerilerine, müşterilerinizin benzersiz akreditasyon ihtiyaçları için bir alternatif değildir.Meeting these minimum security recommendations isn't a substitute for the unique accreditation needs of your customers. Bununla birlikte, güvenlik standartlarının amacı mevcut veya gelecekteki müşterilerin gereksinimleri için hazırlık yapmanıza yardımcı olmaktır ve geliştirme döngüsünün başlarında yapacağınız her yatırım uygulamanıza yararlı olacaktır.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. Bu öneriler, olmayan bir biçimsel Microsoft'un resmi sertifikasyon programı yönergelerdir.These guidelines are recommendations, not a formal Microsoft certification program.

Bir hak yönetimi hizmetleri sisteminde bazı önemli güvenlik açığı kategorileri vardır, bunlar:There are several major categories of vulnerabilities in a rights management services system including:

  • Sızıntı — Bilgiler yetkisiz konumlarda ortaya çıkar.Leakage — Information appears in unauthorized locations.
  • Bozulma — Yazılım veya verilerde yetkisiz değişiklikler yapılır.Corruption — Software or data is modified in an unauthorized manner.
  • Engelleme — bir bilgi işlem kaynağı kullanıma hazır değil.Denial — A computing resource isn't available for use.

Bu konu başlıkları, öncelikle sızıntı sorunlarına odaklanır.These topics focus primarily on leakage issues. Bir API sisteminin bütünlüğü, zamanla bilgileri yalnızca belirlenen tarafların erişimine koruma tanıma becerisine bağlıdır.The integrity of an API system depends upon its ability, over time, to protect information, enabling access only to designated entities. Bu konu başlıklarında, bozulma sorunlarına da değinilir.These topics also touch upon corruption issues. Engelleme sorunları bu konuların kapsamında değildir.Denial issues aren't covered.

Microsoft olmayan veya en düşük standardın karşılanmasıyla ilgili testler test sonuçlarını gözden geçirin.Microsoft doesn't test or review test results related to meeting the minimum standard. İş ortağı, en düşük standartların karşılanması sağlamaktan sorumludur.The partner is responsible for ensuring the minimum standards are met. Microsoft, yaygın tehditleri azaltmaya yardımcı olmak için fazladan iki öneri düzeyi daha sağlar.Microsoft provides two additional levels of recommendations to help mitigate common threats. Genel olarak, bu öneriler birbirine eklenebilir.In general, these suggestions are additive. Örneğin, tercih edilen önerilere, en düşük standartlara uygun olan yerlerde, aksi belirtilmediği sürece uyduğunuz varsayılır.For example, meeting preferred recommendations assumes that you have met minimum standards, where applicable, unless otherwise specified.

Standart düzeyiStandard level AçıklamaDescription
En düşük standartMinimum standard Korumalı bilgileri işleyen bir uygulama, Microsoft'tan alınan üretim sertifikasıyla imzalanabilmesi için önce en düşük standardın karşılaması gerekir.An application that handles protected information must meet the minimum standard, before it can be signed with the production certificate received from Microsoft. İş ortakları üretim hiyerarşisi sertifikasını yazılımın son sürümü sırasında genellikle kullanın.Partners generally use the production hierarchy certificate, at the time of final release of the software. Bir iş ortağının iç kendi testleri uygulamanın bu en düşük standarda uyduğunu olup olmadığını doğrulamak için kullanılır.A partner's own internal tests are used to verify whether the application meets this minimum standard. En düşük standarda değildir ve Microsoft tarafından güvenliğin garanti, çerçevesinde olmamalıdır.Meeting the minimum standard isn't, and shouldn't be construed as, a guarantee of security by Microsoft. Microsoft olmayan veya en düşük standardın karşılanmasıyla ilgili testler test sonuçlarını gözden geçirin.Microsoft doesn't test or review test results related to meeting the minimum standard. İş ortağı, en düşük standardın karşılanması emin olmakta sorumludur.The partner is responsible for ensuring the minimum is met.
Önerilen standartRecommended standard Önerilen yönergeler hem gelişmiş uygulama güvenliği için bir yol grafik ve daha fazla güvenlik ölçütü uygulandığında aıp'nin nasıl SDK evrim geçirebileceğinden, ilişkin bir gösterge sağlar.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. Satıcılar, yapı bu daha yüksek düzey güvenlik yönergelerine göre uygulamalarını ayırt.Vendors may differentiate their applications by building to this higher level of security guidelines.
Tercih edilen standartPreferred standard Bu standart, yüksek şu anda tanımlı güvenlik kategorisidir.This standard is the highest category of security currently defined. Üst düzeyde güvenli olarak pazarlanan uygulamaları geliştiren satıcıların bu standardı hedeflemesi gerekir.Vendors who develop applications marketed as highly secure should aim for this standard. Bu standarda uyan uygulamalar, büyük olasılıkla saldırılara karşı en korumalı uygulamalardır.Applications that adhere to this standard are likely to be the least vulnerable to attack.

Kötü amaçlı yazılımMalicious software

Microsoft, içeriği kötü amaçlı yazılımdan korumak için uygulamanızın uyması gereken en düşük standartları tanımlamıştır.Microsoft has defined minimum required standards that your application must meet to protect content from malicious software.

Adres tablolarını kullanarak kötü amaçlı yazılımı içeri aktarmaImporting malicious software by using address tables

Information protection SDK'sı, çalışma zamanında kod değişikliğini veya içeri aktarma adres tablosunda (IAT) değiştirilmesini desteklemez.The information protection SDK doesn't support code modification at run time or modification of the import address table (IAT). İşlem alanınızda yüklenen her DLL için bir içeri aktarma adres tablosu oluşturulur.An import address table is created for every DLL loaded in your process space. Bu, uygulamanızın içeri aktardığı tüm işlevlerin adreslerini belirtir.It specifies the addresses of all functions that your application imports. Yaygın saldırılardan biri de, uygulama içindeki IAT girdilerini, örneğin kötü amaçlı yazılıma işaret edecek şekilde değiştirmektir.One common attack is to modify the IAT entries within an application to, for example, point to malicious software. SDK, bu tür bir saldırı algıladığında uygulamayı durdurur.The SDK stops the application when it detects this type of attack.

En düşük standartMinimum standard

  • Yürütme sırasında uygulama işlemindeki içeri aktarma adres tablosu değiştirilemiyor.You can't modify the import address table in the application process during execution. Uygulamanız çok adres tablolarını kullanarak çalışma zamanında çağrılan işlevlerin belirtir.Your application specifies many of the functions called at run time by using address tables. Bu tablolar sırasında çalıştırma zamanında veya sonrasında değiştirilemez.These tables can't be altered during or after run time. Diğerlerinin yanı sıra bu kısıtlama, üretim sertifikası kullanılarak imzalanmış bir uygulamada kod profil işlemi yapılamayacağı anlamına gelir.Among other things, this restriction means you can't perform code-profiling on an application signed by using the production certificate.
  • Çağıramazsınız DebugBreak işlevini bildirimde belirtilen hiçbir DLL'nin içinden.You can't call the DebugBreak function from within any DLL specified in the manifest.
  • Çağıramazsınız LoadLibrary ile LoadLibrary bayrağı ayarlanmış.You can't call LoadLibrary with the DONT_RESOLVE_DLL_REFERENCES flag set. Bu bayrak, yükleyiciye içeri aktarılan modüllerle bağlamayı atlamasını, bu yolla içeri aktarma adres tablosunun değiştirilmesini bildirir.This flag tells the loader to skip binding to the imported modules, thereby modifying the import address table.
  • / Delayload bağlayıcı anahtarında çalıştırma zamanında veya sonrasında değişiklikler yaparak Gecikmeli yüklemeyi değiştiremezsiniz.You can't alter delayed loading by making run-time or subsequent changes to the /DELAYLOAD linker switch.
  • Kendi Delayimp.lib yardımcı işlevi sürümünüzü sağlayarak Gecikmeli yüklemeyi değiştiremezsiniz.You can't alter delayed loading by providing your own version of the Delayimp.lib helper function.
  • Information protection SDK'sı ortamı varken kimliği doğrulanmış modüller tarafından Gecikmeli yüklenen modülleri kaldıramıyor.You can't unload modules that are delay-loaded by authenticated modules, while the information protection SDK environment exists.
  • Kullanamazsınız /DELAY:UNLOAD Gecikmeli modüllerin yüklemesini kaldırmak için bağlayıcı anahtarı.You can't use the /DELAY:UNLOAD linker switch to enable unloading of delayed modules.

Lisans haklarını yanlış yorumlamaIncorrectly interpreting license rights

Uygulamanızı değil doğru yorumlamıyor ve SDK'sı verme lisans hakları, bilgileri bilgi sahibi düşünmediğiniz şekillerde kullanılabilir duruma getirir.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. Örneğin, ne zaman bir uygulama kullanıcının verme lisansı yalnızca bilgileri görüntüleme hakkı verirken şifrelenmemiş bilgileri yeni medyaya kaydetme izin verir.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)

Bilgi koruma sistemi düzenler hakları birkaç gruplandırma.The information protection system organizes rights a few groupings. Daha fazla bilgi için Azure Information Protection için kullanım haklarını yapılandırma.For more information, see Configuring usage rights for Azure Information Protection.

AIP veya bilgi ya da şifresini açmasına olanak sağlar.AIP allows a user to either decrypt information or not. Bilgilerin devralınmış bir koruması yoktur.The information doesn't have any inherent protection. Bir kullanıcının şifresini çözme hakkı varsa, API, izin verir.If a user has the right to decrypt, the API permits it. Uygulama yönetme veya açık bir şekilde tamamlandıktan sonra bu bilgi koruma sorumludur.The application is responsible for managing or protecting that information after it is in the clear. Bir uygulama, bilgilerin yetkisiz kullanımını önlemek için arabirim ve ortam yönetmekten sorumludur.An application is responsible for managing its environment and interface to prevent the unauthorized use of information. Örneğin, devre dışı bırakma yazdırma ve kopyalama lisansı, yalnızca GÖRÜNTÜLE hakkı veriyorsa, düğme.For example, disabling the Print and Copy buttons if a license only grants the VIEW right. Test paketiniz, uygulamanızın kabul ettiği tüm lisans haklarına uygun davrandığını doğrulamalıdır.Your test suite should verify that your application acts correctly on all the license rights that it recognizes.

En düşük standartMinimum standard

  • Müşteri XrML v.1.2 haklarını uygulaması XrML Web sitesinde kullanılabilir olan XrML belirtimlerinde açıklanan şekilde bu hakların tanımlarıyla tutarlı olmalıdır (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). Uygulamanıza özgü olan tüm haklar, uygulamanızla ilgisi olan tüm varlıklar için tanımlanmalıdır.Any rights that are specific to your application must be defined for all entities that have an interest in your application.
  • Test paketiniz ve test işlemi, uygulamanızın, uygulamanın desteklediği haklara düzgün çalıştığından emin doğrulamanız gerekir.Your test suite and test process should verify that your application executes properly against the rights that the application supports. BT'nin doğrulamalıdır değil desteklenmeyen haklara göre davranır.It should also verify that it doesn't act upon unsupported rights.
  • Bir yayımlama uygulaması oluşturuyorsanız, kullanılan yapısal hakları desteklediğini açıklayan bilgileri sağlamanız gerekir.If you're building a publishing application, you must make information available that explains the intrinsic rights used. Bu dışında olan ve olmayan, yayımlama uygulamasının ve bu hakların nasıl yorumlanması gerektiğini tarafından desteklenen içerir.This includes those that are, and aren't, supported by the publishing application, and how these rights should be interpreted. Buna ek olarak, kullanıcı arabirimi verilen veya verilmeyen her hakkın tek tek bilgi parçaları açısından ne anlama geldiğini kullanıcıya net bir şekilde göstermelidir.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.
  • Bir uygulama tarafından yeni hakların edilme tarafından soyutlanır herhangi bir hakkı yeni terminolojiyle eşlenmesi gerekir.Any rights that are abstracted, by inclusion in new rights implemented by an application, must be mapped to the new terminology. Örneğin, YÖNETİCİ adlı yeni bir hak, soyutlama yoluyla YAZDIRMA, KOPYALAMA ve DÜZENLEME haklarını içeriyor olabilir.For example, a new right called MANAGER might include as abstracted rights the PRINT, COPY, and EDIT rights.

Şu anda yoktur.None at this time.

Tercih edilen standartPreferred standard

Şu anda yoktur.None at this time.

Sonraki adımlarNext steps

AIP SDK'yı kullanarak uygulamaları uygulamak için en iyi uygulamalar makaleleri içerir:Best practices for implementing applications by using the AIP SDK include the following articles: