it-swarm-korea.com

하이퍼 바이저 수준에서 게스트 커널을 보호하는 방법이 있습니까?

Xen에서 실행중인 Linux 게스트가 있고 xen이 게스트 커널의 무결성을 확인하여 루트킷이나 이와 유사한 활성 상태가 없음을 확인하고 싶다고 가정 해 보겠습니다.

Xen 또는 다른 하이퍼 바이저를 사용하여이를 수행 할 수있는 방법이 있습니까?

15
baj

그것은 쉽게 존재합니까? 나는 모른다. 그러나 VM가 할당하는 메모리 공간 내에서 커널은 예측 가능한 위치에 있으며, 메모리를 읽고 구조를 예상 한 것과 비교하는 코드를 작성할 수 있습니다.

그러한 생물체를 구현한다면 시스템 API를 따르고 그것이 적절한 지 확인하는 데 집중할 것입니다. 하나의 가능한 도전은 다른 커널 버전이 다른 영역에서 변경된다는 것입니다. 커널 단위로 매핑해야 할 수도 있습니다.

파일 시스템을 내 보내어 VM 외부에서 chrootkit을 실행할 수 있습니다. 그런 일은 시도해 본 적이 없지만 훌륭한 연구 프로젝트가 될 것입니다.).

편집 : 또는 디스크 이미지를 직접 라이브로 읽고 vM 외부에서 알려진 좋은 해시 비교를 사용합니다. 그러면 VM 계속 실행되지만 "LiveCD"신뢰의 이점이 있습니다. 이제 가장 난해한 것부터 쉽게 사용할 수있는 순서로 정렬 된 답변이 있습니다.

6
Jeff Ferland

xm 덤프 코어-> xen 메모리 덤프

http://www.segmentationfault.fr/projets/volatilitux-physical-memory-analysis-linux-systems/
활성 프로세스 및 열린 파일 검색.

foremost 파일 검색

1
baj

하이퍼 바이저 내부 검사를 통해 호스트에서 게스트가 메모리에 액세스 할 수 있습니다.

다음은 2 가지 노화의 예입니다.

1) XenAccess 2) kwazi-Xen

1
atdre

이 질문이 제기 된 이후 몇 개가 공개되었습니다. 그중 하나만 일반적으로 사용되며 Samsung Knox의 RKP 입니다. 실행중인 커널의 무결성을 확인하는 하이퍼 바이저 기반 솔루션입니다. 커널 구조의 수정을 감지하고 자격 증명을 모니터링하여 작동합니다.

SecVisorCapsule 과 같은 실험적 설계도 있습니다.


Linux 커널은 x86 시스템에서 ROE for KVM)를 구현하는 중입니다.

ROE는 호스트 운영 체제가 게스트의 자체 메모리 액세스를 제한 할 수 있도록하는 하이퍼 콜입니다. 이는 루트킷이 커널 정적 데이터 구조 및 코드를 조작하지 못하도록하는 데 사용할 수있는 강화 메커니즘을 제공합니다. 메모리 영역이 보호되면 게스트 커널은 보호 실행 취소를 요청할 수도 없습니다.

0
forest

BlockWatch 메모리 스냅 샷을 검사하여 게스트 OS를 모니터링합니다.

일반적으로 공통 형식 (MINIDUMP)으로 변환 할 수 있기 때문에 스냅 샷을 사용합니다. Hyper-V 및 VMWare의 경우입니다.

BlockWatch에는 스냅 샷/내보내기/메모리 스캔/정리를 자동화하는 python 스크립팅도 있습니다. 메모리 유효성 검사는 암호화 보안 해시 (Tiger192)로 수행됩니다. 현재 Windows 32 및 64 비트 OS의 유효성을 검사합니다.

0
RandomNickName42