최근 쇼핑몰을 해킹해 몇 백만 원 짜리 물건을 천원에 산 후 환불받는 형식으로 1억 5천만 원의 부당이익을 챙긴 남성이 덜미가 잡혔다. 이와 같은 해킹에 대비해 최근 정보 시스템에 대한 보안방법을 늘여가고 있지만 새롭고 기발한 해킹 수법 또한 끊임없이 생겨나고 있다. 지금 이 시간에도 네트워크 전쟁이 이루어지고 있을지 모른다. 최근 국정원의 해킹프로그램 사용 의혹, 대기업의 회원 개인정보 유출 등 사이버 범죄는 심각한 사회문제로 떠오르고 있다. 또한 엄격한 보안이 요구되는 자료나 시스템 불법침해 사례가 급증하고 있다. 우리는 이러한 해킹이 어떻게 이루어지는지 어떻게 예방하면 좋은지 알아보자●

법률적인 의미에서의 해킹은 시스템의 관리자가 구축해 놓은 보안망을 무력화시키는 행동이라고 말한다. 하지만 네티즌들 사이에서는 일반적으로 시스템과 네트워크의 허점을 이용하여 시스템 관리자의 권한을 불법적으로 획득한 경우, 또 이를 악용해 다른 사용자에게 피해를 준 경우를 해킹이라고 정의하고 있다. 이처럼 해킹은 상자의 자물쇠를 뚫고 보석을 쟁취하는 과정이라고 할 수 있다. 시스템을 뚫고 목적을 달성하는 것이다. 이러한 해킹이 반드시 법을 위반한다고 볼 수는 없다. 이를테면 컴퓨터 시스템의 소유자가 해커에게 해킹을 하도록 허락하기도 한다. 마이크로소프트, 야후, MCI 월드콤 등을 해킹하고 젊은 나이에 전설적인 해커가 된 인물이 있다. 바로 에이드리언 라모다. 그를 포함한 일부 해커들은 대상이 된 기관을 공략해서 해킹한 후 보안 취약점을 해당 기관에 알려주는 일을 한다. 그들은 해킹의 세계에서 소위 로빈훗 해커라 불린다. 그들의 해킹으로 인해 불법 해킹에 대한 사전예방을 할 수 있기 때문이다.  

오픈 프록시

해킹을 도와주는 연결다리 

우리가 검색할 때 자주 사용하는 ‘구글의 검색 서비스’를 이용하면 특정 사이트의 정보를 손쉽게 입수할 수 있다. 에이드리언은 세계적인 전자상거래 업체를 해킹하려고 마음먹었다. 그는 필라델피아 대학의 학생회관에 있는 네트워크 단자에 노트북을 연결하고 그 웹사이트를 탐색하기 시작했다. 많은 사람들이 다니는 공간, 누구나 쓸 수 있는 무선랜이 제공되는 학생회관은 그가 자신의 신분과 위치를 감추기에 충분했다. 그는 환경설정이 잘못된 프록시 서버를 공략하는 방법을 주로 이용했다. 프록시 서버란 내부 네트워크와 외부 네트워크(인터넷) 사이에서 안팎으로 통과하는 트래픽을 감시하고 전달하는 역할을 한다. 시스템 관리자가 프록시 서버의 설정을 잘못 잡으면 해커는 프록시 서버라는 다리를 통해 편하게 넘어올 수 있게 된다. 그는 학생회관에서 웹사이트로 들어갈 수 있는 잘못된 프록시 서버 하나를 찾아냈다. 그는 사이트 중 하나를 선택해 로그인이 안 되니 도움을 달라는 글을 올렸다. 잠시 후 돌아온 대답 속에는 IT장애처리 해결용 시스템의 URL 주소가 포함되어 있었는데 이를 분석함으로써 다른 사이트 또한 접근할 수 있게 되었다. 장애처리 시스템 속에는 고객들의 아이디와 비밀번호 등 비밀스런 정보들이 가득했다. 그 중 에이드리언의 눈에 띈 장애처리 도움요청이 있었는데 개인정보를 도둑맞아 도와달라는 내용이었다. 내부 담당자가 적어놓은 메모에 의하면 그것은 회사 측의 잘못이 아니기 때문에 답변을 할 필요가 없다고 돼 있었다. 그는 도움을 요청한 이에게 전화를 걸어 올바른 해결책을 알려주었다. 회사를 해킹한 해커가 대신 요청자에게 대처법을 설명해준 셈이다.    

DNS 역탐색, IP주소를 통한 역추적 

