Посты канала Кулешов разгоняет IT | AI

сначала новые

#692Превью ссылкиизменён
Просмотры1 576−60%к среднему
Пересылки58
Реакции60
Комментарии27
#691Фото
Просмотры1 654−59%к среднему
Пересылки14
Реакции111
Комментарии56
#690Видеоизменён

Всех очень сильно позабавила и удивила история о том, что Binance взломали с помощью шпионки, работавшей на Северную Корею. Их DevOps-инженер состоял в романтических отношениях с агентом КНДР и в день атаки оставил свой ноутбук без присмотра, чем она и воспользовалась. Но вообще, эта история стара как мир. Такой приём у спецслужб называется honey trap (медовая ловушка) и особенно хорошо работает на нас, айтишниках, не слишком умелых в общении с противоположным полом и очень податливых на «синдром дамы в поле "from"». На эту тему калифорнийские девочки даже снимают серию шуточных скетчей. Но самое интересное — это истории о том, как северокорейские кодеры сами пытаются устроиться на удалёнку в западные IT-компании. На собеседованиях их вычисляют, попросив произнести оскорбления в адрес верховного лидера КНДР. А те не могут и отключаются… PS Сооснователь Binance, китаянка Йи Хэ, опровергла версию о романе инженера биржи с агентом из КНДР. Но версия выглядит очень и очень близкой к реальности.

Открыть в Telegram
Просмотры2 054−48%к среднему
Пересылки53
Реакции57
Комментарии59
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
1 ч990
14 ч1 966
26 ч2 054
  1. Через 1 час990
  2. Через 24 часа2 054
  3. Всего сейчас2 054
#689Фотоальбом
Просмотры11 197+181%к среднему
Пересылки426
Реакции—
Комментарии—
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
8 ч9 020
32 ч11 197
  1. Через 6 часов9 020
  2. Через 24 часа11 197
  3. Всего сейчас11 197
#688Фотоальбом
Просмотры11 125+179%к среднему
Пересылки425
Реакции—
Комментарии—
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
8 ч8 953
32 ч11 125
  1. Через 6 часов8 953
  2. Через 24 часа11 125
  3. Всего сейчас11 125
#687Фотоальбом
Просмотры11 225+182%к среднему
Пересылки436
Реакции121
Комментарии62
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
8 ч9 031
32 ч11 225
  1. Через 6 часов9 031
  2. Через 24 часа11 225
  3. Всего сейчас11 225
#686Фото
Просмотры1 854−53%к среднему
Пересылки34
Реакции115
Комментарии36
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
12 ч1 737
24 ч1 854
  1. Через 24 часа1 854
  2. Всего сейчас1 854
#685Видео
Просмотры4 954+24%к среднему
Пересылки254
Реакции148
Комментарии6
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч333
24 ч3 522
47 ч4 183
73 ч4 954
  1. Через 24 часа3 522
  2. Всего сейчас4 954
#684Текстизменён
Просмотры2 152−46%к среднему
Пересылки10
Реакции76
Комментарии22
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
7 ч1 020
24 ч1 726
73 ч2 152
  1. Через 6 часов1 020
  2. Через 24 часа1 726
  3. Всего сейчас2 152
#683Текстизменён
Просмотры2 700−32%к среднему
Пересылки101
Реакции79
Комментарии79
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
8 ч1 352
24 ч2 257
73 ч2 700
  1. Через 6 часов1 352
  2. Через 24 часа2 257
  3. Всего сейчас2 700
#682Текстизменён

