Hidden possibilities of MS Word and MS Office

Скрытые возможности MS Word и MS Office

This article is dedicated to hidden features of MS Word and MS Office.
За эту статью СвязьИнвест до сих пор не выплатил гонорар!
Обыкновенное русское кидалово!
Малоизвестно широкой публике что, скрытые поля в документах MS Word и таблицах MS Excel позволяют вскрыть сетевую топологию, используемое аппаратное обеспечение, установить авторство документа. Автор предлагаемой статьи пришел к выводу, что формат документов MS Office намеренно не документируется Microsoft. Кроме «грязных» приемов в маркетинге, есть и другие причины, на которые большинство пользователей, далеких от проблем компьютерной безопасности, попросту не обращают внимания. Уже несколько раз была озвучена связь программного гиганта с Агентством национальной безопасности США. Так что, понятны тщетные попытки американских юристов развалить монополиста. Тем не менее, манипуляции со скрытыми возможностями офисных документов могут быть вполне доступны продвинутому пользователю.

Хранение в документах предыдущей копии документа

При установленной опции «разрешить быстрое сохранение» MS Word сохраняет не только текущую версию текста, но и предыдущую. Данная опция включена по умолчанию при инсталляции пакета. Для организаций, отдельных пользователей, которые любят работать с «болванками» (заготовками) для договоров, спецификаций или в силу лени берут документ и быстро перебивают текст, поля таблиц, это может представлять определенную опасность. Если текст англоязычный или документ создан в MS Office 95 (версия 7.0), то предыдущую версию текста можно увидеть обычным Viewer, что при некоторых коммерческих сделках или склонности нагло обманывать окружающих "смерти подобно".
В открытом виде кириллический текст доступен только в MS Office 95, так как в нем для кодирования символов используется один байт и его можно увидеть простейшим просмотрщиком, встроенным, например, в Norton Commader. В последующих версиях для прочтения русского текста нужна раскодировка из символов Unicode. С задачей корректного отображения кириллических символов, записанных в Unicode, прекрасно справляется встроенный просмотрщик Total (Windows) Commander. Но не только это может представлять интерес.

Демографические данные и топология системы в документах MS Office

Внутреннее содержимое формата DOC включает в себя не только предыдущие редакции текста, но и название принтера (если он сетевой, то с сетевым путем к нему в формате UNC), полный локальный путь к файлу, в том числе сетевой, если доступ к файлу осуществлялся по сети (также в формате UNC), каталог для хранения временных файлов. Кроме даты создания и последней модификации документа (эта временная метка и метка времени и даты последнего изменения файла, которую Windows ассоциирует с файлом - не одно и то же, и они могут не совпадать), в файле сохраняется и другая статистика: общее время редакции и количество правок.
Файл содержит также имя владельца и название компании, на которую зарегистрирован Office при инсталляции, имя человека, редактировавшего документ, и его адрес (тот, что устанавливается в «Параметрах.../Пользователь»). Другими словами, это то, что видно при вызове диалога свойств документа. Обычная замена в «Параметрах...» имени пользователя не обеспечит полного сокрытия, только добавит имя человека, редактировавшего документ, оставив реквизиты владельца в прежнем виде.
Такой самый простой способ установления авторства и происхождения документа для хакера может быть ключом к раскрытию сетевых имен и топологии. Сами по себе демографические данные в большинстве случаев, безусловно, полезны, поскольку позволяют быстро просматривать документы или сортировать по нужным критериям, однако бывают ситуации, когда необходима анонимность или нельзя публиковать полную историю документа в Интернете.

Как убрать предыдущую копию документа?

Желающим убрать демографические данные придется проделать не сложные, но кропотливые процедуры. Сохранение в формате RTF из Word или Excel не принесет ожидаемого результата. Приведу несколько рекомендаций:
1. Для того чтобы удалить из документа предыдущую копию и уменьшить размер сохраняемого файла, в первую очередь необходимо убрать в диалоге «Параметры» на странице «Сохранение» флажок «Разрешить быстрое сохранение» и повторно сохранить документ.
2. Такой же результат можно получить, если выполнить команду «Сохранить как...» с новым именем файла или еще раз выбрать из списка файлов текущее имя. Команда «Сохранить как...» не только уберет предыдущую копию документа из файла, но и обнулит статистику редакции документа (общее время и количество правок).

Как убрать из документов конфигурацию компьютерной системы?

