Keamanan

Halaman ini menyebutkan apa yang kami lindungi dan apa yang tidak bisa kami lindungi. Cerita keamanan yang menghilangkan bagian kedua mengundang pembaca untuk mengira sebuah daftar adalah jaminan.

Titik berangkatnya

Menerbitkan paket berarti menjalankan kode di komputer setiap insinyur yang memasangnya. Semua keputusan keamanan dalam produk ini ditimbang lebih dulu terhadap satu pertanyaan: apakah perubahan ini membuat penerbitan tanpa izin jadi lebih mudah?

  • Paket ditandatangani (ECDSA P-256)

    Berkas tanda tangan ikut di dalam paket. Yang ditandatangani adalah sebuah manifes berisi nilai hash tiap berkas, identitas paket, dan versinya — bukan sekadar hash arsip.

    Kalau hanya hash yang ditandatangani, sebuah arsip lama yang tanda tangannya sah bisa didaftarkan dengan nomor versi baru: tanda tangannya lolos dan pengguna memasang perkakas yang sudah diketahui cacat sebagai “pembaruan”.

  • Kunci privat TIDAK ada di server

    Server hanya memverifikasi. Penandatanganan terjadi di komputer penerbit sendiri dengan perkakas terpisah.

    Kalau kunci ada di server, siapa pun yang menguasai server dapat mengubah paket lalu menandatanganinya ulang — dan itu membuat penandatanganan jadi sia-sia.

  • Klien ikut memeriksa

    Add-in di komputer insinyur memeriksa tanda tangan secara mandiri, dan daftar kunci tepercaya yang dipakainya tidak datang dari server.

    Penandatanganan ada justru karena server tidak bisa dipercaya begitu saja. Mengambil daftar kepercayaan dari server yang sama akan diam-diam membatalkan asumsi itu.

  • Jejak audit yang tidak dapat dihapus

    Tiap rilis, tiap perubahan hak akses, dan tiap keputusan saluran ditulis secara permanen. Jalur pembaruan dan penghapusan sengaja tidak ada, dan pembersihan masa simpan tidak menyentuhnya.

    “Bagaimana perkakas ini sampai ke sini” biasanya baru ditanyakan berbulan-bulan kemudian. Pada hari itu, catatan yang bisa dihapus adalah catatan yang tidak pernah ada.

  • Prinsip empat mata, jika diinginkan

    Menaikkan sebuah versi ke saluran yang lebih luas dapat mensyaratkan persetujuan administrator kedua, dan pemohon tidak boleh menyetujui permintaannya sendiri. Penarikan versi tidak pernah butuh persetujuan.

    Bawaannya mati. Dalam tim bertiga, gerbang itu dalam beberapa minggu berubah menjadi pesan yang disetujui tanpa dibaca; kendali yang dipercaya melindungi padahal tidak, lebih buruk daripada tidak ada kendali sama sekali.

  • Mengekstrak arsip pun sebuah permukaan serangan

    Arsip yang diunggah diperiksa terhadap penjelajahan jalur (zip-slip) dan bom dekompresi, dan ukuran hasil ekstraknya dibatasi.

    Mengekstrak arsip terlihat tidak berbahaya. Arsip yang dirancang khusus bisa menulis berkas di luar folder tujuan atau memenuhi seluruh cakram server.

  • Masuk tanpa kata sandi

    Pengguna masuk dengan kode sekali pakai yang dikirim ke alamat surelnya. Sesi berjalan di atas token berumur pendek; token penyegar tidak pernah terlihat oleh kode peramban.

    Tanpa kumpulan kata sandi yang harus dikelola, tidak ada basis data kata sandi yang bisa bocor. Dan pemakaian ulang token penyegar yang sudah dicabut diperlakukan sebagai tanda pencurian: sesinya diputus.

  • Anda bisa melihat apa yang Anda pasang

    Folder pemasangan membawa daftar komponen yang dapat dibaca mesin (SBOM CycloneDX) dan skrip migrasi untuk kedua mesin basis data.

    Tim TI Anda harus bisa memeriksa apa yang akan masuk ke server sebelum benda itu masuk. Ketika sebuah celah pada komponen diumumkan, “apakah kita memakainya” menjadi sekadar pencarian berkas.

Apa yang tidak bisa kami lindungi

Ini bukan lubang, ini batas. Semuanya mengikuti dari strukturnya, dan mengaku sebaliknya berarti berbohong.

  • Dua administrator yang bekerja bersama. Prinsip empat mata menghentikan satu orang, bukan dua.
  • Administrator sistem pada servernya. Bagi orang yang punya akses basis data dan sistem berkas, tidak ada kendali tingkat aplikasi yang menjadi penghalang.
  • Komputer yang menyimpan kunci penanda tangan. Kuncinya memang tidak di server, tetapi ia ada di suatu tempat; kalau komputer itu jatuh, tanda tangannya ikut jatuh.
  • Perilaku berbahaya yang sengaja disembunyikan. Pemeriksaan paket kami bersifat heuristik dan kami tidak mengaku ia akan menangkap kode yang berusaha bersembunyi.
  • Penyedotan data. Perkakas yang terpasang berjalan dengan izin milik insinyur itu sendiri dan dapat membaca apa pun yang dijangkau izin tersebut. Yang membatasinya adalah kendali sistem operasi dan jaringan, bukan produk ini.
  • Keamanan cadangan Anda. Cadangan basis data ada di tangan Anda, dan semua isinya persis sama berharganya dengan sistem yang hidup.

Melaporkan celah keamanan

Kalau Anda menemukannya, tulis kepada kami. Kami menanggapi laporan dengan serius, kami tidak menutup pelapor dari prosesnya, dan kami memberi tahu Anda kapan perbaikannya terbit.

security@ypcad.com