.
As assinaturas Office Open XML (OOXML), um padrão Ecma/ISO usado em aplicativos do Microsoft Office e no OnlyOffice de código aberto, possuem várias falhas de segurança e podem ser facilmente falsificadas.
Como resultado, os arquivos do Office assinados dessa maneira podem ser alterados de forma indetectável ou completamente fabricados com uma assinatura forjada. E isso é fundamentalmente contrário ao propósito das assinaturas digitais.
Cinco pesquisadores de computação da Ruhr University Bochum, na Alemanha – Simon Rohlmann, Vladislav Mladenov, Christian Mainka, Daniel Hirschberger e Jörg Schwenk – descrevem esse lamentável estado de coisas em um papel intitulado: “Toda assinatura é quebrada: sobre a insegurança das assinaturas OOXML do Microsoft Office.”
O trabalho está programado para ser apresentado no Simpósio de Segurança USENIX em agosto.
O OOXML apareceu pela primeira vez no Office em 2006. Ele consiste em um pacote compactado de arquivos XML. A Microsoft refere-se ao formato simplesmente como XML aberto.
Os boffins dizem que encontraram discrepâncias na estrutura dos documentos do escritório e na forma como as assinaturas são verificadas. Como resultado, eles foram capazes de identificar cinco maneiras de atacar documentos vulneráveis para alterar seu conteúdo e falsificar assinaturas.
Os pesquisadores testaram os ataques em versões do Microsoft Office no Windows e macOS, bem como no OnlyOffice Desktop para Windows, macOS e Linux. E cada um deles era vulnerável.
E com o Microsoft Office para macOS, as assinaturas de documentos simplesmente não eram validadas. Os pesquisadores descobriram que poderiam adicionar um arquivo vazio chamado sig1.xml a um pacote OOXML – que consiste em vários arquivos compactados – e o Office para Mac mostraria um banner de segurança proclamando que o documento estava protegido por uma assinatura.
“O impacto dos ataques é alarmante: os invasores podem manipular arbitrariamente o conteúdo exibido de um documento assinado e as vítimas não conseguem detectar a adulteração”, explicam os autores em seu artigo.
“Pior ainda, apresentamos um ataque de falsificação de assinatura universal que permite ao invasor criar um documento arbitrário e aplicar uma assinatura extraída de uma fonte diferente, como um documento ODF ou um token SAML. Para a vítima, o documento é exibido como validamente assinado por uma entidade confiável.”
Existem três questões principalmente. Primeiro, o OOXML usa assinaturas parciais, portanto, nem todos os arquivos são verificados. Em segundo lugar, o fluxo de renderização permite que conteúdo não assinado seja adicionado aos arquivos e, em terceiro lugar, lidar com a verificação criptográfica para assinaturas digitais é excessivamente complicado.
“Vemos o principal problema com assinaturas parciais”, explicou Simon Rohlmann, professor de segurança/informação de TI na Mainz University of Applied Sciences e principal autor do artigo enquanto estava na Ruhr University Bochum, em um e-mail para Strong The One. “Uma assinatura digital deve proteger a integridade de um documento, mas ao mesmo tempo nem todas as partes do documento são assinadas. Isso é uma contradição em termos.”
A equipe diz que relatou as descobertas à Microsoft, OnlyOffice e ao comitê de padrões relevante, ISO/IEC JTC 1/SC 34.
A Microsoft, eles afirmam, reconheceu as descobertas e concedeu uma recompensa pelo bug, mas “decidiu que as vulnerabilidades não requerem atenção imediata”. E os pesquisadores dizem que não ouvem falar do OnlyOffice desde outubro de 2022.
A Microsoft e o OnlyOffice não responderam imediatamente aos pedidos de comentários.
Um dos coautores do artigo, Daniel Hirschberger, postou código de prova de conceito para falsificar assinaturas OOXML.
Rohlmann disse que acabou de testar novamente os ataques na versão LTSC mais recente do Microsoft Office 2021 (versão 2108, compilação 14332.20503). “Todos os ataques ainda funcionam, o que significa que as vulnerabilidades não foram corrigidas”, disse ele.
Quando questionado sobre a avaliação da Microsoft de que essas questões não requerem atenção imediata, Rohlmann disse que discorda.
“As assinaturas digitais devem atingir pelo menos os objetivos de segurança da informação de integridade e autenticidade”, disse ele.
“Ao optar pelo padrão OOXML para assinaturas parciais, esses objetivos não podem ser alcançados. Encontramos várias maneiras de modificar o conteúdo de documentos OOXML assinados. Isso torna a assinatura digital desses documentos praticamente inútil. Por exemplo, um invasor pode usar assinaturas documentos para fazer ataques baseados em engenharia social parecerem particularmente confiáveis porque o documento contém uma assinatura válida de um superior.”
Rohlmann disse que não poderia dizer o quão comum documentos OOXML assinados podem ser. “Documentos assinados são usados principalmente por empresas e governos, e são usados principalmente internamente, então não temos nenhuma informação clara sobre isso”, afirmou. “No entanto, eu estimo que a distribuição de documentos PDF assinados é provavelmente significativamente maior do que documentos OOXML assinados.”
Assinaturas parciais, disse Rohlmann, são o principal problema e outros formatos de arquivo resolveram isso, principalmente o OpenDocument Format (ODF).
“Em versões preliminares anteriores, os arquivos de relacionamento não faziam parte do cálculo da assinatura, assim como no OOXML hoje”, disse ele.
“Isto foi corrigido no final ODF versão 1.2. Em nossa pesquisa, também encontramos problemas com versões ODF assinadas, mas provavelmente foram causados por problemas básicos com assinaturas XML ou falhas de implementação por parte dos fornecedores. Em geral, devemos sempre evitar assinaturas parciais em documentos. Uma vez que isso leva a implementações inseguras, relacionadas à assinatura.” ®
.







