Рубрика «openssl» - 6

Логотип Ruby и суровый ГОСТовый навесной замокВ жизни далеко не каждого разработчика наступает момент, когда приходится взаимодействовать с государственными системами. И немногим из них приходится взаимодействовать именно с российскими государственными системами. И так уж сложились звёзды, что я оказался одним из этих «счастливчиков».

Особенность российского государева ИТ в том, что везде, где нужно обеспечить безопасность (шифрование) и целостность (подпись) информации, необходимо использовать только отечественные криптоалгоритмы (которые стандартизованы и описаны в добром десятке ГОСТов и RFC). Это весьма логично с точки зрения национальной безопасности, но весьма больно с точки зрения разработки на не самом популярном языке (это джависты вон обласканы вниманием со всех сторон).

И вот, когда встала перед нами задача весьма плотного обмена сообщениями с ГОСТовой электронной подписью с одной из таких систем, то предложенный вариант решения в виде сетевого SOAP-сервиса, подписывающего запросы (и ответы) мне не понравился от слова «совсем» (оборачивать SOAP в SOAP — это какой-то кошмар в квадрате). Наступили длинные майские выходные, а когда они закончились — у меня было решение получше…
Читать полностью »

Уязвимость OpenSSL CCS

Ингве Петтерсен продолжает изучать проблемы уязвимостей и тестировать веб-серверы на вопрос незакрытых брешей.

На прошлой неделе появились сообщения о новой уязвимости в OpenSSL, которой были подвержены все версии библиотеки. Эта новая уязвимость, часто называемая уязвимостью CCS, относится к типу MITM (Man In The Middle) и позволяет атакующему «подслушать» или изменить данные, пересылаемые между клиентом и сервером, обманывая обе стороны — клиент и сервер, чтобы установить соединение между ними с использованием предсказуемых ключей шифрования.
Читать полностью »

Наверняка все знают, что 8 апреля 2014 Сотрудники The OpenSSL Project выпустили бюллетень безопасности, в котором сообщается о критической уязвимости CVE-2014-0160 в популярной криптографической библиотеке OpenSSL.
Подробнее об этой уязвимости уже писали на хабре, а тут мы рассмотрим как обезопасить свой Drupal сайт.
Читать полностью »

imageМногие уже слышали про найденную в OpenSSL уязвимость. Можно с уверенностью сказать, что по освещенности в интернет-СМИ она займет почетное первое место. Про нее не только пишут, но и создают специальные сайты, проверяющие сервисы и даже рисуют комиксы. И не удивительно — масштаб поражения действительно впечатляет, по некоторым оценкам более 17% всех сайтов с поддержкой ssl уязвимы, учитывая простоту эксплуатации это событие можно сравнить с эпидемией. К сожалению, даже это для многих не является достаточным аргументом — спустя неделю многие сайты продолжают оставаться под угрозой. Это может быть не критично для простых сервисов, но не для финансовых. Особенно болезненно это может сказаться на платежных шлюзах, через которые осуществляются платежи. Об одном из таких я и расскажу.Читать полностью »

Когда я писал об ошибке в GnuTLS, я сказал, что это не последняя тяжелая ошибка в стеке TLS, которую мы увидим. Однако, я не ожидал, что всё будет так плачевно.

Ошибка в Heartbleed — это особенно неприятный баг. Она позволяет злоумышленнику читать до 64 Кб памяти, и исследователи в области безопасности говорят:

Без использования какой-либо конфиденциальной информации или учетных данных мы смогли украсть у себя секретные ключи, используемые для наших сертификатов X.509, имена пользователей и пароли, мгновенные сообщения, электронную почту и важные деловые документы и общения.

Читать полностью »

Компания Apple недавно допустила крупную ошибку, забыв удалить лишнюю строчку с оператором безусловного перехода goto посередине функции SSLVerifySignedServerKeyExchange для проверки серверной подписи при установке SSL-соединения. В результате, функция успешно завершала работу, независимо от результата проверки подписи.

Однако, это не первый случай в истории, когда критическая ошибка объясняется единственной строчкой кода. Вот ещё несколько таких примеров.

X Server

В 2006 году было обнаружено, что X Server проверяет рутовые права у пользователя, но при этом разработчики в реальности забыли вызвать соответствующую функцию.

--- hw/xfree86/common/xf86Init.c
+++ hw/xfree86/common/xf86Init.c
@@ -1677,7 +1677,7 @@
   }
   if (!strcmp(argv[i], "-configure"))
   {
-    if (getuid() != 0 && geteuid == 0) {
+    if (getuid() != 0 && geteuid() == 0) {
        ErrorF("The '-configure' option can only be used by root.n");
        exit(1);
     }

Читать полностью »

В этой статье я продолжаю усовершенствовать однопоточный https сервер на неблокирующих сокетах. Предыдущие статьи с ссылками на исходный код, можно найти здесь:
Простейший кросcплатформенный сервер с поддержкой ssl
Кроссплатформенный https сервер с неблокирующими сокетами
Кроссплатформенный https сервер с неблокирующими сокетами. Часть 2

В конце этой статьи будет ссылка на исходный код сервера, который я протестировал в Visual Studio 2012 (Windows 8 64bit), g++4.4 (Linux 32bit), g++4.6 (Linux 64bit). Сервер принимает соединения от любого количества клиентов и отправляет в ответ заголовки запроса.
Но начну я статью пожалуй, с ответов на некоторые комментарии к предыдущим.
Читать полностью »

Эта статья является продолжением статей:
Простейший кросcплатформенный сервер с поддержкой ssl
Кроссплатформенный https сервер с неблокирующими сокетами
В этих статьях я постепенно из простенького примера, входящего в состав OpenSSL стараюсь сделать полноценный однопоточный веб-сервер.
В предыдущей статье я «научил» сервер принимать соединение от одного клиента и отсылать обратно html страницу с заголовками запроса.
Сегодня я исправлю код сервера так, чтобы он мог обрабатывать соединения от произвольного количества клиентов в одном потоке.
Читать полностью »

Не так давно передо мной встала задача: написать кроссплатформенный сервер для обработки запросов по протоколу ssl. До этого я писал сервера для обычных, не шифрованных протоколов, но с ssl столкнулся впервые.
Беглый обзор интернета показал, что лучшим решением будет не велосипедостроение, а использование библиотеки OpenSSL.
В этой статье я не хочу рассматривать процесс установки OpenSSL на Linux и Windows, замечу лишь, что для Windows процесс этот оказался нетривиальным. А рассказать я хочу о том, как мне удалось скомпилировать в Visual Studio пример простейшего сервера, входящий в состав исходников OpenSSL.
Неискушенному читателю может показаться: «что тут особенного — создал проект, включил в него готовый исходник, запустил»… Однако обо всем по порядку.

Читать полностью »

image

Несколько минут назад на главной странице официального сайта OpenSSL вместо контента высветилась надпись:

TurkGuvenligiTurkSec Was Here @turkguvenligi + we love openssl _

Как не трудно заметить, был произведен дефейс. Об этом сообщил в твиттере, судя по всему сам автор взлома, под ником Turkguvenligi.
Подробностей о методах взлома пока не сообщается. На данный момент функционал сайта восстановлен, посмотреть измененную копию можно на зоне: http://zone-h.org/mirror/id/21425720 или в веб архиве.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js