2011-01-02 3 views
2

네이티브 코드를 샌드 박싱하고 WinAPI 및 시스템 기능의 후크를 사용하여이 프로그램이 파일 읽기/쓰기, 인터넷 연결을 사용하여 Windows 레지스트리 수정과 같은 일부 작업을 수행하도록 차단하거나 허용합니다 . 그렇게하는 것이 안전하고 안전한 방법입니까? 그 프로그램이 그러한 보안 계층을 우회하는 것이 얼마나 어려울까요?WinAPI 후크를 사용하여 프로그램 샌드 박싱

+1

@Hans @Hans 제한된 (그러나 길지만) API 함수 목록이 있으므로 충분한 영감을 얻어서 구부릴 수 있습니다. 예, 후크를 우회하는 방법이 있지만 일반적인 응용 프로그램을 샌드 박싱하는 것이 가능합니다. 시장에 출시 된 응용 프로그램/SDK를 사용하면 모든 프로그램에서 샌드 박스로 변환 할 수 있습니다. BoxedApp는 내 마음에 오는 하나의 이름이지만 더 많은 정보가 있습니다. –

답변

1

+1 한스 (Hans) 그러나 만약 당신이 정말로 그 사람이라면 나는 Easyhook을 추천 할 수 있습니다. 개인적으로 Win XP, Vista 및 7에서이 유틸리티를 성공적으로 사용했습니다. 어떻게 우회 할 수 있는지 모르겠지만 다른 대안은 존재합니다. madSHI 후크가 있습니다. 공식적인 방식으로 가고 싶다면 Microsoft의 Detours를 사용해보십시오.

1

안티 바이러스 앱은 거의 동일한 문제를 거의 해결하지 않으려 고 노력합니다.
1. 가장 일반적인 작업조차도 사용할 수있는 방법을 알지 못할 것입니다.
2. 시스템 콜이 있으므로 프로그램에서 winapi를 전혀 사용할 필요가 없습니다.

3

귀하의 질문을 모두 검토했으며 처음부터 유효하지 않은 것으로 보이는 작업과 관련이 있습니다. 그 이유는 다음과 같습니다. 하나의 애플리케이션을 보호하려고 시도하고 있으므로이를 위해 바퀴를 다시 만들 준비가되었습니다. 문제를 해결하기위한 몇 가지 접근 방법 (그리고 많은 기성 솔루션)이 있습니다. 코딩 대신 기존 솔루션을 살펴볼 필요가 있습니다.

접근 방법은 다음과 같습니다

  1. 사용하는 Windows 권한 리소스에 대한 응용 프로그램의 액세스를 제한 할
  2. VM웨어 또는 패러랠 또는 다른 가상화 플랫폼과 을 가지고있다
  3. 걸릴 프로그램을 실행 SDK 샌드 박스 (예 : BoxedApp)와 애플리케이션을 '포장'합니다.
관련 문제