Найти Π² Π”Π·Π΅Π½Π΅
SecureTechTalks

πŸ›‘ OSS Rebuild ΠΎΡ‚ Google: ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΠΏΠΎΠ΄Π»ΠΎΠ³ Π² ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ ΠΊΠΎΠ΄Π΅

πŸ›‘ OSS Rebuild ΠΎΡ‚ Google: ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΠΏΠΎΠ΄Π»ΠΎΠ³ Π² ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ ΠΊΠΎΠ΄Π΅ Google прСдставил Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π΄ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ бСзопасности open-source-экосистСм. OSS Rebuild β€” инструмСнт для автоматичСской Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ цСлостности ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈΠ· PyPI, npm ΠΈ Crates.io. πŸ’₯ Π’ Ρ‡Ρ‘ΠΌ ΡΡƒΡ‚ΡŒ? ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь тысячи Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ зависимости ΠΈΠ· ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² β€” с Π²Π΅Ρ€ΠΎΠΉ Π² Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ эти ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ собраны ΠΈΠ· «чистого» исходного ΠΊΠΎΠ΄Π°. Но Ρ‡Ρ‚ΠΎ Ссли Π² ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΠΎΠΉ вСрсии β€” врСдоносная вставка, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π΅Ρ‚ Π² исходниках? OSS Rebuild позволяСт это Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ. Он пСрСсобираСт ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΈΠ· ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈ сравниваСт Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π»ΠΎΠΆΠ΅Π½ΠΎ Π² рССстр. Если ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ β€” Π·Π½Π°Ρ‡ΠΈΡ‚ всё чисто. Если Π½Π΅Ρ‚ β€” Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΊΡ‚ΠΎ-Ρ‚ΠΎ пытался вас Π²Π·Π»ΠΎΠΌΠ°Ρ‚ΡŒ. 🧠 OSS Rebuild ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π²ΠΎΡΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΡƒΡŽ сборку: идСю, Ρ‡Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΊΠΎΠ΄ ΠΏΡ€ΠΈ Ρ‚Π΅Ρ… ΠΆΠ΅ условиях Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹ΠΉ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. 1⃣ Он автоматичСски Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ сборки Π½ΡƒΠΆΠ½Ρ‹ для получСния Ρ‚ΠΎΠ³ΠΎ самого ΠΏΠ°ΠΊΠ΅Ρ‚Π°. 2⃣ ПослС ΡƒΡΠΏΠ΅ΡˆΠ½

πŸ›‘ OSS Rebuild ΠΎΡ‚ Google: ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΠΏΠΎΠ΄Π»ΠΎΠ³ Π² ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ ΠΊΠΎΠ΄Π΅

Google прСдставил Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π΄ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ бСзопасности open-source-экосистСм. OSS Rebuild β€” инструмСнт для автоматичСской Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ цСлостности ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈΠ· PyPI, npm ΠΈ Crates.io.

πŸ’₯ Π’ Ρ‡Ρ‘ΠΌ ΡΡƒΡ‚ΡŒ?

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь тысячи Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ зависимости ΠΈΠ· ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² β€” с Π²Π΅Ρ€ΠΎΠΉ Π² Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ эти ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ собраны ΠΈΠ· «чистого» исходного ΠΊΠΎΠ΄Π°. Но Ρ‡Ρ‚ΠΎ Ссли Π² ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΠΎΠΉ вСрсии β€” врСдоносная вставка, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π΅Ρ‚ Π² исходниках?

OSS Rebuild позволяСт это Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ. Он пСрСсобираСт ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΈΠ· ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈ сравниваСт Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π»ΠΎΠΆΠ΅Π½ΠΎ Π² рССстр. Если ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ β€” Π·Π½Π°Ρ‡ΠΈΡ‚ всё чисто. Если Π½Π΅Ρ‚ β€” Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΊΡ‚ΠΎ-Ρ‚ΠΎ пытался вас Π²Π·Π»ΠΎΠΌΠ°Ρ‚ΡŒ.

🧠 OSS Rebuild ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π²ΠΎΡΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΡƒΡŽ сборку: идСю, Ρ‡Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΊΠΎΠ΄ ΠΏΡ€ΠΈ Ρ‚Π΅Ρ… ΠΆΠ΅ условиях Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹ΠΉ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

1⃣ Он автоматичСски Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ сборки Π½ΡƒΠΆΠ½Ρ‹ для получСния Ρ‚ΠΎΠ³ΠΎ самого ΠΏΠ°ΠΊΠ΅Ρ‚Π°.

2⃣ ПослС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ пСрСсборки создаётся криптографичСская аттСстация, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ, ΠΏΠ΅Ρ€Π΅ΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ.

3⃣ ВсС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΡŽΡ‚ΡΡ Π² ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅: Ρ‚Ρ‹ всСгда моТСшь ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΠ»Π°ΡΡŒ Π»ΠΈ нуТная Ρ‚Π΅Π±Π΅ вСрсия ΠΏΠ°ΠΊΠ΅Ρ‚Π°.

🚨 Π§Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ?

πŸ”Έ Π—Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ supply-chain Π°Ρ‚Π°ΠΊ

Если Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» доступ ΠΊ ΡƒΡ‡Ρ‘Ρ‚ΠΊΠ΅ ΠΌΠ΅ΠΉΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π»ΠΎΠΆΠΈΡ‚ΡŒ «троянский» Π±ΠΈΠ»Π΄, Π½Π΅ трогая исходники. OSS Rebuild Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ Ρ‚Π°ΠΊΡƒΡŽ ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρƒ.

πŸ”Έ ΠœΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ ΡƒΠΆΠ΅ провСряСт тысячи ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² автоматичСски, ΠΈ это ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π² CI/CD ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡƒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ.

πŸ”Έ ΠŸΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ

Всё, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ, снабТаСтся понятным ΠΎΡ‚Ρ‡Ρ‘Ρ‚ΠΎΠΌ. Π˜Π½Ρ„Ρ€Π°ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Π° β€” ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² своих Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ….

πŸ”Έ Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ экосистСмами: npm (JavaScript), PyPI (Python), Crates.io (Rust). Π’ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ β€” большС.

🧩 Π•ΡΡ‚ΡŒ ΠΊΡƒΠ΄Π° расти

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ быстро ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»ΠΈ Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊ сдСлан ΠΈΠ· Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ исходника, ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π½ΠΎΠ²Ρ‹Π΅ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Ρ‹:

- Π‘Π±ΠΎΡ€ΠΊΠ° Β«Π±Π΅Π»ΠΎΠ³ΠΎ списка» Π΄ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²

- Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с бСзопасной поставкой ПО (SLSA, SBOM)

- АвтоматичСская валидация зависимостСй ΠΏΡ€ΠΈ Π±ΠΈΠ»Π΄Π΅

- ВСрификация уязвимостСй: уязвим Π»ΠΈ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ установлСнный ΠΊΠΎΠ΄?

πŸ“Ž Бсылки:

πŸ”— GitHub: github.com/google/oss-rebuild

πŸ“˜ ДокумСнтация: oss-rebuild.dev

πŸ—ž Π‘Π»ΠΎΠ³ Google: Introducing OSS Rebuild

Stay secure and read SecureTechTalks πŸ“š

#OSSRebuild #SupplyChainSecurity #OpenSource #GoogleSecurity #PyPI #npm #RustLang #DevSecOps #SLSA #CyberSecurity #SecureTechTalks #ReproducibleBuilds #SoftwareIntegrity #OpenSourceTools #TrustButVerify #SecurityInnovation #CI_CD #SecureDevelopment #SecurityTools #GoogleOpenSource #DigitalDefense