Common Weakness Enumeration untuk Menjaga Keamanan Data
Apa Itu Common Weakness Enumeration (CWE)?
Common Weakness Enumeration (CWE) adalah daftar yang menampilkan keberadaan bug pada software atau hardware yang berbahaya bagi perusahaan. Jika biasanya penyerang akan menggunakan celah untuk di bobol, tidak dengan CWE ini, penyerang atau hacker biasanya akan memanfaatkan celah tersebut untuk mencuri data rahasia dari website yang menjadi target.
Informasi rahasia yang didapat bisa saja dijual atau disebarluaskan oleh pihak yang tidak bertanggungjawab. Tidak hanya bagi pelanggan atau klien, hal ini juga sangat berbahaya bagi keamanan data pribadi atau perusahaan.
Beberapa tipe bug yang biasanya terdeteksi CWE adalah XSS, SQLi, dan RCE. Selain itu, sama seperti CVE (Common Vulnerabilities Exposure), CWE juga banyak jenisnya, tergantung CWE ID yang digunakan.
Mengapa Common Weakness Enumeration (CWE)?
Menurut eData Kerentanan Nasional, dan statistik yang disajikan didalamnya, pada tahun 2017 dilaporkan terdapat 14.647 kerentanan yang merupakan 0,57% dari total data yang dimiliki, sedangkan pada tahun 2016 berjumlah 6447. Basis data tersebut besar dan jumlah kerentanan terkandung di dalamnya meningkat secara eksponensial. Mungkin tidak layak untuk menguji setiap perangkat keras dan perangkat lunak, yang dimiliki organisasi dengan data sensitif, untuk semua kerentanan ini. Masalahnya menjadi semakin rumit karena waktu yang diperlukan untuk selalu memperbarui alat keamanan dengan pembaruan terkini dalam database itu sendiri. Untuk mengatasi ini, seseorang perlu beralih ke alat yang cukup cerdas untuk memprogram ulang dirinya sendiri untuk mengakomodasi data yang diperbarui dalam database yang menyediakan fungsionalitas yang memanfaatkan pengetahuan terbaru yang tersedia. Alat-alat cerdas ini membutuhkan pengetahuan tentang bagaimana membedakan satu kerentanan dari yang lain dan bagaimana mengatasi kelemahan tersebut jika ditemui.
Mereka juga akan membutuhkan pengetahuan tentang bagaimana mengkategorikan jenis kerentanan yang serupa ke dalam beberapa kategori untuk memfasilitasi upaya identifikasi, mitigasi, dan pencegahan seperti yang disebutkan di atas. Upaya mitigasi dan pencegahan akan membutuhkan hubungan antar kelemahan ini untuk memperoleh kemampuan untuk sepenuhnya memahami dan jika mungkin mensimulasikan jalur serangan yang dapat diambil penyerang untuk mencapai dari titik masuk ke target yang diinginkan dengan mengeksploitasi serangkaian aset di antaranya, dan mampu mencapai jalan seperti itu. Jenis serangan ini juga akan membantu mengidentifikasi aset serangan kritis yang dapat memfasilitasi jumlah terbesar jalur serangan, dan untuk mengidentifikasi “kerentanan zero-day” yang diperlukan untuk hadir dalam urutan aset untuk mengubahnya menjadi jalur serangan. Untuk alat cerdas apa pun, CWE adalah cara untuk belajar memahami apa saja jenis kelemahan berbeda yang dapat dimanfaatkan oleh penyerang untuk mengganggu dan mengeksploitasi tumpukan TI organisasi mana pun. Dengan demikian, memahami hal ini, alat-alat ini akan dapat membawa kecerdasan ke dalam domain keamanan siber.
CWE-200
CWE-200 adalah salah satu bentuk bug atau kerentanan yang mengekspos atau membocorkan (leaking) data berupa informasi sensitif dan rahasia saat hacker memiliki akses ke informasi tersebut. Infomasi sensitif yang dimaksud bisa dalam bentuk :
- Informasi rahasia pribadi, seperti pesan, data keuangan, data kesehatan, lokasi geografis, atau detail kontak
- Status sistem dan environment, seperti sistem operasi dan package yang sudah terinstall.
- Rahasia bisnis dan properti intelektual.
- Status dan konfigurasi jaringan.
- Kode detail produk.
- Metadata, seperti koneksi yang tersambung dan header pesan.
Beberapa informasi penting ini akan diambil dari :
- Informasi para pengguna produk.
- Orang atau organisasi yang digunakan oleh produk, meskipun mereka bukan pemakai produk langsung.
- Pengelola produk, termasuk sistem Admin dan common weakness enumeration cwe 89atau jaringan tempat produk tersebut beroperasi.
- Developer.
CWE-89
CWE-89 adalah salah satu bug pada SQLi (SQL injection), yaitu teknik yang menyalahgunakan celah atau bug keamanan pada lapisan basis data di sebuah aplikasi. Bug atau celah ini terjadi ketika input dari pengguna tidak difilter dengan benar. Contohnya, pada kolom form username login yang seharusnya hanya dapat diisi atau dimasukkan dengan huruf atau angka, tetapi bisa diisi dengan simbol atau karakter lain seperti (-, =. ‘) sehingga memunculkan error MySQL dan hacker atau penyerang dapat memanfaatkan kondisi tersebut untuk memasukkan query dari SQL.
Script di bawah ini merupakan salah satu script yang rentan terhadap bug SQLi :
<?php $id = $_GET[‘id’];
$db = mysql_connect(‘localhost’, ‘admin’, password123);
mysql_select_db(“bug”, $db);
$query = “SELECT * FROM pengguna WHERE id = ‘”.$id.”‘”;
$hasil = mysql_query($query);
echo $hasil; ?>
-
Memperbaiki SQL Injection
Jika masalah ini sudah menimpa bisa menggunakan script dibawah ini untuk memperbaiki :
<?php $db_host = “localhost”; $db_name = “admin”; // database name $db_user = “admin”; // database user $db_pass = “password123”; // database password $koneksi = “mysql:host=$db_host;dbname=$db_name”; try { $db = new PDO($koneksi, $db_user, $db_pass); } catch (exception $e) { echo “error”; exit(); } $id = $_GET[‘id’]; $sql = “SELECT * FROM pengguna WHERE id = $id”; $stmt = $db->prepare($sql); $stmt->execute(); $objek = $stmt->fetchObject(); echo $objek->nama; ?>
Cara lainnya bisa menggunakan PHP Filter yang biasanya digunakan untuk memvalidasi dan menyaring data dari sumber yang tidak terpercaya dan tidak aman. Selain PHP Filter juga bisa menggunakan WAF (Web Application Firewall). Bisa mendapatkan WAF Imunify360 yang dapat mengamankan server layer 7.
Informasi Common Weakness Enumeration (CWE)
Versi daftar CWE saat ini adalah 2.11 dengan 705 CWE yang terdaftar. Daftar kelemahan berubah karena komunitas CWE mengelola daftar tersebut. Inisiatif komunitas CWE saat ini melibatkan 50 hingga 60 perusahaan dan perwakilan atau peneliti mereka yang menggunakan pengetahuan, minat dan keahlian mereka untuk mengembangkan daftar dan definisi jenis kelemahan tertentu. Ini memastikan bahwa setiap kelemahan didefinisikan dengan lengkap.
Beberapa definisi kelemahan CWE yang umum meliputi :
- validasi masukan yang tidak tepat.
- algoritma rusak atau berisiko (kode).
- masalah struktur dan validitas.
- pembuatan skrip lintas situs.
- eksposur informasi dan verifikasi data yang tidak memadai.
- antarmuka pengguna dan kesalahan otentikasi.
Beberapa definisi mencatat ribuan laporan kerentanan, sementara yang lain memiliki laporan tunggal atau sedikit. Saat kelemahan dihilangkan, mereka bisa keluar dari daftar. Namun, daftar sebelumnya diarsipkan sehingga siapa pun dapat menemukan informasi sebelumnya tentang kelemahan tertentu.
Menavigasi informasi CWE menjadi lebih mudah dengan menggunakan pendekatan 3-tingkat ke hierarki informasinya. Namun, bagi pengguna komputer rumahan, situs tersebut mungkin tampak penuh dengan informasi dan agak berlebihan. Tetapi begitu memahami proses terstrukturnya akan mulai menavigasi dengan lebih mudah.
Gambaran Singkat Proses Common Weakness Enumeration (CWE)
CWE mengupayakan kesederhanaan dan penyatuan di antara berbagai metrik perangkat lunak. Tujuannya adalah untuk memberikan taksonomi dan struktur yang memanfaatkan informasi di antara khalayak di seluruh dunia. Seperti perusahaan yang menggunakan standar dan sertifikasi ISO, alat keamanan dan penyedia layanan dapat menggunakan sebutan “CWE Compatibility” untuk menunjukkan bahwa mereka memiliki CWE yang perlu dicakup. Menurut CWE, pohon daftar dan klasifikasi dibuat “untuk cakupan komprehensif maksimum di seluruh domain konseptual, bisnis, dan teknis yang sesuai”. Dengan kata lain, proses tersebut berupaya untuk menghadirkan solusi dunia nyata yang beragam untuk kelemahan perangkat lunak yang diketahui untuk mengurangi eksploitasi sistem perangkat lunak perusahaan dan pemerintah.
Pendekatan terhadap inisiatif tersebut beroperasi pada tiga tingkatan :
- Memeriksa kelas informasi yang luas secara khusus untuk diskusi oleh peneliti, akademisi, vendor, dan orang manajemen perusahaan – terutama menggunakan tampilan pengembangan dan penelitian tingkat tinggi.
- Definisi yang lebih ringkas yang dirancang untuk tim TI, pengembang perangkat lunak, personel hukum, dan pakar keamanan.
- Daftar CWE gratis secara keseluruhan untuk siapa pun yang tertarik dengan informasinya, termasuk vendor alat dan peneliti lainnya.
CWE menggunakan beberapa alat untuk membantu mengatasi masalah perangkat lunak, termasuk sistem penilaian kelemahan umum, kerangka kerja analisis risiko kelemahan umum, 25 Perangkat Lunak Paling Berbahaya CWE / SANS, dan Representasi Klaim Cakupan CWE. Karena prosesnya harus hierarkis dan terstruktur, CWE berdampak langsung pada pemerintah dan badan usaha yang menyediakan peluang pemetaan transisi di antara berbagai daftar perangkat lunak. Setiap pembaruan CWE memiliki .pdf yang memberikan informasi tentang kelemahan saat ini dan cara menggunakan simbol untuk mengalir melalui hierarki data.
Herarki Common Weakness Enumeration (CWE)
CWE harus mengamati hierarki terstruktur agar database-nya dapat dicari, disederhanakan, dan berfungsi. Daftar tersebut menggunakan simbol khusus untuk mewakili struktur hierarkinya :
- Melihat
- Kategori
- Kelemahan berdasarkan Kelas
- Kelemahan berdasarkan Basis
- Kelemahan menurut Varian
- Elemen Senyawa (Komposit)
- Elemen Senyawa (Rantai Bernama)
- Kelemahan yang Tidak Berlaku Lagi
Struktur dimulai dari akar kelemahan dan bercabang ke spesifik yang selanjutnya mengalir ke pengujian, struktur kode dan apakah kelemahan itu berbahaya atau disengaja. Ini selanjutnya bercabang menjadi penanganan data, fitur keamanan dan kontrol proses. Dengan mengikuti hierarki dapat dengan cepat menemukan bagaimana kelemahan ditangani dan bagaimana mereka dapat mempengaruhi sistem komputer sehingga tidak menduplikasi usaha atau tidak perlu mencelupkan ke dalam anggaran operasional.