Kolaborasi Google, GitHub Berfokus pada Pengamanan Proses Pembuatan Kode

Kolaborasi Google, GitHub Berfokus pada Pengamanan Proses Pembuatan Kode


Google dan GitHub telah berkolaborasi dalam metode anti-pemalsuan untuk menandatangani kode sumber sebagai bagian dari upaya mereka untuk mengamankan rantai pasokan perangkat lunak.

Keamanan rantai pasokan perangkat lunak bergantung pada kemampuan pengembang dan organisasi untuk mendeteksi bahwa artefak — komponen perangkat lunak, kerangka kerja, dan alat pembangunan yang digunakan — adalah asli dan belum dirusak. Itulah pemikiran di balik Tingkat rantai pasokan untuk Artefak Perangkat Lunak (SLSA), kerangka kerja untuk menjaga integritas ujung-ke-ujung dari rantai pasokan perangkat lunak.

Tujuan SLSA adalah untuk menghasilkan informasi yang menjelaskan di mana, kapan, dan bagaimana artefak diproduksi, dan memberi pengembang dan organisasi cara untuk mengidentifikasi di mana artefak menyimpang dari aslinya. Proyek ini, awalnya dibangun oleh Google Juni lalu sebagai tanggapan terhadap Nationwide Institute of Requirements and Expertise (NIST) kerangka kerja untuk pengembangan perangkat lunakdikelola oleh Yayasan Keamanan Sumber Terbuka.

Mengetahui tingkat SLSA proyek dapat memberi pengembang dan organisasi beberapa wawasan tentang postur keamanan proyek.

Melihat Alat Bangun
Kolaborasi terbaru Google dan GitHub berfokus pada membangun asal, atau memverifikasi keaslian entitas di balik proses rilis dan apakah artefak construct dilindungi dari gangguan. sebagai serangan terhadap SolarWinds dan Codecov menunjukkan, aktor ancaman dapat membajak membangun alat untuk menyebarkan komponen berbahaya.

“[These] serangan dapat dicegah jika ada cara untuk mendeteksi bahwa artefak yang dikirimkan menyimpang dari asal perangkat lunak yang diharapkan,” tulis Asra Ali dan Laurent Simon dari Tim Keamanan Sumber Terbuka Google.

Google dan GitHub mengumumkan alat prototipe, yang ditulis dalam bahasa pemrograman Go, yang menggunakan Alur kerja Tindakan GitHub dan Toko tanda tangan‘s menandatangani alat untuk membuat “bukti tanpa gangguan dari construct dan memungkinkan verifikasi konsumen.”

Menggunakan alur kerja dan alat tersebut memungkinkan “pengguna untuk tidak hanya memverifikasi bahwa perangkat lunak yang mereka terima asli, tetapi juga untuk memverifikasi di mana ia dibuat dan dengan perangkat lunak mana,” tulis Jose Palafoxdirektur pengembangan bisnis GitHub.

Alur kerja baru, yang tersedia di tab Tindakan di repositori GitHub mana pun, membuat runner, atau occasion mesin digital baru, untuk setiap pekerjaan. VM yang berbeda mengompilasi proyek dan membuat serta menandatangani asal SLSA. Proyek yang menggunakan runner yang dihosting GitHub memiliki jaminan bahwa kode tersebut belum dimodifikasi.

“Untuk melindungi dari kemungkinan satu pekerjaan (misalnya langkah pembuatan) merusak artefak lain yang digunakan oleh pekerjaan lain (langkah asalnya), pendekatan ini menggunakan saluran tepercaya untuk melindungi integritas knowledge,” tulis Ali dan Simon.

Token unik berisi informasi yang dapat diverifikasi tentang alur kerja seperti repositori pemanggil, hash komit, pemicu, serta jalur dan referensi alur kerja saat ini. Pengguna dapat mengandalkan sertifikat penandatanganan untuk memverifikasi asalnya, dan pengembang tidak perlu mengelola atau mendistribusikan kunci kriptografik untuk penandatanganan.

