본문 바로가기

[☩ Security ☩]

Hacker와 Cracker 차이

노트북 구석에 있던 먼지 많은 문서를 하나 올려 봅니다.


단어의 올바른 정의 : 해킹, 해커
사용자 삽입 이미지

영화나 드라마에서는 인터넷을 이용하여 CIA와 FBI의 메인 컴퓨터를 해킹하려거나 미 국방성의 메인 컴퓨터를 해킹하는 장면이 가끔 등장 한다. 그 해커들은 대부분 정신 이상자나 또는 산에서 몇 년간 도를 닦다 방근 내려온 사람처럼 비정상적인 모습으로 비추어진다. 그리고 마치 무언가에 홀린 듯이 모니터를 바라보며 키보드를 마구 두드리면 잠시 후에 비밀번호와 극비 문서가튀어나온다.

많은 이들이 이와 같은 모습의 해커가 되고 싶어한다.

그 이유는 무엇일까? 그것은 인터넷을 누비는 무한한 자유와 해킹이라는 감춰진진 영역에 대한 신비감 때문일 것이다. 그러나 다소 실망스럽겠지만, 현실에서는 그런 모습의 해커는 없다. 영화나 TV에서 보여지는 해커들과 그들의 멋있는 해킹 장면들은 알다시피 모두 연출된 상황으로, 실제와는 거리가 있다.

그렇다면 실제 해커들은 어떤 모습일까? 이 문제에 대한 정답은 없다. 해커와 해킹에 대한 개념 정의가 개인마다 차이가 있을 수 있으며, 객관적으로 정의돈 개념도 없기 때문이다. 개인에 따라 해킹과 해커에 대한 정의에서 차이가 나는 것은 해커와 비슷한 개념으로 '"크래커(Cracker)" 라는 것이 있기 때문이다. 자, 그러면 우선 "해킹(Hacking)" 과 "해커(Hacker)"에 대해 그 의미를 알아보자.

해커(Hacker)라는 단어의 유래는 50년대 MIT에서 시작한다. 당시 MIT 공과대학 내에 (테크모델철도클럽)이라는 동아리의 한 모임에서 철도 분기점 입체와설계에 따르는 난제들을 해결하기 위해 대학내 건물에 밤마다 몰래 들어가서 IBM704 컴퓨터 시스템을 사용하여 어려운 문제를 악착같이 해결해 냈다.

그 뒤로 이들과 같은 집념어린 노력가들을 "Hacker" 라불렀다.
인터넷과 컴퓨터가 점차 대중화되어 감에 따라 "해커" 의 의미도 점차 바뀌어 갔다. 물론 개인에 따라 차이는 있을 수 있지만, 필자는 "해킹" 을 다음과 같이정의 한다.

해킹의 정의
특정 시스템 보안상 문제를 찾아내고 가능하다면 그것을 해결하여 크래커의 의한 악용을 방지하는 것이 정의에 따르면, "해커"는 굳이 정의하지 않아도 이해하리라 믿는다. 즉, 필자가 생각하는 "해커" 라 하면 일종의 보안 전문가인 셈이다.

단어의 올바른 정의 : 크래킹, 크래커
크래킹(Cracking)이라는 단어는 많은 의미를 내포하고 있다. 그만큼 사용하는데 있어서 주의를 기울여야 하는 단어기도 하다.

크래커의 반 해킹적 의미
위에서 소개한 "해킹" 의 정의에서 "크래커(Cracker)" 라는 용어가 등장했다. 그렇다면 크래킹은 과연 무엇이며 해킹과는 어떻게 다른 것인지를 알아보자.

"크래킹(Cracking)" 에 대한 정의 역시 개인마다 차이가 있을 수 있으며, 객관적인 기준은 없다. 다만 누구에게나 공통적인 것은 "크래킹" 이 "해킹" 과 상대적인 의미를 갖는다는 점이다. 다음은 생각하는 "크래킹" 의 정의이다.

크래킹의 정의
1. 허가받지 않은 시스템에 대하여 정신적 또는 물리적인 피해를 입히는 것
2. 특정 개인이나 특정 단체의 정신적 또는 물리적인 이익을 위해여 허가받지 않은 시스템에강제로 침입하는 것
크래킹에 대한 필자의 정의는 추가의 설명이 필요할 것으로 보인다. 위의 두 가지 내용중 하나 이상의 항목에 해당되는 경우, 이를 크래킹이라고 부른다.

위에서 "허가받지 않았다" 는 말은 시스템의 관리자에게 허락받지 않았다는 것을 의미한다. 또한 "정신적 또는 물리적" 이라는 말은 다음과 같이 구분한다.

정신적인 피해
1. 시스템의 관리자나 사용자들로 하여금 불쾌한 감정을 주는것
2. 시스템의 관리자나 사용자들의사회적 명예를 훼손하는 것

물리적인 피해
1. 시스템의 관리자나 사용자들로 하여금 금전적인 피해를 주는 것

정신적인 이익
개인적인 만족감의 충족이나 호기심의 해결
물리적인 이익
금전적인 이익

