이거 장난이 아니네 - 해킹(hacking)

해킹(hacking) (2)
해킹(hacking) (2)

1996년 4월 6일, 포항공대 전기전자공학과가 발칵 뒤집혔다. 시스템에 저장해놓은 연구자료, 과제물 등이 모두 삭제돼 학사행정과 연구작업이 마비상태가 됐기 때문이다. 누군가가 전산시스템에 침투해 관리자 권한을 획득한 후 자료를 삭제하고 비밀번호를 바꿔버린 것이다. 전례가 없는 이 악의적인 범죄에 결국 검찰이 나섰고, KAIST의 해킹방지 동아리 ‘쿠스’ 및 ‘스팍스’의 일부 회원들이 범인임을 밝혀냈다.

당시 포항공대와 KAIST의 해킹 동아리들은 라이벌 관계에 놓여 있었는데, KAIST의 시스템이 뚫리는 사건이 일어나자 이를 포항공대의 소행으로 여긴 쿠스와 스팍스가 보복차원에서 해킹을 시도한 것이었다. 검찰은 단순한 장난으로 여기기에는 이들의 죄질이 나쁘다고 판단, 일부를 구속하고 일부를 불구속 입건하는 조치를 취했다. 이 사건은 사회적으로 큰 파장을 일으켰고, 대중들이 해킹(hacking)이 무엇인지 피부로 느끼게 된 결정적인 계기가 되었다.

해킹의 어원

현재 해킹이라는 말은 허가 받지 않은 정보 시스템에 침투해 자료를 열람하거나 변조 및 삭제하는 악의적인 행위를 통칭할 때 쓰인다. 하지만 초창기 해킹은 악의가 없는 단순한 유희에 불과했으며, 그 시작도 대학생들의 장난에서 비롯됐다.

MIT(메사추세츠 공과대학교)에는 대대로 전해져 내려오는 재미있는 전통이 있다. 자신이 알고 있는 기술을 동원해 장난스러운 깜짝쇼를 벌이는 것이다. MIT 재학생들은 이를 ‘핵(hack)’이라고 부른다. 대표적인 예가 1948년 하버드대와 예일대의 친선 미식축구 게임에서 일어난 핵이다. 당시 MIT 재학생들은 도폭선(동시폭발에 쓰이는 금속관)을 이용해 미식축구 경기장에서 ‘MIT’라는 글자 모양대로 타오르는 장치를 꾸몄다. 하지만 경기 전날 경기장 바닥에 묻어 놓았던 도폭선이 발각됐고, 두꺼운 코트 안에 도폭선을 작동시킬 배터리를 숨겨 경기장에 잠입했던 MIT 학생들은 체포되고 말았다. 이에 MIT 학장이 나서서 “공대생이라면 누구나 배터리를 가지고 다닌다(All Techmen carry batteries)”고 적극 변호에 나섰다는 일화가 전해진다. 이 어록은 MIT 출신들 사이에서 전설처럼 내려오고 있다.

해킹(hacking) (3)
해킹(hacking) (3)

해킹(hacking) (4)
해킹(hacking) (4)

화학, 금속 등 분야를 가리지 않고 공과대 전반에 걸쳐 두루 사용되던 핵이 현재처럼 컴퓨터 프로그래밍 분야로 좁혀지게 된 것은 1960년 초 MIT에서 인공지능을 연구하던 학생들 때문이었다. 이들은 대학교 소유의 컴퓨터에 밤마다 몰래 접근해(당시에는 컴퓨터가 귀해 일반인들은 접근이 허용되지 않았다고 한다) 각종 프로그램을 실행 및 수정하며 연구에 몰두했다. 이들은 이 행위를 핵의 일종으로 여겼으며, 자신들을 핵을 수행하는 사람, 즉 해커(hacker)라고 불렀다. 이들이 썼던 말이 현재 해킹, 해커의 어원이 되었다고 보는 게 가장 유력한 가설이다.

