ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 샌드박스 보안 소개
    카테고리 없음 2016. 7. 12. 17:27
    반응형


    드박스 기술이란 프로그램을 격리하여 해당 프로그램이거나 악성이거나 오작동할 경우 컴퓨터 전체에 대한 위해나 정보탈취를 차단하는 보안기술을 의미한다. 샌드박스는 프로그램 실행이 엄격히 통제되는 환경으로 어떤 코드가 작동 가능한 범위를 제한하고 악용될 수 있는 승인을 제외한 채 필요최소한의 승인만 부여한다. 오늘날에는 상당수의 소프트웨어에 샌드박스 기술이 적용돼 있으며 또한 사용자가 자체적으로 샌드박스 환경을 구현하여 안전하게 소프트웨어를 실험 또는 분석해 볼 수도 있다.

     

     

    샌드박스 기술 적용항목

     

    웹페이지 샌드박스: 기술이 적용되는 가장 단적인 예로 웹페이지가 있는데 이 경우 사용자가 방문하는 웹페이지는 기본적으로 샌드박스를 통해 열람된다. 웹페이지는 브라우저 내에서만 작동하며 사용자 승인 없이는 웹캠에 접근할 수 없거나 컴퓨터의 로컬 파일을 읽을 수 없는 등 리소스 접근이 제한된다. 따라서 웹페이지가 자바스크립트 코드를 실행할 수 있다 해도 이 코드는 예를 들어 컴퓨터의 로컬 파일에 접근하는 등의 행동을 할 수 없기 때문에 컴퓨터에 위해를 가하는 것이 불가능하다. 만약 웹사이트가 샌드박스를 통해 시스템 전체와 격리되지 않는다면 악성웹사이트 방문은 위에 언급한 자바스크립트 실행 등으로 인해 바이러스를 직접 설치하는 경우만큼이나 위험할 수 있다.


     

    브라우저 플러그인 콘텐츠: 어도비 플래시나 마이크로소프트 실버라이트와 같이 브라우저 플러그인으로 실행되는 콘텐츠 또한 샌드박스에서 실행된다. 예를 들어 플래시로 게임을 실행할 경우 플래시가 그 게임을 시스템 전체로부터 격리시키고 활동범위를 제한하기 때문에 웹페이지에서의 게임 실행이 게임을 다운로드하여 실행하는 방법보다 안전하다. 브라우저 플러그인은 플러그인 보안취약점을 악용하여 샌드박스 기술을 회피하려는 사이버공격에 끊임없이 노출되며 자바의 경우가 특히 그렇다.

     

    PDF 등 문서: 어도비리더는 PDF 파일을 샌드박스에서 구동하여 해당 파일이 PDF 뷰어를 벗어나 컴퓨터에 위해를 가하는 것을 방지한다. 마이크로소프트 오피스 또한 위험한 매크로가 시스템에 해를 끼치지 못하도록 하는 샌드박스 모드를 지원한다.

     

    브라우저 등 위험가능성 있는 어플리케이션: 웹브라우저들 자체도 샌드박스 내부에서 실행된다. 그 예로 구글 크롬과 마이크로소프트 인터넷 익스플로러가 있으며 모질라 파이어폭스의 경우 본래 샌드박스 기능을 지원하지 않았지만 2016년 샌드박스 기술 적용이 결정됐다. 이들 브라우저는 보안을 위해 컴퓨터 전체에는 접근할 수 없으며 제한된 승인만 받은 채 작동한다. 그러므로 만약 어떤 웹페이지가 웹브라우저의 보안취약점을 악용하여 웹브라우저를 장악한다 해도 브라우저 외부의 샌드박스를 다시 돌파해야만 컴퓨터에 공격을 가할 수 있다.

    <참고>모질라 파이어폭스 샌드박스 기술 적용 보도

    http://www.myce.com/news/firefox-finally-gets-sandboxing-improve-security-stability-performance-79102/

     

    모바일앱: 모바일플랫폼은 샌드박스를 통해 앱을 구동한다. 안드로이드, iOS, 윈도8 모바일앱은 일반적인 데스크탑 어플리케이션에 비해 그 행동의 폭이 훨씬 제한된다. 이들 앱은 사용자의 위치정보에 접근하는 등의 행동을 위해서는 승인을 받아야 하며 또한 이들 앱은 서로 격리되기도 하여 어떤 앱이 다른 앱에 영향을 끼칠 수 없다.


     

    윈도 프로그램: 사용자계정제어(User Account Control, UAC) 기능은 윈도 데스크탑 어플리케이션이 사용자 승인 없이는 시스템 파일을 변경할 수 없도록 제한한다는 점에서 샌드박스와 유사한 역할을 수행한다. 다만 UAC는 시스템파일 및 시스템 일반설정에 대한 접근만 제한한다는 점에서 최소한의 보호대책에 불과하다. 윈도 데스크탑 프로그램은 기본적으로 백그라운드에서 구동하면서 예컨대 사용자의 키입력 수집 등의 행동을 할 수 있기 때문이다.

     

     

    직접 샌드박스 기술을 활용하는 방법

     

    데스크탑 프로그램이 기본적으로 샌드박스에서 실행되지는 않으며 위에서 언급한 UAC의 경우 그 기능이 아주 제한적이다. 하지만 사용자는 아래와 같은 방법을 통해 프로그램을 실행할 때 시스템에 대한 영향을 차단할 수 있다.

     

    가상머신(Virtual Machine): VirtualBoxVMWare와 같은 가상머신 프로그램은 가상 하드웨어 기기를 통해 별도의 운영체제를 실행할 수 있다. 이 운영체제는 그 자체가 샌드박스를 통해 사용자 시스템과 격리돼 있기 때문에 가상머신 외부에는 접근할 수 없다. 이렇게 가상으로 구현된 운영체제에 실제 컴퓨터와 마찬가지로 소프트웨어를 설치하고 실행시킬 수 있다. 이를 통해 맬웨어를 설치하고 분석한다든지 프로그램이 어떻게 작동하는지를 관찰할 수 있다. 가상머신 프로그램은 스냅샷(snapshot) 기능을 통해 내부 운영체제를 악성 소프트웨어 설치 전 상태로 되돌릴 수도 있다.


     

    Sandboxie: 윈도 어플리케이션에 대한 샌드박스를 생성하는 윈도 프로그램으로 원하는 프로그램에 대한 격리 가상환경을 생성하여 해당 프로그램이 컴퓨터에 변경을 가할 수 없도록 한다. 위에 언급한 가상머신과 함께 소프트웨어 테스트에 유용하게 쓰일 수 있다.

    <참고>Sandboxie 상세소개

    http://www.howtogeek.com/howto/5219/run-apps-in-sandboxie-to-keep-your-system-secure/



    <참고: ThreatAnalyzer 맬웨어분석 샌드박스> 

     



    Chris Hoffman, Sandboxes Explained: How They’re Already Protecting You and How to Sandbox Any Program, 8. 2. 2013.

    http://www.howtogeek.com/169139/sandboxes-explained-how-theyre-already-protecting-you-and-how-to-sandbox-any-program/

     

    번역요약: madfox




    참고링크 


    <유료안티바이러스 제품소개>

    반응형

    댓글

Designed by Tistory.