View in Telegram
πŸ‘©β€πŸ’» Π’ PyPI Π²Π½Π΅Π΄Ρ€ΠΈΠ» Π½ΠΎΠ²ΡƒΡŽ систСму ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ подлинности ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ рСпозитория Python-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² PyPI (Python Package Index) сообщили ΠΎ Π²Π²Π΅Π΄Π΅Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ аттСстации для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ подлинности Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π·Π°ΠΌΠ΅Π½ΠΈΠ» ΠΏΡ€Π΅ΠΆΠ½ΡŽΡŽ систСму Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ PGP-подписСй. ОсновноС ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚ Π½Π΅ сам Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, Π° Ρ‚Ρ€Π΅Ρ‚ΡŒΡ сторона (ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²), ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡΡΡŒ Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ Ρ‡Π΅Ρ€Π΅Π· внСшнСго ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π° OpenID Connect. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ соотвСтствия ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π° с исходным Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… Π²Ρ€ΠΎΠ΄Π΅ GitHub ΠΈΠ»ΠΈ GitLab. Новая систСма Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, присущиС старому ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ‡Π΅Ρ€Π΅Π· PGP-подпись, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΆΠ΅ считался ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌ. Основная Ρ‚Ρ€ΡƒΠ΄Π½ΠΎΡΡ‚ΡŒ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π»Π°ΡΡŒ Π² ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ принадлСТности ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… PGP-ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΈΡ… Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π°ΠΌ. Из 1069 PGP-ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π²ΡˆΠΈΡ…ΡΡ с 2020 Π³ΠΎΠ΄Π° для подписания ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² PyPI, 29% ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ Π±Ρ‹Π»ΠΈ Π½Π°ΠΉΠ΄Π΅Π½Ρ‹ Π½Π° ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Ρ… сСрвСрах ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, Π° 35% оказались Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌΠΈ для подтвСрТдСния Π² процСссС Π°ΡƒΠ΄ΠΈΡ‚Π°. ΠŸΡ€ΠΈ этом ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½Π½Ρ‹Π΅ 36% ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΏΠΎΠΊΡ€Ρ‹Π²Π°Π»ΠΈ всСго 0.3% ΠΎΡ‚ ΠΎΠ±Ρ‰Π΅Π³ΠΎ числа подписанных Ρ„Π°ΠΉΠ»ΠΎΠ². Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… Π½ΠΎΠ²ΠΎΠΉ систСмы Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π΅ подписи Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ с использованиСм Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… эфСмСрных ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, создаваСмых Π½Π° основании ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡ‡ΠΈΠΉ, ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ΠΎΠΌ OpenID Connect. Когда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ создаСт ΠΊΠ»ΡŽΡ‡ для подписи, ΠΎΠ½ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ удостовСряСт Π΅Π³ΠΎ связь с основным ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ. Π­Ρ‚Π° инфраструктура основана Π½Π° систСмах Sigstore ΠΈ in-toto Attestation Framework. Одним ΠΈΠ· прСимущСств аттСстации являСтся отсутствиС зависимости ΠΎΡ‚ постоянных PGP-ΠΊΠ»ΡŽΡ‡Π΅ΠΉ. Если Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ тСряСтся ΠΈΠ»ΠΈ подвСргаСтся Π°Ρ‚Π°ΠΊΠ΅, всС созданныС с Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ подписи становятся Π½Π΅Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΌΠΈ. АттСстация ΠΆΠ΅ связываСт подпись с Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚ ΠΏΡ€Π°Π²Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΈ Π΅Π³ΠΎ соотвСтствиС основному Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ ΠΊΠΎΠ΄Π°. НапримСр, ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π°, ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ‡Π΅Ρ€Π΅Π· GitHub Actions, аттСстация Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ связи ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ Π² PyPI ΠΈ исходным Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠΌ, Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ процСссом ΠΈ Ρ…Π΅ΡˆΠ΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, Π½Π° Π±Π°Π·Π΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±Ρ‹Π» собран ΠΏΠ°ΠΊΠ΅Ρ‚. Для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° подлинности ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΈ обнаруТСния ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΡƒΠ³Ρ€ΠΎΠ· Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…, ΡΠΎΠ·Π΄Π°ΡŽΡ‰ΠΈΡ… ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, ΠΈ самом PyPI ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΆΡƒΡ€Π½Π°Π». Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π·Π°Π΄Π½ΠΈΠΌ числом, Π² Π½Π΅ΠΌ примСняСтся структура Β«Π΄Π΅Ρ€Π΅Π²Π° ΠœΠ΅Ρ€ΠΊΠ»Π°Β» (Merkle Tree), Π³Π΄Π΅ каТдая Π²Π΅Ρ‚Π²ΡŒ провСряСт всС ΠΏΠΎΠ΄Ρ‡ΠΈΠ½Π΅Π½Π½Ρ‹Π΅ Π²Π΅Ρ‚Π²ΠΈ ΠΈ ΡƒΠ·Π»Ρ‹ посрСдством Π΄Ρ€Π΅Π²ΠΎΠ²ΠΈΠ΄Π½ΠΎΠΉ схСмы Ρ…Π΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, стоит ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΉ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ PyPI врСдоносный ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Β«fabriceΒ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ использовал Ρ‚Π΅Ρ…Π½ΠΈΠΊΡƒ тайпсквоттинга – Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ схоТСго ΠΈΠΌΠ΅Π½ΠΈ, Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ нСсколькими символами (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, exampl вмСсто example, djangoo вмСсто django, pyhton вмСсто python ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΌΠ°ΡΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ΄ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Β«fabricΒ». Π­Ρ‚Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° насчитываСт ΠΎΠΊΠΎΠ»ΠΎ 201 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ (ΠΎΠΊΠΎΠ»ΠΎ 7 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² Π·Π° послСдний мСсяц). ВрСдоносный ΠΏΠ°ΠΊΠ΅Ρ‚ оставался Π½Π΅Π·Π°ΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹ΠΌ с 2021 Π³ΠΎΠ΄Π° ΠΈ успСл Π½Π°Π±Ρ€Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ 37 тысяч Π·Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ. ΠŸΠ°ΠΊΠ΅Ρ‚ Β«fabriceΒ» ΠΈΠΌΠΈΡ‚ΠΈΡ€ΠΎΠ²Π°Π» ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ содСрТал ΠΊΠΎΠ΄ для поиска ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ доступа ΠΊ AWS (Amazon Web Services), установки бэкдоров ΠΈ выполнСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… скриптов. Активизация врСдоносных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² происходила ΠΊΠ°ΠΊ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС Linux, Ρ‚Π°ΠΊ ΠΈ Π² Windows. Π’ случаС с Linux, Ρ„Π°ΠΉΠ»Ρ‹, связанныС с врСдоносной Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒΡŽ, Π·Π°Π³Ρ€ΡƒΠΆΠ°Π»ΠΈΡΡŒ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ~/.local/bin/vscode. @pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram Center
Telegram Center
Channel