3 poin oleh GN⁺ 2024-08-26 | 1 komentar | Bagikan ke WhatsApp
  • Pertahanan jaringan berawal dari membuat daftar aset dan menentukan prioritasnya, tetapi permukaan serangan yang sebenarnya terbentuk sebagai graf dependensi keamanan antar-aset
  • Penyerang tidak menyerang aset terkuat secara frontal, melainkan mencari jalur pintas menuju aset bernilai tinggi melalui workstation atau jalur administrasi yang dilindungi lemah
  • Dalam jaringan Windows, faktor seperti metode logon, kredensial, Kerberos TGT, hash NTLM, kata sandi administrator lokal yang sama, dan skrip logon semuanya bisa menjadi edge dalam graf
  • Pembela harus mengubah daftar aset menjadi graf, lalu mengurangi konektivitas melalui segmentasi infrastruktur, silo kredensial, prinsip hak akses minimum, autentikasi dua faktor, dan rotasi kredensial
  • Penyerang mempelajari infrastruktur nyata sepotong demi sepotong, bukan diagram lama; karena itu pembela hanya bisa unggul jika memahami hubungan koneksi dalam jaringan saat ini dengan lebih akurat

Apa yang Terlewat oleh Pertahanan yang Melihat dalam Bentuk Daftar

  • Banyak pertahanan jaringan sudah melenceng sejak sebelum bersentuhan dengan penyerang, karena salah memahami medan pertempuran
  • Pembela berfokus pada melindungi aset, menentukan prioritas, dan menyusunnya berdasarkan workload serta fungsi bisnis
  • Layanan manajemen sistem, basis data inventaris aset, dan spreadsheet BCDR penuh dengan daftar aset
  • Namun, yang sebenarnya harus ditangani pembela bukanlah daftar aset individual, melainkan graf tempat aset-aset terhubung oleh relasi keamanan
  • Penyerang mendarat di salah satu titik graf melalui teknik seperti spearphishing, lalu mencari sistem yang rentan dan bergerak di dalam jaringan
  • Graf ini bukan sesuatu yang diberikan dari luar, melainkan dibuat oleh pembela sendiri yang merancang dan mengoperasikan jaringan

Makna Graf di Dalam Jaringan

  • Graf jaringan adalah himpunan dependensi keamanan yang membentuk kelas ekuivalensi di antara aset
  • Faktor yang memengaruhi graf secara garis besar ada empat
    • Desain jaringan
    • Cara jaringan dikelola
    • Perangkat lunak dan layanan yang digunakan dalam jaringan
    • Perilaku pengguna
  • Dalam contoh domain controller, satu jalur administrasi yang lemah menurunkan tingkat keamanan seluruh aset bernilai tinggi
    • Bob mengelola domain controller dari workstation
    • Jika workstation tersebut tidak dilindungi setara dengan domain controller, domain controller juga dapat dikompromikan
    • Akun lain yang memiliki hak administrator di workstation Bob juga dapat mengompromikan Bob dan domain controller
    • Para administrator itu secara pekerjaan logon ke satu atau lebih mesin lain
    • Jika penyerang mengompromikan salah satunya, terbentuk jalur menuju domain controller

Six Degrees of Mallory: Pergerakan Lateral Mengikuti Graf

  • Penyerang dapat menunggu di mesin yang telah dikompromikan dan menggunakan password dumper seperti mimikatz untuk menunggu logon dari akun bernilai tinggi
  • Klaster di sisi kiri graf contoh adalah satu Terminal Server yang digunakan oleh ratusan pengguna
    • Jika penyerang mengompromikan mesin ini, seiring waktu ia dapat membuang kredensial banyak pengguna
  • Pencarian graf mengungkap beberapa jalur menuju High Value Asset
    • Kompromi Terminal Server membuat User46 dan User128 juga dapat dikompromikan
    • User46 adalah administrator Machine2821, dan User128 adalah administrator Machine115
    • Jika workstation tersebut dikompromikan, User1 dan User34 dapat dikompromikan
    • User1 dan User34 sama-sama administrator High Value Asset
  • Untuk melindungi High Value Asset, semua elemen yang menjadi dependensinya harus dilindungi seketat High Value Asset, dan semuanya membentuk satu kelas ekuivalensi

