Google ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ» SLSA для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ врСдоносных ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² процСссС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

Компания Google прСдставила Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ SLSA (Supply-chain Levels for Software Artifacts), Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ±ΠΎΠ±Ρ‰Ρ‘Π½ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉΡΡ ΠΎΠΏΡ‹Ρ‚ ΠΏΠΎ Π·Π°Ρ‰ΠΈΡ‚Π΅ инфраструктуры Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΡ‚ Π°Ρ‚Π°ΠΊ, осущСствляСмых Π½Π° стадии написания ΠΊΠΎΠ΄Π°, тСстирования, сборки ΠΈ распространСния ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°.

ΠŸΡ€ΠΎΡ†Π΅ΡΡΡ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ становятся всё Π±ΠΎΠ»Π΅Π΅ слоТными ΠΈ зависящими ΠΎΡ‚ сторонних инструмСнтариСв, Ρ‡Ρ‚ΠΎ создаёт благоприятныС условия для продвиТСния Π°Ρ‚Π°ΠΊ, связанных Π½Π΅ с выявлСниСм ΠΈ эксплуатациСй уязвимостСй Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π΅, Π° с ΠΊΠΎΠΌΠΏΡ€ΠΎΠΌΠ΅Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ самого процСсса Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (Π°Ρ‚Π°ΠΊΠΈ «supply chain», ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π½Π°Ρ†Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π½Π° Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ врСдоносных ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² процСссС написания ΠΊΠΎΠ΄Π°, ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρƒ распространяСмых ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΈ зависимостСй).

Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ 8 Π²ΠΈΠ΄ΠΎΠ² Π°Ρ‚Π°ΠΊ, связанных с ΡƒΠ³Ρ€ΠΎΠ·Π°ΠΌΠΈ внСсСния врСдоносных ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π° этапС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠ΄Π°, сборки, тСстирования ΠΈ распространСния ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°.

