EOS Network Foundation

Audit+: Improving the Security of EOSIO Blockchains

Providing an overall framework for security analysis tooling and contract audit for EOSIO-based applications.

EOS Network Foundation
EOS Network Foundation
9 min readJan 22, 2022

--

Chinese/Korean at bottom || 中/韩文在底部 || 하단에 중국어/한국어

Introducing Audit+

With security threats on the rise, the Audit+ working group is providing research and development to ensure a safer and more secure user and developer experience for everyone.

Security is critical for any decentralized application, but it’s one area which is comparatively overlooked in EOS. The Audit+ working group (WG) is led by security experts Slowmist and Sentnl, who are both widely used auditing firms for EOSIO and Solidity smart contract developers. This working group was inspired by Consensys Diligence and was formed because there are comparatively few solutions in the EOSIO ecosystem focusing on security compared to other blockchain technologies.

One of the key issues for the Audit+ team to address will be the self-perpetuating knowledge within developer communities which can only be learned and passed on if tomorrow’s developers are provided with the right tools and documentation today.

The EOSIO core system is brilliantly designed for a security-oriented approach. However, the basics still need to be addressed to ensure that it can first match the standards of other blockchains and then harness the unique elements of EOSIO, such as its robust permissions system, to push it not one, but many steps further.

By looking at the network as it stands and conducting research of other communities, the Audit+ working group has identified a number of key areas of focus that they plan to detail in their upcoming Blue Paper, which will serve as a compilation of their research and provide a roadmap for how EOS can move forward. Some of the topics that Audit+ plans to address include:

Build Automated Open Source Security Auditing Tools and APIs

As things stand, there aren’t any services within the community which can verify that the current smart contract code has been audited and deemed to be secure. EOS also lacks a centralized location for auditors to publish their findings and other information. This creates a significant vulnerability within the system and gives developers limited reassurances that the smart contracts they are working on are totally safe.

Creating more automated and freely available tools could make it easier for individual developers to check the security of their contracts. Although some tooling currently exists, it is neither open source nor free of charge. A robust security platform would be something which virtually no other blockchain has fully achieved, putting EOSIO at the forefront of blockchain security, giving users peace of mind when interacting with EOSIO DApps.

This will have a number of benefits for EOS in that it will enable exchanges to verify the security of each smart contract by verifying that the on-chain hash matches the hash of the last audit performed. Wallets will be able to integrate with APIs using clear standards and provide approval against smart contracts used during interactions. Users will be able to verify the security of applications via wallets or by visiting the front end.

Contract Upgrade Authorizations

A world in which EOS contracts can be deployed on ordinary EOS accounts, and in which the owner has permission to change the contract as he or she pleases, creates a trust issue. How can users trust owners won’t suddenly change the contract to an unaudited version or even take all the funds locked into the contract? Audit+ is looking to identify a way to make this trustless while still ensuring developers can upgrade their contracts.

Software Libraries for Secure Smart Contract Development

As the numbers and total value locked (TVL) of DeFi protocols grow, the risk of attack increases. While developing audits and more secure operations can provide a start in securing the network, there remains a gap in the integration of security. The Audit+ working group plans to lay out a road map for how commonly used smart contract templates could be developed, audited, and open sourced to the wider community to amplify cost savings and security assurances across the entire ecosystem similar to what OpenZeppelin offers for Solidity developers.

This can provide a useful guide enabling even inexperienced developers to create secure smart contracts with the support of these templates and standards — thereby securing the wider network as a whole.

Bug Bounties

Bug bounties can harness the enthusiasm and talents of the community to secure the network. These bounties encourage the hacker community to invest time in analyzing the EOS code base, identifying vulnerabilities and flagging them. These are already in operation in most leading blockchains, but EOS currently lacks any well-defined program on its own. By setting up a well-managed and well rewarded bug bounty program, they believe EOS can attract the best talent in the white hat hacker and security community to identify and flag up the most serious vulnerabilities before they become public.

Knowledge Repository of Common Security Pitfalls When Writing EOSIO Smart Contract

