Blockchain smart contracts gained much attention as they removed the need for a third party. These contracts are executed automatically when the predetermined conditions are met. But the loopholes in these smart contracts have attracted hackers. Billions of dollars have been drained out when the canny actors hacked the smart contracts.
Some famous Smart Contract Hacks:
According to research, over 14% of Bitcoin and Ethereum supply have been hacked. Weaknesses in smart contracts was the main reason for most of these hacks.
Let us read about some famous smart contract hacks.
Parity’s Multi-Signature Wallet Hack:
Parity’s Multi-signature wallets were working for the management of Ethereum cryptocurrency. These wallets were the smart contracts that require multiple signatures for transaction approval. The structure seemed to be secure and confidential. But a hacker manipulated the delegate call and fallback function in the smart contract library of multi-signature wallets and stole $30 million worth of Ethereum.
Few months after this hack, a user accidentally exploited a vulnerability in Parity multi-sig smart contract wallets. Removing the library resulted in freezing more than 513770 ETH.
The DAO Hack:
DAO is a decentralized platform that works on smart contracts. DAO established a series of smart contracts. A hacker realized a weakness and exploited the fallback function in the code. This code was exposed to reentrancy. Taking this advantage, he stole $3.6 million ETH.
Risk of Smart Contract Hacking:
Ethereum is the second-largest cryptocurrency platform. According to research conducted in 2018, more than 45% of Ethereum smart contracts are vulnerable to hacking. Three types of contracts, i-e greedy, suicidal, and prodigal, are particularly vulnerable to hacking due to poor coding.
Security Issues in Smart contracts and their Effect:
Many factors such as compiler errors, programming errors and protocol bugs affect intelligent contracts. Different platforms use different programming languages and consensus algorithms. This difference results in various hidden issues, and consequently, many platforms have experienced significant losses due to mistakes in source code.
Some security issues in smart contracts are following:
Reentrancy changes the state of the smart contract during its execution. DAO attack was the result of reentrancy.
Denial of Service Attacks prevents other users from placing their bid.
Integer Overflow attack exploits some ERC20 contracts and generates an excessive number of tokens.
RAM Exploit resultantly creates malicious smart contracts that block RAM from further operations.
Deadlock result in the contract can no longer send or receive funds from the agreement. It means the currency in the contract is lost, just like the Parity multi-signature wallet hack.
Timestamp Dependence in which the time of execution of smart contracts is maliciously altered. It will affect the correctness of the smart contracts.
Remote Code Execution allows attackers to use malicious smart contracts using invalid values that control the nodes by writing the random address in the memory.
Security Techniques to Protect Smart Contracts:
Following are the few primary security analysis tools which can be used to find vulnerabilities in smart contracts.
Slither is a static analysis framework that is created against bugs in smart contracts. Some of its other features are automated optimization detection, automated vulnerability detection, code understanding, and associated code review. It includes a multi-stage procedure to analyze security. The Solidity compiler produces Solidity AST from the source code, which is used as input for Slither.
Slither first obtains necessary information such as CFG and inherent graph of the contract and then converts the entire code to SlithIR. After conversion, analysis is done.
MythX scans EVM-based smart contracts for vulnerability. The analysis techniques of MythX include static, dynamic, and symbolic execution. MythX is basically for supporting DApp developers with the development of smart contracts. Tron, VeChain, Quorum, Rootstock and other EVM-based agreements can take advantage of bug finding feature of MythX.
MythX first requires the development of the code, then a complete suite of analysis is activated. Finally, it generates a thorough analysis report to look for errors.
Manticore is a Solidity audit tool that undergoes symbolic analysis of smart contracts. It traces the input that is terminating a program. It analyzes binaries and Ethereum smart contracts.
Mythril is a security tool that analyses smart contracts written by Solidity to check the errors in code. Mythril executes four steps for security analysis. When a flaw is discovered, input transactions are analyzed to study the possible reasons. It deduces the leading cause of program vulnerability and exploitation.
When a developer produces the source code, Mythril can locate bugs within the code.
Securify is the smart contract vulnerability analyzer tool. It is an automated tool to check the performance of the smart contract. It accepts EVM bytecode for security analysis. When a security violation is observed, Securify produces a command to induce the violation pattern match. When the breach and compliance pattern do not match, it pops up a warning. Securify has analyzed more than 18000 smart contracts.
Zeus examines the validity of the smart contracts. It utilizes abstract interpretation and symbolic model checking to analyze the security of a smart contract. Zeus performs static analysis of smart contract code to perform security analysis. More has 22400 smart contracts have been submitted to Zeus and showed that 94.6% of contracts are vulnerable.
Vandal is a security analysis framework for smart contracts. It is a quick and efficient tool. It has examined more than 141000 smart contracts. Vandal converts EVM bytecode into semantic logic relations. It works on a declarative language called Souffle that helps analyst with the prototype of analysis.
SmartCheck is the security analysis tool for Solidity smart contracts. It checks vulnerability in smart contracts and clarifies the cause of vulnerability with accurate description and recommendations. SmartCheck reviewed 4600 contracts in an experiment and indicated that 99.9% of the analyzed contracts contain some defects, but 63.2% of contracts were highly vulnerable.
Echidna identifies bugs in Solidity code. It only requires the Solidity proposition to perform deep analysis for bugs and provide a clear output. It utilizes different input combinations to break the provided property. It also has some features of Manticore, which allows it to function at the EVM level. Echidna identifies bugs in code during the development process. It utilizes a variety of tools to deal with complex contracts.
Smart Contract Security Audit:
A smart contract audit is also an option for smart contract security. It can help to detect the unexpected and odd vulnerabilities of smart contracts before project deployment. This helps to prevent DeFi hacking.
Audithor, Authio, Blockchain Labs NZ and Bramah systems are the top smart contract auditing companies globally.
The Bottom Line:
Smart contracts play an invaluable part in the evolution of blockchain functionality, having provided solutions for almost every industry from health to business management. These are more cost-efficient and precise than traditional contracts. The removal of dependency on third parties is the most rewarding part of smart contracts.
With the increase in the adoption of smart contracts, it also caught the eye of hackers. Like other technologies, smart contracts are inclined to code errors and hidden vulnerabilities that affect their security. Many factors are responsible for protecting smart contracts; for example, which platform and which testing system you are choosing for your smart contracts.
Years ago, we often heard about hackers hacking a bank server. Similarly, they have exploited smart contracts. But companies have stepped forward to protect against these hacks and breaches.
The tools mentioned above can help significantly to check flaws and secure the contracts. But progress is an ongoing process.
You can also choose insurance for your wallets and smart contracts so that you do not leave empty-handed in case of a hack.
InsurAce platform is a permissionless, blockchain-based DeFi insurance service. InsurAce provides insurance for your smart contracts against hacks enabling users to secure their investments.
Visit now to get insurance for your smart contracts! InsurAce