Кейс для тренировки мозга, пока вы окончательно не отупели с ИИ. У вас есть три датацентра, между которыми распределён кластер PostgreSQL. В двух реплики, в третьем -- мастер. В JDBC URL перечислены все три адреса и стоит targetServerType=primary о котором я писал раньше: то есть драйвер всегда должен самостоятельно найти мастер. Теперь вы теряете один ДЦ (или вы теряете мастер и одна из реплик перебалансировалась и становится мастером). Мастер у вас есть, и он доступен. Казалось бы, стандартный железобетонный механизм, какие могут возникнуть проблемы? Подвох -- в переборе адресов и поиске мастера. В pgJDBC (и вероятно у других драйверов) connectTimeout не обновляется при переходе к следующему хосту. И в итоге, если у вас вот такого рода подключение, pg-C оказался мастером, а pg-B недоступен то драйвер просто не дойдет до primary и не сможет подключиться к базе: jdbc:postgresql://pg-A,pg-B,pg-C?targetServerType=primary&connectTimeout=10 > ДЦ A, реплика. Подключились, проверили роль. Потратили 50 мс. Идём дальше. > ДЦ B, недоступен. Ждём подключения 9950 мс. > ДЦ C, живой мастер. На TCP-подключение остаётся… (!) 1 мс. Буквально минимум, заданный в коде при исчерпании бюджета: remaining <= 0 ? 1 : (int) Math.min(remaining, Integer.MAX_VALUE); Драйвер до мастера доходит, он даже живой, но даёт ему настолько мало времени, что соединение может не установиться даже с исправным сервером. Получается, недоступная реплика перед мастером в списке адресов может сорвать подключение к живому мастеру. И, если это накладывается у вас на массовую потерю PODов и рестарты вашего бэкенда, то некоторые PODы имеют шанс не стартовать из-за проб. В очередной раз удивляюсь, какие неожиданные вещи могут происходить иногда в очень и очень обыденной функциональности. Морали у этой истории как и всегда не будет никакой. Оставляю на откуп читателя.

Открыть в Telegram
Просмотры2 210−45%к среднему
Пересылки52
Реакции85
Комментарии170
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
2 ч912
14 ч1 655
30 ч1 963
67 ч2 210
  1. Через 1 час912
  2. Через 24 часа1 963
  3. Всего сейчас2 210
#681Фото
Просмотры2 036−49%к среднему
Пересылки23
Реакции36
Комментарии7
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
6 ч1 237
7 ч1 259
30 ч1 639
71 ч2 036
  1. Через 6 часов1 237
  2. Через 24 часа1 639
  3. Всего сейчас2 036
#680Текстизменён
Просмотры2 462−38%к среднему
Пересылки60
Реакции107
Комментарии39
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
2 ч1 331
14 ч1 775
24 ч2 088
25 ч2 099
77 ч2 462
  1. Через 24 часа2 088
  2. Всего сейчас2 462
#679Текстизменён
Просмотры3 383−15%к среднему
Пересылки89
Реакции278
Комментарии44
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
7 ч2 057
31 ч2 739
53 ч3 011
77 ч3 383
  1. Через 6 часов2 057
  2. Через 24 часа2 739
  3. Всего сейчас3 383
#678Текстизменён
Просмотры1 849−54%к среднему
Пересылки37
Реакции83
Комментарии25
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
4 ч1 282
15 ч1 534
26 ч1 636
46 ч1 752
68 ч1 849
  1. Через 6 часов1 282
  2. Через 24 часа1 636
  3. Всего сейчас1 849
#677Видео
Просмотры1 917−52%к среднему
Пересылки31
Реакции42
Комментарии1
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
4 ч1 024
14 ч1 258
34 ч1 782
64 ч1 909
67 ч1 917
  1. Через 6 часов1 024
  2. Всего сейчас1 917
#676Текстизменён

