Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Как удалить метаданные файла в Linux

Оригинал: How to remove file metadata on Linux
Автор: Dan Nanni
Дата публикации: 11 августа 2014 года
Перевод: А. Кривошей
Дата перевода: февраль 2015 г.

Обычно файлы с данными имеют ассоциированные с ними "метаданные", которые представляют собой набор некоторой информации о файле в формате пар "название - значение". Как правило, метаданные включают имя создателя файла, название программы, с помощью которой он был создан, дата создания/модификации файла, местоположение создания, история редактирования и т.д. Среди популярных стандартов метаданных можно назвать EXIF (изображения), RDF (веб-ресурсы), DOI (цифровые документы).

Хотя метаданные могут быть очень полезны при работе с данными, они также могут нарушать неприкосновенность ваших персональных данных. Например, вместе с фотографиями в сеть попадают данные EXIF, которые содержат информацию, позволяющую собрать данные об авторе снимка: модель камеры, GPS-координаты снимка, его любимый графический редактор и т.д. Метаданные в документах и электронных таблицах могут включать информацию об авторе и историю редактирования. Не хочу показаться параноиком, но утилиты для сбора метаданных, такие как metagoofil, часто используются на этапе сбора информации при подготовке к взлому чужой системы.

Для тех из вас, кто хочет вычистить все персональные данные из тех файлов, к которым вы предоставляете доступ другим пользователям, есть способы удаления метаданных из файлов данных. Вы можете использовать свои обычные программы для редактирования документов или изображений, которые используют функции для работы с метаданными. В этом руководстве я представлю вашему вниманию отдельную утилиту для очистки метаданных, которая создана с одной целью: анонимизировать все метаданные для обеспечения сохранности ваших персональных данных.

MAT (Metadata Anonymisation Toolkit) - набор утилит для очистки метаданных, написанный на Python. Он написан в рамках проекта Tor и удовлетворяет стандартам Tails, - дистрибутива, заточенного под обеспечение приватности пользователя.

По сравнению с другими утилитами, такими как exiftool, которые могут рабоать только с определенными типами файлов, MAT может уничтожать метаданные в любых файлах: изображениях (png, jpg), документах (odt, docx, pptx, xlsx, pdf), архивах (tar, tar.bz2), аудио (mp3, ogg, flac) и так далее.

Установка MAT в Linux

В системах на базе Debian (Ubuntu или Linux Mint), MAT установить очень очень просто:

$ sudo apt-get install mat

В Fedora нет собранного пакета MAT, поэтому необходимо собирать его из исходного кода. Я сделал это следующим образом (без гарантий, что у вас все получится один в один):

$ sudo yum install python-devel intltool python-pdfrw perl-Image-ExifTool python-mutagen
$ sudo pip install hachoir-core hachoir-parser
$ wget https://mat.boum.org/files/mat-0.5.tar.xz
$ tar xf mat-0.5.tar.xz
$ cd mat-0.5
$ python setup.py install

Очистка метаданных с помощью MAT-GUI

После установки MAT с ним можно работать как с помощью графического интерфейса, так и в командной строке. Для запуска GUI MAT просто введите:

$ mat-gui

Давайте почистим метаданные в простом документе private.odt, который имеет следующим метаданные:

метаданные  в документе private.odt

Для добавления файла кликните "Add". После его загрузки в программу кликните "Check" для сканирования на предмет наличия в метаданных любой скрытой информации.

добавление файла

После того, как MAT обнаружит метаданные, столбец "State" будет помечен как "Dirty". Вы может просмотреть обнаруженные метаданные двойным кликом.

просмотр метаданных

Для очистки метаданных кликните "Clean". MAT автоматически очистит все приватные поля:

очистка метаданных

После удаления приватных данных:

После удаления приватных данных

Очистка метаданных в командной строке

Как уже говорилось ранее, MAT можно использовать и в командной строке, для этого предназначена команда mat.

Для проверки наличия любых приватных метаданных перейдите в директорию, где хранятся ваши файлы, затем выполните команду:

$ mat -c

Она просканирует все файлы в текущей директории и поддиректориях, и сообщит о результатах:

Результаты сканирования

Вы можете проверить, какие конкретно метаданные были обнаружены, с помощью опции -d.

$ mat -d input_file

метаданные

Если вы запустите команду mat без опций, она сразу удалит метаданные из всех файлов. Если вы хотите сохранить резервную копию оригинальных файлов, используйте опцию "-b". Следующая команда очищает все файлы и сохранят оригинальные файлы с расширением "*.bak".

$ mat -b

сохранение резервной копии файлов

Просмотреть список поддерживаемых типов файлов можно с помощью команды:

$ mat -l

Решение проблем

На данный момент я встретил одну ошибку при работе со скомпилированной версией MAT в Fedora. При попытке очистки архивов и документов (*.gz, *.odt, *.docx) в Fedora MAT выдал приведенное ниже сообщение об ошибке.

File "/usr/lib64/python2.7/zipfile.py", line 305, in __init__
    raise ValueError('ZIP does not support timestamps before 1980')
ValueError: ZIP does not support timestamps before 1980

Заключение

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