[논문 리뷰] Exploring Security Practices of Smart Contract Developers
이 연구는 29名의 스마트 계약 개발자에 대한 인터뷰와 코드 리뷰를 통해 스마트 계약 개발자의 보안 실천 방식을 조사하였으며, 특히 초보 개발자들 사이에서 보안 인식과 취약점 탐지 능력에 심각한 격차가 있음을 밝혀냈다. 초보 개발자들의 경우 코드 리뷰 과제에서 15%만이 취약점을 식별한 반면, 경력이 많은 개발자들은 55%의 식별률을 보였으며, 이는 블록체인 개발 분야에서 보안 지식 격차를 해소하기 위한 더 나은 교육과 도구 개발의 필요성을 시사한다.
Smart contracts are self-executing programs that run on blockchains (e.g., Ethereum). 680 million US dollars worth of digital assets controlled by smart contracts have been hacked or stolen due to various security vulnerabilities in 2021. Although security is a fundamental concern for smart contracts, it is unclear how smart contract developers approach security. To help fill this research gap, we conducted an exploratory qualitative study consisting of a semi-structured interview and a code review task with 29 smart contract developers with diverse backgrounds, including 10 early stage (less than one year of experience) and 19 experienced (2-5 years of experience) smart contract developers. Our findings show a wide range of smart contract security perceptions and practices including various tools and resources they used. Our early-stage developer participants had a much lower success rate (15%) of identifying security vulnerabilities in the code review task than their experienced counterparts (55%). Our hierarchical task analysis of their code reviews implies that just by accessing standard documentation, reference implementations and security tools is not sufficient. Many developers checked those materials or used a security tool but still failed to identify the security issues. In addition, several participants pointed out shortcomings of current smart contract security tooling such as its usability. We discuss how future education and tools could better support developers in ensuring smart contract security.
연구 동기 및 목표
- 스마트 계약 개발자가 개발 과정에서 보안을 어떻게 인식하고 접근하는지 이해하기.
- 초보자와 경력이 많은 스마트 계약 개발자 간의 보안 실천 방식과 취약점 탐지 능력의 차이를 비교하기.
- 현재 보안 도구, 자원, 교육 지원의 격차를 특정하기.
- 스마트 계약 보안을 위한 더 나은 개발자 도구와 교육 프레임워크 설계에 정보 제공하기.
제안 방법
- 스마트 계약 개발자 29명(초보자 10명, 경력자 19명)을 대상으로 반구조화된 인터뷰를 실시하였다.
- 네 가지 일반적인 취약점을 내포한 스마트 계약에 대한 코드 리뷰 과제를 수행하여 취약점 탐지 능력을 평가하였다.
- 개발자가 코드 리뷰 중 사용하는 단계와 전략을 분석하기 위해 계층적 작업 분석을 적용하였다.
- 기존 보안 도구의 사용, 문서 접근, 사용자 인터페이스의 난이도 등에 관한 데이터를 수집하였다.
- qualitative 응답을 분석하여 보안 인식, 실천 방식, 도구의 한계에 대한 패턴을 도출하였다.
실험 결과
연구 질문
- RQ1스마트 계약 개발자는 스마트 계약의 보안을 어떻게 접근하거나 확보하는가? 그리고 초보자와 경력자 간의 이러한 방식은 어떻게 다를까?
- RQ2개발자들은 어떻게 코드 리뷰를 수행하며, 일반적인 스마트 계약 보안 취약점을 식별하는 데 성공률은 어떠한가?
- RQ3기존 스마트 계약 보안 도구의 인식된 한계는 무엇이며, 개발자 실천에 어떤 영향을 미치는가?
주요 결과
- 초보 개발자들은 코드 리뷰 과제에서 보안 취약점을 식별하는 데 15%의 성공률을 보였고, 경력자들은 55%의 성공률을 기록하였다.
- 많은 개발자, 특히 초보자들은 문서와 보안 도구에 접근했지만 여전히 알려진 취약점을 탐지하지 못했으며, 이는 이해 부족이나 적용 능력 부족을 시사한다.
- 참가자들은 기존 보안 도구가 자주 사용하기 어려우며, 사용자 인터페이스가 열악하고 개발 워크플로에 통합되어 있지 않다고 보고하였다.
- 많은 수의 개발자들이 보안 확보를 위해 외부 감사 또는 제3자에 의존하고 있어, 내부에서의 취약점 탐지에 대한 자신감이 낮음을 나타낸다.
- 많은 초보 개발자들은 테스트넷에 주로 배포하기 때문에 보안을 우선시하지 않으며, 버그가 실제 영향을 주지 않기 때문이다.
- 보안에 초점을 맞춘 테스트넷(의도적으로 취약한 계약 포함)과 같은 더 나은 교육 자료가 강력히 필요하며, 이는 개발자의 인식 향상과 기술 향상에 기여할 수 있다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.