Some of the most common security pitfalls when writing smart contracts are relatively easy to avoid, but only if developers know what they’re looking for. Less experienced developers will be liable to make simple mistakes which can let malicious actors in. Currently there aren’t any actively managed lists of common mistakes and how to avoid them for EOSIO smart contract developers. Having something like this available would give developers a repository of verified information to refer to and may prevent many of the most common and basic vulnerabilities ever appearing in the first place. Some of these initiatives will be easier to get started than others. Some will require time and considerable investment, while others, such as developing a list of common mistakes, can be started immediately.

What’s Next?

The Audit+ Blue Paper is expected to be published before the Chinese New Year and will outline all of their recommendations and initiatives that they believe can immediately change the EOS network for the better. Each of these initiatives will put EOS back on the front foot when it comes to securing the ecosystem against current and future attacks.

The findings and recommendations from the Audit+ working group will reassure developers and build the network’s reputation as a place where it is safe to build dApps and do business.

EOS Network Foundation

The EOS Network Foundation coordinates financial and non-financial support to encourage the growth and development of the EOS Network. We’re harnessing the power of decentralization to chart a coordinated future for the EOS Network as a force for positive global change.

Join the EOS Discord
Follow Us on Twitter

Chinese

Audit+:提升EOSIO区块链的安全性

随着网络安全受到越来越多的威胁,Audit+工作组要确保每个开发者及用户拥有更安全、更有保障的体验。

Audit+工作组介绍

安全性对于任何数字应用来说都是至关重要的,但在EOS中安全性是一个被忽视地领域。

Audit+工作组由来自SlowmistSentnl的安全专家领导,Slowmist和Sentnl是EOSIO及Solidity智能合约开发者常用的安全审计公司。Audit+工作组的成立受到Consensys Diligence的启发,成立该工作组的原因是与其他区块链技术相比,EOSIO生态系统中关注安全的解决方案相对较少。

Audit+团队要解决的关键问题之一是开发者社区内的知识传递,完成知识传递的首要条件是为开发者提供正确的工具和相关文档。

EOSIO核心系统在安全方面的设计非常出色。然而,仍然有一些基本问题需要解决,以确保EOSIO安全设计能够与其他区块链的标准相匹配,而后利用EOSIO的独特元素,比如其强大的权限系统,来推动EOSIO走的更远。

通过审视目前的网络现状,并对其他社区进行深入研究,Audit+工作组已经确定了一些关键的重点领域,他们计划在即将发布的蓝皮书中详细说明这些重点领域,该蓝皮书将作为Audit+工作组研究报告,并提供EOS前进的路线图。 Audit+工作组计划解决的重点领域包括:

开源安全审计API和平台

就目前而言,EOS社区内没有任何服务可以验证当前的智能合约代码是否已经过安全审计。 EOS 还缺乏一个供安全审计员发布审计结果和其他信息的平台。 这会在EOS系统中造成重大漏洞,并且会让开发人员主观的认为正在处理的智能合约是完全安全的。

因此建立源代码验证和审计信息披露平台,能够使社区更容易验证交互的智能合约的安全性。

并将为 EOS 带来许多好处,比如其将使交易所能够通过验证链上哈希值与最后执行审计的哈希值是否相匹配,从而验证每个智能合约的安全性。 钱包将能够使用明确的标准与 API 集成,并针对交互期间使用的智能合约提供批准。 用户将能够通过钱包或访问前端来验证应用程序的安全性。

合约升级授权

EOS 合约可以部署在普通 EOS 账户上,并且所有者有权随意更改合约的会导致产生信任问题。用户如何相信所有者不会突然将合约更改为未经审计的版本,甚至将所有锁定在合约中的资金拿走? Audit+ 正在寻找一种方法来确保开发人员可以升级合约的同时不产生信任问题。

用于安全智能合约开发的软件库

随着 DeFi 协议数量和价值的增长,被攻击的风险也在上升。 虽然开发审计及更安全的操作为保护网络安全提供了一个开端,但在安全集成方面仍然存在很多问题。 Audit+ 工作组计划制定一个路线图,提供如何开发、审核常用的智能合约模板并将其开源给社区,目的是在整个生态系统中加大成本节约和安全保证,类似于 OpenZeppelin 为 Solidity 开发人员提供的服务。

