일상/IT

브라우저 샌드박스 : 개념, 설명, 사용 방법

얇은생각 2023. 6. 12. 07:30
반응형

브라우저 샌드박스가 무엇인지, 다양한 유형의 샌드박스의 이점과 중요성, 샌드박스 구현 방법에 대해 알아봅니다.

급변하는 비즈니스 환경에서 보안은 개발자와 테스터가 현대 웹 개발 주기에서 가장 큰 과제 중 하나입니다. 최신 웹 애플리케이션을 구축하고 배포하는 복잡성으로 인해 보안 취약성이 증가합니다. IBM Ponemon Institute의 데이터 침해 비용 보고서에 따르면 2021년 데이터 침해 비용은 386만 달러(2019년 평균 비용)에서 424만 달러로 증가했으며, 이는 이 보고서의 평균 비용 중 17년 만에 가장 높은 것입니다.

따라서 사용자 데이터 보안 및 개인 정보 보호를 보장하기 위해 소프트웨어 개발 라이프사이클에서 사이버 보안이 점점 더 중요해지고 있습니다. 보안 취약점을 걱정하지 않고 웹사이트와 웹 앱을 개발하고 테스트할 수 있다면 좋지 않을까요? 샌드박스는 이를 달성하는 데 도움이 될 수 있는 기술 중 하나입니다. 샌드박스는 응용프로그램, 웹 브라우저 및 코드 일부를 안전하게 격리하기 위한 접근 방식입니다. 악의적이거나 결함이 있는 앱이 웹 리소스 및 로컬 시스템을 공격하거나 스파이 행위를 하는 것을 방지합니다.

현실 세계에서, 샌드박스는 벽으로 둘러싸인 아이들을 위한 놀이 공간입니다. 그것은 아이들이 잔디밭 주변에 모래를 뿌리지 않고 모래를 가지고 놀 수 있게 해줍니다. 마찬가지로 샌드박스 브라우저는 사용자가 타사 소스에서 애플리케이션을 다운로드 및 설치하고 의심스러운 동작을 하더라도 안전하고 격리된 환경에서 운영할 수 있는 격리된 환경을 만듭니다. 따라서 샌드박스 브라우저는 추가적인 보안 위험으로부터 컴퓨터를 보호합니다.

브라우저 샌드박스가 무엇인지, 다양한 유형의 샌드박스의 이점과 중요성, 그리고 이를 구현하는 방법에 대해 알아봅니다.

 

 

브라우저 샌드박스

시스템 또는 웹 응용 프로그램에서 보안 위반을 방지하려면 개발자가 보안 위반을 처리하는 방법을 찾아야 합니다. 이것은 브라우저 샌드박스가 유용할 때입니다. 브라우저 샌드박스는 시스템의 데이터나 로컬 파일을 손상시키지 않고 유해한 코드를 테스트하거나 타사 소프트웨어를 실행할 수 있는 안전한 가상 환경을 제공합니다.

예를 들어 샌드박스 내에서 악의적인 첨부 파일을 다운로드하면 시스템의 기존 파일이나 리소스가 손상되지 않습니다. 샌드박스에는 동일한 오리진 기능이 있어 JavaScript가 외부 JSON 파일에 대한 액세스를 제한하면서 웹 페이지의 요소를 추가하거나 사용자 지정할 수 있습니다.

오늘날 Chrome, Firefox Edge와 같은 인기 있는 웹 브라우저에는 샌드박스가 내장되어 있습니다. 샌드박스형 브라우저의 궁극적인 목표는 검색과 관련된 위험으로부터 컴퓨터를 보호하는 것입니다. 따라서 사용자가 웹 사이트에서 악성 소프트웨어를 다운로드하면 해당 소프트웨어가 브라우저의 샌드박스로 다운로드됩니다. 샌드박스를 닫으면 유해 코드를 포함한 내부의 모든 것이 지워집니다.

브라우저 샌드박스는 사용자의 웹 검색 활동과 시스템 하드웨어, 로컬 PC 및 네트워크를 보호하기 위해 두 가지 격리 기술을 사용합니다:

- 로컬 브라우저 분리

- 원격 브라우저 분리

 

 

로컬 브라우저 분리