어느 날 에이드리언이 사용하던 오픈 프록시가 어느 순간 더 이상 작동하지 않게 된다. 그는 두 번째로 ‘DNS 역탐색’이란 방법을 사용했다. 이것은 IP 주소를 입력하면 그에 매치되는 호스트명을 알려주는 서비스다. 예를 들어, 웹 브라우저에 www.knun.net이라는 URL을 입력하면 그 요청이 네임서버(DNS)로 전달되고, 네임서버는 대응하는 IP주소 121.78.127.84를 알려준다. 이것을 정상 DNS 탐색이라고 하며, ‘역탐색’은 반대로 IP주소 121.78.127.84를 주면 그에 대응되는 호스트 이름을 찾아주는 과정이다. 이 방법을 이용해 많은 사이트의 IP주소로 접근하던 중 암호 없이 공유 설정한 폴더나 디스크를 발견했다. 그는 운영체제 시동 스크립트를 수정해서 트로이 목마를 해당 컴퓨터에 설치했다. 그는 웬만한 트로이 목마는 백신에 의해 격리당하는 것을 알기 때문에, 유명 소프트웨어 회사의 원격관리 프로그램을 입수한 후 살짝 변형시켜 눈에 보이지 않도록 만들었다. 백신 프로그램들은 해커들이 사용하는 원격관리 프로그램은 척척 찾아내지만 소프트웨어 회사의 원격관리 프로그램은 눈감아 주는 경우가 많다. 그는 프로그램을 통해 다른 컴퓨터와 통신하고 있는 네트워크 연결 정보를 수집했다. 이러한 과정을 바탕으로 그는 계속해서 회사 내부의 컴퓨터들의 IP주소와 기밀 자료들을 수집해 나갔다. 심지어 그는 3백만 명이 넘는 고객들의 이름, 메일주소, IP주소까지 다양한 정보를 수집해 나갔다. 그 후 그는 해킹한 자료를 회사에게 보여준 후, 해당 회사의 수석엔지니어를 만나 보안에 대해 진지한 이야기를 나눈다. “회사 내에는 수백 대의 컴퓨터들이 네트워크에 연결된 채로 방치된 장비가 많다. 하나하나가 해킹의 통로가 될 위험이 있으니 주의하라”

해킹 미리 예방해요

첫째로 사용자의 계정을 만들 때에는 작업을 위한 최소한의 권한만을 제공해야 한다. 당신의 절친한 친구가 과제 때문에 노트북을 빌려달라고 요청해서 계정을 줘야만 할 때가 있을 것이다. 이때 필요한 프로그램에 대한 접근권한만을 주어야 하며, 어떤 것이든 지울 수 있도록 해서는 안 된다. 또한 사용자들이 언제, 어디서 로그인 하는지 알아야 한다. 사용자들이 더 이상 접속할 필요가 없어졌다면 그들의 계정을 삭제하고 확인해야 한다. 침입에 사용되는 지역 사용자계정은 대개 여러 달 이상 사용되지 않고 있는 것들이다. 아무도 사용하고 있지 않기 때문에 이런 계정들은 해커들의 훌륭한 먹잇감이 되기 십상이다. 

해커 에릭은 개인 방화벽이 설치되어 있는 CEO의 개인 컴퓨터를 뚫고 들어갔다. 방화벽이 허용한 서비스를 악용한 것이다. 많은 사람들이 방화벽이 스스로 알아서 동작하기만 바라고 뒷전에 물러서 있는 경우가 많다. 나의 컴퓨터에 주요정보가 들어있다면 업무상 불필요한 모든 트래픽을 걸러내도록 방화벽을 설정하고 주기적으로 방화벽의 규칙과 로그를 점검해야 한다. 또한 사용자 계정에 대한 정기적인 점검이 필요하다. 이런 절차를 자동화해주는 많은 공개 보안 프로그램이 있다.

보안을 위해서 자신의 컴퓨터 시스템을 확인해야 할 필요가 있다. 우선 프로세스 목록을 점검해서 비정상적이거나 목적이 불확실한 프로세스가 있는지 확인해야 한다. 또한 주기적으로 실행되는 프로그램의 목록을 확인해 추가 또는 변경된 것이 있는지 확인해야 한다. 디스크 여유 공간을 점검하여 비정상적으로 감소되었는지 확인 할 필요도 있다. 그러나 무엇보다 중요한 것은 암호를 탄탄하게 만드는 것이다. 해커는 암호가 어떤 방식으로 만들어지는지 유추하기 위해 이메일 뿐 아니라 파일 전체를 뒤지기도 한다. 우리는 해커가 유추할 수 없도록 암호를 걸어둘 필요가 있다. 

참고

해킹과 보안 노용환 정해윤 최길준 공저

해킹 : 침입의 드라마 케빈 미트닉& 윌리엄 사이먼

해킹事例分析과 病院 保安에 관한 硏究

 : 강원대 최종진 2002

저작권자 © 경북대학교 신문방송사 무단전재 및 재배포 금지