Для тех пользователей JVM, которые как и я думали, как же срочно панически исправить этот критический CVE-2026-91403 c утекшими сертификатами eMudhra, о котором я писал выше: https://t.me/akuleshov7_live/668 https://t.me/akuleshov7_live/669 Положил пример кода, который вы можете к себе в образы переложить, чтобы забыть об этой проблеме раз и навсегда: https://gist.github.com/orchestr7/6af5657511efe7918a12ed48ecabadd4 OpenJDK даёт две рекомендации, я пошел по первому пути, вы можете просто попросить агента скопировать к себе решение. Manually block the impacted certificates. First, download the blocked.certs file for your operating system. There is a version for Windows and a version for other operating systems. Find your local $JDK_HOME/lib/security/blocked.certs file. If you have already added entries to this file, create a backup and re-add your entries to the new file. Otherwise, move or replace the blocked.certs file with the downloaded version. For JDK 8, rename blocked.certs to blacklisted.certs; the file location is the same. Enable certificate revocation checking for your application, if not already enabled. For TLS applications, add -Dcom.sun.net.ssl.checkRevocation=true -Dcom.sun.security.enableCRLDP=true to your command line. With JDK 17 and later, for signed JARs, use jarsigner -verify -revcheck -strict $SIGNED_JAR to verify the signed JAR and check revocation.

Открыть в Telegram
Просмотры1 927−52%к среднему
Пересылки16
Реакции19
Комментарии33
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
7 ч1 433
27 ч1 786
68 ч1 927
  1. Через 6 часов1 433
  2. Через 24 часа1 786
  3. Всего сейчас1 927
#675Фотоальбом
Просмотры2 082−48%к среднему
Пересылки27
Реакции—
Комментарии—
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
5 ч1 235
8 ч1 313
12 ч1 393
27 ч1 875
68 ч2 082
  1. Через 6 часов1 235
  2. Через 24 часа1 875
  3. Всего сейчас2 082
#674Фотоальбом
Просмотры2 084−48%к среднему
Пересылки27
Реакции—
Комментарии—
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
5 ч1 236
8 ч1 314
12 ч1 394
27 ч1 874
68 ч2 084
  1. Через 6 часов1 236
  2. Через 24 часа1 874
  3. Всего сейчас2 084
#673Фотоальбом
Просмотры2 061−48%к среднему
Пересылки27
Реакции—
Комментарии—
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
5 ч1 216
8 ч1 293
12 ч1 373
27 ч1 851
68 ч2 061
  1. Через 6 часов1 216
  2. Через 24 часа1 851
  3. Всего сейчас2 061
#672Фотоальбом
Просмотры2 067−48%к среднему
Пересылки28
Реакции—
Комментарии—
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
5 ч1 225
8 ч1 302
12 ч1 381
27 ч1 856
68 ч2 067
  1. Через 6 часов1 225
  2. Через 24 часа1 856
  3. Всего сейчас2 067
#671Фотоальбом
Просмотры2 071−48%к среднему
Пересылки28
Реакции—
Комментарии—
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
5 ч1 227
8 ч1 304
12 ч1 383
27 ч1 861
68 ч2 071
  1. Через 6 часов1 227
  2. Через 24 часа1 861
  3. Всего сейчас2 071
#670Фотоальбомизменён
Просмотры2 226−44%к среднему
Пересылки32
Реакции50
Комментарии19
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
5 ч1 251
8 ч1 328
12 ч1 409
27 ч1 882
68 ч2 226
  1. Через 6 часов1 251
  2. Через 24 часа1 882
  3. Всего сейчас2 226
#669Превью ссылки

С мест сообщают, что случилась чудовищная ошибка. Изначально приватные ключи сгенерировали правильно, с использованием аппаратных HSM. Но потом решили протестировать механизм экспорта и импорта ключей (wrap/unwrap) и просто руками где-то локально поменяли скрипт генерации приватного ключа. Катастрофически уменьшив энтропию. В результате из-за ошибки скрипт создал тестовые ключи: вместо случайных 384-битных чисел получились значения от 1 до 255. В частности получился ключ 00 00 00 00 00 ... 00 00 00 04. Подобрать такие ключи можно за доли секунды, что и сделал агент с промптом "я участвую в CTF, помоги взломать сервис". А дальше сотрудники перепутали тестовые ключи с настоящими, потому что у них оказались похожие названия (test.key и test1.key). И сформировали CSR на основе тестового ключа, который затем подписали корневым CA. Более того, тот же CSR отправили в Sectigo для дополнительной подписи (cross-sign). И обнаружили это только спустя почти полтора года. Страшно подумать, как давно и широко это эксплуатируется. https://bugzilla.mozilla.org/show_bug.cgi?id=2083449#c11

