크롬미움 브라우저 노리는 ‘논리 시한폭탄’, 브래시 공격

크롬미움 브라우저 노리는 ‘논리 시한폭탄’, 브래시 공격
Photo by Denny Müller / Unsplash
💡
Editor's Pick
- 크로미움 기반 브라우저 전부 비상
- DOM 연산 과도히 수행하게 해 브라우저 마비
- 공격자 편에서 시간 설정 가능하다는 게 특히 위험

크로미움(Chromium)의 렌더링 엔진인 블링크(Blink)에서 심각한 취약점이 발견됐다. 이를 익스플로잇 하는 데 성공할 경우 수초 만에 브라우저에 충동 오류를 일으킬 수 있다고 한다. 보안 전문가 호세 피노(Jose Pino)라는 인물이 공개한 것으로, 이 취약점에는 현재 브래시(Brash)라는 이름이 붙어 있다.

피노는 브래시에 관한 분석 보고서를 통해 “특정 DOM 연산이 관리되는 방식 내 존재하는 구조적 결함”이라고 설명했다. 그러면서 “짧게는 15초, 길게는 60초 이내에 브라우저를 완전히 마비시킬 수 있다”고 썼다. 물론 여기서 말하는 브라우저는 크로미움을 기반으로 한 브라우저들을 말한다.

DOM 연산?

DOM 연산은 자바스크립트와 프런트엔드 개발에서 자주 나오는 용어다. DOM은 document object model, 즉 ‘문서 객체 모델’을 의미한다. 웹 브라우저가 HTML 문서를 객체 구조로 표현한 것을 말하는 것이다. 예를 들어 HTML 문서 하나가 다음과 같은 내용으로 구성돼 있다고 하자.

인간이 보는 HTML 문서의 예[자료: 더테크엣지]

그런데 이것은 HTML을 만들어내는 사람들이 이해할 수 있는 형태 혹은 구조다. 즉 사람을 위한 문법이 가득한 문서라 할 수 있다. 기계, 즉 브라우저라면 이를 다음과 같은 형태로 이해한다.

컴퓨터(브라우저)가 이해하는 문서의 구조[자료: 더테크엣지]

DOM 연산은, 이런 식으로 기계가 이해하는 구조를 조작하거나 읽어들이는 행위를 의미한다. DOM 연산을 통해 구조를 바꾸면 무슨 일이 일어날까? 우리가 브라우저를 통해 화면으로 보이는 것이 변한다. 화면에 나타나는 것이 변한다는 건, 컴퓨터가 일부 성능을 그것에 쓴다는 뜻이고, 화면을 자주 바꾸면 그만큼 많은 컴퓨팅 자원이 소모된다. DOM 연산이 브라우저의 충돌 혹은 마비 상태를 야기시키는 건 이 때문이다. “브래시는 문건 API 업데이트에 대한 속도 제한이 존재하지 않는 데서 비롯됩니다. 공격자가 초당 수백만 건의 DOM 연산을 수행한다면 CPU 자원이 고갈되거든요.” 피노의 설명이다. 

💡
여기서 잠깐!
크로미움 기반 브라우저 중 대표적인 건 크롬, 에지, 브레이브, 오페라, 비발디 등이다. 파이어폭스와 사파리의 경우 전혀 다른 엔진을 쓰고 있기 때문에 브래시로부터는 비교적 안전한 편이다. 다만 100% 확신할 수는 없고, 정확한 버전과 환경별 분석을 통한 확인이 더 필요하긴 하다.

공격 시나리오

피노가 제안하는 공격 시나리오는 다음과 같은 절차로 진행된다.

1) 해시 생성 : 공격자가 메모리에 512자 길이의 고유한 16진수 문자열 100개를 미래 저장 해 둔다. 이 문자열들은 브라우저 탭의 제목(document.title) 변경을 할 때 활용된다. 일종의 공격 재료라고 할 수 있으며, 공격으로 인한 악영향을 최대치로 뽑아낸다. 고유 문자열이어야 하는 이유는 브라우저가 같은 문자열 반복을 무시하는 ‘최적화’ 기술을 가지고 있기 때문이다. 

