14.05.2006

Блокируем утечку паролей с компьютера пользователя. Вариант 1.

image

В этой статье мы рассмотрим один из способов предотвращения кражи паролей, в случае если пользователь случайно запустил троянскую программу.

Если меч может пригодиться раз в жизни, то есть смысл носить его всегда.

Восточная мудрость.

Статья для тех, кто хочет защититься от кражи паролей со своего компьютера.

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

Придумываем метод

Дано:
Вы специалист по безопасности. Вы пришли на компьютер пользователя. У него стоит Edialer, The Bat!, ICQ, Total Commander.

Ваша задача:
Сделать так, чтобы пароли, лежащие на локальном диске пользователя украсть не удалось, какие бы трояны пользователь не запускал.

Решение:
Предлагается при помощи какой-либо утилиты разрешить доступ к паролям пользователя только программам Edialer, The Bat, ICQ, Total Commander, которые непосредственно пользуются этой информацией, а всем другим программам этот доступ запретить.

Инструменты

Нашими инструментами будут программы:

  • File monitor - монитор доступа к файлам
  • Registry Monitor - монитор доступа к реестру Windows
  • PassView от команды Nht - просмотрщик паролей
  • Safe'n'Sec - система предовращения атак уровня хоста

Все эти программы вы должны записать на компакт диск. Когда вы придете к пользователю, то вам придется инсталлировать только Safe'n'Sec на его компьютер. Все остальные программы запускаются прямо с диска. С точки зрения цены вопроса, заплатить придется только за программу Safe'n'Sec. Все остальные программы бесплатны и будут использоваться нами лишь для настройки и тестирования.

Демонстрация метода

Итак, про The Bat! мы знаем, что он хранит пароли прямо рядом с письмами. Эту папку мы задаем при инсталляции The Bat! и путь к этой папке хранится в реестре.

Эти пароли слабо защищены и их легко можно просмотреть, например, при помощи программы PassView. (Она у нас будет эмулировать работу трояна.) Давайте попробуем. Запускаем программу PassView и видим, что она смотрит пароли очень многих программ: Odigo, Edialer, Far, Outlook, The Bat!, Total Commander. Для профилактики показываем это пользователю.

Смотрим на лицо пользователя - видим, как улыбка исчезает с его лица. А ведь он позвал вас именно по этому поводу. Начинаем расспрашивать как было дело и слышим, что он вчера запустил свежий и очень нужный апдейт от Микрософта, присланный ему ВАМИ (он же не знает, что обратный адрес можно подделать) и после этого почему-то кто-то сменил все его пароли и котрольные вопросы на его бесплатные почтовые ящики... Радуемся, что, слава богу, на корпоративном почтовом сервере, вы закрыли доступ по POP3 и IMAP4 и HTTP извне и никто не смог ни прочитать его почту, ни сменить пароль.

Иногда возникает ситуация, что путь к паролям неизвестен. Для этого можно использовать программу Filemon, чтобы посмотреть какие пути открывает приложение, или программу RegMon, чтобы посмотреть какие пути реестра читаются приложением. Некоторые программы хранят пароли в реестре.

Попробуем проверить это. Запускаем RegMon и FileMon, настраиваем фильтр и заставляем их выдавать информацию о программе PassView. Затем запускаем сам PassView, переходим на вкладку The Bat и видим, что сначала PassView лезет в реестр, чтобы узнать, где лежат пароли. Находит там путь "C:\den\mail":

Затем, при помощи Filemon, мы видим, что PassView открывает нужный файл в этой директории и вынимает оттуда пароли:

Как мы и предполагали, PassView находит пароли и выводит их на экран. Логично предположить, что трояны будут действовать по той же методике. Давайте попробуем перекрыть эту дырку. Глядя на скриншоты, видно, что если запретить доступ всем программам к папке C:\Den\Mail, а программе TheBat разрешить к ней доступ, то тогда, мы сможем читать почту при помощи программы The Bat! и одновременно предотвратить кражу паролей.

