Дефект 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.ru/2014/02/22/6664/
Похожие записки:
- Перенос статей "Википедии"
- Затихшая OpenAI
- Сервис audit.statdom.ru и постквантовые криптосистемы в TLS
- RCE через ssh-agent
- Технические подробности: постквантовая криптосистема X25519Kyber768 в TLS
- Дорисовывание Луны смартфонами Samsung
- Демонстрация утечек через ПЭМИН для видеокамер
- Сбой DNSSEC в .RU
- Статья: DNS в качестве инструмента публикации вспомогательной информации
- Быстрая факторизация и постквантовые алгоритмы
- Ссылки: запрет продуктов Kaspersky в Штатах
Комментарии читателей блога: 2
1. 23rd February 2014, 22:45 // Читатель jno написал:
круто!
слов нет.
и code review у них, похоже, тоже нет.
как и coding style checkup…
ппц.
2. 24th February 2014, 01:45 // Читатель Alex написал:
Это же эталонная реализация бэкдора! Выглядит как простая опечатка, а дело делает.