Метаданные файлов LibreOffice: извлечение, удаление и редактирование


Данная статья посвящена метаданным в файлах LibreOffice. Этот офисный пакет является бесплатным, у него открыт исходный код, он кроссплатформенный и довольно популярный. Имеет хорошую совместимость с MS Office и в целом является очень хорошей альтернативой MS Office.

Если вы озабочены вопросами анонимности и используете, например, операционную систему Tails, то там установлен офисный пакет LibreOffice. В большинстве операционных систем Linux офисные программы LibreOffice установлены по умолчанию, либо присутствуют в стандартных репозиториях и доступны для установки. То есть на Linux почти всегда используется LibreOffice. LibreOffice прекрасно работает и на Windows и также является довольно популярным на этой ОС.

В LibreOffice имеются свои особенности относительно метаданных и даже если вы уже умеете удалять метаданные из Word, то в LibreOffice имеется своя специфика. Кстати, аналогичная статья по Word: «Как посмотреть метаданные файлов MS Word. Как удалить и редактировать метаданные Word».

Метаданные в файлах LibreOffice Writer

Файлы открытого (и очень хорошего) офисного пакета LibreOffice тоже содержат метаданные. В этой статье я буду рассматривать файлы Writer, который является аналогом MS Word. Файлы LibreOffice Writer имеют расширение .odt (обычные документы) и расширение .ott (шаблоны документов).

На самом деле Writer поддерживает много форматов:

  • Текстовый документ ODF (плоский XML) — .fodt
  • Текст Unifield Office Format — .uot
  • Разные версии Word
  • Прочее

Но нативным и самым часто используемым является .odt — на нём мы и остановимся (если у вас есть интерес, вы можете самостоятельно протестировать, насколько хорошо программы mat и mat2 ищут и удаляют метаданные в других форматах, а также насколько много метаданных содержится в других офисных файловых форматах).

Чтобы было чуть интереснее, я добавил в тестовый документ цифровую подпись и попытался добавить макрос.

Начнём с проверки найденный метаданных с помощью команды mat:

mat -d file2.odt

Пример вывода:

[+] File file2.odt :
Harmful metadata found:
	Thumbnails/thumbnail.png's zipinfo: {'modified': (2019, 7, 18, 14, 2, 18), 'system': 'unknown'}
	content.xml's zipinfo: {'modified': (2019, 7, 18, 14, 2, 18), 'system': 'unknown'}
	Configurations2/popupmenu/'s zipinfo: {'modified': (2019, 7, 18, 14, 2, 36), 'system': 'unknown'}
	styles.xml's zipinfo: {'modified': (2019, 7, 18, 14, 2, 18), 'system': 'unknown'}
	layout-cache's zipinfo: {'modified': (2019, 7, 18, 14, 2, 18), 'system': 'unknown'}
	editing-duration: PT15M15S
	generator: LibreOffice/6.2.5.2$Linux_X86_64 LibreOffice_project/20$Build-2
	Configurations2/images/Bitmaps/'s zipinfo: {'modified': (2019, 7, 18, 14, 2, 36), 'system': 'unknown'}
	editing-cycles: 5
	settings.xml's zipinfo: {'modified': (2019, 7, 18, 14, 2, 18), 'system': 'unknown'}
	creation-date: 2019-07-18T13:45:13.664694066
	META-INF/documentsignatures.xml's zipinfo: {'modified': (2019, 7, 18, 14, 2, 36), 'system': 'unknown'}
	Configurations2/toolpanel/'s zipinfo: {'modified': (2019, 7, 18, 14, 2, 36), 'system': 'unknown'}
	meta.xml's zipinfo: {'modified': (2019, 7, 18, 14, 2, 18), 'system': 'unknown'}
	Configurations2/toolbar/'s zipinfo: {'modified': (2019, 7, 18, 14, 2, 36), 'system': 'unknown'}
	META-INF/manifest.xml's zipinfo: {'modified': (2019, 7, 18, 14, 2, 18), 'system': 'unknown'}
	print-date: 2019-07-18T16:18:33.320774451
	date: 2019-07-18T17:02:01.639751003
	Basic/Standard/Test_Macro.xml's zipinfo: {'modified': (2019, 7, 18, 14, 2, 18), 'system': 'unknown'}
	Configurations2/statusbar/'s zipinfo: {'modified': (2019, 7, 18, 14, 2, 36), 'system': 'unknown'}
	manifest.rdf's zipinfo: {'modified': (2019, 7, 18, 14, 2, 18), 'system': 'unknown'}
	Scripts/javascript/Python_Macro/parcel-descriptor.xml's zipinfo: {'modified': (2019, 7, 18, 14, 2, 18), 'system': 'unknown'}
	Configurations2/progressbar/'s zipinfo: {'modified': (2019, 7, 18, 14, 2, 36), 'system': 'unknown'}
	Configurations2/menubar/'s zipinfo: {'modified': (2019, 7, 18, 14, 2, 36), 'system': 'unknown'}
	Configurations2/floater/'s zipinfo: {'modified': (2019, 7, 18, 14, 2, 36), 'system': 'unknown'}
	mimetype's zipinfo: {'modified': (2019, 7, 18, 14, 2, 18), 'system': 'unknown'}
	Basic/script-lc.xml's zipinfo: {'modified': (2019, 7, 18, 14, 2, 18), 'system': 'unknown'}
	Basic/Standard/script-lb.xml's zipinfo: {'modified': (2019, 7, 18, 14, 2, 18), 'system': 'unknown'}
	Configurations2/accelerator/'s zipinfo: {'modified': (2019, 7, 18, 14, 2, 36), 'system': 'unknown'}

