nerdexam
GIAC

GREM · Question #141

When analyzing a ransomware sample you find code referencing CryptDeriveKey. What does this indicate?

The correct answer is B. Encryption routine. CryptDeriveKey is a Windows CryptoAPI function that derives a symmetric encryption key from a hash or password - its presence in ransomware code directly signals an encryption routine (B), as ransomware uses it to generate the keys that encrypt victim files before demanding…

Static Analysis & x86 Disassembly

Question

When analyzing a ransomware sample you find code referencing CryptDeriveKey. What does this indicate?

Options

  • ACode signing
  • BEncryption routine
  • CPersistence payload
  • DVM introspection

How the community answered

(19 responses)
  • A
    16% (3)
  • B
    74% (14)
  • C
    5% (1)
  • D
    5% (1)

Explanation

CryptDeriveKey is a Windows CryptoAPI function that derives a symmetric encryption key from a hash or password - its presence in ransomware code directly signals an encryption routine (B), as ransomware uses it to generate the keys that encrypt victim files before demanding payment.

Why the distractors are wrong:

  • A (Code signing): Code signing uses certificate-based APIs like CryptSignMessage or SignCode, not key derivation functions.
  • C (Persistence payload): Persistence mechanisms rely on registry keys, scheduled tasks, or startup folder manipulation - no cryptographic key derivation involved.
  • D (VM introspection): VM detection uses timing checks, CPUID instructions, or registry/artifact lookups - entirely unrelated to the CryptoAPI.

Memory tip: Think of "Derive" in CryptDeriveKey as "derive a key to lock files" - ransomware derives keys, then encrypts. Any Crypt* function in malware analysis almost always points to an encryption routine unless the API name specifically references signing or certificates.

Topics

#Cryptographic API#Windows CAPI#Ransomware detection#Static analysis

Community Discussion

No community discussion yet for this question.

Full GREM Practice