2) 문자열 주입 : 준비된 재료를 주입한다. 짧은 간격으로 수천에서 수백만 건 단위의 제목 변경 요청을 보내는 것(즉, DOM 연산)이다. 피노는 ‘초당 2400만 번의 업데이트’를 언급했었다. 브라우저는 이 모든 요청들을 처리하기 위해 단순히 title만 고치지 않는다. UI 스레드와 브라우저 프로세스 사이에 많은 메시지를 생성하게 되는데, 이 때문에 지연이 발생한다. 

3) UI 스레드 포화 : 지연이 발생하다보면 결국 입력도 되지 않고, 과거 입력에 대한 처리도 되지 않는다. 사용자가 접하는 인터페이스가 멈추거나 프로세스가 종료되면서 브라우저가 꺼진다. 2)번 단계를 15~60초 지속하면 이런 일이 일어난다고 피노는 설명한다.

피노는 2)번 단계의 ‘주입’에 관한 기술은 상세히 설명하지 않았다. 실제 공격에 악용될 수 있기 때문이다. 다만 “프로그래밍을 통해 자동화 할 수 있다”고 피노는 짚었다. 그리고 프로그래밍을 하는 김에 “특정 시점에 주입이 시작되도록 조정하는 것도 가능”하다고 덧붙였다. 즉 잠복 시간을 어느 정도 가진 후 가장 치명적일 수 있는 시기에 공격을 실행할 수 있다는 의미다. 

“그렇게 타이밍을 정밀하게 조정할 수 있다는 건 브래시가 단순 디도스 공격에만 사용될 만한 취약점이 아니라는 뜻입니다. 공격자가 밀리 초 단위로 자신이 원하는 대상을 방해할 수 있게 해주기 때문에 브래시는 오히려 ‘시간 설정이 가능한 논리 폭탄’으로 봐야 합니다.” 피노의 주장이다. 

단순 디도스 공격은 공격자가 즉시 트래픽을 폭주시켜 서비스가 마비되도록 하는 것으로, ‘서비스 마비’와 ‘즉시성’ 모두를 핵심으로 가져간다. 현존하는 디도스 방어 기술이 대부분 ‘즉시 발생한다’는 걸 전제하여 만들어지고 있기 때문에 부드러운 대처가 가능하다. 즉시적인 단순 디도스 공격은 경보도 즉시 발생하고, 대응도 빠르게 되며, 따라서 복구도 그리 어렵지 않다.

브래시는 여기서 ‘즉시성’이 바뀐 것으로, 공격 시점 조정을 통해 공격 효과를 극대화시킬 수 있게 된다. 가장 고객이 몰리는 시간만 골라서 자동으로 디도스 현상이 나타나도록 한다든지, 중요 고객과의 약속 시간에 딱 맞게 서비스를 마비시킨다든지, 하는 식으로 ‘전략화시키는 것’도 가능하다. 

시한폭탄과 같은 디도스, 어떻게 막나

브래시의 발견만으로 “앞으로 디도스 공격은 시간까지도 제어하는 형태로 바뀔 것”이라고 결론을 내릴 수는 없다. 그게 대세가 된다 하더라도, 지금의 ‘즉시적인 디도스’ 공격이 사라지지는 않을 것이다. 그럼에도 ‘시간차 디도스 공격’에 대한 방어책을 미리 알아둔다고 해서 손해볼 것은 없다. 

디도스가 발생하는 시간을 공격자가 브래시나 유사 취약점을 통해 제어할 수 있게 된다면, 어떻게 방어해야 할까? 중요한 건 ‘디도스 시한폭탄’이 성립한다는 게 애초부터 위험 요소가 네트워크나 시스템 내에 잠복해 있다는 의미라는 걸 깨닫는 것이다. 위험 요소가 숨어있기 때문에 시간에 맞춰 딱딱 디도스를 일으킬 수 있는 것이다. 그러므로 내부 청소를 평소부터 꾸준히 하는 게 중요하다.

특히 업무상 중요한 시간이나 시기에 맞게 컴퓨팅 파워와 트래픽을 충분히 확보해두는 게 중요하다. 의심 트래픽에 대해 더 확실히 검증하는 절차를 마련하고(캡챠 등), 중요한 행사 등 이벤트가 있을 때 WAF와 트래픽 한도를 잠시 상향시켜두는 것도 괜찮은 대처법이다. 뒷단에서는 로그를 저장해두고, 계속해서 패턴을 분석함으로써 사전 징후를 최대한 찾아내도록 해야 한다. 동시에 ‘그래도 뚫렸을 경우’를 염두에 두고 복구 계획을 만들어두는 것도 필수다.

