Pengantar

Keamanan komputer tidak hanya bergantung pada software. Perangkat keras juga dapat menjadi jalur serangan, salah satunya melalui PCIe DMA (Direct Memory Access) Attack.

DMA memungkinkan perangkat tertentu mengakses memori utama tanpa harus melibatkan CPU untuk setiap proses transfer data. Kemampuan ini meningkatkan performa, tetapi juga dapat menjadi risiko keamanan jika perangkat DMA yang tidak terpercaya memperoleh akses ke memori sistem.

Dalam kondisi tertentu, serangan DMA dapat dimanfaatkan untuk membaca atau memodifikasi data penting di RAM. Karena itu, perlindungan terhadap akses DMA menjadi bagian penting dari keamanan perangkat modern.


Apa Itu PCIe DMA Attack?

PCIe DMA Attack adalah serangan yang memanfaatkan kemampuan perangkat PCI Express untuk melakukan akses langsung ke memori sistem.

Berbeda dari serangan berbasis aplikasi, teknik ini bekerja pada lapisan perangkat keras. Perangkat yang memiliki kemampuan DMA dapat melakukan operasi baca atau tulis ke area memori tertentu tanpa melalui mekanisme akses CPU secara langsung.

Risikonya semakin besar ketika perangkat tersebut terhubung melalui port PCIe yang dapat diakses secara eksternal. Microsoft menjelaskan bahwa perangkat PCIe hot-plug seperti Thunderbolt dan USB4 dapat menjadi jalur drive-by DMA attack jika akses memorinya tidak dibatasi (dikutip dari: Microsoft Learn – Kernel DMA Protection).

baca juga : RADIUS & TACACS+ Protocol: Memahami Perbedaan Dua Protokol AAA untuk Keamanan Jaringan


Bagaimana PCIe DMA Attack Bekerja?

Secara sederhana, serangan dapat terjadi ketika perangkat DMA yang berbahaya memperoleh akses ke sistem.

Beberapa tahapan umumnya meliputi:

  1. Perangkat DMA terhubung ke sistem melalui antarmuka PCIe atau teknologi yang menyediakan akses PCIe.
  2. Perangkat mencoba mengakses memori yang seharusnya tidak dapat diakses secara bebas.
  3. Data dalam RAM dapat dibaca atau dimodifikasi jika tidak terdapat mekanisme isolasi yang memadai.
  4. Informasi sensitif berpotensi terekspos, tergantung pada kondisi sistem dan data yang berada di memori.

Dengan demikian, serangan DMA dapat menjadi berbahaya karena bekerja di bawah lapisan aplikasi yang biasanya menjadi fokus sistem keamanan.


Mengapa Akses RAM Menjadi Risiko?

RAM dapat menyimpan berbagai data yang sedang digunakan sistem. Contohnya adalah informasi proses, struktur kernel, kredensial sementara, maupun material kriptografi yang sedang digunakan.

Jika penyerang berhasil mendapatkan akses DMA tanpa pembatasan, data tersebut berpotensi dibaca atau dimodifikasi. Bahkan, kemampuan menulis ke memori dapat menimbulkan risiko yang lebih serius karena dapat memengaruhi proses yang sedang berjalan.

Namun, dampak sebenarnya tetap bergantung pada konfigurasi perangkat keras, firmware, sistem operasi, serta mekanisme perlindungan DMA yang tersedia.


Peran IOMMU dalam Mencegah PCIe DMA Attack

Salah satu mekanisme penting untuk menghadapi serangan DMA adalah IOMMU (Input/Output Memory Management Unit).

IOMMU berfungsi mengatur dan membatasi alamat memori yang boleh diakses oleh perangkat tertentu. Dengan begitu, perangkat DMA tidak otomatis memiliki kebebasan untuk membaca atau menulis seluruh memori sistem.

Teknologi ini juga memungkinkan penerapan DMA remapping. NIST menjelaskan bahwa DMA remapping pada IOMMU dapat membantu membatasi akses perangkat terhadap area memori tertentu sehingga memberikan isolasi yang lebih baik (dikutip dari: NIST SP 800-125A Rev. 1).


DMA Remapping dan Memory Isolation

