Жизнь после heartbleed: как обезопасить себя в интернете

Критическая ошибка в криптографическом пакете OpenSSL стала одной из самых серьёзных угроз безопасности за всю историю интернета. На протяжении двух лет через неё можно было выполнять скрытый и совершенно бесследный несанкционированный доступ к большей части узлов Всемирной паутины.

Как защитить себя во враждебном сетевом окружении, где разом было утрачено доверие к SSL-сертификатам и защищённому протоколу HTTPS?

Из-за уязвимости Heartbleed под ударом оказались серверы популярных сайтов, компьютеры удалённых пользователей и сетевые устройства сложнее хаба. Компания Cisco представила впечатляющий список оборудования, который подвержен данной ошибке.

Другие фирмы сейчас либо готовят аналогичные списки, либо просто игнорируют проблему.

Жизнь после heartbleed: как обезопасить себя в интернетеИгровой сайт mmdoc.ru остаётся уязвимым спустя четыре дня после выхода патча (скриншот сайта possible.lv).

Даже после выхода патча многие узлы в сети останутся уязвимыми неопределённо долго. Авторизация на сайтах и в почте, использование онлайн-банкинга и интернет-магазинов – всё это теперь крайне рискованно.

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

  • проверить домашний роутер по спискам уязвимого оборудования, обновить прошивку (если она вышла после седьмого апреля) или отключить удалённое администрирование;
  • выполнять проверку наличия незакрытой уязвимости Heartbleed на всех сайтах, работающих по протоколу HTTPS, перед их посещением;
  • сгенерировать стойкие пароли. Их не обязательно хранить или помнить: есть проверенный способ, о котором написано ниже;
  • сменить все пароли (а также секретные вопросы для их восстановления);
  • перейти (где это технически возможно) на двухфакторную авторизацию.

Теперь обо всех перечисленных этапах подробнее.

Когда стало известно об уязвимости Heratbleed, владельцы сайтов поспешили перейти на исправленную версию пакета OpenSSL и перевыпустили скомпрометировавший себя цифровой сертификат SSL. К сожалению, столь разумно пока среагировали лишь единицы.

Помимо слегка перегруженного сайта Possible, ещё одна форма для проверки любого сайта представлена здесь. Реализована она далеко не идеально – требует прямого указания порта (обычно это 443) и грешит ложноположительными результатами.

Проверка наличия уязвимости Heartlbeed на сайте магазина Google Play

(скриншот сайта filippo.io).

Косвенно убедиться в том, что на конкретном сайте проблема была устранена, можно по дате выдачи его сертификата. Он должен быть сгенерирован после седьмого апреля этого года – дня публикации патча.

Сделать такую проверку можно на специализированном веб-сервисе. Просто введите имя сайта и… скорее всего, вы убедитесь, что он до сих пор уязвим к данному виду атаки.

Проверка наличия уязвимости Heartlbeed на сайте Facebook (скриншот сайта lastpass.com).

Более продвинутая методика тестирования сайта работает на сайте SSL Labs. Недавно в неё была добавлена отдельная проверка на уязвимость Heartbleed.

Проверка сайта дополнений для браузера Firefox (скриншот сайта ssllabs.com).

Коснулась ли ошибка в OpenSSL именно вас, узнать практически невозможно. Её использование не оставляет никаких следов и выглядит совершенно легитимно для всех защитных программ.

Поэтому на уровне пользователя в таких случаях срабатывает универсальное правило смены всех паролей доступа.

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

Брелок – устройство, позволяющее потерять все ключи одновременно.

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

Главный недостаток метода заключается в том, что, забыв мастер-пароль или повредив базу, пользователь лишается доступа сразу ко всему. Аналогично, в случае удачной атаки на зашифрованный контейнер, такая программа позволяет скомпрометировать все ваши пароли сразу.

К тому же надёжность большинства менеджеров паролей довольно сомнительна. Они сами часто содержат ошибки в реализации криптографических схем или вовсе дублируют данные в открытом виде, забывая удалять их из оперативной памяти и временных файлов.

Например, во время аудита программы LastPass 2.0.20 специалисты Sophos обнаружили, что все пароли браузера Internet Explorer сохраняются в дампе памяти.

Не хранить, а творить!

Между тем существует универсальный способ превратить легко запоминающийся и даже очевидный пароль в стойкий ко взлому. Основан он на свойствах хеш-функций и весьма удобен в повседневной практике.

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

Выбираем любую хеш-функцию (как вариант – MD5) и вычисляем её, подставляя в качестве исходных данных наш «солёный» пароль.

Таким образом примитивный пароль «vk.com42» превращается в стойкий «EE61518029FF5AF634C1A867B064D600», а «twitter.com42» – преобразуется в «28D1FF535970D9927B099BB0897677CF». Именно эти последовательности из тридцати двух символов и следует использовать для доступа на сайты «ВКонтакте» и Twitter соответственно.

Запоминать их нет смысла, так как легко вспомнить сам метод получения. Нужный пароль отображается сразу после ввода комбинации [имя_сайта + соль] в любом хеш-калькуляторе и переносится через буфер обмена (который потом сразу очищается вручную).

Вычисление хеш-функции MD5 произвольной строки (скриншот).

Для Windows это может быть бесплатный DAMN Hash Calculator, а для Android – Hash Droid. Кроме того, существуют онлайн-сервисы вычисления хеш-функций строки или файла через простейшую форму на сайте.

Веб-сервис для вычисления хеш-функции MD5 (скриншот сайта onlinemd5.com/).

Примечание: Старайтесь использовать только цифры и символы латиницы. Буквы кириллицы имеют разные коды в национальных кодировках.

Содержащие их пароли будут по-разному обрабатываться другими хеш-калькуляторами.

Дополнительно можно повысить стойкость таких паролей, внеся в них некоторые модификации. Например, удалить последний знак, поменять местами два первых, использовать одну хеш-функцию и сокращать результат до размера другой… Вариантов масса.

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

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

Двухфакторная схема авторизации подразумевает, что, помимо пароля, легитимный пользователь предоставляет для входа в систему что-то ещё. Это может быть аппаратный ключ, биометрические данные или дополнительный пароль, отправляемый ему после ввода первого по другому каналу связи (например, в СМС).

Именно таким образом уже работает большинство платёжных систем. Есть надежда, что уязвимость Heartbleed простимулирует более широкое внедрение двухфакторных схем аутентификации, обратит внимание пользователей на современные методы защиты данных и поспособствует оздоровлению интернета в целом.

What is the Heartbleed bug?


Читать также…

Читайте также: