쿠키 절도의 종말: 디바이스 바운드 세션 크리덴셜 (DBSC) 이해

발행: (2026년 1월 3일 오전 07:00 GMT+9)
13 분 소요
원문: Dev.to

I’m happy to translate the article for you, but I’ll need the full text you’d like translated. Could you please paste the content (or the portion you want translated) here? I’ll keep the source line unchanged and translate the rest into Korean while preserving the original formatting.

소개: “베어러” 시대의 종말

지난 10년 동안, 무단 계정 접근 및 인증된 웹‑스크래핑의 경제학은 단 하나의 취약한 전제에 의존해 왔습니다: 쿠키는 베어러 토큰이다.
행위자가 유효한 세션 쿠키를 보유하고 있다면—악성코드 유출, Genesis 마켓에서의 구매, 혹은 중간자 공격을 통해 얻었든—그들은 사용자의 신원을 가지고 있는 것입니다. 서버는 쿠키를 제시한 사람이 누구인지는 묻지 않고, 쿠키가 유효한지만 확인합니다.

“소유 = 접근” 모델은 전체 산업을 탄생시켰습니다:

  • InfoStealers(예: RedLine, Lumma)는 매일 수백만 개의 자격 증명을 수집하고, 쿠키를 zip 파일로 묶어 공격자가 새 브라우저 프로필에 쿠키를 복원함으로써 MFA를 우회할 수 있게 합니다.
  • Scraping engineers는 수동으로 설정한 세션을 직렬화하여 수천 개의 헤드리스 워커에 재생함으로써, 비용이 많이 드는 인증 단계와 저비용 데이터 추출 단계를 분리할 수 있었습니다.

그 시대는 끝나가고 있습니다.

Source:

장치‑바인드 세션 자격 증명 (DBSC)

Device‑Bound Session Credentials (DBSC) 의 도입은 웹 보안 아키텍처에 근본적인 변화를 의미합니다.

  • 기원 – Google이 주도하고 W3C를 통해 표준화되었습니다.
  • 목표 – 웹을 베어러 인증에서 소유 증명 인증으로 전환합니다.
  • 메커니즘 – 사용자의 세션을 특정 장치의 하드웨어에 암호학적으로 결합하여, 도난당한 쿠키의 가치를 무효화합니다.

DBSC가 중요한 이유

방어자는 로그인 문(MFA, 패스키)을 강화하는 것이 공격자가 집 열쇠(쿠키) 를 탈취하면 무의미하다는 것을 깨달았습니다. DBSC는 “장치 A” 에서 생성된 세션이 “장치 B” 에서는 수학적으로 유효하지 않도록 보장함으로써 이를 해결합니다. 설사 장치 B가 장치 A의 모든 파일, 쿠키, 헤더를 정확히 복제했더라도 마찬가지입니다.

작동 방식

  1. 하드웨어‑루트 키 쌍

    • 브라우저는 장치의 Trusted Platform Module (TPM) 혹은 동등한 보안 엔클레이브(예: Apple Secure Enclave) 내부에서 공개키/비공개키 쌍을 생성합니다.
    • 비공개키는 내보낼 수 없습니다 – 악성코드가 읽거나 파일에 복사하거나 디버깅 도구로 추출할 수 없습니다.
  2. 서버‑사이드 바인딩

    • 사용자가 로그인하면 브라우저는 공개키 를 서버에 전송합니다.
    • 서버는 이 공개키를 사용자의 세션 레코드와 함께 저장합니다.
  3. 단기 베어러 쿠키

    • 기존 세션 쿠키는 극히 짧은 수명(몇 분 정도)으로 설정됩니다.
    • 쿠키가 만료에 가까워지거나 서버가 챌린지를 발행하면 브라우저가 세션 새로 고침을 수행합니다.
  4. 새로 고침 핸드셰이크

    Browser → DBSC refresh endpoint: request
    Server  → Browser: cryptographic challenge (nonce)
    Browser → TPM: sign(nonce) with non‑exportable private key
    TPM    → Browser: signature
    Browser → Server: signature
    Server  → verifies signature against stored public key
    Server  → issues new short‑lived cookie (if verification succeeds)

    서명 작업은 하드웨어 내부에서 이루어집니다. 시스템 또는 루트 권한을 가진 악성코드라도 비공개키를 내보낼 수 없으며, 해당 특정 머신에서만 TPM에 서명을 요청할 수 있습니다.

공격 시나리오: “Pass‑the‑Cookie” vs. DBSC

전통적인 흐름DBSC‑보호 흐름
1. InfoStealer가 Chrome의 쿠키 DB를 덤프한다.
2. 공격자가 쿠키를 안티‑디텍트 브라우저에 로드한다.
3. 서버가 쿠키를 받아들이고 접근을 허용한다.
1. InfoStealer가 Chrome의 쿠키 DB를 덤프한다 (쿠키는 단명이다).
2. 공격자가 다른 머신의 브라우저에 쿠키를 로드한다.
3. 서버가 쿠키가 만료되었거나 검증이 필요함을 확인한다.
4. 서버가 DBSC 챌린지를 발행한다: “이 세션에 연결된 개인 키로 이 논스를 서명하라.”
5. 공격자의 브라우저는 개인 키를 찾을 수 없다 (키는 피해자의 TPM 내부에 존재한다).
6. 서버가 요청을 거부하고 로그아웃을 강제한다.

Result: 도난당한 쿠키는 **“독이 든 과일”**이 된다—표면상 유효해 보이지만 현장 밖에서 사용되는 순간 사라진다.

엔지니어링 커뮤니티에 대한 시사점

순수 HTTP 클라이언트 (예: requests, httpx)

  • 이러한 클라이언트는 텍스트 기반 헤더와 쿠키만 복제합니다.
  • 이들은 TPM에 접근할 수 없으며 DBSC 서명 프로토콜이나 필요한 암호 원시 연산을 구현하지 않습니다.

결과

  • 도난당한 쿠키를 단순히 재생하는 파이썬 스크립트는 DBSC‑보호 사이트에 대해 즉시 실패합니다.
  • 새 로그인까지 수행하는 스크립트라도 하드웨어에 결합된 키를 생성할 수 없으며, 서버가 신뢰할 수 없습니다— TPM이 장착된 머신에서 그리고 DBSC 사양을 완전히 구현한 경우에만 가능합니다 (이는 쉬운 작업이 아닙니다).

DBSC‑보호 사이트 스크래핑을 위한 필수 접근 방식

  1. 실제 브라우저 인스턴스(Headless Chrome, Puppeteer, Playwright 등)를 사용하여 호스트의 암호 하드웨어와 인터페이스할 수 있게 합니다.
  2. 브라우저가 DBSC 핸드셰이크를 자동으로 관리하도록 허용합니다—키 생성, 챌린지 서명, 쿠키 갱신을 포함합니다.
  3. DBSC를 적용하는 모든 엔드포인트에 대해 순수 HTTP 전용 라이브러리 사용을 피합니다.

TL;DR

  • Bearer‑only 쿠키는 사라지고 있습니다.
  • DBSC는 세션을 하드웨어에 바인딩하여 도난당한 쿠키를 무용지물로 만듭니다.
  • 순수 HTTP 클라이언트는 DBSC를 우회할 수 없습니다; TPM/보안 엔클레이브와 통신할 수 있는 실제 브라우저를 통해 작업해야 합니다.

도구와 워크플로를 이에 맞게 준비하세요—그렇지 않으면 다음 웹 보안 물결이 기존 스크래퍼 스택을 구식으로 만들 것입니다.

Infrastructure Shift

  • Resource Intensity – 이제 1 GB RAM VPS에서 500개의 동시 스레드를 실행할 수 없습니다. 전체 브라우저 컨텍스트가 필요합니다.
  • Device Legitimacy – “Device Farms”가 문자 그대로 구현될 것입니다. Linux 서버에서 Docker 컨테이너로 브라우저를 실행할 경우(대부분 TPM 패스스루가 없기 때문에) DBSC 등록에 실패할 수 있으며, 이로 인해 서버가 “의심스러운” 상태로 전환되거나 로그인 자체를 거부할 수 있습니다.
  • Session Portability – 워커 간에 세션을 회전시킬 수 없습니다. 워커 A가 로그인하면 세션이 워커 A의 가상 TPM에 묶이며, 해당 세션을 워커 B로 옮길 수 없습니다.

Source:

DBSC – 만능 해결책은 아니다

DBSC는 강력한 진전이지만, 보편적인 솔루션은 아니며 아직 모든 곳에 배포된 것도 아닙니다.

브라우저 지원

  • Chrome on Windows – Windows 11에서 TPM이 널리 제공되는 것을 활용하는 주요 드라이버.
  • macOS & Linux – 지원이 점차 나타나고 있지만 아직 파편화된 상태.
  • Firefox & Safari – 현재 표준을 평가 중.

“실시간” 하이잭

  • DBSC는 세션 탈취(세션을 다른 장치로 이동시키는 행위)를 방지합니다.
  • 원격 제어는 방지하지 않습니다.
  • 공격자가 피해자의 머신에 숨겨진 VNC 또는 SOCKS 프록시를 설치하면, 트래픽을 피해자의 브라우저를 통해 라우팅할 수 있습니다.
  • 정품 하드웨어에서 실행되는 브라우저는 DBSC 챌린지를 기꺼이 서명합니다.

이는 공격 벡터를 “로그 탈취”에서 “거주 유지”로 전환시키며, 이는 공격자에게 훨씬 위험하고 규모를 확대하기 어렵습니다.

구현 복잡성

방어자는 인증 백엔드에 상당한 변화를 주어야 합니다:

  1. 키 등록을 처리한다.
  2. 논스를 생성한다.
  3. 대규모로 서명을 검증한다.

이러한 마찰 때문에 DBSC는 초기에는 고가치 대상(구글 계정, 은행, 엔터프라이즈 SaaS)에게 주로 적용될 가능성이 높으며, 이후에 일반 전자상거래로 점차 확대될 것입니다.

결론

Device‑Bound Session Credentials (DBSC)는 세션 관리의 “와일드 웨스트” 시대를 종식시킵니다. 디지털 신원을 물리적 하드웨어에 고정함으로써, 웹 표준 기구는 사실상 이동식 세션 개념을 폐기했습니다.

  • 보안 연구원에게 – 레거시 아키텍처에 대한 현대 암호학의 승리.
  • 스크래핑 엔지니어에게 – 진화의 신호.

보호된 대상에 대한 가벼운 고동시성 HTTP 스크래핑은 곧 사라질 것입니다. 미래는 장치가 속한 규칙을 따르는 무겁고 하드웨어 인식 브라우저 자동화에 있습니다.

Back to Blog

관련 글

더 보기 »

RGB LED 사이드퀘스트 💡

markdown !Jennifer Davis https://media2.dev.to/dynamic/image/width=50,height=50,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%...

Mendex: 내가 만드는 이유

소개 안녕하세요 여러분. 오늘은 제가 누구인지, 무엇을 만들고 있는지, 그리고 그 이유를 공유하고 싶습니다. 초기 경력과 번아웃 저는 개발자로서 17년 동안 경력을 시작했습니다.