원격 브라우저 격리 (RBI, Remote Browser Isolation)란 무엇인가 - 개요와 구현 기술 정리
1. RBI 개요
- RBI(Remote Browser Isolation)는 사용자의 로컬 환경에서 브라우저를 실행하지 않고, 서버 또는 격리된 원격 환경에서 브라우저를 실행한 뒤 화면만 전달하는 보안 기술이다.
- 브라우저는 서버 측 격리 환경에서 실행되며, 사용자는 화면 결과만 수신한다.
- 사용자 입력 이벤트는 서버로 전달되어 원격 브라우저를 제어한다.
1.1. 웹 보안의 한계
- 오늘날 대부분의 업무는 웹 브라우저를 중심으로 이루어진다.
- 웹 브라우저는 가장 많이 사용되는 업무 환경이자, 공격자가 가장 먼저 노리는 주요 침입 지점이 되었다.
- 기존의 웹 보안 체계는 주로 웹 사이트 차단, URL 분류, 악성 코드 탐지 단계에서의 판별 방식에 의존한다.
- 알려진 위협에는 유효하지만, 신규 피싱이나 미분류 악성 코드에는 한계가 있다.
- 또한 모든 웹 접근을 사전에 차단하는 것은 현실적으로 불가능하다.
- 이로 인해 기존 웹 보안 방식만으로는 웹 위협을 근본적으로 차단하기 어렵다는 구조적인 한계가 존재한다.
1.2. RBI의 필요성
- 원격 브라우저 격리(RBI)는 이러한 한계를 고려하여 접근 방식을 전환한 보안 개념이다.
- 웹 페이지를 사용자 단말이 아닌 격리된 서버 환경에서 실행하도록 한다.
- 사용자는 실행 결과만 전달받으며, 웹에 포함된 악성 코드나 취약점 공격은 격리된 환경 내부에서 차단된다.
- RBI는 차단이 아닌 격리를 통해 웹 접근을 허용하면서도 보안 위험을 최소화한다.
- 사용자는 기존과 유사한 방식으로 웹을 이용할 수 있으며, 보안은 실행 환경 분리를 통해 구조적으로 강화된다.
- 이러한 이유로 RBI는 현대 웹 환경에서 보안과 사용성을 동시에 충족하는 현실적인 대안으로 평가된다.
2. RBI 구현 기술
2.1. Chrome / Chromium
- Chrome 또는 Chromium은 RBI에서 실제 웹 페이지를 렌더링하는 핵심 엔진이다.
- Headless 모드는 물리적 또는 가상 디스플레이 없이 브라우저를 실행하는 방식으로, 렌더링은 수행되지만 화면을 사용자에게 직접 표시할 수는 없다.
- 다만, 실시간 사용자 상호작용을 위한 화면 스트리밍과 입력 전달 구조는 기본적으로 포함하지 않는다.
- 따라서 RBI 환경에서는 단독으로 사용되기보다는, 다른 디스플레이 및 스트리밍 기술과 함께 사용된다.
2.2. Xvfb
- Xvfb(X Virtual Framebuffer)는 실제 물리적인 디스플레이 없이도 그래픽 환경을 제공하는 가상 X11 서버이다.
- 일반적인 브라우저는 화면 출력이 가능한 환경을 필요로 하지만, 서버 환경에서는 이러한 디스플레이가 존재하지 않는다.
- Xvfb는 이러한 문제를 해결하기 위해 메모리 상에 가상의 화면을 생성한다.
- 브라우저는 이 가상의 화면을 실제 모니터처럼 인식하여 정상적으로 렌더링을 수행한다.
- 이를 통해 Headless 모드가 아닌 일반 GUI 모드의 브라우저도 서버 환경에서 실행할 수 있게 된다.
2.3. x11vnc
- x11vnc는 X 서버(Xvfb 포함)의 화면을 캡처하여 VNC(Virtual Network Computing) 프로토콜을 통해 외부로 전달하는 역할을 한다.
- 즉, Xvfb 위에서 실행 중인 브라우저 화면을 실시간으로 읽어들여 네트워크를 통해 전송가능한 형태로 변환한다.
- 또한 키보드와 마우스 입력 역시 VNC 프로토콜을 통해 전달할 수 있어, 사용자와의 상호작용을 지원한다.
- 이 방식은 구현이 비교적 단순하다는 장점이 있지만, 전송 효율과 지연(latency) 측면에서는 한계를 가진다.
2.4. noVNC
- noVNC는 VNC프로토콜을 웹 브라우저에서 사용할 수 있도록 변환하는 클라이언트 기술이다.
- 기존 VNC는 전용 클라이언트 프로그램이 필요하지만, noVNC는 이를 WebSocket 기반으로 변환하여 일반 브라우저에서도 접근 가능하게 한다.
- 사용자는 별도의 소프트웨어 설치 없이 웹 페이지에 접속하는 것만으로 원격 브라우저 화면을 확인하고 조작할 수 있다.
- 이로 인해 RBI 시스템은 접근성이 크게 향상되지만, VNC 기반 구조의 특성상 성능과 확장성에는 제한이 존재한다.
2.5. WebRTC
- 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 시스템에서는 이들이 하나의 파이프라인으로 연결되어 웹 콘텐츠의 실행과 전달 과정을 구성한다.
3.2. 구현 방식
- RBI 시스템은 원격 환경에서 실행된 브라우저의 화면을 사용자에게 전달하는 구조이며, 화면 전달 방식에 따라 구현 방법이 구분된다.
- 대표적인 방식으로는 VNC기반 방식과 WebRTC기반 방식이 있다.
- 이들 방식은 동일한 목적을 가지지만, 화면 전송 방식과 성능 특성에서 차이를 가진다.
3.2.1. VNC 방식
- VNC 기반 방식은 가장 직관적이며, RBI 시스템을 처음 구현할 때 사용되는 전통적인 구조이다.
- 이 방식에서는 브라우저가 렌더링한 화면을 그대로 캡처하여 VNC프로토콜을 통해 사용자에게 전달한다.
Chrome (GUI) ↕ Xvfb (Virtual Display) ↕ x11vnc (Capture) ↕ noVNC (Web Client) ↕ User Browser
- VNC 기반 방식은 구조가 단순하며 초기 구축이 용이하다는 장점을 가진다.
- 반면 화면을 픽셀 단위로 전송하므로 네트워크 효율과 지연 측면에서 한계를 가진다.
- 따라서 해당 방식은 본격적인 서비스보다는 테스트 환경이나 PoC 단계에서 주로 활용된다.
3.2.2. WebRTC 방식
- WebRTC 기반 방식은 VNC의 한계를 해결하기 위해 등장한 방식으로, 현대적인 RBI 시스템에서 주로 사용된다.
- 이 방식에서는 화면을 단순 이미지가 아니라 비디오 스트림으로 인코딩하여 전송한다.
Chrome ↕ Virtual Display (Xvfb) ↕ Screen Capture ↕ Video Encoder (H264 / VP8) ↕ WebRTC Peer Connection ↕ User Browser
- WebRTC 기반 방식은 원격 환경에서 실행되는 브라우저의 화면을 비디오 스트림 형태로 인코딩하여 사용자에게 전달하는 방식이다.
- 이 방식은 낮은 지연(latency)과 높은 전송 효율을 제공하므로, 대규모 사용자 환경에서도 안정적인 서비스 운영이 가능하다는 특징을 가진다.
- 반면, 이러한 성능을 제공하기 위해 VNC 기반 방식에 비해 더 많은 구성 요소와 복잡한 처리 과정이 필요하다.
- 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
- 피어 간 직접 통신이 불가능한 경우, 중계 서버를 통해 미디어와 데이터를 전달하기 위해 사용하는 프로토콜이다. 직접 통신이 불가능한 경우, 중계 서버를 통해 데이터가 전달되도록 한다.
- 피어 간 직접 통신이 불가능한 경우, 중계 서버를 통해 미디어와 데이터를 전달하기 위해 사용하는 프로토콜이다. 직접 통신이 불가능한 경우, 중계 서버를 통해 데이터가 전달되도록 한다.
- STUN서버: Session Traversal Utilities for 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]
- Menlo Security – Remote Browser Isolation 개요
- RBI 개념, DOM 기반 격리, 차세대 브라우저 보안 설명
- https://www.menlosecurity.com/what-is/remote-browser-isolation [menlosecurity.com]
- Cloudflare – Browser Isolation 공식 문서
- Zero Trust 기반 원격 브라우저 격리 아키텍처
- https://developers.cloudflare.com/cloudflare-one/remote-browser-isolation/ [dflare.com]
- Zscaler – Cloud Browser Isolation
- SSE/SASE 환경에서의 브라우저 격리 구현 방식
- https://www.zscaler.com/products-and-solutions/browser-isolation [zscaler.com]
- Chromium Project – Architecture & Design Docs
- RBI 환경에서 사용되는 브라우저 엔진 구조
- https://www.chromium.org/developers/design-documents/ [chromium.org]
- noVNC – Browser-based VNC Client
- VNC 기반 RBI 구현 시 사용되는 웹 클라이언트
- https://novnc.com
- WebRTC (W3C / IETF)
- 저지연 화면 스트리밍 및 실시간 통신 표준
- https://webrtc.org
- IETF RFC 5389 / RFC 5766
- WebRTC 네트워크 연결을 위한 STUN / TURN 표준
- https://datatracker.ietf.org/doc/html/rfc5389
- https://datatracker.ietf.org/doc/html/rfc5766