원격 브라우저 격리 (RBI, Remote Browser Isolation)란 무엇인가 - 개요와 구현 기술 정리

1. RBI 개요

  • RBI(Remote Browser Isolation)는 사용자의 로컬 환경에서 브라우저를 실행하지 않고, 서버 또는 격리된 원격 환경에서 브라우저를 실행한 뒤 화면만 전달하는 보안 기술이다.
    • 브라우저는 서버 측 격리 환경에서 실행되며, 사용자는 화면 결과만 수신한다.
    • 사용자 입력 이벤트는 서버로 전달되어 원격 브라우저를 제어한다.
RBI 개요 image

1.1. 웹 보안의 한계

  • 오늘날 대부분의 업무는 웹 브라우저를 중심으로 이루어진다.
    • 웹 브라우저는 가장 많이 사용되는 업무 환경이자, 공격자가 가장 먼저 노리는 주요 침입 지점이 되었다.
  • 기존의 웹 보안 체계는 주로 웹 사이트 차단, URL 분류, 악성 코드 탐지 단계에서의 판별 방식에 의존한다.
    • 알려진 위협에는 유효하지만, 신규 피싱이나 미분류 악성 코드에는 한계가 있다.
  • 또한 모든 웹 접근을 사전에 차단하는 것은 현실적으로 불가능하다.
    • 이로 인해 기존 웹 보안 방식만으로는 웹 위협을 근본적으로 차단하기 어렵다는 구조적인 한계가 존재한다.

1.2. RBI의 필요성

  • 원격 브라우저 격리(RBI)는 이러한 한계를 고려하여 접근 방식을 전환한 보안 개념이다.
    • 웹 페이지를 사용자 단말이 아닌 격리된 서버 환경에서 실행하도록 한다.
    • 사용자는 실행 결과만 전달받으며, 웹에 포함된 악성 코드나 취약점 공격은 격리된 환경 내부에서 차단된다.
  • RBI는 차단이 아닌 격리를 통해 웹 접근을 허용하면서도 보안 위험을 최소화한다.
  • 사용자는 기존과 유사한 방식으로 웹을 이용할 수 있으며, 보안은 실행 환경 분리를 통해 구조적으로 강화된다.
    • 이러한 이유로 RBI는 현대 웹 환경에서 보안과 사용성을 동시에 충족하는 현실적인 대안으로 평가된다.

2. RBI 구현 기술 

2.1. Chrome / Chromium

Chrome / Chromium image
  • Chrome 또는 Chromium은 RBI에서 실제 웹 페이지를 렌더링하는 핵심 엔진이다.
  • Headless 모드는 물리적 또는 가상 디스플레이 없이 브라우저를 실행하는 방식으로, 렌더링은 수행되지만 화면을 사용자에게 직접 표시할 수는 없다.
  • 다만, 실시간 사용자 상호작용을 위한 화면 스트리밍과 입력 전달 구조는 기본적으로 포함하지 않는다.
  • 따라서 RBI 환경에서는 단독으로 사용되기보다는, 다른 디스플레이 및 스트리밍 기술과 함께 사용된다.

2.2. Xvfb

Xvfb image
  • Xvfb(X Virtual Framebuffer)는 실제 물리적인 디스플레이 없이도 그래픽 환경을 제공하는 가상 X11 서버이다.
  • 일반적인 브라우저는 화면 출력이 가능한 환경을 필요로 하지만, 서버 환경에서는 이러한 디스플레이가 존재하지 않는다.
  • Xvfb는 이러한 문제를 해결하기 위해 메모리 상에 가상의 화면을 생성한다.
  • 브라우저는 이 가상의 화면을 실제 모니터처럼 인식하여 정상적으로 렌더링을 수행한다.
  • 이를 통해 Headless 모드가 아닌 일반 GUI 모드의 브라우저도 서버 환경에서 실행할 수 있게 된다.

2.3. x11vnc

