Notas de segurança para desenvolvedores de soluções do Office

Definir a segurança do Office em um ambiente de teste

Observação

Você pode incluir código do Visual Basic for Applications (VBA) ou executar suplementos COM somente em um documento, planilha ou apresentação habilitado para macro. Você pode criar um arquivo habilitado para macro salvando os documentos com uma extensão .docm ou .dotm no Word; uma extensão .xlsm, .xltm ou .xlam no Excel; ou uma extensão .pptm, .potm, .ppam ou .ppsm no PowerPoint.

Para instalar e executar um suplemento COM não assinado, as opções Exigir que Suplementos de Aplicativo sejam assinadas por um Fornecedor Confiável e Desabilitar todos os Suplementos de Aplicativos devem ser desmarcadas na guia Suplementos da Central de Confiabilidade. Para abrir a guia Suplementos, escolha a guia Arquivo e, em seguida, escolha Opções>Central> deConfiabilidade Central de Confiabilidade Configurações da Central de ConfiabilidadeSuplementos>.

Para executar todas as macros VBA, incluindo aquelas que não foram assinadas digitalmente, a opção Habilitar todas as macros deve ser selecionada na Central de Confiabilidade. Para exibir as opções de Configurações de Macro, escolha a guia Arquivo e, em seguida, escolha Opções>Central> deConfiabilidade Central de Confiabilidade Configurações>da Central de Confiabilidade Configurações de Macros. Por motivos de segurança, é altamente recomendável que você faça isso somente em um ambiente de teste. Depois de concluir o teste, defina as opções de volta ao estado original.

Na guia Configurações de Macro da Central de Confiabilidade, defina opções como Desabilitar todas as macros sem notificação, Desabilitar todas as macros com notificação ou Desabilitar todas as macros, exceto as macros assinadas digitalmente. Desabilite macros salvando o documento do Word, a planilha do Excel ou a apresentação do PowerPoint como arquivos desabilitados por macro (.docm, .xlsm ou .pptm, respectivamente). Defina ou desative o acesso ao modelo de objeto do projeto VBA na guia Configurações da macro selecionando ou desmarcando a opção Confiar no acesso ao modelo de objeto do projeto VBA .

Observação

Na faixa de opções de interface do usuário do Office Fluent, quando suplementos COM e específicos do aplicativo estão habilitados e carregados, seus controles são exibidos em uma guia Suplementos .

Veja uma lista de suplementos disponíveis na guia Suplementos da Central de Confiabilidade. Na mesma guia, habilite, desabilite, adicione ou remova suplementos COM ou do Word selecionando o tipo de suplemento na caixa suspensa ao lado do rótulo Gerenciar e escolha o botão Ir.

Modificar o Registro do Windows

Modificar o registro do Windows de qualquer maneira, seja no Editor do Registro ou programaticamente, sempre acarreta algum grau de risco. Uma modificação incorreta pode causar problemas sérios que talvez exijam a reinstalação do sistema operacional. É sempre uma boa prática fazer backup do Registro de um computador antes de modificá-lo. Se você estiver executando o Microsoft Windows NT, Windows 2000, Windows XP ou Windows Server 2003, também deverá atualizar seu Disco de Reparo de Emergência (ERD).

Para obter informações sobre como editar o Registro, consulte o tópico da Ajuda Alterando chaves e valores no Editor do Registro (Regedit.exe) ou os tópicos Adicionar e Excluir Informações no Registro e Editar Informações do Registro no Editor do Registro (Regedt32.exe).

Fazer chamadas de função de API do Windows

Antes de chamar funções de API (Interface de Programação de Aplicativos) do Windows, você deve entender como argumentos e tipos de dados são tratados pelas DLLs da API do Windows. Chamar incorretamente as funções do Windows pode resultar em falhas de página inválidas ou outros comportamentos inesperados. Para obter mais informações sobre como chamar funções do Windows, consulte o tópico "A API do Windows e outras bibliotecas Dynamic-Link", na documentação do Office 2000 Developer Online.

Assinar código digitalmente

A assinatura digital de um documento é o processo de "carimbar" um documento para que o destinatário do documento possa ter certeza de que ele veio de uma fonte específica e possa detectar se o conteúdo do documento foi alterado desde que o documento foi assinado. Além disso, as assinaturas digitais podem ser usadas para marcar um documento como somente leitura para proteger sua autenticidade e integridade.

