웜홀 해킹사건 요약

[해킹과정]

솔라나의 load_instruction_at function이 실제 sysvar address를 check하지 않는 버그가 있는데, 웜홀의 signature를 인증하는 컨트랙트는 이걸 사용하고
-> 공격자가 이걸 눈치채서 fake sysvar address를 넣어서 function을 작동시키고
-> 웜홀의 signature 인증을 마음대로 조작할 수 있게 되었고
-> 솔라나의 wormhole ETH를 wrapping하는 컨트랙트를 마치 가디안이 verification한 것처럼 속여서
-> 120k wormhole ETH를 솔라나에서 공짜로 wrapping하고
-> 웜홀 브릿지를 통해 다시 ETH로 다시 환급해서 먹튀한 과정입니다.

[How?]

그럼 공격자가 이걸 어떻게 캐치했냐? 하면
웜홀 dev들은 위 버그 픽스가 포함된 솔라나 툴체인 업그레이드를 1월 13일에 깃험 레포에 push하였고, (정기적 업그레이드)
다음 버전 release 전에 audit될 예정이었습니다.
문제는 위 취약점을 웜홀 dev들은 인식하지 못하고 있었고,
다음 버전 release가 지연되고 있는 상태에서,
약 3주간 오픈 소스로 코드가 공개되어 있었고,
취약점을 파악한 공격자가 공격을 감행한 것으로 보입니다.

[참고]

https://twitter.com/samczsun/status/1489044939732406275
https://twitter.com/samczsun/status/1489044939732406275
https://twitter.com/dmihal/status/1488982240830930960
https://twitter.com/kelvinfichter/status/1489000135069777932
https://twitter.com/wireless_anon/status/1489075372662476800
https://twitter.com/AlexSmirnov__/status/1489044652690968578

--

--

Crypto-infra enthusiasts, especially in interoperability. personal page: c0wjay.xyz

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
c0wjay

c0wjay

Crypto-infra enthusiasts, especially in interoperability. personal page: c0wjay.xyz