x11vnc image
  • x11vnc는 X 서버(Xvfb 포함)의 화면을 캡처하여 VNC(Virtual Network Computing) 프로토콜을 통해 외부로 전달하는 역할을 한다.
  • 즉, Xvfb 위에서 실행 중인 브라우저 화면을 실시간으로 읽어들여 네트워크를 통해 전송가능한 형태로 변환한다.
  • 또한 키보드와 마우스 입력 역시 VNC 프로토콜을 통해 전달할 수 있어, 사용자와의 상호작용을 지원한다.
  • 이 방식은 구현이 비교적 단순하다는 장점이 있지만, 전송 효율과 지연(latency) 측면에서는 한계를 가진다.

2.4. noVNC

noVNC image
  • noVNC는 VNC프로토콜을 웹 브라우저에서 사용할 수 있도록 변환하는 클라이언트 기술이다.
  • 기존 VNC는 전용 클라이언트 프로그램이 필요하지만, noVNC는 이를 WebSocket 기반으로 변환하여 일반 브라우저에서도 접근 가능하게 한다.
  • 사용자는 별도의 소프트웨어 설치 없이 웹 페이지에 접속하는 것만으로 원격 브라우저 화면을 확인하고 조작할 수 있다.
  • 이로 인해 RBI 시스템은 접근성이 크게 향상되지만, VNC 기반 구조의 특성상 성능과 확장성에는 제한이 존재한다.

2.5. WebRTC 

WebRTC image
  • WebRTC는 실시간 통신을 위한 표준 기술로, 낮은 지연 시간과 높은 전송 효율을 특징으로 한다.
  • RBI 환경에서는 기존의 VNC 방식 대신 브라우저 화면을 비디오 스트림 형태로 인코딩하여 사용자에게 전달하는 데 활용된다.
  • 또한 사용자 입력 이벤트를 별도의 데이터 채널을 통해 전달함으로써 보다 자연스러운 인터랙션을 제공할 수 있다.
  • WebRTC는 높은 성능을 제공하지만, 시그널링 서버, NAT traversal(STUN/TURN) 등의 추가 구성 요소가 필요하여 구현 난이도는 상대적으로 높은 편이다.

 

3. RBI 구현 방법

  • Remote Browser Isolation은 웹 콘텐츠를 로컬 환경에서 직접 실행하지 않고, 격리된 원격 환경에서 브라우저를 실행한 뒤 그 결과만을 사용자에게 전달하는 보안 구조이다.
  • RBI 시스템은 사용자 영역과 격리된 실행 환경으로 분리되며, 웹 페이지의 실제 실행은 서버 측에서 이루어진다.
  • 이러한 RBI 구조는 단일 기술이 아닌, 다수의 구성 요소가 결합된 형태로 구현된다.

3.1. 구현 기술 결합

  • Browser
    • RBI 환경에서는 웹 페이지를 실제로 처리할 수 있는 브라우저 엔진이 필요하다.
    • 일반적으로 Chrome 또는 Chromium이 사용되며, 해당 브라우저는 HTML, CSS, JavaScript를 해석하고 이를 화면으로 렌더링하는 역할을 수행한다.

  • Virtual Display
    • 서버 환경에는 물리적인 디스플레이가 존재하지 않기 때문에, 브라우저가 화면을 출력할 수 있는 가상 디스플레이 환경을 별도로 구성해야 한다.
    • 이를 위해 Xvfb와 같은 가상 디스플레이 기술이 사용된다. Xvfb는 메모리 상에 가상의 화면을 생성하여, 브라우저가 이를 실제 디스플레이처럼 인식하고 렌더링할 수 있도록 한다.

  • Streaming
    • 가상 디스플레이 상에 렌더링된 화면은 그대로 사용자에게 전달할 수 없으므로, 이를 캡처하여 전송 가능한 형태로 변환하는 과정이 필요하다.
    • 이 역할은 x11vnc 또는 WebRTC와 같은 스트리밍 기술이 담당한다.
    • x11vnc는 X 서버의 화면을 읽어 VNC 프로토콜을 통해 전달하는 방식으로, 구현이 단순하다는 장점이 있다. 다만 지연 시간과 성능 측면에서는 일정한 한계를 가진다.
    • 반면 WebRTC는 화면을 비디오 스트림 형태로 인코딩하여 전송함으로써, 더 낮은 지연과 높은 전송 효율을 제공한다.

  • Client
    • 사용자 측에는 서버에서 전달된 화면을 표시하고, 키보드 및 마우스 입력 이벤트를 다시 서버로 전달하는 클라이언트가 필요하다.
    • noVNC는 VNC 기반 화면 스트림을 웹 브라우저에서 직접 표시할 수 있도록 해주며, WebRTC를 사용하는 경우에는 웹 브라우저 자체가 클라이언트 역할을 수행한다


