20 Februari 2013

Prinsip Security (2): Tahap-tahap Compromise

Apabila kita ingin mendeteksi penyusup, kita harus mengerti tahap-tahap compromise. Jika dilihat dari sudutpandang penyerang, tahap-tahap berikut ini adalah langkah-langkah yang harus dilakukan agar target dapat di-compromise. Dari sudut pandang analyst, tahap-tahap berikut merupakan transisi dari tiap langkah yang dilakukan penyerang. Lima tahap yang dijelaskan pada posting ini bukanlah satu-satunya cara yang dilakukan penyerang.

Gambar: Lima tahap compromise

Skenario di sini hanya dibatasi untuk penyerangan dari eksternal. Serangan dari eksternal lebih sering terjadi daripada serangan internal. Akan tetapi, meskipun serangan internal jarang terjadi, tapi apabila berhasil, serangan internal memiliki dampak yang jauh lebih merusak dibanding serangan eksternal.

Mengenali penyerang dari luar kita harus mengerti langkah-langkah yang diambil untuk mendapatkan akses tanpa ijin. Langkah-langkah tersebut antara lain:

  1. Reconnaissance (Pengintaian)
  2. Exploitation (Eksploitasi)
  3. Reinforcement (Penguatan)
  4. Consolidation (Penggabungan)
  5. Pillage (Penjarahan)
Beberapa dari tahapan di atas bisa diabaikan atau dikombinasikan, bergantung dri skill dan modus yang digunakan penyerang. Dengan mengetahui kelima tahapan di atas, akan lebih menambah pemahaman kita tentang bagaimana dan kapan mendeteksi penyerang.

Kita dapat memperkirakan kesempatan untuk mendeteksi penyerang pada setiap tahapan compromise. Table di bawah ini menitikberatkan pada kapan dan dimana penyerangan bisa dideteksi.

No.Tahap CompromiseDeskripsiKemungkinan DeteksiKeuntungan PenyerangKeuntungan Pelindung
1ReconnaissaincePendataan host, versi service, dan versi aplikasi.Medium ke highPenyerang melalui frame jangka panjang menggunakan pola traffic normal.Penyerang memberitahukan keberadaannya sendiri melalui perbedaan traffic milik mereka dan traffic milik user yang sah.
2ExploitationPenyalahgunaan service, perusakkan service, atau pelanggaran penggunaan serviceMediumPenyerang mungkin mengeksploitasi service dengan traffic yang terenkripsi atau menggelapkan.Exploit tidak terlihat seperti traffic yang sah, dan IDS akan punya banyak signature untuk mendeteksi banyak serangan.
3ReinforcementMendapatkan tools untuk menaikkan tingkat perijinan dan atau menyembunyikan keberadaan penyerang.HighEnkripsi akan menyembunyikan keberadaan tools milik penyerang.Aktivitas keluar akan dengan mudah diawasi dan diidentifikasi.
4ConsolidationKomunikasi melalui back door, biasanya menggunakan channel tersembunyi.Low hingga mediumDengan kendali penuh terhadap endpoint komunikasi kedua pihak, kreatifitas dari penyerang hanya dibatasi oleh akses dan traffic control pada network interface yang digunakan.Pembuatan profil traffic mungkin membuka pola tidak biasa, sebagai akibat dari penggunaan backdoor oleh penyerang.
5PillagePencurian informasi, perusakan asset, atau compromise lebih lanjut terhadap organisasi.Low hingga mediumSetelah beroperasi dari "host yang dipercaya", aktivitas dari penyerang akan lebih sulit diketahuiAnalyst yang pintar mengetahui traffic yang seharusnya dari internal sistem dan akan mengetahui bila ada perubahan.
Lebih lanjut mengenai tiap tahap, akan dibahas dibawah ini.

Reconnaissance (Pengintaian)

