지난 2 주간 키로거를 주제로 글을 올렸습니다.
관리 차원에서 (사용자의 동의하에) 사용되는 키로거가 꼭 나쁘다고 말할 수는 없을것입니다.
문제는 악의적인 목적으로 사용자 몰래 실행되는 키로거 들입니다.
이러한 악의적인 키로거가 왜 생겨나는지에 대해서 글을 써보도록 하겠습니다.
관리 차원에서 (사용자의 동의하에) 사용되는 키로거가 꼭 나쁘다고 말할 수는 없을것입니다.
문제는 악의적인 목적으로 사용자 몰래 실행되는 키로거 들입니다.
이러한 악의적인 키로거가 왜 생겨나는지에 대해서 글을 써보도록 하겠습니다.
악의적 키로거의 목표
"돈" 입니다.
키로거는 사용자가 입력한 키보드 정보를 저장하고 심지어 빼돌리는 기능을 하지요.
정보화 사회에서 정보는 곧 돈입니다.
어떻게 키로거를 이용해서 돈을 버는지 알아볼까요?
몇가지 사례를 들어보겠습니다.
#1. 온라인 게임
- 대한민국에 널리고 널린 PC 방 아무데나 가서 몰래 키로거를 설치해 둡니다.
- 키로거가 설치된 PC 에서 다른 사람이 온라인 게임을 하겠지요?
- 키로거는 사용자의 계정(ID, Password)를 몰래 저장하여 메일로 전송합니다.
- 수집한 계정으로 온라인 게임에 접속하여 게임 머니와 아이템을 팔아치웁니다.
온라인 게임을 하시는 분들께서는 게임 머니와 게임 아이템들이 실제로 현금 거래가 된다는 것을 잘 알고 계실것입니다.
1년에 거래되는 게임 아이템 금액은 일반인들의 상상을 초월합니다.
#2. 인터넷 뱅킹
그렇다면 게임을 안하는 사람들은 키로거의 피해가 없을까요?
좀 더 피부로 와닿는 사례는 인터넷 뱅킹입니다.
만약 여러분의 인터넷 뱅킹 계정(ID, Password, 계좌번호) 정보를 빼간다면 어떨까요?
자신도 모르게 어느 순간 통장의 잔고가 0 이 되버렸다면...
위 얘기는 제가 지어낸 말이 아니고 지금 실제로 국내/해외에서 벌어지고 있는 일입니다.
전세계적으로 게임 아이템을 도난당한 사례는 이제 더이상 기사거리도 되지 않고요,
특히 남미(멕시코, 브라질, 기타)에서는 인터넷 뱅킹으로 수백만 달러의 피해를 당한 사람들이 속출하고 있습니다.
우리나라는 그나마 인터넷 뱅킹을 하기 위해서는 반드시 IE 를 사용해서 접속해야 하고,
은행 사이트에 ActiveX 보안 모듈을 이용하여 2중 3중으로 보안장치를 마련해놨다곤 하지만,
그 누구도 100% 안전하다고 장담할 수는 없는 상황입니다.
#3. 기업 정보 유출
간간히 언론에 대기업의 핵심 비밀 정보가 외국으로 유출되어 막대한 피해를 입었다는 기사를 접할 수 있습니다.
이러한 기업 정보 유출 사례는 비록 껀수가 그리 많지 않지만 일단 발생하면 그 피해 규모가 어마어마 합니다.
(몇 년간 수천억원을 들여서 힘들게 개발한 핵심 기술이 유출되면 해당 기업은 존폐위기에 몰릴 수도 있겠지요.)
더구나 우리나라의 핵심 산업인 반도체, 자동차, 조선 등의 핵심 기술이 외국으로 유출되면 그야말로 국가 위기 상황이 벌어질 수도 있는 것이지요.
더 문제가 되는 것은 내부에 동조자가 있는 경우가 많다는 것입니다.
내부에 동조자가 있다면 키로거를 설치하기에 매우 좋은 상황이 되는 것이지요.
+---+
이제 키로거의 위험성이 좀 느껴지시나요?
왜 대부분의 Anti-Virus 제품들이 키로거를 '악성' 파일로 분류하는지 아시겠지요?
왜 인터넷 뱅킹(혹은 온라인 게임)을 하려고 해당 사이트에 접속할 때 ActiveX 보안 모듈로 도배를 해놨는지 이해하시겠지요?
키로거의 종류와 향후 발전 방향
아래 그림을 한번 보시죠.
이것은 소위 "하드웨어 키로거"라고 하는 제품입니다.
내부에 flash memory 를 내장하고 있어서 키보드로 부터 들어오는 전기신호를 직접 입력받아 저장하는 장치입니다.
설치와 수거문제가 있긴 하지만 일단 설치되면 사용자는 자신이 키로깅 당한다는 사실을 절대로 알 수 없을 겁니다.
누가 책상밑에 놓여 있는 PC를 (그것도 뒷면을) 자세히 보려고 하겠습니까? (일반인들은 봐도 모를겁니다.)
소프트웨어적으로는 이러한 하드웨어 키로거들을 막을 수 없습니다.
소프트웨어 키로거들에 대해서는 각종 Anti-Virus 프로그램들과 키보드 보안 프로그램들이 키로거를 차단하기 위해서 노력하고 있습니다만, 악의적 키로거를 생성하는 사람들의 목표(=돈)가 너무나 뚜렷하기 때문에 모든 키로거의 완벽한 차단은 불가능합니다.
키로거 프로그램 제작자들은 주로 개발도상국, 후진국에 많다고 합니다.
주로 선진국을 대상으로하여 무차별적으로 키로거를 생성/배포시키고 있습니다.
그들 입장에서는 자신들의 생계가 걸려있는 핵심 사업(?)이지요.
자신들이 만든 키로거 프로그램이 각종 보안모듈에 잡히지 않도록 전부 테스트 해서 내보내는 센스를 갖추고 있는 것입니다.
키로거는 앞으로 더 정교하고 은밀하게 발전해 나갈것입니다.
우리가 입력장치로 키보드를 계속 쓰는 한은 말이지요.
키보드를 안쓰면 키로거의 위협에서 자유로울까요?
상식적으로 생각해서... 기존 키로거 제작자들이 그꼴을 그냥 두고 보겠습니까? ^^ 또 뭔가를 만들어내겠지요.
미래에 키보드가 없어지고 대신에 "필기인식" 혹은 "음성인식" 장치가 널리 사용된다면
반드시 그에 상응하는 "필기로거", "음성로거"가 만들어 질것입니다.
키로거에 대처하는 우리의 자세
키로거를 100% 막을 수는 없지만 노력에 따라서는 피해를 최소화 시킬 수 있습니다.
제가 제안하는 간단한 행동수칙입니다.
- 공공장소(PC방, 학교실습실, 기타)의 PC 에서는 개인정보를 아예 입력하지 말것
- 보안 프로그램을 항상 최신으로 업데이트 시킬것
- 개인 정보 입력에 Copy(Cut) & Paste 를 활용해 볼것 (*)
- 개인 방화벽을 사용할 것 (키로깅을 당하더라도 정보가 유출되지만 않으면 되지 않겠습니까?)
(*) 만약 ID 가 reversecore 라면 corereverse 라고 입력한 후 마우스로 core를 선택해서 Cut & Paste 기능으로 reversecore 로 만들어 내는 겁니다. 사람마다 다양한 응용이 가능하겠지요? 귀찮음을 감수하는 대신 보안을 약간 높일 수 있습니다.
=> 물론 고급 키로거는 클립보드까지 후킹하기 때문에 이 방법도 소용없습니다만 아마추어 (저급) 키로거에게는 효과가 있습니다.
- 보안 프로그램을 항상 최신으로 업데이트 시킬것
- 개인 정보 입력에 Copy(Cut) & Paste 를 활용해 볼것 (*)
- 개인 방화벽을 사용할 것 (키로깅을 당하더라도 정보가 유출되지만 않으면 되지 않겠습니까?)
(*) 만약 ID 가 reversecore 라면 corereverse 라고 입력한 후 마우스로 core를 선택해서 Cut & Paste 기능으로 reversecore 로 만들어 내는 겁니다. 사람마다 다양한 응용이 가능하겠지요? 귀찮음을 감수하는 대신 보안을 약간 높일 수 있습니다.
=> 물론 고급 키로거는 클립보드까지 후킹하기 때문에 이 방법도 소용없습니다만 아마추어 (저급) 키로거에게는 효과가 있습니다.
+---+
글을 끝마치면서 한 가지만 더 강조하겠습니다.
개인정보는 말 그대로 개인이 소중히 여기고 보호하는 마음을 가져야 겠습니다.
특히 비밀번호는 자신만이 알 수 있도록 복잡하게(숫자+문자+특수문자 조합하고 최소8자리 이상으로) 설정하고 절대로 남에게 알려주지 말아야 합니다.
사회공학기법 관련 책을 보면 전문적으로 키보드 입력을 훔쳐보는 해커에 대한 이야기가 나옵니다.
1미터 정도 떨어진 거리에서 신문보는 척하면서 어깨너머로 남들의 키보드 입력을 훔쳐보는 기술입니다.
그야말로 '생활의 달인'이 따로 없습니다.
자신의 소중한 개인정보를 잘 지킵시다~~~
'column' 카테고리의 다른 글
| 책소개 (82) | 2010/09/06 |
|---|---|
| 리버서의 연륜을 말해주는 Opcode Manual (23) | 2010/08/31 |
| 리버싱의 참 맛 (18) | 2009/12/04 |
| UPack 의 추억 (8) | 2009/09/21 |
| DDoS 사이버 테러의 3대 의혹 (누가? 왜? 어떻게?) (8) | 2009/07/10 |
| 창의성과 경험 (바둑과 장기, 프로그래밍과 리버싱) (22) | 2009/06/29 |
| Packer 와 Protector (9) | 2009/06/23 |
| 악의적인 목적으로 사용되는 키로거 (KeyLogger) (13) | 2009/05/21 |
| 좋은 분석 도구(tool)를 선택하는 5 가지 기준 (5) | 2009/03/18 |
| Reverse Code Engineering (2) (14) | 2009/02/28 |
| Reverse Code Engineering (1) (18) | 2009/02/25 |
