키로거
keylogger
1. 개요
컴퓨터가 받아들이는 입력 정보의 기록, 그 중에서도 주로 키보드를 통한 입력의 기록을 제작하는 장치를 말한다. 대개 사용자의 동의 없이 기록을 만들고 전송하는 방식의 크래킹 도구로 쓰인다.
2. 상세
크게 둘로 나눠 소프트웨어 형식과 하드웨어 형식이 있는데 많이 사용되는 것은 소프트웨어 형식 키로거이다.
2.1. 소프트웨어 키로거
시스템 애플리케이션과 유사한 EXE 파일 이름[1] 으로 메모리에 상주하며, 자판이나 마우스 입력를 읽어 문서 파일로 저장하거나 주기적으로 전송하는 프로그램이다.
특정 게임의 암호만을 빼내는 키로거도 있다. 이러한 소프트웨어 키로거는 흔히 구할 수 있으며 안티 바이러스 애플리케이션의 주요 검출 대상이므로 일단 백신 프로그램이 깔려있는 곳에서는 어느 정도 키로거의 위협으로부터 안심할 수 있다.
다만 소프트웨어 키로거 주제에 드라이버 파일로 위장해서 아래의 하드웨어 키로거를 에뮬레이션하는 괴랄한 녀석도 있는데 이런 경우 커널에 바로 붙어서 돌아가는 지라 탐지가 극히 어렵다고 한다. 대표적으로 Darkhotel이 이런 키로거를 사용해서 화제가 되었다. 해당 키로거를 분석한 카스퍼스키의 Costin Raiu의 평가는 NSA급 배경지식이 있는 게 아니고서야 시도할 엄두조차 못낼 정도로 복잡하다고. 이런 괴악한 물건이 나온 이유는 해당 키로거가 원래 한국에 만연한 액티브X계열 보안프로그램을 속이고 돌아가기 위한 목적으로 개인이 개발하던 물건을 쓱싹해다가 개조한 물건이라서다. 원본은 키로거주제에 트로이목마로 분류된다!
2.1.1. 방식
키보드에서 키를 누르면 그 키의 이벤트가 운영체제 메시지 큐에 들어가게 되고 들어오는 순서대로 어떤 프로그램에서 키를 눌렸는지 확인하고, 키 이벤트를 해당 프로그램의 메시지 큐에 옮기게 되고 프로그램은 해당 메시지 큐를 처리하여 글이 입력되는 것으로 키 입력 과정이 끝나게 된다.
다만 여기서 키로거는 원래 프로그램에게 전달되어야 할 키 이벤트를 중간에 가로채서 키 이벤트를 확인하고 원래의 프로그램에게 키 이벤트를 전달하게 된다. 즉 이것은 후킹이라고 부른다.
2.2. 하드웨어 키로거
하드웨어적인 방식이므로 백신 프로그램에서 잡을 수 없다. 하드웨어 키로거는 키보드 입력을 메모리에 기록하며 특정 문자열을 입력해야만 이동식 디스크로 인식하여 볼 수 있다. 여러모로 소프트웨어 방식보다 무서운 장치. 미국의 이베이나 아마존닷컴에서 쉽게 구할 수 있다.
다만 소프트웨어 방식에 비해 입력 정보 탈취에 하드웨어 키로거를 사용하는 사례는 거의 없다. 우선 직접 대상 컴퓨터에 연결해야 하고 본체 앞 USB 포트가 아닌 뒤 본체 USB 포트에 연결해야 한다. 그리고 그걸로 끝나는게 아니라 사용하고 나서는 로그를 보기 위해 직접 대상 컴퓨터에서 가져와야 한다. 보안 부서에서 전자기기 검사에 들어가면 그대로 걸릴 수 있기 때문이다.
3. 기타
2011년경 한 파워블로거가 미국에서 판매되는 삼성 노트북 컴퓨터에 Starlogger라는 키로거 프로그램이 설치되어 있다는 제보를 하여 떠들썩했던 적이 있다. 실제로는 당연히 그런 거 없었으며 그 블로거가 사용한 보안용 프로그램이 윈도 서브폴더인 SL 폴더를 Starlogger 폴더로 오인하여 생긴 일.
[1] svchost.exe를 살짝 바꾼 svchoost.exe 등