Skip to content
[ root@retasan:~# Friday, Jul 17, 2026 ]

> Retasan.id_

// Portal Berita Keamanan Siber Terkini

  • Kebijakan & Privasi
  • Kontak Retasan.id
  • Tentang Retasan.
Exploit Development Malware Kebijakan Keamanan Cyberwarfare Tools Data Breach Video Iklan Catatan Pribadi
Exploit Development

Windows ARM64 Internals: Memahami Interrupt Handling pada Arsitektur ARM

// by retasan-news July 17, 2026 4 min read
ARM64 Processor Die

Connor McGarr mempublikasikan deep dive teknis tentang interrupt handling pada Windows on ARM (WoA), membongkar seluruh stack interrupt dari boot-time discovery hingga real-time delivery. Artikel ini menjadi referensi penting bagi peneliti Windows internals yang terbiasa dengan x64 untuk memahami perbedaan fundamental antara interrupt schema di x64 dan ARM64, terutama terkait Generic Interrupt Controller (GIC) yang menggantikan APIC.

APA YANG TERJADI?

Windows on ARM membangun ulang seluruh stack interrupt dari dasar menggunakan ARM’s Generic Interrupt Controller (GIC). Berbeda dengan x64 yang menggunakan APIC, IDT, IDTR, dan KiIsrThunk, WoA menggunakan GICv3 dengan distributor, redistributors per-CPU, CPU interfaces, dan ITS. CPU tidak lagi mengindex IDT secara hardware — interrupt dikirim sebagai asynchronous exception, OS membaca GIC system register untuk mendapatkan interrupt ID, dan software-defined “vector” digunakan untuk lookup object `KINTERRUPT` yang sesuai.

Artikel ini membahas seluruh alur: dari `nt!HalpInitializeInterrupts` dan MADT parsing, melalui validasi GIC distributor dan per-CPU redistributor, hingga dispatch via `VBAR_EL1`, `ICC_IAR1_EL1`, `KiPlayInterrupt`, dan SINT/VMBus chain yang berakhir di synthetic drivers seperti `storvsc.sys`. Dengan ditambahkannya Hyper-V, virtualization-based security, VTL 1, dan synthetic interrupt controller, jalur dispatch WoA terlihat sangat berbeda dari x64.

DETAIL TEKNIS

Empat tipe interrupt utama dalam GIC: SPI (Shared Peripheral Interrupt) untuk interrupt eksternal yang bisa delivery ke processor manapun, PPI (Private Per-Processor) untuk interrupt yang private pada processor tertentu, SGI (Software Generated Interrupt) sebagai versi ARM dari IPI, dan LPI (Locality-specific Peripheral Interrupt) untuk message-based interrupts melalui ITS. Setiap `KINTERRUPT` membawa field `Vector` yang upper byte-nya meng-encode IRQL dan lower nibble-nya meng-index per-CPU IDT (`KPCR->Idt`), membatasi ruang addressable hingga 256 interrupt (16 IRQLs x 16 slots). Tidak ada IDTR-driven hardware vector dispatch di ARM — CPU jump ke `VBAR_EL1` + fixed offset (0x80 untuk EL0 IRQ), lalu software membaca `ICC_IAR1_EL1` untuk mendapatkan INTID dan dispatch ISR.

DAMPAK TERHADAP INDONESIA

Adopsi Windows on ARM semakin meluas dengan hadirnya perangkat seperti Microsoft Surface dan berbagai laptop ARM lainnya. Di Indonesia, perangkat ARM-based mulai diminati karena efisiensi energinya yang cocok untuk iklim tropis dan mobilitas tinggi. Pemahaman mendalam tentang interrupt handling di ARM64 menjadi kritis bagi tim security yang bertugas melakukan reverse engineering, forensik, atau vulnerability research pada perangkat tersebut. Dengan semakin banyaknya device ARM di pasar Indonesia, termasuk di sektor pemerintah dan pendidikan, kemampuan untuk menganalisis dan memahami internals ARM64 menjadi kompetensi yang sangat dibutuhkan.

REKOMENDASI MITIGASI

Pertama, treat ARM64 WoA sebagai target riset terpisah dari x64 — gunakan `VBAR_EL1`, `ICC_IAR1_EL1`, `ICC_EOIR1_EL1`, dan per-CPU IDT (`KPCR->Idt`/`IdtExt`) alih-alih IDTR-style indexing. Kedua, saat melakukan triage driver atau ISR mencurigakan di WoA, walk `nt!HalpRegisteredInterruptControllers` dan `INTERRUPT_LINES` list untuk memastikan object `KINTERRUPT` yang terdaftar berasal dari sumber yang diharapkan. Ketiga, untuk host Hyper-V/VBS-enabled, monitor dan audit penggunaan synthetic interrupts serta VMBus channel registration — ini adalah tempat boundary crossings terjadi. Keempat, identifikasi operating environment (`_EXT_ENV` values) karena kode path yang sama berbeda perilaku antara root partition, guest, dan Secure Kernel.

Analisa Retasan

Deep dive Connor McGarr ini merupakan kontribusi signifikan bagi komunitas Windows internals research. Mayoritas peneliti keamanan Windows tumbup dengan membaca x64 internals — APIC, IDT, IDTR, KiIsrThunk — dan ketika berhadapan dengan ARM64, mental model yang sama tidak langsung berlaku. GICv3 memperkenalkan lapisan abstraksi baru: distributor sebagai “otak” routing interrupt, redistributors per-CPU, dan CPU interfaces yang diakses melalui system registers alih-alih memory-mapped I/O. Pemahaman tentang perbedaan fundamental ini penting tidak hanya untuk vulnerability research, tetapi juga untuk forensik dan incident response.

Yang menarik dari perspektif keamanan adalah bagaimana Hyper-V menambah kompleksitas pada dispatch path. Dengan adanya EL2 (hypervisor level), physical interrupts di-route melalui `HCR_EL2.FMO` dan `HCR_EL2.IMO`, dan virtual interrupts di-inject melalui `ICH_LR_EL2` registers. Synthetic interrupt controller — yang mendasari VMBus — menambah abstraksi lain untuk komunikasi antara root partition, guest partitions, dan VTL 1 Secure Kernel. Ini menciptakan multiple trust boundaries yang harus dipahami oleh attacker maupun defender.

Bagi researcher dan reverse engineer Indonesia yang ingin mendalami Windows ARM64 internals, artikel ini menjadi starting point yang sangat baik. Kombinasi antara WinDbg dumps, disassembly listing, dan penjelasan konseptual memudahkan transisi dari x64 ke ARM64. Komunitas keamanan Indonesia harus mulai membangun kapabilitas riset di arsitektur ARM64 mengingat adopsi perangkat ARM yang terus meningkat di Tanah Air.

Sumber: core-jmp.org — Windows ARM64 Internals: Interrupts on Windows for ARM

Tags: ARM64 GIC Hyper-V Kernel Reverse Engineering Windows Internals
Share:

retasan-news

← Previous LACUNA Chain: Ghost Frames Berhasil Kalahkan Setiap Lapisan Deteksi EDR Call-Stack
Next → Kerentanan Kritis pada Kernel Linux (CVE-2026-43503): Ancaman Privilege Escalation melalui Shared-Frag Marker

Artikel Terkait

CVE-2026-48909: PHP Object Injection pada SP LMS Joomla Berhasil Capai RCE Tanpa Autentikasi

CVE-2026-48909: PHP Object Injection pada SP LMS Joomla Berhasil Capai RCE Tanpa Autentikasi

July 17, 2026
LACUNA Chain: Ghost Frames Berhasil Kalahkan Setiap Lapisan Deteksi EDR Call-Stack

LACUNA Chain: Ghost Frames Berhasil Kalahkan Setiap Lapisan Deteksi EDR Call-Stack

July 17, 2026
DCOM Explained: Bagaimana Attacker Mengubah Fitur Windows menjadi Alat Lateral Movement

DCOM Explained: Bagaimana Attacker Mengubah Fitur Windows menjadi Alat Lateral Movement

July 17, 2026

> leave_comment_

Your email address will not be published. Required fields are marked *

Copyright © 2026 Retasan | retasan.my.id

  • Kebijakan & Privasi
  • Kontak Retasan.id
  • Tentang Retasan.