FileAdvisor: узнай о файлах больше

30 март, 2006 - 23:00Игорь Дериев

Поисковые системы бывают самые разные. Одни ищут текст на Web-страницах, другие – изображения или музыкальные композиции, третьи – адреса и номера телефонов. Есть и такие, что исследуют содержимое публичных ftp-серверов – достаточно лишь указать атрибуты нужного файла. Но как быть, если перед вами стоит как раз обратная задача – узнать происхождение уже имеющегося файла?

Проблема не покажется надуманной любому, кому, к примеру, доводилось вручную (по тем или иным причинам) вычищать из системы не слишком известное spyware. Очень часто совершенно недостаточно просто найти в Web упоминание о подозрительном файле – нередко вредоносный код оформляется как вполне легитимный (или похожий на него) модуль либо библиотека. При этом далеко не все производители ПО оснащают каждый файл своих приложений цифровой подписью, и даже Microsoft здесь – не исключение. Конечно, как говаривал небезызвестный барон Мюнхгаузен, безвыходных ситуаций не бывает, и практически всегда решение (более или менее приемлемое) существует – однако на практике найти и реализовать его по плечу не каждому специалисту, что уж говорить о рядовых пользователях.

Так или иначе, но ситуация, по-видимому, исправляется. Всего несколько дней назад не слишком известная компания Bit9 запустила в эксплуатацию поисковик FileAdvisor (fileadvisor.bit9.com), задачей которого является именно предоставление пользователям адекватной информации о практически произвольном файле. В качестве запроса принимаются имя (чего, как отмечалось выше, недостаточно), а также значения хэш-функций, вычисленных по алгоритмам MD5 и SHA-1. В результатах (в случае успеха), соответственно, будут указаны пакет, разработчик и источник данных (часть из них собирается партнерами Bit9, к примеру NIST, National Institute of Standards and Technology) – вполне хватит для проведения экстренного «дознания».

FileAdvisor узнай о файлах больше
Предоставляемой FileAdviser информации вполне достаточно для того, чтобы сделать однозначные выводы о происхождении файла

При этом заинтересовавшимся вовсе не нужно срочно записываться на курсы криптографии и вникать в суть указанных выше алгоритмов (хотя, как и обычно, знания лишними не окажутся) – достаточно воспользоваться одной из множества существующих утилит, рассчитывающих значения MD5 и SHA-1 (в том числе от Microsoft). Сама Bit9 предлагает даже более простой путь, заключающийся в применении специальной программы (доступной на главной странице службы), которая интегрируется с контекстным меню Windows Explorer, – соответственно, запрос отправляется двумя щелчками мыши.

В принципе, поинтересоваться можно происхождением абсолютно любого файла, хотя упор явно делается на платформу Windows. В настоящий момент в базе данных FileAdvisor содержится информация более чем о 25 млн файлов (250 млн записей, поскольку одни и те же файлы могут входить в различные пакеты), а ее размер составляет 4 ТВ (исходя из чего можно заключить, что в ней хранятся и сами файлы). Чтобы представить, много это или мало, достаточно сказать, что в поле зрения одного из наиболее популярных специализированных поисковиков FileSearching находятся только 10 млн файлов (среди которых, очевидно, имеются дубликаты).

Тем не менее и FileAdvisor не в состоянии объять необъятное, в чем легко убедиться, запросив информацию о более или менее «нетипичном» файле из папки Program Files. Поэтому база данных службы будет постоянно расширяться за счет исследования Web и доступных программных продуктов, поступления дополнительной информации от пользователей и партнеров, среди которых NIST, IBM и другие известные компании. Ожидается, что ежемесячно размер БД будет увеличиваться на 1 ТВ.

Безусловно, новая служба направлена на борьбу с spyware и схожими угрозами. Она бесплатна (хотя и требует регистрации), и воспользоваться ею каждый сможет при первой же необходимости. Для корпоративного применения предлагается более полный вариант ParityCenter, который интегрируется с флагманским продуктом Bit9 – Parity. Стоит отметить, что в семействе Parity используется подход, давно зарекомендовавший себя в других областях безопасности – «запрещено все, что не разрешено». Так, если большинство антишпионского ПО пытается обнаруживать уже известные угрозы, решения Bit9 ограничивают пользователей в применении любых неизвестных приложений.

Насколько надежны хэш-функции

Чтобы не вдаваться в теоретические нюансы, примем просто, что хэш-функции призваны вычислять для произвольного массива данных значения фиксированной длины (128 битов для MD5 и 160 для SHA-1), которые могут использоваться в качестве удобных и относительно надежных идентификаторов. В частности, это подразумевает невозможность обратного преобразования и нахождения двух исходных величин с одинаковыми хэш-значениями (так называемых коллизий). Понятно, однако, что второе условие невыполнимо в принципе, и речь может идти лишь о том, насколько трудно найти конкретный пример – на прямой перебор рассчитывать не приходится, а алгоритмы вычисления хэш-функции довольно запутанные.

Сегодня MD5, вообще говоря, считается скомпрометированным, т. е. для него существуют примеры коллизий (и вроде бы даже методы их получения за разумное время). Под прицелом специалистов находится и SHA-1. Это, однако, не означает, что они непригодны для указанных в статье целей – ведь задача, стоящая перед хакером, стремящимся подменить некий файл собственным (осмысленным) кодом, несоизмеримо сложнее, чем поиск его хэш-двойника. Решить же ее одновременно и для MD5, и для SHA-1 представляется просто невероятным. Тем не менее наверняка на вооружение будут взяты и новые хэш-функции с более длинными значениями (от 256 битов) – по мере их стандартизации.