블록체인의 인기로 인해 점점 더 많은 사용자가 Layer 1에서 트랜잭션을 수행하고 있으며, Layer 1 트랜잭션 속도가 느리고 트랜잭션 수수료가 높아지는 문제가 점차 두드러지고 있습니다. 이러한 상황에서 레이어 2는 레이어 1의 보안 및 탈중앙화 특성에 영향을 주지 않으면서 블록체인 플랫폼의 확장성과 성능을 향상시키는 솔루션으로 간주됩니다. L2BEAT 통계에 따르면, 고유한 특성을 지닌 다양한 기술과 프레임 포함하여 레이어 2 생태계의 총 고정 가치는 현재 395억 달러에 이릅니다.
(https://l2beat.com/scaling/summary)
수년간의 실제 전투 및 보안 연구를 통해 슬로우 미스트 (SlowMist) 보안 팀은 퍼블릭 체인 메인넷 보안 감사 및 심층적인 취약점 마이닝 기술에 대한 대량 경험을 축적했으며, 메인넷 보안 감사 방법을 업계 전체에 공개하여 공동으로 생성할 수 있기를 희망합니다. 더 나은 보안 블록체인 생태계.
보안에는 제한이 없으며 감사 솔루션은 시대에 발맞춰 업계 요구 사항을 지속적으로 충족해야 합니다. 슬로우 미스트 (SlowMist) 보안팀은 업계 발전 동향에 지속적으로 관심을 기울이고, 현재 블록체인 생태계에서 두드러진 보안 문제가 무엇인지, 사용자의 보안 요구 사항이 무엇인지 이해하고, 이를 기반으로 보안 감사 공식화하고 최적화합니다. 계획. 최근 슬로우 미스트 (SlowMist) 보안팀은 퍼블릭 체인 및 레이어 2의 현재 개발 상황을 기반으로 퍼블릭 체인 보안 감사 가이드를 적시에 업그레이드했습니다. 구체적인 보안 감사 계획은 다음과 같습니다.
솔루션 1 메인넷 및 Layer2 프로젝트 보안 감사
메인 네트워크 및 Layer2 프로젝트의 보안 감사 에서 슬로우 미스트 (SlowMist) 보안팀은 실제 공격에 가장 가까운 방식으로 프로젝트에 대한 신속한 보안 테스트를 수행하기 위해 "블랙박스 + 그레이박스" 전략을 채택했습니다.
개인 키 난수 엔트로피가 충분하지 않습니다.
개인 키 시드 변환 정확도 손실
대칭 암호화 알고리즘의 이론적 신뢰성 평가
대칭 암호화 알고리즘은 공급망 보안을 위해 라이브러리를 사용합니다.
키 저장소 암호화 강도 감지
해시 알고리즘 길이 확장 공격
해시 알고리즘의 이론적 신뢰성 평가
서명 알고리즘의 이론적 신뢰성 평가
secp256k1 k-값 무작위성 보안
secp256k1 r 값 재사용 개인 키 클레임 공격
ECC 서명에 대한 가소성 공격
ed25519 개인키 클레임 공격
Schnorr 개인키 클레임 공격
ECC 곡선 공격
머클 트리 가소성 공격(CVE-2012-2459)
기본 기능 허위 충전
계약 통화에 따른 허위 충전
프로토젠 체인 트랜잭션 재생 공격
크로스체인 트랜잭션 재생 공격
트랜잭션 잠금 공격
거래 수수료는 동적으로 조정되지 않습니다.
RPC 원격 키 도난 공격
RPC 포트 식별성
RPC 공개 도메인 간 취약점으로 인해 로컬 피싱 공격이 발생함
JsonRPC 잘못된 패킷 서비스 거부 공격
RPC 데이터베이스 주입
RPC 통신 암호화
과도한 관리자 권한
비프라이버시/비다크코인 감사
코어 노드 수가 부족합니다.
코어 노드의 물리적 위치가 너무 집중되어 있음
P2P 노드의 최대 연결 수 제한
P2P 노드 독립적 IP 연결 제한
P2P 인바운드/아웃바운드 연결 제한
P2P 모핑 공격
P2P 통신 암호화
P2P 포트 식별성
합의 알고리즘의 잠재적 리스크 평가
차단 시간 오프셋 공격
광부 연삭 공격
PoS/BFT 이중 서명 페널티
옵션 2 소스 코드 보안 감사
소스 코드 보안 감사"화이트 박스" 전략을 사용하여 프로젝트의 관련 소스 코드에 대해 가장 포괄적인 보안 테스트를 수행하는 것을 의미합니다. 화이트박스 감사 일반적으로 자동화된 정적 코드 분석과 수동 분석의 조합이 필요합니다.
정적 소스 코드 분석
슬로우 미스트 (SlowMist) 보안 팀은 오픈 소스 또는 상용 코드 스캔 도구를 사용하여 코드를 정적으로 스캔하고 발견된 문제를 수동으로 분석합니다. C/C++/Golang/Rust/Java/Nodejs/C#과 같은 널리 사용되는 언어를 모두 지원합니다. 우리가 조사하는 정적 코딩 문제는 다음과 같습니다.
사용되지 않은 변수 또는 가져오기 – 선언되었지만 사용되지 않은 변수 또는 가져온 모듈
코드 형식 문제 - 들여쓰기 불일치, 너무 긴 줄 길이 등
파일, 데이터베이스 연결 등의 리소스가 제대로 닫히지 않았습니다. 닫히지 않았습니다.
매직 넘버 - 명명된 상수 대신 숫자 상수를 사용합니다.
SQL 주입, XSS 및 기타 보안 위험과 같은 잠재적인 보안 취약성
정수 오버플로 – 계산 결과가 정수 유형의 범위를 초과하면 예기치 않은 동작이 발생할 수 있습니다.
부동 소수점 정밀도 문제 – 부동 소수점 표현의 제한으로 인해 계산 오류가 발생할 수 있습니다.
교착 상태 – 다중 스레드 프로그래밍에서 스레드는 서로 리소스를 해제하기를 기다리며 멈춰 있습니다.
경쟁 조건 – 다중 스레드 또는 동시 환경에서 프로그램의 동작은 제어할 수 없는 실행 순서에 따라 달라집니다.
메모리 누수 – 동적으로 할당된 메모리가 올바르게 해제되지 않아 프로그램이 차지하는 메모리가 계속 증가합니다.
무한 재귀 – 재귀 함수에는 올바른 종료 조건이 없어 스택 오버플로가 발생합니다.
문자열 형식 지정 취약성 - 안전하지 않은 문자열 형식 지정은 보안 문제로 이어질 수 있습니다.
0으로 나누기 오류 - 나누기 연산 중에 제수가 0인지 확인하지 않음
널 포인터 역참조 – 널 포인터가 가리키는 메모리 위치에 액세스하려고 시도합니다.
버퍼 오버플로 – 용량을 초과하는 버퍼에 데이터를 쓰면 잠재적으로 보안 취약점이 발생할 수 있습니다.
유형 변환 오류 – 부적절한 유형 변환으로 인해 데이터가 손실되거나 잘못된 결과가 발생할 수 있습니다.
키 또는 민감한 정보를 하드코딩 – 키나 민감한 정보를 코드에 직접 쓰면 보안 리스크 발생할 수 있습니다.
코드 복잡성이 너무 높습니다. 함수나 메서드가 너무 길고 논리적 분기가 너무 많습니다.
코드 복제 – 동일하거나 유사한 코드 세그먼트가 여러 위치에 나타납니다.
불규칙한 명명 – 변수, 함수, 클래스 등의 명명이 불분명하거나 일관되지 않습니다.
불충분하거나 오래된 주석 - 필요한 주석이 누락되었거나 주석이 코드와 일치하지 않습니다.
높은 수준의 결합 – 모듈 간의 종속성이 복잡하여 유지 관리 및 확장이 어렵습니다.
낮은 응집력 – 모듈 이나 클래스의 기능이 충분히 집중되지 않고 책임이 명확하지 않습니다.
부적절한 예외 처리 - 너무 광범위한 예외 잡기 또는 예외 무시
하드 코딩 – 구성 매개변수 대신 코드에서 직접 상수 값을 사용
일관되지 않은 코드 형식 – 일관되지 않은 들여쓰기, 공백 사용 등
불필요한 루프, 빈번한 객체 생성 등과 같은 성능 문제
낮은 테스트 가능성 - 코드의 단위 테스트나 테스트 통합이 어렵습니다.
단일 책임 원칙, 개방형 폐쇄 원칙 등 디자인 원칙 위반
가독성 저하 – 코드 구조가 혼란스럽고 이해하기 어렵습니다.
안전하지 않은 난수 생성 – 보안 목적에 적합하지 않은 난수 생성 방법을 사용합니다.
시간 및 상태 문제 – TOCTOU(Time-of-check to time-of-use) 취약점 등
경로 탐색 – 파일 경로가 제대로 검증되지 않아 잠재적으로 무단 파일 액세스가 발생할 수 있습니다.
오래된 종속 라이브러리 - 유지 관리가 손실되었거나 보안 취약점이 있는 라이브러리가 도입되었습니다.
수동 코드 검토
슬로우 미스트 (SlowMist) 보안팀은 코드를 한 줄씩 검사하여 코딩 결함과 논리 오류를 찾아냅니다. 주로 중점을 두는 취약점의 범위는 다음과 같습니다.
암호화 서명 보안
계정 및 거래 보안
RPC 보안
P2P 보안
합의 보안
업무 로직 보안
솔루션 3: 애플리케이션 체인 보안 감사
슬로우 미스트 (SlowMist) 보안 팀은 "화이트 박스" 전략을 채택하여 프로젝트에 대한 포괄적인 보안 테스트를 수행하고 다음과 같은 일반적인 코딩 트랩을 찾습니다.
재생 취약점
취약점 순서
경쟁 조건 취약점
권한 제어 취약점
블록 데이터 종속성 취약점
함수 명시적 가시성
산술 정밀도 바이어스 취약성
악성 이벤트 로그
비동기 통화 안전
현재 우리는 다음을 지원합니다:
Cosmos-SDK 프레임 기반 블록체인 감사
기판 프레임 기반 블록체인 감사
결론
지난 몇 년 동안 Prysm, TON, Mantle, Vision Network, Metis, Acala, Eden 등과 같은 거의 100개에 달하는 유명 퍼블릭 체인 프로젝트가 슬로우 미스트 (SlowMist) 의 다양한 퍼블릭 체인 보안 감사 통과했습니다. 슬로우 미스트 (SlowMist) 또한 Morph, Bitlayer, Merlin Chain, RSS3 Network 등과 같은 잘 알려진 많은 Layer2 프로젝트를 감사 했습니다. 감사 필요한 프로젝트 당사자는 슬로우 미스트 (SlowMist) 보안팀(team@slowmist.com)에 연락해 상담과 협력을 받을 수 있습니다.![]()
전체 콘텐츠는 GitHub(https://github.com/slowmist/Cryptocurrency-Security-Audit-Guide)에서 오픈 소스로 제공됩니다. 원본 텍스트를 읽으려면 클릭하여 GitHub로 이동하세요.





