un

guest
1 / ?
back to lessons

Scanner MOAD sebagai Praktik Permacultur

Permacultur pertama: amati sebelum bertindak. Habiskan waktu di sistem yang ingin Anda ubah. Pahami aliran, akumulasi, & aliran limbah sebelum merancang intervensi Anda. Seorang tukang kebun yang mengamati di mana air mengumpul, di mana sinar matahari mencapai, & di mana nutrisi berkonsentrasi menanam tanaman lebih efektif daripada yang mengikuti rencana umum.

Scanner MOAD menerapkan prinsip ini ke ekosistem perangkat lunak. Sebelum mengirimkan masalah pertama, lintasi proyek dan bahasa. Peta distribusi kegagalan: berapa proyek yang membawa CWE-407? Yang mana yang membawanya di jalur padat? Paket upstream mana, jika diperbaiki, akan menyebarkan perbaikan ke pengguna terbanyak? Amati ekosistem sebelum bertindak pada node yang bersangkutan.

Permacultur Diterapkan ke Kode: scan 2192 simpan 2192 perbaiki 2192 ungkap 2192 loop

Bandingkan ini dengan praktik ekstraktif: menemukan kelemahan, jual ke seorang broker kelemahan, kumpulkan pembayaran, lanjutkan. Peneliti mengambil kapital finansial dari pengetahuan dan pergi. Tidak ada pengetahuan yang menyebar. Sistem tidak diperbaiki. Pengguna masa depan dari setiap proyek yang terpengaruh tetap lemah. Broker memegang pengetahuan, yang memudar nilainya karena kegagalan pengungkapan seiring waktu.

Praktik permakomputer: menemukan kecacatan, perbaiki, publikasikan, ajukan ke upstream, rilis patch sebagai domain publik. Pengetahuan menyebar tanpa kerugian - sebaliknya, bahkan berkembang: CVE yang terungkap menjadi referensi, posting MOAD mengajari pola, peneliti masa depan menemukan instance yang sama menggunakan pola yang sama. Suatu lingkaran tertutup daripada ekstraksi terminal.

Pengamatan permacultur sebelum tindakan permacultur. Skanner menghasilkan data tentang skor surge, grafik ketergantungan, & hitungan node yang terpengaruh sebelum patch apa pun bergerak. Data ini menentukan patch apa yang pertama kali dikirim: node yang banyak tergantung sebelum node daun, karena perbaikan pada library yang banyak digunakan menyebar lebih jauh per unit usaha.

Tidak Ada Limbah: Tiga Jalur Pengungkapan

Tiga jalur seorang peneliti setelah menemukan kelemahan kritis di sebuah library open-source populer:

A. Jualkannya kepada broker keamanan sebesar $10.000.

B. Laporkan secara pribadi kepada pengembang dengan jadwal pengungkapan 90 hari, kemudian publikasikan tanpa mempertimbangkan status patch.

C. Kirimkan patch sebagai pull request segera dengan pengungkapan publik secara simultan.

Terapkan prinsip permacultur 'tidak ada limbah' untuk mengevaluasi setiap opsi. Identifikasi apa output yang setiap jalur menghasilkan, di mana output-output itu pergi, & output mana yang keluar sistem sebagai limbah (energi yang tidak terarah yang tidak menguntungkan siapa pun).

Pengembalian Dalam Sistem Terbuka

Prinsip kedua permakultur: tangkap dan simpan energi saat mengalir dengan melimpah agar Anda memiliki cadangan saat tidak mengalir. Sistem penampungan hujan menampung air selama badai untuk digunakan pada bulan kering. Hutan pangan menampung energi surya sebagai buah dan biomassa di sepanjang musim. Tujuan: sesuaikan waktu penyimpanan dengan waktu kelebihan.

Pengetahuan gabungan Hamming: setiap teknik baru terhubung ke daftar masalah penting Anda, menggandakan output produktif. Insinyur informasi entropi, untuk Shannon, membuka satu dekade pekerjaan teoretis karena terhubung ke setiap pertanyaan terbuka di daftar Anda secara bersamaan. Pengetahuan yang disimpan menghasilkan bunga compound interest.

Penggabungan sumber terbuka berbeda dari individu penggabungan. Perbaikan yang dimasukkan ke repositori kanonikal menyimpan energi di tempat di mana setiap cabang hilir secara otomatis mengambil dari sumbernya. Patch yang disubmit ke Python's asyncio library pada 2022 menyebar ke setiap proyek yang menggunakan library tersebut tanpa tindakan tambahan dari peneliti asli. Penyimpanan energi di sumber dan menggandakan melalui grafik ketergantungan.

