Страницы

Чистим офисные документы от метаданных


Метаданные (metadata) - это служебная информация, которая хранится наряду с полезной информацией и обычно не отображается пользователю. Метаданные обычно включают в себя:
  • информацию об авторе документа;
  • информацию об используемом редакторе и плагинах;
  • дату и время создания/изменения документа и т.д.
Отличный гайд про метаданные доступен на сайте Guardian (eng).
Microsoft Office всегда сохраняет эти сведения в любом своем документе, и это нельзя никак отключить, но можно исправить. 

Как можно использовать метаданные?

В общем случае метаданные не приводят к разглашению чувствительной информации, однако обычно они широкодоступны (в том числе и для автоматизированного анализа) и могут послужить прекрасной базой для сбора информации об объекте исследования.
Частенько метаданные так же позволяют выявить настоящего автора документа, что порой бывает полезно в межкорпоративной переписке. 
С помощью метаданных можно, к примеру, собрать сведения о сотрудниках организации или имена пользователей домена. Для этого бывает достаточно загуглить запрос site:<сайт_фирмы> filetype:doc   (вместо doc можно использовать ещё docx, xls, xlsx, pdf), скачать найденные документы и проанализировать содержащиеся в них метаданные.

Как извлечь метаданные из документов Word?

Стандартный путь - DIP (Document Information Panel)
<Вкладку Developer tools вначале нужно включить в настройках Word>

Кроме того новый формат документов Word - .docx - представляет собой zip архив с набором XML файлов. Переименовав документ в .zip, его можно открыть любым архиватором и просмотреть файлы вручную в текстовом редакторе в поисках метаданных.


Старый формат документов MS Office - .doc - позволяет иногда вытянуть из документа пути (в которых могут быть и имена пользователей) и версии используемого ПО (может использоваться для подбора нужного эксплоита). Для этого нужно открыть документ не двойным щелчком, а через меню Фаил - Открыть, указав "Восстановить текст из любого файла".





Как убрать метаданные из документов Word?

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

Копируем код в открывшееся окно и сохраняем
Sub Anonymizer()
'
' Removes the metadata from active word document. (c) itsec.pro.
'
Application.ScreenUpdating = False
With ActiveDocument
    .RemoveDocumentInformation (wdRDIVersions)
    .RemoveDocumentInformation (wdRDIRemovePersonalInformation)
    .RemoveDocumentInformation (wdRDIEmailHeader)
    .RemoveDocumentInformation (wdRDIRoutingSlip)
    .RemoveDocumentInformation (wdRDISendForReview)
    .RemoveDocumentInformation (wdRDIDocumentProperties)
    .RemoveDocumentInformation (wdRDITemplate)
    .RemoveDocumentInformation (wdRDIInkAnnotations)
    .RemoveDocumentInformation (wdRDIDocumentServerProperties)
    .RemoveDocumentInformation (wdRDIDocumentManagementPolicy)
    .RemoveDocumentInformation (wdRDIContentType)
End With
' save as
Set fd = Application.FileDialog(msoFileDialogSaveAs)
    With fd
        If .Show Then
            ActiveDocument.SaveAs2 FileName:=.SelectedItems(1), FileFormat:=wdNormal
        End If
    End With
Set fd = Nothing
Application.ScreenUpdating = True
End Sub
О категориях метаданных, которые будут очищены, можно почитать в справке msdn. Я не стал удалять все категории метаданных. Оставил исправления и комментарии, т.к. они все равно всегда на виду и забыть их убрать перед публикацией сложно.

Сохраняем и создаем удобный ярлычок

 Теперь каждый раз перед публикацией документа достаточно его открыть, щелкнуть иконку на панели быстрого доступа и сохранить очищенный документ под новым именем.
Чем проще процедуры ИБ - тем легче приучить к ним себя и пользователей.

12 комментариев:

  1. Отличная картинка для привлечения внимания! А сам материал, как всегда, на высоте.

    ОтветитьУдалить
  2. Как-то можно автоматически распространить эту настройку на все компьютеры организации?

    ОтветитьУдалить
    Ответы
    1. У меня пока идей нет.
      Можно попробовать централизовано раздать всем шаблон normal.dotm с макросом, но кнопку создавать, видимо, все равно придется вручную.

      Удалить
  3. Видел, когда-то небольшую программку. которая вычищала мета-данные из документов. Даже пользовался. Ею можно было обрабатывать все доки в директории.
    После переустановки компа, к сожалению, не смог исходников/дистрибута.
    К несчастью, в Инете тоже сейчас найти не могу :(

    ОтветитьУдалить
    Ответы
    1. Скрипт легко можно переделать чтобы он работал с целой директорией.

      Удалить
    2. Здравствуйте!
      А вы можете привести пример рабочего кода для удаления данных из всех файлов лежащих в папке и подпапках с перезаписью этих файлов в с тем же именем? Очень актуально. И аналогично для Excel.
      Спасибо!

      Удалить
    3. С этим лучше на stackoverflow. Я не очень сильный VBAшник.

      Удалить
  4. Добрый день! А как будет выглядеть скрипт для excel

    ОтветитьУдалить
  5. Run time error 424 - результат вашего визуалбейсика

    ОтветитьУдалить
  6. интересно, а можно удалить имя компа из свойств?

    ОтветитьУдалить