Reconnaissance adalah proses validasi koneksi, mengetahui service yang berjalan pada target, dan memeriksa adanya vulnerability pada aplikasi. Penyerang yang memverifikasi adanya vulnerability terhadap suatu service memiliki kecenderungan sukses yang lebih tinggi dalam mengeksploitasi target. Threat terstruktur biasanya memilih target yang spesifik dan kemudian melakukan reconnaissance untuk merancang metode yang paling tepat untuk compromise target mereka. Reconnaissance membantu bagi threat terstruktur untuk merencanakan serangan yang seefisien mungkin dan sebisa mungkin tidak terdeteksi. Reconnaissance bisa dilakukan dengan cara teknis maupun non teknis, misalnya mengumpulkan informasi dari sampah kantor, atau dari orang dalam yang rela menjual atau berbagi informasi mengenai perusahaannya.

Threat yang tidak terstruktur sering mengabaikan reconnaissance. Mereka men-scan suatu blok IP dengan harapan menemukan system yang mana mereka memiliki exploit untuk sistem tersebut. Pada tahun 90-an, kode malware cenderung memeriksa sistem dari target, apakah service pada target vulnerable tarhadap metode serangan yang dipakai. Sebagai contoh seorang hacker jahat mungkin membuat kode worm untuk Microsoft Internet Information Service, tetapi kode worm tersebut tidak akan bereaksi jika yang ditemukan adalah Apache Web Server. Sekarang ini, kode malware (terutama yang ditujukan untuk sistem Windows) di lepaskan tanpa aspek reconnaisance, dan sekedar menjalankan exploit terhadap service tanpa memeriksa apakah efektif atau tidak terhadap suatu target. Contoh, SQL Slammer (malware) dilepaskan ke target acak, tanpa mepedulikan apakah target menjalankan service SQL pada port 1434 UDP.

Terkadang, mengesampingkan kecepatan demi reconnaisance, hasilnya lebih baik. Misalnya pada worm W32/Blaster, sekedar dapat melakukan koneksi ke port 135 TCP merupakan indikasi bahwa target menggunakan sistem Windows, karena sistem UNIX tidak menggunakan service pada port tersebut. Pengecualian terhadap trend "fire and forget" seperti di atas adalah worm Apache/mod_ssl, yang mana worm tersebut akan melakukan pemeriksaan adanya versi OpenSSL yang vulnerable sebelum melakukan serangan.

Kita asumsikan bahwa penyerang menggunakan IP Address 1 sebagai sumber traffic yang digunakan untuk membuat profile target. Pada titik ini, penyerang mungkin memiliki kendali penuh terhadap workstation miliknya, tapi belum memiliki kendali terhadap target. Keadaan ini membatasi pergerakan dari penyerang. Untuk memvalidasi koneksi, penyerang mungkin mengirimkan beberapa packet "aneh" atau "siluman" dan kemudian menerima reply dari target. Ketika mendata service, penyerang akan mengandalkan lagi pada packet yang tidak wajar, dan tetap menerima hasil yang cukup memuaskan.

Akan tetapi, untuk mengetahui dengan pasti versi dari aplikasi, misalnya web server, penyerang harus "berbicara" dengan bahasa dari target dan mengikuti rule yang ada di target. Dalam banyak kasus, penyerang tidak bisa menentukan dengan pasti versi dari IIS atau BIND yang digunakan target tanpa melakukan pertukaran packet TCP atau UDP yang valid. Secara alami, aktivitas reconnaissance seperti ini akan terdeteksi oleh monitor. Pengecualian dari prinsip ini adalah melakukan reconnaissance melalui channel yang terenkripsi, misalnya mendapatkan footprint dariweb server menggunakan enkripsi SSL pada port 443 TCP.

Banyak dari teknik reconnaissance yang dianggap siluman, tidak benar-benar siluman. Teknik siluman yang tradisional memanipulasi segment header TCP, terutama flag dari TCP (SYN, FIN, ACK, dll), untuk menghindari metode deteksi sederhana. IDS modern akan mudah mendeteksi segment yang diluar spesifikasi. Cara terbaik bagi penyerang untuk melakukan reconnaissance secara siluman, adalah dengan terlihat sebagai traffic normal.

Exploitation (Eksploitasi)

