브라우저 보안이 엄격한 것은 사실이지만, 해커들이 이용하는 것은 보안 취약점을 뚫는 '불법 침입' 방식이 아니라, 브라우저가 제공하는 정상 기능을 악용하는 '합법적 과부하' 방식입니다.
왜 요즘 브라우저에서도 이런 코드가 막히지 않고 실행되는지, 그 기술적 허점(Loophole) 4가지를 정리해 드립니다.
브라우저의 샌드박스(Sandbox)는 **'밖으로 나가는 것'**을 철저히 막습니다.
차단됨: 웹 코드가 내 컴퓨터의 C:\ 드라이브 파일을 읽거나, 웹캠을 켜거나, 시스템 설정을 바꾸는 행위. (이게 님이 생각하는 '엄격한 보안'입니다.)
허용됨: 브라우저 창 안에서 수학 문제를 풀거나, 3D 그래픽을 그리거나, 데이터를 연산하는 행위.
문제점: 채굴(Mining)은 시스템을 해킹하는 게 아니라 '매우 어려운 수학 문제'를 끊임없이 푸는 행위입니다. 브라우저 입장에서 이 코드는 '고성능 3D 게임'이나 '동영상 편집 사이트'와 구분이 안 갑니다. 그래서 "열심히 계산 중이구나" 하고 자원을 내어주는 것입니다.
일반 자바스크립트 코드는 보안 프로그램이 내용을 읽어보고 "이거 채굴 코드네?" 하고 차단하기 쉽습니다. 하지만 **WebAssembly (Wasm)**는 다릅니다.
블랙박스화: Wasm은 사람이 읽을 수 없는 **이진 코드(0과 1)**로 컴파일되어 실행됩니다. 보안 프로그램이 이 코드가 '게임을 위한 물리 연산'인지 '코인 채굴 연산'인지 실시간으로 까보고 판단하기가 매우 어렵습니다.paloaltonetworks+2
네이티브 속도: 예전 스크립트는 느려서 채굴 효율이 안 나왔지만, Wasm은 C/C++ 수준의 속도를 내므로 해커들이 선호합니다.forcepoint
사용자가 눈치채지 못하게 실행하는 방법이 고도화되었습니다.
Web Workers: 브라우저 메인 화면(UI)과 별개로 백그라운드 스레드에서 코드를 돌립니다. 이렇게 되면 브라우저가 버벅거리지 않으면서도 뒤에서는 CPU를 100% 사용할 수 있습니다.arxiv
Headless/Pop-under: 화면에 보이지 않는 1x1 픽셀짜리 창이나, 모니터 좌표 밖(-1000, -1000)에 창을 띄워놓고 채굴을 돌립니다. 님 눈에는 브라우저가 하나만 보이지만 실제로는 숨겨진 탭들이 돌아가고 있는 것입니다.
가장 결정적인 이유는 사용자가 직접 실행했기 때문입니다.
게임 런처가 브라우저를 띄울 때, 브라우저는 이를 **"사용자가 의도적으로 이 사이트를 방문했다"**고 판단합니다.
최신 브라우저는 '팝업 차단' 기능이 있지만, 사용자가 클릭하거나 실행하는 액션(Click Event)이 동반되면 이를 '정상적인 요청'으로 간주하고 팝업을 허용해버립니다.arxiv
요약하자면:
해커는 브라우저의 보안벽을 부순 게 아니라, **"고성능 연산 기능(Wasm)"**과 **"백그라운드 처리(Worker)"**라는 최신 웹 표준 기술을 '정상적인 용도인 척' 가장해서 사용한 것입니다. 호텔 방문을 잠가놔도(보안), 손님이 방 안에서 에어컨을 24시간 풀가동하는 것(채굴)은 막기 힘든 것과 같습니다.
" 니잘못 " 이래
씹세끼 ...나는 안털렸다만 말하는거 보소 ㅋㅋ