이처럼 초창기 해킹은 기술을 기반으로 할 것, 예측이 힘든 의외성을 띨 것, 아무도 모르게 수행해야 할 것, 다른 사람에게 피해를 주지 말 것을 특징으로 삼았다. 따라서 이 시대 해킹은 남의 자료를 재미삼아 훔쳐보거나 비밀번호를 바꾸는 장난이 대부분이었다. 그러나 정보화 시대에 접어들면서 정보가 중요한 재산이 되기 시작했다. 정보 유출은 피해자들에게 심각한 타격을 입혔고, 이를 노린 사람들이 해킹을 범죄의 수단으로 삼았다. 장난에서 출발한 해킹이 ‘장난이 아닌’ 범죄로 발전하고야 만 것이다.

해킹과 크래킹은 다르다?

이에 따라 긍정적인 해킹과 부정적인 해킹을 구분해야 한다는 목소리가 높아졌다. 기존의 악의 없는 해킹은 그대로 해킹이라 부르되, 남에게 해악을 끼치는 해킹은 크래킹(cracking)이라고 부르자는 것이다. 일부에서는 크래킹을 방지하기 위해 보안의 취약점을 찾아내는 행위를 해킹이라고 정의하기도 한다. 이들은 보안 전문가들은 해커라고 부르고 범죄자들은 크래커라고 불러야 한다고 목소리를 높이고 있다.

반면 해킹/크래킹의 이분법적 구도에서 벗어나 더 세분화된 용어가 필요하다고 주장하는 사람들도 있다. 이들은 다양한 기준에 따라 화이트햇, 블랙햇, 그레이햇, 블루햇 등으로 해킹을 구분한다.

화이트햇(White hat)

화이트햇은 ‘착한 사람’이라는 뜻으로 악의가 없는 해킹을 말한다. 예를 들어 자기 회사의 보안 시스템에 침투해 취약점을 찾아내는 보안 전문가를 화이트햇 해커라고 칭할 수 있다.

블랙햇(black hat)

블랙햇은 ‘악당’이라는 뜻으로 정보 삭제, 신용카드 도용, 해적판 제작 등 타인에게 피해를 주는 불법적인 해킹을 말한다. 크래킹의 동의어로도 쓰인다.

그레이햇(gray hat)

그레이햇은 화이트햇과 블랙햇을 섞어놓은 해킹이다. 그레이햇 해커들은 해킹을 한 후 해당 관리자에게 이 사실을 알린다. 해당 취약점을 수정해주는 대가로 실비를 받으려는 속셈이다.

블루햇(blue hat)

블루햇은 보안 분야의 베타테스트로 이해하면 된다. 특정 시스템을 본격적으로 구동하기 전에 버그를 찾아내는 보안 컨설팅 회사를 블루햇 해커라고 부른다.

아마추어 해커(script kiddie)

컴퓨터 지식이 부족해 남이 만들어놓은 프로그램으로 해킹을 시도하는 사람들이 있다. 주어진 대본을 그대로 읽기만 하는 아이라는 의미로 이들을 ‘스크립트 키디’라고 부른다.

핵티비스트(hacktivist)

해커(hacker)와 정치운동가(activist)를 합성한 용어로 정치, 사회, 종교 등의 메시지를 알리는 것이 주목적인 해커들이다. 이들은 특정 목적을 위해 해당 기관의 시스템을 다운시키거나 관련 이미지 및 문구를 홈페이지에 걸어놓는다.

해킹에 사용되는 기술

해킹에는 다음과 같은 여러 가지 기술이 사용된다.

취약점 검사(vulnerability scanner)

취약점 검사는 시스템에 침투하기 위한 구멍(취약점)을 찾는 프로그램을 칭한다. 포트 스캐너(port scanner)가 대표적인 취약점 검사 프로그램으로, 이를 사용하면 해당 시스템에 접근할 수 있는 네트워크 통신 포트를 알아낼 수 있다. 기본적으로 네트워크 방화벽에서 이들 통신 포트의 사용을 제한할 수 있기에 접근이 쉽지 않지만, 숙련된 해커들은 이 방화벽을 우회하는 방식을 쓴다.

비밀번호 크래킹(password cracking)