По умолчанию MS Office использует папку «Мои документы» для работы с документами. Путь к ней хранится в системном реестре Windows, с этой папкой интенсивно оперирует оболочка Windows. Если нужно скрыть расположение данной папки, необходимо сохранить документ в папку, отличную от той, которую по умолчанию использует MS Office («Мои документы»), чтобы усложнить задачу «охотнику».
Безусловно, нет необходимости всем раскрывать свою сетевую топологию. Поэтому рекомендую не сохранять версии документов, используя разделенные ресурсы локальной сети, которые планируется передавать по Интернету или копировать для распространения. В результате сохранения на сетевом диске будут выданы название компьютера с именем разделенного ресурса и полный сетевой путь к документу в формате UNC.
Существует простое решение: сохранить документ на локальном диске, например в малоинформативном корневом каталоге локального диска C, и после этого скопировать его в «конечный пункт назначения».

Повышенные меры безопасности

Тем, кто вынужден предпринимать повышенные меры безопасности, можно рекомендовать следующее:
Не давайте развернутые или собственные имена сетевым и прочим ресурсам, которые будут нести демографическую или дополнительную семантическую нагрузку. Тем более не следует брать имя пользователя для входа в систему, идентичную сетевому имени компьютера. К сожалению, так чаще всего и поступают, выдавая тем самым не только топологию, но и имя учетной записи. В целях безопасности следует, к примеру, дать простые названия сетевым принтерам («Printer»), а серверам присваивать нейтральные имена, не несущие семантической нагрузки («Host1», «Server54»), не заводить учетные записи с именем компьютера.
Не присваивайте компьютерам имена собственные или фамилии. «Охотник» получит доступ к штатному расписанию, минуя руководство и инспектора по кадрам предприятия. На самом деле все происходит так: во время предварительного сбора информации об объекте сначала пробуют узнать личные данные сотрудников и потом, исходя из предположения, что сетевые имена компьютеров или учетные записи совпадают с именем, фамилией, пытаются атаковать. Знаменитый сетевой червь Морриса использовал эту рабочую гипотезу и успешно проникал в 30% машин. При инсталляции Windows запрашивает имя и организацию пользователя. В целях безопасности лучше ввести малоинформативные псевдонимы. Такие имя и название организации Windows будет использовать практически для всех инсталлируемых программ. В дальнейшем, если потребуется, при инсталляции нового пакета всегда можно будет ввести необходимую информацию. Это надо сделать перед инсталляцией MS Office. Microsoft была замечена в собирании и отсылке к себе на сервер таких демографических данных.

Общие рекомендации для Windows и MS Office

