네이티브 코드를 샌드 박싱하고 WinAPI 및 시스템 기능의 후크를 사용하여이 프로그램이 파일 읽기/쓰기, 인터넷 연결을 사용하여 Windows 레지스트리 수정과 같은 일부 작업을 수행하도록 차단하거나 허용합니다 . 그렇게하는 것이 안전하고 안전한 방법입니까? 그 프로그램이 그러한 보안 계층을 우회하는 것이 얼마나 어려울까요?WinAPI 후크를 사용하여 프로그램 샌드 박싱
2
A
답변
1
+1 한스 (Hans) 그러나 만약 당신이 정말로 그 사람이라면 나는 Easyhook을 추천 할 수 있습니다. 개인적으로 Win XP, Vista 및 7에서이 유틸리티를 성공적으로 사용했습니다. 어떻게 우회 할 수 있는지 모르겠지만 다른 대안은 존재합니다. madSHI 후크가 있습니다. 공식적인 방식으로 가고 싶다면 Microsoft의 Detours를 사용해보십시오.
1
안티 바이러스 앱은 거의 동일한 문제를 거의 해결하지 않으려 고 노력합니다.
1. 가장 일반적인 작업조차도 사용할 수있는 방법을 알지 못할 것입니다.
2. 시스템 콜이 있으므로 프로그램에서 winapi를 전혀 사용할 필요가 없습니다.
3
귀하의 질문을 모두 검토했으며 처음부터 유효하지 않은 것으로 보이는 작업과 관련이 있습니다. 그 이유는 다음과 같습니다. 하나의 애플리케이션을 보호하려고 시도하고 있으므로이를 위해 바퀴를 다시 만들 준비가되었습니다. 문제를 해결하기위한 몇 가지 접근 방법 (그리고 많은 기성 솔루션)이 있습니다. 코딩 대신 기존 솔루션을 살펴볼 필요가 있습니다.
접근 방법은 다음과 같습니다
- 사용하는 Windows 권한 리소스에 대한 응용 프로그램의 액세스를 제한 할
- VM웨어 또는 패러랠 또는 다른 가상화 플랫폼과 을 가지고있다
- 걸릴 프로그램을 실행 SDK 샌드 박스 (예 : BoxedApp)와 애플리케이션을 '포장'합니다.
관련 문제
- 1. 웹 서버에 업로드 영역 샌드 박싱
- 2. 루아 샌드 박싱 - 기능 생성 제거
- 3. SWF 로더 및 플렉스의 SWFLoader의 : 아이 SWF 샌드 박싱 정책
- 4. Paypal 샌드 박스를 사용하여 응용 프로그램 테스트
- 5. ASM Java 라이브러리를 사용하여 언 박싱
- 6. 박싱 네이티브 C++ 포인터
- 7. Android에서 허용 된 권한 이상으로 멀웨어 응용 프로그램을 샌드 박싱 할 수있는 도구가 있습니까?
- 8. Ruby on Rails : @variables를 iframe에 전달하려면 어떻게해야합니까? (목표 : 페이지의 샌드 박싱 부분)
- 9. 코드를 샌드 박싱 할 때 "안전하지 않은 작업"이 '레벨 4에서'작성되는 이유는 무엇입니까?
- 10. RSpec을 사용하여 delayed_job 콜백 후크를 테스트하는 방법
- 11. 알 수없는 유형으로 언 박싱
- 12. WINAPI ReadConsole 사용
- 13. gitscc에 후크를 사용하려면 어떻게해야합니까?
- 14. 마우스 상태 winapi
- 15. .NET KeyPreview에 해당하는 WinApi
- 16. WinAPI - 다시 그리지 마십시오.
- 17. C#/WINAPI : SetWindowPos()
- 18. WinAPI 스크롤 막대 도움말
- 19. PHP에서 후크를 만드는 방법
- 20. 프로세스 후크를 사용하는 방법
- 21. WinAPI 컨트롤 스키닝
- 22. NSSavePanel, CGImageDestinationFinalize 및 OS X 샌드 박스
- 23. WinAPI 매직 및 MONO 런타임
- 24. AIR 응용 프로그램 샌드 박스에서 jQuery.getScript를 사용할 수 있습니까?
- 25. Flash/Flex 및 PHP 소켓 응용 프로그램 샌드 박스 오류
- 26. 샌드 박스 IronPython?
- 27. winapi 끌어서 놓기
- 28. WM_CHAR의 이상한 입력 - WinAPI
- 29. tr1 :: function WINAPI
- 30. WinAPI | RawInputDevice 등록 취소
@Hans @Hans 제한된 (그러나 길지만) API 함수 목록이 있으므로 충분한 영감을 얻어서 구부릴 수 있습니다. 예, 후크를 우회하는 방법이 있지만 일반적인 응용 프로그램을 샌드 박싱하는 것이 가능합니다. 시장에 출시 된 응용 프로그램/SDK를 사용하면 모든 프로그램에서 샌드 박스로 변환 할 수 있습니다. BoxedApp는 내 마음에 오는 하나의 이름이지만 더 많은 정보가 있습니다. –