Ресурсы: техническое описание TLS, LaTeX - в картинки (img), криптографическая библиотека Arduino, шифр "Кузнечик" на ассемблере AMD64/AVX и ARM64
Дефект TLS/SSL в продуктах Apple
У Apple – грандиозная ошибка в коде, отвечающем за установление TLS-соединения: лишний оператор goto (зачем они вообще его использовали?) приводит к тому, что не проверяется серверная подпись при генерации ключа по протоколу Диффи-Хеллмана. Это означает, что сессия может прослушиваться, так как атакующий получает возможность подменить сеансовый ключ. Ошибка, можно сказать, сводит защищённость TLS в соответствующих продуктах Apple примерно к нулю.
Addon:
Пожалуй, скопирую и фрагмент исходного кода:
static OSStatus
SSLVerifySignedServerKeyExchange(SSLContext *ctx, bool isRsa, SSLBuffer signedParams,
uint8_t *signature, UInt16 signatureLen)
{
OSStatus err;
...
if ((err = SSLHashSHA1.update(&hashCtx, &serverRandom)) != 0)
goto fail;
if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0)
goto fail;
goto fail;
if ((err = SSLHashSHA1.final(&hashCtx, &hashOut)) != 0)
goto fail;
...
fail:
SSLFreeBuffer(&signedHashes);
SSLFreeBuffer(&hashCtx);
return err;
}
Речь, как несложно догадаться, о паре последовательных goto. Второй из операторов безусловен, а так как переменная err, в случае, если ошибочный goto выполнился, содержит 0, то и сама функция “проверки” вернёт этот код успешного завершения.
Адрес записки: https://dxdt.blog/2014/02/22/6664/
Похожие записки:
- Распознавание TLS-клиентов в трафике
- Удаление спутников с орбиты
- Шифр "Кузнечик" на ассемблере arm64/AArch64 со 128-битными инструкциями
- Техническое: обновления на тестовом сервере TLS 1.3
- Обобщение "хендшейков" и сокращение этапов согласования
- Техническое: возможности Let's Encrypt по блокированию сертификатов
- Трансляторы кода силами LLM в DARPA
- Реплика: Google и IMO 2025
- Техническое: связь SCT-меток с логами Certificate Transparency
- Реплика: пропуск подписанного трафика и цифровые идентификаторы в будущем
- Дальнейшее сокращение допустимого срока действия TLS-сертификатов
Новый
Комментарии читателей блога: 2
1 <t> // 23rd February 2014, 22:45 // Читатель jno написал:
круто!
слов нет.
и code review у них, похоже, тоже нет.
как и coding style checkup…
ппц.
2 <t> // 24th February 2014, 01:45 // Читатель Alex написал:
Это же эталонная реализация бэкдора! Выглядит как простая опечатка, а дело делает.