Вхід Реєстрація
Реклама
Ваше рекламне місце
Забронюйте цей слот без конкуренції на обраний період.
Купити рекламу →
Логотип телеграм спільноти - Mockingbird Shares
Додано 01 січ 2022 🌐 UK

Mockingbird Shares

@mockingbird_shares
Кількість підписників: 130
Фото: 1,390
Відео: 97
Посилання: 1,130
Опис:
Ділюся посиланнями. Контент не генерую. Тематика: ML/AI/LLM, висєри на мера Києва, петиції, навколо наукова/освітня сфера Зв'язок: пишіть в коменти Шітпост: @mockingbird_shitposts Твітор (вмер): @007morf Тепер вже офіційні коменти: @mockingbird_chat
Джерело

Mockingbird Shares | Ключ, який дорівнює 4Є старий комікс xkcd, де функція getRandomNumber(...

Логотип телеграм спільноти - Mockingbird Shares Mockingbird Shares @mockingbird_shares
24 Охват/переглядів 2026-10-22 13:16 Повідомлення №2999
Ключ, який дорівнює 4

Є старий комікс xkcd, де функція getRandomNumber() просто повертає 4, з коментарем, шо число вибрали чесним киданням кубика. Ми думали, шо це жарт.

Проте індійський центр сертифікації eMudhra, який флексить шістдесятьма мільйонами виданих сертифікатів, довів цей прикол до проду. Один з приватних ключів їхніх проміжних CA виявився числом 4. Інші були трохи кращі: 56, 115, 237 і тд, менші за 256, хоча там мало б стояти випадкове число на 384 біти.

Ви це точно знаєте, але інші читачі може і ні: проміжний CA (або Certification Authority) підписує сертифікати. Хто має його приватний ключ, той може випустити валідний сертифікат на будь-який домен, хоч гугл, хоч ваш банк.

Красти ключ для цього не треба, бо його можна порахувати з публічного сертифіката. Рахується швидко, бо він маленький 🙂

17 жовтня один чувак це виявив і запостив в спеціальну групу для розробників браузерів повідомлення, підписане скомпрометованими ключами. Браузери сертифікати заблокували.

В цілому звучить так, що палені сертифікати не працюватимуть, якщо ходити на ресурси з браузерів. Проте curl та його друзі - реалізації HTTP клієнтів у Python, Node, Go і Java на CT (Certificate Transparency, публічний журнал усіх виданих сертифікатів) не дивляться, відкликання частина з них не перевіряє взагалі, і під час перевірки вони без палева прийняли підроблений сертифікат на API Stripe.

Чого воно так сталось? Вендор каже, шо це human factor. В скрипт випуску ключів попала помилка, яка генерувала слабкі ключі, а потім переплутали лупу і пупу та якось випустили їх в прод.

На моєму маку вбудовані /usr/bin/curl і /usr/bin/python3 (macOS 26.5) відкрили тестовий сайт з цим ланцюжком і повернули 200, без жодного попередження, бо використовують власний /etc/ssl/cert.pem, а апдейт браузера їх не обходить.

Тож якщо у вас на серверах крутяться скрипти, які ходять в API по HTTPS, оновіть ca-certificates, certifi і рантайми, список версій є на сторінці дослідника. Браузер ключ 4 не надурить, а от cron-джобу, яку два роки ніхто не чіпав, цілком.