О данном аспекте в столь распространенной программе я почти ничего не нашел в интернете и по этому решил написать данную статью, дабы сохранить ваши пароли от ась т.п. В данной статье я хотел бы описать, как защитить ваш пароль в миранде от кражи троем, описать плагины связанные с безопаснотью и дать еще пару рекомендаций. Для написания статьи использовалась Miranda 0.3.2 .
Как украсть и расшифровать пароль
Для расшифровки паролей на данный момент мне известно две утилиты: Miranda Password Decryptor и mimpd. Так же красть и одновременно расшифровывать пароли от Миранды и других популярных мессенджеров может троян Pinch.
Защита пароля от троев
Пароль у миранды хранится в профиле юзера (в dat-файле) по этому кража пароля злоумышленником сводится либо к краже всего dat файла (мало вероятно из-за большого размера, если большая хистори) или расшифровка пароля на компьютере жертвы и отправка к злоумышленнику. Алгоритм поиска профиля у трояна может быть:
1) Ищет в каталоге, который указывается по умолчанию при установки миранды инсталлером (C:\Program Files\Miranda\ или C:\Program Files\Miranda IM\). Отсюда правило: скачивайте с сайта zip версию и распаковывайте желательно не на диск C, а там где злоумышленник вообще бы не догодался искать программу.
2) По ключу в реестре (HKEY_LOCAL_MACHINE\SOFTWARE\Miranda), в строковом параметре Install_dir , значение которого равно адресу папки миранды с профилями (лично мне вообще не понятно для чего разработчики сделали функцию добавления этого ключа, для троянов специально что ли?). Избавиться от этой проблемы тоже можно: открываем в любом HEX-редакторе (например, WinHex) исполняемый файл миранды (miranda32.exe), находим в нем "Install_dir" и меняем на что ни будь типа "Install_xxx". Теперь заходим в реестр и удаляем старый параметр "Install_dir" (если до этого вы запускали миранду).
Теперь давайте представим такую ситуацию, что злоумышленник смог выпытать у вас (социальной инженерией) реальный путь на вашем компьютере к миранде. Но и из этого есть выход, теперь нам необходимо, чтобы пароль в профиле был зашифрован или его вообще не было (при каждой загрузке вы вводите его вручную). В такой ситуации нам на помощь приходят следующие плагины:
*) mSecure - позволяет шифровать пароль (используется SHA для хеширование и Blowfish для шифрование) и ограничивать вход в профиль по паролю.
*) LSecurity, PassProt, Secure Login и д.р. - данные плагины ограничивают доступ к миранде паролем, который служат для аутификации к профилю и вашему уину (при загрузке пароль временно записывается в профиль). После выгрузки миранды этот пароль удаляется из профиля. Данный способ не очень хорош тем, что используется один и тот же пароль и его может украсть злоумышленник любым кейлогером.
Теперь давайте подробней разберем плагин mSecure (кстати, его написал наш соотечественник). И так, скачиваем плагин, кидаем в соответствующую папку, идем в настройки и задаем любой пароль, который будет запрашиваться у вас теперь при каждом запуске миранды. Алгортим работы плагина следующий (описание дал сам автор):
* Запуск плагина.
* Если пароль mSecure не установлен, плагин никак себя не проявляет.
* Установим пароль mSecure (будем называть его мастер-пароль).
* При выгрузке миранды, если установлен мастер-пароль, mSecure берет все пароли от протоколов (далее просто пароли), шифрует их с помощью
мастер-пароля, записывает зашифрованные пароли в профайл, записывает хеш-функцию от мастер-пароля в профайл и стирает пароли от протоколов (напоминаю, мы оставили только зашифрованные пароли).
* При остальных загрузках миранды, если мы находим хеш-функцию от мастер-пароля, значит мастер-пароль установлен. Выводим диалог, просим
ввести мастер-пароль. Если хеш от введенного мастер-пароля совпадает с сохраненным хешем, мы расшифровываем пароли от протоколов, записываем их в профайл и продолжаем загрузку миранды.
* Когда мы обнуляем мастер-пароль (ставим пустой), mSecure стирает его хеш из профайла и все зашифрованные данные. Так что при следующем
запуске mSecure никак себя проявлять не будет.
К сожалению есть и ложка дегтя, даже две:
1) В тот момент, когда Миранда запущена, настоящий пароль от номера аси записан в положенном месте в dat-файле и в этот момент его может расшифровать троян.
2) Если работу миранды завершить не стандартным способом (например, она вылетит), то пароль не сможет удалиться.
к сожалению на данный момент мне не известно как устранить (или чем) первое утверждение, т.к. сама архитектура миранды не позволяет написать плагина который бы не держал пароль к уину в профайле, даже при запущенной миранде. Да и вообще миранда в плане безопасности написана крайне не корректно. Но я считаю использовать советы приведенные выше на много лучше, чем ничего, особенно если у вас пытизнак или красивый шестизнак.
Другие плагины безопасности (Security and Privacy)
По данной ссылке распологаются плагины связанные с повышением безопасности миранды. Я бы хотел дать не большое описание наиболее хороших плагинов:
*) SecureIM - позволяет устанавливать безопасное соединение с другим пользователем такого же плагина, чтобы злоумышленник не смог наснифать разговор собеседников.
*) GnuPG Plugin - добавляет возможность GnuPG шифрование/де шифрование передаваемых сообщений. Из подобных плагинов хочу упомянуть Scrambler.
*) History Sweeper - позволяет очищать хистори, как конкретных пользователей из контекстного меню, так и системной хистори и создавать разные правила очищения хистори при включении и выключении миранды. Так же хочу обратить ваше внимание на утилиту dbtool.exe, которая тоже позволяет чистить хистори.
*) ContactVisibility - позволяет выбирать из контекстного меню юзера опции: всегда быть в OnLine или OffLain для этого юзера.
*) Так же в разделе по безопасности много плагинов, позволяющих не пропускать вам ICQ-спам.