Melhores Práticas de Segurança do Azure Information ProtectionSecurity Best Practices for Azure Information Protection

O Software Development Kit (SDK) do Azure Information Protection (AIP) proporciona um sistema robusto para publicar e consumir informações protegidas de todos os tipos.The Azure Information Protection (AIP) Software Development Kit (SDK) provides a robust system for publishing and consuming protected information of all types. Para permitir que um sistema AIP seja tão forte quanto possível, as aplicações com suporte AIP têm de ser concebidas tendo em conta as melhores práticas do AIP.To help an AIP system be as strong as possible, AIP enabled applications must be built using AIP best practices. As aplicações com suporte AIP têm a responsabilidade partilhada de ajudar a manter a segurança deste ecossistema.AIP enabled applications share responsibility for helping to maintain the security of this ecosystem. Identificar os riscos de segurança e proporcionar soluções de mitigação para esses riscos introduzidos durante o desenvolvimento da aplicação ajuda a minimizar a probabilidade de uma implementação de software menos segura.Identifying security risks and providing mitigations for those risks introduced during application development helps to minimize the likelihood of a less secure software implementation.

As melhores práticas para a implementação de aplicações com o Software Development Kit (SDK) do Azure Information Protection incluem as seguintes categorias de sugestões:Best practices for implementing applications by using the Azure Information Protection Software Development Kit (SDK) include the following categories of suggestions:

Estas informações complementam o contrato legal que é preciso assinar para obter os certificados digitais necessários para implementar aplicações com o SDK do 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.

Assuntos Não Abrangidos Nestes TópicosSubjects Not Covered in These Topics

Estes tópicos descrevem sucintamente os seguintes problemas, que são significativos quando se tenta criar um ambiente de desenvolvimento e uma aplicação segura:These topics briefly describe the following issues, which are significant when attempting to create both a development environment and a secure application:

  • Gestão do processo de desenvolvimento de software – inclui informações sobre a gestão da configuração, a proteção do código fonte, a minimização do acesso ao código depurado e a atribuição de prioridade a erros.Software development process management — Includes information about configuration management, securing source code, minimizing access to debugged code, and assigning priority to bugs. Para alguns dos seus clientes, ter um processo de desenvolvimento de software mais seguro reveste-se da maior importância.For some of your customers, having a more secure software development process is of paramount importance to them. Alguns clientes prescrevem mesmo um processo de desenvolvimento.Some customers even prescribe a development process.
  • Erros de codificação comuns – inclui informações sobre como evitar transbordos da memória intermédia.Common coding errors — Includes information about avoiding buffer overruns. Recomendamos a versão mais recente de “Writing Secure Code”, de Michael Howard e David LeBlanc (Microsoft Press, 2002), para rever estas ameaças e mitigações genéricas.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.
  • Engenharia social – inclui informações sobre salvaguardas processuais e estruturais que ajudam a proteger contra a exploração do código por programadores ou outras pessoas na organização do fabricante.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.
  • Segurança física – inclui informações sobre o bloqueio do acesso ao seu código base e a assinatura de certificados.Physical security — Includes information about locking down access to your code base and signing certificates.
  • Implementação ou distribuição de software de pré-lançamento – inclui informações sobre a distribuição de software beta.Deployment or distribution of prerelease software — Includes information about distributing your beta software.
  • Gestão de rede – inclui informações sobre sistemas de deteção de intrusões nas suas redes físicas.Network management — Includes information about intrusion-detection systems on your physical networks.

Modelos de Ameaças e MitigaçõesThreat Models and Mitigations

Os proprietários de informações digitais têm de ser capazes de avaliar os ambientes nos quais os seus recursos serão desencriptados.Digital information owners need to be able to evaluate the environments in which their assets will be decrypted. Uma declaração de padrões de segurança mínimos pode proporcionar aos proprietários de informações um enquadramento que lhes permite compreender e avaliar o nível de segurança das aplicações às quais confiam as suas informações.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.

Alguns setores, como a administração pública e a saúde, têm processos e normas de certificação e acreditação que se podem aplicar ao seu produto.Some industries, such as government and health care, have certification and accreditation processes and standards that may apply to your product. O cumprimento destas recomendações de segurança mínimas não substitui as necessidades de acreditação exclusivas dos seus clientes.Meeting these minimum security recommendations is not a substitute for the unique accreditation needs of your customers. No entanto, o objetivo dos padrões de segurança consiste em ajudá-lo a preparar-se para os requisitos atuais e futuros dos clientes e qualquer investimento que faça no início do ciclo de desenvolvimento será vantajoso para a sua aplicação.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. As informações aqui disponibilizadas são recomendações e não um programa de certificação formal da Microsoft.These are recommendations, not a formal Microsoft certification program.

