Posts of Кулешов разгоняет IT | AI

newest first

#692Link previewedited
Views1,576−60%vs avg
Forwards58
Reactions60
Comments27
#691Photo
Views1,654−59%vs avg
Forwards14
Reactions111
Comments56
#690Videoedited

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

Open in Telegram
Views2,054−48%vs avg
Forwards53
Reactions57
Comments59
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
1 h990
14 h1,966
26 h2,054
  1. After 1 hour990
  2. After 24 hours2,054
  3. Total to date2,054
#689Photoalbum
Views11,197+181%vs avg
Forwards426
Reactions—
Comments—
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
8 h9,020
32 h11,197
  1. After 6 hours9,020
  2. After 24 hours11,197
  3. Total to date11,197
#688Photoalbum
Views11,125+179%vs avg
Forwards425
Reactions—
Comments—
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
8 h8,953
32 h11,125
  1. After 6 hours8,953
  2. After 24 hours11,125
  3. Total to date11,125
#687Photoalbum
Views11,225+182%vs avg
Forwards436
Reactions121
Comments62
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
8 h9,031
32 h11,225
  1. After 6 hours9,031
  2. After 24 hours11,225
  3. Total to date11,225
#685Video
Views4,954+24%vs avg
Forwards254
Reactions148
Comments6
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h333
24 h3,522
47 h4,183
73 h4,954
  1. After 24 hours3,522
  2. Total to date4,954
#684Textedited
Views2,152−46%vs avg
Forwards10
Reactions76
Comments22
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
7 h1,020
24 h1,726
73 h2,152
  1. After 6 hours1,020
  2. After 24 hours1,726
  3. Total to date2,152
#683Textedited
Views2,700−32%vs avg
Forwards101
Reactions79
Comments79
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
8 h1,352
24 h2,257
73 h2,700
  1. After 6 hours1,352
  2. After 24 hours2,257
  3. Total to date2,700
#682Textedited

Кейс для тренировки мозга, пока вы окончательно не отупели с ИИ. У вас есть три датацентра, между которыми распределён кластер 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ы имеют шанс не стартовать из-за проб. В очередной раз удивляюсь, какие неожиданные вещи могут происходить иногда в очень и очень обыденной функциональности. Морали у этой истории как и всегда не будет никакой. Оставляю на откуп читателя.

Open in Telegram
Views2,210−45%vs avg
Forwards52
Reactions85
Comments170
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
2 h912
14 h1,655
30 h1,963
67 h2,210
  1. After 1 hour912
  2. After 24 hours1,963
  3. Total to date2,210
#681Photo
Views2,036−49%vs avg
Forwards23
Reactions36
Comments7
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
6 h1,237
7 h1,259
30 h1,639
71 h2,036
  1. After 6 hours1,237
  2. After 24 hours1,639
  3. Total to date2,036
#680Textedited
Views2,462−38%vs avg
Forwards60
Reactions107
Comments39
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
2 h1,331
14 h1,775
24 h2,088
25 h2,099
77 h2,462
  1. After 24 hours2,088
  2. Total to date2,462
#679Textedited
Views3,383−15%vs avg
Forwards89
Reactions278
Comments44
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
7 h2,057
31 h2,739
53 h3,011
77 h3,383
  1. After 6 hours2,057
  2. After 24 hours2,739
  3. Total to date3,383
#678Textedited
Views1,849−54%vs avg
Forwards37
Reactions83
Comments25
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
4 h1,282
15 h1,534
26 h1,636
46 h1,752
68 h1,849
  1. After 6 hours1,282
  2. After 24 hours1,636
  3. Total to date1,849
#677Video
Views1,917−52%vs avg
Forwards31
Reactions42
Comments1
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
4 h1,024
14 h1,258
34 h1,782
64 h1,909
67 h1,917
  1. After 6 hours1,024
  2. Total to date1,917
#676Textedited

Для тех пользователей 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.

Open in Telegram
Views1,927−52%vs avg
Forwards16
Reactions19
Comments33
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
7 h1,433
27 h1,786
68 h1,927
  1. After 6 hours1,433
  2. After 24 hours1,786
  3. Total to date1,927
#675Photoalbum
Views2,082−48%vs avg
Forwards27
Reactions—
Comments—
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
5 h1,235
8 h1,313
12 h1,393
27 h1,875
68 h2,082
  1. After 6 hours1,235
  2. After 24 hours1,875
  3. Total to date2,082
#674Photoalbum
Views2,084−48%vs avg
Forwards27
Reactions—
Comments—
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
5 h1,236
8 h1,314
12 h1,394
27 h1,874
68 h2,084
  1. After 6 hours1,236
  2. After 24 hours1,874
  3. Total to date2,084
#673Photoalbum
Views2,061−48%vs avg
Forwards27
Reactions—
Comments—
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
5 h1,216
8 h1,293
12 h1,373
27 h1,851
68 h2,061
  1. After 6 hours1,216
  2. After 24 hours1,851
  3. Total to date2,061
#672Photoalbum
Views2,067−48%vs avg
Forwards28
Reactions—
Comments—
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
5 h1,225
8 h1,302
12 h1,381
27 h1,856
68 h2,067
  1. After 6 hours1,225
  2. After 24 hours1,856
  3. Total to date2,067
#671Photoalbum
Views2,071−48%vs avg
Forwards28
Reactions—
Comments—
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
5 h1,227
8 h1,304
12 h1,383
27 h1,861
68 h2,071
  1. After 6 hours1,227
  2. After 24 hours1,861
  3. Total to date2,071
#670Photoalbumedited
Views2,226−44%vs avg
Forwards32
Reactions50
Comments19
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
5 h1,251
8 h1,328
12 h1,409
27 h1,882
68 h2,226
  1. After 6 hours1,251
  2. After 24 hours1,882
  3. Total to date2,226
#669Link preview

С мест сообщают, что случилась чудовищная ошибка. Изначально приватные ключи сгенерировали правильно, с использованием аппаратных 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

Open in Telegram
Views3,148−21%vs avg
Forwards103
Reactions92
Comments20
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
2 h1,488
10 h2,509
18 h2,615
33 h2,946
73 h3,148
  1. After 1 hour1,488
  2. After 24 hours2,615
  3. Total to date3,148
#668Link preview

Объясните мне, пожалуйста, как вообще получилось, что приватные ключи промежуточных удостоверяющих центров (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(), )

Open in Telegram
Views2,485−38%vs avg
Forwards61
Reactions45
Comments26
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
2 h1,440
11 h2,056
18 h2,123
33 h2,354
74 h2,485
  1. After 24 hours2,123
  2. Total to date2,485
#667Link preview
Views2,600−35%vs avg
Forwards48
Reactions70
Comments32
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
4 h1,502
13 h1,762
30 h2,412
38 h2,435
72 h2,600
  1. After 6 hours1,502
  2. After 24 hours2,412
  3. Total to date2,600
#666Link preview
Views2,427−39%vs avg
Forwards29
Reactions126
Comments48
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
5 h1,630
14 h1,810
31 h2,267
39 h2,283
73 h2,427
  1. After 6 hours1,630
  2. After 24 hours2,267
  3. Total to date2,427
#665Photo
Views2,504−37%vs avg
Forwards45
Reactions94
Comments13
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
23 h2,072
35 h2,201
69 h2,504
  1. After 24 hours2,072
  2. Total to date2,504
#664Link preview
Views2,767−31%vs avg
Forwards36
Reactions68
Comments60
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
46 h2,640
71 h2,767
  1. Total to date2,767