해당 시스템에 저장되어 있는 비밀번호를 알아내는 기술도 있다. 대표적인 방법으로는 비밀번호에 맞을만한 모든 경우의 수를 대입하는 기술이 있다. 예를 들어 4자리의 숫자로 이루어진 비밀번호를 해킹하려면 0000부터 9999까지 총 1만 개의 숫자를 일일이 대입해보면 된다.

루트킷(rootkit)

루트킷은 사용자가 알아채지 못하도록 특정 PC에 몰래 설치되는 프로그램 모음을 말한다. 대부분의 루트킷은 한 번 설치되면 설치 경로를 바꾸어놓고 철저하게 자신의 존재를 숨기기 때문에 사용자들은 루트킷의 존재조차 모를 때가 많다. 또한 보안 시스템을 망가트려 쉽게 삭제하지 못하게 만들어놓은 루트킷도 있다.

키 로거(Key loggers)

키 로거는 사용자가 자판으로 남긴 로그를 훔친 후 복원하는 기술이다. 키 로거 해커들은 트로이목마나 루트킷을 주로 사용한다. 따라서 루트킷의 설치가 의심되는 PC방이나 공공장소의 PC에서는 개인정보를 입력하지 않는 게 좋다. 최근 서비스되는 온라인게임이나 은행 등의 금융기관에서는 키 로거를 방지하는 보안프로그램을 제공하고 있다.

스푸핑 공격(spoofing attack)

스푸핑은 자신을 감추고 신뢰성 있는 사람으로 변장하는 것을 뜻한다. 스푸핑 공격에는 IP 스푸핑, DNS 스푸핑, APR 스푸핑, 이메일 스푸핑 등이 있다. 이 중 IP 스푸핑은 자신을 믿을만한 컴퓨터(또는 사용자)로 인식하도록 IP 주소를 속이는 방법이다. 즉 침투하고자 하는 시스템이 신뢰하고 있는 다른 컴퓨터의 IP 주소를 도용하는 것을 말한다.

패킷 스니퍼(packet sniffer)

패킷 스니퍼는 네트워크를 통해 오가는 데이터 패킷을 가로채는 기술이다. 주로 비밀번호를 수집할 때 사용한다.

이 외에도 트로이목마, 바이러스, 웜 등을 사용해 피해를 입히는 사이버테러도 넓은 의미에서 해킹의 범주에 넣을 수 있다.

해킹(hacking) (5)
해킹(hacking) (5)

해킹은 필요악일까

국가기관이나 대기업 해킹에 성공한 해커들은 체포될 때 엄청난 유명세를 탄다. 그 중 일부는 해커들 사이에서 영웅 대접을 받기도 한다. 그리고 형을 마치고 출소하면 또 한 번 사람들의 입에 오르내린다. 유명한 업체에서 거액을 주고 스카우트했다는 소문이 끊이질 않기 때문이다. 실제로 전설적인 해커 중 한 명인 케빈 미트닉(Kevin Mitnick)은 석방된 후 보안 컨설팅 CEO가 됐으며, 1996년 KAIST의 해킹 사건의 핵심 인물은 대기업을 거쳐 벤처 기업의 사장이 됐다.

혹자는 해킹이 필요악이라고 이야기한다. 악의적인 해킹이 일어나면 그 취약점을 보완한 보안 시스템이 등장하고, 다시 그 보안 시스템이 뚫리면 더 나은 보안 시스템이 나오는 과정에서 보안 기술이 전체적으로 발전한다는 것이다. 사실 해킹이 보안 분야 발전의 촉매 역할을 하고 있는 것은 부인할 수 없는 사실이다. 그러나 허락 없이 남의 정보에 손을 대는 해킹은 엄연한 범죄 행위다. 개인의 입신양명을 위해 남에게 피해를 입히는 해커가 영웅시되는 분위기는 반드시 근절되어야 할 것이다.

글 / IT동아 서동민(cromdandy@itdonga.com)

IT동아의 모든 콘텐츠(기사)는 Creative commons 저작자표시-비영리-변경금지 라이선스에 따라 이용할 수 있습니다.
의견은 IT동아(게임동아) 페이스북에서 덧글 또는 메신저로 남겨주세요.