Eksploitasi adalah proses melanggar penggunaan, menyalahgunakan, atau merusak service pada sebuah target. Menyalahgunakan service mencakup penggunaan tidak sah dari mode akses yang sah. Sebagai contoh, penyerang bisa saja log in ke sebuah server melalui Telnet, Secure Shell, atau Microsoft Terminal Service menggunakan username dan password yang dicuri dari sistem lain. Merusak bisa dengan cara memaksa service bekerja dengan cara yang tidak diantisipasi oleh programmer pembuatnya. Desainer dari web servier IIS milik Microsoft tidak mengira penyerang akan mengeksploitasi metode kerja IIS dimana karakter Unicode diperiksa terhadap kebijakan security. Dari kekurangan ini, menghasilkan vulnerability Web Server Folder Traversal yang dijelaskan oleh CERT pada tahun 2000. Untuk melanggar penggunaan sebuah service, adalah dengan menghentikan service tersebut, kemudian menjalankannya lagi dengan ijin penggunaan penuh oleh penyerang. Metode ini tidak sama dengan penyalah gunaan, yang mana tidak menghentikan service yang berjalan. Kode eksploit modern sering me-restart service yang diksploitasi, sementara penyerang memanfaatkan hak pakai yang didapat saat penerobosan sebelumnya.

Seperti halnya pendataan service pada tahap reconnaissance, pengiriman exploit biasanya melalui protocol yang digunakan sehari-hari. Karena penyerang masih memiliki kendali penuh atas workstation mereka, namun tanpa pengaruh apapun terhadap target, penyerang harus berkomunikasi menggunakan protocol yang tepat dengan korban. Karena penyerang masih harus mengikuti aturan, kita punya kesempatan untuk mendeteksi aktivitas penyerang. Pada beberapa kasus, penyerang tidak perlu mengikuti aturan apapun karena service yang vulnerable akan mati ketika mendapatkan data yang tidak diharapkan.

Masih ada keterbatasan karena enkripsi. Lebih jauh lagi, kemampuan IDS untuk mendeteksi secara real time bisa dikurangi dengan menggunakan novel atau zero-day attack. Dalam hal ini, metode audit network traffic secara backward-looking yang digunakan NSM sangat membantu. Penyerang yang berpengetahuan akan menjalankan exploit dari IP address baru.

Reinforcement (Penguatan)

Reinforcement adalah tahap dimana penyerang benar-benar menggunakan kemampuannya. Reinforcement mengambil keuntungan dari mode awal ketika mengakses tanpa ijin, untuk kemudian mendapatkan kemampuan tambahan terhadap target. Beberapa exploit segera memberikan perijinan akses root, namun beberapa lainnya hanya memberikan akses tingkat user. Penyerang harus mencari sara untuk menaikkan perijinan mereka, dan menggunakan ijin tidak sah tersebut untuk melakukan apa yang menjadi tujuannya. Pada titik ini, penyerang mungkin sudah memiliki kendali root terhadap workstation miliknya sendiri dan milik korban.

Penyerang menaikkan level akses mereka untuk mendapatkan tools, mungkin menggunakan File Transfer Protocol (FTP) atau Trivial FTP (TFTP). Penyerang yang lebih handal menggunakan Secure Copy (SCP) atau enkripsi turunan lainnya, dengan hanya dibatasi oleh level perijinan yang mereka miliki saat ini. Penyerang yang paling handal mentransfer tools milik mereka melalui socket yang sama yang digunakan untuk mengeksploitasi korban mereka.

Pada kasus penyerangan kita sekarang ini, ketika dia mendapatkan tools miliknya, tools tersebut akan disimpan dalam sistem baru, yaitu IP address 3. IP address 3 ini adalah mesin lain yang ada di bawah kendali penyerang. Tools dari penyerang akan berisi aplikasi untuk menaikkan level perijinan penyerang, menghapus log yang ada di korban, menambahkan akun tanpa ijin, dan menyamarkan proses, file, dan bukti lain atas keberadaannya yang tidak sah.