로컬 브라우저 분리는 사용자의 로컬 인프라에서 샌드박스 또는 가상 시스템의 가상 브라우저를 실행하는 일반적인 브라우저 분리 기술입니다. 외부 보안 위협 및 안전하지 않은 탐색으로부터 데이터를 격리하는 데 도움이 됩니다. 예를 들어 악의적인 요소가 슬금슬금 들어오는 경우 영향은 샌드박스 브라우저와 가상 시스템으로 제한됩니다.

 

 

원격 브라우저 분리

원격 브라우저 격리에는 클라우드 기반 서버(퍼블릭 클라우드와 프라이빗 클라우드 모두)에서 브라우저를 실행하는 가상화 기술이 포함됩니다. 원격 격리 상태에서 사용자의 로컬 시스템은 탐색 활동으로부터 자유롭고 브라우저 샌드박스, 필터링 및 위험 평가는 원격 서버에서 수행됩니다.

원격 브라우저 격리에는 사용자 로컬 인프라 및 웹 콘텐츠를 격리하는 두 가지 방법이 있습니다:

DOM 미러링: 이 기술에서 브라우저는 사용자의 로컬 시스템에서 완전히 분리되지 않습니다. 그러나 DOM 미러링 기술은 악의적인 콘텐츠를 필터링하고 나머지 콘텐츠를 사용자에게 렌더링합니다.

시각적 스트리밍: 이 기술은 원격 브라우저를 완벽하게 격리합니다. 비주얼 스트리밍은 브라우저가 클라우드 기반 서버에서 실행되는 VDI(Virtual Desktop Infrastructure) 시스템처럼 작동하며 비주얼 출력이 사용자의 로컬 컴퓨터에 표시됩니다.

 

 

브라우저 샌드박스가 중요한 이유는 무엇입니까?

현대의 웹 기술은 빠르게 확장되고 있으며, 이를 통해 사용자는 웹 사이트와 웹 앱을 문제 없이 개발하고 배송할 수 있습니다. 동시에 웹 애플리케이션에 대한 수요도 전례 없는 속도로 증가하고 있습니다. Imperva의 조사에 따르면 데이터 침해의 50%는 웹 애플리케이션이었습니다.

따라서 로컬 인프라 및 시스템 리소스를 위협하지 않고 운영을 수행하려면 샌드박스 브라우저와 같은 안전하고 제어된 환경을 구축하는 것이 중요합니다.

예를 들어 사용자가 샌드박스에서 웹 브라우저를 실행하고 있습니다. 악성 코드 또는 파일이 웹 브라우저 취약성을 이용하는 경우 샌드박스 내에서 영향이 제한됩니다. 또한 폭발 절차는 웹 브라우저에서 새로운 취약성을 발견하고 이를 완화하는 데 도움이 될 수 있습니다. 그러나 샌드박스 브라우저가 비활성화되면 악성 프로그램이 웹 브라우저 취약성을 이용하여 사용자의 로컬 시스템 및 리소스를 손상시킬 수 있습니다.

 

 

샌드박스의 이점

샌드박스를 웹 개발 워크플로우에 통합하면 다양한 이점이 있습니다. 몇 가지 이점은 다음과 같습니다:

샌드박스는 장치와 운영 체제가 잠재적 위협에 노출되는 것을 방지합니다.

권한이 없는 당사자 또는 공급업체와 작업할 때는 샌드박스 환경을 사용하는 것이 가장 좋습니다. 무언가를 배포하기 전에 샌드박스를 사용하여 의심스러운 코드 또는 소프트웨어를 테스트할 수 있습니다.

샌드박스는 제로 데이 공격을 예방하는 데 도움이 될 수 있습니다. 개발자는 취약성 공격에 대한 즉각적인 패치를 발견할 수 없으므로 제로데이 공격은 본질적으로 유해합니다. 결과적으로 샌드박스는 시스템에서 멀웨어를 숨겨 손상을 완화합니다.

샌드박스 환경은 위협 및 바이러스를 검역합니다. 이것은 사이버 전문가들이 위협 동향을 연구하고 분석하는 데 도움이 됩니다. 향후 침입을 방지하고 네트워크 취약성을 식별할 수 있습니다.

샌드박스 애플리케이션은 로컬 및 원격(클라우드 기반 서버)으로 배포할 수 있는 하이브리드 솔루션입니다. 하이브리드 시스템은 기존 솔루션보다 안전하고 안정적이며 비용 효율적입니다.

샌드박스 및 RDP(원격 데스크톱 프로토콜) 설정은 기업이 안전한 외부 네트워크 연결을 보장하는 데 도움이 됩니다.