Справедливости ради надо заметить, что троян может воспользоваться методом Dll-injection для считывания паролей или при помощи сниффера перехватить сетевой траффик с паролем, исходящий с компьютера. Защититься от этого тоже можно, но защиту от этой напасти, будем обсуждать в другой статье.

Итак, для реализации данного алгоритма будем использовать программу Safe'n'Sec. Она позиционируется как HIPS и выполняет функции контроля приложений.

Установка программы не требует больших усилий, ставим и начинаем сразу настраивать правила. Для этого закрываем оба приложения PassView и The Bat! и заходим в режим добавления правил. Добавляем правило:

Это правило запрещает открытие файлов в папке C:\Den\Mail для всех приложений. Но ведь нам нужно, чтобы The Bat! имел возможность открывать эту папку. Надо добавить правило для самого The Bat!. Займемся этим.

Чтобы проверить, что правило работает и чтобы разрешить доступ для The Bat!, нужно заставить Safe'n'Sec выдавать запросы на экран, как только какое-либо приложение пытается обратиться в эту папку. Вы видите на скриншоте, что выделенное поле "Запросить действие" установлено в "Да". Нажимаем везде Ok. И запускаем The Bat!. Появляется окошко:

Мы выбираем "Разрешить", и просим создать правило навсегда. Но, к сожалению, Safe'n'Sec будет задавать вопросы для каждого файла в папке. Поскольку нам давить кнопку "Разрешить" для каждого файла нет смысла, то мы переходим в список приложений и правим правило для The Bat! так, чтобы оно работало не пофайлово, а ко всей папке.

Окошко-предупреждение уж очень надоедливая фича Safe'n'Sec. Когда ты по ошибке запрещаешь что-то для доступа, а какая-то программа открывает там 100 файлов или делает 100 соединений, то если не знать, где это можно исправить, то так и придется давить 100 раз кнопку "разрешить". На мой взгляд, здесь нужно было бы добавить более расширенный wizard (для продвинутых) который бы запретил или разрешил именно то, что ты хочешь, а не кокретное событие. У меня есть еще несколько предложений по улучшению интефейса Safe'n'Sec. Готов поделиться с авторами своими идеями. Моя почта вверху статьи.

Правим правило, которое мы добавили в предыдущем окошке:

В результате The Bat! у нас начинает получать доступ к папке C:\den\mail.

Ну вот и всё с правилами для доступа к папке. Но это только кажется, что Safe'n'Sec настроен. По ходу дела уже видим, что некоторые продукты, стоящие на компьютере, лазят в эту папку. Например, антивирус:

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

На самом деле Safe'n'Sec долго настраивать, например, нужно будет разрешить тому же TheBat! доступ к почтовым серверам по протоколам SMTP и POP3 или IMAP:

Но это не главное. Давайте теперь проверим, есть ли у нас доступ к этой папке. Для этого уберем назойливое окошко-предупреждение, что производится доступ в c:\den\mail:

И попробуем в эту папку попасть другими приложениями. Радуемся, что PassView уже не показывает паролей, поскольку ему был запрещен доступ:

И даже стандартный explorer.exe не может туда попасть:

Мы достигли желаемого. Можно посмотреть логи Safe'n'Sec и понять что происходило.

Заключение

Надеюсь, на примере The Bat! вы поняли, как заблокировать доступ троянов к паролям других программ. Например, чтобы запретить доступ к паролям всех ftp серверов, которыми вы пользуетесь в Total Commander нужно запретить доступ всем приложениям к одному файлу C:\Windows\wcx_ftp.ini. Но разрешить этот доступ для самого Total Commander. И, надеюсь, вам поможет тот факт, что даже если вы не знаете, где находится файл, который надо защищать, то вы всегда можете это узнать, посмотрев логи доступа к файловой системе, которые собирает утилита Sysinternals FileMonitor:

Всего хорошего! С Днем Победы!

или введите имя

CAPTCHA