아마 이 글을 보시는 분들은 자신의 저인적인 이익을 위해서 해커가 되고 싶어 할 것이다. 만일 그런 생각을
가지고 이 글을 보는 사람이 있다면, 다시 한번 진지하게 생각해 보아야 할 것이다. 자신이 해커가 되고 싶은지, 크래커가 되고 싶은지를...

크래킹의 위자드적 의미
컴퓨터를 사용하는 사람들은 그 숙련도에 따라 아래와 같이 보통 7단계로 구분할 수 있다. 위자드(Wizard)
는 컴퓨터 사용자중 최고 수준의 프로그래밍 실력을 가진 사람들을 일컫는 말로, 마치 컴퓨터를 마술처럼 다룬다는 의미에서 붙여진 명칭이다.

컴퓨터 사용자의 수준별 7단계
초보자 - 사용자 - 개발자 - 오퍼레이터 - 해커 - 구루(Guru) - 위자드(Wizard)

위자드는 말 그대로 프로그래밍의 마법사이다. 과거 MS-DOS 시절에는 게임이나 상용 소프트웨어의 불법 복제를 방지하기 위하여 프로그램 자체에 암호를 저장하여 설치나 실행을 하려 하면 암호를 물어보는 방식으로 정당한 사용자인지를 파악하곤 하였다.
하지만 이러한 방법은 위자드들의 마법으로 쉽게 무용지물이되었다. 그 뒤로 "크랙(Crack)" 으로 하는 것이 일반적이다.

크래킹의 암호학적 의미
유닉스/리눅스 시스템에서는 사용자들의 패스워드를 특정한 방식으로 암호화 하여 보관 한다. 그 방식은 절대로 풀어낼 수 없는 일방 함수 구조로 되어 있어서유닉스/리눅스 시스템에서 패스워드를 풀어내는 일은 결코 쉽지가 않다. 하지만 무차별 대입이나 단어 사전 등을 이용하여 편법으로 패스워드를 풀어낼 수 있는 경우가 있으며, 이러한 일을 해 주는 프로그램을 "패스워드 크래커" 라고 한다. 해커의 윤리적 규범, 해커 윤리 모든 해커들은 자신만의 해커 윤리를 가지고 있다. 이것은 해커와 크래커를 구분 짓는 또 하나의 기문으로, 말그대로 해커가 지녀야 할 윤리적 규범을 가리킨다.

몇몇 유명한 해커들은 자신의 해커 윤리를 인터넷이나 저서를 통하여 공개함으로써 자신이 생각하는 해킹이 그 대표적인 예로, 그의 해커 윤리는 이미 널리 알려져 있다. 다음의 글은 60년대 초대 해커들의 따랐던 그의 해커 윤리 5개 항이다.

해커 윤리 5개 항목
1. 컴퓨터에 대한 접근은 누구에 의해서도 방해받아서는 안 된다.
2. 모든 정보는 개방되어야 하고 공유되어야 한다.
3. 해커는 자신의 해킹에 의해서만 평가받아야 하며 연령, 지위, 재산등주관적 판단기준에 재단되어서는 안 된다.
4. 컴퓨터를 통해 예술과 아름다운을 창조할 수 있다.
5. 컴퓨터는 모든 생활을 보다 나은 방향으로 변화시킬 수 있다.

당연이 이 글을 필요로 하고 읽는 사람들은 해킹에 대해 관심을 갖고 해커가 되고 싶다거나 해킹이 어떻게이뤄지는 지 등을 알고 싶어하는 사람들일 것이다.

사실 해킹은 너무도 방대하고 접근 방법도 다양하다. 그래서 많은 사람들이 해커가 되고벴다고 많은 해킹 문서를 다운받아 두지만, 막상 문서 내용대로 따라하려고 보면 구체적인 방법은 빠져있다. 아니, 알려주지를 않는다. 그런데 여러분들에게 필요한 것은 구체적인 사례이다.

잘못된 사회적 인식
해커와 크래커의 차이를 알아본 지금 시점에서, 한가지 짚고 넘어가야 할 것이 있다. 방송이나 신문에서 말하는 "해킹" 이라는 단어는 사실 "크래킹" 의 의미를 가지고 있다는 것이다. 예전부터 우리나라의 매스컴은 "해킹" 과 "크래킹" 을 구분하지 않고 해킹이든 크래킹이든 무조건 "해킹" 이라고 치부해 버리는 악습을 가지고 있었다.

하지만 미국과 같은 선진국에서는 매스컴에서도 분명한 해킹과 크래킹을 구분하고 있으며, 크래커를 일컬어 "침입자(intruder)" , "공격자(invader)" 등으로 표현을 한다. 우리나라에도 건전한 해킹 문화가 자리잡기 위해서는 우선 매스컴의 정확한 표현이 있어야 한다. 이글을 읽은 사람들만이라도, 해킹과 크래킹을 확실히 구분하여 단어를 사용했으면 하는 바램이다.

'[☩ Security ☩]' 카테고리의 다른 글

CISA 소개 및 시험자료  (3) 2008.05.04
Virus관련 이상 증상 BEST 5  (0) 2008.05.04
싸이월드 방문자 추적기 사건사고  (15) 2008.04.27
노트북 도난방지 & 추적 프로그램  (14) 2008.04.22
Text 비교분석 Windiff  (0) 2008.04.15