Além das assinaturas digitais, os documentos também podem conter assinaturas no documento que são visíveis no conteúdo do documento. O originador do documento pode criar documentos não assinados com linhas de assinatura que podem ser transmitidas ao destinatário para assinar. O destinatário abre o documento, localiza a linha de assinatura, assina o documento e o devolve ao remetente.

Basicamente, as etapas para assinar digitalmente um documento incluem:

  1. O originador do documento compacta o conteúdo do documento em algumas linhas usando um processo chamado "hashing". O conteúdo compactado é chamado de resumo de mensagens. O hash é realizado por um software criado para essa finalidade.
  2. Em seguida, o remetente do documento criptografa o resumo de mensagens usando uma chave privada obtida de uma autoridade de assinatura. O resultado é uma assinatura digital.
  3. O remetente anexa a assinatura digital ao documento. Todos os dados com hash agora foram assinados, e a assinatura foi criptografada e anexada ao documento.
  4. O originador então envia o documento ao destinatário.
  5. O destinatário primeiro descriptografa o documento usando uma chave pública recebida do originador. Isso altera a assinatura de volta para um resumo de mensagens. Se isso funcionar, prova que o documento foi assinado pelo originador.
  6. O destinatário, usando um software de assinatura digital, faz o hash do documento em um resumo de mensagens e compara esse hash com o hash do remetente. Se eles corresponderem, isso verifica se o conteúdo do documento não foi alterado desde que o documento foi enviado pelo remetente.

As assinaturas digitais estão disponíveis para os clientes desde o Office XP. No entanto, o Office 2007 adicionou recursos que facilitam a assinatura digital de documentos pelos usuários, a assinatura de seus documentos para torná-los somente leitura e a adição de linhas de assinatura de documento embutidas a um documento. Os usuários do Office podem realizar essas tarefas na interface do usuário do Office que está disponível na guia Arquivo .

O Office 2007 também introduziu membros que facilitam o trabalho com assinaturas em linha e assinaturas digitais de forma programática.

Implantar suplementos COM gerenciados no Office com segurança

Para estar em conformidade com a segurança do Office, os suplementos COM gerenciados (suplementos COM direcionados ao Common Language Runtime) devem ser assinados digitalmente, e as configurações de segurança dos usuários devem ser definidas na Central de Confiabilidade do Office para permitir suplementos em seus aplicativos do Office. Além disso, você deve incorporar ao seu projeto de suplemento COM gerenciado um pequeno proxy não gerenciado chamado shim para evitar avisos de segurança inesperados.

Automatizar o Editor do Visual Basic

No Office, ao chamar os recursos do modelo de objeto de Extensibilidade do Visual Basic for Applications, você pode receber uma mensagem de erro informando que o acesso programático ao projeto do Visual Basic não é confiável. Para evitar que essa mensagem apareça, escolha as opções> da guia >Arquivo,guia Central de Confiabilidade e escolha Configurações da Central de Confiabilidade. Em seguida, na guia Configurações de macro , escolha a caixa Confiar no acesso ao modelo de objeto do projeto VBA . Ao marcar essa caixa, você possibilita que macros em qualquer documento habilitado para macro que você abrir acessem os principais objetos, métodos e propriedades do Visual Basic.

Definir a opção representa um possível risco à segurança. O comportamento recomendado é marcar a caixa Confiar no acesso ao modelo de objeto do projeto VBA somente durante uma macro que acessa o modelo de objeto do Visual Basic. Desmarque a caixa Confiar no acesso ao modelo de objeto do projeto VBA depois que a macro terminar de ser executada.

Usar senhas

Evite usar senhas codificadas em seus aplicativos. Se um aplicativo for necessário em um procedimento, solicite a senha do usuário, armazene-a em uma variável e então use a variável em seu código.

Sempre use senhas fortes. Senhas fortes devem conter:

  • Caracteres minúsculos e maiúsculos
  • Números
  • Símbolos (como #, $, % e ^)
  • Pelo menos oito caracteres

Senhas fortes não devem conter padrões, temas ou palavras encontradas em um dicionário.

Exemplos de senhas fortes incluem:

  • $tR0n9p@$s
  • G80dn[s$M4!

Observação

Você deve alterar sua senha com frequência; Por exemplo, a cada um a três meses.

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.