Извлечение скрытых метаданных из документов MS Office
Я, ранее, чуть-чуть упоминал про то что во многих офисных документах сохранятся метаданные несмотря на различные способы их удаления, об этом можно прочитать по ссылке — техническое. Форматы файлов и сжатие
Сейчас же я опишу как увидеть скрытые метаданные без использования специального ПО.
Для начала немного о самих метаданных.
Метаданные можно разделить на два типа: метаданные документов и метаданные связанных объектов.
Метаданные которые также называют свойства документов (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) где эта и другие мои заметки будут оформлены в виде статей.
Поделиться в соц. сетях
-
Vitaly
-
http://ivan.begtin.name ivbeg
-
http://www.webernie.ru/ webernie
Microsoft Translate
Рубрики
- BI (3)
- CEP (1)
- IBM (13)
- Novell (6)
- WTF (1)
- apple (3)
- blogging (61)
- couchdb (3)
- data.gov.ru (250)
- datasets (104)
- diagramming (11)
- e-Government (927)
- eGov (946)
- google (33)
- gtd (5)
- links (65)
- linux (19)
- microsoft (47)
- not so wtf yet (3)
- opengovdata.ru (198)
- opensource (56)
- productivity (2)
- saas (4)
- second life (2)
- security (6)
- semweb (15)
- sun (13)
- virtualization (16)
- vista (2)
- web (223)
- web 2.0 (108)
- wikileaks (1)
- yahoo (11)
- Без рубрики (4)
- Енот Поискун (17)
- Общественное благо (12)
- алгоритмы (73)
- алгоритмы (51)
- аналитика (19)
- антисео (5)
- бывает и такое (8)
- виртуализация (21)
- вопросы (20)
- госзаказ (172)
- идеи (29)
- из жизни (95)
- инновации (27)
- интересные проекты (7)
- информация (108)
- книги (2)
- метапост (1)
- открытое государство (51)
- открытые данные (10)
- поиск (93)
- почти несерьёзно (16)
- размышления (127)
- расшифровка реальности (10)
- робототехника (1)
- руководство проектами (3)
- скиур (19)
- социальные сети (45)
- социоранк (9)
- стандарты (22)
- стоит почитать (21)
- футуристика (1)
- электронное государство (945)
- юзабилити (25)
- юмор (14)
Метки
антиспам госзакупки гослюди госуслуги датасеты дебаты извлечение информации инновации кузьминов метаданные навальный открытое государство открытые данные поиск почти без иронии публичность раскрытие информации расшифровка реальности систематизация социоранг социоранк стартапы форматы файлов футуристика #belyh #rucamp #socamp 94-ФЗ antispam apps4russia icamp icamp2009 md5 ogp open government searchme semweb sha1 ssl usability