※ 이처럼 각 구성 요소는 개별적으로 동작 가능한 기술이지만, RBI 시스템에서는 이들이 하나의 파이프라인으로 연결되어 웹 콘텐츠의 실행과 전달 과정을 구성한다.

구현 기술 결합 image

3.2. 구현 방식

  • RBI 시스템은 원격 환경에서 실행된 브라우저의 화면을 사용자에게 전달하는 구조이며, 화면 전달 방식에 따라 구현 방법이 구분된다.
  • 대표적인 방식으로는 VNC기반 방식과 WebRTC기반 방식이 있다.
  • 이들 방식은 동일한 목적을 가지지만, 화면 전송 방식과 성능 특성에서 차이를 가진다.

3.2.1. VNC 방식

VNC 방식 image
  • VNC 기반 방식은 가장 직관적이며, RBI 시스템을 처음 구현할 때 사용되는 전통적인 구조이다.
  • 이 방식에서는 브라우저가 렌더링한 화면을 그대로 캡처하여 VNC프로토콜을 통해 사용자에게 전달한다.
Chrome (GUI)
   ↕
Xvfb (Virtual Display)
   ↕
x11vnc (Capture)
   ↕
noVNC (Web Client)
   ↕
User Browser
  • VNC 기반 방식은 구조가 단순하며 초기 구축이 용이하다는 장점을 가진다.
  • 반면 화면을 픽셀 단위로 전송하므로 네트워크 효율과 지연 측면에서 한계를 가진다.
  • 따라서 해당 방식은 본격적인 서비스보다는 테스트 환경이나 PoC 단계에서 주로 활용된다.

3.2.2. WebRTC 방식

WebRTC 방식 image
  • WebRTC 기반 방식은 VNC의 한계를 해결하기 위해 등장한 방식으로, 현대적인 RBI 시스템에서 주로 사용된다.
  • 이 방식에서는 화면을 단순 이미지가 아니라 비디오 스트림으로 인코딩하여 전송한다.
Chrome
   ↕
Virtual Display (Xvfb)
   ↕
Screen Capture
   ↕
Video Encoder (H264 / VP8)
   ↕
WebRTC Peer Connection
   ↕
User Browser
  • WebRTC 기반 방식은 원격 환경에서 실행되는 브라우저의 화면을 비디오 스트림 형태로 인코딩하여 사용자에게 전달하는 방식이다.
  • 이 방식은 낮은 지연(latency)과 높은 전송 효율을 제공하므로, 대규모 사용자 환경에서도 안정적인 서비스 운영이 가능하다는 특징을 가진다.
  • 반면, 이러한 성능을 제공하기 위해 VNC 기반 방식에 비해 더 많은 구성 요소와 복잡한 처리 과정이 필요하다.
WebRTC 방식 image

Signaling Server
  • Signaling Server는 WebRTC 연결의 시작 단계에서 필수적인 구성 요소이다.
  • WebRTC 프로토콜 자체에는 통신 대상을 탐색하거나 연결을 중개하는 기능이 포함되어 있지 않기 때문에, 세션을 생성하기 위한 정보 교환을 담당하는 별도의 중개 서버가 필요하다.
  • Signaling Server의 주요 역할은 다음과 같다.
    • 클라이언트와 서버 간 연결 정보 교환
    • 세션 생성 및 종료 관리
    • WebRTC연결 초기 설정 지원

STUN / TURN Server

  • WebRTC 구현에서 가장 복잡한 요소는 네트워크 환경 처리이다.
  • 대부분의 사용자와 서버는 NAT(Network Address Translation) 환경 뒤에 위치하며, 이로 인해 직접적인 통신 경로를 확보하기 어려운 경우가 많다.
  • 이를 해결하기 위해 WebRTC에서는 STUN과 TURN 서버를 사용한다.
    • STUN서버: Session Traversal Utilities for NAT
      • NAT 환경 뒤에 있는 클라이언트가 자신의 공인 IP 주소와 포트 정보를 확인하기 위해 사용하는 프로토콜이다. 클라이언트가 자신의 공인 IP 주소와 포트를 확인할 수 있도록 지원한다.
    • TURN서버: Traversal Using Relays around NAT
      • 피어 간 직접 통신이 불가능한 경우, 중계 서버를 통해 미디어와 데이터를 전달하기 위해 사용하는 프로토콜이다. 직접 통신이 불가능한 경우, 중계 서버를 통해 데이터가 전달되도록 한다.

  • 이러한 서버들은 WebRTC 연결의 안정성을 확보하기 위한 핵심 인프라이다.

