Apple обещает скоро исправить SSL-баг в OS X

от автора

Компания Apple признала наличие бага в Mac OS X 10.9.1, который позволяет перехватывать трафик, зашифрованный по SSL. Несколько дней назад вышли соответствующие обновления безопасности iOS 7.0.6 и 6.1.6 для iOS 7 и 6. Как выяснилось, баг присутствует и в последней версии Mac OS X.

Уязвимы все программы, которые используют SSL-библиотеку от Apple, в том числе браузер Safari, почтовый клиент Mail, приложения Calendar, FaceTime, Keynote, Twitter, iBooks. На браузеры Chrome и Firefox уязвимость не распространяется, потому что они не используют библиотеку sslKeyExchange.c от Apple.

Уязвимость вызвана тривиальной ошибкой в исходном коде, где используется две строки goto fail подряд. Первая из них корректно связывается с оператором if, а вторая вызывает завершение программы.

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; 	... 

Проверить наличие уязвимости на конкретном устройстве OS X можно, если попробовать зайти по ссылке https://www.imperialviolet.org:1266/. Если она открывается на порту 1266, то баг в наличии.

Как вариант, можно воспользоваться утилитой otool. Уязвимая библиотека sslKeyExchange.c имеет номер версии 55471.

otool -L `which ssh` | grep 55471

«Мы в курсе проблемы и уже подготовили программное обновление, которое выйдет очень скоро», — сказали представители Apple в интервью Reuters. Неофициальный патч можно взять здесь.

В то же время кто-то зарегистрировал домен gotofail.com: сайт посвящён багу Apple.

ссылка на оригинал статьи http://habrahabr.ru/post/213725/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *