Ancaman Rantai Pasokan
Cara dependensi menjadi vektor serangan.
Ancaman Rantai Pasokan adalah pelajaran Cyber Security Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cyber Security Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cyber Security Academy mencakup 4 pelajaran total.
Apa Itu Serangan Rantai Pasokan
Serangan rantai pasokan perangkat lunak membahayakan organisasi bukan dengan membobolnya secara langsung, melainkan dengan merusak sesuatu yang dipercayai dan digunakannya: pustaka, alat pembangunan, citra dasar kontainer, atau server pembaruan.
Karena perangkat lunak modern dirakit dari ratusan komponen pihak ketiga, satu tautan yang telah diracuni diwarisi oleh setiap pengguna hilir. Penyerang berinvestasi sekali dan menjangkau banyak korban.
- Pembalikan kepercayaan — batas keamanan berpindah ke luar kode Anda sendiri
- Cakupan dampak transitif — satu paket buruk mengalir ke ribuan hasil pembangunan
Gunung Es Dependensi
Ketika Anda menambahkan satu dependensi langsung, sering kali Anda juga menarik puluhan dependensi transitif yang tidak pernah Anda pilih. Aplikasi Node atau Python biasanya mendeklarasikan beberapa paket, tetapi menghasilkan ratusan paket setelah resolusi.
Daftarkan seluruh pohon hasil resolusi, bukan hanya manifesnya, untuk melihat apa yang sebenarnya Anda kirimkan:
# npm: full resolved dependency tree
npm ls --all
# Python: pinned transitive closure
pip freeze
# count transitive nodes
npm ls --all --parseable | wc -lPenyamaran Nama dan Kebingungan
Penyerang menerbitkan paket berbahaya dengan nama yang menyerupai paket populer, dengan mengandalkan kesalahan ketik yang fatal.
- Penyamaran melalui Salah Ketik —
reqeustsbukanrequests - Penyamaran Kombinasi —
python-requestsmeniru nama yang sebenarnya - Kebingungan Dependensi — menerbitkan paket publik dengan nama yang sama seperti paket privat internal Anda, sehingga penyelesai yang salah konfigurasi mengambil versi penyerang
Lindungi diri dengan menetapkan registri internal tepercaya dan menggunakan paket privat dengan cakupan atau ruang nama.
Pengambilalihan Akun dan Pengelola
Paket yang sah dan dipercaya luas dapat berubah menjadi berbahaya jika akun pengelolanya disusupi atau kontributor berbahaya memperoleh hak publikasi.
Insiden nyata baru-baru ini menunjukkan bahwa penyerang menipu pengelola agar menyerahkan kredensialnya, lalu mendorong rilis perbaikan berbahaya yang mencuri token autentikasi selama instalasi.
- Wajibkan autentikasi dua faktor pada semua akun publikasi
- Utamakan paket dengan token publikasi bercakupan terbatas dan rilis yang dilindungi
- Pantau pengelola baru yang tidak terduga pada dependensi kritis
Skrip Instalasi Berbahaya
Banyak ekosistem menjalankan kode saat instalasi, sebelum aplikasi Anda berjalan. npm install dapat menjalankan kait postinstall yang mencuri variabel lingkungan atau kunci SSH.
Nonaktifkan skrip instalasi sembarang dalam integrasi berkelanjutan dan audit setiap paket yang membutuhkannya:
# npm: block lifecycle scripts during install
npm ci --ignore-scripts
# inspect what a package would run
npm view <package> scripts
# pnpm equivalent
pnpm install --ignore-scriptsAlat Pembangunan yang Disusupi
Lingkungan pembangunan itu sendiri merupakan target bernilai tinggi. Jika penyerang meracuni kompilator, citra pelaksana integrasi berkelanjutan, atau pengaya pembangunan, setiap artefak yang dihasilkannya akan memiliki pintu belakang meskipun kode sumber Anda bersih.
Contoh klasiknya adalah mekanisme pembaruan yang disusupi trojan, yang menandatangani perangkat lunak berbahaya dengan kunci penandatanganan kode yang sah sehingga korban menerimanya sebagai asli.
- Perlakukan infrastruktur pembangunan seperti produksi dengan penguatan penuh
- Gunakan pelaksana pembangunan sementara yang dapat direproduksi
- Pisahkan kunci penandatanganan dari host pembangunan
Berkas Pengunci dan Hash Integritas
Berkas pengunci menetapkan versi dan hash konten yang tepat, sehingga resolusi ulang tidak dapat diam-diam mengganti artefak dengan artefak lain. Selalu masukkan berkas ini ke repositori dan biarkan integrasi berkelanjutan memverifikasinya, bukan melakukan resolusi ulang secara bebas.
Kolom integritas menyimpan hash; jika arsip tar yang diunduh tidak cocok, instalasi gagal.
# package-lock.json integrity entry
# "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz",
# "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA=="
# CI must install from lock, never re-resolve
npm ci
yarn install --frozen-lockfilePemindaian Kerentanan Dependensi
Versi yang diketahui rentan, yang dilacak sebagai CVE, merupakan kelemahan rantai pasokan yang paling umum. Alat Analisis Komposisi Perangkat Lunak (SCA) mencocokkan dependensi hasil resolusi Anda dengan basis data kerentanan.
Jalankan pemindaian dalam integrasi berkelanjutan dan gagalkan pembangunan jika ditemukan temuan kritis:
# npm built-in audit
npm audit --audit-level=high
# OSV scanner across ecosystems
osv-scanner --lockfile=package-lock.json
# Trivy for filesystem and images
trivy fs --severity HIGH,CRITICAL .Penetapan Versi dan Penyertaan Dependensi
Rentang versi yang berubah-ubah (^1.2.0) memungkinkan rilis baru masuk secara otomatis. Hal ini praktis, tetapi membuat Anda terpapar perbaikan berbahaya.
- Tetapkan versi yang tepat dan tinjau peningkatan secara sengaja
- Tetapkan berdasarkan ringkasan kriptografis untuk citra kontainer, bukan berdasarkan tag yang dapat berubah seperti
latest - Sertakan dependensi kritis dalam repositori atau cermin Anda sendiri agar penghapusan dari sumber hulu tidak dapat merusak atau meracuni Anda
# pin a container image by immutable digest
FROM python:3.12-slim@sha256:1d52838af602b4b5a831beb13a0e4d073280665ea7be7f69ce2382f29c5a613fPemantauan Berkelanjutan dan Asal-Usul
Mengamankan rantai pasokan merupakan proses berkelanjutan, bukan pemindaian satu kali. Anda perlu mengetahui apa yang Anda kirimkan, dari mana asalnya, dan kapan menjadi rentan.
- Buat SBOM untuk setiap rilis (pelajaran berikutnya)
- Catat asal-usul pembangunan agar Anda dapat membuktikan cara artefak dihasilkan
- Berlangganan pemberitahuan keamanan agar CVE yang baru diungkap memicu evaluasi ulang terhadap pembangunan yang telah dikirimkan
Pemodelan Ancaman pada Alur Kerja
Petakan setiap tahap tempat masukan tak tepercaya masuk: mesin pengembang, sistem pengelolaan kode sumber, registri dependensi, sistem pembangunan, penyimpanan artefak, dan kanal pembaruan. Masing-masing merupakan titik penyisipan yang mungkin.
Untuk setiap tahap, tanyakan: siapa yang dapat menulis di sini, apa yang dapat mereka lakukan jika terjadi penyusupan, dan bagaimana saya akan mendeteksinya? Dengan begitu, Anda memperoleh daftar kontrol yang diprioritaskan, bukan daftar periksa umum.
Pemeriksaan Singkat: Kebingungan Dependensi
Uji pemahaman Anda tentang jenis umum serangan rantai pasokan.
Ringkasan: Ancaman Rantai Pasokan
Anda telah mempelajari alasan dependensi menjadi jalur serangan dan cara mengurangi paparan tersebut.
- Pembalikan kepercayaan berarti keamanan Anda bergantung pada pihak ketiga yang tidak Anda kendalikan
- Ancaman utama: penyamaran melalui salah ketik, kebingungan dependensi, pengambilalihan pengelola, skrip instalasi berbahaya, dan alat pembangunan yang disusupi
- Pertahanan inti: berkas pengunci dengan hash integritas, pemindaian SCA, penetapan versi persis berdasarkan ringkasan kriptografis, autentikasi dua faktor pada penerbit, dan pemantauan berkelanjutan
Berikutnya, Anda akan menginventarisasi isi perangkat lunak secara tepat dengan SBOM.
Belajar Cyber Security Academy dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 76
- Pelajaran
- 303
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Ancaman Rantai Pasokan” gratis?
Ya — teks lengkap “Ancaman Rantai Pasokan” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cyber Security Academy, upgrade ke CoddyKit PRO. Kursus Cyber Security Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Ancaman Rantai Pasokan”?
Cara dependensi menjadi vektor serangan. Kamu berlatih Cyber Security Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Cyber Security Academy?
Tidak diperlukan pengalaman sebelumnya. Cyber Security Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.
Berapa lama pelajaran “Ancaman Rantai Pasokan” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Cyber Security Academy ini?
Ya. Setiap pelajaran Cyber Security Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Ancaman Rantai Pasokan
- Daftar Bahan Perangkat Lunak (SBOM)
- Penandatanganan Dependensi dan Artefak
- Mengamankan Pipeline CI/CD