同时提供相关指南,哪怕没有经验的开发人员也可以在这些模板和标准的支持下创建安全的智能合约,最终起到保护整个网络的安全的目的。

漏洞悬赏

漏洞赏金可以充分调动社区的热情和才能来保护EOS网络。 悬赏将鼓励黑客社区花时间去分析 EOS 代码库、识别漏洞并标记漏洞。

漏洞悬赏已经在很多领先的区块链中实施,但 EOS 目前缺乏相关制度。 通过建立一个管理良好且奖励丰厚的漏洞赏金计划, Audit+ 工作组相信 EOS 可以吸引白帽黑客和安全社区中最优秀的人才,在最严重的漏洞公开之前识别并标记出来。

构建自动化的开源安全审计工具和 API

创建更自动化和免费可用的工具可以使开发者更容易检查合约的安全性。 尽管目前存在一些工具,但这些工具不是开源的,也不是免费的。

Audit+ 工作组建议创建一个免费使用、不断维护的开源工具,允许用户检查合约的安全性。目前还几乎没有其他区块链完全实现 一个强大的安全平台,因此构建自动化的开源安全审计工具和 API将使 EOSIO 走在区块链安全的最前沿,让用户在与 EOSIO DApps 交互时高枕无忧。

汇编 EOSIO 智能合约时常见安全陷阱的知识库

在编写智能合约时,有经验的开发中可以避免一些最常见的安全陷阱。但经验不足的开发者将有可能犯一些简单的错误,而这些错误导致安全问题。目前还没有EOSIO智能合约开发的常见错误及问题解决清单。

汇编 EOSIO 智能合约时常见安全陷阱的知识库,将给开发者提供一个可供参考的经过验证的信息,并将防止许多常见基本漏洞的出现。知识库的有些内容需要大量时间和高额投资,但是可以先从制定一个常见错误的清单开始逐步完善。

下一步计划

Audit+ 蓝皮书预计将于下周发布,内容涵盖可以使 EOS 网络变得更好的相关建议和举措。 这些举措中的每一项,都将使EOS在保护生态系统面对当前或未来的攻击时处于领先地位。

来自Audit+工作组的发现和建议将使开发者更加信任EOS,使EOS网络成为一个可以安全建立dApps和开展业务的地方。

请继续关注EOS网络基金会赞助的其他工作组的深入研究。

Wallet+

API+

Core+

EVM+

关于EOS网络基金会

EOS网络基金会是一个非营利性的组织,旨在倾听社区声音、传达社区意愿并扶持社区优质项目发展,成为EOS社区的信息共享桥梁,并为EOS生态提供资金、技术、运营、未来规划、生态构建等关键基础设施支持,进一步发挥EOS作为世界速度最快的治理型区块链的全部潜力。

EOS网络基金会Discord

EOS网络基金会中文Twitter

EOS网络基金会中文Medium

EOS网络基金会中文电报订阅号

EOS网络基金会中文电报群

Korean

Audit+ : EOSIO 블록체인의 보안 향상

Audit+ 소개

Audit+ 워킹 그룹은 보안 위협이 증가함에 따라 모든 사람에게 보다 안전한 사용자 및 개발자 경험을 보장하기 위해 출범되었습니다.

보안은 모든 디지털 애플리케이션에 중요하지만, EOS에서 비교적 간과되는 영역 중 하나입니다. Audit+ 워킹 그룹(WG)은 EOSIO 및 Solidity 스마트 컨트렉트 개발자를 위해 널리 사용되는 감사 회사인 Slowmist 및 Sentnl의 보안 전문가가 주도합니다. 이 워킹 그룹은 Consensys Diligence에서 영감을 얻었으며, 다른 블록체인 기술들에 비해 EOSIO 생태계에 보안에 중점을 둔 솔루션이 상대적으로 적기 때문에 구성되었습니다.