Existem várias categorias principais de vulnerabilidades num sistema de serviços de gestão de direitos, incluindo as seguintes:There are several major categories of vulnerabilities in a rights management services system including:

  • Fuga – as informações aparecem em localizações não autorizadas.Leakage — Information appears in unauthorized locations.
  • Danos – o software ou os dados são modificados de forma não autorizada.Corruption — Software or data is modified in an unauthorized manner.
  • Rejeição – um recurso informático não está disponível para utilização.Denial — A computing resource is not available for use.

Estes tópicos concentram-se principalmente nos problemas relacionados com as fugas.These topics focus primarily on leakage issues. A integridade de um sistema AIP depende da respetiva capacidade de proteger as informações ao longo do tempo e de permitir o acesso apenas a entidades designadas.The integrity of a API system depends upon its ability, over time, to protect information, enabling access only to designated entities. Estes tópicos abordam também os problemas relacionados com os danos.These topics also touch upon corruption issues. Os problemas de rejeição não são abrangidos.Denial issues are not covered.

A Microsoft não testa nem revê os resultados de testes relacionados com o cumprimento dos padrões mínimos; é da inteira responsabilidade do parceiro garantir que os padrões mínimos são cumpridos.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. A Microsoft disponibiliza dois níveis adicionais de recomendações para ajudar a mitigar ameaças comuns.Microsoft provides two additional levels of recommendations to help mitigate common threats. Em geral, estas sugestões têm caráter aditivo. Por exemplo, para cumprir as recomendações preferenciais, parte-se do princípio de que cumpriu os padrões mínimos, onde aplicável, salvo especificação em contrário.In general, these suggestions are additive; for example, meeting preferred recommendations assumes that you have met minimum standards, where applicable, unless otherwise specified.

Nível do padrãoStandard level DescriçãoDescription
Padrão mínimoMinimum standard É preciso determinar que uma aplicação que processa informações protegidas pelo AIP cumpre o padrão mínimo antes de poder ser assinada com o certificado de produção recebido da 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. Geralmente, os parceiros utilizam o certificado de hierarquia de produção apenas no momento do lançamento final do software, depois de os seus próprios testes internos confirmarem que a aplicação satisfaz este padrão mínimo.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. O cumprimento do padrão mínimo não é uma garantia de segurança por parte da Microsoft e não deve ser interpretado como tal.Meeting the minimum standard is not, and should not be construed as, a guarantee of security by Microsoft. A Microsoft não testa nem revê os resultados de testes relacionados com o cumprimento dos padrões mínimos; é da inteira responsabilidade do parceiro garantir que os padrões mínimos são cumpridos.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.
Padrão recomendadoRecommended standard As diretrizes recomendadas traçam um caminho para uma maior segurança das aplicações, além de proporcionarem uma indicação da forma como o AIP pode evoluir à medida que são implementados mais critérios de segurança.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. Os fornecedores poderão tentar diferenciar as suas aplicações ao concebê-las de acordo com este nível mais elevado de diretrizes de segurança.Vendors might attempt to differentiate their applications by building to this higher level of security guidelines.
Padrão preferencialPreferred standard É a mais elevada categoria de segurança atualmente definida.This is the highest category of security currently defined. Os fornecedores que desenvolvem aplicações comercializadas como altamente seguras devem ter em vista este padrão.Vendors who develop applications marketed as highly secure should aim for this standard. As aplicações que satisfazem este padrão são, provavelmente, as menos vulneráveis a ataques.Applications that adhere to this standard are likely to be the least vulnerable to attack.

Software MaliciosoMalicious Software

A Microsoft definiu padrões obrigatórios mínimos que a sua aplicação tem de satisfazer para proteger os conteúdos contra software malicioso.Microsoft has defined minimum required standards that your application must meet to protect content from malicious software.

Importar Software Malicioso Através de Tabelas de EndereçosImporting Malicious Software by Using Address Tables

O AIP não suporta a modificação do código durante o tempo de execução nem a modificação da tabela de endereços de importação (IAT).AIP does not support code modification at run time or modification of the import address table (IAT). É criada uma tabela de endereços de importação para cada DLL carregado no seu espaço de processo.An import address table is created for every DLL loaded in your process space. Essa tabela especifica os endereços de todas as funções que a sua aplicação importa.It specifies the addresses of all functions that your application imports. Um ataque comum consiste em modificar as entradas de IAT numa aplicação para, por exemplo, apontarem para software malicioso.One common attack is to modify the IAT entries within an application to, for example, point to malicious software. O AIP para a aplicação quando deteta este tipo de ataque.AIP stops the application when it detects this type of attack.