by 문가용 기자(anotherphase@thetechedge.ai)


인공지능 브라우저의 연패...챗GPT아틀라스까지도
💡Editor’s Pick - 연달아 나오는 인공지능 브라우저들, 하지만 완성도가 문제 - 오픈AI의 챗GPT아틀라스도 간단한 공격에 취약 - 심지어 기본 피싱 보호 기능도 내장돼 있지 않아 출시된 지 얼마 지나지 않은 인공지능 브라우저 ‘챗GPT아틀라스(ChatGPT Atlas)’에서 새로운 취약점이 발견됐다. 익스플로잇에 성공한 공격자는 사용자의 챗GPT 세션 메모리에 악성 명령을 직접 주입할
오픈AI의 새 브라우저, 현재는 프라이버시 침해 도구
💡Editor’s Pick - 야심차게 내놓은 새 인공지능 브라우저인데... - 기존 브라우저들의 보안 문법 대부분 무시 - 심각한 프라이버시 침해 우려돼, 아직 사용 자제해야 오픈AI가 야심차게 내놓은 인공지능 브라우저 챗GPT 아틀라스(ChatGPT Atlas, 이하 아틀라스)에서 심각한 프라이버시 침해 위험 요소가 발견됐다. 문제를 제기한 건 보안 기업 멀웨어바이트(Malwarebyte)인데, 자사

Read more

갑자기 비밀번호 변경하라고? 인스타그램 사용자들 ‘불안’

갑자기 비밀번호 변경하라고? 인스타그램 사용자들 ‘불안’

💡Editor' s Pick - 비밀번호 재설정 요청 메일을 받은 인스타그램 사용자 일부 - 해당 메일은 인스타그램이 보낸 것...피싱 아니었음 - 같은 시기에 다크웹에 올라온 인스타그램 사용자 정보 일부 인스타그램 사용자들이 “비밀번호를 재설정 해달라”는 요청을 인스타그램으로부터 받는 일이 지난 주에 있었다. 해당 메일에 따라 사용자들은 비밀번호를 변경하거나 그대로

By 문가용 기자
토렌트, OSINT로서의 가치 충분

토렌트, OSINT로서의 가치 충분

💡Editor's Pick - 토렌트는 원래 대용량 파일 전송 위한 프로토콜 - 요즘 불법 다운로드의 대명사처럼 쓰이지만, 원래는 합법 기술 - 기업 망에서 토렌트 트래픽 있나 점검할 필요 있어 토렌트 트래픽 혹은 토렌트 메타데이터를 오픈소스 인텔리전스(OSINT)로 활용할 수 있다는 연구 결과가 발표됐다. 네덜란드 틸뷔르흐대학의 연구원 두 명과,

By 문가용 기자
[TE머묾] 이민국에 대항하는 미국 시민들, 한국에도 힌트가 되다

[TE머묾] 이민국에 대항하는 미국 시민들, 한국에도 힌트가 되다

💡Editor's Pick - 각자의 방법으로 ICE의 감시 기술 고발하는 사람들 - 카메라 위치, 단속 요원 움직임 파악해 DB화 후 공유 - 한국의 얼굴 인식 대량 수집 제도에 어떻게 대응할까 이민세관단속국(ICE)이 이민자들만이 아니라 일반 시민들까지도 감시 및 추적한다는 사실이 미국 사회에 급격히 퍼지기 시작하면서 여러 가지 대응책들이

By 문가용 기자
VM웨어 ESXi 제로데이 취약점, 중국 해커들은 오래 전부터 알고 있었다

VM웨어 ESXi 제로데이 취약점, 중국 해커들은 오래 전부터 알고 있었다

💡Editor's Pick - VM웨어 ESXi에서 발견된 세 가지 제로데이 취약점 - 작년 12월에 첫 공격 사례 발표됐으나, 추적해 보니 2024년에도 공격 있어 - 제로데이 미리 알고 있었기에, 피해 점검 더 넓고 깊게 해야 소닉월 VPN을 악용해 VM웨어 ESXi를 노리는 중국 해커들의 악행이 생각보다 오래 전에 시작된 것으로 보인다고

By 문가용 기자