8 poin oleh GN⁺ 2025-03-23 | 1 komentar | Bagikan ke WhatsApp
  • STPA(System Theoretic Process Analysis, analisis proses teoretis sistem) adalah metode untuk memodelkan loop kontrol-umpan balik pada sistem kompleks berdasarkan teori sistem dan kontrol
    • Google menggunakan STPA untuk menganalisis sistem perangkat lunak dan menemukan potensi risiko
  • STPA memperlakukan keselamatan sistem sebagai masalah kontrol, dan menganalisis semua tindakan kontrol yang dapat membawa sistem ke keadaan berbahaya
  • Alih-alih berfokus pada hasil dari tiap tindakan individual, pendekatan ini mencari akar penyebab dengan berfokus pada keadaan berbahaya
    • Dengan memahami tindakan kontrol yang mengarah ke keadaan berbahaya, hal itu dapat dicegah atau dipulihkan secara otomatis
    • Jika pemulihan otomatis sulit dilakukan, sistem dapat memberi peringatan kepada operator manusia

Mengapa Google mengustomisasi pelatihan STPA

  • Melalui STPA, jumlah studi kasus sukses yang menemukan masalah yang sebelumnya tidak teridentifikasi lebih awal dan mencegah insiden terus bertambah
  • Materi pelatihan STPA yang ada sebelumnya berfokus pada sistem fisik, sehingga sulit diterapkan pada lingkungan perangkat lunak
  • Karena itu dibutuhkan pelatihan khusus yang disesuaikan dengan sistem perangkat lunak murni milik Google

Upaya awal pelatihan STPA

  • Pelatihan awal dimulai sejak 2021 (untuk 40 engineer Google)
  • Menggunakan contoh sistem fisik (misalnya kecelakaan Mars Polar Lander) → kurang relevan bagi engineer perangkat lunak
  • Muncul kesadaran bahwa dibutuhkan contoh nyata yang diterapkan pada sistem Google

Pendidikan konsep struktur kontrol

  • Struktur kontrol(control structure) tersusun dari loop kontrol-umpan balik dasar
    • Controller mengendalikan perubahan status → memeriksa status melalui umpan balik lalu menentukan tindakan berikutnya
  • Contoh penerapan di lingkungan perangkat lunak
    • Misalnya: menghapus atau memperbaiki konten yang salah di database konten buatan pengguna
    • Jika loop umpan balik tidak dirancang dengan baik, tindakan kontrol yang salah dapat terjadi
  • Tantangan pelatihan
    • Sulit mengajarkan perancangan struktur kontrol yang berguna dalam waktu terbatas
    • Karena setiap sistem perangkat lunak memiliki struktur kontrol berbeda, sulit memberikan umpan balik

Strategi perbaikan pelatihan STPA

  • Mengajarkan semua tahap STPA → membantu engineer agar dapat menjalankan STPA secara mandiri
  • Memanfaatkan kasus nyata Google → setelah menjelaskan teori, langsung diterapkan ke contoh nyata
  • Berfokus pada penguatan jalur umpan balik dalam struktur kontrol
    • Umpan balik yang salah → tindakan kontrol yang salah → analisis kasus yang memicu insiden
    • Kurangnya umpan balik kepada operator manusia → timbulnya keadaan berbahaya

Pentingnya umpan balik

  • Pada satu sistem Google, umpan balik yang salah memicu tindakan kontrol yang salah setelah 30 hari → terjadi insiden
  • Penyebabnya adalah umpan balik yang salah dan kurangnya umpan balik kepada operator manusia
  • Jika perancangan umpan balik dilakukan dengan benar, insiden dapat dicegah
  • Ledakan roket Ariane 5 juga merupakan contoh kesalahan umpan balik
    • Kesalahan terjadi saat data floating-point dikonversi menjadi integer
    • Kesalahan umpan balik → pengenalan status yang salah → kesalahan arah roket dan ledakan

Diagram aliran data vs. struktur kontrol

  • Diagram aliran data(Dataflow Diagram)
    • Menunjukkan bagaimana data berpindah antar komponen perangkat lunak
    • Umpan balik dan struktur kontrol tidak terlihat jelas
  • Struktur kontrol(Control Structure)
    • Menunjukkan tindakan kontrol dan umpan balik → hierarki kontrol menjadi jelas
    • Mudah mengidentifikasi masalah umpan balik → memungkinkan pelacakan akar masalah dalam interaksi sistem yang kompleks

Dampak penerapan STPA

  • Pada perangkat lunak kompleks, mempersempit area berpotensi bermasalah dari jutaan baris kode menjadi ratusan baris
  • Menyusun skenario tindakan kontrol berbahaya → memungkinkan identifikasi kode bermasalah
  • Dalam kasus nyata, setelah membangun struktur kontrol, kekurangan umpan balik berhasil diidentifikasi dan diperbaiki