Stream Encoding

  • WebRTC를 통해 화면을 전달하기 위해서는 단순한 화면 캡처만으로는 충분하지 않다.
  • 브라우저에서 렌더링된 화면은 기본적으로 이미지 형태의 데이터이기 때문에, 이를 그대로 전송할 경우 대역폭 소모가 매우 크다.
  • 따라서 WebRTC 기반 방식에서는 화면을 비디오 스트림 형태로 인코딩하여 전송한다.
  • 이 과정에서는 다음과 같은 처리가 필요하다.
    • 화면 캡처
    • 비디오 코덱을 이용한 인코딩
    • 실시간 스트리밍 전송

※ 
이로 인해 WebRTC 기반 방식은 구현 난이도와 시스템 자원 요구 사항이 VNC 기반 방식보다 높아진다.

3.3. 구현 방식 비교

항목 VNC 방식 WebRTC 방식
구현 난이도 낮음 높음
성능 낮음 높음
지연 매우 낮음
확장성 제한적 우수
사용 목적 테스트 / MVP 실서비스

※ VNC기반 방식은 빠르게 구현할 수 있는 장점이 있지만 성능과 사용자 경험에 한계가 있으며, WebRTC 기반 방식은 높은 성능을 제공하지만 구현이 복잡하다.

4. RBI 서비스 제공 업체별 비교

4.1. 업체별 제품

Menlo Security (멘로 시큐리티) - Isolation Platform

  • RBI전문 기업으로, 기술 완성도가 높으며 고보안 환경을 중심으로 상위권의 시장 점유율을 가진다.
  • DOM기반 격리 기술을 적용하여 보안성과 사용자 경험의 균형을 특징으로 한다.

Cloudflare (클라우드플레어) - Browser Isolation

  • Zero Trust기반 보안 플랫폼의 일부로 브라우저 격리 기능을 제공한다.
  • 클라우드 인프라와의 결합을 통해 도입이 용이하며, 빠른 성장세를 보이고 있다.

Zscaler (지스케일러) - Cloud Browser Isolation

  • SSE(Security Service Edge)및 SASE 플랫폼의 리더 중 하나로, 기업 고객을 중심으로 높은 시장점유율을 보유하고 있다.
  • SASE/SSE통합 플랫폼 내에서 RBI 기능을 핵심 보안 요소로 제공한다.

Ericom Software (에리콤 소프트웨어) - Shield

  • 기술 중심 RBI 업체로, 합리적인 비용 구조와 OEM 및 MSP 확장성이 강점이다.
  • 온프레미스와 클라우드 환경 모두를 지원하는 유연한 아키텍처를 제공한다.

Palo Alto Networks (팔로알토 네트웍스) - Prisma Access Browser Isolation

  • 기존 보안 장비 및 플랫폼 고객 기반을 활용하여 RBI 기능을 확장한다.
  • 통합 보안 플랫폼 중심의 접근 방식을 통해 점유율을 확보하고 있다.

Cisco (시스코) - 제품명: Secure Access (Browser Isolation)

  • 기존 네트워크 장비 및 보안 솔루션 고객을 기반으로 RBI 기능을 확장하는 구조이다.
  • 네트워크 접근 제어와 연계된 브라우저 격리를 제공한다.

Authentic8 (어센틱에이트) - Silo

  • 일반 기업 시장에서의 점유율은 제한적이나, 정부, 군, 정보기관 등 특수 보안 시장에 강점을 가진다.
  • 완전 격리형 브라우저 모델을 기반으로 높은 보안 수준을 제공한다.

4.2. 제공 업체별 기능 비교

