OpenSSL 1.1.1 ‹ 1.1.1d Несколько уязвимостей, вызывающих сбой сканирования PCI?

У нас есть OpenSSL 1.1.1d, установленный на 64-разрядном сервере Windows с Apache 2.4.*. Все работало нормально до недавнего времени (январь 2020 г.), когда наше ежедневное сканирование PCI завершилось неудачей со следующим кратким описанием: удаленная служба подвержена множественным уязвимостям. Очевидно, что для меня было естественным сделать обновление до самой последней версии OpenSSL, и когда я проверил https://www.openssl.org/ Я обнаружил, что 1.1.1d является последней версией, но все же переустановил ее на всякий случай. Это ничего не изменило, сканирование все равно не удалось.

В отчете о сканировании внизу был длинный абзац с более подробной информацией о воздействии, этот текст привлек мое внимание...

 *"OpenSSL versions 1.1.1, 1.1.0 and 1.0.2 are affected by this issue. Due to the limited scope of affected deployments this has been assessed as low severity and therefore we are not creating new releases at this time".*

Может ли кто-нибудь помочь мне понять, что мне нужно сделать, чтобы остановить этот сбой? Я посмотрел в Интернете, и никто не сообщает о проблеме в том же контексте, что и я. Пожалуйста помоги!

ОБНОВЛЕНИЕ ВОПРОСА - ДОБАВЛЕН ПОЛНЫЙ ССЫЛОЧНЫЙ ПАРАГРАФ

Это ложное срабатывание. Вам необходимо подать диспут с продавцом, показав ему, что версия 1.1.1d не имеет уязвимости, обнаруженной в других версиях. У всех поставщиков сканирования PCI есть процесс оспаривания ложных срабатываний. Если они согласятся с результатами вашего спора, они уберут уязвимость из вашего отчета. Они должны решить эту проблему для вас быстро. Отправьте им https://www.openssl.org/news/secadv/20190910.txt и доказательство фактической версии, которая у вас есть.


person Enomatix24    schedule 07.01.2020    source источник
comment
Спасибо, что посмотрели на мой вопрос. Вот ответ на ваши вопросы... 1. Как вы сканируете? Внешнее сканирование уязвимостей с помощью Security Metrics 2. Какой инструмент вы используете? Метрики безопасности Сканирование PCI. 3. Какой номер CVE он сообщил? CVE-2019-1549 CVE-2019-1547 CVE-2019-1552 Я не могу вставить полный текст из-за ограниченного пространства для символов, поэтому я отредактирую вопрос, чтобы включить полный абзац внизу.   -  person Majoris    schedule 07.01.2020
comment
Похоже, ваш сканер веб-безопасности имеет подпись, которая ложно поднимает этот флаг, он не может прочитать/понять разницу версий. это обычная проблема со сканером уязвимостей. Это может исправить только продавец, он должен настроить свой сканер. Вам придется связаться с ними, как правило, производители сканеров уязвимостей не сотрудничают с такими запросами, они живут небольшими ложными срабатываниями.   -  person Enomatix24    schedule 08.01.2020
comment
Воздействие Версия тестируемого продукта, установленная на удаленном хосте, предшествует тестируемой версии. Поэтому он подвержен следующим уязвимостям: - Обычно в группах OpenSSL EC всегда присутствует кофактор, и он используется в кодовых путях, устойчивых к сторонним каналам. Однако в некоторых случаях можно построить группу, используя явные параметры (вместо использования именованной кривой). В этих случаях возможно, что такая группа не имеет кофактора. Это может произойти даже в том случае, если все параметры соответствуют известной именованной кривой. Если используется такая кривая, то OpenSSL возвращается к путям кода, не устойчивым к боковым каналам, что может привести к полному восстановлению ключа во время операции подписи ECDSA. Чтобы быть уязвимым, злоумышленник должен иметь возможность рассчитать время создания большого количества подписей, где явные параметры без присутствия кофактора используются приложением, использующим libcrypto. Во избежание сомнений, libssl не уязвима, потому что явные параметры никогда не используются. Эта проблема затрагивает версии OpenSSL 1.1.1, 1.1.0 и 1.0.2. (CVE-2019-1547) — OpenSSL 1.1.1 представил переписанный генератор случайных чисел (RNG). Это было предназначено для включения защиты в случае системного вызова fork(), чтобы гарантировать, что родительский и дочерний процессы не используют одно и то же состояние RNG. Однако эта защита не использовалась по умолчанию. Частичное смягчение этой проблемы заключается в том, что выходные данные высокоточного таймера смешиваются с состоянием RNG, поэтому вероятность совместного состояния родительского и дочернего процессов значительно снижается. Если приложение уже вызывает OPENSSL_init_crypto() явно, используя OPENSSL_INIT_ATFORK, то эта проблема вообще не возникает. Эта проблема затрагивает OpenSSL версии 1.1.1. (CVE-2019-1549) — OpenSSL имеет внутренние значения по умолчанию для дерева каталогов, где он может найти файл конфигурации, а также сертификаты, используемые для проверки в TLS. Этот каталог чаще всего называют OPENSSLDIR, и его можно настроить с помощью параметров конфигурации --prefix / --openssldir. Для OpenSSL версий 1.1.0 и 1.1.1 цели конфигурации mingw предполагают, что результирующие программы и библиотеки установлены в Unix-подобной среде, а префикс по умолчанию для установки программы, а также для OPENSSLDIR должен быть «/usr/local». Тем не менее, программы mingw являются программами Windows, и поэтому они просматривают подкаталоги «C:/usr/local», которые могут быть доступны для записи всем, что позволяет ненадежным пользователям изменять конфигурацию OpenSSL по умолчанию, вставлять сертификаты CA, изменять (или даже заменить) существующие модули двигателя и т. д. Для OpenSSL 1.0.2 «/usr/local/ssl» используется по умолчанию для OPENSSLDIR на всех целевых системах Unix и Windows, включая сборки Visual C. Однако в некоторых инструкциях по сборке для различных целей Windows в версии 1.0.2 рекомендуется указывать собственный --prefix. Эта проблема затрагивает версии OpenSSL 1.1.1, 1.1.0 и 1.0.2. Из-за ограниченного количества затронутых развертываний это было оценено как низкая серьезность, и поэтому мы не создаем новые выпуски в настоящее время. (CVE-2019-1552) Обратите внимание, что SecurityMetrics не проверяла эти проблемы, а вместо этого полагалась только на номер версии приложения, о котором сообщают сами. См. также: http://www.nessus.org/u?c46dca59 https://www.openssl.org/news/secadv/20190910.txt https://www.openssl.org/news/secadv/20190730.txt   -  person Majoris    schedule 09.01.2020


