Blockchain Technology Security and Attacks 4 — Questions and Answers
Question 1: What vulnerability did the 2016 DAO hack on Ethereum exploit?
- Reentrancy: the withdraw function called an external contract before updating the internal balance (Correct answer)
- Integer overflow allowing an attacker to claim more tokens than deposited
- A private key compromise of the DAO's multisig wallet administrators
- A backdoor in the Ethereum compiler that generated incorrect bytecode
Correct answer: Reentrancy: the withdraw function called an external contract before updating the internal balance
The DAO attacker repeatedly called the withdraw function before the balance was updated, draining ~3.6 million ETH through recursive external calls.
Question 2: What is a 'price oracle manipulation' attack in DeFi?
- Artificially moving an asset's spot price on a DEX used as a price reference to exploit lending protocols (Correct answer)
- Bribing oracle node operators to submit false data feeds
- Exploiting round-trip latency between on-chain and off-chain price sources
- Spoofing DNS entries to redirect oracle API calls to attacker servers
Correct answer: Artificially moving an asset's spot price on a DEX used as a price reference to exploit lending protocols
Attackers manipulate the spot price of a token on a DEX (often via flash loans) that a lending protocol uses as an oracle, enabling under-collateralized borrowing.
Question 3: Which consensus attack requires controlling more than one-third of stake in a Proof-of-Stake system?
- Finality delay or safety failure attacks requiring ≥1/3 of stake to prevent or break consensus (Correct answer)
- Double-spend attacks requiring exactly 34% of the network stake
- Sybil attacks requiring 33 separate validator identities
- Long-range attacks requiring 33% historical validator keys
Correct answer: Finality delay or safety failure attacks requiring ≥1/3 of stake to prevent or break consensus
In BFT-based PoS systems like Ethereum's Casper, controlling ≥1/3 of stake lets an attacker prevent finality or, with ≥2/3, revert finalized blocks.
Question 4: What is 'signature malleability' and which Bitcoin transaction issue did it enable?
- Altering a signature's encoding without invalidating it, allowing third parties to change transaction IDs before confirmation (Correct answer)
- Forging digital signatures by exploiting weak elliptic curve parameters
- Reusing the same signature across different transactions on separate chains
- Extending signature length to exceed block size limits and cause transaction rejection
Correct answer: Altering a signature's encoding without invalidating it, allowing third parties to change transaction IDs before confirmation
Signature malleability let attackers tweak ECDSA signatures to produce valid but different transaction IDs (txids), complicating transaction tracking and was central to the MtGox issues.
Question 5: What does 'access control misconfiguration' most commonly allow in smart contract exploits?
- Unauthorized users calling privileged functions like mint, pause, or upgrade due to missing onlyOwner checks (Correct answer)
- Contracts accessing memory outside their allocated storage slots
- External contracts reading private state variables in Solidity
- Users bypassing gas limits on computationally expensive functions
Correct answer: Unauthorized users calling privileged functions like mint, pause, or upgrade due to missing onlyOwner checks
Missing or incorrect modifiers (e.g., onlyOwner) allow arbitrary users to call administrative functions, enabling minting, fund draining, or contract upgrades.
Question 6: How does a 'BGP hijacking' attack threaten Bitcoin mining pools?
- Rerouting internet traffic to intercept pool communications, allowing attackers to steal hashrate or delay block propagation (Correct answer)
- Exploiting the Bitcoin Gossip Protocol to inject false peer announcements
- Using BGP routing to prioritize attacker blocks over honest miner blocks
- Poisoning DNS cache entries for mining pool hostnames via BGP communities
Correct answer: Rerouting internet traffic to intercept pool communications, allowing attackers to steal hashrate or delay block propagation
BGP hijacking can redirect mining pool traffic through attacker-controlled routers, enabling hashrate theft, block withholding, or network partitioning.
Question 7: What is the 'nothing-at-stake' problem in naive Proof-of-Stake implementations?
- Validators can vote on multiple competing forks simultaneously at no cost, undermining consensus (Correct answer)
- Validators with no stake can still participate in block validation if their identity is unverified
- Stakers can withdraw all stake before a slashing event is processed
- Empty blocks can be added to the chain without validators risking any reward loss
Correct answer: Validators can vote on multiple competing forks simultaneously at no cost, undermining consensus
Without slashing, validators lose nothing by supporting every fork, making double-spending trivial; modern PoS systems use slashing to penalize equivocation.
What vulnerability did the 2016 DAO hack on Ethereum exploit?