Audit+ 팀이 해결해야 할 주요 문제 중 하나는 개발자 커뮤니티 내의 자체 영구 지식으로, 오늘날 올바른 도구와 문서가 제공되어야만 내일의 개발자들이 이를 학습하고 해당 지식이 전달될 수 있습니다.

EOSIO 코어 시스템은 보안 지향적인 접근 방식을 위해 훌륭하게 설계되었습니다. 그러나 기본 사항을 먼저 다른 블록체인의 표준과 일치하도록 한 다음 강력한 권한 시스템과 같은 EOSIO의 고유한 요소를 활용하여 한 단계가 아닌 많은 단계를 추진할 수 있도록 해야 합니다.

네트워크를 있는 그대로 살펴보고 다른 커뮤니티에 대한 연구를 수행함으로써 Audit+ 작업 그룹은 향후 발표될 청서에서 자세히 설명할, 집중해야 할 여러 주요 영역을 식별했습니다. EOS가 앞으로 나아갈 수 있는 방법에 대한 로드맵. Audit+에서 다룰 예정인 주제는 다음과 같습니다 :

오픈 소스 보안 감사 API 및 플랫폼

현재로써는 커뮤니티 내에 스마트 컨트렉트 코드들이 감사되었고, 안전하다고 판단할 수 있는지를 확인할 수 있는 서비스가 존재하지 않습니다. 또한 EOS는 감사인이 조사 결과 및 기타 정보를 배포할 수 있는 중앙화된 장소가 부족합니다. 이로 인해 시스템 내에 상당한 취약성이 발생할 가능성이 있으며, 개발자들이 작업 중인 스마트 컨트렉트가 완전히 안전하다고 확신 하기에는 제한적인 사항들이 존재합니다.

커뮤니티가 상호 작용하는 스마트 컨트렉트의 보안을 보다 쉽게 검증할 수 있도록 소스 코드 검증 및 감사 정보 공개 플랫폼을 구축하는 것.

이는 온체인 해시가 최신 감사가 수행된 해시와 일치하는지 확인함으로써 거래소가 각 스마트컨트렉트의 보안성을 검증할 수 있도록 한다는 점에서 EOS에 여러 가지 이점을 가져올 것입니다. 지갑은 명확한 표준을 사용하여 API와 통합될 수 있고 상호 작용 시 사용되는 스마트 컨트렉트에 대한 승인을 제공할 수 있게 될 것입니다. 사용자들은 지갑이나 프론트엔드를 통해 애플리케이션들의 보안 관련 사항들을 확인할 수 있게 될 것입니다.

컨트렉트 업그레이드 승인

일반 EOS 계정에 EOS 컨트렉트를 배치할 수 있고, 소유자가 원하는 대로 컨트렉트을 변경할 수 있는 권한이 있는 세계는 신뢰 문제를 야기합니다. 사용자들은 소유주가 갑자기 감사되지 않은 버전으로 컨트렉트을 변경하거나 심지어 컨트렉트에 잠겨있는 모든 자금을 가져가지 않을 것이라고 확신할 방법이 없습니다. Audit+는 개발자가 컨트렉트를 업그레이드할 수 있도록 보장하면서 이를 신뢰할 수 없게 만드는 방법을 모색하고 있습니다.

안전한 스마트 컨트렉트 개발을 위한 소프트웨어 라이브러리

디파이 프로토콜의 숫자와 가치가 커지면서 공격 위험이 높아지고 있습니다. 감사와 관련한 개발과 보다 안전한 운영은 네트워크 보안의 출발점을 제공할 수 있지만, 보안 통합 측면에는 여전히 격차가 존재합니다. Audit+ 워킹 그룹은 OpenZeppelin이 Solidity 개발자에게 제공하는 것과 유사하게 비용 절감 및 보안을 보장할 수 있는 토대를 확대하기 위해 범용 스마트 컨트렉트 템플릿을 개발, 감사 및 오픈 소스 형태로 제공할 수 있는 로드맵을 마련할 계획입니다.

