PowerDMARC

Что такое уязвимость DKIM? Ограничение тега DKIM l= Объяснение

Уязвимость DKIM
Время чтения: 6 мин

Тег DKIM l= (строчная буква "L") в DKIM - это необязательный тег, определяющий длину тела сообщения, которое должно быть подписано. Это можно считать уязвимостью DKIM, поскольку тег l= позволяет частично подписывать тело сообщения. Это может облегчить злоумышленникам использование сообщений, подписанных DKIM. 

Давайте рассмотрим, как DKIM и почему мы не рекомендуем использовать тег DKIM l= в вашей DKIM-подписи.

Цель ограничения длины тела DKIM (тег l=)

DKIM (DomainKeys Identified Mail) - это протокол аутентификации электронной почты, который гарантирует, что содержимое ваших писем не было изменено при пересылке. Он позволяет получателю убедиться, что письмо действительно было отправлено и авторизовано владельцем домена.

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

Как работает тег DKIM l=

  1. Определение длины: Сайт l= сопровождается целым числом, указывающим количество байт в теле сообщения, на которые распространяется подпись DKIM.
  2. Частичная подпись тела: При указании длины только первые 'n' байт тела включаются в хэш, используемый для генерации DKIM-подписи. Любые модификации тела за пределами этой длины не повлияют на проверку DKIM-подписи.

Пример: DKIM-подпись с уязвимостью l-Tag DKIM

Рассмотрим письмо, тело которого имеет длину 1000 байт, но подписаны только первые 500 байт:

DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=notify.domain.com; s=selector1; t=1718098168; i=@notify.domain.com; l=500; bh=SF9K/AZh8dO2XDYZlOtjrmHj5txv4H4qjhFr+q3ASuM=; h=Subject:Message-ID:To:Date:Content-Type:From:From:To:Cc:Subject; b=h0Jp5xjZSjUo06er2Gm5k0Fvt0cuC0xOnfobu1oYAFT2ugVxY0h/xly6x/E/pPT2S

В данном примере l=500 указывает на то, что в подпись DKIM включаются только первые 500 байт тела письма.

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

Уязвимость тегов DKIM l=

Мы не рекомендуем использовать тег DKIM l=, так как он может ослабить вашу защиту и сделать ваш домен уязвимым для атак даже при настроенной аутентификации электронной почты. 

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

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

Роль BIMI в усугублении уязвимости DKIM 

BIMI - это новый протокол, набирающий популярность как в сфере безопасности, так и в маркетинговой индустрии благодаря своей способности добавлять логотипы брендов в электронные письма. Не так давно крупнейшие провайдеры электронной почты, такие как Gmail и Apple Mail, расширили поддержку BIMI, чтобы придать вашим письмам профессиональный вид и повысить уровень безопасности за счет визуальной проверки. 

Поскольку поддельные сообщения, отправленные с доменов, использующих в своей подписи тег DKIM l, проходят проверки DKIM и DMARC, логотип бренда BIMI также прикрепляется к этим вредоносным письмам! Теперь поддельное сообщение, отправленное с вашего доменного имени, не только проходит все фильтры аутентификации, но и имеет логотип вашего бренда! Это еще больше повышает вероятность того, что получатели поверят в его достоверность. 

В связи с потенциальной возможностью использования тега DKIM l= компания Gmail в своем справочном центре Google Admin Workspace настоятельно не рекомендует его использовать. Вот что Google говорит по этому поводу:

"Если вы настраиваете DKIM в почтовой системе, отличной от Google Workspace, не используйте тег длины DKIM (l=) в исходящих сообщениях. Сообщения, использующие этот тег, уязвимы для злоупотреблений".

Риски, связанные с тегом DKIM l, более подробно описаны в RFC 6376, раздел 8.2 озаглавленном "Злоупотребление ограничениями длины тела (тег "l=")". RFC предупреждает пользователей, что указание тега l в подписи DKIM может привести к тому, что пользователи получат доступ к вредоносному содержимому электронной почты без какого-либо предупреждения. RFC призывает подписчиков DKIM соблюдать особую осторожность при наличии этого тега, а также призывает оценивающие серверы полностью игнорировать DKIM-подписи с указанным тегом l=.

Проверьте DKIM-подпись на наличие уязвимостей l-Tag DKIM 

Прежде всего необходимо определить, уязвим ли ваш домен. Для этого мы привели несколько методов, которые вы можете использовать: 