Hal yang paling penting adalah, penyerang yang memiliki skill tinggi akan menginstall suatu metode untuk berkomunikasi dengan "dunia luar" yang tersembunyi dari pemilik sah. Saluran komunikasi tersebut mulai dari channel sederhana yang terenkripsi hingga channel yang sangat rumit, membutuhkan kesabaran, metode pengiriman sinyal bandwith rendah. Para professional bidang security menamakan metode akses semacam ini sebagai back doors.

Consolidation (Konsolidasi)

Konsolidasi terjadi ketika penyerang berkomunikasi dengan korban melalui back door. Back door bisa berupa service yang listening terhadap koneksi penyerang. Back door bisa juga berupa sistem tak berstatus yang mengandalkan urutan bagian tertentu dari IP, TCP, UDP atau header protocol lainnya. Pada kasus kita sekarang ini, IP address 4 merupakan IP milik penyerang atau milik agent dari penyerang yang digunakan untuk berkomunikasi dengan korban. Pilihan kedua bisa berupa back door dari penyerang membuat koneksi ke luar menuju alamat IP dari penyerang. Pilihan ketiga adalah dengan membuat koneksi dari korban ke channel Internet Relay Chat (IRC), dimana penyerang memberikan instruksi melalui command IRC. Seringkali penyerang meyakinkan keandalan dari back door yang dibuatnya, kemudian "bersikap tenang", tidak terhubung ke korban dalam jangka waktu tertentu. Penyerang akan kembali menghubungi korban ketika dia yakin tidak ada yang curiga terhadap keberadaannya.

Ketika channel tersembunyi sudah dijalankan oleh penyerang, kemampuan dari analyst untuk mendeteksi traffic semacam ini diuji. Channel tersembunyi yang bagus akan nampak seperti traffic normal dan kadang hanya terdeteksi melalui analisis manual terhadap seluruh traffic. Pada tahap ini, penyerang memiliki kendali penuh terhadap workstation miliknya dan milik target. Batasan yang ada hanyalah penyaringan melalui perangkat interface jaringan antara penyerang dan korban.

Kita mungkin bertanya, kenapa penyerang perlu menginstall back door. Jika penyerang bisa mengakses korban dengan metode exploit, kenapa merubah korban dan memberikan petunjuk keberadaan penyerang? Penyerang menginstall back door karena penyerang tidak bisa hanya mengandalkan metode exploit seperti pada awal penyerangan.

  1. Exploit bisa mengakibatkan crash pada sistem, sehingga perlu install ulang atau merestart service.
  2. Sistem administrator mungkin akan menginstall patch terhadap vulnerability yang ada sebelumnya.
  3. Penyerang lain mungkin akan menyerang korban yang sama dan menginstall patch service yang vulnerable.
Penyerang seringkali "mengamankan" service agar tidak dapat di install patch terhadap service tersebut untuk menjaga kendali mereka terhadap korban. Penggunaan back door cenderung tidak menarik perhatian dari IDS.

Pillage (Penjarahan)

Penjarahan adalah eksekusi dari rencana utama penyerang. Rencana tersebut bisa saja pencurian informasi yang sensitif, membangun landasan untuk penyerangan yang lebih dalam, atau hal lain sesuai keinginan penyerang. Dalam banyak kasus, pada titik ini penyerang akan lebih terlihat oleh network security analyst, sebagaimana menyerang sistem lain akan dimulai dengan tahap reconnaissaince dan eksploitasi. Sayangnya, penyerang yang memiliki tempat berpijak dalam sebuah organisasi tidak perlu melakukan dua tahapan tersebut. Dilihat dari keuntungan penyerang, mereka mungkin mengamati perilaku dan traffic dari user yang sah. Penyerang bisa mengasumsikan identitas user dengan cara mendapatkan perijinan dan menyalahgunakan perijinan tersebut. Karena sebagian besar organisasi berfokus pada deteksi dan pencegahan penyerangan dari luar, penyerang yang sudah berada di dalam dinding pelindung mungkin kurang diketahui.

Sumber:

The Tao of Network Security Monitoring: Beyond Intrusion Detection



Tidak ada komentar:

Posting Komentar