그림자 매
1983년, 체포되었던 빌 랜드리스는 가석방되었고, 권력자의 측근으로부
터(Out of the Inner Circle)이라는 컴퓨터 보안 안내서를 출판한 뒤 베일
에 싸인 채 실종되었다고 알려진 바 있다. 그는 '스물두 번째 생일을 즈음
한 어느 날' 자살할 것이라고 언급했다 한다. 이 자살 선전이 인기를 위한
책략인가 아니면 사실인가에 대해서는 많은 논쟁이 있었다. 결국 랜드리스
는 1987년 7월에 워싱턴 주 시애틀에 다시 나타났고, 집행유예 기간에 보
호 관찰을 어겼다는 이유로 다시 수감되었다. 그보다 한 달 전인 노르망디
상륙 기념일에는, 그림자 매(Shadow Hawk, 어떤 책에는 '그림자 매 1'이라
고 나와 있다)라는 해커가 프릭 클래스-2600(Phreak Class-2600)이라는 텍
사스 BBS에다가 자신이 AT&T사의 컴퓨터 시스템에 침투한 방법을 자랑삼아
올린 게시물을 AT&T사의 보안 요원이 발견하였다. 그림자 매(실은 시카고
의 허버트 진 Herbert Zinn)가 체포되었을 때, 그는 겨우 18세의 고등학교
중퇴자였다. 위에 언급한 해킹뿐만 아니라 나토(NATO; 북대서양 조약 기
구)와 미 공군 컴퓨터에까지 침입하여 백만 불의 가치가 있는 소프트웨어
를 훔쳐낸 그림자 매를 붙잡기 위하여, FBI, 재무부 검찰국, 범죄예방수사
국, 시카고 특별수사대가 총동원되었다. 그림자 매 사건은 중요한 의미를
지니는 데, 그 이유는 그가 컴퓨터 사기와 남용에 대한 법(1986년)에 따라
최초(1989년)에 기소된 사람이기 때문이다. 그림자 매 사건은 이런 취미를
가진 사람들이 어떻게 법적 문제를 일으키는가를 보여준 작은 예에 지나지
않는다. 지금 이 시간에도 많은 수의 해커들이 전화 회사나 다른 조직체의
보안 담당자, FBI, 지방 경찰이나 관계자들에게 체포되고 있다. 이젠 수사
관들이 더 현명해져야 할 때이다. 이 말은 컴퓨터와 해킹에 관해 갑자기
많이 알아야 한다는 뜻이 아니고 호랑이를 잡으려면 호랑이 굴로 들어가야
한다는 사실을 이해해야 한다는 뜻이다. 경찰 관계자도 해커 BBS에 접속하
여 그곳의 일반 사용자들로부터 많은 정보를 얻어내야 한다. 이런 식으로
많은 자료들이 수집되었고, 이 자료들을 이용해 많은 컴퓨터 범죄자들을
체포할 수 있었다. 1986년 8월, 클리프 스톨(Cliff Stoll)은 캘리포니아에
있는 로렌스 버클리 연구소의 컴퓨터 계좌에서 왜 75센트의 오차가 생기는
지를 알아보기 위해서 연구에 착수하였다. 스톨의 노력은 결국 시스템에
침입했던 일련의 독일 해커 집단의 발견으로 이어졌다. 1989년 10월 스톨
의 공적은 뻐꾸기 알(the Cuckoo's Egg)이라는 이름의 책으로 출간되었고
순식간에 베스트셀러가 되었다. 조직화되거나 독자적인 해커의 활동이 그
뒤로도 몇 년 동안 계속되었지만 일반인들은 거의 관심을 보이지 않았다.
1988년 초, 서베를린 카오스 컴퓨터 클럽이 나사의 우주 물리분석 네트워
크에 트로이 목마 프로그램(Trojan horse)을 풀어놓아 자기네 이름처럼 혼
돈(chaos)을 불러일으키겠다고 협박했다. 이 위협은 실행되지 않았지만,
위협의 실행 여부에 대한 조사가 끝날 때까지 많은 컴퓨터가 일시적으로
네트워크와의 연결을 끊어야 했으므로 어쨌든 약간의 혼란을 불러일으켰
다. 1988년 말, 정확히는 11월 2일, 반해커 감정이 갑자기 커지기 시작했
다. 바로 이 때 로버트 모리스 2세의 컴퓨터 웜 프로그램이 인터넷에서 활
동을 시작했기 때문이다. 메일 전송 프로그램(sendmail program)에 숨겨진
버그와 웜 프로그램 자체의 기능을 이용하여 이 벌레(worm)는 컴퓨터와 네
트워크 사이를 휘젓고 다니면 시스템에 침입하여 빠른 속도로 시스템의 처
리 성능과 메모리 공간을 먹어치워 버렸다.
전자개척재단
전자개척재단(Electronic Froniter Foundation, EEF)은 1990년 7월 10일
에 탄생하였다. 이 재단은 헌법상의 권리를 보호하기 위해 만들어진 모임
이며, 선데빌 작전으로 알려진 마녀사냥에서 보여준 미국 재무부 검찰국의
거칠고 무식한 행동에 대응하여 결성되었다. 1989년 5월까지 검찰의 도발
적인 '해커 사냥'은 14개 도시에서 일어났으며, 28개의 수색 영장을 집행
하기 위해 150명의 검찰국 요원들이 활동하였다. 그들은 대개 말도 되지
않는 이유로 23,000여개의 디스켓과 42대의 컴퓨터를 압수했다. 이 때문에
전자우편은 배달되지 못한 채로 남아 있어야 했다. 전자게시판에 올려진
글은 읽을 수가 없었고 범죄자뿐만 아니라 무고한 구경꾼들도 많이 체포되
었다. 존 페리 발로우(작가이자 은퇴한 목장주, <유쾌한 죽음 Grateful
Dead>의 작사자)와 로터스 1-2-3을 제작하여 잘 알려진 컴퓨터 전문가 미
치 카퍼(Mitch Kapor)는 뉴 프로메테우스 리그(NuPrometheus League)를 통
해 유포된, 도둑맞은 소스 코드에 대한 FBI와의 논쟁과 사건으로 격분하였
다. 그들은 논쟁 거리가 될 사건을 잘 맡는 것으로 유명한 변호사 하비 실
버글라트(Harvey Silverglate)와 협력하였다. 워싱턴 포스트에 실렸던 흥
미만을 추구하는 싸구려 기사 일부가 대중의 이목을 끌어, 이것을 계기로
스티브 워즈니악(Steve Wozniak, 애플사의 공동 창업자)과 선 마이크로시
스템사의 존 길모어(John Gilmore)가 벌이는 모험사업은 금융지원을 받을
수 있었다. 바로 스티브 잭슨(Steve Jackson) 사건이 신문 기사를 장식 할
때였다. 텍사스의 오스틴의 롤플레잉 게임 출판업자 잭슨은 재무부 검찰국
의 현장 급습을 받게 되었는데 그 이유는 'GURPS Cyberfunk'라는 게임 하
나가 미래의 컴퓨터 해킹과 연관이 있기 때문이라는 것이었다. 재무부 검
찰국은 잭슨의 게임을 '컴퓨터 범죄의 안내서'라고 불렀다. 이것은 '체스
(Chass)'라는 게임을 팔아 아이들에게 전쟁하는 방법을 가르쳐 주었기 때
문에 체포되었다는 밀튼 브레들리(Milton Bradley)의 경우와 똑같이 말도
안되는, 웃기는 일이었다. 잭슨의 사무실 장비는 압수되었으며, 그는 자신
의 직원 중 절반을 해고해야만 했다. 그래서 거의 파산할 뻔하였다. 나중
에
그는 다음과 같이 회상했다. "결국 우리는 일부가 손상되거나 부서지기는
했어도 대부분의 장비를 되돌려 받았다. 그리고 재무부 검찰국은 우리가
수사 대상이 아니었음을 시인하였다." 잭슨은 재무부 검찰국이 사무실을
수색하는 동안 표현의 자유를 박탈당했다며 미국 정부(재무부 검찰국과 2
명의 관리)를 고소하였다. 결국 정의는 승리하였고 첩보부는 유죄판결을
받았다. 잭슨은 지금 이 사건에 관한 롤플레잉 게임을 만들고 있다. 1990
년 여름, 이런 놀랄 만한 사건들이 연이어 일어났다. 유명한 사건도 많았
고 악명 높은 사건도 많았으며, 몇 줄의 기사에 그친 작은 사건도 있었다.
8월 중순, 13명의 뉴욕 거주 성인과 미성년자들이 컴퓨터에 관한 불법 점
유, 불법 침입, 서비스의 절도로 중형을 선고받았다. 그들은 여러 시스템
중에서도 특히 미국국방성(Pentagon)의 컴퓨터에 침입하여, 엄청난 숫자의
경찰과 수사관의 추적을 받게 되었다. 해커들이 침입에 사용했다고 말한 5
만달러어치 상당의 컴퓨터 장비는 압수 당했다. 이와 같은 수십 건의 사건
이 보도되고, 또 빠르게 잊혀져 갔다. 이 밖에도 다른 사건과 사건에 관련
된 해커들은 점점 더 대중의 관심 대상이 되었다. 액시드 프릭(Acid
Phreak), 피버 옵틱(Phiber Optik)같이 소위 '유명한 해커'들은 여러 매체
에서 해커 세계에 관한 이야기를 하곤 했다. 결국 옵틱은 1991년 2월 체포
되어 35시간의 지역 봉사형을 선고받았다. 그리고 나이도르프(Craig M.
Neidorf) 이야기가 매스컴을 탔다. 우리는 이미 프랙의 공동 설립자로서
나이도로프(나이트 라이트닝)를 언급한 적이 있다. 나이도르프는 프랙을
통해 벨사의 남부 지사의 내부 문서를 공개하였고, 즉각 장물 유통 혐의로
기소되었다. 이 사건은 징역 60년 벌금 122,000달러를 선고받을 수 있는
범죄였다. 아이러니컬하게도, 사실 그 문서는 쉽게 합법적으로 얻을 수 있
는 것이었고(비록 벨사 남부 지사가 기업 비밀로 가득 차 있다고 발표했다
하더라도), 그 내용도 911 긴급 구조 체계에 관련한 벨사 남부 지사의 관
료 체제에 대한 것이었다. 저작권법을 위반했다고 60년 징역을 선고할 것
인가? EEF는 이런 어려움에서 나이도 로프를 도와주었다(EEF는 스티브 잭
슨도 도운 바 있으며, 앞으로도 법의 무지로 인해 부당한 대우를 받는 해
커들을 도울 것이다). 미국 정부는 나이도르프 사건을 1990년 7월말에 기
소 중지하였다. 매년 수십, 수백 건의 해커 관련 사건들이 일어나고 이전
에도 여러 가지 사건이 존재하였다. 어떤 것은 빨리 잊혀지고, 또 어떤 것
은 격렬한 논쟁을 불러일으켰다. 예를 들어 1992년 11월 6일, 워싱턴 외곽
의 국방부 중앙 광장에서 평화롭게 식사를 하고 있던 해커들이 그늘진 곳
에 숨어 있던 보안 감시 요원들에게 협박당하여 체포된 사건도 있었다. 해
킹은 오랫동안 이어져 왔고 풍요롭게 성공적인 미래를 위해 계속될 것이
다. 왜냐하면 우리와 같은 사람들이 세상에 어떤 비밀이 있는지 알아내고,
또 그것을 캐내는 것을 즐기기 때문이다.
제 3장 해킹 연구
해킹에 앞서
컴퓨터를 해킹하기 위해서는 컴퓨터 통신에 관해 약간의 지식이 있어
야 하지만, 실제로 해킹을 하려면 한 가지만 알고 있으면 된다. 그것은 전
화번호이다. 전화번호를 모른다고 하더라도 컴퓨터에 접근할 수 있는 한
가지 방법만 알고 있으면 된다. 하지만 나의 경우는 둘 다 어느 정도 연구
가 필요하다. 일단 처음으로 컴퓨터에 접속했다면 어떻게 해킹을 진행할
것인가를 가르쳐 줄 온라인 연구가 필요하다. 그리고 마침내 당신이 그 시
스템을 사용할 수 있게 되었다면, 당신이 정복한 시설을 최대한 사용할 수
있도록 도와줄 후속 연구가 뒤따를 것이다. 이러한 '사후 연구'에 관한 사
항은 12장에서 논하도록 하고, 여기서는 해킹을 시작하기 위해 무엇을 할
것인가를 살펴보기로 하자.
목표 설정
목표 설정이란, 침투할 수 있는 여러 컴퓨터 가운데에서 어느 하나를 결
정하는 과정이다. 어떻게 보면 시시한 주제인 것처럼 보이지만 사실은 토
론할 만한 가치가 충분히 있는 주제이다. 당신이 이 게임의 초보자라고 가
정해 보자. 당신이 약간의 연구를 통해서건 아니면 순전히 운이 좋아서건,
특정 시스템에 침입하는 데 도움이 될 만한 정보를 몇 개 확보했다고 하
자. 예를 들어, 컴퓨터 범죄 정보망을 통해서 정부의 첩보활동 데이터베이
스의 전화번호를 알아냈다고 가정하자. 자연히, 당신은 전화를 걸어서 그
곳에 있다는 것이 정말로 있는지 없는지를 확인해 볼 것이다. 하지만 당신
의 목표가 시간과 모험, 전화 비용을 들일 만한 가치가 있는가를 먼저 알
아보는 편이 좋을 것이다. 그 지역의 십자(criss-cross)전화번호부에서 그
번호를 찾아 보라. 도서관에서 구할 수 있는 이 십자 전화번호부는 일반
적으로 전화 회사의 승인을 받지 않은 책으로, 통화가 가능한 전화번호의
주소와 이름을 적어 놓은 책이다. 일반적인 전화번호부와는 달리 십자 전
화번호부는 이름순이 아니라 번호순으로 정리되어 있다. 만일 이 전화번호
부에서 번호를 찾지 못했다면 교환원에게 물어 번호를 확인해 보라. 당연
히 '증인'이 될 수도 있는 전화번호 교환원에게 물어보는 것보다는 전화번
호부에서 직접 확인하는 편이 훨씬 더 바람직할 것이다. 만일 그 전화번호
가 공개되어 있다면 컴퓨터와 연결되는 비밀 전화번호는 아닐 것이다. 전
화를 걸어 보기도 전에 그 번호를 조사해 보는 것이 어리석은 소리일지도
모르지만 이런 조사가 시스템에 접속하여 얻을 수 있는 정보만큼이나 중요
하다는 사실을 기억하기 바란다. 만일 그것이 진짜 극비 데이터베이스라면
당신은 추적 당할 수도 있고 적어도 혐의 대상이 될 수 있다고 가정해야
옳다. 초보자들은 틀 기회를 잡게 되면 흥분한 나머지 어리석거나 위험한
해동을 하기 쉽다. 당신은 아직 전화 회사의 데이터를 임의로 바꾸거나,
공중전화를 통하거나 혹은 기타 다른 방법으로 당신이 접속하지 않은 것
처럼 보이게 할 수 있는 전문지식을 가지고 있지 않을 것이다. 초보자가
약간의 조사만으로 이런 극비 데이터베이스 같은 전화번호에 접속하는 것
은 무모한 짓일지 모르겠지만 전문적인 해커로 가는 길목에서 보자면 아무
준비도 없이 접속하는 초보자보다는 몇 단계 그래도 나은 편이다. 후자의
경우는 어리석은 짓 바로 그 자체이다. 그래서 목표 설정에 관한 한, 처
음부터 크게 나아가려고 해서는 안 된다. 해킹을 적절히 수행할 전문지식
을 쌓을 때까지는 좀 기다리는 편이 바람직할 것이다. 만일 당신이 한 시
스템에 대해 다른 누구도 모르는 어떤 것을 알고 있다면, 그 사실은 당신
이 누설하기 전까지는 비밀로 남아 있게될 것이다. 하지만 당신이 그 비
밀을 사용해서도 실패한다면, 시스템 관리자는 그 허점을 찾아 보완 조치
를 취할 것이므로 나중에 침투할 기회를 망쳐 버리게 되는 것이다. 내가
주의를 주고 싶은 사항은 당신 수준을 넘어서지 말라는 것이다. 물 속에
가라앉은 보물을 건지려고 스쿠버 다이빙을 하려면 먼저 물에 뜨는 법부
터 배워야 한다. 그렇지 않으면 바닥에 가라앉는 것은 바로 당신이 될 것
이다. 목표 설정에는 이 밖에도 다른 연구가 필요하다. 어딘가로 침투할
수 있는 흥미로운 비밀을 가지게 되면 어떨까? 우선 그 시스템에 들어갈
최상의 방법에 대해 생각해야 할 것이다. 예를 들어 접근하고자 하는 시스
템에 인터넷에 있다면 당신은 목적을 진행하기 전에 다른 사람인 것처럼
위장하여 인터넷에 접근하는 방법을 결정해야 할 것이다. 만일 당신이 대
학에 재학 중이거나 대학 근처에 갈면서 인터넷 컴퓨터 계정을 가지고 있
다면, 다른 시스템에 연결하기 위해서 당신 자신의 인터넷 계정으로 접속
하는 것은 경솔한 일이다. 경솔할 뿐만 아니라 멍청한 짓이다! 당신에게
장난기가 있든 없든 간에 자신의 계정으로 접속하여 해킹하려는 것은 무
책임하고 게으른 짓이다. 당신에게 접근이 허가된 최소한의 디렉토리 몇
개를 벗어나기 전에, 당신이 하는 일과 당신을 상관없는 것처럼 보이게 할
방법을 찾아내야 한다. 강조하지만 당신은 당신이 아닌 다른 사람으로서
접속하는 방법을 찾아내야만 하고 이 방법을 통해 더 큰 일을 진행할 수
있다. 주요 전산망 시스템에 침입하는 일은 대개 먼저 개인에 대해 해킹하
고 그 다음 제도에 대해 해킹하는 것으로 이루어진다. 즉 먼저 사람을
해킹하고(그 사람으로 위장하는 방법을 알아내는 것), 다음으로 제도를
해킹하라는(그 사람을 보안이 갖추어진 시스템의 합법적인 사용자로 위
장하는 방법을 알아내는 것)이다. 결국에는 막다른 골목이라고 판명될
시스템에 접속을 시도하는 것은 시간, 돈, 정력을 쓸데없이 낭비하는 일
이다. 어쩌면 목표를 학교 컴퓨터로 잡고 성적을 F에서 A로 바꾸기를 원
할 수도 있다. 당신은 목표 대상이 학생 처장이나 학장이라고 생각할 수도
있지만, 나중에 알게 될 것처럼 대개의 경우 이 생각을 잘못된 것이다. 교
장들은 직접 수업을 하지 않으며, 학점을 관리하는 컴퓨터를 거의, 아니
전혀 사용하지 않기 때문이다. 이런 경우라면 목표를 교수나 오히려 조교
로 바꾸는 편이 유리하다. 실제로 학점을 매기는 당사자는 바로 이들이기
때문이다. 당연히 당신은 이들을 조사해서 비밀번호를 얻어내려고 할 것이
다. 이제 문제는 컴퓨터이다. 해킹할 목표로 어떤 컴퓨터를 선정할 것인
가? 선생, 특히 수학이나 컴퓨터를 가르치는 선생이라면 전자 우편을 보
낼 컴퓨터 주소를 알려줄 것이다. 그러나 이 주소는 당신이 성적을 조작하
기 위해서 가야할 곳이 아니다. 오히려 다른 곳에 성적을 관리하는 은밀한
컴퓨터가 있을 것이고 바로 이 컴퓨터가 당신이 해킹해야 할 대상인 것이
다. 대학 총장이 컴퓨터를 사용하는 권한이 제일 크다 라고 하는 가정이
논리적으로 보일 수도 있다. 그러나 정말 그럴까? 실제로 총장이 컴퓨터
계정을 가지고 있기나 할까? 당신은 목표 대상으로 교수를 선정하는 편이
더 바람직할 것이다. 나의 영어 교수였던 분은 수업 시간에 코작(Kojak)
형사에 대해 몇 번 언급한 적이 있다. 그 밖에도 이 TV드라마와 관계된 내
용을 자주 인용하곤 했다(때로는 코작 형사가 연속극에서 사용한 말투를
흉내내기도 했다). 만일 누군가가 이 교수의 계정에 침입하려고 한다면 코
작이라는 단어가 분명히 그 시도의 출발점이 될 것이다(특히 이 사람은
영어 교수이므로 실제로 쓰지 않는 단어를 비밀번호로 쓰지 않을 것이
다). 따라서 이 영어 교수의 계정을 목표로 삼는 사람이라면 Kojak과 관련
이 있는 'Telly Savalas', 'loollipop', 'bald' 같은 단어를 비밀번호로
입력하는 것이 가장 해봄직한 방법이다. 그러나 정말로 이 영어 교수가 맨
처음으로 이용해 먹을 사람일까? 만일 내가 그 과목에서 낙제를 해서 성적
을 조작하려고 영어 교수의 컴퓨터 계정에 침투하길 원했다 하더라도,
Kojak이라는 단어는 별 도움이 되지 못했을 것이다. 내가 아는 한 성적을
관리했던 사람은 선생이 아니라 조교였다. 이런 까닭에 당신이 목적한
바를 이루기 위해서는 제대로 된 목표 설정이 필요하다. 만일 당신이 어
떤 목적을 염두에 두고 있다면, 컴퓨터뿐만 아니라 사람에 대해서도 마찬
가지로 목표 설정이 제대로 되었는지 아닌지를 반드시 연구해서 확인해 보
도록 하라. 가능성 있는 목표 대상은 흔히 그 사이트(site)에 관하여 공
개된 문서를 구해서 읽어보면 발견할 수 있다. 시스템의 '윤리적 이용'에
관한 문서나 '보안 예방책'을 권하는 조항들은 상세한 가르침을 주곤 한
다. 보안 정책에 관한 기록에서 뽑은 인용문을 예로 들겠다. 이것은 보안
개선을 위한 권고 사항 목록에 실린 한 가지 제안이다. 내가 이 글을 읽
었을 때는 이미 개선 조치들이 취해진 뒤였지만 이 문서를 작성한 사람들
의 마음속에는 보안의 필요성에 대한 각성이 부족했기 때문에 보안은 느슨
하게 풀려 있었다. 다음이 그 목록에서 끄집어 낸 바로 그 한 가지 제안이
다. Net 19는 PC나 광대역의 접근 통로로부터 철저하게 격리되어야 한다.
터미널 서버(terminal server)접속이 모든 컴퓨터에서 엄격하게 시행되어
야 한다. 네트워크의 오용이나 비윤리적 이용을 체크하는 소프트웨어를 운
영할 PC가 설치되어야 한다. 보라, 여기 정보의 보고가 있다. 우리는 그
들의 개선안을 가지고 있고, 그들이 개선안을 실행하기 위해 어떤 소프트
웨어를 선택하였는지 알아보는 것은 이제 손쉬운 작업이다. 여기서 우리는
그 소프트웨어가 할 수 있는 일과 할 수 없는 일을 알 수 있고, 프로그램
의 버그나 허점을 찾아내면서 그 여러 가지 수단을 이용하여 이 소프트웨
어를 깨뜨릴 방법을 찾아낼 것이다. 그러나 가장 흥미로운 것은(현재 논의
하고 있는 주제가 목표 설정인 이상) 그 개선책에서 'Net 19'를 언급했다
는 사실이다. Net 19란 무엇일까? 물론 Net 19는 관리자가 보호하려는 대
상이다. 분명히 그것은 해킹할 만한 가치가 충분한 것이다. 만일 당신이
이 글을 처음 읽은 해커였다면 Net 19는 분명 당신의 해킹 목표가 되었을
것이다. 내가 이 문서를 읽은 곳은 공개된 터미널이였고 다른 사람으로
위장하고 접속할 필요도 없었다는 사실을 명심하기 바란다. 이 문서는 시
스템에서 공개된 정보인 것이다. 이것은 누구나 이용할 수 있는 자료이며
이것을 보는 모든 사람에게 훌륭한 단서를 제공해 주는 것이다. 나는 이
글을 읽었을 때 Net 19가 무엇인지는 몰랐지만 찾아내서 침투해야 할 목표
라는 것을 곧바로 알아챘다. 이것은 써먹을 만한 정보를 우연히 발견한
하나의 예이다. 그러나 내가 그 시스템에 침투하겠다는 단 하나의 목적을
위해, 공개된 모든 문서를 찾아서 읽었다는 사실을 잊어서는 안 된다. 내
가 발견한 정보는 우연일지 몰라도 내가 정보를 구하는 데 들인 노력은 우
연이 아닐 것이다. 어떤 면에선 시스템으로 침투하기 전에 그 시스템에
대하여 알아볼 수 있는 대로 샅샅이 알아보는 온라인 연구가 일종의 목표
설정이다. 만일 당신의 목표물이 특정한 개인 컴퓨터 시스템이라면 시작하
기 전에 그것과 연결되어 있는 모든 공공 시스템을 목표로 잡아라. 결국에
는 이 방법이 당신에게 도움이 될 것이다. 이 방법은 Net 19의 언급 같은
유용한 힌트를 줄 것이며, 적어도 그 시스템에 익숙해지는 데 도움이 될
것이다. 공공 네트워크와 연결되어 있는 특정한 개인 컴퓨터(시스템)를 해
킹할 생각으로 먼저 공공 네트워크를 목표로 잡았을 때, 당신이 찾아야 할
일은 입력과 출력이 어떻게 조종되는가, 어떤 버그가 존재하면 시스템은
그것에 대해 어떻게 반응하는가, 명령 형식은 어떤 것인가(세 글자? 제어
순서?) 그리고 어떤 종류의 명령어를 사용할 수 있는가, 시스템 사양과 하
드웨어 종류는 무엇인가 등이다. 물론 이밖에도 조사해야 할 사항은 많으
며 조사 도중 우연찮게 화면에 디스플레이 하는 방식, 시스템이 명령을 수
행하는 데 걸리는 시간 같은 것을 알아낼 수도 있다. 실제로 시스템에 침
입했을 때는 도움말을 찾거나 접속을 끊는 방법을 알아낼 시간적 여유가
없기 때문에 이렇게 얻은 정보들은 나중에 큰 도움이 될 것이다. 목표 설
정은 사소하고 성가신 일로 보일 수도 있다. 과학자가 특수한 전문용어를
사용하여 무지개가 무엇이며 어떻게 생겼으며 왜 그런 색깔을 띠고 있는
지를 분석해 낼 수는 있다. 그러나 무지개에 관한 이런 복잡한 서술은
묘사된 무지개 자체와는 전혀 동떨어진 것이다. 단순한 설명은 그것의 아
름다움을 무시해 버리기 때문이다. 기술적인 전문용어는 무지개에 관해 우
리가 관심을 가지고 묘사해 놓은 시적 표현들과는 전혀 어울리지 않는다.
당신은 비슷한 논리를 사용하여 목표를 설정하거나 해킹 방법을 미리 계획
하는 것은 해킹 자체의 즐거움을 반감시키는 행위라고 불만을 토론할지도
모른다. 만일 당신이 고용된 해커이고 또 보수를 받기 원한다면 당신은 특
정한 일을 수행해야 한다. 그런 경우가 아니라면 목표 설정 같은 어리석은
일로 시간을 낭비할 필요가 있겠는가? 당신 말이 맞다! 확실히 당신 말이
옳다! 내가 제시한 제안을 의무적으로 수행할 필요는 없다. 무슨 일을 하
기 전에 무엇을 해야 할 지에 관해 주의 깊게 생각하라고 억지로 압력을
넣을 수는 없지만, 당신은 가능한 한 일을 시작하기 전에 이 사항들을 알
고 있어야 작업을 수행하는 데 도움이 될 것이다. 적어도 당신이 규칙을
위반할 때는 그 규칙을 따르는 것은 어떤 유익이 있는지를 이해하여야 한
다. 당신이 관심을 가지고 있거나 필요한 정보를 가지고 있다고 여겨지는
특정 컴퓨터를 목표로 잡는 일, 특정한 접근 권리나 능력을 가진 사람을
목표로 삼는 일, 이 모든 것은 결국에 무지개를 분석하는 것처럼 실체를
놓치게 되는 것과 같은 결과를 낳을 수 있다. 그러나 당신이 지금 시작한
위치에서 더 나아가고 싶거나, 해킹을 통한 즐거움, 또한 노력을 통해서만
얻을 수 있는 높은 수준의 기쁨 같은 걸 원한다면 나는 당신에게 위와 같
은 일(목표 설정)을 권하고 싶다. 목표 설정은 쓸모 없는 조사를 하거나
아주 단
조로운 일을 반복적으로 수행하지 않도록 도움을 제공할 것이며, 어려움
에 빠져 있을 때에도 역시 도움을 줄 것이다. 그러므로 일반적인 행동 계
획을 세워라. 당신이 설정해 놓은 목표가 당신에게 적합한 것인지 재확인
하라. 당신이 설정해 놓은 목표가 당신에게 적합한 것인지 재확인하라. 이
방법만이 당신이 캄캄한 골목길을 헤매며 해킹하지 않도록 도와줄 것이다.
'목적'이나 '목표'라는 표현을 계속 사용했지만 만일 당신이 사설 탐정이
나 어떤 종류의 적발자가 아니라면 대개 어떠한 컴퓨터이건 침입하여 정
보를 빼내는 것에 즐거움을 느낄 것이다. 나타나는 모든 기회를 어떤 것이
건 상관없이 잡을 것이다. 이것도 좋은 일이긴 하다. 그리고 많은 해커들
은 자신이 설정한 목표에 침입해도 자신에게 유용하거나 재미있는 정보를
제공해 주지 않을 거라는 사실을 알고 있다 하더라도 자신의 목표에 열중
할 것이다. 그들에게는 시스템에 침입하는 자체만으로도 큰 스릴을 느낄
수 있기 때문이다. 그러나 당신도 익히 느끼겠지만 시스템에 침입해서 자
신에게 쓸모없는 정보를 가지고 나오는 것보다는 어떤 비밀을 가지고 나오
는 것이 훨씬 더 나을 것이다. 실험 쥐의 교미 통계치가 저장되어 있는 컴
퓨터 시스템에 침입하려고 몇 달을 허비하는 것이 과연 가치 있는 일일까
(당신이
그런 류의 통계치에 흥미를 가지고 있는 경우를 제외하고 말이다)? 당신의
목표를 주의 깊게 설정하라. 시스템에 칩입하는 것 자체만으로도 이미 절
반의 즐거움이다. 일단 시스템에 들어왔다면 나머지 절반의 즐거움은 당신
을 더욱 흥분시킬 것이다.
정보 수집
연구를 시작하기 전에 어떤 종류의 정보를 찾아내야 하는지를 알아볼 필
요가 있다. 해커라면 알고 있어야 할 세가지 주제가 있는데 그것은 일반적
전자통신론, 일반적 컴퓨터 시스템, 그리고 특정한 시스템이다. 당신은
컴
퓨터, 모뎀, 전화기, 그리고 인간 본성에 대해 어느 정도는 이해하고 있
어
야 한다. 그리도 이 책은 위와 관련하여 당신이 이용할 수 있는 대부분의
정보를 제공할 것이다. 만일 당신이 필요한 정보를 모두 제공하지 못한다
면(이 책이 우주의 모든 지식을 다 포함하고 있지 않으므로) 가까운 지역
도서관이나 특수 도서관에 가서 알고 싶은 정보가 수록되어 있는 책을 참
고하기 바란다. 아마 당신이 특별히 알아야 할 다른 사항들은 없을 것이
다.
단지 당신은 해킹하고자 하는 컴퓨터의 운영 구조와 함께 시대에 뒤떨어지
지 않도록 최신 기술 발전에 관한 지식을 알고 싶을 것이다. 당신이 모든
지식을 알고 있다고 생각하더라도 알아야 할 것은 여전히 남아 있고, 이
때문에 특정 분야에서 자신이 진정 전문가라는 소리를 듣기 위해서는 많은
책을 읽고 연구를 거듭해야 한다. 특히 컴퓨터의 하드웨어나 소프트웨
어,
전자 통신같이 변화가 빠른 분야에서는 더욱 그렇다. 그래서 근처에 있는
도서관에 자주 들려라. 가서 컴퓨터 서적, 형사판결집, 경영관리에 관한
책
들을 자주 보라. 도서관이야말로 당신이 '합법적으로' 해킹과 컴퓨터 범
죄
에 관한 책들을 찾을 수 있는 장소이다. 도서관에서 나올 때는 매번 전자
통신에 관한 책을 빌려 주의 깊게 탐독하라. 당신은 부딪치게 될 여러 가
지 상황에 익숙해지길 원하게 될 것이고, 그렇기 때문에 온라인 데이터베
이스(on-line datebase), 컴퓨터 범죄, 운영 체제, BBS와 같은 여러 가
지
다른 분야와 기타 컴퓨터와 모뎀에 관해 당신이 알고 싶은 분야와 관계가
있는 책들을 주의 깊게 탐독하라. 도서목록 카드에서 '전자 통신'을 찾
아
보라. 또한 '보안', '컴퓨터', '해킹', '전화', '모뎀', 그리고 이와 관
계가 있을 거라고 생각되는 목록들을 모두 찾아 보라. 또한 참고서적 분
야를 찾아보는 것도 잊지 말라. 이곳에서 당신은 아주 유용한 정보들을
얻을 수 있을 것이다. 해킹은 직접 실행해 보면서 배우는 것이 가장 좋은
방법이지만 많은 유용한 기술과 조언들을 책에서도 찾을 수 있다. 그런데
당신은 세계에서 가장 큰 출판사가 어디인지 아는가? 바로 미국 정부이
다. 만일 당신이 다니는 도서관이 국립 도서관이라면 그곳에 있는 모든 정
부 관련 출판물을 주의해서 탐독하라. 여기서 많은 것을 얻을 수 있을 것
이다. 하지만 이 말은 도서관에 있는 책을 모두 읽으라는 소리는 아니며,
해킹을 시작하기 전에 이 모든 것을 전부 읽으라는 소리는 더더욱 아니
다. 내가 말하고자 하는 것은 사람들은 종종 자신에게 필요한 정보가 무
료이고 해킹을 통해서 얻을 필요도 없다는 사실을 모른다는 것이다. 그리
고 독서를 통해서, 여러 가지 시스템에 접속했을 때와 마찬가지로 서로
다른 시스템에 익숙해질 수 있다. 당신은 이를 통해 여러 종류의 명령어
를 알게 될 것이며 시스템이 어떤 형식으로 이름과 비밀번호를 사용하는지
를 알게 될 것이다. 또한 당신은 책에서 사용료가 공짜인 접속 번호를 얻
을 수 있을 것이고, 이곳에 접속사여 여러 가지 시스템을 테스트할 수 있
으며, 또 시스템에 관한 많은 정보를 얻을 수 있을 것이다. 여기서 얻은
모든 정보는 당신이 작업할 때 큰 도움을 줄 것이다. 도서관에 있을 때에
는 정기간행물이 있는 서고에서 컴퓨터 잡지와 신문들을 찾아보기 바란
다. 당신이 구독하지 않는 것이나 본적이 없는 것들은 대출하여 읽어 보
라. 이것은 잡지사에 정보를 요청하거나 공짜 정보를 얻기 위하여 독자
서비스 카드를 보내는데 유리하다. 회사에서 정보를 보내준다는 사실은 놀
라운 일이며, 나아가 이런 정보가 해커에게 얼마나 유용한지 생각해 보면
더욱 놀라운 일이 아닐 수 없다. 현재 나는 여러 컴퓨터 보안 업체로부터
계속 우편물을 받고 있다. 나는 그들의 제품과 신규 개정, 그 소프트웨어
를 사용하고 있는 업체에 관해 내가 알아야 할 것을 모두 알고 있고, 이런
정보로부터 그 제품들을 해킹할 수 있는 방법을 얻고 있다. 그들이 해커를
잡는 방법을 알고 있다면 나는 그걸 피하는 방법을 알고 있다. 때때로 도
서관을 이용하는 더 실용적인 방법은 기증본을 찾는 일이다. 많은 도서관
들이 연중 책 세일 기간이나 혹은 선반에 진열하기 위하여 기증본을 받는
다. 이런 책 중에는 이전의 기술이나 컴퓨터, 소프트웨어, 운영체제 동작
에 관해 제조 회사에서 만든 매뉴얼이 많이 섞여 있다. 기증 받은 책들을
정리하는 사서는 이런 종류의 책을 보면 쓸모 없는 책이라고 던져버릴 것
이다. 만일 사서를 친구로 두었다면 이 '쓸모 없는' 책들을 버리는 대신
에 기꺼이 당신에게 줄 것이다. 난 이런 방법을 통해 많은 유용한 안내서,
참고서, 운영 체제 매뉴얼, 디스크 등을 구할 수 있었다. 운 좋게도 아주
최근 AT&T 보안서를 한 질 구한 적도 있다. 때때로 당신이 고른 책의 여백
이나 표지에서 마구 갈겨쓴 글을 볼 수 있을 것이다. 이렇게 쓰여진 글
중 내가 가장 좋아하는 것은 전화번호와 그룹 접속 아이디가 적힌 것이
다. 아이디는 이미 삭제되었어도 전화번호는 아직 사용이 가능하기 때문에
그 매뉴얼에 있던 샘풀용 방문자 비밀번호로 접속할 수 있었다.
몇 가지 유별난 연구 방법
사실 특별히 유별난 방법도 아니다. 어쨌든 효과만 있으면 되는 좋은 것
이니까. 온라인 시스템이나 그것을 운영하는 사람들에 관해 전보다 더 많
은 것을 알아낼 새로운 아이디어가 생각났을 때는 언제든지 그것을 적용해
보려고 최선을 다해야 한다. 결국에는 모든 데이터가 잠재적으로는 유용하
다. 당신이 찾아낸 것이 어떤 것이라도 현재 목표 대상인 컴퓨터를 침투할
수 있게 해주거나 언젠가는 다른 시스템에 침투하는 데 도움을 줄 것이다.
게다가 기밀 데이터나 시스템에 관한 내부 비밀을 찾아내는 것은 언제나
즐거운 일이다. 이런 정보를 다른 해커들과 공유한다면 당신은 유용하고
흥미 있는 정보로 보상받을 것이다. 이제 다섯 가지 진보된 연구 방법이
남아 있다. 온라인 컴퓨터 시뮬레이션과 학습기, 쓰레기 뒤지기, 주워 온
디스크 분석, 사진 분석, 기웃거리기가 그것이다. 이러한 연구 방법은 효
과
가 있다는 것을 기억하라. 이것들을 당신에게 유리하도록 사용하기 바란
다.
온라인 컴퓨터 시뮬레이터와 학습기
컴퓨터를 기반으로 한 시뮬레이션과 학습기는 종종 회사 컴퓨터 시스템
의 사용법을 가르치는 데 사용된다. 이런 프로그램은 사용자가 실제로 네
트워크에 들어갈 경우 나타나는 화면을 그대로 흉내내준다. 학습기와 시뮬
레이터는 시스템의 전형적인 사용 방법을 알려주면서 사용자에게 도움말과
특별한 사항에 관해 알려주는 기능이 있다는 점에서 실제 네트워크와는 다
르다. 만일 이런 식의 따라가기 학습 기능이 없다면, 대신에 실제 시스템
보다 축소된 시험 시스템과 그 사용법을 설명한 워크북이 제공될 것이며,
이것은 새로운 사용자에게 사용법을 가르칠 수 있는 방대한 도움말 능력을
가지고 있다. 학습기와 시뮬레이터는 새로운 사용자가 프로그램을 사용하
면서 부딪치게 될 문제점과 그 해결책을 미리 연습해 볼 수 있는 기회를
제공한다. 이것들은 실제 시스템 대신 그 시스템의 사용을 미리 연습해 볼
목적으로 이용되거나 실제 시스템의 보완용으로 쓰인다. 여기에는 몇 가지
이유가 있다. 시스템이 경비를 받는 중이거나 현재 설치 중인 경우는 어떻
게 해야 할까? 혹은 아직 충분한 터미널이 연결되어 있지 않아 직원 모두
가 실제 시스템을 제어할 수는 없을 경우도 생길 것이다. 이런 경우에는
시뮬레이터를 사용하면 문제가 간단히 해결된다. 시뮬레이터는 어떤 컴퓨
터에라도 설치가 가능하기 때문이다. 임시직 소개소에서 직원을 미리 교육
시키기 위해 특정 회사의 소프트웨어를 사용할 수도 있다. 특히 이렇게 교
육받은 직원이 그 회사로 많이 취업할 때는 더욱 그렇다. 혹은 일반 직원
이 집에서 업무를 연습할 목적으로 회사 도서관에서 연습용 디스크를 빌려
갈 수도 있다. 결과적으로 좋은 연습 프로그램이나 시뮬레이터는 모두에게
동등한 교육 내용을 전해 줄 수 있다. 사람이 가르친다면 강의 도중 잊고
그냥 넘어갈 수 있는 세부 내용도 이 프로그램들은 절대 그렇게 넘어가지
않는다. 그러면 그것들을 어디서 구할 수 있을까? 시뮬레이션 프로그램은
회사 도서관이나 특별한 목적을 지닌 도서관, 혹은 대학 도서관에서 구할
수 있다. 출판사에서도 구할 수 있다. 그 출판사의 소프트웨어 구매에 관
심이 있어 데모용 소프트웨어를 보내 줄 수 있겠냐고 소프트웨어 출판업자
에게 편지를 적어 보내라. 그리고 회사의 컴퓨터 부서의 우호적인 직원으
로부터 얻을 수도 있다(회사 관리자나 감독관 행세를 하라. 사회공학
(social engineering)을 이용하는 것이다). 시뮬레이터와 학습기는 해커에
게 유용한 도구가 된다. 그것들의 유용성은 자명하다. 그것들은 시스템을
공부하는 데 도움을 줄 것이며 기분 출입 명령어(entry-word)를 알려 주며
심지어는 시스템버그에 대한 설명까지 해 줄 것이다. 때때로 당신은 온라
인 시뮬레이터가 줄 수 있는 다른 도움을 알아낼 때 자신의 상상력을 사용
해야 한다. 하루는 내가 누군가를 만나기 위해 사무실에서 기다리고 있었
다. 접수원이 잠시 자리를 비운 사이 나는 그녀의 책상 뒤로 가 책 사이에
꽂혀 있던 컴퓨터 디스크를 살짝 꺼내 왔다. 그 디스크 안에는 그들이 실
제로 온라인 상에 사용하는 프로그램의 카피본인 ARRSIM(ARRangment
SIMulator)이라는 프로그램이 들어 있었는데, 그것은 보잘것없는 인명 데
이터베이스만 가지고 있었다. 그 프로그램은 소비자와 잠재적인 계약자들
과의 약속을 만들고 정리하는 방법을 컴퓨터를 사용하여 할 수 있도록 직
원들에게 교육시키는 용도로 사용되고 있었다. 집에 돌아와 나는 그것으로
부팅을 해 사용해 보기 시작하였다. 내가 어떤 주소를 바꾸려고 하자 컴퓨
터는 '관리자의 승인이 필요함'이라는 답변과 함께 화면에 커서를 출력시
켰다. 분명히 비밀번호가 필요한 상황이였다. 시뮬레이터에 연결할 때 사
용되는 비밀번호(디스크 레이블에 휘갈기듯 적혀 있었다)를 입력하였지만
소용이 없었다. 그래서 파일 관리 유틸리티를 사용하여 디스크를 검색했으
나 그때까지 내가 보지 못한 문자열(숨겨진 비밀번호)을 찾아낼 수는 없었
다. 여기서 주소를 변경하는 일은 모든 사람들이 이따금 해야 하는 일일
것이라는 생각이 들었다. 그런데 왜 주소를 변경하려 할 때 비밀번호를 물
어보는 것일까? 분명히 성명이나 주소를 변경하려고 하는 접수원을 믿지
못하는 편집증적인 관리자가 설계한 프로그램일 것이다. 그래서 나는 그
회사에서 나와 가장 친한 접수원에게 연락해서 일단을 회사와 관련된 몇
가지 유쾌한 소문들을 주고 받았다("그래요? 세일라가 이제 할머니가 되었
다고! 아이는 남자야 여자야?" 그 사무실에 갔던 날, 나는 그녀가 동료와
이런 얘기 하는 것을 들었다).그리고는 불쑥 이런 질문을 던졌다. " 게이,
'Supervisor App....'라고 나올 때 뭐라고 입력해야 되는지 알아요?" "어
리석은 질문이군요." 그녀는 비웃었다. "정말 끔찍해요. 'morris'라고 입
력하세요. 왜 그렇게 입력해야 하는지는 몰라요. 이것에 대해서는 아무도
아는 사람이 없지만 우린 매일 사용하고 있답니다." 나는 그녀에게 감사를
표시했다. 'morris'라는 단어는 시뮬레이터에서는 패스워드로 통하지 않았
다(아마도 시뮬레이터에서는 이 기능이 빠진 듯하다). 하지만 이것은 실제
네트워크로 들어갈 때 사용되는 비밀 번호였다. 분명히 관리자만이 사무실
도처에 연결되어 있는 단말기를 이용하여 접속할 수 있는 것이라고 생각되
었다.
쓰레기 뒤지기
아주 더러운 일은 아니지만 대부분의 사람이 하기를 꺼려한다. 그러나
진정한 연구자라면 그것을 할 것이다. '연구자'란 기업이나 컴퓨터를 조사
하는 해커들을 자칭하는 것이다. 많은 장소의 쓰레기를 뒤지는 것은 너저
분한 작업이 아니다. 종종 당신은 종이 쓰레기만을 위한 분류 쓰레기통을
발견하게 될 것이다. 어떤 것들은 조각조각 찢어져 있고 어떤 것들은 그렇
지 않다. 쓰레기를 찾아나서는 여행을 계획할 때는 많은 날씨가 계속된 때
를 선택하라. 당신은 수집한 쓰레기가 가장 좋은 상태이기를 원할 것이기
때문이다. 쓰레기장 안에 있는 동안에는, 난 발견한 종이 더미를 묶어 쓰
레기 가방에 놓어 두곤 한다. 그리고 나서 그것을 집으로 가져와 면밀하게
조사한다. 이렇게 해서 내부용 전화번호부, 단체 또는 개인의 이름, 설명
서, 기일이 지난 차일, 편지, 현재 진행중인 프로젝트에 관한 정보, 심지
어는 컴퓨터 시스템에 관한 정보까지 얻을 수 있다. 대부분의 것들이 아주
유용하며 흥미로운 것들이다. 일반 쓰레기라도 보통 어느 정도는 깨끗한
상태로 버려진다. 기업이나 쓰레기통을 뒤질 때는 철저하게, 그리고 샅샅
이 뒤져라. 이러던 중 나는 마이크로필름 시트, 컴퓨터 카드, 명함 보관
상자, 죽은 고양이(정말 지독했다), 부서진 전기 제품, 그리고 많은 양의
유용하고 양호한 상태의 쓰레기를 발견하곤 했다. 물론 대부분은 해킹에
별 도움을 주진 못하지만 개중에서 아주 유용하게 사용될 지식을 얻을 수
도 있다. 당신은 쓰레기를 통해 그 쓰레기를 만들어 낸 조직이 어떤 일을
하며, 또 그 일을 통해서 어떤 종류의 쓰레기가 배출되는지에 관해 많이
알 수 있다. 내가 처음으로 쓰레기를 수집했을 때 난 은행 뒤에서 녹색 쓰
레기 가방을 들고 왔다. 은행의 쓰레기 가방은 은행 이름, 쓰레기 처리 일
자와 시간이 적혀 있는 영수증으로 봉해져 있다. 안에 들어 있는 쓰레기는
두 종류이다. 은행의 개인 사무실들에서 배출된 쓰레기들이 담겨 있는 작
은 봉지들이 있고, 창구에서 배출된 구겨진 서류 양식들과 종이 테이프들
더미가 있었다. 관심이 가는 분야는 개인 사무실에서 나온 것이었다. 내가
처음 얻었던 쓰레기는 일본인 은행원의 것이었는데 그는 일본 신문, 일본
캔디 포장지와 은행 관련 서류를 버렸다. 현재 다이어트 중이고, 가계 수
지를 맞추려고 노력하는 독신의 주부인 부은행장도 있었다. 지금은 은행장
이 된 그녀의 쓰레기는 정말 재미있었다. 버려진 금고 자물쇠, 열쇠 구멍
표시기('c' 스타 일) 한 상자, 금고 열쇠 봉투 몇 개, 추리 소설의 힌트와
도 같이 금고 번호를 적어 둔 종이 조각이 있었다(혹시 관심이 있다면 번
호는 '12R-32L-14R'이다) 그리고 디스크와 함께 건네졌을 거라고 생각되는
메모가 있었다. 이 메모는 '지점장 자동화'를 담당하고 있는 그녀가 '지점
장'에게 보내는 것이었다. 이 메모로부터 나는 은행의 지점 자동화 센터의
이름, 주소 및 방 번호를 알 수 있었다. 그리고 나는 사회공학적 행동의
일환으로 메일을 보내 유용한 정보뿐만 아니라 그 메모에 동봉되었을 디스
크 카피도 얻을 수 있었다. 쓰레기를 수집하다가 적발됐을 때는 '재활용
캔을 수집하려고 했다'고 얼버무리면 되었지만 요즘에는 사무실도 쓰레기
재활용을 많이 하므로 이 변명이 통하지 않을 수도 있다. 잘 써먹는 '학
교'나 '지역사회 사업'은 언제나 좋은 핑계 거리가 될 수 있다. 정부나 기
업 쓰레기에 관한 보고서를 작성하기 위하여 쓰레기를 뒤지고 있다고 변명
하라. 쓰레기를 수집하려고 집을 나서기 전에 쓰레기의 상태가 어떤지를
알아보기 위하여 약간의 전화 연락이 필요하다. 쓰레기 청소국에 연락해서
당신이 목표로 한 쓰레기가 언제 수거되는지 알아 보라. 만일 월요일 아침
에 수거된다면 아주 좋은 기회이다. 왜냐하면 주말 밤에 아무도 모르게 작
업을 할 수 있기 때문이다. 쓰레기가 수거된 뒤에 수집을 나서면 곤란하니
수집하기 전에 전화로 알아보기 바란다. 재활용되는 종이의 경우, 그것을
담는 통이 바깥에 있지 않다면 (대중이 출입할 수 있는 공간이 있는 사무
실은)근무시간 중에 들어가서 안에 있는 재활용 쓰레기통에 있는 종이의
높이를 슬쩍 살펴 보라. 계속해서 며칠간 서로 다른 시간에 점검해 본다면
재활용품 수거 일정을 알 수 있을 것이다. 그리고는 재활용품 통이 꽉 차
있을 때 사무실 종이를 몰래 가지고 나오면 된다.
GIRK
물론 밖으로 나가 손으로 직접 쓰레기를 수거해 와도 되지만 일을 용이
하게 하고 빠른 결과를 보기 위해서는, 사무 직원들의 쓰레기를 수집하려
나가기 이전에 미리 몇 가지 소품을 준비해 둘 필요가 있다. 여기에 당신
의 GIRK(Garbaged Information Retrieval Kit, 버려진 정보 수거용 도구)
에 포함시켜야 할 도구들이 나열되어 있다.
고무장갑
외과 수술용 장갑뿐 아니라 접시를 닦는 데 사용하는 그런 종류의 장갑
도 준비하라. 당신이 수집할 쓰레기는 대부분 '깨끗한' 상태이지만(재활용
이 가능한 종이이므로) 어쨌든 수집할 때에 장갑을 끼는 것은 좋은 일이
다. 수집한 쓰레기를 집으로 가져가 분류 작업을 할 때도 장갑을 끼는 것
이 바람직하다.
사다리
여기서 진짜 사다리에 관해 이야기하고자 하는 것은 아니다. 어떤 쓰레
기장은 너무 높거나 수직으로 만들어져 있어서 오르기 매우 어려운 경우가
있다. 누군가 버리는 낡은 의자나 무릎 방석을 구하여 당신의 차 트렁크에
넣어 두어라. 그러면 쓰레기장에 올라가는 데 문제가 있을 때 그것을 이용
하여 손쉽게 오를 수 있다. 또한 어떤 이유로 급히 그 자리를 떠나야 할
때 그냥 그것을 놔두고 가면 된다. 결국 그것도 쓰레기니까.....
회중전등
밧줄이나 대님 같은 끈을 이용하여 전등을 손에 묶어라. 가죽끈은 회중
전등을 손으로 잡았다 놓았다 할 수 있도록 알맞게 만들어 놔야 한다. 특
히 밤에 수거 작업을 진행할 때는 쓰레기 사이를 지나갈 수 있도록 밝은
회중전등이 필요하다. 전지는 충분한지 꼭 검토하고 만약에 대비해서 교체
전지를 준비하는 것이 가장 좋은 방법이다.
쓰레기 가방
가방은 깨끗할 필요가 없다. 그리고 가능하면 검은 색, 밤색, 혹은 이와
비슷한 색상을 선택하라. 이 안에 무엇이 들었는지 다른 사람이 알면 곤란
하기 때문이다. 쓰레기 봉투를 뜯어내서 쓰레기에 매뉴얼이나 메모 같은
것만을 찾아내 집에 가져갈 작정이라면 모두 담기 위한 어두운 색 쓰레기
봉투를 가지고 가야 한다. 내용물이 서로 파손되지 않도록 가방을 두 개
준비하여 작은 것을 큰 가방 안에 넣어 두는 것도 좋은 방법이다.
작업에 적당한 복장
화려하거나 좋은 옷을 입고 쓰레기를 수거하러 가는 것을 피하라. 올라
가거나 점프하기 편한 신발을 선택하라. 오래된 옷이나 훼손되어도 상관없
는 옷, 하지만 찢어지지 않은 옷을 입어라. 그리고 가능하다면 보호복을
착용하는 것도 좋다. 그 회사의 관리 직원들이 야구 모자나 특정한 색의
셔츠나 재킷을 착용하는 성향을 안다면 반드시 그와 비슷하게 입어라. 그
리고 사람들의 눈에 띄지 않도록 밝은 분홍, 빨강, 노랑 계열의 옷은 피하
고 어두운 색의 옷을 입어라.
빈 소다 캔
몇몇 해커들은 경비원이나 구경꾼들에게 재활용 캔을 수집하러 왔다고
말한다. 지나가는 사람들이 자선단체에서 캔을 수거하러 온 것으로 생각하
도록 가져온 쓰레기 가방 밑바닥에 빈 캔을 1/3쯤 채워두고 그것이 보이도
록 가방 문을 열어 놓을 필요가 있다.
하루는 땅딸막한 늙은 경비가 무엇을 하냐고 물었을 때 나는 이렇게 대
답했다. "학교에서 과학 시간에 재활용 캔 수집 시합을 하기로 했어요. 1
파운드의 캔을 가져 갈 때마다 학교에서는 3달러를 준다고 했구요. 가장
많은 캔을 가지고 간 사람이 이기는 거죠. 다음 장소로 이동하기 위해 지
금 바로 가야 합니다." 이 말을 듣고 그는 잠시 어딜 가더니 빈 맥주 캔과
병을 몇 개 들고 오더니 이렇게 물었다. "병도 수집하니?" 쓸데없는 물건
을 호주머니에 넣어 가거나 시계처럼 손목에서 빠질 수 있는 물건은 쓰레
기 수집시 가져라지 마라. 돈이나 지갑, 신용카드, 공책 같은 물건은 쓰레
기 더미에 떨어뜨려 잃어버리지 않도록 집에 놔두고 가라. 집에서 출발하
기 전에는 꼭 주머니를 확인하라. 그래서 잃어버릴 물건이 없다는 사실을
꼭 확인하라. 이는 중요한 충고임에 틀림없지만 아직도 사설 BBS에서 해커
가 적어 놓은 다음과 같은 게시물을 적어도 4개이상 볼 수 있다. "이런!
컴퓨폰사 쓰레기장을 갔다 왔는데 캔이 쌓인 곳을 오르다가 반지를 떨어뜨
렸습니다. 내일 그것에 한번 더 가야 될 것 같아요." 반면에 값싼 물건이
지만 보기에는 비싸 보이는 시계 같은 것은 가지고 가도 좋다. 그때는 호
기심 많은 사람이 따라오더라도 당신은 펄쩍 뛰며 이렇게 말할 수 있다.
"여기 시계가 있었군. 그 멍청한 관리인이 쓰레기와 함께 버린줄 알았지!"
그리고 쓰레기를 수거하여 집에 돌아오면 샤워를 하는 것도 좋은 생각이
다.
찾아낸 디스크 분석하기
해킹을 시작했을 때 당신은 여기저기서 디스크를 찾기 시작할 것이다.
어떤 디스크는 버려지거나, 파손되거나, 다른 것에 묻혀 있거나, 구부러진
채로 발견될 것이며, 또 어떤 것은 공동으로 사용하는 컴퓨터의 드라이브
에서, 키보드 밑이나 책상 뒤에서 사용자의 부주의로 인하여 분실된 것일
수도 있으며, 어떤 것들은 사용자의 책상 위에서, 디스크 박스나 도서관의
참고서적란, 혹은 차일 캐비넷 등 원래 있어야 할 자리에서 찾을 수 있다.
당신은 이런 디스크에 있는 데이터 파일을 읽어보길 원할 것이며 그 안의
프로그램을 실행시켜 볼 것이다. 사무실이나 혹은 그 밖의 장소에서 적으
로 디스크를 훔치라고 제안하는 것은 아니지만 며칠 동안 혹은 한밤중에
들키지 않고 그것을 빌려 올 수 있다면 당신은 아주 운이 좋은 것이다. 발
견한 디스크로 무엇을 해야 할 것인가를 논하기 전에 관련된 용어에 관해
먼저 이야기해 보리고 하자. 5 1/4과 3 1/2로 구분되는 마이크로컴퓨터의
디스크에 관해 설명하겠다. 디스크는 두 부분으로 구성되어 있다. '외피'
라고 부르는 사각형의 플라스틱 외장이 있고 디스크 내부에는 원형의 마일
라(폴리에스테르 필름)가 있다. 사각형의 외피는 단순히 얇고 손상되기 쉬
운 디스크 내부를 보호하는 역할을 한다. 그리고 외피는 디스크 내부의 데
이터를 손상하지 않고서 수시로 교체할 수 있다. 3 1/2디스크는 좀더 작은
플라스틱 외피와 디스크 내부를 볼 수 있도록 열 수 있는 금속 문이 있다.
5 1/4디스크는 이런 방식으로 내부를 볼 수는 없고 가운데 원 모양의 홀이
있다.
경고!
출처를 모르는 디스크, 특히 외부적으로 손상을 입은 디스크를 정상적인
디스크 드라이브에 넣지 말라. 입수한 디스크나 혹은 손상된 디스크를 조
사할 때는 먼저 값싼 중고 디스크 드라이브를 구하여 그 드라이브에서 디
스크를 테스트하라. 상태가 나쁜 디스크는 당신의 드라이브에 손상을 줄
수 있다. 그러므로 상태가 좋지 않거나 손상됐거나, 출처를 모르고 입수한
디스크는 절대 당신의 고급 드라이브에 사용하지 마라.
디스크 검사
입수한 디스크에 종이 커버가 씌워져 있다면 그것을 제거하고 표면에 홈
이나, 커피 얼룩, 잔주름 같은 문제가 있는지 주의해서 관찰하기 시작해
라. 디스크가 험한 상황하에서도 버틸 수 있다. 사실은 놀라운 일이 아닐
수 없다. 가정용 컴퓨터가 시장에서 처음으로 히트를 치기 시작한 80년대,
다음과 같은 경고문은 어디에서나 볼 수 있었다. '자석이나 모니터, 프린
터, 전화기 주위에서 디스크를 놓지 마시오. 디스크를 휘거나 내부를 손가
락으로 만지지 마시오.' 이러쿵저러쿵....... 물론 디스크를 조심스럽게
다루어야 하겠지만 플로피 드라이브가 모든 사람이 부담 없이 구입할 수
있는 값싼 매체가 되면서 우리는 디스크가 우리가 생각했던 것보다는 약하
지 않다는 것을 깨달았다. 디스크의 재료가 되는 플라스틱과 토플론은 가
격이 매우 저렴하기 때문에 문제가 있을 때에는 누구나 부담 없이 그것을
버릴 수 있다. 그래서 기업체 주위의 쓰레기장을 뒤지면 이렇게 버려진 디
스크를 쉽게 발견할 수 있고, 이 디스크에서 당신은 유용한 정보를 얻을
수 있다. 5 1/4 디스크에 외관상으로는 아무 문제가 없어 보인다 하더라도
여전히 신중해라(그 디스크는 쓰레기장이나 기타 더러운 장소에서 얻은 물
건이기 때문이다) 한 손으로는 조심스럽게 디스크의 외피를 잡고 다른 한
손으로는 역시 조심스럽게 돌리면서 디스크를 검사해야 한다. 돌릴 때는
허브링(hubring)을 사용하라. 돌리고 있을 때 디스크의 원형 홀 부분을 주
의 깊게 관찰하라. 3 1/2디스크인 경우에는 허브링 부분을 잡고 디스크를
돌리면서 금속 입구 덮개 부분을 밀어 내부를 검사해야 한다. 만일 5 1/4
디스크가 더럽거나 내부에 어떤 티끌이 있다면 디스크를 돌리면서 표면에
손상을 입힐 수 있다. 이 경우에는 디스크를 돌리는 대신 이렇게 해보라.
디스크의 외피 끝부분을 손가락으로 지그시 누른 뒤 날카로운 가위나 칼로
플라스틱 외피의 윗부분(레이블이 있는 곳)의 모서리를 아주 조금 잘라라.
손가락이나 손톱으로 외피의 양끝을 눌러 부풀린 뒤 내부의 디스크를 꺼내
라. 먼지나 티끌을 제거할 때는 문질러 닦지 말고 훅하고 불든지 헤어 드
라이어를 약하게 작동시키든지 압축 공기 캔을 사용하라. 이제 플라스틱
외피의 안쪽 면을 보아라. 내부에 금속성의 얇은 내피가 또 있을 것이다.
만일 이 부분이 더럽다면 그 외피를 버려라. 그리고는 필요 없는 데이터가
들어 있는 다른 디스크를 골라 같은 방법으로 외피를 개봉할 뒤, 내부의
원형 디스크를 제거한 다음 앞의 원형 디스크로 교체하라. 그리고 허브링
이 중간 부분에 제대로 위치해 있는지 확인하라. 이제 이 디스크를 당신의
테스트용 중고 디스크 드라이브에 놓고 테스트를 시작하라. 3 1/2 디스크
의 경우에는 먼저 조심스럽게 금속 덮개를 제거하고 칼로 플라스틱 케이스
를 비틀어 개봉한다. 칼로 디스크 내부에 손상을 입히지 않도록 주의하라.
그리고 양면이 물려 있는 모서리와 네 면의 끝부분에서 작업을 하라. 내부
의 원형 플로피 디스크를 제거하고 외피 내부의 먼지를 깨끗이 청소하라.
청소가 끝났으면 디스크를 깨끗한 외피에 넣고 테이프로 붙여라. 그리고
가능하다면 금속 덮개를 제자리에 끼우라. 힘들다면 그냥 놔둬라. 대부분
의 드라이브는 이것의 유무에 개의치 않는다. 5 1/4 디스크는 가끔 접히거
나 구부러진다. 접히거나 구부러진다 해도 아직은 사용 가능하지만 당신의
디스크 드라이브 헤드가 그 디스크를 인식 못하는 경우가 생긴다. 이 경우
디스크 드라이브의 손상뿐만 아니라 디스크에도 치명적인 손해를 입히게
된다. 그런 까닭에 구부러진 디스크를 양호한 드라이브에 사용하거나 양호
한 디스크를 문제가 있는 드라이브에 사용하지 말라. 만일 쓰레기 중에서
구부러진 디스크를 발견했다면 우선 할 수 있는 한 편편하게 잘 펴라. 구
부러진 디스크를 단단하고 평평한 면에 올려놓고 종이를 몇 장 깐 다음 무
거운 책으로 눌러 놓는다. 구부러진 디스크를 반대쪽으로 다시 구부려서
피려고 해서는 안 된다. 여전히 디스크의 외피가 구부러진 모양을 하고 있
거든 내부의 디스크를 꺼내어 제대로 된 평평한 외피에 넣어라. 손상되었
으나 아직은 복구될 수 있는 디스크에 대해 더 알아보기로 하자.
한쪽 면만 손상을 입은 경우
만일 디스크에서 손상을 입은 부분이 한쪽 면에만 국한되어 있다면 나머
지 한족 면의 데이터는 여전히 읽어들일 수 있다. 그렇게 하는 데는 두 가
지 방법이 있다. 첫 번째 방법은 당신이 찾는 데이터를 서로 연결하면서
선택적으로 트랙(track)을 읽을 수 있는 소거(superzap) 프로그램을 사용
하는 것이다. DOS의 DEBUG 유틸리티 같은 소거 프로그램은 데이터를 한 번
에 하나의 비트(bit)로 변경할 수 있다. 만일 당신이 예전에 사용했던 싱
글 사이드 드라이브(single-side drive)를 사용할 수 있다면 훨씬 쉽게 작
업을 수행할 수 있다. 단지 손상된 면을 위로 하여 읽어 버리면 되기 때문
이다(싱글 사이드 디스크에서는 일반적으로 데이터가 디스크의 뒷면에 기
록된다. 레이블이 붙어 있는 면이 디스크의 앞면이다). 또 한 가지 방법은
디스크의 손상된 면을 감추기 위해 표면적으로 위장시키는 것이다. 예를
들어 당신이 구한 5 1/4 디스크의 한 쪽 면에만 치유가 불가능한 손상이
있고 이것 때문에 드라이브가 그 디스크를 못 읽는다고 가정해 보자. 이렇
게 해보기 바란다. 우선 다른 5 1/4 디스크를 꺼내 포맷을 하고 모서리를
잘라 개봉하라. 그리고 외피를 제거한 뒤 그 새 디스크를 손상된 디스크에
테이프로 붙여라. 이 경우 테이프는 반드시 두 디스크 사이에 위치해야 한
다(양면 테잎이 가장 적당할 것이다). 두 디스크의 위치를 정밀하게 일치
시키라. 이제 그 디스크를 깨끗한 외피에 넣어 봉하고 드라이브에 집어넣
어 당신이 무슨 일을 했는지를 확인하라!
찢어진 디스크일 경우
당신은 투명한 테이프로 찢어진 디스크의 뒷면을 조심스럽게 붙일 수 있
다. 한 번에 한 면에만 테잎을 붙일 수 있다는 사실을 기억하라. 일단 한
면의 테이타를 복구하여 다른 곳을 옮겨 놓았다면 테이프를 뜯어내고 다른
면을 수리할 수 있다. 앞에서처럼 드라이브가 읽는 디스크의 표면에 테이
프를 붙이지 않도록 주위하라. 잘못하면 드라이브의 읽기, 쓰기 헤드에 끈
적거리는 물질이 묻어 못 쓰게 될 수도 있다.
결함
보기에는 멀쩡한 디스크에서 '읽기 에러(Read Error)'가 발생했다면 대
개 눈으로 볼 수 없는 아주 미세한 물리적 손상이 생긴 것이다. 아주 작은
구멍이나 긁힌 곳이 생긴 것이며 결함 부분이 너무 작아 눈으로는 볼 수
없다. 이런 손상 부분은 손으로 디스크의 내부를 돌려볼 때 그냥 지나칠
수 있다. 만일 손상이 디스크의 작은 부분에 한정되어 있다면 그 부분은
디스크에서 현재 제일 먼저 읽혀지는 부분일 가능성이 크다. 손으로 내부
디스크를 왼쪽 혹은 오른쪽으로 돌려 봄으로써 손상되지 않은 새로운 면을
찾아내 읽을 수 있을지도 모른다. 읽기가 가능한 부분을 찾을 때까지 내부
디스크를 조금씩 돌려 보라. 만일 읽기가 가능한 부분을 못 찾았다면 당신
은 속은 것이다. 아마도 공 디스크이거나 당신 컴퓨터 사양에 맞지 않는
디스크일 것이다. 아니면 그 디스크는 단면(single-side) 디스크이며 드라
이브의 읽기, 쓰기 헤드가 작동할 수 없는 반대 면으로 디스크를 놓였을
것이다. 쓰레기장에서 발견한 디스크에는 기업의 전용 데이터가 기업 소유
의 소프트웨어, 아니면 전에 논의한 학습기나 시뮬레이터가 들어 있을 수
도 있다. 해킹에 고고학적 요소가 있을 줄은 몰랐겠지만 실상은 그렇다.
우리는 사람들이 무엇에 관하여 생각하는지를 알기 위해서 그들의 생활을
관찰하고, 그들에게 무엇이 가장 중요한지를 알아보려고 하고, 그들의 경
험을 배우기 위해서 노력한다. 쓰레기장에서 발견한 손상된 디스크를 치료
하여 안에 있는 데이터를 찾아내는 일은 당신이 존재하리라고 상상도 못했
던 세계로 인도할 것이다. 나는 이것을 추구함으로써 얻을 수 있는 지적인
훈련과 스릴을 위해 이런 작업을 적극적으로 권한다.
사진 분석
책, 잡지, 시스템 관련 문서, 포스터나 팜플렛 같은 홍보물, 정부 출판
물, 핸드북에서 볼 수 있는 컴퓨터 사진은 TV 다큐멘터리물, 뉴스쇼, 상업
광고의 컴퓨터 사진과 마찬가지로 유용한 해킹 정보를 많이 담고 있다. 컴
퓨터 사진은 단순히 화면(모니터)만 보여주거나 키보드, CPU, 그 밖의 액
세서리를 포함한 컴퓨터 전체를 보여주곤 한다. 아니면 조작자까지 포함하
여 실제 컴퓨터의 환경을 묘사하기도 한다. 본질적인 '사진(screenshots)'
이라고 부를 수 있는 첫 번째 것들은 당신이 한번도 사용해 본 적이 없는
특정 시스템이 어떻게 생겼는지를 보여줄 수 있다. 이 사진은 그 사진이
나타내고자 하는 바에 따라 그 시스템이 어떤 접속 스타일을 사용하는지
를, 비밀번호가 입력되면서 화면에 보여지는 경우에는 아이디와 비밀번호
의 스타일을, 그리고 어떤 기능을 사용할 수 있는지 등을 알려줄 수 있다.
사용자 매뉴얼이나 기타 안내서, 화면 스케치도 종종 위의 정보들과 기본
접속 코드, 문서 규정, 에러 메시지 등 유용한 것들을 담고 있다. 에러 메
시지와 화면의 구성에 대해 안다면, 목표 컴퓨터가 완전히 외부로부터 차
단되어 있어 후에 이 책에서 언급할 사회공학적 기술을 사용해야 할 때,
당신은 시스템 운영자나 초보 사용자 흉내를 더욱 그럴듯하게 낼 수 있을
것이다. 접속하는 예를 보는 것은 당신에게 정공법 해킹을 하는 데 많은
영감을 제공해 줄 것이다. 사용자 명이 나와 있거나 묘사되어 있다면 그
사용자 명은 유효한 것일 것이다. 당신이 얻고 싶어하는 비밀번호에 관한
정보가 'password: * * * * * * *'와 같이 에스터리크로 가려져 있는 것이
라 하더라도 비밀번호의 길이를 알려준다는 측면에서는 당신에게 도움을
제공한다. 만일 두 장의 사진이 서로 다르게 작동 중인 시스템을 찍은 사
진이고, 두 장에 나와 있는 비밀번호가 다 8자의 에스터리크로 되어 있다
면 초기 비밀번호가 8자이거나 비밀번호의 최대 자릿수가 8자라는 것을 알
려주고 있는 것이다. 사용자의 명의 형태도 역시 중요한데 종종 볼 수 있
을 것이다. 사용자 명의 예를 보면 성과 이름이 모두 필요한지, 대문자가
필요한지, 약자나 회사명, 단체 명이 사용자 명으로 쓰이는지를 알 수 있
다. 화면 이상의 것들이 포함되어 있는 사진에서는 종종 사용되는 키보드
(위치가 잘못된 키나 특별한 키가 있는지 찾아 보라), 키보드 덮개, 컴퓨
터 셋업의 종류와 CPU나 모니터에 붙어 있는 메시지까지 보여준다. 컴퓨터
가 폐쇄된 사무실에 있는가, 또는 얼마나 많은 터미널 오퍼레이트들이 서
로 근접하여 작업하고 있는가? 선반에는 무슨 책이 있는가? 당신은 흥미
있는 벽의 게시물들도 볼 수 있고 책상 주위에 놓여 있는 사물도 볼 수 있
다. 사용자들이 사진 안에 있을 수도 있다. 그들이 이름표를 달고 있는지,
책상 위에 가족 사진을 놓아두거나 야구공이나 낚싯대같이 취미에 관련된
아이템을 놓아두었는지를 당신은 볼 수 있다. 이런 모든 사실이 해커들에
게는 사용 가능한 좋은 정보가 될 수 있다. 내가 컴퓨터 환경에 관하여 언
급했을 때, 물론 내가 언급한 환경은 어린 소년이 보통의 10대 청소년 방
에 있는 매킨토시 컴퓨터를 보여주는 것 같은 선전용 사진이 아니라 실제
환경 속에 있는 컴퓨터의 사진을 말하는 것이다. 신문이나 잡지 기사에는
당신이 분석하고 싶어하는 종류의 사진이 종종 게재된다. 가족 사진, 책과
취미들, 사용자들이 입고 있는 옷, ..... 이런 것들을 보고 비밀번호에 관
한 실마리를 찾을 수 있다. 특정 종류의 컴퓨터의 버그나 허점을 알면 그
것을 이용하여 시스템에 침입하는 방법을 찾을 수 있다. 또한 컴퓨터 환경
을 알면 사회공학을 이용하여 빌딩 안에 있는 다른 개인 작업실이나 사무
실에 익숙한 척 하는 데 도움이 된다. 컴퓨터 사진을 이용하는 또 다른 방
법은 사진의 출처가 적혀 있는 아래쪽 설명(caption) 부분을 살펴보는 것
이다. 여기에서 사진을 찍은 사람의 이름을 알 수도 있는데, 이때는 그 사
람으로부터 신중히 정보를 빼낼 수도 있다. 또는 관련 도시, 사업, 조직에
관한 실마리를 제공받을 수 있다. 또한 이것은 전화번호나 접속 방법, 비
밀번호를 결정하는 데 도움을 준다. 이것들은 당신이 목표로 했던 시스템
에 관해 더 많은 것을 알아낼 수 있도록 도와줄 것이다. 그리고 컴퓨터와
관련된 TV드라마를 가능한 한 많이 비디오테이프에 녹화해 두는 것도 좋은
방법이다. 관심 없는 분야나 지겨운 분야는 빨리 넘어가면 되고 당신에게
도움을 줄 수 있는 시스템의 숨겨진 부분이 나오거나 그것을 작동하는 모
습은 정지시켜 놓고 볼 수 있기 때문이다. 만일 화면을 정지시켜 놓았을
때 TV에 노이즈가 많이 생긴다면 VCR의 헤드를 깨끗이 청소하라. 그래도
문제가 해결되지 않는다면 테이프의 오디오 관련 부분이 영상 출력 부분을
방해하고 있는 것이다. 정지시켜 두고 싶은 영상 부분만 테이프에 따로 녹
음하라. 일단 오디오 부분은 무시하고 비디오 입,출력 케이블을 사용하여
두 개의 VCR을 서로 연결하여 이 작업을 수행할 수 있다. 이렇게 해서 필
요한 부분을 녹음해 두면 음성 때문에 선명하지 않은 화면을 보는 것 대신
에 필요한 부분을 음성 없이 선명하게 볼 수 있다. 이러한 음향과 관계된
문제는 원래 잡음이 많거나 내레이션 목소리가 큰 경우, 혹은 시끄러운 음
악이 흘러나오는 경우 발생한다. 이런 종류의 사진 정보 수집 작업이 어떤
일을 해낼 수 있는지 보여주는 예를 보자. 벨리(Bellee)라는 이름의 한 해
커가 지역 케이블 채널로 경찰서와 관련된 숨은 이야기를 다룬 한 프로를
시청하고 있었다. 화면에서 모뎀을 통해 전화를 걸었을 때 전화번호 중 마
지막 세 자리가 컴퓨터 화면에 나타났다. 나머지 번호는 화면의 반사광 때
문에 보이지 않았다. 벨리는 연결된 경찰 데이터뱅크가 메릴랜드의 한 도
시에 위치해 있다는 사실을 프로를 진행 중인 경찰 관계자의 말을 듣고 알
고 있었다. 그 데이터뱅크로 들어가기 위해 입력해야 하는 접속 코드 중
일부는 그 프로를 시청한 사람이라면 누구나 쉽게 추론할 수 있는 것이었
지만 나머지는 그렇지 못했다. 도서관에서 어느 정도 조사를 한 후에 벨리
는 경찰 관계자가 말한 지방의 세 자리 국번들을 알게 되었다. 그래서 벨
리는 제대로 된 전화번호를 알아내기 위하여 그 국번들 각각에 전화를 걸
었다(TV 드라마를 통하여 마지막 세 자리는 알고 있었기 때문에 나머지 전
화번호를 알아보기 위하여 각 국번마다 10번씩 전화를 걸어 볼 수밖에 없
었다). 전화번호를 알아낸 그녀는 알고 있는 접속 정보를 이용하고(구 번
호, 시 번호, 주 번호가 필요했다) 알지 못하는 부분은 해킹을 하였다(TV
드라마로부터 8자리의 비밀번호를 입력해야 한다는 사실은 알고 있었다).
TV 시청은 그녀에게 보람찬 것이었다. 넓은 지역으로 방영되는 프로는 주
의 깊게 시청하고 있는 시청자들에게 부주의하게 중요한 실마리를 제공함
으로써 혼란을 초래할 수도 있다. 1991년 말 방영됐던 제랄도 리비에라
(Geraldo Rivera)의 <이제는 말한다(Now It Can Be Told)> 뉴스쇼 중 한
편을 시청했던 사람은 일련의 해커 조직이 어떻게 군사용 컴퓨터 시스템을
해킹했는지에 관해 알 수 있을 것이다. 프로가 진행되는 도중 몇 번이나
컴퓨터 화면이 클로즈업되어, 해킹 당한 시스템의 전자 어드레스(주소)를
볼 수 있었다. 또한 그 프로에서는 해커들이 그 시스템에 비밀번호 없이
접근 가능한 'dquayle'라는 계정을 추가시켰다고 보도했다. 당신이 상상할
수 있는 바와 같이 그 계정은 방송이 나간 뒤로 폐쇄되었다. 내가 확인한
바로는 확실히 'dquayle'라는 계정은 사라졌으며, 시스템에 접근하는 몇
가지 일반적인 방법들도 사용할 수 없게 되어 버렸다. 따라서 익명으로 시
스템에 접속하여 파일을 받아 올 수 없게 되었다.
기웃거리기
당신은 공식적으로, 혹은 비공식적으로 여러 장소를 관람할 수 있다. 그
관람은 천진난만한 아이와 그 부모들을 위한 정기적인 관람이거나 아니면
당신이 그 기업에 관한 기사를 쓰고 싶어하는 언론인이라고 말해서 특별히
마련된 것일 수도 있다. 관람하는 동안 당신은 컴퓨터 실과 안내원에 대한
유용한 정보들을 수집하게 될 것이다. 그것들은 모두 비밀번호를 추측하는
데 사용할 수 있는 좋은 정보이다. 만일 당신에게 충분한 사교성이 있다면
당신은 자기 컴퓨터를 자랑하고 싶어하는 사용자에게 시스템의 성능과 그
가 가지고 있는 새로운 게임을 구경시켜 달라고 할 수도 있을 것이다. 이
것은 당신이 집에 돌아가 그날 밤 그 시스템을 해킹할 수 있도록 도와준
다. 시스템을 보는 것만으로도 큰 도움이 되며, 시스템을 셋업하는 장면을
보는 것은 위에서 언급한 대로 해킹하는 데 무척 유용한 정보를 제공해 준
다. 아주 드문 일이기는 해도 여기 쓸 만한 힌트가 있다. 인이 연소되는
현상은 우리가 익히 아는 일이다. 일정 기간 동안 한 영상이 화면에 장기
간에 걸쳐 너무 오래 표시되어 그 영상이 화면에 낙인처럼 새겨지는 것이
다. 메뉴 화면이 화면에 낙인되는 경우는 아주 흔하다. 나는 업무 관계자
만 사용이 가능했었다가 이제는 공공 장소로 옮겨진 오래된 단말기가 있는
곳에 종종 가 보았다. 직원들만 사용 가능한 많은 메뉴를 화면에서 볼 수
있고 이 메뉴들은 대부분 해킹에 사용할 수 있다(메뉴 화면을 모두 보기
위하여 당신은 화면 밝기를 조절해 두어야 한다). 한번은 카운터 뒤에서
몰래 컴퓨터를 엿보게 되었고, 그때는 아무 의미 없는 화면이 출력되어 있
기는 했지만 가까스로 쓸모 없는 내용이 낙인된 화면을 볼 수 있었다. 많
은 사업체, 연구소, 기관들이 특수 도서관이라는 것을 운영하고 있다. 이
것은 일반적으로 그 조직이 관심을 가지고 있는 분야에 관련된 제품이나
서비스만을 하고 있지만 그 조직 자체에 관한 가치있는 자료들도 포함하고
있다. 예를 들어 기업 도서관은 그 기업만의 특징 있는 컴퓨터 시스템에
관한 매뉴얼을 소장하고 있다. 종종 그 매뉴얼에는 메인 컴퓨터(main
frame)에 사용이 가능한 프로그램 목록 같은 유용한 정보들이 있다. 이런
프로그램 목록에는 대개 어떤 보안 제품이 가능한가에 관한 언급이 나와
있고 당신은 이런 보안 제품 메이커에 자세한 것을 묻는 편지를 쓸 수 있
다. 보수나 재건축 중인 건물을 몰래 조사하는 것은 상당히 가치 있는 일
이며 내부 직원들이 보수 기간 동안은 다른 건물에서 업무를 보기 때문에
조사하기가 더욱 손쉽다. 이런 경우, 문이 열려 있는 사무실이 있기 마련
이고 내부에는 컴퓨터와 매뉴얼에 널려 있을 것이다. 보수를 위해 일시적
으로 비워 놓은 건물에 갔던 기억이 나는데, 복도에 서류 뭉치, 워크스테
이션 등이 나와 있었다(사무실에 페인트를 칠하는 중이었다). 나는 키보드
옆에 붙여 있는 포스트 잇(Post-It)에서 비밀번호 뭉치, 책상 덮개 위에
갈겨 써 놓은 비밀번호, 서랍 밑에 붙여 놓은 비밀번호를 볼 수 있었다.
사람들이 이렇게 중요한 비밀을 누구나 볼 수 있게 공개해 놓고 가 버린다
는 것은 정말 놀라운 일이지만 아직도 이런 일은 계속되고 있다. 학교 건
물의 휴게실을 조사하다가 나는 우연히 10권짜리 핸드북 형식으로 제작된
참고 매뉴얼을 구할 수 있었다. 그것은 지금은 존재하지 않는 컴퓨터 사용
자 모임에서 만든 책이었고 이밖에도 프로그래머를 위한 가이드북, 그리고
다른 여러 가지 책자도 구할 수 있었다. 이것들은 전부가 해킹을 하는 데
유용한 물건들은 아니지만 흥미있는 읽을 거리임에는 분명하다. 더구나 이
런 것들을 벽장의 선반 위에 있는 더러운 상자에서 찾아낼 수 있었다는 것
은 흥미 있는 일이 아닐 수 없다. 같은 건물에서 나는 문이 굳게 잠겨져
있고 네 개의 안내문이 붙어 있는 작은 방을 발견했다. 제일 먼저 쓰여져
있는 안내문은 '컴퓨터실'이라고 형식적으로 새겨져 있었고, 나머지는 컴
퓨터로 출력해 놓은 것이나 손으로 적은 일종의 경고문이었다. '항상 문을
잠가 두시오', '허가 받은 사람만 출입할 수 있음' 그리고 마지막 안내문
은 확인 경고문이었다. '사용을 마치고 나갈 때는 창문을 잠그시오.' 두
말할 필요도 없이 문은 잠겨 있지 않았다. 그 안에는 유익한 정보를 제공
하는 또 다른 운영체제 안내서와 각각 모뎀이 달려 있는 PC 두 대가 있었
다. 한 컴퓨터의 하드 디스크를 검색하다가 나는 통신 프로그램에 설치되
어 있는 스크립트 파일을 발견하였고, 거기서 전화번호, 비밀번호, 접속
과정을 알아낼 수 있었다. 조사중일 때는 항상 이런 사항을 눈 여겨 보라.
이런 조사에서 당신은 쓰레기통의 손상된 디스크나 기업의 직원이 되어야
만 얻을 수 있는 학습기와 시뮬레이션 디스크를 얻을 수도 있다. 게다가
자칫 단조로워질 해킹에 물리적인 재미를 제공해 주고 잠시 동안 모니터로
인한 눈의 피로를 피할 수 있게 해 준다. 해킹을 하기 전에 조사가 항상
필요한 것은 아니지만 일단 조사를 해 두면 유용하게 사용할 수 있다. 해
킹을 할 때 어떤 특정한 형태의 조사가 필요한 것은 아니다. 내가 보수 중
인 건물이나 학교 휴게실을 계획없이 조사하는 것 같이, 이런 일반적인 탐
색은 여러 가지 유익한 정보를 제공해 줄 것이다. 바꾸어 말하자면 모든
해킹 작업을 컴퓨터로 할 필요는 없다는 사실이다. 여기에는 즐겁게 일상
생활을 해킹하는 방법도 있는 것이다.
제 4장 비밀번호와 접속 통제
대표적으로 세 가지가 시스템의 보호를 위한 접속 통제 방법으로 발전되
어 왔다. 이 세 가지는 다음과 같다. 지식을 기반으로 한 통제(비밀번호),
소유를 기반으로 한 통제(열쇠), 개인의 특성을 기반으로 한 통제(생체 감
별 장치).. 소유를 기반으로 한 통제는 열쇠나 마그네틱 카드 같은 사용자
가 소지한 물건을 이용하는 방법이다. 어떤 때는 컴퓨터를 작동시키기 전
에 컴퓨터의 구멍에 알맞은 특이한 모양의 금속클립을 사용해야 하기도 한
다. 신원을 확인시켜 주는 배지나 특정한 사이트의 접근을 허락하는 회사
중역의 사인이 있는 문서가 이러한 '열쇠'로 사용되기도 한다. 생체 감별
장치(biometric devices)는 지문이나 서명, 손금 같은 것으로 현재 사용하
려는 자의 특징을 검사하여 이미 기록되어 있는 특징과 비교하는 장치이
다. 이 두 가지 형태의 컴퓨터 보안은 원거리에서 컴퓨터를 사용하는 것을
통제하기 위한 기능을 가질 수도 있겠지만 일반적으로는 사용자가 컴퓨터
가 위치한 곳에서 전산실이나 컴퓨터를 사용하는 것을 통제하는 방식으로
이용된다. 그러므로 생체 감별 장치나 물리적 키는 현장에서의 해킹 방법
을 다룬 장에서 더 논의 될 것이다. 접속 통제의 첫 번째 분류이자 가장
일반적인 방법은 지식을 기반으로 한 통제이다. 컴퓨터를 사용하려는 어떤
사용자가 특정한 비밀을 알고 있는지 확인하는 방법으로서, 이 통제에는
보통 비밀번호가 사용된다. 비밀번호를 알아내는 일은 해킹의 중요한 분야
이다. 그리고 여기에 비밀번호에 대해 당신이 알아야 할 모든 것이 있다.
그들이 어떤 역할을 하고, 그들이 어떻게 저장되며, 그들이 어떻게 깨지는
지에 이르기까지......
비밀번호
컴퓨터 시스템을 보호하는 가장 손쉬운 방법으로 예전부터 비밀번호가
사용되어 왔다. 일반적인 업무에만 쓰이는 관계로 보안에 신경 쓸 필요가
없는 컴퓨터에서도, 단지 사용하면 좋을 것 같다는 생각과 시간, 노력, 시
스템의 저장 공간을 적게 차지한다는 단순한 이유로 비밀번호가 사용되어
왔다. 게다가 마그네틱 카드나 암호화 프로그램 같은 소프트웨어를 사용하
여 보호하는 시스템에서도 내부 자료를 보호하기 위해 비밀번호 시스템을
사용하여 제 2, 제 3의 보안을 한다. 그런 까닭에 여러 종류의 컴퓨터를
다루다 보면 반드시 하나 이상의 비밀번호와 만나게 된다. 일반적으로 비
밀번호는 컴퓨터 시스템에 접근하는 '열쇠'라는 개념으로 생각하기 쉬운데
비밀번호는 아른 목적에도 사용된다. 드라이브에 저장을 승인하는 용도로
도 사용되고, 암호 해독의 열쇠로도 사용되며, 파일의 압축을 푸는 용도로
도 사용된다. 이밖에도 사용자가 합법적인 사용자인지 아니면 어떤 불순한
목적으로 시스템을 침입하려는 사람인지를 확인할 필요가 있을 경우 사용
된다. 비밀번호는 크게 7가지로 분류할 수 있다. 분류는 다음과 같다. 사
용자가 작성한 비밀번호, 시스템이 무작위로 발생시키는 비밀번호, 시스템
이 무작위로 발생시키는 비밀 코드, 사용자와 시스템 양쪽이 반반씩 만들
어 낸 비밀번호, 비밀 문구, 대화식 질문과 답변 절차, 미리 약속된 난수
표에 의한 코드.... 만일 당신이 어떤 시스템에 대한 해킹을 원한다면 먼
저 그 시스템이 사용하는 비밀번호 형태가 위의 일곱 가지 중 어디에 해당
하는지를 알아야한다. 첫 번째 형태가 가장 일반적이며 사용자는 시스템에
처음 접속할 때 자신의 비밀번호를 무엇으로 할 것인지 결정해야 한다. 시
스템이 무작위로 발생시키는 비밀번호와 비밀 코드는 몇 가지 종류가 있
다. 시스템 소프트웨어는 즉흥적으로 대문자, 소문자, 숫자, 특수 기호를
모두 섞어 길이도 일정하지 않은 임의의 비밀번호를 만들어 낼 수 있고,
미리 어떤 구성 형식을 정해 놓고('abc-12345-efg' 같이) 해당 위치의 글
자와 숫자만 무작위로 발생시켜서 만들어 놓는 거소가 같이 일정한 제약이
따르는 경우도 있다. 혹은 컴퓨터가 만들어 내는 비밀번호가, 프로그램 제
작자가 만든 의미 없는 음절이나 단어 목록에서 무작위로 선택한 것일 수
있다. 그래서 'nah.foop'나 'car-back-tree' 같은 비밀번호가 만들어질 수
도 있다. 반반씩 만들어지는 비밀번호는 일부는 사용자가 제공하고, 나머
지 부분은 무작위 과정을 통해 조합된다. 이 의미는 만일 사용자가 쉽게
추측할 수 잇는 'secret'같은 비밀번호를 만들더라도 컴퓨터는 그 단어에
뜻 모를 난해한 글자를 붙여 'secret /5th11'과 같이 더욱 안전한 비밀번
호를 만드는 것을 말한다. 비밀 문구는 길고 추측하기가 힘들지만 기억하
기 쉽다는 장점이 있다. 문구가 '우리는 그것으로 어려움을 겪었다.'처럼
조리 있을 수도 있고, '우리의 코를 낚다.'같이 이상한 뜻을 지닌 것일 수
도 있다. 비밀 문구는 그 사이트의 관리자가 특히 보안에 신경을 쓸 때 사
용된다. 보통의 경우 비밀 문구를 요구하도록 프로그램을 짜는 것이 아무
리 쉽다하더라도 시스템이 비밀 문구를 요구하는 경우를 좀처럼 보기 힘들
것이다. 비밀 문구 개념과 연관이 있는 비밀번호 형태는 머리 글자 문구로
이것은 짧지만 안전한 비밀번호로 보안 전문가들의 극찬을 받은 것이다.
머리 글자 문구에서, 사용자는 시나 노랫말, 그 밖의 글의 내용에서 쉽게
문구를 기억해서 각 단어의 첫 글자들만 비밀번호로 사용하면 된다. 예를
들어 위에서 언급한 두 비밀 문구를 머리 글자만 따면 'wwtbt'와 'fuon'이
된다. 이와 같은 비밀번호 이론의 혁신은 해커들이 미래의 전자 정탐에서
큰 어려움을 겪게 만들 것이다. 비밀번호의 여섯 번째 형태는 대화식 질문
과 답변 절차인데 사용자는 '배우자의 처녀 시절 이름은?'이나 '좋아하는
색깔은?' 등과 같은 여러 가지 개인적인 질문에 답변해야 한다. 컴퓨터는
많은 질문에 대한 답을 저장해 두고, 접속시 두 새 혹은 세 개의 답변을
요구할 것이다. 이러한 질문,대답 과정은 특정 사용자로 위장하고 시스템
에 침입하려는 해커가 그 사용자와 아주 친밀하다면 매우 손쉬운 과정이
될 것이다. 또한 질문과 답변 절차를 사용하는 시스템은 사용자가 접속하
고 있는 동안 일정한 시간마다 하던 일을 정지시키고 질문에 대한 답변을
요구하여 그 사용자가 본인이 맞는지를 확인하는 경향이 있다. 이런 방식
은 사용자가 재미있는 온라인 게임에 열중해 있을 경우 무척 짜증나게 할
수 있다. 그래서 Q&A 방식은 요즘 들어 거의 사용되지 않고 있다. 이 방법
이 처음 제시되었을 때는 상당히 각광을 받았으나 사용상의 번거로움이 많
이 노출되어 결국에는 거의 자취를 감추었다. 미리 정해 둔 난수표에 의한
비밀번호 형태는 소프트웨어의 불법 복제를 방지하게 만드는 코드표 같은
외부 장치를 요구한다. 이런 방식은 컴퓨터가 제시한 코드 조합 좌표를 이
용하여 사용자는 컴퓨터가 원하는 답을 입력해 놓아야 한다. 이런 형태의
비밀번호는 '한번만 사용하는 코드'를 가진 시스템에서 주로 볼 수 있다.
한 번만 사용이 가능한 코드는 한 번의 접속만을 위한 비밀번호이다. 때때
로 이런 유형의 비밀번호는 잠재적 사용자에게 임시 사용자의 권한으로 시
범적으로 시스템을 구경시키고자 할 때 주어진다. 또한 이 코드는 실제 사
용자가 처음으로 시스템에 접속할 때 사용되기도 한다. 일단 이렇게 한번
접속해 본 뒤에는 사용자가 더 안전한 개인 코드로 비밀번호를 변경하길
원하기 때문에 이 코드는 한 번만 사용되게 되는 것이다. 일단의 사람들이
시스템에 접속해야 하지만, 보안은 틀림없이 유지되어야 할 경우 한 번 사
용이 가능한 코드의 목록이 제공되게 된다. 그러면 사용자는 시간이나 날
짜, 요일을 기준으로 하나의 코드를 선택하여 접속한다. 아마 당신은 쓰레
기통을 뒤지다가 버려진 코드표를 보았을 것이다. 한번 사용하고 난 코드
는 더 이상 쓸모 없게 되어 버리지만 이것으로서 당신은 시스템 접속에 필
요한 사항을 알게 될 것이다.
사용자가 정하는 비밀번호
대부분의 비밀번호는 사용자의 기호에 따라 다양하게 선택되고, 비밀번
호를 물어보는 대부분의 프로그램은, 보안을 이유로 쉽게 '해킹 당할' 것
이라고 판단되는 짧은 비밀번호는 승인을 거부한다. 그래서 대부분의 비밀
번호는 넉 자나 다섯 자 이상이다. 게다가 사용자가 비밀번호를 선택할 때
독창성이 부족해서 나타나는 보안상의 허점을 보완하기 위해 그 이외의 방
법을 부가하기도 한다. 취해지기도 한다. 예를 들어 시스템은 비밀번호에
대문자, 소문자, 숫자를 섞어 사용하도록 권유하거나, 'computer' 같이 뻔
한 비밀번호는 승인하지 않는다. 컴퓨터의 비밀번호 파일을 조사하고 사용
자 비밀번호를 분석하여 그것들이 안전한지를 확인하는 소프트웨어는 대부
분의 운영체제에서 사용이 가능하다. 안전하지 못한 비밀번호는 변경되거
나 처음부터 사용이 금지될 것이다. 이 부분이 사전 연구가 필요한 부분이
다. 당신은 목표로 하는 컴퓨터에 대체로 어떤 프로그램이 설치되어 그러
한 기능을 맡고 있으며, 어떤 비밀번호가 승인되지 않을 것인가에 대해서
알고 있어야 한다. 사람들 중에는 모자라는 사람도 있고 현명한 사람도 있
지만, 대부분의 사람은 거의 비슷하게 생각한다. 독창적인 생각은 교육을
통해서 가능할 뿐이다. 또한 비슷한 또래의 사람들 사이에서는 처음의 가
정과 도달한 결론이 서로 비슷하다. 이 말은 어떤 사람이 처음으로 컴퓨터
에 접속하여 비밀번호를 요구받았을 때- 그가 시간이나 장소의 제약으로
인한 스트레스를 받고 있다면- 선택할 비밀번호는 공통적인 주제에 약간의
변화를 준 것이 될 거라는 뜻이다. 자신이 사용할 비밀번호를 입력하라는
명령어가 뜬 경우를 가상으로 상상해 보라. 그들은 멀리서 전화선을 통해
컴퓨터에 접속하거나, 시스템 사용법을 알려줄 컴퓨터 전문가들에게 둘러
싸여 있을 수도 있다. 어떤 경우에든지, 프롬프트는 화면에 위치해 있을
것이고 그것은 조급함을 부르게 마련이다. 일반적인 사람이라면 처음 머리
에 떠오른 것이나, 처음 눈에 보이거나 귀에 들리는 것, 접속 과정 중 예
전에 한 번 해보고 싶었던 것을 입력할 것이다. 비밀번호는 조급한 마음에
서 입력될 것이며, 더 좋은 것이나 안전한 것으로 신중하게 바꿀 여유가
없을 것이다. 그런 까닭에 일반적으로 비밀번호는 직업, 가족, 현재의 사
건, 소유물, 환경, 취미, 관심사 같이 머리 속에 가장 먼저 떠오른 생각과
관련이 있다. 만일 당신이 시스템 사용자의 성격을 알거나 추측해 낼 수
있다면 실제의 비밀번호일 가능성이 놓은 번호의 개수는 훨씬 줄어들 것이
다. 벽에 붙일 포스터나, 재미있는 문구가 씌어진 커피잔, 기타 사무실에
서 볼 수 있는 새로운 제품이 실려 있는 기업 캐털로그를 모으라. '당신은
여기서 일에 미칠 필요가 없다. 하지만 그렇게 하는 것이 당신에게 유익하
다!' 당신은 이 지겨운 문구를 얼마나 많이 보았는가? 나는 그 커피잔에
적혀 있는 'crazy'란 단어가 매일 비밀번호로 사용된다고 장담한다. 당신
이 침투하려는 계정을 사용하는 사용자들의 평균 연령과 일반적인 생활 패
턴에 관해 조사하라. 기업체 사무실 같은 장소에는 싸구려 누드 포스터가
걸려 있지 않지만 대학 기숙사에는 걸려 있다. 여기서 당신은 'playmate',
'victoria', 'body', 'month' 같은 비밀번호를 알아낼 수 있다. 비밀번호
를 알아내는 가장 손쉬운 방법은 사용자 대신 비밀번호를 입력하거나, 처
음으로 접속하는 사용자에게 새 비밀번호를 제공해 주는 것이다. 초보자를
위한 컴퓨터 선생 역할을 자청하여 그들에게 사용 비결을 알려주고, 그러
면서 컴퓨터 보안은 대수롭지 않은 문제라고 얕보게 함으로써 원하는 비밀
번호를 알아낼 수 있다. 초보자는 아직 미숙하기 때문에 비밀번호 입력시
철자를 크게 말할 수도 있고, 'surfboard'라고 쓰여진 포스터를 유심히 보
고 있는 초보자의 눈빛을 보면 비밀번호를 무엇으로 결정할지 쉽게 추측이
가능하기 때문이다(혹은 "아, 정말 좋은 비밀번호가 없을까? 그래, 알았
어!" 하고 말할 뒤에 키보드로 입력하면서 당신에게 그것의 철자를 불러
줄지도 모른다). 대부분의 경우에서 당신은 이미 오래 전에 만들어진 사용
자 계정을 해킹하게 될 것이다. 이 작업에서 사용자의 비밀번호를 알아내
기 위해서는 정공법이나 관찰, 사회적 혹은 기술적인 방법을 사용해야 한
다. 대부분의 비밀번호는 'subway', 'table', 'chocolate', 'hotdog' 같이
사전에 나와 있는 단어들이다. 솔직히 초보자가 컴퓨터 앞에 앉아서
'fMm6Pe#'와 같은 비밀번호를 입력하겠는가? 물론 그렇지 않다! 단어 맞추
기 게임에 적용되는 법칙은 여기선 통용되지 않는다. 비밀번호를 만들 때
는 정확한 단어 말고도 철자가 틀린 단어, 생략형, 의미 없는 단어나 외국
말도 모두 사용될 수 있다. 그런 까닭에 '스타 트렉(Star Trak)'을 즐겨
시청하는 사람이라면 'Enterprise'를 일부러 틀리게 입력한 'enterprize'
를 비밀번호로 사용할 수도 있거나 혹은 그렇게 입력하는 걸 좋아하기 때
문이라는 그런 사실들은 중요하지 않다. 중요한 건 비밀번호에 잘못된 철
자가 있다는 사실을 알고 있어야 한다는 것이다. 당신은 'koka kola'와 같
이 'c' 대신에 'k'가 입력되어 있는 단어를 볼 수도 있을 것이다. 'thanx'
와 같이 'ks' 대신 'x'를 입력해 놓은 단어도 볼 수 있고, 'lether',
'fone', 'stryker'같이 발음을 기준으로 입력해 놓은 단어들도 볼 수 있
다. 어떤 해커는 비밀번호로 사용될 만한 단어를 찾을 때까지 모든 단어를
검색하곤 한다. 그렇지만 그들이 찾는 비밀번호 단어가 맞다 하더라도 철
자가 틀리게 입력되어 있다면, 그들은 엄청난 시간을 낭비한 꼴이 된다.
비밀번호를 알아내기 위해 이런 식으로 사전을 찾는 행동은 해킹을 하는
데 아무 도움이 안되는 미숙한 행동일 뿐이다. 많은 수의 단어가 비밀번호
로 자주 인용되고 이것에 대한 예는 부록에 나와 있다. 그러나 시스템 상
에서는 당신이 전혀 생각지 못했던 단어들이 비밀번호로 사용할 거라고 생
각하는 것이 옳은 추측일까? 이런 종류의 단어는 가장 마지막에 추론해야
할 종류일 것이다. 비밀번호로 많이 사용되는 단어는 'eyeball', 'drums',
'kitchen'같은 명사나 동사(아마도 음란한 단어일 것이다), 'purple',
'great', 'happy'같은 형용사가 주로 사용된다. 여자 친구나 남자 친구의
이름, 귀여운 애완동물에게 붙여주는 이름도 비밀번호로 많이 사용된다.
이것은 이전에 논의된 내용에서 보았을 것이다. 다음으로 인기 있는 비밀
번호는 'sure'라는 철자가 포함한 단어로 'forsure', 'fursure',
'surething', 혹은 'asb'('a sure bat'의 줄임말)같은 것들이 있다. 사전
에 나오는 단어들 외에도 친척, 거리, 애완동물, 스포츠 팀, 음식 이름도
자주 사용되고, 사회보장번호, 기념일, 생일 같이 중요한 날짜나 신분증
번호, 키보드 패턴도 많이 사용된다. 키보드 패턴의 예로는 'jkjkjkjk',
'7u7u7u', 'WXYZ', 'cccccc', '0987654321', 'asdfgh', 'qazwsx'같은 것들
이 있다. 마지막 두 가지 예에서 혼동이 왔다면 키보드에서 이들 문자의
위치를 확인해 보기 바란다. 키보드 패턴은 대개 간단한 문자의 반복이나
열과 행에 이웃한 문자들의 조합으로 만들어진다. 키보드 패턴은 추측하기
힘들긴 하지만, 목표로 했던 시스템의 장비가 무엇인지를 알고 있다면 논
리적인 추측이 가능하다. 예를 들어, 키보드로 '05AF'를 찍는 일은 지극히
우스워 보이지만 당신이 목표로 한 컴퓨터에 16진수 키패드가 붙어 있는
사실을 안다면 그 의미가 분명해 질 것이다. 내가 시스템을 사용하면서 실
제로 목격했던 몇몇 키보드 패턴은 'abcdef', 'qwerty', '12345',
'xxxxxx', 'opopopopp'였다. 만일 최소한의 비밀번호 길이가 6자라는 것을
알고 있다면 이 최소 한도를 넘어가는 패턴화된 비밀번호가 있을 거라고
기대하지 말라. 또한 존재 가능한 모든 패턴을 찾아내려고 해서도 안된다.
헤아릴 수 없이 많은 패턴이 존재한다. 한도를 벗어나서 키보드 패턴을 연
구하는 것은 아마추어나 하는 짓인 것이다.