Ответы (2)


Теперь мне нужно ответить на свой вопрос благодаря ответам Kapish M и Rodrigo M, который дал мне важную информацию и привел меня на правильный путь.

person Rodrigo M    schedule 09.01.2020

Как оказалось, версия OpenSSL, установленная на сервере Windows, не заменяет версию OpenSSL, которая является частью пакета Apache, установленного как часть XAMPP. Сканер уязвимостей сканирует OpenSSL, который находится внутри Apache (или, возможно, оба, но определенно Apache).

OpenSSL, который я установил на версию сервера 1.1.1d, полностью отделен от того, который является частью пакета XAMPP (в моем случае 1.1.1c). Проблема, которую я обнаружил, заключалась в том, что, несмотря на наличие самой последней версии Apache 2.2.41, версия OpenSSL, поставляемая с ним, не является последней версией OpenSSL, и нет официально задокументированного способа обновления только OpenSSL в пакете XAMPP. Фактически, официальный веб-сайт XAMPP говорит, что у них еще нет готовой версии 1.1.1d для Windows, за исключением Linux (правильно на момент этого ответа) https://www.apachefriends.org/blog/new_xampp_20191227.html явно указывает OpenSSL 1.1.1d (только для UNIX).

Ниже показано, что я сделал, чтобы решить свою проблему после того, как лучше понял благодаря полученным ответам. Я до сих пор не уверен, что мой подход безопасен, так как это не моя область знаний, но он определенно помог мне пройти PCI-сканирование.

[ОЧЕНЬ ВАЖНО] Создайте резервные копии трех файлов, упомянутых в шаге 3, на случай, если вам понадобится вернуться.

  1. Перейдите к папке Binaries, например YourDrive:\Program Files\OpenSSL-Win64\bin.
  2. libssl-1_1.dll
  3. Copy the following files (credit to Edmoncuaft for this list of files)
    • libcrypto-1_1.dll
    • openssl.exe
    • Как вы сканируете? Какой инструмент вы используете? и какой номер CVE он сообщил? Пожалуйста, опубликуйте полный абзац.
  4. Navigate to your apache binaries folder
    • YourDrive:xampp\apache\bin
  5. Остановить сервер Apache

  6. Скопируйте 3 файла из YourDrive:\Program Files\OpenSSL-Win64\bin в YourDrive:xampp\apache\bin

  7. (Пере)запустите сервер Apache

  8. Это шаги, которые я выполнил, и когда мы снова запустим сканирование PCI, оно прошло без уязвимостей!

Я надеюсь, что это полезно для кого-то еще.

Установлена ​​последняя версия OpenSSL на сервере

person Enomatix24    schedule 13.01.2020