Несколько рекомендаций для модификации персональной информации, хранящейся в системном реестре Windows. Если есть желание отредактировать ключи реестра вручную, то в Regedit найдите следующие параметры:
1. Параметры для Windows: "RegisteredOrganization", "RegisteredOwner" в [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion]. Советую задать поиск этих ключей "RegisteredOrganization", "RegisteredOwner" по всему реестру и исправить для всех найденных значений. Однако этого не стоит делать там, где регистрация программы "завязана" на имя пользователя и (или) имя организации. Исправив эти параметры, можно лишиться лицензии, и программа перестанет запускаться либо отключит использование всех функций.
2. Параметры для MS Setup: "DefCompany", "DefName" [HKEY_CURRENT_USER\SOFTWARE\Microsoft\MS Setup (ACME)\User Info].
Первые два пункта необходимо выполнить до инсталляции MS Office 95/97. Данные версии MS Office для изменения данных, внесенных при установке, требуют повторной инсталляции.
Отмечу, что именно эти параметры ответственны за те значения «Имя пользователя» и «Название организации», которые «по умолчанию» подставляются в диалоги при инсталляции новых программ.
MS Office 2000 и XP позволяют внести изменения в указанные демографические данные и после инсталляции. Для этого в первую очередь необходимо открыть ключ реестра:
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall] и в подключах найти записи, соответствующие MS Office. Для MS Office 2000 это будет ключ, похожий на {xxxx-78E1-11D2-B60F-006097C998E7}. MS Office XP хранит параметры инсталляции в ключе {9111хххх-6000-11D3-8CFE-0050048383C9}. Значение хххх может меняться в зависимости от языковой локализации. У английской и русской версий значения хххх будут разными. Как не раз уже было, под единым торговым названием MS Office может быть выпущено несколько различных пакетов, к которым предлагаются разные версии обновления. Если указанные выше имена ключей не удается найти, необходимо в разделе:
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall] просмотреть все ключи, имена которых хранятся в таком же формате, то есть начинаются и заканчиваются фигурными скобками и имеют пять групп шестнадцатеричных цифр, разделенных четырьмя дефисами.
Признаком того, что найденный ключ ответственен за хранение данных об инсталляции Microsoft Office, может служить содержимое параметра DisplayName. У Microsoft Office (как английской, так и русской версий) обязательно имеется подстрока «Microsoft Office». У Microsoft Office версий 7.0, 97 в этом ключе находятся параметры со следующими именами: "RegCompany" и "RegOwner", которые и хранят демографические данные, представляющие интерес
Если в параметры занести значения с нулевой длиной или просто удалить их, то при инсталляции Office потребует ввести имя пользователя и название организации. Рекомендую внести два-три пробела и подтвердить при инсталляции, что это и есть корректные данные. Тогда в диалоге "О программе" на месте, где должны отображаться имя пользователя и название организации, будет пусто, а в создаваемых документах вместо имени пользователя и названия организации сохранятся «самые лучшие аутентификационные данные»: "Unknown".
Отмечу, что эти параметры реестра могут и отсутствовать.
3. Чтобы изменить данные автора для уже установленных копий Office, необходимо найти в ключе: [HKEY_CURRENT_USER\Software\ Microsoft\Office\‹номер_версии_офиса›\Common\UserInfo] параметры "UserInitials", "UserName", "UserAddress" и внести необходимые псевдонимы или несколько пробелов. ‹номер_версии_офиса› – это имя ключа реестра: "10.0" для MS Office XP (2002), "9.0" для MS Office 2000, "8.0" для MS Office 97 и т. д. Изменение будет действительно для текущего пользователя, и если в системе зарегистрировано несколько пользователей, такие изменения проводятся в отношении каждого из них.
4. В MS Office 2000 и XP через настройку параметров можно убрать из документов личные данные, поменять имя пользователя и название организации для диалогов «О программе» и вновь создаваемых документов.
Для этого в приложении MS Office необходимо вызвать диалоговое окно настройки параметров («Параметры»), доступное в пункте главного меню «Сервис» («Параметры» будут недоступны, если не открыт ни один документ, а только запущено приложение).
Для удаления личных сведений в MS Word необходимо перейти на страницу с закладкой "Безопасность", группа «Параметры защиты конфиденциальной информации», помечаемое окно «удалять личные сведения из файла при его сохранении».
В MS Excel та же страница с закладкой «Безопасность», группа «Личные сведения» и такое же, как в Word, помечаемое окно «удалять личные сведения из файла при его сохранении».
В MS PowerPoint аналогичная страница «Безопасность» и в MS Access – страница «Общие».
В MS Word в диалоговом окне «Параметры» есть страница с закладкой «Пользователь». На ней можно изменить личные сведения о пользователе, которые будут общими для всех приложений Office и отображаются в диалоге «О программе».
Это и есть демографические сведения, которые хранятся в разделе: [HKEY_CURRENT_USER\Software\ Microsoft\Office\‹номер_версии_офиса›\Common\UserInfo].
При редактировании реестра желательно закрыть все работающие приложения MS Office, чтобы исключить ситуацию, когда они перезапишут свои значения для личных данных в реестр после их закрытия.

Демографические данные во внутренних полях и поисковик Google

Проблема хранения демографических данных в файлах Microsoft Office в открытом виде приобрела другой аспект с появлением поисковика Google.
Это единственная сегодня поисковая машина, осуществляющая полнотекстовый поиск в файлах Adobe Acrobat (PDF), Adobe Postscript, MS Word, PowerPoint, Excel и формата RTF, хранящихся на доступных для индексирования Web-страницах. Иными словами, демографические данные о пользователе, создавшем документ, занесенные в документ MS Office, попадают в поисковик и, соответственно, на всеобщее обозрение. Часть пользователей восприняли это как нарушение их приватности. Для охотников за информацией поисковик Google стал Клондайком, так как всегда интересны люди и в первую очередь их профессиональная и личная жизнь. Google позволяет осуществлять предварительный поиск информации, который на профессиональном сленге называется "просеивание". Чтобы убедиться в широких возможностях поиска и фильтрации результатов запросов, достаточно зайти в раздел помощи Google или перейти по ссылке «Расширенный поиск».

Уникальные идентификаторы GUID для документов MS Office