Artikel MOAD menyimpan energi secara berbeda: setiap posting mengajarkan pola pemindaian daripada hanya mengungkapkan instance spesifik. Peneliti yang membaca artikel CWE-407 MOAD belajar tidak hanya bahwa Project X memiliki vulnerability flush, tetapi apa pola flush yang terlihat dalam bahasa apa pun, cara mencari pola tersebut, dan cara membedakan dari kode sehari-hari yang sama. Peneliti masa depan menemukan instance baru menggunakan pola yang disimpan daripada mengingat dari prinsip pertama.

Mechanism penyimpanan energi berpengaruh sebanding dengan energi itu sendiri. Pengetahuan yang disimpan dalam buku catatan pribadi hanya menggandakan untuk pemilik buku catatan. Pengetahuan yang disimpan dalam repositori publik menggandakan untuk semua orang yang membacanya. Pengetahuan yang disimpan dalam database CVE menggandakan untuk semua orang yang menjalankan scanner keamanan. Setiap lokasi penyimpanan memiliki karakteristik menggandakan yang berbeda.

Issue Trackers & Personal Problem Lists

Hamming menjaga daftar 10 masalah penting yang dia ulangi berulang kali. Daftar tersebut mempersiapkannya untuk mengenali saat teknik baru mengatasi salah satu dari mereka. Daftar Hamming berfungsi sebagai energi yang bertahan lama: investasi yang menghasilkan dividen setiap kali teknik baru muncul.

Bagaimana issue tracker proyek open-source melayani fungsi yang sama dengan daftar 10 masalah pribadi Hamming? Bagaimana itu berbeda? Identifikasi setidaknya satu keuntungan issue tracker atas daftar pribadi dan setidaknya satu keuntungan daftar pribadi atas issue tracker.

A MOAD Loop as Closed System

Permakultur: dalam sistem yang dirancang dengan baik, output dari satu proses mengalir ke input proses lain. Tidak ada output keluar sistem sebagai limbah. Ayam dalam hutan pangan menghasilkan telur (makanan), kotoran (pupuk), kendali hama (layanan), & menggali (aerasi tanah). Setiap output mengalir ke proses berikutnya.

Model pabrik MOAD membangun loop tertutup yang sama. Setiap tahap menghasilkan output yang mengalir ke tahap berikutnya:

Scan menghasilkan: instance kesalahan yang dikonfirmasi, peta lokasi node yang terpengaruh, perkiraan kerapuhan berdasarkan keberadaan & lalu lintas.

Patch menghasilkan: perbaikan kode, unit tes yang mengonfirmasi perbaikan, diff yang dapat dilihat oleh pemelihara.

PUBLIKASI MOAD menghasilkan: sebuah artikel domain publik yang menjelaskan kelas kecacatan, pola pemindaian, & pendekatan perbaikan. Modal intelektual yang bertahan lebih lama dari setiap instance tunggal.

PELEKOKAN CVE menghasilkan: sebuah catatan standar di NVD, yang memicu pemindaian keamanan otomatis di semua instalasi terpengaruh. Modal sosial untuk komunitas keamanan.

PR UNTUK ATAS menghasilkan: perbaikan di sumber utama, yang menyebar secara otomatis ke semua cabang hilir pada pembaruan dependensi berikutnya.

Setiap output memberi umpan balik: sebuah PUBLIKASI MOAD mengajari peneliti untuk menemukan instance baru, yang menghasilkan pemindaian baru. Unit tes menjadi pengawas regresi. Catatan CVE memicu adopsi patch oleh tim operasional yang lainnya akan mengabaikannya. Lingkaran menutup.

Kondisi penghentian: sebuah patch yang dirilis tanpa mengonfirmasi kapasitas hilir membanjiri antrian. MOAD-0001 & MOAD-0005 berkaitan: perbaikan O (N²) pada node dengan tingkat kepentingan tinggi & setiap pengolahan hilir banjir secara bersamaan. Prinsip perancangan sistem keseluruhan dalam pertanian sepanjang masa juga berlaku di sini: optimitas komponen mungkin menciptakan botol hampa di hilir.

Peta Output ke Kapital

Sebuah alur MOAD menghasilkan lima output: hasil pemindaian, patch, publikasi MOAD, pelekokan CVE, & PR untuk atas.

Tetapkan setiap output ke bentuk modal yang utamanya tumbuh. Kemudian, identifikasi langkah tunggal yang, jika dihilangkan, akan menghasilkan 'sampah' terbanyak — energi terutama tidak terrute — dan jelaskan mengapa.