항목 Menlo Cloudflare Zscaler Ericom Palo Alto Cisco Authentic8
Pixel
Isolation
O O O O O O O
DOM
Reconstruction
O
(
제한적)

(
제한적)
O
(
제한적)
X X
Hybrid
Isolation
O
(자동)

(정책)

(정책)
O
(자동)

(정책)

(정책)
X
Streaming
Method
WebRTC WebRTC WebRTC WebRTC WebRTC WebRTC VNC
(커스텀)
File Download
Control
O O O O O O O
Clipboard
Control
O O O O O O O
Keystroke
Protection
O
(격리)

(기본)

(기본)
O
(격리)

(기본)

(기본)
O
(격리)
Session
Isolation 
O O O O O O O
SaaS
Integration
O
(세밀)
O
(플랫폼)
O
(플랫폼)
O
(세밀)
O
(플랫폼)
O
(플랫폼)

(기본)
Zero Trust
Integration
O O O O O O O

4.3. 기능 비교 항목

Pixel Isolation

  • 이 방식은 원격 환경에서 실행된 웹 페이지의 결과 화면만을 사용자에게 전달하는 구조이다.
  • 웹 콘텐츠는 서버에서 처리되며, 그 결과는 픽셀 단위의 이미지로 변환되어 전송된다.
  • 이에 따라 단말에는 웹 코드가 전달되지 않아 보안성이 높지만, 네트워크 지연과 화질에 영향을 받을 수 있다.

DOM Reconstruction

  • 이 방식은 웹 페이지의 구조 정보를 클라이언트로 전달하여 로컬 브라우저에서 화면을 구성하는 방식이다.
  • 픽셀 기반 전송보다 성능과 사용자 경험이 우수하지만, 데이터가 클라이언트로 전달되는 특성상 보안 통제가 중요하다.

Hybrid Isolation

  • 이 방식은 Pixel Isolation과 DOM Reconstruction을 상황에 따라 선택적으로 적용한다.
  • 신뢰 가능한 사이트에는 DOM 방식을, 위험성이 있는 사이트에는 Pixel 방식을 적용함으로써 보안과 성능의 균형을 유지한다.

Streaming Method

  • WebRTC 기반 스트리밍은 원격 환경의 화면을 실시간으로 전달하는 기술로, 낮은 지연과 높은 효율을 제공한다.
  • 이를 통해 사용자는 별도의 플러그인 없이도 웹 브라우저만으로 자연스러운 사용자 경험을 얻을 수 있다.

File Download Control

  • 이 기능은 웹을 통한 파일 다운로드를 제어하며, 필요에 따라 파일 무해화(CDR Content Disarm & Reconstruction)를 적용한다.
  • 이를 통해 악성 파일의 유입을 효과적으로 차단할 수 있다.

Clipboard Control

  • 이 기능은 복사 및 붙여넣기 동작을 제어하여 데이터 유출을 방지한다.
  • 정책에 따라 복사 또는 붙여넣기 방향을 제한함으로써 민감한 정보의 외부 노출을 줄일 수 있다.

Keystroke Protection

  • 이 기능은 사용자 입력 정보의 노출과 탈취를 방지하기 위한 보호 기법이다.
  • 민감한 입력 데이터에 대해 암호화 또는 서버 처리 방식을 적용함으로써 키로깅 공격에 대응한다.

Session Isolation 

  • 이 구조는 사용자별로 독립된 실행 환경을 제공하여 세션 간 영향을 차단한다.
  • 이를 통해 멀티 사용자 환경에서도 안정적인 보안 수준을 유지할 수 있다.

SaaS Integration

  • 이 기능은 클라우드 기반 SaaS 서비스와 연동하여 접근 및 행위를 정책적으로 제어한다.
  • 이를 통해 파일 처리뿐만 아니라 서비스 내부 동작에 대해서도 세밀한 보안 통제가 가능하다.

Zero Trust Integration

  • 이 기능은 모든 접근을 검증하는 보안 모델과 RBI를 연계하는 방식이다.
  • 이를 통해 사용자와 디바이스 조건에 따라 접근을 제어하고, 안전한 브라우징 환경을 기반으로 보안 수준을 강화할 수 있다. 

[Reference]

  • noVNC – Browser-based VNC Client
  • WebRTC (W3C / IETF)