DMA remapping memungkinkan sistem memberikan wilayah memori tertentu kepada sebuah perangkat.

Jika perangkat mencoba mengakses area di luar wilayah tersebut, IOMMU dapat memblokir aksesnya. Oleh sebab itu, mekanisme ini menjadi salah satu lapisan pertahanan penting terhadap akses DMA yang tidak sah.

Pada perangkat Windows modern, mekanisme tersebut digunakan melalui Kernel DMA Protection untuk membantu membatasi perangkat eksternal yang memiliki kemampuan DMA.


Cara Mengurangi Risiko PCIe DMA Attack

Perlindungan terhadap DMA sebaiknya dilakukan pada beberapa lapisan. Beberapa langkah yang dapat diterapkan antara lain:

1. Aktifkan IOMMU

Pastikan fitur IOMMU tersedia dan aktif pada firmware perangkat. Pada platform tertentu, fitur ini dapat menggunakan teknologi seperti Intel VT-d atau AMD-Vi.

IOMMU membantu sistem melakukan isolasi serta remapping akses DMA dari perangkat.

2. Gunakan Kernel DMA Protection

Pada perangkat Windows yang kompatibel, Kernel DMA Protection dapat membantu mencegah perangkat eksternal memperoleh akses langsung ke memori secara tidak sah.

Fitur tersebut memanfaatkan IOMMU dan DMA remapping untuk mengontrol akses perangkat terhadap memori sistem.

3. Perbarui Firmware dan Driver

Firmware, BIOS/UEFI, sistem operasi, dan driver perangkat sebaiknya selalu diperbarui.

Pembaruan dapat memperbaiki masalah keamanan sekaligus meningkatkan dukungan terhadap mekanisme isolasi DMA.

4. Batasi Akses Fisik

Serangan DMA memiliki hubungan erat dengan keamanan fisik perangkat. Karena itu, jangan sembarangan menghubungkan perangkat PCIe atau periferal berkemampuan DMA yang tidak dikenal.

baca juga : Resource-Based Constrained Delegation (RBCD): Celah Delegasi Kerberos yang Mengancam Active Directory

Untuk lingkungan perusahaan, akses ke perangkat dan port yang mendukung DMA sebaiknya dikontrol berdasarkan kebijakan keamanan organisasi.

5. Gunakan Perangkat dengan Dukungan DMA Remapping

Perangkat dan driver yang mendukung DMA remapping memberikan lapisan perlindungan tambahan. Sistem dapat membatasi wilayah memori yang boleh digunakan oleh perangkat tersebut.

Pendekatan ini lebih aman dibandingkan membiarkan perangkat DMA memiliki akses memori yang terlalu luas.


PCIe DMA Attack vs Serangan Software

PCIe DMA Attack memiliki karakteristik berbeda dari serangan software biasa.

Serangan software umumnya memanfaatkan kerentanan pada aplikasi, layanan, sistem operasi, atau konfigurasi. Sementara itu, serangan DMA mengeksploitasi kemampuan perangkat keras untuk berinteraksi langsung dengan memori.

Perbedaan tersebut membuat keamanan DMA membutuhkan kombinasi antara hardware security, firmware security, operating system protection, dan physical security.

baca juga : Windows Event Log Tampering: Cara Mendeteksi Manipulasi Jejak Aktivitas di Windows


Kesimpulan

PCIe DMA (Direct Memory Access) Attack merupakan ancaman yang memanfaatkan kemampuan perangkat DMA untuk mengakses memori sistem secara langsung. Jika tidak dikontrol, akses tersebut dapat membuka peluang pencurian atau manipulasi data yang berada di RAM.

IOMMU dan DMA remapping menjadi mekanisme penting untuk membatasi akses tersebut. Selain itu, fitur seperti Kernel DMA Protection, pembaruan firmware, driver yang kompatibel, serta pengamanan fisik perangkat dapat memperkuat pertahanan.

Dengan demikian, keamanan DMA tidak boleh dipandang hanya sebagai masalah perangkat keras. Perlindungan yang efektif membutuhkan kombinasi antara hardware, firmware, sistem operasi, driver, dan kontrol akses fisik.