Ручной метод: Проверка оригинальных заголовков подписи DKIM 

1. Отправьте пустое письмо самому себе (в данном случае мы берем пример с пользователя Gmail).

2. Откройте это письмо.

3. Перейдите в раздел "Другие параметры", который обозначен тремя точками в правом верхнем углу.

4. Нажмите "Показать оригинал".

5. На странице "Оригинальное сообщение" прокрутите страницу вниз, чтобы увидеть необработанные заголовки. 

6. Перейдите к разделу "DKIM-подпись:" и проанализируйте синтаксис. Если вы видите, что в заголовке подписи DKIM присутствует тег l=, ваш домен уязвим. Если он отсутствует, то все в порядке и никаких действий предпринимать не нужно. 

Автоматизированный метод: Использование инструмента для анализа заголовков электронной почты

1. Зарегистрируйтесь на PowerDMARC, чтобы взять бесплатную пробную версию. Перейдите в раздел Инструменты анализа > MailAuth Analyzer. 

2. Скопируйте автоматически сгенерированный адрес электронной почты и вставьте его в качестве получателя нового тестового письма в Gmail. Отправьте тестовое письмо. 

3. Теперь вернитесь на портал и обновите страницу. Нажмите на значок "просмотр" в разделе "Действия", чтобы просмотреть результаты. 

4. Мы мгновенно создаем сводный отчет с информацией о конфигурациях DKIM, SPF и DMARC и многое другое! 

5. Вы можете прокрутить страницу вниз, чтобы просмотреть заголовок подписи DKIM в сыром и разобранном форматах. Здесь вы сможете определить, присутствует ли в вашей подписи тег l=. Если он присутствует, необходимо предпринять действия для устранения этой уязвимости. 

Пример: Подпись DKIM без уязвимости l-Tag DKIM

DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=notify.domain.com; s=selector1; t=1718098168; i=@notify.domain.com; bh=SF9K/AZh8dO2XDYZlOtjrmHj5txv4H4qjhFr+q3ASuM=; h=Subject:Message-ID:To:Date:Content-Type:From:From:To:Cc:Subject; b=h0Jp5xjZSjUo06er2Gm5k0Fvt0cuC0xOnfobu1oYAFT2ugVxY0h/xly6x/E/pPT2S

Предотвращение уязвимостей DKIM: Что такое лучшие практики DKIM?

Если вы хотите максимально эффективно использовать протокол DKIM, вот несколько советов, которые рекомендуют наши эксперты: 

  1. Избегайте использования тега DKIM l= в заголовке подписи DKIM. 
  2. Обратитесь к своему поставщику услуг электронной почты, чтобы он предоставил вам новые открытые ключи DKIM (без тега l=) для добавления в DNS. 
  3. Периодически ротируйте ключи DKIM, чтобы старые ключи с уязвимостью l-tag могли быть заменены новыми ключами без этой уязвимости. 
  4. Вы можете использовать сильные DKIM-ключи, например 2048-битные, вместо 1024-битных, чтобы повысить надежность защиты электронной почты DKIM. 
  5. Используйте размещённый DKIM Используйте решение DKIM для управления селекторами и ключами DKIM, а также для мониторинга результатов проверки подлинности DKIM с единой централизованной панели управления.
  6. Создайте свои DKIM-ключи с помощью автоматического генератор DKIM инструмент. Это поможет вам избежать синтаксических ошибок, которые легко упустить из виду.

Дополнительные протоколы для использования с DKIM

Чтобы повысить эффективность DKIM, вы можете внедрить следующие протоколы (а также бонусные рекомендации в конце!): 

  1. Используйте ARC (Authenticated Received Chain) чтобы легитимные письма проходили проверку подлинности даже при пересылке или использовании списков рассылки. При этом автоматически отпадает необходимость в использовании тега DKIM l=. ARC автоматически сохраняет оригинальные заголовки вашего сообщения, чтобы предотвратить ложные отрицательные результаты.
  2. Настройте резервные механизмы, такие как SPF и DMARC, чтобы повысить точность аутентификации и общую безопасность. 
  3. Включить отчеты DMARC чтобы отслеживать каналы электронной почты и источники отправки. Отчеты DMARC помогут вам обнаружить вредоносные IP-адреса и отправителей, чтобы вы могли быстро принять меры против них.

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

Выход из мобильной версии