Утечка данных через скрытые тексты в опубликованных документах
Оказывается, поведение пользователей — в сочетании с установками программ по умолчанию — создает опасную ситуацию, чреватую утечкой секретной информации. В статье приводятся методы «добычи» скрытых данных в опубликованных текстах и рассматриваются некотор
Симон Байерс
Оказывается, поведение пользователей — в сочетании с установками программ по умолчанию — создает опасную ситуацию, чреватую утечкой секретной информации. В статье приводятся методы «добычи» скрытых данных в опубликованных текстах и рассматриваются некоторые меры противодействия этой опасности.
Многие знают, что документы в формате Microsoft Word могут содержать скрытые данные. В то же время, о наличии такой особенности этого весьма распространенного приложения и всех связанных с ней проблем знает недостаточно широкий круг пользователей, особенно тех, кто не сведущ в компьютерной технике. Эти люди могут активно использовать компьютер на работе и дома, но, не будучи специалистами, они не знают об опасности, связанной с «непрозрачностью» частных файловых форматов, то есть с тем, что пользователи видят не все, что реально есть в файле.
Скрытый текст
Анализируя разнообразные рассказы о курьезах, связанных со скрытыми текстами в документах Word, о которых нередко рассказывают в приватных беседах или в форумах, можно привести следующие типы скрытых текстов:
● настоящие имена создателей документов и их сотрудников или соответствующие имена пользователей;
● данные о пользователях организационного характера;
● версия Word и формат документа;
● имя пути файла документа;
● информация об аппаратном обеспечении, на котором создавался документ;
● имена принтеров;
● заголовки сообщений электронной почты или информация о Web-сервере;
● текстовые фрагменты, удаленные из документа в некоторый момент до сохранения;
● текстовые фрагменты из других документов, не имеющих отношения к данному, попавшие в него из-за ошибок в Word.
Последний пункт можно пояснить на примере, зафиксированном Авелем Рубиным и Стивом Беллоуином в ноябре 2002 года. Они рассказали о некоем пользователе, работавшем с двумя отдельными документами Word, никак не связанными между собой. Они были открыты одновременно с помощью MS Office 97 в ОС MS Windows 98. Затем пользователь сохранил документы и разослал один из них по своему списку рассылки; каждый из адресатов получил документ и прочитал с помощью привычной ему программы просмотра документов Word. Среди адресатов оказался человек, не пользовавшийся для просмотра средствами Microsoft, он-то и обнаружил, что в присланном документе есть скрытый текст. Такое случается редко, однако, последствия такой ошибки — с точки зрения утечки данных — могут оказаться значительно тяжелее, чем последствия всех известных механизмов добавления скрытых данных.
Хорошо известны еще два случая утечки информации, связанной с добавлением скрытых текстов. В феврале 2003 года правительство Великобритании опубликовало отчет, в котором подвергалось сомнению наличие оружия массового поражения в Ираке. Отчет был опубликован в формате Word. В файле содержалась скрытая информация о лицах, участвовавших в редактировании документа. Она была обнаружена и повергла общественность в ужас. Имена четверых выявленных таким образом сотрудников спецслужб оказались неразрывно связанными с критикой качества работы британской разведки перед второй военной операцией в Ираке (см. www.computerbytesman.com/privacy/blair.htm). В конце 90-х годов Кеннет Старр опубликовал в формате WordPerfect отчет, где говорилось о связи тогдашнего президента Билла Клинтона и Моники Левински. Причудливые особенности процесса преобразования формата явили на всеобщее обозрение сноски, которые, со всей очевидностью, предполагалось удалить (см. catless.ncl.ac.uk/ Risks/19.97.html#subj3).
Инструментарий и реализация
При реализации рассматриваемого нами метода применялись следующие широко доступные инструменты:
● Antiword (www.winfield.demon.nl) — свободно распространяемый инструментарий, который преобразует документ Word в плоский ASCII-текст;
● Catdoc (www.45.free.net/~vitus/ice/catdoc) — инструмент, во многом аналогичный первому, но дающий иногда несколько отличные от первого результаты (для просмотра документов Word, посылаемых коллегами, не обременяющими себя заботами о том, сможет ли адресат прочитать присланное, пользователи Unix применяют оба эти средства);
● Strings — стандартный инструмент, выполняющий синтаксический разбор данных в любом файле и извлекающий сегменты, представляющие собой пригодные для печати строки обычных текстовых символов;
● Perl — язык скриптов, полезный для манипулирования данными.
Поиск информационного наполнения
Задача этого этапа состоит в автоматическом поиске документов, подлежащих анализу. Основным источником документов для нас была Сеть. Для поиска документов мы могли создать свой собственный «ползун» или использовать результаты работы существующих; мы пошли по второму пути и просто использовали «автоматизированный» интерфейс к целому ряду существующих механизмов поиска [1]. Результатом этого поиска стал список адресов URL, каждый из которых представлял собой адрес документа Word.
Мы вели поиск по словам из списка потенциально релевантных слов. В общем случае, подобные операции по сбору данных выполняют с применением случайного списка слов, поэтому мы могли сформировать целевые списки для поиска документов, характерных для определенной отрасли или предмета. Наибольший интерес представляют в этой связи военная и правительственная сфера, сфера здравоохранения, образование и бизнес. Для каждой из этих сфер можно создать достаточно эффективные целевые списки, позволяющие с небольшим процентом ошибок отбирать документы, относящиеся именно к этим отраслям, за счет использования ключевых слов.
Получение данных
Мы просто загрузили на диск все документы, находящиеся по адресам URL, найденным в результате поиска по ключевым словам, определенным на предыдущем шаге. Мы сохранили документы и все известные сведения об их происхождении, проиндексированные средствами хэш-таблицы MD5, в дереве обычной файловой системы. Затем инвертировали это отображение для использования в поисках информации по ее происхождению. Это стандартная операция для многих масштабируемых процедур по сбору данных в Internet.
Мы могли также использовать методы расширения поиска-результата. Примером такого метода может служить анализ всех полученных в результате поиска URL по одному из каталогов, входящих в имя пути, скажем, /docs/. Затем мы попытались получить виртуальный список каталогов и все соответствующие документы в этом месте. Это метод может дать очень хорошие результаты при целевом поиске информационного наполнения в Internet, как правило, объем полученных данных увеличивается на 20%.
Извлечение скрытых данных
Когда достаточно большой набор документов сформирован, можно применять различный методы автоматического поиска скрытых текстов. Мы использовали несколько простых эвристик, большинство из которых основаны на сравнении с ASCII-текстом, полученным в результате синтаксического разбора документа при помощи antiword или catdoc. Ни одна из утилит не дает стопроцентно корректного результата при разборе документов Word, поэтому мы сделали допущение на определенный процент «шума» в результатах. Разумеется, такого процента шума следует ожидать от результатов анализа, который не опирается на знание об особенностях хранения скрытых данных. В то же время, он не влияет на правильность выводов в целом, поскольку любой конкретный пример, который представляется значимым для дальнейшего, более углубленного исследования, следует перепроверять вручную.
С catdoc проще работать, когда в документах присутствуют таблицы, в то же время он чаще, чем antiword, приводит к ошибке при разборе файлов. При сравнении с результатами эталонного синтаксического разбора, можно увидеть, насколько эффективен каждый конкретный метод.
● Метод на базе antiword. Мы сравнили эталонный разбор с результатами разбора при помощи antiword с включенной опцией, задающей режим работы, в котором система пытается выдать все скрытые данные.
● Метод сопоставления строк. Для каждой строки, найденной в приложении, состоящем из командных строк для документа Word, мы проводили поиск этой строки в эталонном разборе. Прежде всего, мы настроили как разбор по строкам, так и эталонный разбор так, чтобы учитывать пробелы и разрывы строки. Любая строка, которой не оказывалась в эталонном разборе, представлялась заслуживающей внимания.
● Метод сопоставления слов. Для каждого слова в каждой строке в списке выданных строк, мы отмечали количество вхождений в результат эталонного разбора. Любое слово, статистика вхождений которого в два текста была различной, представлялось потенциально представляющим интерес, еще больший интерес представляют слова, которые не входят результат эталонного разбора.
Эвристики и результаты
Прежде всего, мы проанализировали результаты, получаемые при помощи каждого из описанных методов.
● Метод на базе antiword редко позволяет найти скрытый текст. Он находит очень незначительные изменения (например, отклонения в пунктуации) и — самое большее — несколько удаленных строк. Это метод не позволяет выявить имен пользователей, имен пути и других метаданных.
● Метод сопоставления строк дает результаты нескольких типов. Среди них есть короткие «сорные» строки, которые можно проигнорировать. Имена пользователей, имена пути, названия принтеров и данные электронной почты выдаются в таком виде, что их можно распознать немедленно. Этот метод позволяет также получить удаленные слова или строки, содержащие удаленные или замененные слова. Для документа Word, не содержащего таблиц, или других достаточно экзотических структур, методы анализа и на базе catdoc, и на базе antiword дают одинаковые результаты, не требуя серьезных усилий.
● Метод сопоставления слов дает некоторую информацию о внутренней структуре документа Word, а также удаленные фрагменты. Структурная информация может состоять из двух одинаковых копий документа, имеющих незначительные различия. О наличии удаленных фрагментов лучше всего судить по словам, которые отсутствуют в эталонном разборе и имеются в результате разбора строк, а также в том случае, если статистика вхождений слов для двух результатов разбора различна.
Можно разработать и специализированные средства разбора документов Word — либо «с нуля», либо на основе утилит с открытым кодом, таких как catdoc, antiword или OpenOffice. Кроме того, можно так настроить Word, чтобы он автоматически конвертировал документы в открытый формат. Однако такие преобразования недостаточно надежны и выполняются недостаточно быстро для того, чтобы можно было использовать их при анализе документов в таких объемах, которые, с нашей точки зрения, имеют смысл.
Для целей нашего исследования мы получали документы Word со скоростью примерно 1 тысяча в час по обычному кабельному модему без распараллеливания. Все корректные документы Word, как показали результаты анализа на базе сопоставления слов и строк, содержали скрытый текст, хотя некоторые элементы скрытого текста, как мы и ожидали, представляли собой специфические строки Word и простые метаданные.
Вот реальный пример, иллюстрирующий наши исследования. Найдены имена и названия организаций изменены.
1|/m/A
3|/o=Fake University/ou=ALUMNI/
cn=Recipients/cn=Bill.Fishman
3|/o=Fake Unversity/ou=ALUMNI/
cn=Recipients/cn=Angela.Torro
1|3x.2
1|5ZH=Ss
1|8n2NLb
1|A.nH
1|Adobe
1|AiPx
1|AknQ
3|Билл Фишман
1|Bill.Fishman
1|Dh6N
1|Ducky
1|HsoT
1|JFIF
2|Джон Гарнфилд
3|Анджела Торро
1|Angela.Torro
1|MSWordDoc
1|Политика Конфиденциальности
для изучения в бумажной копии;
предоставлена Биллу под роспись
1|MicrosoftWord
9.0
1|MicrosoftWordDocument
1|Normal
1|QDUo
1|Title
1|VFR9
1|Word.Document.8
1|bjbjU
1|dGAMb
1|eNcj
1|koz.com
1|lja
1|lbXB
1|oVfu
1|tSYd
5
1|yHYL
Мы включили (очищенные) сырые результаты не прошедшие последующую обработку, чтобы показать, насколько полезными могут оказаться полученные результаты.
Имена трех людей и места их работы представляют несомненный интерес, как и удаленное уведомление, что с этих документов была сделана копия для рецензирования. Это уведомление служит лучшей иллюстрацией того, как происходят наиболее опасные утечки информации - например, фрагмент, который был намеренно удален перед публикацией, все же остается в тексте в скрытом виде.
В этом конкретном случае метод с использованием antiword вообще не дал никакого результата, при этом метод сопоставления слов дал аналогичные приведенным результаты, представленные несколько иным способом. В этом примере было получено также относительно много малозначащих «сорных» строк. Наиболее кратким был результат, полученный с помощью метода сопоставления строк, — он содержал около восьми строк.
Вот еще одни пример применения метода на базе сопоставления строк, также с измененными именами.
2|ДжонБаскинд
1|MSWordDoc
1|Microsoft Word 8.0
1|Microsoft Word Document
1|Normal.dot
1|Title
1|Word.Document.8
1|bjbj
Очевидно, что скрытый текст не представляет интереса за исключением имени составителя. Метод сопоставления слов дал практически те же результаты плюс несколько «сорных» строк.
Использование в высокоуровневом анализе
Эти методы можно использовать в качестве элементов высокоуровневого анализа данных, утечка которых может иметь серьезные финансовые последствия или, например, привести к разглашению личной информации. Вот, например, два гипотетических примера, таких ситуаций.
Выявление воровства
Нет ничего проще, чем проанализировать резюме в формате Word на предмет удаленных номеров SSN (Social Security Number). Некто может включить свой номер в резюме, которое направляется «перспективному» работодателю по закрытым каналами, и удалить его в версии, которая «выкладывается» в Internet. Резюме можно отобрать в процессе первоначального поиска путем выбора надлежащего ключевого слова.
Выявление плагиата
Описанные методы можно применять для того, чтобы установить, не является ли документ клоном или прямым заимствованием другого документа. При этом объем обработки можно сократить, в начале ограничивая поиск по ключевым словам из открытого текста со стандартными методиками поиска документов, а затем применяя скрытый текст для сбора дополнительной информации.
Как избежать опасности?
С тем, чтобы предложить меры, которые можно предпринимать, чтобы оградить себя от опасности, рассмотрим весьма реалистичный сценарий.
● Некто Алиса посылает критически важную записку некоему Бобу, который может работать в другой организации или корпорации, например, клиенту организации, где служит Алиса.
● Руководитель Боба, Синтия, просит его подготовить отчет о таких-то показателях за неделю.
● Боб, которому понравилось, как оформлена записка Алисы, делает копию, удаляет текст Алисы, и вставляет свой.
● Боб посылает отчет Синтии.
● Синтия размещает отчет в открытом доступе в Web.
Этот сценарий хорошо иллюстрирует, как обычные действия, которые люди проделывают по несколько раз каждый день могут привести к тому, что важные или секретные данные оказываются доступны практически любому. Едва ли не большинство пользователей Word часто поступают так, как Боб. Так как же лучше всего избежать этих неприятностей?
Инструменты очистки Web-документов для настольных систем существуют и их использование рекомендовано в определенных производственных циклах, особенно при работе с юридическими документами. Главная трудность здесь в том, что для введения этой процедуры в практику требуются определенное желание.
Есть и другая проблема. Даже если Алиса выполнит «очистку» того документа, который она посылает Бобу, она не может быть вполне уверена, что ее данные не будут оглашены, если только не доверяет Бобу на сто процентов и уверена, что тот также «очистит» свои документы, прежде чем передавать их дальше. Но напомним, что Боб работает в другой организации, поэтому на него не распространяются требования к защите, приятные в организации Алисы. Даже если Алиса пошлет Бобу текстовый файл, нет гарантии, что Боб не преобразует его в формат Word, что, в конце концов, приведет к разглашению важных данных.
В некоторых организациях уже выработаны специальные рекомендации к использованию Word: просматривать текст в режиме показа скрытых символов и удалять их, но для этого используются только опции и операции самого Word (www.mltweb.com/prof/testdoc.doc). Примененный нами метод сопоставления строк дал такой результат:
1
Образец документа, из которого видно, почему люди посылают файлы
производителям, даже не заглянув в них
1 Клиент
1 Данные завершены
1 Отдел
1 Назначение
1 Расположение
1 Ханфорд
1 MSWordDoc
1 Microsoft Word 9.0
1 Microsoft Word Document
1 Информация о ПК
1 Информация для всеобщего ознакомления
1 Тейлор
1 Заголовок
1 Word.Document.8
1 bjbj
2 h0044311
1 normal.dot
1 что-то над радугой
1 корзина
Текст, который не был найден нашими методами в этом случае, был фрагментом, который автор документа скрыл намеренно, но этот фрагмент не представляет интереса, поскольку автор знал о его существовании.
Разумеется, выработка корпоративной политики защиты — трудное дело. Однако проблема, о которой шла речь, оказывается весьма серьезной: мы работаем в корпорации AT&T, где ежедневно создаются тысячи документов Word, в которых хранится огромный объем закрытой информации, множество сведений об отраслевых контактах и обширный материал по открытым Web-сайтам. Сотрудничество нескольких подчиненных организаций должно быть защищено, так для защиты данных от утечки по этому каналу важно любое позитивное воздействие.
***
Все описанные события стали возможны в силу особенностей формата Word — сочетаний установок по умолчанию, функциональности, шаблонов использования документов и непрозрачности формата и его закрытой природы. По существу, не нужны даже индексы поисковых машин - такого рода анализ могут выполнить специализированные «ползуны», причем быстрее и проще. Стремление публиковать все и вся, которое побуждает многих людей и многие организации (иногда без нужды) «выкладывать» свои данные в Web тоже играет здесь свою негативную роль.
Мы сосредоточились на Word, но примененные методики можно расширить и на другие форматы, где также могут встречаться скрытые данные.
Источник: Открытые системы #05/2004
Комментарии 1