HTML в электронной почте: красота оформления за счет безопасности?

CNews: Какие угрозы с точки зрения безопасности электронной почты наиболее актуальны?

Дмитрий Акиндинов: Прежде всего, это угрозы связанные с утечкой конфиденциальной информации, когда содержание письма становится доступно третьим лицам, для которых оно не предназначалось. Вторая группа рисков связана с тем, что сейчас почтовый аккаунт превратился в средство аутентификации в различных онлайн службах, поэтому, заполучив пароль и «угнав» учетную запись, злоумышленник получает возможность авторизоваться в социальных сетях и других сервисах, зарегистрированных на данный почтовый ящик. С точки зрения рядового пользователя, который не связан с передачей конфиденциальной информации, данный вид угроз наиболее значителен.

CNews: Какие методы чаще всего используют злоумышленники, как они предпочитают действовать технически?

Дмитрий Акиндинов: Самый простой способ предполагает использование методов социальной инженерии, то есть отправки писем с поддельных адресов с целью обмануть пользователя. В пример можно привести спам с так называемыми «нигерийскими» письмами и «сомалийские» вирусы. Протокол SMTP, который с самого начала используется в электронной почте, не предполагает проверки соответствия реального отправителя указанному в заголовках письма адресу, поэтому подделка адреса отправителя — один самых простых приемов, к которым могут прибегнуть мошенники.

Более сложный подход предполагает отправку писем с активным содержимым, которое способно вызывать определенные действия на стороне клиента, осуществляющего обработку электронной почты. Например, это может быть приложение, маскирующееся под скринсейвер, которое после установки компрометирует компьютер. Активные «скрипты», которые незаметно для пользователя будут совершать изменения на машине, могут быть встроены в любой документ pdf или Microsoft Word.

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

CNews: Как построено шифрование данных в электронной почте?

Дмитрий Акиндинов: Первоначально электронная почта задумывалась как средство отправки текстовых сообщений, однако со временем пришло понимание, что вместе с текстом удобно пересылать дополнительные материалы (картинки, видео и т.п.). Для этого файл вложения необходимо было перекодировать в текст и вставить его в сообщение, а при приеме декодировать обратно. Поначалу для этого использовались внешние программы (UUEncode, BinHex), потом эти функции были встроены в почтовые клиенты: «продвинутый» клиент в тексте сообщения умеет определить изначально «бинарные» вставки и показать их без дополнительных действий пользователя. Такими бинарными вложениями могли быть и шифрованные данные, созданные внешними программами. Одной из первых широко используемых программ была PGP Фила Циммермана. Это средство шифрования было разработано специально для использования в электронной почте: зашифрованный результат представлялся в виде текста, который можно было вставить в любое место сообщения. При просмотре такого сообщения зашифрованный текст расшифровывается автоматически, если почтовая программа с модулем PGP имеет доступ к ключу шифрования.

Текстовое представление электронных писем стандартизовано для передачи мультимедийных данных в формате MIME. Этот формат позволяет компоновать электронное письмо из отдельных частей, которые могут задавать альтернативное представление текста письма, вложения, календарные приглашения и прочее. Специальное представление определено и для частей, которые содержат криптографическую информацию: зашифрованные данные или данные с электронной подписью. Оно описано в стандарте S/MIME.

max4532.jpg

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

Собственно для шифрования почты используются стандартные блочные шифры (DES, AES, соответствующие алгоритмы, предусмотренные российскими ГОСТами), которые предполагают применение как симметричного шифрования (передатчик и получатель изначально имеют доступ к одному и тому же ключу шифрования), так и асимметричного шифрования (отправитель для шифрования и получатель для расшифровки используют разные, но связанные между собой ключи). При этом для шифрования данных симметричным алгоритмом используется одноразовый случайный ключ, который в свою очередь приложен к данным зашифрованным асимметричным алгоритмом. Это среди прочего позволяет адресовать одни и те же зашифрованные данные нескольким получателям сразу.

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

На сегодняшний день наибольшее распространение получили технологии шифрования PGP и S/MIME. Они используют одинаковые подходы с комбинацией симметричных и асимметричных алгоритмов шифрования, но предлагают разные способы распространения публичных ключей.

