Специализированный мини-компьютер IMP соединял между собой участников сети ARPANET в 1969 году, прообраз современных маршрутизаторов и символ древности SMTP. Фото: Fred Prouser / Reuters
Электронная почта — очень старая технология. Протокол Simple Mail Transfer Protocol (SMTP) впервые описан в RFC 821 (1982 год), а его основой стали технологии 1970-х. В те времена никто не мог представить, какие проблемы возникнут в будущем из-за открытости протокола.
Сейчас электронная почта — рассадник спама и главное оружие киберпреступников. Большинство кибератак начинается с проникновения в сеть через фишинг. Жертву изучают — и направляют ей таргетированное письмо с обращением по имени, должности, с указанием деталей личной жизни, после чего искусно убеждают открыть приложенный файл. Многие соглашаются и открывают (например, см. проверку персонала в GoDaddy и GitLab). SMTP идеально подходит для социальной инженерии.
Поэтому программист Лиам Брек (Liam Breck) придумал безопасную и современную альтернативу электронной почте — это сеть MNM (расшифровывается как mnm is not mail), сайт сейчас не справляется с нагрузкой, вот кэш в Google.
Крупнейшее гнездо организованной преступности
Нынешняя почта — совершенно открытая система из почтовых серверов, подключиться к которым может любой пользователь интернета. Это главное достоинство, но и главный недостаток электронной почты, потому что из-за абсолютной открытости систему эксплуатируют злоумышленники, а все мы страдаем из-за спама и фишинга.
Старый добрый SMTP буквально напрашивается на спуфинг
Лиам Брек уверен, что сегодня Интернет стал крупнейшим гнездом организованной преступности в мире. Ситуация с кибератаками ухудшается с каждым годом.
Этот инструмент позволяет:
- Создать впечатление, что письмо пришло от доверенного адресата
- При первом же контакте передать жертве любой контент:
- Ссылки на вредоносные сайты, которые маскируются как доверенные
- Исполняемые программы
- Дезинформация
- Прислать жертве неограниченное количество сообщений без её согласия
- Получить доступ к архиву писем, подобрав простой пароль
- Украсть почту всей организации, взломав единственный сервер
Из-за этих уязвимостей пришлось изобретать надстройки и «костыли» — систему цифровой подписи адресов DomainKeys Identified Mail (DKIM), чёрные списки, спам-фильтры.
Например, технология DKIM помогает проверить, что данное конкретное письмо действительно отправлено с заявленного домена. Вместо традиционного IP-адреса, для отправителя DKIM добавляет цифровую подпись, связанную с именем домена. Подпись автоматически проверяется на стороне получателя, после чего применяются белые и чёрные списки.
Вот как выглядит этот «костыль»:
Но электронная подпись ни к чему не обязывает принимающую сторону. Официальный RFC 6376 рекомендует сообщения с обычных серверов, не поддерживающих DKIM, обрабатывать стандартным образом. А сами подписи DKIM не охватывают «конверт» сообщения, который содержит обратный путь и получателей сообщения, поэтому одного только DKIM недостаточно для надёжной защиты от фишинга.
Поскольку в самом SMTP валидация отправителя отсутствует напрочь, на протяжении десятилетий продолжаются попытки решить эту проблему. Кроме DKIM, разработаны технологии SPF и DMARC, которые тоже используются в спам-фильтрах.
Несмотря на такие ухищрения, спам-фильтры всё равно работают неидеально и даже в каком-то смысле вредят экосистеме, потому что создают у пользователей ложное чувство защищённости, фильтруя большинство мусорных писем, но пропуская действительно продуманные таргетированные атаки. Свидетельств этому несть числа: см. историю с взломом Мэта Хонана. Буквально в течение часа у журналиста угнали аккаунты Amazon, Gmail, Apple и Twitter, дистанционно уничтожили информацию на iPad, iPhone и MacBook. Среди прочего он потерял все фотографии своей дочки с момента её рождения, многие документы и значительную часть писем.
Такое может произойти с каждым. В любую минуту.
Беззащитная открытость электронной почты — это фундамент, на котором держится современная киберпреступность. А главная причина всех проблем — протокол SMTP. Он создавался во времена, когда интернетом пользовались только учёные. Они знали друг друга, и не было нужды разрабатывать механизмы аутентификации, верификации и защиты от мошенничества.
Построенная с нуля новая система всегда лучше, чем старая на костылях. Примерно так рассуждает создатель MNM. Он считает, что SMTP даже с заплатками типа DKIM, SPF и DMARC не приспособлен для существования в 21 веке. Нужен современный, новый протокол.
Концепция
MNM ставит перед собой две задачи: 1) более безопасные коммуникации, где сообщения распространяются только внутри чётких кругов, адресата невозможно подделать, а каждый пользователь сам выбирает, через какие серверы отправлять трафик; 2) добавить возможности, которых не хватает нынешней почте:
- форматирование сообщений и поддержка Markdown
- гиперссылки на другие письма и обсуждения
- хэштеги и приватные теги
- шаблоны для слайдов
- графики и диаграммы
- формы/опросники, результаты которых собираются в таблицы
- многие другие функции для лучшей концентрации, креативности
Автор концепции ничего не говорит о шифровании, но встроенного механизма шифрования действительно сильно не хватает современной (древней) электронной почте.
Аутентификация отправителя и шифрование — это главное, чего не хватает электронной почте.
Вот основные принципы, которым должна соответствовать новая система.
Почтовые службы «для своих»
- Каждой организации и коллективу, будь то большая корпорация или маленький семейный круг, нужен сервис обмена сообщениями только для своих, куда не поступает трафик извне. Переход на MNM начинается постепенно, а первыми это делают компании для внутренних коммуникаций.
- Если организации нужно получать письма от ненадёжных (возможно, анонимных) адресатов, для этой цели создаётся отдельный инстанс. Организации могут подключаться и к сторонним службам обмена сообщениями.
- Для блокировки вредоносного трафика (в случае организаций с неограниченным членством) сервер предотвращает отправку произвольного контента участниками, с которыми отправитель не знаком.
- Сервер контролирует, как участники идентифицируют себя, чтобы предотвращать мисрепрезентацию.
- Чтобы предотвратить перехват писем (в случае взлома учётной записи или сервера), сервер хранит только те сообщения, которые ещё не доставлены или возвращены как недоставленные.
- Там, где требуется резервное копирование, сервер шифрует трафик конкретных аккаунтов с помощью открытого ключа и отправляет его в службу бэкапов.
- Серверы должны поддерживать списки рассылки сообщений (они же группы) и уведомления об онлайн-статусе, поскольку это естественное расширение функциональности системы обмена сообщениями.
- Для небольшой организации стоимость почтового сервера должна быть незначительной.
Единое клиентское приложение:
- Каждому человеку необходимо единое приложение для обмена сообщениями, которое работает практически на любом устройстве и регулярно подключается к службам обмена сообщениями всех организаций, к которым принадлежит человек, по общему сетевому протоколу.
- Приложение создаёт отдельные ящики для каждой службы и настраивает внешний вид входящей почты (шрифты, цвета, фон) в соответствии с конфигурацией, которую можно поменять.
- Службы обмена сообщениями надёжно доставляют каждое сообщение на каждое устройство, где запущен клиент.
- Если одно из устройств выброшено, потеряно или украдено, у пользователя должна быть возможность запретить ему дальнейший доступ к своим аккаунтам для обмена сообщениями. Скомпрометированное устройство не должно быть в состоянии захватить аккаунт.
- При настройке дополнительного устройства приложение должно передать историю ваших сообщений на это устройство одноранговым способом, то есть по пирингу.
- При получении сообщения приложение не должно связываться ни с какими сторонними сайтами, на которые ссылается это сообщение.
- Приложение должно обеспечить метод P2P-коммуникаций, позволяющий людям при личном контакте обмениваться приглашениями на свои серверы.
- Приложение должно включить шифрование истории сообщений в локальном хранилище и автоматически создавать бэкапы, например, на USB-флэшке или карте microSD.
- Для конфиденциальных данных, которые можно отправлять только в зашифрованном виде, клиент должен выполнять шифрование перед отправкой, а также дешифровку полученных писем с использованием открытых ключей.
Софт
Клиент и сервер MNM опубликованы под лицензией Mozilla Public License 2.0. Исходный код см. в репозитории на GitHub.
Разработка идёт с начала 2017 года, за это время вышло девять предварительных релизов клиентского приложения. Последняя версия 0.9.0 от 3 января 2021 года.
В данный момент собраны версии под Windows, MacOS, and Linux, планируются порты на Android и iOS.
- Windows: mnm-app-windows-amd64-v0.9.0.zip
- macOS: mnm-app-macos-amd64-v0.9.0.tgz
- Linux: mnm-app-linux-amd64-v0.9.0.tgz
Графический интерфейс работает через браузер (Vue.js), протестирован в Chrome и Firefox. После старта клиента подключаемся к порту http://localhost:8123/
— и клиент запускается в браузере.
При желании можно запустить клиент на другом порту:
- на Linux и macOS:
./mnm-hammer -http :8123
- под Windows:
mnm-hammer.exe -http :8123
Все данные хранятся на машине пользователя и реплицируются на другие устройства при необходимости. Есть полная документация и курс для новичков.
Приложение и сервер TMTP написаны на Go. Приложение использует Bleve и Gorilla Websocket, сервер — NTP-клиент Бретта Викерса.
Сервер TMTP развёрнут в публичном дата-центре и тестируется с начала 2019 года. Он работает под Linux, планируются порты на FreeBSD, Windows и MacOS. В данный момент он не поддерживает ограничения на создание аккаунтов. Последняя версия 0.1.0.
В первую очередь TMTP предназначен для организаций и отделов, где последствия фишинговой атаки будут катастрофическими, поэтому они могут полагаться только на внутреннюю почтовую сеть.
Почтовый ящик и клон сим-карты — ключи ко всей цифровой жизни человека
Идея Тима Бернерса-Ли
Концепция MNM/TMTP чем-то напоминает идею Тима Бернерса-Ли о децентрализованной сети из персональных контейнеров Solid.
После регистрации на одном из solid-серверов пользователь получает идентификатор и личный «контейнер» (solid pod). Как вариант, можно поднять локальный сервер.
Этот под с личными данными — своеобразное отражение цифровой личности человека. И пользователь настраивает разрешения, какие приложения могут получить доступ к его поду — и какие конкретно данные могут быть выданы этим приложениям для осуществления определённых действий.
Электронная почта бессмертна?
Доводы Лиама Брека разумны и логичны, хотя сама идея заменить электронную почту кажется слегка идеалистической, в духе написать собственную ОС с нуля или, что ещё сложнее, написать с нуля веб-браузер (1217 спецификаций W3C содержат 114 млн слов).
Но если идея безумна, то она становится ещё интереснее!
У нас ведь свободное общество. Никто не может запретить опенсорсный проект любой функциональности.
Такие проекты как минимум расширяют воображение.
Ну а если реально посмотреть на вещи, то вся история электронной почты показывает, что это крайне живучая технология. Её не смогли уничтожить ни социальные сети, ни смартфоны с мобильными приложениями, ни мессенджеры, ни круги Google Wave, ни что иное.
Несмотря на распространённость мессенджеров и социальных сетей, по статистике почтовый трафик растёт с каждым годом.
Возможно, электронная почта долго сохранится в том виде, в каком ей пользовались наши деды. Похоже, это самая гениальная технология в интернете — и ничего с этим не поделаешь…
На правах рекламы
VDSina предлагает недорогие серверы с посуточной оплатой. Интернет-канал для каждого сервера — 500 Мегабит, защита от DDoS-атак включена в тариф, возможность установить Windows, Linux или вообще ОС со своего образа, а ещё очень удобная панель управления серверами собственной разработки. Давно пора попробовать ;)
Автор: Mikhail