샌드박스는 바이러스 백신 또는 기타 보안 도구 및 정책과 함께 사용하여 전체 보안 생태계를 강화할 수 있습니다.

 

 

샌드박스화되는 자산은 무엇입니까?

온라인 브라우저, 웹 페이지, PDF, 모바일 앱 및 Windows 애플리케이션과 같이 일상적인 워크플로우에서 사용하는 대부분의 자산은 샌드박스로 처리됩니다.

샌드박스에 포함되는 자산은 다음과 같습니다:

웹 브라우저: 잠재적으로 취약한 브라우저는 샌드박스 환경에서 실행됩니다.

브라우저 플러그인: 콘텐츠를 로드하는 동안 브라우저 플러그인은 샌드박스에서 작동합니다. Java와 같은 샌드박스형 브라우저 플러그인은 공격에 더 취약합니다.

웹 페이지: 브라우저는 웹 페이지를 샌드박스 모드로 로드합니다. 웹 페이지는 기본 제공 JavaScript이므로 로컬 컴퓨터의 파일에 액세스할 수 없습니다.

모바일 앱: Android iOS와 같은 모바일 OS는 샌드박스 모드에서 앱을 실행합니다. 사용자의 위치, 연락처 또는 기타 정보에 액세스하려는 경우 권한 상자가 나타납니다.

Windows 소프트웨어 및 프로그램: 시스템 파일을 변경하기 전에 Windows OS UAC(사용자 계정 컨트롤)에서 사용자 권한을 요청합니다. UAC는 완전한 보호를 제공하지는 않지만 샌드박스와 유사하게 작동합니다. 하지만, 그것을 비활성화해서는 안 됩니다.

 

 

다양한 유형의 샌드박스

브라우저 샌드박스에 대한 이 섹션에서는 다양한 유형의 샌드박스에 대해 설명합니다. 샌드박스는 세 가지 범주로 나뉩니다:

응용 프로그램 샌드박스

브라우저 샌드박스

보안 샌드박스

 

 

응용 프로그램 샌드박스

응용 프로그램 샌드박스를 사용하면 신뢰할 수 없는 응용 프로그램을 샌드박스에서 실행하여 로컬 시스템을 손상시키거나 데이터를 도용하는 것을 방지할 수 있습니다. 시스템을 손상시킬 위험 없이 앱을 실행할 수 있는 안전한 환경을 만들 수 있습니다. 애플리케이션 샌드박스는 사용자의 로컬 컴퓨터에서 앱을 분리하여 앱의 무결성을 향상시킵니다.

 

 

브라우저 샌드박스

잠재적으로 악의적인 브라우저 기반 응용 프로그램이 샌드박스에서 실행되어 로컬 인프라에 손상을 입히지 않도록 할 수 있습니다. 시스템을 손상시키지 않고 웹 앱을 실행할 수 있는 안전한 환경을 구축할 수 있습니다. 폭발 기술은 웹 브라우저의 새로운 취약성을 발견하고 이를 완화하는 데 도움이 될 수 있습니다.

 

 

보안 샌드박스

보안 샌드박스를 사용하면 의심스러운 코드를 탐색하고 탐지할 수 있습니다. 첨부 파일을 검색하고 잠재적으로 유해한 웹 사이트 목록을 식별하며 감염된 파일을 다운로드하거나 설치할지 여부를 결정합니다.

 

 

내장 샌드박스 브라우저를 사용한 샌드박스 만들기

샌드박스는 Cromium, Firefox Edge와 같은 일반적인 브라우저에 미리 설치되어 시스템이 취약성을 탐색하지 않도록 보호합니다. 다양한 브라우저에서 샌드박스가 어떻게 작동하는지 살펴보겠습니다:

 

 

크롬 브라우저 샌드박스

Google Chrome Microsoft Edge Chrome 브라우저에 구축되어 있습니다. 브로커와 대상은 크롬 브라우저 샌드박스를 구성하는 두 가지 프로세스입니다. 대상 프로세스는 하위 프로세스이고 브라우저 프로세스는 브로커 프로세스입니다. 대상 프로세스의 코드는 샌드박스 환경에서 실행됩니다. 브로커 프로세스는 하위 프로세스와 하드웨어 리소스 사이에서 작동하여 하위 프로세스에 리소스를 제공합니다.

 

 

Firefox 브라우저 샌드박스