Relasi yang Membentuk Dependensi Keamanan

  • Dalam jaringan Windows, ketika pengguna melakukan jenis logon tertentu seperti Interactive atau Terminal Server, kredensial pengguna terekspos untuk dicuri jika host dasarnya dikompromikan
    • Yang terekspos bukan hanya kredensial, tetapi juga ekuivalen single sign-on seperti Kerberos TGT dan hash NTLM
  • Dependensi keamanan juga terbentuk dari relasi administrasi sehari-hari
    • Akun administrator lokal yang memakai kata sandi yang sama: setelah membuang kata sandi administrator lokal dari satu sistem, penyerang dapat menggunakannya pada host lain yang memakai kata sandi sama
    • File server dan server pembaruan perangkat lunak yang menyimpan skrip logon yang dijalankan untuk banyak pengguna
    • Print server yang mengirimkan driver printer ke mesin klien saat digunakan
    • Certificate authority yang menerbitkan sertifikat yang valid untuk logon smartcard
    • Administrator basis data yang dapat menjalankan kode dalam konteks server basis data yang berjalan sebagai pengguna berhak istimewa
  • Relasi tidak langsung juga menjadi bagian dari graf
    • Jika mesin yang memiliki kerentanan dikompromikan, penyerang dapat membuat edge baru dalam graf
    • Jika pengguna memiliki akun dengan kata sandi yang sama di dua domain tanpa hubungan kepercayaan, muncul edge tersembunyi di antara domain

Cara Bertahan dengan Mengecilkan Graf

  • Langkah pertama pembela adalah mengubah daftar aset menjadi graf untuk memvisualisasikan jaringan
  • Setelah itu, edge yang tidak diinginkan dan menyebabkan ledakan konektivitas besar harus ditemukan lalu dipangkas dari graf
    • Menerapkan segmentasi infrastruktur dan silo kredensial
    • Mengurangi jumlah administrator, serta meminimalkan hak akses dengan teknik Just-In-Time / Just Enough
    • Menggunakan autentikasi dua faktor untuk memitigasi perpindahan melalui edge tertentu
    • Menerapkan metode rotasi kredensial yang kuat sebagai antisipasi kompromi akun pengguna
    • Meninjau ulang relasi forest trust

Membuat Model Realitas yang Lebih Baik daripada Penyerang

  • Saat memvisualisasikan medan pertempuran, pembela tidak boleh menyerahkan keunggulan kepada penyerang
  • Pembela dapat memiliki informasi lengkap tentang jaringannya sendiri, tetapi penyerang harus mempelajari jaringan sepotong demi sepotong
  • Penyerang mempelajari infrastruktur yang benar-benar ada saat ini, bukan model mental yang tidak akurat, sistem inventaris aset yang tidak lengkap, atau diagram jaringan yang sudah usang
  • Pembela juga harus mengelola jaringan berdasarkan realitas agar lebih dekat dengan pola pikir pembela yang siap

Bacaan Lanjutan

