Windows 실시간 감시 프로그램 동작 방식

NAVER CLOUD PLATFORM
NAVER CLOUD PLATFORM
3 min readAug 27, 2019

안녕하세요, 네이버 클라우드 플랫폼입니다.

오늘은 “Windows에서의 실시간 감시 프로그램의 동작 방식”에 대해서 이야기해볼까 합니다.

Windows 프로그램들에서 동작되는 “실시간 감시 프로그램”이라고 하면

​대표적으로

“바이러스 백신 프로그램의 실시간 감시”

“DRM (문서보안솔루션)의 실시간 감시”

“키보드 해킹 프로그램” (주로 은행 비밀번호를 알아내기 위해 해커들이 사용)

등이 있을 수 있습니다.

위 프로그램들이 어떻게 동작하는지 알아보겠습니다.

실시간 감시 프로그램 동작

Windows는 내부적으로 Windows Message라는 것을 기반으로 돌아갑니다.

쉽게 말해서 Windows에서 동작 되는 모든 것을 메시지화해서 커널에서 관리를 하는데요!

위 Windows Message를 후킹 해서 동작합니다. 즉, Windows WM_xxxxxxx 등을 후킹 하는 것입니다.

Windows WM 메시지 후킹 예제라고 검색하시면 예제 프로그램을 쉽게 찾아볼 수 있습니다.

바이러스 백신 프로그램의 실시간 감시

WM_CREATE, WM_OPEN, WM_COPY, WM_CLOSE

등의 메시지를 후킹 하여, 해당 메시지가 발생된 프로그램(실행파일) 및 Open/Copy/Close 된 파일에 접근하여 백신을 돌리게 됩니다.

DRM (문서보안솔루션)의 실시간 감시

WM_OPEN, WM_COPY

등의 메시지를 후킹 하여, 해당 파일을 보안 정책에 따라 접근을 차단할 수도, 또는 해당 파일에 암호가 걸려 있지 않으면 차단 또는 특정 디렉토리 접근 차단 등의 방식을 사용합니다.

파일 암호화

우리가 사용하는 MS Office 문서 / 한글 문서 / PDF 문서 등은 문서에 암호화 설정을 할 수 있습니다.

해당 문서들을 바이너리로 읽어 보면 문서 앞부분(헤더)마다 각각의 특색이 있습니다. 그것을 보고 Word 문서, 엑셀 문서, ppt 문서, 한글 문서 등을 구분할 수 있습니다.

또한, 각 문서들의 헤더 부분의 특정 위치에 암호화 관련된 위치가 있습니다. 해당 위치에 값이 들어있다면, 암호화된 문서라고 판단하는 것이지요.

키보드 해킹 프로그램

WM_KEYDOWN, WM_KEYUP

등의 메시지를 후킹 하여, 해당 메시지에 따라오는 파라미터를 보면 키보드의 어떤 Key 가 눌렸는지 알 수 있습니다.

(키보드의 Key에 따라 고유번호가 있거든요)

실시간 감시프로그램, 알고 보면 참 쉽습니다!

아래 화면 캡쳐는 Notepad++의 WM_xxxxxxx 메시지를 후킹 해 본 화면입니다.

이상입니다.

오늘은 Windows에서의 실시간 감시 프로그램의 동작 방식에 대해 말씀드렸는데요, 긴 글 읽어주셔서 감사합니다.

다음에도 좋은 글로 찾아뵙도록 하겠습니다.

앞으로도 네이버 클라우드 플랫폼에 많은 관심 부탁드립니다.

--

--

NAVER CLOUD PLATFORM
NAVER CLOUD PLATFORM

We provide cloud-based information technology services for industry leaders from startups to enterprises.