Connect with us

Hi, what are you looking for?

HEADLINES

OPINION | How can blockchain applications adapt and adopt software security best practices?

By Stark Riedesel, senior security consultant, Synopsys, Inc.

Though blockchain-native software is in its infancy, the technology races forward to meet more and more use cases.

But the community doesn’t seem to have taken software security principles seriously, as we can see from the recent scan of Ethereum smart contracts that identified 34,200 vulnerable contracts.

For added perspective, a smart contract is a piece of software which contains business logic for moving around balances, or changing the key-value-pairs stored on the blockchain.

Poor choices in the architectural design of the Ethereum Virtual Machine and smart-contract programming languages (e.g., Solidity) mean that even security-conscious developers are susceptible to making simple mistakes with severe consequences. With huge amounts of money being invested in blockchain software startups, the community must make a greater effort to improve the platforms the software is built on.

Considering new threats

Advertisement. Scroll to continue reading.

Traditional tooling for secure software development has not yet adapted to blockchain-centric software. Highly distributed and trustless systems introduce entirely new threats and require new ways of reasoning about software flaws.

New research papers and accompanying tools are released every week, but the community has not yet reached consensus on best practices for developers to work from. Once a vulnerability is found, the unalterable nature of blockchain technology can make patching existing contracts difficult or effectively impossible. Given this inflexibility, we must adopt a more forward-looking approach to security and develop tools and best practices for eliminating bugs before they make their way into the blockchain.

The following software security activities are likely to make their way into every smart-contract development cycle:

1. Secure code frameworks

Developers need audited and proven frameworks for creating secure code from common patterns. This may include safe math operations, authentication and authorization, or monetary transaction handling.

Advertisement. Scroll to continue reading.

2. Static code analysis and code linting

Tools today can identify common code smells and eliminate low-hanging-fruit bugs in Solidity code. In the future these tools must be framework-aware and contain more security-related rulesets.

3. Dynamic code analysis tools

The Maian tool used by National University of Singapore researchers to find the vulnerable smart contracts is an example of hybrid static analysis with concrete execution, which discovers complex flaws that would be missed by traditional static analysis tools lacking symbolic execution. Many new smart-contract analysis tools do not need source code and can be used to scan the entire public blockchain for potentially vulnerable contracts.

4. Threat modeling

Advertisement. Scroll to continue reading.

For nontrivial applications deployed on blockchain technology, organizations need a threat modeling process to systematically identify all components of the system, potential threat actors, and controls provided by the platform. Security teams can then draw conclusions about the overall security of the system and where additional security measures can be added to compensate for identified threats.

5. Secure governance and policy creation

Traditionally, blockchain contracts were inalterable, and users put their trust in the veracity of contract code. Today, no contract is safe from hacks and bugs, so contract vendors need to create policies around consumer and asset protection. Smart-contract developers also must consider policies for patching live contracts and methods for handling incident response.

Advertisement
Advertisement
Advertisement

Like Us On Facebook

You May Also Like

HEADLINES

Held over three days under the theme Decoded: Deployed, the fourth edition marked a turning point in the country's digital transformation.

HEADLINES

"Every great economy is built on trust. What blockchain gives us is the infrastructure to make that trust verifiable, scalable, and impossible to fake,”...

HEADLINES

Bitget has delivered reliable connectivity to more than 7,300 students and over 100 teachers, marking one of the most meaningful digital inclusion efforts in...

HEADLINES

“At Bitskwela, we believe in bridging the gap by tapping into the potential of our already talented Filipino Web2 developers. Our vision is to...

HEADLINES

“Blockchain is more than a buzzword—it’s a governance tool. By leveraging this technology, we can ensure that every peso is accounted for, every transaction...

HEADLINES

Organizations must implement a risk assessment methodology that is aligned with their operational realities – by establishing a clear asset baseline, organizations can engage...

APPS

Experts suggest that the goal of the attackers is to steal cryptocurrency assets from residents of Southeast Asia and China. Users in the Philippines...

White Papers

Nearly 50% of companies paid the ransom to get their data back – the second highest rate of ransom payment for ransom demands in...

Advertisement