RBI란?
RBI란?
서론
아무리 보안 솔루션을 잘 깔아도, 사용자가 악성 사이트를 한 번 잘못 클릭하면 감염이 시작되는 경우가 많습니다.
브라우저는 각종 스크립트, 플러그인, 미디어를 실행하는 복잡한 프로그램이라 공격 표면도 넓습니다.
이 문제를 근본적으로 줄이기 위해 나온 개념이 바로 RBI(Remote Browser Isolation, 원격 브라우저 격리) 입니다.
이 글에서는 보안을 처음 배우는 개발자도 이해할 수 있도록, RBI가 무엇이고, 어떻게 동작하며, SWG/WAF와 어떤 관계가 있는지 살펴보겠습니다.
1. RBI란 무엇인가?
1.1 RBI의 정의
RBI(Remote Browser Isolation) 은 말 그대로 브라우저를 사용자 PC가 아닌 원격 환경에서 실행하고, 그 결과만 사용자에게 전달하는 기술입니다.
쉽게 말해:
- 위험할 수 있는 웹 페이지를 내 컴퓨터에서 직접 여는 것이 아니라
- 클라우드나 격리된 서버에서 대신 열고
- 나는 그 화면(렌더링 결과)만 영상/DOM 스트림 형태로 전달받아 보는 방식입니다.
이렇게 하면:
- 웹 페이지 안에 악성 스크립트나 익스플로잇이 있어도
- 실제로 공격이 실행되는 환경은 격리된 원격 브라우저이기 때문에
- 사용자 PC에 직접적인 피해가 가는 것을 크게 줄일 수 있습니다.
1.2 왜 RBI가 나왔을까?
기존 보안 솔루션만으로는 다음과 같은 한계가 있었습니다.
- 시그니처 기반 안티바이러스: 이미 알려진 악성 코드만 잘 막음
- SWG/프록시: URL/카테고리/평판 기반 차단, "모르는 신규 사이트"에는 약할 수 있음
- 브라우저 취약점: 제로데이(알려지지 않은 취약점)는 탐지 전에 악용될 수 있음
RBI는 이런 문제를 "탐지" 중심이 아니라, 실행 환경 자체를 분리하는 방식으로 접근합니다.
- "악성인지 아닌지 100% 확신하긴 어렵다" →
"그럼 그냥 위험할 수 있는 것들은 다 격리된 곳에서 실행시키자"
라는 발상입니다.
2. RBI는 어떻게 동작할까?
RBI 솔루션의 기본 흐름은 다음과 같습니다.
- 사용자가 브라우저에서 어떤 사이트에 접속
- 요청이 RBI 서버(클라우드/온프레미스) 로 전달
- RBI 서버 쪽에서 가상 브라우저 세션을 생성
- 해당 브라우저가 실제로 웹 페이지를 로드하고 실행
- 결과 화면(렌더링 결과)을 사용자에게 스트리밍 또는 변환된 DOM 형태로 전달
사용자 PC에서 보는 화면은:
- 말 그대로 "원격 데스크톱"처럼 영상 스트림으로 그려질 수도 있고
- 또는 안전하게 변환된 HTML/이미지로 재구성되어 전달될 수도 있습니다.
핵심은:
- 실제 코드 실행은 원격 환경에서만 일어나고
- 사용자에게는 그 "결과"만 온다는 점입니다.
3. RBI의 유형
RBI 구현 방식에는 여러 가지가 있지만, 크게 다음과 같이 나눌 수 있습니다.
3.1 픽셀 스트리밍 방식
- 원격 브라우저에서 렌더링한 화면을 동영상/이미지 스트림으로 전송
- 사용자는 입력(마우스/키보드)만 보내고, 화면은 받아서 보여줌
- 장점:
- 컨텐츠가 로컬로 내려오지 않기 때문에 보안성이 매우 높음
- 단점:
- 네트워크/지연 시간에 따라 UX가 떨어질 수 있음
3.2 DOM 미러링/변환 방식
- 원격 브라우저에서 페이지를 분석한 뒤
- 안전하다고 판단되는 요소만 걸러서 사용자 브라우저에 전달
- 예를 들면:
- 자바스크립트를 제거하거나 제한
- 위험한 태그/속성 제거
- 장점:
- 사용자 경험이 더 자연스럽고, 인터랙션이 부드러움
- 단점:
- 변환 로직이 복잡하고, 100% 완벽한 변환이 어려울 수 있음
초보 개발자 입장에서는:
- "방법은 조금씩 달라도, 결론은 위험한 코드는 내 PC에서 직접 실행되지 않는다" 정도만 기억하면 충분합니다.
4. RBI vs SWG vs WAF
이미 WAF와 SWG를 공부했으니, RBI가 어디에 위치하는지 비교해 보면 이해가 더 쉽습니다.
4.1 보호 대상과 관점
- WAF:
- 보호 대상: 웹 서버/서비스
- 관점: 외부 사용자의 요청 중 공격을 막음
- SWG:
- 보호 대상: 조직 내부 사용자/네트워크
- 관점: 사용자가 나가는 웹 트래픽을 필터링
- RBI:
- 보호 대상: 사용자 단말(PC/브라우저)
- 관점: "어떤 사이트든 열 수는 있지만, 실제 실행은 격리된 곳에서 하자"
4.2 보안 접근 방식의 차이
- WAF/SWG:
- "위험한 요청/사이트를 탐지해서 차단하자"
- RBI:
- "위험할 수도 있지만, 굳이 완벽히 구별하려고 애쓰기보다는
애초에 로컬에서 실행하지 말고 격리된 곳에서 실행하자"
- "위험할 수도 있지만, 굳이 완벽히 구별하려고 애쓰기보다는
정리하면:
- WAF/SWG는 필터링/탐지 중심
- RBI는 격리/분리 중심
5. RBI가 유용한 시나리오
5.1 알 수 없는 외부 사이트 접속이 많은 환경
예를 들어:
- 영업/마케팅 팀이 매일 새로운 사이트를 검색하고 열어보는 경우
- 지원/CS 팀이 고객이 보내준 각종 링크를 확인해야 하는 경우
이런 상황에서는:
- "이 링크가 안전한지 아닌지"를 매번 완벽하게 판단하기 어렵습니다.
- RBI를 사용하면, 모든 브라우징을 격리된 환경에서 처리할 수 있습니다.
5.2 고보안/규제 산업
- 금융, 공공, 방산, 의료 등
- 단말 보안이 특히 중요한 환경에서는
RBI를 통해:
- 웹을 사용하면서도 단말 감염 가능성을 크게 낮출 수 있습니다.
5.3 개발자/보안팀의 분석 작업
보안팀이나 리서처가:
- 의심스러운 사이트/피싱 페이지를 분석해야 할 때
RBI 환경에서 사이트를 열면:
- 로컬 환경이 감염될 위험 없이
- 웹 페이지의 동작을 관찰할 수 있습니다.
6. 초보 개발자가 알아두면 좋은 RBI 포인트
6.1 사용자 경험(UX)과의 트레이드오프
RBI는 보안을 크게 높여주지만, 다음과 같은 UX 이슈가 있을 수 있습니다.
- 지연 시간 증가
- 일부 복잡한 웹 애플리케이션의 호환성 문제
- 동영상/오디오 스트리밍 품질 저하
그래서 실무에서는:
- "모든 사이트를 RBI로 열지"
- "위험도가 높은 카테고리만 RBI로 열지"
등을 정책으로 세밀하게 조정합니다.
6.2 개발 시 고려할 점
개발자로서 알아두면 좋은 점:
- 사용자가 RBI를 통해 우리 서비스에 접속할 수도 있습니다.
- 이때:
- 일부 스크립트/기능이 제한될 수 있고
- 세션/쿠키/스토리지 동작 방식이 약간 달라질 수 있습니다.
그래서:
- 보안이 중요한 고객사가 많은 서비스라면,
RBI 환경에서도 서비스가 잘 동작하는지 테스트해 보는 것이 좋습니다.
마무리
이 글에서는 초보 개발자의 관점에서 RBI가 무엇인지, 왜 등장했는지, SWG/WAF와 어떻게 다른지를 정리해 보았습니다.
핵심을 다시 정리하면:
- RBI는 브라우저를 원격 격리 환경에서 실행하고, 결과만 사용자에게 보여주는 기술
- "위험한 코드를 아예 내 PC에서 실행하지 않는다"는 철학에 기반
- WAF/SWG가 필터링/탐지 중심이라면, RBI는 격리/분리 중심
앞으로 보안 공부를 이어가면서:
- WAF(서버 보호)
- SWG(사용자/조직 보호)
- RBI(단말/브라우저 보호)
이 세 가지를 서로 연결해서 보면,
웹 보안을 훨씬 입체적으로 이해할 수 있게 될 것입니다.