Un'architettura del set di istruzioni, o ISA, è il contratto tra il software e un processore. Definisce le istruzioni che una CPU può eseguire, i registri che espone, come viene indirizzata la memoria e come il codice è rappresentato a livello macchina. Un sistema operativo, un compilatore o un binario creato per una ISA non può essere eseguito invariato su un'altra ISA senza traduzione o emulazione.
Nella sicurezza informatica, la ISA è importante perché malware, exploit e strumenti difensivi sono spesso specifici dell'architettura. Gli aggressori possono distribuire payload diversi per x86, ARM o IA-64, e lo shellcode deve corrispondere al set di istruzioni di destinazione per eseguirsi correttamente. I difensori si affidano alla conoscenza della ISA per fare reverse engineering dei binari, costruire sandbox ed emulare sistemi legacy quando l'hardware reale non è disponibile. Comprendere la ISA aiuta gli analisti a identificare percorsi di codice compatibili, rilevare l'offuscamento e ispezionare in sicurezza software creato per piattaforme rare o obsolete.


