<<< Date Index >>>     <<< Thread Index >>>

Re: MS Office 2007: Digital Signature does not protect Meta-Data



Dear Mr. Naujoks,

thanks for the feedback.

From: "Naujoks, Hans-Dietmar" <Hans-Dietmar.Naujoks@xxxxxxxxxxxx>
> I think Microsoft does not consider metadata attached to a document as
> part of the document and so they decided not to include it in the
> content protected by the certificate.

Considering that the MetaData not protected by the signature contains
among others:
1.) Author
2.) Dates of creation and last change
3.) State Information
I do think that most people, certainly the users, would feel that this
data belongs to the "document", and would be protected when the
"document" is signed.

Considering that the signature creation time is stored and protected by
the digital signature might help against modified creation times (and
mitigate 2). But applications must consider this, and at least in MS
Word the signature creation time is not displayed next to the other
metadata, but (at least) next to the signature properties.

> This fits the way we use attaching metadata during the process of
> categorization to enable retrieval of a document by means and
> taxonomies of the recipient, not of the author. If instead, as you
> seem to propose, metadata would be treated as part of the document,
> attaching the metadata needed for retrieval purposes would invalidate
> the signature of the document.

I think that there are other ways of adding additional MetaData, from
the signer's point of view these are third-party MetaData. And, yes  I
think that any data (including MetaData) set by the author should be
protected by the author's digital signature:
1) Store it in an additional file inside the OOXML ZIP container
2) Apply a suitable transformation during the signature creation to
protect user defined Meta-data entries, then what ever the user did not
fill in before signing is not protected, but here we have a problem
communicating this via GUI to the user.
3) probably several other ways ...

> Just think of it as a sticker placed on the outside of a sealed 
> envelope: You mustn't trust anything on the outside, just look inside 
> the envelope to find the information you can rely on.

Looking at the GUI[1], unsigned MetaData is displayed above the
document, and next to the document it displays the statement of
a valid signature.
How a user would distinguish digitally signed data (Document-Content and
formatting) from unsigned data (MetaData)?
Or to use your example: What is the envelope and what is the inside?

One big problem I see is that the user is left alone answering this
question, and I have my doubts that a user would even ask
herself/himself this question in the first place.

Best Regards,
Henrich C. Pöhls

[1] Screenshot of a German Word 2007 GUI showing modified MetaData, and
the intact digital signature
<http://www.informatik.uni-hamburg.de/SVS/personnel/henrich/bugtraq_word_metatdata_screenshot.jpg>


> -----Ursprüngliche Nachricht-----
> Von: poehls@xxxxxxxxxxxxxxxxxxxxxxxxx 
> [mailto:poehls@xxxxxxxxxxxxxxxxxxxxxxxxx] 
> Gesendet: Mittwoch, 12. Dezember 2007 11:35
> An: bugtraq@xxxxxxxxxxxxxxxxx
> Betreff: MS Office 2007: Digital Signature does not protect Meta-Data
> 
> 
> Affects: Microsoft Office 2007 (12.0.6015.5000) 
> 
>          MSO (12.0.6017.5000) 
> 
>          possibly older versions
> 
> 
> 
> I. Background
> 
> 
> Microsoft Office is a suite containing several programs to
> 
> handle Office documents like text documents or spreadsheets. 
> 
> The latest version uses an XML based document format. 
> 
> Microsoft Office allows documents to be digitally signed by
> 
> authors using certified keys, allowing viewers to verify the 
> 
> integrity and the origin based on the author's public key. 
> 
> The author's public key certificate, which can come from a 
> 
> trusted third party, is embedded in the signed document. 
> 
> It is XML DSig based.
> 
> 
> 
> II. Problem Description
> 
> 
> Microsoft Office documents carry meta data information 
> 
> according to the DublinCore metadata in the file 
> 
> docProps/core.xml . Among these meta data information 
> 
> are the fields "LastModifiedBy", "creator" together with 
> 
> several others that can be displayed/changed through the 
> 
> following menu "Office Button -> Prepare -> Properties".
> 
> These entries can be changed without invalidating the signature. 
> 
> At least under Windows Operating Systems these information are 
> 
> also shown in the Window's file systems properties.
> 
> 
> 
> III. Impact
> 
> 
> The meta data of signed Microsoft Office documents can be 
> 
> changed. An attacker can change the values to spoof the origin 
> 
> of signed documents, hoping to induce trust or otherwise 
> 
> deceive the user.
> 
> 
> III.1. Proof of Concept
> 
> 
> Open the OOXML ZIP container of a signed document. 
> 
> Change the values in the docProps/core.xml file. 
> 
> For example set the value between "<dc:creator>*</dc:creator>" 
> 
> to "<dc:creator>FooBar</dc:creator>". 
> 
> The changes will be displayed in the document's properties 
> 
> dialog as described above. The signature will still be valid.
> 
> 
> 
> IV. Workaround
> 
> 
> The meta data information of a signed OOXML document 
> 
> can be changed without invalidating the signature, thus 
> 
> information about the real author of a signed document can
> 
> only be retrieved from the certificate. 
> 
> The signed file's meta data can not be trusted as the 
> 
> meta data is not covered by the signature.
> 
>  
> 
> 
> V. Solution
> 
> 
> No possible solution.
> 
> 
> 
> VI. Correction details
> 
> 
> A closer look into the references section of the XML signature 
> 
> used by Microsoft Office (stored in the File 
> 
> _xmlsignatures\sig1.xml) reveals that the file core.xml is 
> 
> not in the list of references. Thus it is not covered by the
> 
> signature. 
> 
> 
> As a solution the scope of the signature needs to be extended 
> 
> to cover all the relevant information contained in the whole 
> 
> document, thus also the meta data in core.xml.
> 
> 
> Include core.xml, and probably other files in the signature's 
> 
> list of references.
> 
> 
> VII. Time line
> 
> 
> 2007-10-24: Vendor contacted
> 
> 2007-10-25: Vendor acknowledged receipt
> 
> 2007-11-14: 1st Deadline reached
> 
> 2007-11-27: Reminder sent
> 
> 2007-12-12: No response received until today
> 
> 
> 
> 
> 
> Yours,
> 
> Henrich C. Poehls, Dong Tran, Finn Petersen, Frederic Pscheid
> 
> SVS - Dept. of Informatics - University of Hamburg

-- 
Henrich C. Pöhls
Research Group Security in Distributed Systems (SVS)
Center for Distributed Information and Communication Systems (VIKS)
Dept. of Informatics, MIN Faculty, University of Hamburg
Vogt-Koelln-Str. 30, 22527 Hamburg, Germany
Tel. : ++4940 / 42883-2344    Fax.: -2086
eMail: poehls@xxxxxxxxxxxxxxxxxxxxxxxxx
Web  : http://www.informatik.uni-hamburg.de/SVS


"If you can not measure it, you can not improve it." Lord Kelvin (1883)