Liminal, a multi-party computation (MPC) wallet provider, released a post-mortem report on the WazirX hack on July 19, claiming that the UI was not responsible for the attack. According to the report, the hack was caused by the compromise of three WazirX devices.
Liminal also claimed that the multi-signature wallet was set up so that WazirX would provide the fourth signature if he provided the other three. This means that an attacker would only need to compromise three devices to carry out the attack. The wallet provider claimed that the wallet was set up this way at WazirX’s direction.
In a July 18 social media post, WazirX claimed that its private keys were protected by a hardware wallet. WazirX said the attack “resulted from a discrepancy between the data displayed on the Liminal interface and the actual content of the transaction.”
According to Liminal’s report, one of WazirX’s devices initiated a valid transaction involving Gala Games (GALA) tokens. In response, Liminal’s servers provided a “safeTxHash” to verify the validity of the transaction. However, the attacker replaced this transaction hash with an incorrect hash, causing the transaction to fail.
In Liminal’s view, the fact that the attackers were able to change the hash means that WazirX’s device was already compromised before the transaction was attempted.
The attacker then initiated two more transactions, one for GALA and one for Tether (USDT). In these three transactions, the attacker used a different WazirX admin account, making a total of three accounts. All three transactions failed.
After initiating these three failed transactions, the attacker extracted the signature from the transaction and used it to initiate a fourth new transaction. This fourth transaction “was crafted so that the fields used to verify the policy were legitimate transaction details” and “used the Nonce from the failed USDT transaction, as that was the most recent transaction.”
The Liminal server used these “legitimate transaction details” to approve the transaction and provide a fourth signature. As a result, the transaction was confirmed on the Ethereum network, and funds were transferred from the shared multisig wallet to the attacker’s Ethereum account.
Liminal denied that the server was responsible for displaying incorrect information through the Liminal UI. Instead, he claimed that the incorrect information was provided by an attacker who compromised the WazirX computer. In response to the question posed, “How could the UI display a value different from the actual payload within the transaction?” Liminal said:
“Based on the logs, and given that the victim’s shared transaction involved three devices sending malicious payloads to Liminal’s servers, we have reason to believe that the local machine was compromised, giving the attackers full access to modify the payload and display misleading transaction details in the UI.”
Liminal also claimed that the WazirX server was programmed to automatically provide a fourth signature once the other three signatures were provided by the WazirX administrator. “Liminal provides the final signature only after receiving the required number of valid signatures from the client side,” Liminal said, adding that in this case, “the transaction was approved and signed by three of the client’s employees.”
The multisig wallet was “deployed by WazirX according to their own configuration long before onboarding to Liminal” and “brought” to Liminal “at WazirX’s request.”
Related: WazirX Breach Postmortem: $230 Million Attack Dismantled
WazirX’s post claimed to have implemented “robust security features.” For example, every transaction had to be confirmed by four out of five keyholders. Four of these keys belonged to WazirX employees and one belonged to the Liminal team. Additionally, three of the WazirX keyholders had to use hardware wallets. WazirX stated that all destination addresses had to be whitelisted in advance, which “Liminal specified and facilitated in the interface.”
Despite all these precautions, the attacker “may have breached these security features and theft occurred.” WazirX called the attack a “force majeure event beyond (its) control.” Still, it vowed, “We are doing everything we can to locate and recover the funds.”
The WazirX attack is believed to have resulted in around $235 million in losses. This is the largest centralized exchange hack since the DMM exploit on May 31, which resulted in an even bigger loss of $305 million.
Magazine: WazirX hackers prepared for attack 8 days in advance, scammers forged fiat for USDT: Asia Express