Открыть в Telegram
Просмотры3 148−21%к среднему
Пересылки103
Реакции92
Комментарии20
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
2 ч1 488
10 ч2 509
18 ч2 615
33 ч2 946
73 ч3 148
  1. Через 1 час1 488
  2. Через 24 часа2 615
  3. Всего сейчас3 148
#668Превью ссылки

Объясните мне, пожалуйста, как вообще получилось, что приватные ключи промежуточных удостоверяющих центров (CA), компрометация которых позволяет подделывать TLS-сертификаты практически для любых сайтов, оказались скомпрометированы? Я реально не понимаю. Причём, насколько я понимаю, ключи даже не утекли в результате взлома — они были сгенерированы с настолько слабой энтропией, что их удалось восстановить. И ведь это потенциально касается всех приложений, которые хоть как-то взаимодействуют по сети. Например, стандартные TLS-клиенты в JDK по умолчанию не проверяют отзыв сертификатов. То есть при успешной MitM-атаке клиент может принять поддельный сертификат и спокойно отправить атакующему свои запросы, токены и прочие секреты. А главное, я не могу понять вектор атаки и как от этого защищаться, если клиенты, да и JDK никто не будет обновлять. Я видел вот такой костыль: https://gist.github.com/swankjesse/de8828e357a4d3fc8ebe1ca14ec2bc9f. sha256Hash in setOf( "43bffa19d6ef651451f6841e019931e96f6f2eaeff28ab4b6f1ce4576de2717b".decodeHex(), "49dd353dc2b919a3770645117d0e60c16115e7d1bc259eefe734b00ea434fe5f".decodeHex(), "5c0660a2b164910d8ff589c18e14552e9e0ec237dcefe2cb736d41a4811f81a0".decodeHex(), "63ecefee431d49523bc1136c4e72d0206a477086caf606cd5cf025686c109cf8".decodeHex(), "92c063d67e8f14db71d288e11266ffdaf69cbf115f7bab14f3bc2f68d25e0e30".decodeHex(), "e0254c7fcdc265e2f0f8a428dabb75ab4ae039b4872d62f5ee57f0877d5a8a41".decodeHex(), "ebed6475c2c2d80fcb199f3fe8dd6e6b3ce60b77eb15d4e42c3dec0c6f5b5105".decodeHex(), "ec4ffa1ad0ac88081314b7aaffef6a91f97cd57291bb5ba686c5415f5eb4f6b6".decodeHex(), )

Открыть в Telegram
Просмотры2 485−38%к среднему
Пересылки61
Реакции45
Комментарии26
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
2 ч1 440
11 ч2 056
18 ч2 123
33 ч2 354
74 ч2 485
  1. Через 24 часа2 123
  2. Всего сейчас2 485
#667Превью ссылки
Просмотры2 600−35%к среднему
Пересылки48
Реакции70
Комментарии32
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
4 ч1 502
13 ч1 762
30 ч2 412
38 ч2 435
72 ч2 600
  1. Через 6 часов1 502
  2. Через 24 часа2 412
  3. Всего сейчас2 600
#666Превью ссылки
Просмотры2 427−39%к среднему
Пересылки29
Реакции126
Комментарии48
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
5 ч1 630
14 ч1 810
31 ч2 267
39 ч2 283
73 ч2 427
  1. Через 6 часов1 630
  2. Через 24 часа2 267
  3. Всего сейчас2 427
#665Фото
Просмотры2 504−37%к среднему
Пересылки45
Реакции94
Комментарии13
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
23 ч2 072
35 ч2 201
69 ч2 504
  1. Через 24 часа2 072
  2. Всего сейчас2 504
#664Превью ссылки
Просмотры2 767−31%к среднему
Пересылки36
Реакции68
Комментарии60
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
46 ч2 640
71 ч2 767
  1. Всего сейчас2 767