CNews: В мае 2018 года европейские исследователи обнаружили новую уязвимость в протоколах PGP и S/MIME, в связи с чем они рекомендовали вообще отказаться от использования данных протоколов, пока уязвимость не будет закрыта. В чем именно заключается проблема?

Дмитрий Акиндинов: Как я уже упоминал, помимо текстового сообщения, письма электронной почты могут содержать различные данные, например, вложенные файлы или же текст письма может быть представлен с использованием HTML-форматирования. Для текстовой и мультимедийной информации существуют разные типы MIME-контейнеров. Уязвимость, которая была обнаружена, связана не с протоколами шифрования как таковыми, а с тем, как эти технологии реализованы в почтовых программах в части работы с расширенным, нетекстовым контентом. Как правило, почтовые клиенты перед тем, как показать зашифрованную часть автоматически декодируют все тело письма — так, как это предполагалось делать при использовании средств PGP.

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

Подводя итог, схема выглядит следующим образом. Вначале злоумышленник крадет зашифрованное письмо, адресованное пользователю, без возможности его прочитать, а далее «скармливает» это письмо по частям пользователю, встраивая его в исполняемую ссылку или Java-script, и смотрит, каким образом текст будет расшифрован. При этом, со стороны пользователя не требуется каких-то активных действий, достаточно просто открыть письмо, не производя дополнительные манипуляции (например, открывая файлы-вложения или переходя по ссылкам).

CNews: Получается, что устранением проблемы должны заниматься разработчики почтовых программ?

Дмитрий Акиндинов: Конечно, но и сами пользователи должны более внимательно относиться к тому, какие сообщения они читают. Стоит обратить внимание, что атака производится не на сами зашифрованные данные, а на почтовую программу, которую злоумышленник пытается заставить расшифровать ранее украденные данные. И необходимым компонентом такой атаки является «обратный канал», по которому уязвимая почтовая программа может передать данные злоумышленнику. На сегодняшний день не найдено надежного способа организовать такой канал в простом текстовом сообщение, а использование HTML такие возможности предоставляет. Правильным подходом будет полностью отключить HTML и обращения к внешним ссылкам и читать переписку в обычном текстовом представлении. Конечно, ссылку можно вставить и в обычный текст, но тогда пользователь сможет прочитать «тело» ссылки и наверняка обратит внимание, что она содержит в себе текст одного из его предыдущих сообщения.

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

CNews: Как в решениях CommuniGate реализована защита от подобных инцидентов?

Дмитрий Акиндинов: С самых первых версий решение CommuniGate Pro включает в себя веб-клиент, вследствие чего мы особенно чувствительны к такого рода уязвимостям. Например, при отображении в браузере письма со ссылкой на внешний ресурс, к злоумышленникам может попасть адрес страницы нашего веб-клиента, а с ним — идентификатор сессии, с помощью которого доступ к переписке можно будет получить с любого IP-адреса в случае, если отключены другие механизмы защиты (а их –, но не все сразу! — иногда приходится отключать при работе, например, через прокси-сервер).

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

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

CNews: Можете ли вы привести примеры, когда злоумышленникам через уязвимость во встроенном контенте удавалось украсть конфиденциальную информацию и нанести крупный ущерб?

Дмитрий Акиндинов: Мне о подобных случаях не известно, однако следует помнить, что лишь немногие инциденты безопасности становятся достоянием общественности, так как бизнес старается не афишировать подобные утечки. Кроме того, в сфере информационной безопасности лучше всегда перестраховываться, поэтому я рекомендую всерьез отнестись к рекомендациям по поводу новой уязвимости в почтовых клиентах. Следует помнить, что одного шифрования недостаточно, также необходимо соблюдать «рабочую гигиену», то есть не открывать подозрительные письма, скептически относиться к письмам о выигрышах в лотерею и т.д. Помимо этого, я бы советовал отказаться от использования HTML-контента в деловой переписке. Элементы HTML не несут дополнительного смысла, а часто даже, наоборот, отвлекают от непосредственного содержания письма. Скажем, зачем мне в деловом письме нужен голубой текст на розовом фоне или анимированные картинки?

Полный текст статьи читайте на CNews