Рассмотрим уникальные метки, помещаемые в документы MS Word и таблицы MS Excel. Сказанное можно отнести ко всему семейству MS Office, начиная с версии 97. Для краткости речь пойдет только о MS Word, поскольку MS Excel имеет похожие свойства.
О том, что эти параметры прописываются в документы MS Office, и о возможностях их использования для идентификации пользователя или происхождения документа уже сообщалось. Сейчас речь о так называемых GUID-ах.
Если просмотреть документ MS Word каким-либо просмотрщиком или Hex-редактором, показывающим "сырое" содержание документа, можно примерно в последней трети обнаружить поле _PID_GUID или _PID_HLINKS, за которыми следует строка в UNICODE {4A17E2C5-В25B-11D3-A94A-0008C7C11B36}. Часть непечатных символов пришлось убрать.
Аббревиатура GUID дословно расшифровывается как Global Unique Identifier (Глобальный уникальный идентификатор). Концепция GUID была заимствована Microsoft у компании Open Software Foundation для именования статических типов OLE, позднее COM-объектов. Стоит отметить, что у Open Software Foundation эти идентификаторы назывались UUID – Universally Unique Identifier ("Вселенский" уникальный идентификатор).
Для удобства MS Word документ хранит символьное представление GUID-идентификатора (для системного реестра). GUID представляет собой уникальное псевдослучайное 128-битное значение, которое теоретически да и практически не должно повториться. Алгоритм генерации GUID-значения использует случайные показания внутреннего таймера, параметры BIOS и уникальный номер сетевой карты, если она имеется в конфигурации компьютера. Последняя, пятая, группа в символьном представлении GUID создается на основе MAC-адреса (идентификатора сетевой карты). Если в системе есть сетевой адаптер, то последняя группа всегда будет одинаковой. С Visual Studio поставляются утилиты: для Windows guidgen.exe или DOS-аналог – uuidgen.exe, позволяющие создавать новые GUID. Для программных вызовов применяется CoCreateGuid, служащий оболочкой для вызова UuidCreate.
48-битные номера Ethernet-адаптеров или MAC-адреса также уникальны. Увидеть MAC-адрес можно, если запустить утилиту winipcfg.exe, которая находится в каталоге установки Windows. Чаще всего это C:\WINDOWS или C:\WINNT. Если в системе нет сетевого адаптера, но есть Dialup-соединение, то MAC-адрес показывается, как 44-45-53-54-00-00. Правда, пятая группа символов во вновь создаваемом GUID-идентификаторе случайная.
Для решения проблемы с уникальными идентификаторами есть два пути: вернуться к использованию MS Office 95 (версия 7.0), который эти метки не вставляет, или к MS Office 97.

Безопасное удаление GUID из документов MS Office 97

Благодаря международному скандалу, инициированному Phar Lap Software, проблему с "метками дьявола" для MS Office 97 можно устранить. Для этого нужно установить патч для MS Office 97, и уникальные идентификаторы не будут вставляться во вновь создаваемые документы, или постоянно применять для удаления Microsoft Office 97 Unique Identifier Removal Tool. На сайте Microsoft представлено приложение с оригинальным названием Office 97 Unique Identifier Patch (всего 90 Кб). Но до применения этой заплатки необходимо последовательно поставить еще два сервисных пакета для Office 97 в целом: Service Pack 1 и 2. Без них Office 97 Unique Identifier Patch не устанавливается, к сожалению. На сайте Microsoft предлагаются также сервисные обновления только для английского релиза (8.89 Мб и 24.165 Мб соответственно). Не стоит расстраиваться по поводу больших объемов файлов с обновлениями. Скорее всего, их не придется долго скачивать. Большинство соотечественников пользуются MS Office русской версии, для которой эти обновления не подходят. Пришлось поискать два сервисных обновления для MS Office 97 (rus) на компакт-дисках (8.141 Мб для Service Pack 1 и 22.986 Мб для Service Pack 2).
И заключение по поводу утилиты «Microsoft Office 97 Unique Identifier Removal Tool», удаляющей уникальные идентификаторы. Размер инсталляционного файла всего 144 Кб. Интерфейс программы выдержан в традициях раннего Microsoft – программа содержит всего одно диалоговое окно для выбора папки, где будут удалены GUID из всех файлов Office 97.
P.S.
Автор не несет ответственности за то, что материалы статьи могут быть использованы как пособие для начинающих хакеров.

Publications Top Page Projects