Google ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ» SLSA для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ врСдоносных ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² процСссС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

  • A. Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π² исходный ΠΊΠΎΠ΄ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, содСрТащих бэкдоры ΠΈΠ»ΠΈ скрытыС ошибки, приводящиС ΠΊ уязвимостям.

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π°Ρ‚Π°ΠΊΠΈ: «Hypocrite Commits» — ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° продвиТСния Π² ядро Linux ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ с уязвимостями.

    ΠŸΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΡ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π·Π°Ρ‰ΠΈΡ‚Ρ‹: нСзависимоС Ρ€Π΅Ρ†Π΅Π½Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ измСнСния двумя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ.

  • B. ΠšΠΎΠΌΠΏΡ€ΠΎΠΌΠ΅Ρ‚Π°Ρ†ΠΈΡ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ управлСния исходным ΠΊΠΎΠ΄ΠΎΠΌ.

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π°Ρ‚Π°ΠΊΠΈ: Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ врСдоносных ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² с бэкдором Π² Git-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° PHP послС ΡƒΡ‚Π΅Ρ‡ΠΊΠΈ ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

    ΠŸΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΡ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π·Π°Ρ‰ΠΈΡ‚Ρ‹: ΠŸΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ управлСния ΠΊΠΎΠ΄ΠΎΠΌ (Π² случаС PHP Π°Ρ‚Π°ΠΊΠ° Π±Ρ‹Π»Π° ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π° Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ°Π»ΠΎ ΠΊΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ HTTPS-интСрфСйс, Π΄ΠΎΠΏΡƒΡΠΊΠ°Π²ΡˆΠΈΠΉ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΡ€ΠΈ Π²Ρ…ΠΎΠ΄Π΅ ΠΏΠΎ ΠΏΠ°Ρ€ΠΎΠ»ΡŽ Π±Π΅Π· ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ SSH-ΠΊΠ»ΡŽΡ‡Π°, ΠΏΡ€ΠΈ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ для Ρ…ΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ примСнялся Π½Π΅Π½Π°Π΄Ρ‘ΠΆΠ½Ρ‹ΠΉ MD5).

  • C. ВнСсСниС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π° этапС ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΊΠΎΠ΄Π° Π² систСму сборки ΠΈΠ»ΠΈ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ (собираСтся ΠΊΠΎΠ΄, Π½Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄Ρƒ ΠΈΠ· рСпозитория).

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π°Ρ‚Π°ΠΊΠΈ: Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ бэкдора Π² Webmin ΠΏΡƒΡ‚Π΅ΠΌ внСсСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ±ΠΎΡ€ΠΎΡ‡Π½ΡƒΡŽ инфраструктуру, ΠΏΡ€ΠΈΠ²Π΅Π΄ΡˆΠΈΡ… ΠΊ использованию Ρ„Π°ΠΉΠ»ΠΎΠ² с ΠΊΠΎΠ΄ΠΎΠΌ, ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰ΠΈΡ…ΡΡ ΠΎΡ‚ Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ.

    ΠŸΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΡ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π·Π°Ρ‰ΠΈΡ‚Ρ‹: ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° цСлостности ΠΈ идСнтификация источника поступлСния ΠΊΠΎΠ΄Π° Π½Π° сборочном сСрвСрС.

  • D. ΠšΠΎΠΌΠΏΡ€ΠΎΠΌΠ΅Ρ‚Π°Ρ†ΠΈΡ сборочной ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π°Ρ‚Π°ΠΊΠΈ: Π°Ρ‚Π°ΠΊΠ° SolarWinds, Π² Ρ…ΠΎΠ΄Π΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π° этапС сборки Π±Ρ‹Π»ΠΎ обСспСчСно Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ бэкдора Π² ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ SolarWinds Orion.

    ΠŸΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΡ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π·Π°Ρ‰ΠΈΡ‚Ρ‹: Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Ρ… ΠΌΠ΅Ρ€ обСспСчСния бСзопасности сборочной ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

  • E. ΠŸΡ€ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ врСдоносного ΠΊΠΎΠ΄Π° Ρ‡Π΅Ρ€Π΅Π· нСкачСствСнныС зависимости.

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π°Ρ‚Π°ΠΊΠΈ: Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ бэкдора Π² ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ event-stream, Ρ‡Π΅Ρ€Π΅Π· Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π±Π΅Π·ΠΎΠ±ΠΈΠ΄Π½ΠΎΠΉ зависимости с ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ этой зависимости врСдоносного ΠΊΠΎΠ΄Π° (врСдоносноС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π΅ Π±Ρ‹Π»ΠΎ ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½ΠΎ Π² git-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, Π° присутствовало Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π³ΠΎΡ‚ΠΎΠ²ΠΎΠΌ MNP-ΠΏΠ°ΠΊΠ΅Ρ‚Π΅).

    ΠŸΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΡ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π·Π°Ρ‰ΠΈΡ‚Ρ‹: рСкурсивноС ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ SLSA ΠΊΠΎ всСм зависимостям (Π² случаС event-stream ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π±Ρ‹ выявила сборку ΠΊΠΎΠ΄Π°, Π½Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ содСрТимому основного Git-рСпозитория).

  • F. Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚ΠΎΠ², Π½Π΅ созданных Π² систСмС CI/CD.

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π°Ρ‚Π°ΠΊΠΈ: Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ врСдоносного ΠΊΠΎΠ΄Π° Π² скрипт CodeCov, позволявшСго Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠ°ΠΌ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Ρ…Ρ€Π°Π½ΠΈΠΌΡƒΡŽ Π² окруТСниях систСм Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ².

    ΠŸΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΡ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π·Π°Ρ‰ΠΈΡ‚Ρ‹: ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π·Π° источником ΠΈ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚ΠΎΠ² (Π² случаС с CodeCov ΠΌΠΎΠ³Π»ΠΎ Π±Ρ‹Ρ‚ΡŒ выявлСно, Ρ‡Ρ‚ΠΎ ΠΎΡ‚Π΄Π°Π²Π°Π΅ΠΌΡ‹ΠΉ с сайта codecov.io скрипт Bash Uploader Π½Π΅ соотвСтствуСт ΠΊΠΎΠ΄Ρƒ ΠΈΠ· рСпозитория ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°).

  • G. ΠšΠΎΠΌΠΏΡ€ΠΎΠΌΠ΅Ρ‚Π°Ρ†ΠΈΡ рСпозитория ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ².

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π°Ρ‚Π°ΠΊΠΈ: исслСдоватСлям ΡƒΠ΄Π°Π»ΠΎΡΡŒ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π·Π΅Ρ€ΠΊΠ°Π»Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… популярных Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² с Ρ†Π΅Π»ΡŒΡŽ распространСния Ρ‡Π΅Ρ€Π΅Π· Π½ΠΈΡ… врСдоносных ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ².

    ΠŸΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΡ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π·Π°Ρ‰ΠΈΡ‚Ρ‹: ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°, Ρ‡Ρ‚ΠΎ распространяСмыС Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚Ρ‹ собраны ΠΈΠ· заявлСнных исходных тСкстов.

  • H. Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Π·Π°ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ для установки Π½Π΅ Ρ‚ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π°.

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π°Ρ‚Π°ΠΊΠΈ: использованиС тайпсквоттинга (NPM, RubyGems, PyPI) для размСщСния Π² рСпозиториях ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΏΠΎΡ…ΠΎΠΆΠΈΡ… ΠΏΠΎ написанию Π½Π° популярныС прилоТСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, coffe-script вмСсто coffee-script).

