Vissza a www.andrews.hu-ra

    [guru] [poehls@informatik.uni-hamburg.de: OpenOffice: Duplicated, Unprotected Certificate Information shown in Signed ODF Documents]


    DATE: Tue, 08 Jan 2008 10:25:13 +0100
    Az OpenOffice legutóbbi verziója XML-alapú dokumentumformátumot (ODF,
    OpenDocument format) használ. A dokumentumk digitálisan aláírhatók 
    hitelesített kulccsal az integritás ellenőrzése érdekében. 
    
    A digitális aláírás és a tanúsítvány az ODF ZIP konténeren belül a
    META-INF\documentsignatures.xml file-ban van tárolva, X509 formátumban.
    Azonban az OpenOffice az X509 formátumú tanúsítvány minden adatát további
    XML struktúrákban replikálja. Ezeket a replikált adatokat már nem fedi le a
    digitális aláírás, így az aláírt ODF dokumentum integritásának sérülése
    nélkül megváltoztathatók.
    
    A probléma az, hogy ha a felhasználó ellenőrizni kívánja a tanúsítványt,
    akkor az első párbeszédablak ezekből a replikált, nem védett adatokból épül
    fel, és csak ha a felhasználó továbbkattintgatva megnyitja a tanúsítvány
    részleteit, akkor dekódolódnak a hiteles és védett adatok. Mivel már az
    első párneszéd is olyan adatokat nyújt, mint az aláíró, a tanúsítvány
    kibocsátója és az aláírás dátuma, ez nem túl valószínű, így a felhasználó
    jó eséllyel becsapható.
    
    
    --- Begin Message ---
    Affects: OpenOffice 2.3.0 and 2.2.0 and possibly older versions
    
    
    
    
    
    I. Background
    
    
    
    OpenOffice is a opensource suite containing several programs to 
    
    handle Office documents like text documents or spreadsheets. 
    
    The latest version uses an XML based document format (ODF). 
    
    OpenOffice 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.
    
    
    
    
    
    II. Problem Description
    
    
    
    The digital signature and the certificates are stored in the 
    
    ODF ZIP container in the file META-INF\documentsignatures.xml. 
    
    OpenOffice does store the public-key certificate in X509 format 
    
    in the XML file under META-INF\documentsignatures.xml.
    
    
    
    Additionally OpenOffice replicates all the information contained 
    
    in the X509 formatted certificate in additional XML structures.
    
    For example the issuer's name is stored under
    
    document-signatures/Signature/KeyInfo/X509Data/_
    
    X509IssuerSerial/X509IssuerName.
    
    
    
    This replicated data is not covered by the issuer's signature 
    
    (of course), and it is also not covered by the document's 
    
    digital signature. As a consequence, it can be changed without 
    
    violating the integrity of the signed ODF document.
    
    
    
    The real problem arises from the fact that the replicated, 
    
    unprotected data is used to build the first information 
    
    dialog that a user gets after a double-clicking on the
    
    icon in the statusbar that indicates a valid signature or 
    
    after choosing "File->Digital Signatures" from the menu.
    
    
    
    Only when he opens the certificate's details the correct and
    
    protected information is decoded and thus certified 
    
    information is shown.
    
    
    
    Users are informed by a small symbol in the statusbar about 
    
    a valid digital signature, and the first dialog box already 
    
    informs them about the following:
    
    - name of signer
    
    - signer's certificate issuer (which induces the trust)
    
    - date of signature
    
    There is little incentive for an average user to go beyond 
    
    this dialog and request more details, but the above mentioned 
    
    "certificate details" are shown one dialog "deeper" than this.
    
    
    
    
    
    III. Impact
    
    
    
    An attacker can trick the user into believing that he got a 
    
    certificate issued by a party that he did not receive the real
    
    certificate from. For example he could choose to pretend to 
    
    be part of a more trusted organization. So an attacker can
    
    lead the user into believing that the signed document's 
    
    contents are more trusted.
    
    
    
    III.1. Proof of Concept
    
    
    
    An attack works as follows: 
    
    The attacker chooses a key for which he gets a certificate 
    
    that can be automatically verified by the user
    
    (due to a chain to a trusted root). 
    
    Then change the issuer's names that will be displayed in the 
    
    first dialog to an arbitrary value.
    
    
    
    Take a signed ODT document, use a ZIP tool to get access to 
    
    the ODT internal structure. Find the "CN=" entry in the 
    
    XML element named "<X509IssuerName>" in the file 
    
    META-INF\documentsignatures.xml.
    
    Substitute it with "FooBar". Save the xml file, close the ZIP
    
    container and reopen the ODT document. 
    
    The issuer's name will display "FooBar" in the first dialog, 
    
    and the signature remains valid.
    
    
    
    
    
    IV. Workaround
    
    
    
    Always use the view certificate button to view the information 
    
    that was actually signed and store in the certificate.
    
    
    
    
    
    V. Solution
    
    
    
    No none solution.
    
    
    
    VI. Correction details
    
    
    
    OpenOffice's signature information dialog shall not use the 
    
    replicated information. Or even better OpenOffice shall not 
    
    replicate and store this information in the XML at all.
    
    
    
    
    
    VII. Time line
    
    
    
    2007-10-24: Vendor contacted
    
    2007-11-24: Deadline reached
    
    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
    
    
    
    
    
    
    

    --- End Message ---

    Vissza a www.andrews.hu-ra