매달 MetaMask 보안 디렉터 Luker가 여러분이 알아야 할 최신 암호화폐 공격과 새롭게 부상하는 위험에 대해 보고합니다.
2023년 1월, MetaMask의 LavaMoat는 보안 도구 상자를 확장했습니다. 재귀적 객체 그래프 분석을 위한 LavaTube를 도입하고, VR 의존성 탐색기를 추가했으며, 전역 스커틀링(global scuttling)을 MetaMask Extension 개발 브랜치에 통합하고, Snow의 크로스 브라우저 지원을 출시했습니다. 한편 Endo는 LavaMoat 방식의 정책 지원을 최종 검토 단계까지 완성했습니다. 위협 측면에서는 피해자의 거래 내역에 유사 주소를 심는 주소 오염(address poisoning) 사기가 확산되었고, 보안 연구자들이 새로운 DeFi 공격 벡터로 읽기 전용 재진입(read-only reentrancy)을 주목했으며, 가짜 게임 다운로드에 숨겨진 원격 접근 트로이목마(RAT)와 가짜 지갑 사이트를 통해 악용된 Chrome 취약점에 대한 경고도 잇따랐습니다. 전체 내용은 아래에서 확인하실 수 있습니다. 그 전에 먼저...
주목할 STEM 선구자: 블레츨리 파크의 암호 해독가이자 Banburismus 실무자, Joan Clarke
Joan Clarke(1917–1996)는 Banburismus를 수행한 것으로 알려진 유일한 여성입니다. Banburismus는 제2차 세계대전 당시 블레츨리 파크에서 Alan Turing이 에니그마 암호 해독 기계의 작업 부하를 줄이기 위해 개발한 순차적 베이즈 암호 분석 기법입니다. 겉으로는 무작위로 보이는 데이터에서 미묘한 통계적 패턴을 감지하는 Clarke의 능력은, 주소 오염 공격에서 정상 주소와 거의 동일한 위조 주소를 구별해야 하는 자기 수탁 지갑(self-custodial wallet) 사용자들이 직면한 과제와 맞닿아 있습니다. Clarke는 전시 정보 활동에 기여한 공로로 1946년 MBE 훈장을 받았습니다.
주소 오염 사기, 유사 지갑 주소로 사용자를 속이다
2023년으로 접어들면서 주소 오염(address poisoning)이 사기 수법으로 주목받기 시작했습니다. 공격자는 피해자의 정상 연락처와 앞뒤 몇 글자가 동일한 지갑 주소를 생성한 뒤, 피해자에게 0 또는 극소량의 토큰을 전송합니다. 이 거래가 피해자의 거래 내역에 남게 되고, 피해자가 나중에 해당 내역에서 주소를 복사할 때 전체 문자열을 확인하지 않고 앞뒤 글자만 맞춰보는 습관에 의존하다가 자신도 모르게 공격자에게 자금을 전송하게 됩니다. 이 사기는 42자리 16진수 주소 전체를 외우는 것이 사실상 불가능하다는 점과, 주소의 앞뒤 부분만 확인하는 일반적인 습관을 교묘히 이용합니다.
편집자 주: MetaMask 주소 오염 탐지 기능이 현재 모든 사용자에게 제공되고 있습니다.
읽기 전용 재진입, 가격 오라클을 노리는 DeFi 공격 벡터로 부상
읽기 전용 재진입(read-only reentrancy)은 고전적인 재진입 공격의 변형으로, 2023년 1월 Solidity 개발자들 사이에서 주목도가 높아졌습니다. 상태를 변경하는 함수를 대상으로 하는 기존 재진입 공격과 달리, 읽기 전용 재진입은 가격이나 잔액을 반환하는 view 함수를 악용합니다. 공격자는 상태 변경 트랜잭션 내 콜백 창이 열린 동안 오래되거나 일관성 없는 데이터를 반환하는 view 함수를 호출하도록 유도하고, 해당 값을 가격 오라클이나 담보 계산에 활용하는 프로토콜이 조작된 가격을 기반으로 동작하게 만듭니다. 보안 연구자 bytes032는 2023년 1월 20일 이 취약점을 분석한 글을 널리 공유했으며, 해당 내용은 새롭게 설립된 Web3Security DAO를 통해 공개되었습니다.
LavaTube, 보안 연구를 위한 재귀적 JavaScript 객체 그래프 탐색 기능 제공
LavaMoat는 @lavamoat/lavatube를 도입했습니다. 이 도구는 JavaScript 객체 그래프에서 지정된 시작 참조로부터 접근 가능한 모든 값의 모든 속성을 재귀적으로 탐색합니다. MetaMask 보안 연구팀은 LavaTube를 활용해 위험한 참조 누출을 식별합니다. 이는 격리되어야 할 객체나 API가 의도치 않게 강력한 전역 변수나 민감한 데이터로 이어지는 경로를 노출하는 경우를 말합니다.
LavaMoat, VR 의존성 탐색기·전역 스커틀링·크로스 브라우저 Snow 출시
@lavamoat/viz에 새로운 VR 모드가 추가되어 개발자들이 몰입형 3D 환경에서 프로젝트의 의존성 그래프를 탐색할 수 있게 되었습니다. 또한 전역 스커틀링(global scuttling)이 MetaMask Extension 개발 브랜치에 도입되었습니다. 이 기능은 LavaMoat가 정책 기반 부여(endowment)를 위해 강력한 내장 함수를 캡처한 후 window에서 해당 함수를 제거합니다. 이 기능이 출시되면, 악성 React 컴포넌트가 window에 접근하더라도 강력한 함수들이 이미 제거된 상태임을 확인하게 됩니다. LavaMoat의 영역(realm) 보안 도구인 @lavamoat/snow도 최신 릴리스에서 모든 주요 브라우저를 지원하게 되어, MetaMask가 Chrome과 Firefox 모두에서 모든 영역을 완전히 파악할 수 있게 되었습니다.
Endo, LavaMoat 방식의 정책 지원 및 보안 번들러 검토 단계 진입
Endo 프로젝트는 LavaMoat 방식의 정책 지원 첫 번째 반복 구현의 최종 검토 단계에 도달했습니다. LavaMoat 정책과의 완전한 동등성을 위한 일부 소규모 기능이 남아 있었지만, 호환성을 깨는 변경 사항은 계획되지 않았습니다. eval에 의존하지 않고 스코프를 제어하는 보안 번들러의 초기 구현도 검토 중이었습니다. 이는 JavaScript 모듈 시스템에서 흔히 발생하는 공격 표면을 제거하는 방식입니다.
가짜 게임 다운로드, 원격 접근 트로이목마 유포 경로로 경고
2023년 1월 17일, MetaMask 보안 연구자 harry.eth (@sniko_)는 가짜 게임 다운로드를 통해 배포되는 원격 접근 트로이목마(RAT)의 재확산이 예상된다고 경고했습니다. 이 소셜 엔지니어링 수법은 공격자가 메타버스 게임 프로젝트 관계자로 위장해 게임 클라이언트 "테스트"의 대가로 무료 토큰을 제공하는 방식으로 이루어지며, 해당 클라이언트는 실제로 RAT 설치 프로그램입니다. 설치가 완료되면 공격자는 피해자의 기기에 완전한 원격 접근 권한을 얻게 되고, 이후 DeFi 피싱을 통해 토큰을 탈취하는 것이 일반적인 수순입니다.
Wallet Guard, 가짜 지갑 다운로드 사이트를 통해 악용된 Chrome 취약점 경고
Wallet Guard는 암호화폐 지갑 데이터를 탈취하는 데 악용될 수 있는 Google Chrome 취약점을 문서화한 후, 다운로드 시 주의를 기울일 것을 사용자에게 경고했습니다. 이 취약점은 2022년 11월 29일 Chrome 108에서 수정되었으며, 피해자가 가짜 암호화폐 지갑 웹사이트를 방문해 시크릿 복구 구문(Secret Recovery Phrase)을 "다운로드"하면 공격자가 심볼릭 링크 파일을 악용할 수 있는 구조였습니다. 핵심 지침은 다음과 같습니다. 신뢰할 수 없는 출처에서 임의의 파일을 다운로드하지 마십시오.
MetaMask의 2023년 1월 암호화폐 보안 보고서는 거래 내역에 유사 주소를 심는 주소 오염 사기, 독립적인 DeFi 공격 벡터로 부상한 읽기 전용 재진입, 그리고 JavaScript 객체 그래프에서 위험한 참조 누출을 탐지하기 위한 LavaTube의 LavaMoat 도입을 다루었습니다. 생태계 전반에서 안전을 유지하기 위한 더 많은 위협, 트렌드, 그리고 팁을 확인하려면 MetaMask 암호화폐 보안 보고서의 이전 호를 살펴보세요.