Perubahan strategi pelatihan

  • Waktu pelatihan yang panjang → beralih ke sesi pelatihan yang lebih singkat
    • Tutorial 30–60 menit → mendorong engineer yang tertarik untuk ikut workshop
  • Memperkenalkan model pembelajaran mandiri
    • Video singkat + tugas → mendorong penerapan STPA pada sistem nyata
    • Memperkuat pelatihan agar STPA awal dapat dijalankan tanpa campur tangan pakar

Strategi penyebaran STPA di Google

  • Mencetak pakar STPA → memungkinkan penyebaran STPA di dalam tim
  • Keberhasilan awal → menyebar ke tim lain → penerapan STPA di seluruh organisasi
  • Setelah pelatihan STPA, elemen risiko dapat dihilangkan lebih awal pada tahap desain

Dapat diterapkan di perusahaan lain juga

  • STPA adalah alat yang kuat untuk menemukan "elemen risiko yang belum teridentifikasi" dalam sistem perangkat lunak yang kompleks
  • Dapat dimulai dari tim kecil lalu diperluas dengan dipimpin pakar STPA
  • Kunci utamanya adalah mengembangkan pelatihan STPA yang disesuaikan dengan kebutuhan perusahaan
  • Arah dapat dikoreksi setelah trial and error awal → pada akhirnya meningkatkan stabilitas dan keandalan sistem

1 komentar

 
GN⁺ 2025-03-23
Opini Hacker News
  • Ada kasus di Google di mana software controller menerima umpan balik yang salah dan menjalankan aksi kontrol berbahaya

    • Aksi ini dijadwalkan untuk dijalankan 30 hari kemudian
    • Ada indikator bahwa aksi berbahaya akan terjadi, tetapi tidak ada engineer yang memantau hal ini
    • Akhirnya, 30 hari kemudian aksi kontrol berbahaya itu terjadi dan menyebabkan gangguan layanan
    • Ada komentar yang bertanya-tanya apakah ini terkait insiden penghapusan database pemerintah
    • Upaya generalisasi tanpa saling menyalahkan itu bagus, tetapi ditulis dengan gaya yang terlalu bombastis sehingga tidak ada hal yang bisa dipelajari
  • Kelas STPA terstruktur dengan baik, dan contoh dari Google membantu

    • Namun, artikel itu sendiri tidak memiliki contoh yang konkret
  • STPA adalah framework design review untuk menemukan mode kegagalan yang kurang jelas

    • FMEA lebih populer, tetapi hanya mencantumkan mode kegagalan yang sudah diketahui
    • STPA melengkapi mode kegagalan yang belum terpikirkan
  • Ada pendapat bahwa topiknya sulit dipahami tetapi ingin dimengerti

    • Diperlukan penjelasan yang lebih konkret tentang bagaimana ini diterapkan pada layanan tertentu di Google
    • Kurang dijelaskan mengapa "B kekurangan umpan balik dari C" itu buruk
  • Jika ada contoh nyata di mana STPA menyelesaikan masalah keandalan di Google, itu akan lebih meyakinkan

  • STAMP/STPA bekerja dengan baik sebagai model dan metodologi untuk sistem yang kompleks

    • Ada ketertarikan pada kuantifikasi cyber risk
    • Dalam pendekatan lain, tidak ada model yang membuat aksi kontrol berbahaya mudah dipahami
    • Semoga lebih banyak perusahaan mengadopsinya
  • Setelah bekerja sama dengan para ahli sistem untuk membangun control structure, langsung terlihat bahwa controller C kekurangan umpan balik ke B

    • Ada feedback loop melalui D
    • Ada yang bertanya-tanya mengapa masalah tidak adanya koneksi langsung dari B ke D tidak dianggap relevan
    • Setelah dibaca ulang, disadari bahwa arah vertikal penting untuk menunjukkan kontrol dan umpan balik
  • Ini adalah upaya khas perusahaan: cerita yang dibesar-besarkan, buzzword, dan usaha membuat ide lama terlihat inovatif

    • Ada upaya canggung untuk mengaitkan kisah memperbaiki radio di masa kecil dengan STPA
    • Google mengklaim penerapan STPA pada software sebagai sesuatu yang inovatif, padahal ini metode lama
    • Sebagian besar isinya adalah konsep engineering dasar tentang feedback loop dan control structure
    • Pesan sebenarnya adalah bahwa Google membuat program pelatihan internal
    • Bagian akhirnya adalah strategi perusahaan yang khas, seolah-olah STPA wajib digunakan
  • Ada komentar yang berharap Google diam saja selama setahun, seperti vacuum cleaner yang berdengung pelan