Padrão mínimoMinimum standard

  • Não pode modificar a tabela de endereços de importação no processo da aplicação durante a execução.You cannot modify the import address table in the application process during execution. A aplicação especifica muitas das funções chamadas durante o tempo de execução através da utilização de tabelas de endereços e estas não podem ser alteradas durante ou após o tempo de execução.- 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 outras coisas, isto significa que não pode criar um perfil do código de uma aplicação assinada com o certificado de produção.Among other things, this means you cannot perform code-profiling on an application signed by using the production certificate.
  • Não pode chamar a função DebugBreak a partir de qualquer DLL especificado no manifesto.You cannot call the DebugBreak function from within any DLL specified in the manifest.
  • Não pode chamar LoadLibrary com o sinalizador DONT_RESOLVE_DLL_REFERENCES definido.You cannot call LoadLibrary with the DONT_RESOLVE_DLL_REFERENCES flag set. Este sinalizador indica ao carregador para ignorar o enlace aos módulos importados, que modifica a tabela de endereços de importação.This flag tells the loader to skip binding to the imported modules, thereby modifying the import address table.
  • Não pode alterar o carregamento atrasado ao fazer alterações durante o tempo de execução ou subsequentes ao comutador de ligação /DELAYLOAD.You cannot alter delayed loading by making run-time or subsequent changes to the /DELAYLOAD linker switch.
  • Não pode alterar o carregamento atrasado ao fornecer a sua própria versão da função de programa auxiliar Delayimp.lib.You cannot alter delayed loading by providing your own version of the Delayimp.lib helper function.
  • Não pode descarregar módulos que tenham sido carregados com atraso por módulos autenticados enquanto o ambiente de AIP existir.You cannot unload modules that have been delay-loaded by authenticated modules while the AIP environment exists.
  • Não pode utilizar o comutador de ligação /DELAY:UNLOAD para ativar a descarga dos módulos atrasados.You cannot use the /DELAY:UNLOAD linker switch to enable unloading of delayed modules.

Interpretar Incorretamente Direitos de LicençaIncorrectly Interpreting License Rights

Se a sua aplicação não interpretar e impuser corretamente os direitos expressos na licença de emissão do AIP, poderá disponibilizar as informações de formas que o proprietário das mesmas não tencionava.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. Por exemplo, uma aplicação pode permitir a um utilizador guardar informações não encriptadas num novo suporte de dados quando a licença de emissão confere apenas o direito de ver as informações.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.

O sistema AIP organiza os direitos em alguns agrupamentos.The AIP system organizes rights a few groupings. Para obter mais informações, veja Configuração de direitos de utilização para o Azure Rights Management.For more information, see Configuring usage rights for Azure Rights Management.

Azure Information ProtectionAzure Information Protection


O AIP permite que um utilizador desencripte informações ou não; as informações não têm qualquer proteção inerente.API allows a user to either decrypt information or not; the information does not have any inherent protection. Se um utilizador tiver o direito de desencriptar informações, o AIP permite que o faça e a aplicação é responsável por gerir ou proteger essas informações depois de estarem a salvo.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. Uma aplicação é responsável por gerir o seu ambiente e interface de modo a impedir a utilização não autorizada de informações. Por exemplo, poderá desativar os botões Imprimir e Copiar se uma licença conceder apenas o direito REPRODUZIR.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. O seu conjunto de aplicações de teste deve confirmar se a aplicação atua corretamente em todos os direitos de licença que reconhece.Your test suite should verify that your application acts correctly on all the license rights that it recognizes.

Padrão mínimoMinimum standard

  • A implementação do cliente dos direitos de XrML v.1.2 deve ser consistente com as definições desses direitos, conforme descrito nas especificações de XrML, que estão disponíveis no site do 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). Quaisquer direitos que sejam específicos da sua aplicação têm de ser definidos para todas as entidades que têm um interesse na mesma.Any rights that are specific to your application must be defined for all entities that have an interest in your application.
  • O seu conjunto de aplicações de teste e o seu processo de teste devem confirmar se a aplicação executa corretamente os direitos que suporta e que não atua com base em direitos não suportados.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.
  • Se estiver a criar uma aplicação de publicação, tem de disponibilizar informações que expliquem que direitos intrínsecos são e não são suportados pela aplicação e como esses direitos devem ser interpretados.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. Além disso, a interface de utilizador deve explicar claramente ao utilizador final quais são as implicações de cada direito concedido ou negado a uma determinada informação.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.

  • Quaisquer direitos que sejam abstraídos por inclusão em novos direitos implementados por uma aplicação têm de ser mapeados para a nova terminologia.Any rights that are abstracted by inclusion in new rights implemented by an application need to be mapped to the new terminology. Por exemplo, um novo direito denominado GESTOR pode incluir como direitos abstraídos os direitos IMPRIMIR, COPIAR e EDITAR.For example, a new right called MANAGER might include as abstracted rights the PRINT, COPY, and EDIT rights. Padrão recomendado Nenhum neste momento.Recommended standard None at this time. Padrão preferencial Nenhum neste momento.Preferred standard None at this time.

ComentáriosComments

Antes de inserir um comentário, pedimos-lhe que reveja as nossas Regras básicas.Before commenting, we ask that you review our House rules.