Я, ранее, чуть-чуть упоминал про то что во многих офисных документах сохранятся метаданные несмотря на различные способы их удаления, об этом можно прочитать по ссылке — техническое. Форматы файлов и сжатие

Сейчас же я опишу как увидеть скрытые метаданные без использования специального ПО.

Для начала немного о самих метаданных.

Метаданные можно разделить на два типа: метаданные документов и метаданные связанных объектов.

Метаданные которые также называют свойства документов (document properties) — это набор данных идентифицирующий автора кем был создан документ, его организацию, кем он редактировался последним и так далее. Многие поля добавляют системы документооборота, но чаще присутствуют лишь те что добавляются программами из поставки MS Office.

Метаданные связанных объектов — это те данные которые присутствуют внутри мультимедиа файлов. Например, Adobe Photoshop сохраняет xmpmeta, в создаваемых им TIF и JPG файлах, в JPG файлах фотографий часто не удаляют данные EXIF — в результате можно узнать когда фотография была произведена, плюс много разного о том как каким фотоаппаратом она снималась и тому подобного.

Чаще всего метаданные связанных объектов менее злободневны чем метаданные документов — поскольку неперсонифицированы, но всех задач и ситуаций где они могут понадобится предусмотреть нельзя поэтому упоминаю их всех.

Итак как получить метаданные из документов MS Office.

1. Необходимо открыть документ в MS Office 2007 или выше (например в 2010 Technical Preview) и пересохранить его в один из форматов OpenXML. То есть файл .doc надо сохранить в .docx, файл .xls в .xlsx, файл .ppt в .pptx и так далее.

2. Итоговый файл необходимо переименовать в аналогичный с расширением .zip.

3. Полученный ZIP файл распаковываем с помощью любого любимого ZIP архиватора в отдельную директорию. На Windows платформе я пользуюсь 7-Zip’ом, но тут без особой разницы что использовать.

4. Заглянем в итоговую директорию после распаковки. В зависимости от типа документа, состав папок там будет отличаться. Для файла .pptx будет присутствовать папка ppt,  для .docx папка word, для .xlsx папка xl.  Нам нужно именно в эту папку, заходим туда и ищем папку embeddings.

5. В папке embeddings будут файлы с названиями «oleObjectNN.bin» где NN — это номер объекта. Наличие этих файлов означает что в документе содержались контейнеры с метаданными в виде OLE объектов (в качестве отступления для людей далёких от ИТ.  OLE объекты — это те данные которые вы вставляете через команды «Вставить» или Insert в офисных программах. Таблица, документ или график — это всё OLE объекты). Все файлы .bin необходимо переименовать в .xls. Здесь необходимо оговорится — большинство .bin файлов на самом деле не будут файлами Excel, но для нашей задачи это не имеет значения поскольку все OLE объекты имеют схожую структуру и то как показывать из них метаданные, программы решают не по расширению файла, по фактическому содержимому вне зависимости от того что это за файлы — таблицы Excel, диаграммы Visio или документы Word

5. Теперь когда у нас в папке есть файлы для просмотра для каждого из них мы щелкаем правой кнопкой мыши в Эксплорере, открываем его свойства и смотрим в подробнее.  Во многих случаях Вы там ничего не увидите, поскольку это может быть OLE объект MSGraph.Chart который метаданных не содержит (или мы просто пока не знаем как их извлечь), но в случаях когда были вставлены диаграммы Visio, таблицы Excel и так далее — мы сможем увидеть фактические свойства вложенных документов, узнать кто их автор и так далее.

Нюансы:

1. Всё вышеперечисленное работает только в случае сложных документов, под которые подпадают большинство презентаций со вставленными таблицами, но простые документы содержащие только текст.

2. В случае новых форматов OpenXML ситуация немногим лучше. При вставке одного офисного документа в другой они сохраняются не как бинарные образы OLE объектов, а как файлы OpenXML. Например, после вставки документа Excel, он оказывается в папке embeddings в формате xlsx. Метаданные из него, конечно, никуда не исчезают и при чистке главного контейнера не удаляются.

3. Возможно схожая ситуация с WordPad’ом, хотя он и слишком прост чтобы работать со сложными структурами. Это требует проверки.

4. Можно ли вышеперечисленное повторить в OpenOffice? Очень может быть — правда насколько я знаю OpenOffice проводит преобразования OLE объектов для их переносимости, но опять же всё требует проверки.

Как этого избежать?

1. Анонимизировав себя в  MS Office удалив информацию о себе как об авторе или же заменив её на заведомо нерелевантную, например, «Мустава Рукоплясова» с организацией ООО «Сиреневый кузнечик». В зависимости от Вашей фантазии и серьёзности читающих документы.

2. Вычищая метаданные из каждого из документов который вкладывается друг в друга. Это означает что нельзя просто вставить Excel файл в презентацию. Надо вначале его заполнить, потом сохранить, удалить из него все метаданные и лишь потом вставлять через Cut & Paste.

3. Заменять объекты на их упрощённые формы. Вместо таблицы Excel, вставить в презентацию просто таблицу, вместо диаграммы Visio — её изображение и так далее.

P.S.

И, заодно, для тех кто интересуются — свою деятельность по извлечению и анализу данных я переношу сейчас в DPLabs (http://www.dplabs.ru) где эта и другие мои заметки будут оформлены в виде статей.

Поделиться в соц. сетях

Опубликовать в Google Plus
Опубликовать в LiveJournal
Опубликовать в Мой Мир
Опубликовать в Одноклассники
  • Vitaly

    А в описанном в п.5 способе — где будут видны, например, имя принтера из word документа ? Просто у меня нет 2007 офиса — не могу проверить…

    И в раздел «Как этого избежать» можно добавить п.4 — Установить «Средство удаления скрытых данных» -
    http://www.microsoft.com/downloads/details.aspx?displaylang=ru&FamilyID=144e54ed-d43e-42ca-bc7b-5446d34e5360
    Интересно бы заодно проверить — насколько качественно оно их удаляет :)

  • http://ivan.begtin.name ivbeg

    Это средство довольно слабо помогает, оно вычищает только основной документ, но не вложенные объекты о чем собственно я и пишу.

    Информация о принтерах хранится в специальной бинарной структуре printerSettingsNN.bin. Из файлов OpenXML её можно вычистить, но из старых форматов MS Office разьве что какими-либо третьестроронними инструментами.

  • http://www.webernie.ru/ webernie

    спасибо за материал