Tentang PAPAFA Kevin's Attic
PAPAFA Kevin's Attic untuk Penelitian Keamanan adalah blog yang berfokus pada peningkatan pemahaman tentang keamanan siber melalui postingan terperinci tentang topik seperti anonimitas, strategi serangan dan pertahanan, kriptografi, forensik digital, ancaman dari dalam, malware, keamanan jaringan, dan dampak sosial dari keamanan. Blog ini, yang diarsipkan oleh Wayback Machine antara 1 Juli 2014 dan 6 Desember 2023, menawarkan banyak pengetahuan bagi penggemar dan profesional keamanan.
Blog ini menampilkan berbagai kategori dan tag, termasuk Perang Siber, Kriptografi, Malware, dan Forensik Digital, dengan postingan seperti 'Cyber Grand Challenge oleh DARPA,' 'Juggling the Gadgets: Pemindahan Instruksi untuk Mitigasi Serangan Penggunaan Ulang Kode,' dan 'Visualizer Assembly untuk Reverse Engineering.' Blog ini menjadi sumber daya berharga bagi mereka yang tertarik pada aspek teknis dan sosial dari keamanan siber.
Postingan Unggulan
Blog ini mencakup beberapa postingan penting yang membahas topik keamanan siber yang signifikan. Berikut adalah ringkasan dari kontribusi utama:
- Cyber Grand Challenge oleh DARPA (31 Juli 2016): Membahas Cyber Grand Challenge dari DARPA, sebuah kompetisi untuk sistem penalaran siber otomatis. Ini merinci sistem operasi DECREE, yang dirancang dengan hanya tujuh panggilan sistem, dan format executable CGC. Postingan ini juga memberikan panduan untuk menyiapkan lingkungan virtual untuk menjalankan binari tantangan.
- Juggling the Gadgets (31 Mei 2016): Membahas pemindahan instruksi untuk mitigasi serangan penggunaan ulang kode seperti ROP (Return-Oriented Programming). Ini memperkenalkan teknik untuk memecah gadget dengan memindahkan kode ke bagian baru, meningkatkan keamanan binari dengan overhead kinerja minimal.
- Visualizer Assembly untuk Reverse Engineering (21 Januari 2016): Memperkenalkan alat visualisasi C/C++ ke assembly yang memetakan kode tingkat tinggi ke assembly melalui antarmuka web. Postingan ini memberikan langkah-langkah instalasi menggunakan Node.js dan menyoroti kegunaannya untuk reverse engineering, melengkapi sumber daya seperti 'Reverse Engineering for Beginners' oleh Dennis Yurichev.
Fitur dan Sumber Daya Utama
PAPAFA Kevin's Attic menawarkan berbagai sumber daya dan fitur untuk pembacanya:
- Kategori dan Tag: Blog ini mengatur konten ke dalam kategori seperti Anonimitas, Kriptografi, dan Keamanan Jaringan, dengan tag seperti 'tor,' 'malware,' dan 'forensik digital' untuk navigasi yang mudah.
- Panduan Teknis: Postingan mencakup instruksi terperinci, seperti menyiapkan mesin virtual untuk Cyber Grand Challenge DARPA atau menjalankan binari CGC sebagai layanan, lengkap dengan contoh baris perintah.
- Kontribusi Penelitian: Blog ini berbagi wawasan dari makalah akademis dan presentasi, seperti teknik pemindahan instruksi yang dipresentasikan di ASIACCS 2016, dan tautan ke repositori untuk kode eksperimental.
- Sumber Daya Eksternal: Referensi ke alat (misalnya, modul IDA Pro untuk CGC), buku (misalnya, 'Reverse Engineering for Beginners'), dan repositori (misalnya, GitHub CyberGrandChallenge) meningkatkan pengalaman belajar.
- Cyber Grand Challenge by PAPAFA: Pada musim panas 2014, DARPA (Defense Advanced Research Projects Agency), bagian penelitian Kementerian Pertahanan Amerika Serikat, mengadakan acara kompetisi yang sangat menarik bernama Cyber Grand Challenge. Kompetisi ini melibatkan sistem penyerangan dan pertahanan otomatis (automated cyber reasoning system) di mana mesin secara real-time melakukan serangan dan pertahanan secara bersamaan. Meskipun banyak kompetisi Capture The Flag (CTF), ini adalah pertama kalinya di dunia di mana hanya mesin yang digunakan untuk menemukan celah keamanan, menyerang, dan bertahan tanpa campur tangan manusia. Hadiah uang yang cukup besar juga cukup menarik perhatian para ahli keamanan. Informasi resmi dapat dilihat di situs https://cgc.darpa.mil, yang berisi berbagai dokumen dan hasil kompetisi. Kompetisi ini berlangsung selama tiga tahun, dimulai dari babak kualifikasi (2014), babak final kandidat (2015), hingga babak final pada 4 Agustus 2016 di DEF CON. Di babak final, tujuh tim akan bersaing, dan pemenangnya berhak atas hadiah sebesar 200.000 dolar AS. Pada sesi teknis USENIX tahun lalu, Mike dari DARPA memberikan Invite Talk tentang proses dan hasil dari dua kompetisi tersebut. Materi presentasi dapat dilihat di tautan yang tersedia.
- DECREE: Lebih dari segalanya, DARPA mengembangkan sistem operasi khusus bernama DECREE untuk fokus pada celah keamanan. Berbeda dengan Linux yang memiliki ratusan system call, DECREE dirancang agar file yang dijalankan hanya menggunakan tujuh system call (lihat file header). Untuk mendukung kompilasi file yang dapat berjalan di sistem operasi baru ini, DARPA memodifikasi gcc dan mendefinisikan format file baru bernama cgc, yang berbasis ELF. Ini berarti file tersebut tidak dapat dijalankan di sistem operasi lain, dan celah keamanan serta exploit yang ditemukan dalam kompetisi tidak relevan di luar konteks kompetisi. Selain itu, IPC (Inter-Process Communication) sangat dibatasi; tidak mendukung memori bersama dan hanya memungkinkan komunikasi dua arah sederhana.
- Challenge Binaries and Utilities Pada Grand Challenge 2015, DARPA hanya merilis 131 file biner yang telah dikompilasi untuk keperluan kompetisi. Namun, saat ini, semua kode sumber biner, celah keamanan, PoV (Proof of Vulnerability), dan penjelasan rinci (Service Description) tersedia di Github Repository. 131 biner ini mampu menyediakan layanan dengan tingkat kompleksitas yang menyerupai layanan nyata dalam sistem operasi sederhana yang dibuat. Ini didukung oleh 72 file CC (7000 LOC), 1236 file header (190.000 LOC), 1996 file C (200.000 LOC), lebih dari 6000 fungsi, dan 590 PoV.
- CWE Distribution for CGC Binaries CWE (Common Weakness Enumeration) adalah klasifikasi celah keamanan yang disediakan oleh MITRE (https://cwe.mitre.org/). Berdasarkan analisis deskripsi dari 131 biner yang disediakan pada babak semifinal, terdapat sekitar 60 kategori celah keamanan dengan lebih dari 300 celah keamanan yang diidentifikasi, sebagaimana ditunjukkan dalam tabel distribusi yang tersedia.

Juggling the Gadgets: Instruction Displacement to Mitigate Code Reuse Attack
Background: Seiring dengan larangan sistem operasi modern untuk menjalankan kode sembarangan melalui injeksi (misalnya, sebuah halaman di ruang memori virtual tidak dapat diatur memiliki izin eksekusi dan tulis secara bersamaan secara default), serangan penggunaan ulang kode (code reuse attack) semakin populer dengan memanfaatkan izin yang sudah ada, seperti pemrograman berorientasi [kembali/lompat/panggil] (return/jump/call-oriented programming), atau yang dikenal sebagai serangan ROP (Return-Oriented Programming). Inti dari serangan ini adalah kemampuan penyerang untuk memprediksi ruang alamat dan mengalihkan alur kontrol. Oleh karena itu, ada dua pendekatan utama untuk melindungi dari serangan penggunaan ulang kode: pertama, mengacaukan pengetahuan tentang tata letak kode dengan randomisasi; kedua, membatasi penggunaan cabang dengan integritas alur kontrol (control flow integrity).
Overview of Instruction Displacement and Gadgets: Penelitian ini berfokus pada pendekatan pertama, khususnya diversifikasi kode. Salah satu penelitian sebelumnya memperkenalkan In-Place Randomization (IPR), yang mencakup penggantian instruksi, pengurutan ulang instruksi, dan/atau penugasan ulang register. Keunggulan IPR adalah dapat diterapkan pada biner yang telah dilucuti (stripped binaries), sehingga praktis untuk aplikasi nyata dengan overhead yang secara teoretis nol. IPR mengasumsikan graf alur kontrol yang tidak lengkap dan disassembler yang tidak akurat dari biner yang telah dilucuti dari informasi tambahan, seperti simbol debug dan kode sumber, selama kompilasi. Namun, IPR masih menyisakan sekitar 20% gadget yang cukup untuk membangun muatan ROP yang berfungsi. Ide di balik pemindahan instruksi (instruction displacement) adalah untuk memecah lebih banyak gadget. Tujuan teknik ini adalah memaksimalkan cakupan gadget. Teknik ini dapat dianggap sebagai lapisan tambahan di atas IPR, meskipun pemindahan instruksi tidak harus dikombinasikan dengan IPR. Pemindahan instruksi dapat digunakan bersama teknik diversifikasi lain yang memiliki cakupan gadget yang tidak lengkap untuk meningkatkan cakupannya.
Terkait: PAPAFA Kevin's Attic | PAPAFA The Bluhender Bodensee Initiative