GitOps dalam Keamanan
Dengan pengembangan cloud-native, pengembang bekerja secepat dan seefisien mungkin dengan pipeline CI/CD mereka menggunakan repo Git, kata Melinda Marks, analis senior di ESG. Jika keamanan ingin menyamai kecepatan pengembangan perangkat lunak fashionable, alat keamanan perlu diintegrasikan ke dalam alur kerja pengembang untuk mengurangi risiko penerapan kode yang salah. Kolaborasi Google dan GitHub “menggambarkan bagaimana GitOps baik untuk keamanan,” kata Marks.

Penggunaan alur kerja GitHub Actions untuk secara otomatis menghasilkan asal bangunan dan menggunakan informasi Sigstore untuk melacak kode memberi pengembang cara untuk membuat alur kerja tepercaya yang dapat digunakan kembali, mekanisme untuk mencegah gangguan, dan mencatat saat kode diubah, kata Marks.

“Fitur dan kerangka kerja GitHub ini melacak kode, dari mana asalnya, siapa yang memiliki akses, perubahan apa yang dibuat, dll., jadi jika ada masalah, mereka dapat menggunakan alat keamanan, alat pengujian, alat manajemen konfigurasi/postur, dll. ., dan gunakan metadata dari repo untuk memperbaiki masalah secara efisien karena mereka memiliki knowledge tentang asal kode, modifikasi apa pun, akses, dll,” katanya.

Pendekatan Lulus
Pelanggaran profil tinggi baru-baru ini menyoroti bagaimana rantai pasokan perangkat lunak rentan dan jenis serangan kerusakan apa yang dapat ditimbulkan. Gartner memprediksi bahwa “pada tahun 2025, 45% organisasi akan mengalami serangan terhadap rantai pasokan perangkat lunak mereka, meningkat tiga kali lipat dari tahun 2021.”

Kerangka kerja SLSA mengakui bahwa mengadopsi keamanan rantai pasokan untuk pembuatan perangkat lunak bukanlah proses yang cepat dan bahwa pendekatan inkremental diperlukan. Kerangka kerja mempertimbangkan bagaimana asalnya — metadata tentang bagaimana artefak dibuat, termasuk proses pembuatan, sumber tingkat atas, dan dependensi — dihasilkan dan diverifikasi. Ada empat tingkatan:

  • Stage Satu: Proses construct harus sepenuhnya skrip dan/atau otomatis dan menghasilkan asalnya. Stage ini tidak mencegah gangguan tetapi menawarkan informasi yang dapat digunakan dalam manajemen kerentanan.
  • Stage Dua: Organisasi harus menggunakan kontrol versi dan layanan construct yang dihosting yang menghasilkan asal yang diautentikasi. Stage ini mencegah gangguan sejauh layanan construct tepercaya.
  • Stage Tiga: Platform sumber dan construct memenuhi standar khusus untuk menjamin kemampuan audit sumber dan integritas asalnya.
  • Tingkat Empat: Organisasi memerlukan tinjauan dua orang terhadap semua perubahan dan proses pembangunan yang hermetis dan dapat direproduksi. Construct hermetik menjamin daftar dependensi asalnya lengkap.

Alat prototipe asal bangunan yang baru akan membawa organisasi ke Stage Tiga di bawah SLSA, kata Ali dan Simon. Proyek yang menggunakan runner GitHub akan dianggap memiliki artefak asli. Stage Tiga membutuhkan beberapa cara untuk berulang kali memverifikasi asalnya, yang disediakan oleh prototipe ini.

“Dengan menggunakan pendekatan ini, proyek yang dibangun di atas GitHub runner dapat dicapai SLSA 3 (tingkat ketiga dari empat tingkat SLSA progresif), yang menegaskan kepada konsumen bahwa artefak Anda asli dan dapat dipercaya,” tulis Ali dan Simon.

Total
0
Shares
Leave a Reply

Your email address will not be published.

Related Posts