이를 통해 경험이 부족한 개발자도 이러한 형태로 지원된 템플릿 및 표준을 통해, 안전한 스마트 컨트렉트를 생성할 수 있게 되어 전체 네트워크를 폭넓게 보호할 수 있습니다.

버그 바운티

버그 바운티는 네트워크를 보호하기 위한 커뮤니티의 열정과 재능을 이용할 수 있는 방법입니다. 이러한 혜택은 해커 커뮤니티가 EOS 코드 베이스를 분석하고 취약점을 식별하며 플래그를 지정하는 데 시간을 투자하도록 장려할 수 있습니다. 이미 대부분의 주요 블록체인에서 이러한 프로그램이 운영되고 있지만, 현재 EOS 자체에는 잘 정의된 바운티 프로그램이 존재하지 않습니다. 잘 관리되고 충분한 보상이 이루어지는 버그 바운티 프로그램을 마련함으로써, EOS가 화이트 해커와 보안 커뮤니티의 최고급 인재들을 끌어들여 심각한 취약점들이 공개되기 전에 이들을 미리 식별하고 플래그를 달 수 있을 것이라 사료됩니다.

자동화된 오픈 소스 보안 감사 도구 및 API 구축

보다 자동화되고 자유롭게 사용할 수 있는 도구를 만들면 개별 개발자가 컨트렉트의 보안을 더 쉽게 확인할 수 있습니다. 현재 일부 도구들이 존재하지만 오픈소스도 아닐 뿐더러 무료로 제공되지도 않습니다. 잘 유지되고 자유롭게 사용할 수 있는 오픈 소스 도구 제작을 통해, 사용자들은 현재 알려진 취약점에 대해 컨트렉트가 어떻게 작동하는지 확인할 수 있습니다. 강력한 보안 플랫폼은 사실상 어느 블록체인도 충분히 달성하지 못한 것으로, EOSIO를 블록체인 보안의 선두에 올려놓음으로써, 사용자가 EOSIO 디앱과 상호작용을 할 시 그들에게 안도감을 줄 수 있습니다.

EOSIO 스마트 컨트렉트 작성 시 일반적인 보안 위험에 대한 지식 저장소

스마트 컨트렉트를 작성할 때 가장 일반적인 보안 문제 중 일부는 상대적으로 피하기 쉬우나 개발자가 원하는 것이 무엇인지 알고 있는 경우에만 가능합니다. 경험이 적은 개발자들은 단순한 실수를 저지르기 쉽고, 이는 악의적인 행위자들의 타겟이 될 수 있습니다. 현재는 EOSIO 스마트 컨트랙트 개발자들을 위해 적극적으로 관리되는 보편적인 실수 목록 및 이를 피하는 방법에 대한 자료들이 존재하지 않습니다. 이와 같은 기능을 사용할 수 있게 되면 개발자는 참조할 수 있는 검증된 정보의 저장소를 얻게 되며, 처음부터 나타나는 가장 일반적이고 기본적인 취약점 중 많은 부분들을 방지할 수 있게 됩니다. 이러한 이니셔티브 중 일부는 다른 이니셔티브보다 시작하기가 더 쉬울 것입니다. 여기에는 시간 및 상당한 투자가 필요한 부분도 있을 것이고, 일반적인 실수 목록을 작성하는 등 즉시 시작할 수 있는 부분도 존재할 것입니다.

다음은 무엇일까요?

Audit+ 청서는 다음 주에 발간될 예정이며, 이는 즉시 EOS 네트워크를 더 좋게 바꿀 수 있다고 여겨지는 모든 권고사항과 이니셔티브를 개략적으로 설명할 것입니다. 이러한 각각의 이니셔티브는 현재와 미래의 공격으로부터 생태계를 보호할 때 EOS를 다시 전면에 내세울 수 있도록 할 것입니다. Audit+ 워킹그룹이 내놓는 결과 및 권고 사항들은 개발자들을 안심시키고, 디앱을 구축하거나 비즈니스를 행할 때, EOS 네트워크가 안전하다는 평판을 구축할 것입니다.

--

--