Tahun lalu telah terlihat munculnya masalah perangkat lunak yang mempengaruhi sistem operasi dan perpustakaan perangkat lunak yang sangat populer.
Masalah yang berpotensi menimbulkan dampak buruk, sering kali diklasifikasikan sebagai dapat dieksploitasi dari jarak jauh. Kondisi ini menunjukkan bagaimana penyerang dapat memanfaatkan kekurangan ini tanpa harus berada dekat secara fisik dengan sistem, namun hanya memiliki visibilitas dari jaringan atau logika.
Dalam artikel ini saya mencoba untuk lebih memperjelas beberapa perbedaan penting antara istilah-istilah tertentu, yang terlalu sering digunakan secara bergantian (dan secara tidak tepat) dengan tujuan menyebabkan kegemparan atau menarik klik di Internet.
Mari kita mulai dengan beberapa kebenaran mutlak yang menurut saya penting untuk diingat.
Yang pertama adalah kutipan dari tokoh CyberSecurity Gene Spafford: “Satu-satunya sistem yang benar-benar aman adalah sistem yang dimatikan, diputus sambungannya, dikunci dalam sangkar titanium, di dalam bunker beton yang penuh dengan gas saraf dan dijaga oleh penjaga bersenjata yang dibayar dengan sangat baik. Meski begitu, aku tidak akan mempertaruhkan nyawaku untuk itu."
Kebenaran kedua, yang jelas lebih sederhana untuk diungkapkan, menegaskan kembali hal itu dengan lebih sederhana “tidak ada perangkat lunak yang sempurna”.
Definisikan ini titik awal, mari kita coba memperjelas perbedaan penting antara a kesalahan, kerentanan dan a mengeksploitasi; diakhiri dengan klarifikasi pentingnya kondisi yang diperlukan untuk dapat memanfaatkan elemen-elemen tersebut.
Jauh dari dunia entomologi asal mula istilah tersebut, yaitu kesalahan o daging asap perangkat lunak dapat didefinisikan sebagai ketidaksempurnaan kode karena kesalahan kode yang dibuat selama pengembangan. Kesalahan ini hanya terjadi jika kondisi tertentu terpenuhi.
Keingintahuan tidak diketahui semua orang dan pastinya bagi mereka yang terus-menerus menyebut kesalahan ini lubang perangkat lunak adalah asal mula istilah ini dalam bidang TI: istilah ini sebenarnya berasal dari masa ketika perangkat lunak dikodekan pada kartu berlubang dan komputer merupakan lemari besar yang sering kali berada di ruang bawah tanah sebuah gedung; di dalam lemari logam ini berbagai komponen sama sekali tidak diperkecil dan ruangnya memungkinkan - dalam kondisi tertentu - berkembang biaknya hewan-hewan kecil yang dapat memakan kartu berlubang seperti ulat memakan apel matang yang renyah. Justru dalam konteks inilah ungkapan itu lahir bug perangkat lunak yang tetap tidak gentar selama lebih dari setengah abad dalam warna (dan sedikit culun) dunia pengembang.
Sehingga dari a kesalahan Namun, jika kerentanan muncul, beberapa kondisi penting harus ada.
Yang pertama adalah rangkaian peristiwa yang mengarah pada kesalahan untuk menunjukkan dirinya kepada dunia, menimbulkan efek berbahaya dari kesalahan yang awalnya dilakukan oleh pengembang. Tidak hanya penggunaan istilah tersebut sangat salah kesalahan dan kerentanan secara bergantian, namun a kesalahan diketahui tidak identik dengan kerentanan.
Untuk lebih memahami nuansa ini, mari kita coba mengkaji bagaimana kerentanan dilaporkan - mengambil inspirasi dari organisasi analisis ancaman Amerika, MITER. Di antara aktivitas MITRE yang tak terhitung jumlahnya, sebenarnya terdapat pengelolaan dan pembaruan basis data kerentanan yang disebut CVE (Common Vulnerabilities and Exposures).
Di bawah ini adalah contoh bagaimana kerentanan direpresentasikan kepada masyarakat umum:
Segera menjadi jelas bahwa deskripsi konteksnya memberi tahu lebih dari sekadar cara-cara yang mungkin dilakukan untuk mengeksploitasi bug tersebut tanpa memberikan contoh-contohnya. seperti dalam praktik: misalnya, ini memberi tahu kita bahwa model Omada ER605 dari pabrikan TP-Link memiliki masalah buffer overflow: ini berarti karena kesalahan pengembangan, memori perangkat menerima lebih banyak data daripada yang dapat ditampungnya; memberi tahu kita bahwa tidak perlu diautentikasi untuk menulis ke memori ini; menyoroti kepada kita bagaimana eksploitasi ini retakan juga dapat berlangsung jarak jauh, dengan kualifikasi Eksekusi Kode Jarak Jauh.
Laporan kerentanan tidak pernah menjelaskan cara mengeksploitasinya, karena beberapa alasan yang sah.
Pertama-tama, jika hal tersebut dilakukan maka akan membahayakan mereka yang belum sempat memperbaiki keadaan, jika memungkinkan misalnya dengan penerapan pembaruan perangkat lunak dari pabrikan atau a. tambalan.
Kedua, itu tugas membuat kerentanan dapat dieksploitasi adalah tanggung jawab penulis mengeksploitasi.
L 'mengeksploitasi mewakili suatu kode dan/atau prosedur yang jika dijalankan menyebabkan kesalahan yang mengeksploitasi kesalahan tersisa di kode pengembang.
Singkatnya: kesalahan, edisi kerentanan mengeksploitasi mereka adalah tiga entitas yang terpisah, jika ada konsekuensinya tetapi tentu saja tidak sama.
Praktik menganalisis karakteristik kerentanan, prosedur remediasi, dan kemungkinan adanya kerentanan tambalan oleh pabrikan merupakan bagian proses dari langkah-langkah keamanan siber setiap perusahaan - disebut Manajemen Kerentanan dan ini adalah salah satu tujuan paling menantang dari kebijakan keamanan siber perusahaan yang baik.