Информации много, но она показана в неудобном для восприятия виде, попытаемся в ней разобраться:

  • Строка editing-duration: PT15M15S, видимо, показывает время правки.
  • Строка LibreOffice/6.2.5.2$Linux_X86_64 LibreOffice_project/20$Build-2 раскрывает используемые при создании документа программу и операционную систему.
  • Видимо, editing-cycles: 5 является количеством правок.
  • Есть дата создания: creation-date: 2019-07-18T13:45:13.664694066
  • Дата печати: print-date: 2019-07-18T16:18:33.320774451
  • И просто дата: date: 2019-07-18T17:02:01.639751003
  • Имеется некоторая информация о макросах:
  • Basic/Standard/Test_Macro.xml
  • Scripts/javascript/Python_Macro/parcel-descriptor.xml
  • А также много файлов с цифрами — судя по всему, с датами изменения.

Данных извлечено много, но про цифровую подпись ничего не сказано.

Посмотрим на вывод команды mat2:

mat2 -s file2.odt

Показана примерно такая же информация:

Метаданные из файлов шаблонов LibreOffice

Программа mat умеет работать с файлами .ott и показывает метаинформацию из шаблонов Writer

mat -d file2.ott

А mat2:


mat2 -s file2.ott

не справилась:

[-] file2.ott's format (application/vnd.oasis.opendocument.text-template) is not supported

Но помог «фокус» со сменой расширения файла — оказалось достаточно поменять расширение .ott на .odt чтобы mat2 показала метаданные этого файла.

Метаданные изображений в файлах LibreOffice

При добавлении картинок в MS Word эта программа сжимает изображения и метаданные самих изображений теряются. LibreOffice Writer сохраняет исходное изображение! Из этого следует очень важный вывод: если изображения, которые вставлены в документ LibreOffice, содержат, например, GPS координаты, информацию о камере и другие метаданные, то их можно извлечь!

Я создал текстовый файл во Writer (.odt) и добавил туда изображение.


Программа mat нашла и фотографию, и информацию о ней:

mat -d file.odt

Программа mat2 показала данные в более удобном для чтения виде:

mat2 -s file.odt

Структура файла LibreOffice

Офисные файлы представляют собой архив — можно поменять расширение файла на .zip и распаковать его.

Внутри будут в основном .xml файлы:

Изображения находятся в папке Pictures/

Текст документ храниться в файле content.xml.

Данные об электронной подписи помещены в файл META-INF/documentsignatures.xml. Кстати, о том, как создать свои ключи для подписи файлов показано в большой статье по gpg: «Как пользоваться gpg: шифрование, расшифровка файлов и сообщений, подпись файлов и проверка подписи, управление ключами». В этой статье также рассказано, как подписать файл и как проверить его цифровую подпись, но если вы подписали файл в интерфейсе LibreOffice, то процедура верификации подписи также происходит в интерфейсе LibreOffice.

Такие метаданные как время создания, время правки, количество редакций, статистика документа, программа, создавшая документ и некоторые другие хранятся в файле meta.xml.

При желании данные можно отредактировать вручную и затем вновь собрать в файл LibreOffice — по аналогии с файлами MS Word как показано в этой статье.

Как очистить метаданные файла LibreOffice

С очисткой метаданных прекрасно справляются уже знакомые нам команды — достаточно их просто запустить без опций и указать путь до файла.

Для очистки метаданных из файла с помощью mat:

mat file.odt

Для очистки с помощью mat2:


mat2 file.odt

Обратите внимание, что mat2 НЕ очищает указанный файл — она оставит файл нетронутым, но создаст новый файл, в имени которого перед расширением будет строка «cleaned».

Также важно заметить, что программа mat2 не смогла очистить файл, содержащий макросы, а программа mat справилась с этим.

Во всех внутренних файлах, в том числе в изображениях, также удаляются все метаданные! То есть необязательно перед добавлением фотографии в документ очищать её метаданные, если планируется сделать очистку для всего документа.

Заключение

Если перед вами нет задачи сохранить свою анонимность, то, возможно, вам не стоит переживать из-за метаданных — они никак не могут вам навредить.

Для всех других случаев вам помогут программы mat и mat2. Несмотря на схожесть названий, это инструменты созданы разными авторами и вторая не является продолжением первой — это просто две разных программы.

Смотрите также:


Рекомендуется Вам:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *