Письмо для входа часто содержит маркер доступа: ссылку или код, который меняет состояние учётной записи. Моделирование угроз этого потока начинается с отслеживания маркера доступа, а не с рассмотрения письма как обычного текста.
Проследите путь
Перечислите приложение, отправляющего провайдера, принимающий почтовый ящик, браузер, отображающий сообщение, и целевой ресурс, открываемый по ссылке. Добавьте эксплуатационные журналы, скриншоты службы поддержки и пересланные копии. Каждая дополнительная копия может продлить срок жизни секрета или расширить его аудиторию.
Задайте вопрос на каждой границе
- Приложение — отправителю: Связано ли сообщение с предполагаемым действием и получателем?
- Получатель — читателю: Что доказывает, что этот браузер или учётная запись может просматривать почтовый ящик?
- HTML — браузеру: Могут ли удалённое содержимое, скрипты или навигация создать непредвиденный запрос?
- Ссылка — приложению: Ограничен ли токен предполагаемым назначением, учётной записью и сроком действия?
- Операции — поддержке: Удаляются ли токены из стандартных журналов и скриншотов?
Определите приоритеты практических случаев отказа
Для вашего собственного приложения проверьте повторно использованный токен, токен, открытый после истечения срока действия, адрес, изменённый в процессе проверки, и сообщение, просмотренное из неавторизованного сеанса. Используйте синтетические учётные записи, а не почтовые ящики клиентов.
Выберите почтовый ящик соответственно
Почтовый ящик, удобный для публичной загрузки, может не подходить для восстановления учётной записи. Изучите фактическую модель доступа и хранения. Случайно выглядящий адрес сам по себе не является доказательством исключительного доступа. Храните долговременные или чувствительные учётные записи в почтовом ящике, которым вы можете управлять и который можете восстановить.