샌드 박싱은 프로그램을 격리하여 악의적이거나 오작동하는 프로그램이 나머지 컴퓨터에서 손상되거나 스누핑되는 것을 방지하는 중요한 보안 기술입니다. 사용하는 소프트웨어는 이미 매일 실행하는 많은 코드를 샌드 박싱하고 있습니다.
또한 자체 샌드 박스를 만들어 시스템의 나머지 부분을 손상시킬 수없는 보호 된 환경에서 소프트웨어를 테스트하거나 분석 할 수 있습니다.
샌드 박스가 보안에 필수적인 방법
샌드 박스는 프로그램을 실행할 수있는 엄격하게 제어되는 환경입니다. 샌드 박스는 코드 조각이 수행 할 수있는 작업을 제한하여 남용 될 수있는 추가 권한을 추가하지 않고도 필요한만큼의 권한을 부여합니다.
예를 들어 웹 브라우저는 기본적으로 샌드 박스에서 방문하는 웹 페이지를 실행합니다. 브라우저에서 실행하고 제한된 리소스 집합에 액세스 할 수 있도록 제한되어 있습니다. 권한없이 웹캠을 보거나 컴퓨터의 로컬 파일을 읽을 수 없습니다. 방문하는 웹 사이트가 샌드 박스 처리되지 않고 시스템의 나머지 부분과 격리되지 않았다면 악성 웹 사이트를 방문하는 것은 바이러스를 설치하는 것만 큼 나쁠 것입니다.
컴퓨터의 다른 프로그램도 샌드 박스 처리됩니다. 예를 들어 Google Chrome과 Internet Explorer는 모두 샌드 박스에서 실행됩니다. 이러한 브라우저는 컴퓨터에서 실행되는 프로그램이지만 전체 컴퓨터에 액세스 할 수는 없습니다. 낮은 권한 모드에서 실행됩니다. 웹 페이지가 보안 취약점을 발견하고 브라우저를 제어하더라도 실제 피해를 입히려면 브라우저의 샌드 박스를 탈출해야합니다. 더 적은 권한으로 웹 브라우저를 실행하여 보안을 확보합니다. 슬프게도 Mozilla Firefox는 여전히 샌드 박스에서 실행되지 않습니다. .
이미 샌드 박스 화 된 항목
장치에서 매일 실행하는 대부분의 코드는 이미 보호를 위해 샌드 박스 처리되어 있습니다.
- 웹 페이지 : 브라우저는 기본적으로로드하는 웹 페이지를 샌드 박스합니다. 웹 페이지는 자바 스크립트 코드를 실행할 수 있지만이 코드는 원하는 작업을 할 수 없습니다. 자바 스크립트 코드가 컴퓨터의 로컬 파일에 액세스하려고하면 요청이 실패합니다.
- 브라우저 플러그인 콘텐츠 : Adobe Flash 또는 Microsoft Silverlight와 같은 브라우저 플러그인에 의해로드 된 컨텐츠도 샌드 박스에서 실행됩니다. 웹 페이지에서 플래시 게임을하는 것이 게임을 다운로드하여 표준 프로그램으로 실행하는 것보다 안전합니다. Flash는 게임을 시스템의 나머지 부분과 격리하고 수행 할 수있는 작업을 제한하기 때문입니다. 브라우저 플러그인, 특히 자바 은 보안 취약성을 사용하여이 샌드 박스를 탈출하여 피해를 입히는 공격의 빈번한 표적입니다.
- PDF 및 기타 문서 : Adobe Reader는 이제 샌드 박스에서 PDF 파일을 실행하여 PDF 뷰어를 벗어나 컴퓨터의 나머지 부분을 조작하는 것을 방지합니다. Microsoft Office에는 안전하지 않은 매크로가 시스템에 해를 끼치는 것을 방지하는 샌드 박스 모드도 있습니다.
- 브라우저 및 기타 잠재적으로 취약한 애플리케이션 : 웹 브라우저는 권한이 낮은 샌드 박스 모드로 실행되어 손상 될 경우 많은 피해를 입히지 않습니다.
- 모바일 앱 : 모바일 플랫폼은 샌드 박스에서 앱을 실행합니다. iOS, Android 및 Windows 8 용 앱은 표준 데스크톱 애플리케이션이 수행 할 수있는 많은 작업을 수행 할 수 없습니다. 위치에 액세스하는 것과 같은 작업을하려면 권한을 선언해야합니다. 그 대가로 우리는 약간의 보안을 얻습니다. 샌드 박스는 또한 앱을 서로 격리하므로 서로 조작 할 수 없습니다.
- Windows 프로그램 : 사용자 계정 제어 기본적으로 Windows 데스크톱 응용 프로그램이 먼저 권한을 요청하지 않고 시스템 파일을 수정하지 못하도록 제한하는 일종의 샌드 박스 역할을합니다. 이는 매우 최소한의 보호입니다. 예를 들어 모든 Windows 데스크톱 프로그램은 백그라운드에서 모든 키 입력을 기록하도록 선택할 수 있습니다. 사용자 계정 제어는 시스템 파일 및 시스템 전체 설정에 대한 액세스를 제한합니다.
모든 프로그램을 샌드 박스하는 방법
데스크톱 프로그램은 일반적으로 기본적으로 샌드 박스 처리되지 않습니다. 물론 UAC가 있습니다.하지만 위에서 언급했듯이 이는 매우 최소한의 샌드 박싱입니다. 프로그램을 테스트하고 시스템의 나머지 부분을 방해하지 않고 실행하려면 샌드 박스에서 모든 프로그램을 실행할 수 있습니다.
- 가상 머신 : 다음과 같은 가상 머신 프로그램 VirtualBox 또는 VMware 운영 체제를 실행하는 데 사용하는 가상 하드웨어 장치를 만듭니다. 다른 운영 체제는 데스크탑의 창에서 실행됩니다. 이 전체 운영 체제는 가상 머신 외부에 액세스 할 수 없기 때문에 본질적으로 샌드 박스입니다. 가상화 된 운영 체제에 소프트웨어를 설치하고 마치 표준 컴퓨터에서 실행되는 것처럼 해당 소프트웨어를 실행할 수 있습니다. 이를 통해 예를 들어 악성 코드를 설치하고 분석 할 수 있습니다. 또는 프로그램을 설치하고 나쁜 일이 있는지 확인하십시오. 가상 머신 프로그램에는 스냅 샷 기능도 포함되어 있으므로 게스트 운영 체제 "롤백" 나쁜 소프트웨어를 설치하기 전의 상태로.
- 샌드 박스 : 샌드 박스 Windows 응용 프로그램 용 샌드 박스를 만드는 Windows 프로그램입니다. 프로그램에 대한 격리 된 가상 환경을 만들어 컴퓨터를 영구적으로 변경하지 못하도록합니다. 이것은 소프트웨어 테스트에 유용 할 수 있습니다. 우리를 참조하십시오 Sandboxie 소개 상세 사항은.
샌드 박싱은 일반 사용자가 걱정할 필요가 없습니다. 사용하는 프로그램은 보안을 유지하기 위해 백그라운드에서 샌드 박싱 작업을 수행합니다. 그러나 샌드 박스가 무엇이고 무엇이 아닌지 염두에 두어야합니다. 이것이 프로그램을 실행하는 것보다 웹 사이트를로드하는 것이 더 안전한 이유입니다.
그러나 일반적으로 샌드 박스 처리되지 않는 표준 데스크톱 프로그램을 샌드 박스하려면 위의 도구 중 하나를 사용하여 수행 할 수 있습니다.