ISC2 CISSP (Certified Information Systems Security Professional)Software Development SecurityHard

A legacy application is being modernized, and a key requirement is to ensure that critical business logic remains tamper-proof and executes as intended, even in potentially compromised environments. The development team is exploring methods to achieve this high level of assurance. Which of the following software security mechanisms is BEST suited to protect critical code and data integrity within the application's runtime environment?

  1. AEmploying Trusted Execution Environments (TEEs) to isolate critical computations.
  2. BUtilizing Hardware Security Modules (HSMs) for cryptographic operations and key storage.
  3. CApplying obfuscation techniques to the application's compiled binaries to deter reverse engineering.
  4. DImplementing robust digital signatures for all code modules to verify authenticity.
Show answer & explanation

Correct answer: A. Employing Trusted Execution Environments (TEEs) to isolate critical computations.

Trusted Execution Environments (TEEs) like Intel SGX or ARM TrustZone provide a hardware-based isolated environment within the main processor. This allows critical code and data to execute with integrity and confidentiality guarantees, even if the rest of the operating system or hypervisor is compromised, making it ideal for protecting business logic in untrusted environments.

Why the other options are wrong

  • B. HSMs protect cryptographic keys and operations but don't provide a general isolated execution environment for arbitrary business logic.
  • C. Obfuscation makes reverse engineering harder but does not prevent runtime tampering or provide strong integrity guarantees against a determined attacker with control of the environment.
  • D. Digital signatures verify code authenticity at load time but do not protect against runtime tampering or compromise once the code is executing in memory.

Trusted Execution Environment (TEE)

A secure area of a main processor that provides hardware-backed isolation from the rest of the system, guaranteeing the confidentiality and integrity of code and data loaded within it.

  • Protects against software attacks from the OS/hypervisor.
  • Ensures integrity and confidentiality of critical computations.
  • Examples include Intel SGX, ARM TrustZone.

Memory trick: To truly trust execution, isolate it in a TEE.

More Software Development Security questions