1 komentar

 
GN⁺ 2024-08-26
Pendapat di Hacker News
  • Penyerang biasanya punya satu misi, misalnya membocorkan data penting, membuat target tidak stabil, atau ransomware, dan bisa menelusuri sedalam yang diperlukan sampai misinya tercapai
    Sebaliknya, pembela harus melacak banyak sinyal dan vektor ancaman sekaligus, sehingga mau tidak mau berpikir dalam bentuk daftar, dan karena regulasi mereka juga harus memprioritaskan hal-hal yang wajib ditindaklanjuti
    Kecuali pembela ditempatkan secara acak di berbagai titik dalam graf untuk mencari aktivitas menarik, saya tidak tahu bagaimana pembela bisa berpikir dalam graf. Hal-hal yang diusulkan penulis pun pada akhirnya hanya menjadi sinyal dalam daftar yang harus dicocokkan oleh pembela

    • Saya tidak setuju. Dalam pengalaman saya, red team berulang kali memakai teknik graf untuk memetakan jalur menuju aset bernilai tinggi, sementara pembela sama sekali tidak memikirkan pendekatan seperti itu
      Ketika pembela mengadopsi cara tersebut, mereka bisa mengidentifikasi potensi serangan sebelum red team menjalankannya. Tim yang cerdas akan langsung mengadopsi teknik red team, misalnya merayapi AWS sebagai graf untuk menemukan jalur dari akun bernilai rendah ke akun bernilai tinggi
      Ini bukan soal zero-sum atau perubahan besar, tetapi pembela juga bisa lebih sering berpikir seperti penyerang dan memanfaatkan alat penyerang untuk pertahanan
    • Jika mengambil contoh perlindungan mobil, ada tak terhitung banyaknya serangan terhadap perangkat lunak mobil, tetapi tujuan penyerang yang paling umum adalah pencurian kendaraan
      Maka jalur menuju tujuan itulah yang harus dilindungi, terlepas dari seperti apa jalurnya atau apakah jalur itu terbatas pada perangkat lunak
      Penyerang mungkin bisa mengeksploitasi CVE untuk membuat sistem hiburan mengalami denial of service, tetapi seberapa penting hal seperti itu dalam praktiknya masih patut dipertanyakan
    • “Penyerang biasanya punya satu misi” adalah kesalahpahaman yang umum
      Mayoritas serangan nyata lebih mirip “lihat-lihat dulu apa yang bisa ditemukan, nanti baru pikirkan bagaimana memakainya.” Banyak aktivitas serangan seperti pengumpulan informasi, operasi pengaruh, dan propaganda juga demikian
  • Pembela memakai daftar karena mereka harus mengelola ratusan hingga ribuan aset secara bersamaan. Ketika harus mengelola banyak hal, Anda akan membuat daftar, menelusuri daftar itu, dan menerapkan checklist
    Tentu saja pembela juga harus membuat graf dependensi, tetapi pertama-tama mereka perlu membuat daftar, memastikan daftar itu mutakhir, mengasumsikan kepercayaan terbatas, memastikan resource terisolasi, lalu membuat graf dependensi
    Pembela harus memikirkan daftar dan graf sekaligus sambil mengelola jumlah item yang sangat besar, sedangkan penyerang hanya perlu melihat beberapa hal

    • Dengan kata lain, pemetaan graf aset seharusnya menjadi bagian dari checklist
    • Dalam skenario ini, Anda pada dasarnya mengatakan bahwa daftar adalah fondasi graf, dan itu sendiri merupakan inti argumen penulis sekaligus perbedaan yang halus tetapi penting dalam cara pembela mendekati masalah
      Tanpa wawasan untuk mengubah daftar menjadi graf, pada akhirnya Anda hanya memegang daftar aset inti dan menutup puluhan ribu jalur pendekatan yang tidak terpikirkan dengan cara seperti bermain whack-a-mole
    • Pada akhirnya ini soal perbedaan antara keluasan dan kedalaman
  • Rasanya artikel ini masuk terlalu dalam. Atau mungkin alasannya benar, tetapi penyebabnya keliru. Pekerjaan pembela bukanlah pertahanan itu sendiri
    Keamanan siber bukan pertandingan olahraga dengan tujuan yang jelas dan setara serta posisi yang bergantian, melainkan lebih seperti acara sampingan dan gangguan di sebelah bisnis lain yang sebenarnya ingin dijalankan oleh pembela
    Sebaliknya, seluruh pekerjaan penyerang adalah menyerang sistem. Tidak ada tujuan lain, pemilik sekunder, atau pertimbangan yang akan melemahkan serangan
    Alasan penyerang menang sama seperti alasan Microsoft lebih baik daripada Cisco dalam merilis sistem operasi. Bagi Cisco, sistem operasi adalah sarana, tetapi bagi Microsoft, itu adalah tujuan

    • Framing keamanan siber sebagai acara sampingan di sebelah acara utama sangat bagus
      Ini juga menjelaskan mengapa perusahaan hampir tidak dihukum oleh pasar akibat kebocoran data
    • Menurut saya masalah intinya adalah kebanyakan organisasi menaruh keamanan di ujung paling akhir daftar anggaran
    • Intinya menjadi lebih jelas jika dilihat sebagai: pembela adalah pusat biaya, sedangkan penyerang adalah pusat laba
    • “Seluruh pekerjaan penyerang adalah menyerang sistem, dan tidak ada tujuan lain” tampaknya merupakan kesalahpahaman yang cukup serius
      Serangan siber punya tujuan yang jelas, seperti pencurian data atau gangguan layanan. Ini mungkin benar untuk pelaku amatir yang sekadar ingin merusak dan menciptakan kekacauan, tetapi jika mempertimbangkan aktor negara atau kriminal bermotif uang, sudut pandang itu sepenuhnya meleset
    • Tepat sekali. Ada juga asimetri mendasar. Pembela harus benar dalam segala hal, sementara penyerang hanya perlu menemukan satu kerentanan. Biasanya itu kerentanan berbasis perilaku manusia
  • Rasanya artikel ini justru belum cukup dalam :-)
    “Daftar” adalah representasi ringkas dari komponen, sedangkan “graf” adalah representasi ringkas dari interoperabilitas. Sudut pandang komponen adalah analisis, sementara sudut pandang interaksi belum punya kata yang bagus, tetapi seperti dikatakan artikel, sering kali menjadi permukaan serangan
    Sistem adaptif kompleks memiliki komponen dan message bus, dan yang penting adalah bus ini menyediakan cara bagi komponen-komponen untuk saling beroperasi. Anda bisa menangkap semut satu per satu, tetapi jika benar-benar ingin mencegahnya, Anda harus menghilangkan kemampuan mereka meninggalkan jejak feromon
    Akan bagus jika ada kata seperti “analisis” untuk memahami cara interoperasi. Semacam Gestaltysis?

  • Saya pernah bekerja sebentar di sebuah perusahaan keamanan siber, tetapi tidak bisa mengungkapkan dengan kata-kata mengapa saya tidak menyukai produknya dan mengapa pendekatan perusahaan itu, serta sebagian besar industri ini, pada akhirnya terasa palsu.
    Sekarang saya mengerti. Kami sedang membuat alat untuk mendukung praktik yang paling tidak berguna dalam keamanan siber, yaitu daftar periksa di tingkat organisasi.

    • Meski begitu, kalau tidak bisa menjalankan daftar periksa, hal lain pun tidak bisa dilakukan.
      Di pusat semua aktivitas ada daftar dan jadwal berulang. Kita harus muncul secara rutin dan melakukan hal-hal yang harus dilakukan.
      Tentu saja saya setuju bahwa pada tahap “hal yang harus dilakukan” itu diperlukan pendekatan yang lebih dalam dan lebih baik.
    • Itulah hampir seluruh industri keamanan siber. Perusahaan memakai alat-alat seperti ini sebagai semacam pintu tahan ledakan untuk saling menyalahkan ketika sesuatu terjadi.
      Tujuannya agar bisa berkata, “Kami sudah mengikuti semua daftar periksa, dan perangkat lunak keamanan tidak menangkapnya, jadi ini bukan salah kami.”
      Jika perusahaan benar-benar peduli pada keamanan, mereka akan menyewa red team alih-alih membayar scanner tidak berguna dengan rasio sinyal terhadap derau di bawah 1%.
    • Itu bisa bergantung pada mengapa daftar periksa itu ada, seberapa akurat ia memodelkan hal yang harus dilakukan, dan seberapa ketat ia diikuti.
      Lihat dunia penerbangan: pilot hidup dengan mengandalkan daftar periksa. Itu tidak menjamin masalah tidak akan pernah terjadi saat terbang, tetapi tidak mengikuti daftar periksa atau menyepelekannya adalah resep bencana. Daftar periksa seperti itu dibangun di atas pengalaman mahal selama bertahun-tahun.
      Namun daftar periksa yang ada hanya agar bisa berkata “kami punya daftar periksa”, atau yang tidak ditinjau dan diperbarui secara berkala sesuai kondisi nyata, tidak ada artinya.
    • Lebih tepatnya, keamanan operasional dapat memperkuat postur keamanan, tetapi inti sebenarnya dari keamanan siber bukan hanya menerapkan tindakan, melainkan mempertahankannya seiring waktu. Di situlah daftar periksa diperlukan.
      Banyak perusahaan salah memahami hal ini. Mereka mengira daftar periksa itu sendiri adalah keamanan, padahal sebenarnya daftar periksa hanyalah alat pengingat untuk terus mempertahankan hal-hal yang dulu sudah dilakukan dengan benar. Begitu daftar periksa diperlakukan sebagai tujuan, kita sudah keluar jalur.
  • Dari sudut pandang penetration tester, penyerang juga tidak selalu berpikir dalam bentuk graf.
    Selain BloodHound, saya tidak langsung teringat alat yang memakai graf.
    Dalam keamanan web pun saya tidak terpikir contoh “berpikir graf” yang diterapkan. Sebaliknya, daftar serangan yang perlu diuji sangat besar: https://portswigger.net/web-security/all-topics
    Dan yang akhirnya masuk ke laporan penetration test bukan graf, melainkan daftar tugas. Misalnya SMB signing, jangan memakai akun domain administrator untuk mengelola semua mesin, dan sebagainya.
    Alasan utama ungkapan ini populer adalah karena ia menyentuh ego komunitas hacker. Semacam, “Kamilah pihak yang pintar, sedangkan defender hanya mengutak-atik spreadsheet Excel.”
    Namun ada sepotong kebenaran di dalamnya. Defender bisa menghabiskan banyak waktu untuk hal-hal yang tidak terlalu penting. Misalnya menerapkan CIS benchmark secara manual ke semua server, sementara melewatkan buah yang menggantung rendah yang akan membangun postur keamanan yang kuat.
    Di banyak perusahaan, defender hanyalah administrator sistem yang tidak tahu harus fokus pada apa.

    • Saya paham intinya, tetapi menurut saya penetration tester juga bisa cukup berpikir dalam bentuk graf, termasuk dalam keamanan web.
      Contoh yang langsung terpikir adalah rantai bug. Jika beberapa kerentanan level CVSS 4–7 digabungkan, hasilnya bisa berubah menjadi dampak setara 9,8 seperti eksekusi kode jarak jauh penuh. Menghubungkan bug seperti ini pada dasarnya adalah penelusuran graf melalui elemen kompromi.
      BloodHound itu hebat dan merupakan alat visual yang bagus untuk mengonseptualisasikan graf serangan, tetapi itu hanya salah satu bagian dari proses memahami domain target dari sudut pandang penyerang.
      Alasan penetration test web tidak punya alat serapi BloodHound adalah karena rantai kompromi sulit direduksi begitu saja menjadi bentuk alat. Pada AD, batas keamanan sampai tingkat tertentu sudah dipahami dan dikodekan, sedangkan rantai pada aplikasi web sering kali lebih spesifik ke aplikasi tersebut daripada ke framework dasarnya.
      Item seperti SMB signing atau “jangan mengelola semuanya dengan akun DA” masuk ke laporan penetration test karena itu adalah node yang menyala sangat terang pada tahap sangat awal dalam rantai kompromi. Di dunia nyata, banyak pembobolan terjadi seperti itu.
      Ini bukan karena penetration tester tidak memahami pemikiran graf, melainkan lebih karena node pertama pada graf pada dasarnya sudah berarti kompromi penuh, sehingga sering kali tidak ada alasan untuk menelusuri lebih jauh.
  • Ini kurang lebih hanya versi yang lebih keren dari pernyataan bahwa defender harus menjaga semua titik masuk, sedangkan penyerang cukup menemukan satu kelemahan.

    • Seperti pepatah, pertahanan terbaik adalah serangan yang baik. Microsoft dan Google juga punya proyek keamanan yang mengganggu kelompok peretasan terorganisasi, tetapi mungkin perlu melangkah lebih jauh.
      Misalnya, bukankah mungkin menggunakan honeypot untuk memantulkan eksploit zero-day kembali ke perangkat penyerang? Bisa saja itu dirancang secara sengaja di produk Google, Microsoft, dan lainnya.
      Semacam bertindak sepenuhnya seperti blackhat sambil tetap punya plausible deniability, misalnya memberi ransomware kepada penyerang ransomware.
      Setelah menuliskannya, ini terdengar seperti korporasi jahat mahakuasa dalam fiksi ilmiah, dan perusahaan seperti itu biasanya bahkan sampai membunuh musuhnya.
    • Dengan kata lain, ini adalah asimetri pertahanan.
  • Saya pernah menangani incident response, dan juga punya pengalaman penetration test serta red team. Meski ini ungkapan yang disederhanakan, menurut saya cukup benar, dan tidak harus se-negatif seperti yang dikatakan tulisan itu.
    Pertahanan terdiri dari banyak elemen. Misalnya mengembangkan kontrol yang efektif untuk mengurangi risiko dan dampak insiden keamanan, mengidentifikasi serangan dan kompromi, serta merespons insiden. Daftar standar dan respons bekerja dengan baik.
    Pertahanan juga mencakup keputusan arsitektur yang mengharuskan kita memikirkan graf jaringan untuk merancang kontrol-kontrol tersebut. Bidang pertahanan pun beragam: arsitektur/engineering, manajemen risiko, incident response, keamanan aplikasi, pelatihan, threat intelligence, dan sebagainya.
    Menarik juga bahwa penulis mengisyaratkan bahwa berpikir tentang pertahanan sebagai daftar adalah masalah, lalu menyajikan daftar hal yang perlu dipertimbangkan untuk memperbaiki pertahanan.

  • Alasan penyerang menang adalah karena setelah menemukan kelemahan, mereka hanya perlu berhasil sekali. Defender harus menjaga semuanya sekaligus.

  • Sepertinya setiap jaringan perlu memiliki setidaknya satu honeypot untuk menangkap penyusup. Contohnya kredensial mata uang kripto palsu, penyimpanan kata sandi palsu, dan semacamnya.