Для блокирования ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹Ρ… ΡƒΠ³Ρ€ΠΎΠ· SLSA ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π½Π°Π±ΠΎΡ€ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ инструмСнтов для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ создания ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… для Π°ΡƒΠ΄ΠΈΡ‚Π°. SLSA ΠΎΠ±ΠΎΠ±Ρ‰Π°Π΅Ρ‚ Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π°Ρ‚Π°ΠΊ ΠΈ Π²Π²ΠΎΠ΄ΠΈΡ‚ понятиС ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ Π·Π°Ρ‰ΠΈΡ‚Ρ‹. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΏΡ€Π΅Π΄ΡŠΡΠ²Π»ΡΠ΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ трСбования ΠΊ инфраструктурС, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅. Π§Π΅ΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ SLSA, Ρ‚Π΅ΠΌ большС срСдств Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΎ ΠΈ Ρ‚Π΅ΠΌ Π»ΡƒΡ‡ΡˆΠ΅ инфраструктура Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π° ΠΎΡ‚ Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… Π°Ρ‚Π°ΠΊ.

  • SLSA 1 — Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ сборочный процСсс Π±Ρ‹Π» ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Π» ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ («provenance») ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚Ρ‹ собраны, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ свСдСния ΠΎΠ± исходных тСкстах, зависимостях ΠΈ процСссС сборки (для GitHub Actions ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… для Π°ΡƒΠ΄ΠΈΡ‚Π°). SLSA 1 Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ элСмСнты Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ внСсСния врСдоносных ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π° лишь ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄ ΠΈ прСдоставляСт ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ для управлСния уязвимостями ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° рисков.
  • SLSA 2 — Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ использования систСмы управлСния вСрсиями ΠΈ сборочных сСрвисов, Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅. ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ SLSA 2 позволяСт ΠΎΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ происхоТдСниС ΠΊΠΎΠ΄Π° ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ внСсСниС нСсанкционированных ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΊΠΎΠ΄, Π² случаС примСнСния Π·Π°ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… довСрия сборочных сСрвисов.
  • SLSA 3 — ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ исходныС тСксты ΠΈ сборочная ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ трСбованиям стандартов, Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ провСдСния Π°ΡƒΠ΄ΠΈΡ‚Π° ΠΊΠΎΠ΄Π° ΠΈ обСспСчСниС цСлостности прСдоставлСнных ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Π°ΡƒΠ΄ΠΈΡ‚ΠΎΡ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠ΅Ρ€Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Π½Π° ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ соотвСтствия трСбованиям стандартов.
  • SLSA 4 — Π½Π°ΠΈΠ²Ρ‹ΡΡˆΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ, Π΄ΠΎΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΉ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ ΡƒΡ€ΠΎΠ²Π½ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ трСбованиями:
    • ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅Ρ†Π΅Π½Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ всСх ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ двумя Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ.
    • ВсС шаги сборки, ΠΊΠΎΠ΄ ΠΈ зависимости Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π΄Π΅ΠΊΠ»Π°Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹, всС зависимости Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½Ρ‹ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Ρ‹, Π° процСсс сборки Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π±Π΅Π· доступа ΠΊ сСти.
    • ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ процСсса повторяСмой сборки — Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ процСсс сборки своими силами ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ исполняСмый Ρ„Π°ΠΉΠ» собран ΠΈΠ· прСдоставлСнных исходных тСкстов.

    Google ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ» SLSA для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ врСдоносных ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² процСссС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ


    Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