Firefox는 위협으로부터 로컬 시스템을 보호하기 위해 샌드박스 내에서 신뢰할 수 없는 코드를 실행합니다. Firefox 브라우저는 상위 및 하위 프로세스를 사용하여 샌드박스로 보호됩니다. 검색 시 잠재적으로 악성 프로그램이 샌드박스에서 실행됩니다. 상위 프로세스는 샌드박스 작업 중에 하위 프로세스와 나머지 시스템 리소스 사이의 중재자입니다.

Firefox 브라우저에서 샌드박스의 크기를 최소, 중간 또는 매우 제한적으로 변경할 수 있습니다:

- 레벨 0: 최소 제한

- 레벨 1: 보통

- 레벨 2: 매우 제한적임

 

Firefox 샌드박스 브라우저의 수준을 확인하려면 주소 표시줄에 다음 명령을 전달합니다:

about:config 

 

 

페이지에서 Firefox 구성 가능 변수를 로드합니다. 이제 구성 페이지에서 "CTRL+F"를 누르고 검색 상자에 다음 명령을 입력한 다음 "Enter"를 누릅니다

 

 

Edge 브라우저 샌드박스

Edge 샌드박스 브라우저 Windows 10을 시작하면 "재활용 상자" Edge 바로 가기만 있는 새로운 데스크톱이 나타납니다. 시작 메뉴 및 기타 아이콘이 표시되지만 이 샌드박스 환경에서는 작동하지 않습니다. 샌드박스된 윈도우즈 10 대신 표준 윈도우즈 10에서 액세스할 수 있습니다.

Edge 브라우저 샌드박스를 닫으면 브라우저 기록을 더 이상 사용할 수 없습니다. ISP가 샌드박스의 작업을 추적할 수 있지만 이 데이터는 감사할 수 없습니다.

 

 

Google Chrome 샌드박스 실행 중지

Chrome 기반 샌드박스 테스트를 수행하는 동안 샌드박스 기능으로 인해 Chrome 브라우저에서 "애플리케이션 초기화 실패" 오류가 발생할 수 있습니다

이 경우 Chrome 브라우저 샌드박스를 비활성화해야 할 수 있습니다. 다음 단계가 있습니다:

Google Chrome Sandbox 바로 가기가 없는 경우 바로 가기를 만듭니다.

브라우저 샌드박스 : 개념, 설명, 사용 방법 1

 

 

바로 가기를 마우스 오른쪽 단추로 클릭하고 "속성"을 선택합니다

대상에 제공된 앱 경로에 다음 명령을 입력합니다:

브라우저 샌드박스 : 개념, 설명, 사용 방법 2

 

 

 "적용"을 클릭한 다음 "확인"을 클릭합니다

 

 

브라우저 샌드박스: 100% 보안?

대부분의 웹 브라우저는 샌드박스를 사용합니다. 그러나 인터넷은 여전히 바이러스 및 기타 악성 프로그램의 소스입니다. 샌드박스의 수준은 다양한 것으로 보입니다. 웹 브라우저마다 샌드박스를 다르게 구현하기 때문에 작동 방식을 파악하기가 어렵습니다. 그러나 이것이 모든 웹 브라우저가 안전하지 않다는 것을 의미하지는 않습니다. 반면에 브라우저 샌드박스는 보안을 강화할 수 있습니다.

그러나 100% 보안을 제공하는지 묻는다면 대답은 "아니오"입니다. 일부 브라우저 구성 요소는 Flash ActiveX를 사용하는 경우 샌드박스 외부로 확장될 수 있습니다.

 

 

마무리

기업은 APT(Advanced Persistent Threats)의 공격을 받고 샌드박스를 통해 기업을 보호할 수 있습니다. 앞을 보면 알 수 없는 공격에 대비할 수 있습니다. 샌드박스를 통해 로컬 시스템 자산을 손상시키지 않고 격리된 환경에서 애플리케이션을 테스트하고 개발할 수 있습니다. 샌드박스, 비트박스 및 기타 샌드박스 도구는 시장에서 사용할 수 있습니다. 그러나 샌드박스에서 다른 브라우저를 설정하고 설치하는 데는 시간이 걸립니다.

브라우저용 클라우드 기반 플랫폼을 테스트하고 앱 테스트를 통해 로컬 시스템을 위험에 빠뜨리지 않고 안전한 원격 환경에서 애플리케이션을 개발 및 테스트할 수 있습니다.

반응형