해킹정보


게시글 '수퍼해커의 해킹비밀 4'에 대한 정보
수퍼해커의 해킹비밀 4
등록일 2005-10-16 조회 3,513
제 2부 해킹하는 동안 제 7장 공용 컴퓨터 단말기 세 가지 종류에 대한 소개 최근에 대형 상점가에 가본 적이 있는가? 의류점, 전자제품점과 식품점 뿐 아니라 미니 골프장, 전자 오락실, 은행, 우체국 기타 당신이 생각할 수 있거나 없는 무언가가 있는, 마구 뻗은 거대한 상점가 말이다. 이전에 볼 수 있었던 '현재위치 ->'가 표시되어 있는 큰 지도 대신에 이제는 상점 가 안에서 길 찾는 것을 도와주고 상점가와 행사들을 알려주는 터치 스크 린이 장착된 컴퓨터를 종종 발견할 수 있다. 나 자신은 상점가의 컴퓨터를 해킹해 본 적이 없지만 해킹의 가능성과 해킹의 동기는 충분히 존재하고 있다. 해커들은, 접속 가능한 어떤 컴퓨터가 침투해 들어갈 수 있는 비밀 영역을 가지고 있다는 것을 알고 좋아서 해킹을 한다. 상점가에 있는 컴퓨 터들도 비밀 영역을 가지고 있다. 일반 대중은 그 빌딩의 컴퓨터 지도에 기록된 상점의 이름을 바꿀 수 없게 되어 있다. 그러나 바로 그렇게 할 수 있는 방법이 있다. 당신이 엘리스 섬에 가서 컴퓨터에서 당신 조상을 찾아 본다 해도, 당신이 볼 수 없도록 되어 있는 배면이 분명히 있다. 모든 공 공 컴퓨터는 비밀 영역을 가지고 있다. 해커는 거기에 다다르고자 하는 사 람이다. 이 장은 공용 컴퓨터의 두 가지 측면을 이야기한다. '볼 수 없게 되어 있는 영역에 들어가는 법', '공공 컴퓨터를 이용하여 그 사용자들에 관하여 당신이 알 수 없도록 되어 있는 정보를 모으는 방법'. 공공 사용이 가능한 컴퓨터와 단말기는 해킹에 관심이 있는 사람에게는 대단한 혜택이 다. 일반인이 접속이 가능한 컴퓨터가 모뎀이 설치되어 있지 않거나 외부 로의 접속이 허용되지 않더라도, 해커는 온라인 데이터베이스, 학교 네트 워크, 기타 다른 컴퓨터 시스템의 정당한 사용자에 대한 정보를 얻는 데 그 컴퓨터를 사용함으로써 이익을 얻을 수 있다. 컴퓨터의 공공 사용이 가 능한 장소는 많이 있다. 사무용 빌딩의 로비, 쇼핑센터, 박물관, 공항의 클럽 라운지, 공중 팩스기, 공립 또는 사립 학교 및 상점, 그러나 공용 컴 퓨터를 가장 자주 볼 수 있는 곳은 도서관이다. 따라서 다음의 논의는 주 로 도서관에서 볼 수 있는 컴퓨터를 기반으로 하고 있다. 일반인의 사용을 위한 컴퓨터는 현재 대부분의 공공 도서관과 대학 도서관에서 볼 수 있다. 그 컴퓨터들은 세 그룹으로 분류된다. 'CD-ROM 데이터베이스와 정보용 컴 퓨터', '공용 단말기', '다목적 마이크로 컴퓨터(general-purpose micros)'. 이제 그것들을 차례로 살펴보고, 어떻게 그것들이 해커를 도와 주는지에 대해 알아보자. CD-ROM 데이터베이스와 정보용 컴퓨터 InfoTrac, 그리고 NewsNet과 같은 CD-ROM 데이터베이스에는 매달 갱신되 는 정기간행물 기사가 수록되어 있다. 경제계 소식이나 여론조사 자료 등 을 제공하는 데이터베이스들도 있다. 몇몇 도서관에는 CD-ROM 백과사전이 있으며, 많은 정부 위탁 도서관에서는 정부 간행물 데이터베이스를 이용할 수 있을 것이다. 비슷한 경우로, 나는 이용자들에게 도서관 이용법을 가르 쳐 주고 유용한 충고를 해주도록 마련된 친절한 프로그램이 설치된 컴퓨터 (대부분 메킨토시 기종이었다)가 있는 도서관들을 본 적이 있다. 이런 컴 퓨터들은 다 해커들에게는 그것들이 지니고 있는 정보를 얻는 데에만 쓸모 가 있다. 왜냐하면 그런 컴퓨터는 모뎀도 없고 접속 가능한 전화선도 없이 독립적으로 설치되어 있기 때문이다. 그것들은 대개 특정한 주제에 관한 정보를 제공하는 한 가지 목적만을 위해 쓰인다. 약간은 특별하고 드문 경 우이긴 하나 결국은 '기록부'로서 사용되는 컴퓨터를 이따금씩 볼 수 있을 것이다. 사람들은 전산실이나 사무실 등 어디든 들어갈 때, 컴퓨터에 이름 과 ID 넘버를 입력하고, 아마도 그들에게 대한 몇 가지 질문에 대답한다. 이런 종류의 컴퓨터를 설치하는 목적은 누가 공공시설을 이용했는지에 대 한 시간과 날짜를 기록하는 것이다. 물론, 라이트 펜이나 그래픽 타블렛을 이용하지 않는 한, 서명을 인식할 수 없기 때문에, 보안 목적으로 서명을 사용할 수는 없다. 데이터베이스나 개인 교습 시스템과는 달리, 방문자 기 록 컴퓨터에는 해커의 방식으로 해볼 수 있는 여지가 약간 더 많이 잇다. 그밖에 누가 시설물을 사용하였는지 알아보기 위해서, 응용 프로그램이 그 컴퓨터를 사용하여야 할지도 모른다. 그 시설물이 전산실이라면 그 컴퓨터 를 사용하여야 할지도 모른다. 그 시설물이 전산실이라면 이 정보는 유용 할 수 있다. 이용할 만한 특정인들의 컴퓨터 사용 양태나 특정 시간이 사 용자가 적은 경향을 발견할 수 있을지도 모른다. 앞으로 보겠지만, 이 둘 은 모두 알아두면 도움이 된다. 만약 사용자 등록 프로그램이 당신 이전에 누가 사용했는지를 알려 주지 않는다면 운영체제 수준으로 나가려고 시도 하여 그와 관련된 데이터 파일을 찾아 보라. 이것에 대해서는 곧 나올 다 목적 마이크로 컴퓨터 부분에서 토의된다. CD-ROM 데이터베이스와 정보용 컴퓨터의 이용은, 대개는 해커에게 별로 유용하지 않다. 물론 예외가 있기 때문에, 당신이 찾은 이 종류의 어떤 컴퓨터든 조사해 볼 가치가 충분히 있다. 공용 단말기 이것들은 보통 전자 카드 목록으로서 도서관에 설치된(때로는 IBM호환 기종을 볼 수 있지만) 단말기들이다. 그것들은 IRIS와 GEAC 같은 이름을 가지고 있을 것이다. 이들 시스템은 도서관 이용자들이 다양한 검색 방법 으로 자료(서적, 잡지, 비디오)를 검색하고, 자료의 현재 상태(대출 가능? 대출 중? 미반환? 분실?)를 알고, 항목이 꽂혀 있는 장소를 찾고, 도서관 소식 여타 도서관 관련 기능을 얻을 수 있게 해준다. 특히 대학의 도서관 은 외부에서도 전화를 걸어서 사용할 수 있게 되어 있다. 해커에 대한 도 전은 바로 이것이다. 해커는 모든 도서관 컴퓨터에 비밀 영역이 있다는 것 을 안다. 해커는 어떻게 그 안에 들어갈 수 있을까? 모든 도서관 컴퓨터는 두 가지 부분으로 나뉘어져 있다. 공용 목록과 사적인 것들이 있다. 사적 인 것(비밀 부분)은, 자료를 차지하는 절차와 사용자에 대한 개인 정보, 벌금의 가산과 변경, 도서 카드의 분류 등을 포함하고 있다. 도서관 직원 들이 사용하는 이런 사적인 기능은, PAT에서 볼 수 있는 것과 똑같은 정보 데이터베이스에 의존하여야 한다(도서관 직원이 어느 누구에게 책을 대출 해 주었다면 그 책이 현재 도서관에 없다는 사실이 공공 단말기에 보여져 야 한다). 그러므로 일반인이 사용할 수 있는 기능은 전체 도서관 프로그 램의 일부분이다. 즉 일반인이 사용하는 책을 조사하는 프로그램은, 고수 준의 관리 기능을 포화한 거대한 프로그램의 일부이다. 두 개의 프로그램 영역은 명백하게 분리되어 있다. 그렇지 않다면 누구라도 도서관에 들어가 자기 도서 카드에 부과된 모든 벌금 내역을 지우거나 100달러의 가치를 지 닌 잃어버린 항목을 자기가 미워하는 사람의 기록에 넣을 수 있을 것이다. 그렇다면, 공적인 부분은 사적인 부분과 어떻게 분리되어 있을까? 추측해 보라. 그렇다, 비밀번호다. 사실 이것은 보통 두 개의 조합이다. 하나는 숨겨진 메뉴 명령이고, 다른 하나는 사용 권한을 부여하는 비밀번호이다. 도서관 시스템의 메인 메뉴나 최상위 메뉴에서 BYE, END, EXIT, X, XXX, SYS, SYSTEM, LATER 그리고 OFF 같은 다양한 명령어를 입력해 보라. 보통 이런 종류의 시스템은 세 글자의 명령어 또는 한 글자의 명령어를 요구하 지만 당신이 하나의 시스템에서 다른 시스템으로 옮기면 그것은 매우 다양 하게 바뀌므로 그에 따른 당신의 전략도 다양하게 바뀌어야 한다. 만약 BYE 같은 것을 입력했다면 당신은 시스템의 일반적인 부분에서 빠져나갈 것이고 아마 물어오는 비밀번호에 답해야 할 것이다. 당신은 비밀번호를 얻는 방법에 대해서는 잘 알고 있으리라 믿는다. 반면에 아예 비밀번호를 요구하지 않을 수도 있다. 몇몇 도서관 시스템은 바코드 식별을 통해 프로 그램의 사용 권한을 결정한다. 만약 당신의 도서관 카드에 바코드가 있다 면, 시스템 운영 권한을 얻는 방법은 비밀번호를 찾아내는 것이 아니라 그 특정한 흑색 막대의 조합을 알아내는 것에 달려 있을 수 있다. 이것에 대 해 이야기하겠다. 바코드 해킹 우리 집 근처의 어느 대학 도서관에는, 공용의 단말기와 IBM 호환 컴퓨 터가 건물 도처에 설치되어 있다. IBM 호환 컴퓨터에는 라디트 펜이 달려 있다. 그런 컴퓨터로 사용자가 자신의 정보를 보거나 변경하는 작업을 할 때, 보안 확인을 위해 도서관 카드의 바코드를 사용한다. 어느 화창한 날, 나는 도서관 시스템을 해킹하기로 결심했다. 나는 여러 명령을 입력해 봄 으로써 BYE 라는 것이 메인 메뉴에서 나의 바코드 넘버를 물어보는 화면을 뜨게 함을 알았다. 당연히 나는 직원 자격으로 접근할 수 없었고 내 바코 드는 아무 일도 하지 못했다. 나는 직원용 카드가 필요했다. 가급적이면 도서관장의 카드가 아니면 시스템 관리자 같은 사람의 카드와 같이 권한이 높은 사람 것이 필요했다. 나는 카드를 얻는 데 소매치기를 하고자 하지 않았다. 그것보다 더 좋고, 더 쉬운, 더 해커답게 문제를 풀어 나가는 방 법이 있다. 나는 컴퓨터를 이겨내기 위해 컴퓨터 기술을 사용했다. 바코드 를 관찰하면, 보통 작은 숫자들이 띠 밑에 인쇄되어 있는 것을 볼 수 있을 것이다. 이 숫자가 바코드로 암호화되어 있는 내용이다. 도서관 카드(또는 도서관의 책에 새겨진 바코드)의 숫자는 약 16자리이다. 바코드는 특정한 도서관의 것임을 밝히는 초기 그룹 코드가 있고, 그 뒤로 몇 개의 0이 나 오고 끝으로 7-8자리의 숫자가 있다. 이러한 종류의 숫자 배열은 당좌구좌 번호 및 당신을 식별하는 데 쓰이는 많은 다른 숫자들에게 적용된다. 도서 관 확인 부분은 어떤 사람이건 똑같으므로, 지금 실제 문제가 되는 숫자의 부분은 0이 나온 후의 마지막 8자리이다. 이것은 만일 내가 강제적으로 가 능한 모든 바코드의 기재 사항 조합을 고위 권한을 얻을 때가지 시도한다 면, 1조 번의 시도를 할 필요 없이 10억 번 정도만 해보면 된다는 것을 의미한다. 당연히 나는 그 바코드 넘버를 키보드로 입력할 수는 없을 것이 다(또 누가 그런 방법을 하기를 원하겠는가?). 당신도 알다시피 컴퓨터는 바코드를 키보드로 입력하는 것을 허용하지 않는다. 만약 그렇게 하면 다 른 사람의 코드 넘버를 알고있다면 누구나 쉽게 그 사람의 개인 기록을 볼 수 있을 것이다. 그것은 내가 도서관장의 코드 번호를 알고 있다고 하더라 도, 도서관 프로그램의 뒷부분으로 들어갈 수 없다는 뜻이다. 나는 여전히 도서관장의 카드 자체가 필요한 것이다. 일단 이 문제를 돌아가는 방법은 당신이 바코드를 스캔한 후 무엇이 일어나는지 살펴보는 것이다. 컴퓨터에 마지막 숫자가 입력되면 자동으로 전송하는가? 그렇지 않다면 백업을 하고 숫자를 변경할 수 있는지 보라. 만일 자동으로 전송되었다면 당신의 바코 드를 다시 한 번 더 스캐닝하려 시도하고, 이때 즉시 중단(Break) 또는 멈 춤(pause) 신호를 보내라. 컴퓨터가 전체의 바코드를 다 입력받은 줄 알지 만 당신의 목적에 맞게 숫자를 더하거나 변경하게 될 수 있을지도 모른다. 만약 [Ctrl+S]를 눌러 바코드가 읽히는 것을 멈추는 데 성공했다면 [Ctrl+C]를 누르고 이것이 스캐너로부터 숫자를 더 읽는 것을 중단 시키는 지 살펴 보라. 바코드를 읽혀지고 나서 아주 빨리 화면에 표시될 것이므 로, 중도에서 이것을 멈추는 것이 어려울 수가 있다. 만약 컴퓨터에 프린 터가 붙어 있다면 출력을 프린터로 보내라. 이것은 당신이 바코드를 제때 에 충분히 멈출 수 있도록 느리게 해줄 것이다. 물론, 당신이 사용하는 (단말기가 아닌) 컴퓨터에 '터보(Tubo)' 버튼이 있다면 그것을 눌러 터보 모드에서 나오게 할 수 있다. 만약 거기에 버튼이 없어도 터보 표시등에 불이 들어와 있어 터보 모드가 있다는 것을 안다면 몇 가지 프로세스(도스 상태로 빠져나가 SPEED 명령 같은 것, 또는 그 밖의 유사한 것들이 있는지 살펴 보라) 또는 키보드(종종 [Ctrl+Alt+grey '-'] 키가 터보 모드를 해제 시킨다)로 터보 모드를 해제시킬 수 있다. 또 한 가지 어려운 일은, 스캐 너에 불완전하거나 잘못된 바코드를 입력시키는 일이다. 때때로 바코드 리 더는 읽어들여서는 안 될 바코드인데도 올바른 바코드로 오해하는 경우가 있다. 그러므로 바코드 리더는 그 코드를 읽고 중간에 멈추어 나머지 입력 을 계속 기다릴 것이다. 결국 단말기 파라미터 메뉴에 접근할 방법이 있다 면, 어떻게 해서든지 그렇게 하라. 자동 입력 전송 또는 입력에 보내는 키 보드 값을 조정하는 어떤 종류의 스위치가 있는 경우가 종종 있다. 당신은 자동 전송을 불가능하게 함으로써, 바코딩된 정보를 수동 입력할 수 있다. 위의 모든 힌트들은 당신이 시스템 운영 기능을 사용할 수 있는 도서관 계 급 내에서 몇몇 중요 인물의 바코드 넘버를 얻어내었음을 함의하고 있다. 당신이 정말 그 바코드 번호를 알게 되면, 당신은 바코드들을 조심스럽게 관찰하여 상이한 숫자들을 표현하는 선의 두께와 패턴을 알아내거나, 바코 드 생성 소프트웨어를 사용함으로써 바코드를 프린터로 뽑아 볼 수 있다. 그러나 나는 어느 누구의 번호도 가지고 있지 못했다. 나의 해킹 목적은 그런 번호를 찾는 것이었다. 그래서 나는 라이트 펜으로 나에게 없는 수천 억 개의 바코드를 스캔하는 방법을 찾아야 했다. 결국 그 중 하나가 도서 관 프로그램의 비밀 부분에 접근할 수 있는 것임을 발견하였다. 모든 숫자 조합을 바코드 프로그램으로 프린트할 수 있다고 하더라도 그것은 많은 시 간과 노력의 낭비였을 것이다. 라이트펜('마법의 지팡이', '바코드 리더' 또는 '스캐너'라 알려진 것)의 동작 방식은 다음과 같다. 빛이 펜 안쪽의 LED로부터 나오면 사파이어 구(렌즈 역할을 함)를 통과해 바코드 위의 초 점에 모인다. 종이에 반사되어 구를 통해 포토 센서의 초점에 모인 빛은 전압의 강약으로 전환되어진다. 포토 센서의 전기적 출력은 증폭되어 바코 드 레이블의 일련의 까맣고 하얀 선에 빛을 맞추어 신호를 생성한다. 펜은 외부 박스나 내부 카드를 통해 컴퓨터에 연결되어 있다. 이 박스 카드는 전압 패턴을 알맞은 아스키 문자로 디코딩해 준다. 디코딩을 할 때, 전압 은 백색 라인이 대략 0.11볼트, 검은 색 라인이 0볼트에 해당한다. 내 계 획은 스캐너로 전압을 보내 그것을 바코드를 읽는 것처럼 생각하게 하는 것이었다. 실제로 스캐너가 하고 있는 일이란 모두 영리한 해커의 정공법 에 희생되는 것뿐이었다. 당신이 컴퓨터나 신호 발생기를 프로그래밍하여 모조 코드를 만들려면 그 특별한 시스템에 맞는 정확한 번호에 도달할 때 까지 전압을 변화시켜 보아야 할 것이다. 또한 완벽한 코드를 만드는 데 걸리는 시간도 적절하게 조정되어져야 한다. 보통 스캐너는 초당 45인치를 읽을 수 있다. 아마도 당신은 적당한 기술 참고서 또는 몇몇의 소스 코드 리스트, 또는 제작 회사에 전화를 해서 전압과 타이밍의 이상적인 값에 대 해 물어 볼 수 있을 것이다. 당신이 사용하는 것이 단말기가 아니고 컴퓨 터라면, 바코드 해독 프로그램이 메모리에 상주해 있을 가능성이 있다. 당 신은 그 프로그램을 우회하거나 속여서, 당신이 공급한 디스크 파일로부터 의 입력을 읽게끔 할 수 있을 것이다. 좋은 방법은, 하드 디스크의 내용을 복사해 집에 와서 스캐너 디코더로 하여금 그 키보드가 데이터를 입력하 는, 올바른 RS232 직렬 인터페이스라고 생각하게 만들 방법이 있는지 알아 보는 것이다. 마지막으로 바코드의 한 쪽 끝 또는 양쪽 끝에는 비교 숫자 가 있다는 것을 기억하라. 그 숫자는 대부분 레이블에 인쇄되어 있지 않을 것이다. 만약 비교 숫자가 바코드 레이블에 인쇄되어 있다면 몇 개의 표본 바코드를 연구하여 비교 자리를 만드는 방법을 알아내려고 노력하라. 당신 은 방법을 알아내기에 충분한 숫자 표본을 찾기 어려운 도서관 카드의 바 코드만 찾을 필요가 없으며 책에 있는 바코드를 연구해 봄으로써도 같은 결과를 얻을 수 있다. 예제로 슈퍼마켓의 식품 포장지에서 일반적으로 쓰 이는 만국 제품 코드(Universal Product Code)의 비교 자리는 다음과 같 다. 210에서(바코드의 왼쪽에 따로 떨어져 있는 숫자부터) 하나씩 거른 자 리의 숫자들의 합에 3을 곱하여 뺀 후 나머지 숫자들의 합을 뺀다. 비교 숫자의 위의 식의 답의 마지막 자리 숫자이다. 내 공격 목표인 우리 집 근 처의 그 대학 도서관으로 돌아가자. 그곳 컴퓨터 중 한 대에는 라이트 펜 이, 전화기에 쓰이는 모듈러 클립으로 부착되어 있었다. 그것은 쉽게 떼어 낼 수 있었다. 나는 적당한 사이즈의 수신 잭을 사서 케이블을 이용하여 그것을 나의 작은 포터블 컴퓨터 중 하나의 모뎀 포트에 연결하였다. 그리 고는 자동 전화 걸기 프로그램을 수정하여, 나에게 필요한 범위의 바코드 넘버들을 출력해내도록 하였다. 나는 모든 준비를 마쳤다. 며칠 후 그날은 토요일이었고, 화창한 날이었다. 나는 이 작업을 일요일에 하려고 했었다. 왜냐하면 일요일에는 주중의 날보다 도서관에 사람들이 적게 온다는 통계 를 보았기 때문이다. 나는 일련의 구경꾼들이 있는 것을 원하지 않았다. 더구나 그날은 아주 좋은 날씨였고 나는 사람들이 해변에 갈 것이라고 판 단했다. 내 생각은 옳았고, 실제로 거기에는 아무도 없었다. 나는 도서관 의 컴퓨터에서 라이트 펜을 떼어내, 그 플러그를 내 포터블 컴퓨터의 잭에 연결하였다. 내가 'BYE'를 타이프하자, 내가 뒷면으로 가는 것을 허락하기 전에 나의 바코드를 요구하는 프롬프트가 나타났다. 그때 나는 위의 프로 그램을 실행시켰다. 작업은 순조로웠다. 그 프로그램은 모뎀 포트를 통해 바코드 넘버들을 라이트 펜 케이블로 전송했다. 도서관의 컴퓨터는 수신하 는 데이터가 실제 바코드로부터 오지 않는다는 것을 알 방법이 없었다. 나 는 나의 포터블 컴퓨터의 커버를 닫았고, 그 전체를 신문으로 가렸다. 그 리고는 바코드 넘버들이 다 끝날 때까지, 나는 그곳에 앉아 잡지를 읽었 다. 잠시 후 나는 높은 수준의 접근 능력을 가진 바코드 넘버를 발견하였 고, 나는 이것을 이용해 내 도서관 카드 상태를 거의 최고의 수퍼 유저로 변경할 수 있었다. 그것은 그 자체만으로 대단한 것이었지만, 수퍼 유저의 상태를 가졌다는 것이 나를 한 걸음 더 멀리 갈 수 있게 하였다. 나는 이 제 사용자들의 기록에 접근할 수 있었다. 주소와 전화번호, 학생 ID, 사회 보장 번호, 그리고 생일 등을 도서관 카드로부터 찾아낼 수 있었다. 그것 은 내가 학교의 거의 모든 학생, 교수, 직원들의 개인 정보를 가지고 있다 는 뜻이 된다. 나는 사람들이 빌려 간 책 들을 찾을 수 있으며, 그러므로 그들이 관심을 갖는 주제나 취미를 알아낼 수 있었다. 이 모든 정보를 이 용하면, 달리는 들어갈 수 없었을, 많은 네트워크의 계정에 침투하는 것은 간단한 일이었다. 숨겨진 명령어들 당신이 이런 종류의 공공 단말기를 해킹하고자 할 때에는 언제든지, 통 상 그 시스템의 잠재적 사용자들을 위한 상이한 보안 단계들이 있다는 것 을 기억해야 한다. 각 단계마다 다양한 명령어들이 메뉴에 나타날 수도 있 고 나타나지 않을 수도 있다. 그러나 당신은 그 프로그램의 불완전성을 이 용해 그 명령어들을 실행시킬 수 있다. 만약 메뉴에서 1에서 4번까지 선택 할 수 있다면 5 또는 6......0까지 실행해 보라. 언제나 Z, Q, X, 기타 이 상한 글자들, 작동할 만한 가능성이 있는 어떤 것이든지 입력해 보라. 이 들 나타나지 않는 명령들을 딱 한 번 시도하는 것은 충분치 못할 수도 있 다. 이따금 한두 번 에러 메시지가 발생되다가 갑작 시스템에서 빠져나가 거나 개인 영역으로 들어가는 경우도 있다. 오용되는 것을 허용할 만큼 잘 못 작성된 프로그램을 찾는 것은 힘든 일이지만, 제작자나 테스트하는 사 람들도 모르고 지나치는 버그의 숫자를 알게 되면 놀랄 것이다. 특히 프로 그램은 초판의 경우에는 이러한 현상이 더 심각하다. 또한 이것을 기억하 라. 도서관의 컴퓨터(또는 당신이 사용하고 있는 어떤 컴퓨터든지)에는 당 신이 생각지 않았을 많은 기능들이 있다는 것을 당신이라면 전혀 시도할 생각을 전혀 하지 않았을 기억술이 사용되고 있을 수도 있다. 그러므로 당 신이 할 수 있는 모든 것을 시도해야 한다. 내 말은, 도서관의 공용 단말 기가 다음의 세 글자로 이루어진 각각 다른 일을 하는 명령을 입력하는 것 을 허용한다고 하자. ING(책에 대한 조회), NEW(새 사용자에 대한 정보), 그리고 PAT(이용자 자신에 대한 정보). 당연히 이 시스템은 이 3개의 명령 만을 지원하는 것은 아니다. 다른 명령어들이 많이 있으며 그것들을 당신 이 알지 못할 뿐이다. CON, ILL, CHG, DIS 그리고 다른 3글자의 조합(또는 적당한 숫자의 캐릭터) 같은 것들을 입력해 보라. 어떤 시스템에서 모든 명령어들이 세 글자로 이루어졌는데도 NEW USER 또는 RECALL 같이 긴 명령 어도 한두 개 있는 경우가 있다. 그런 경우 당신은 그 컴퓨터가 3자 이상 의 명령어를 지원한다는 사실을 알아야 한다. 내가 위에 들었던 명령어들 은, 각각 CONversion, InterLibrary Loan, CHarGe, 그리고 DIScharge의 약 식 표기이다. 내가 ILL의 뜻을 설명하기 전 당신은 아마 그 'ILLness' 또 는 'I Love Lucy'같은 도서관과 아무 관련이 없는 단어로 생각했을 수도 있을 것이다. 그러나 ILL은 매우 일반적으로 사용되는 약식 표기이다. 당 신이 전혀 아는 바 없는 시스템에 침입하려 한다면, 그들이 사용할 코드와 약호들은 그들의 분야와 연관된 것일 가능성이 크다. 따라서 사전 연구는 필수적이다. 어느 영국 시스템은 LCO, LIN 같은 명령어를 도서 대출 (Library Check Out)과 도서 조회(Library INquiry) 기능으로 사용한다. 또한 몇몇 외국의 프라이버시 법률들 때문에, 직원들을 주소, 전화번호와 같은 개인 정보와 어떤 책들이 대출되었는지를 알아보기 위해 이용자 계정 에 접근할 수 없도록 되어 있다. 단말기를 끈 다음 10초 후 다시 켜서 무 슨 일이 일어났는지 보는 것은 권할 만한 일이다. 어떤 단말기들은 Ctrl, Shift, Alt의 다양한 조합에 반응한다(때때로 Alt는 '글자 조합'으로 불려 지면 그 이유는 Alt를 누르고 있는 동안 0-255 사이의 숫자를 키보드 오른 쪽 편의 숫자 키 패드로 입력하면 일치하는 ASCll문자가 나타나기 때문이 다). 또한 다른 키를 살펴보고 Shift, Ctrl 등과 기능 키의 조합을 알아 보라. Escape, [Ctrl+C], [Ctrl+X], [Ctrl+Q], [Ctrl+G], [Ctrl+Break]등 의 다양한 다른 제어 코드들을 입력해 보라. 당신은 무엇이 뭔가를 할지 또는 도대체 어떤 별난 일이 일어날지 알 수 없다. 그러나 때때로 당신은 즐겁게 놀랄 수 있다. 대학의 공용 단말기 또 다른 공용 단말기는, 어느 대학이든 전산실에서 쉽게 볼 수 있는 것 이다. 이것들은 오직 권한을 가진 사용자, 곧 시스템 상의 계정과 비밀번 호를 가진 사람만 사용하도록 되어 있다는 점에서, 도서관에 있는 정보 출 력 컴퓨터들과 다르다. 당신은 이 단말기에서도 여러 기능 키와 컨트롤 키 를 시도해 보아야 한다. 이렇게 해서 어딘가에 들어가기는 어렵겠지만, 여 러 컨트롤 코드들을 써서 퍼레이터 메뉴에 접근하거나 화면색을 바꿀 수 있는 경우는 종종 있다. "?"를 누르거나, 'HELP'를 입력하여, 어떤 명령어 들을 사용할 수 있는지 알아 보라. 대부분의 대학에서는 당신에게 학생 활 동, 전화번호, 근무시간, 캠퍼스 뉴스를 알려주는 정보 시스템을 가동할 것이다(이것은 아마도 도서관 시스템과 연결되어 있을 것이다). 그 정보 시스템은 또한 당신이 국내의 다른 대학 정보 시스템이나 연방 또는 주립 시스템에 접속하는 것을 허용할지도 모른다. 당신이 사용하고 있는 시스템 에 공공 정보 시스템이 있는지, 있다면 어떻게 접근할 수 있는지 알아내는 것은 간단한 일일 것이다. 만약 모른다면 컴퓨터 실에 전화를 걸어 물어 보라(외부 접속 전화번호를 물어 보는 것도 잊지 마라). 일반적으로 당신 은 모든 대학, 주, 그리고 가능하다면 전세계의 컴퓨터와 접속하기 위해 텔넷, 기타 네트워킹 프로토콜을 사용할 수 있을 것이다. 그러나 그처럼 하기 위해서는 먼저 당신은 등록된 사용자로서 접속할 수 있어야 한다. 이 절에서는 대학의 공용 단말기를 사용하여 비밀번호와 ID를 얻어내기 위해 해커들이 사용했던 몇 가지 기술을 다룬다. 첫 번째 이야기이다. 쉬운 방법으로 하기 네바다 주의 라스베이거스에 사는 컴퓨터광 베리는 정보를 찾는 데 어떤 프로그래밍 기술이나 특수한 기구 없이 아주 쉬운 방법을 사용하였다. 베 리가 다니는 대학의 컴퓨터 연구실에는 메킨토시를 방 중앙에 놓고 주변을 단말기로 둘러쌓아 놓았다. 그는 시스템 계정을 가지고 있었다. 그러나 그 는 몇 가지 중요한 해킹을 해보고 싶었다. 그는 자신의 이름으로 접속하려 한다면 말썽이 생길 것이라는 사실을 알고 있었다. 위험 없이 해킹하기 위 해서는 낮은 수준의 접근 계정이 필요하다. 그의 학교에 있는 단말기는 다 음과 같이 작동하였다. 사용 가능 한 명령어 또는 메뉴가 화면에 나타나 있고, 하단에는 알맞은 크기로 밑줄 _____이 있어 사용자가 자신의 선택을 입력하게 되어 있었다. 당신은 화살표 키로 화면 위의 모든 곳을 움직일 수 있고, 어디서든 타이핑 할 수 있었다. 그러나 Send를 누르기만 하면 밑 줄이 있던 곳에 씌어진 글자들만 인식되었다. 배리는 정보 시스템의 메인 메뉴로 갔다. 그는 화살표 키와 스페이스 바를 이용해 화면의 모든 글자를 지웠다. 그 후에는 주 컴퓨터에 접속할 때 사용되는 로그인 화면을 흉내내 어 만들었다. 화면 아래에 그는 다음과 같은 적당한 프롬프트를 넣었다. ENTER NAME/PASS IN FORM nnnnnnnn,ppppppp_______________ 그리고 커서의 위치를 밑줄의 시작 위치를 움직였다. 그는 CapaLock키를 켠 뒤, 다른 모든 단말기의 전원을 꺼 놓았다. 그런 후에 베리는 그가 조 작해 둔 단말기 근처 메킨토시가 있는 자리에 앉아 기다렸다. 누구나 그날 은 매킨토시를 쓰고 싶어하는 것 같았다. 그는 한 시간이 넘도록 다른 사 람이 단말기를 사용하러 오기를 기다렸다. 베리가 희망한 대로 어떤 사람 이 켜져 있는 단말기 쪽으로 곧장 걸어갔다. 매킨토시가 있는 베리의 자리 에서 그는 쉽게 그 사람이 무엇인가를 입력하는 것을 볼 수 있었다. 당신 이 상상하는 것처럼, 어떤 사람이 실제 접속 화면을 사용할 때는 컴퓨터가 암호를 '*'로 가려 준다. 단말기를 사용하는 그 여자는 그녀가 자신의 중 요 데이터를 타이핑했을 때, 어떤 일이 진행되었다는 것을 깨닫지 못했던 것 같다. 그녀의 암호를 입력하고 Send키를 눌렀을 때 보통 승인되지 않았 음을 나타내는 비프 음이 출력되었다(왜냐하면 그녀는 베리가 지운, 명령 으로 쓰여지기로 된 공간에 아무것도 입력하지 않은 채 Send를 눌렀기 때 문이다). 컴퓨터는 메인 메뉴를 다시 출력하였고 조금 놀랐던 여자는 다시 접속하여 자신의 일을 부지런히 했다. 그녀가 온 후 조금 있다가 컴퓨터 실에 들어와 옆에 앉아있었던 다른 컴퓨터 사용자는 그녀에게 "단말기들이 하루 종일 이상하네요."하고 말했다. 베리는 득의양양했다. 첫 번째 시도 에서 그는 이름과 비밀번호를 거의 노력하지 않고 얻었으며 추적 당하지 않고 마음껏 해킹할 수 있게 되었다. 거기에 더해 이상한 일은 아무 상관 없는 시스템 고장 탓으로 돌려졌다. 이런 많은 술책은 명령 체계의 구성 방법, 사용되는 단말기의 종류, 방의 배치등에 따라 변화될 수 있다. 당신 은 적절하게 당신의 전략을 조절해야 할 것이다. 몇몇 단말기는 당신이 화 면색을 변경하는 것을 허용한다. 나도 그러한 단말기에 베리의 전술과 비 슷한 일을 했었다. 먼저 화면을 지우고 접속 화면을 타이핑하여 위조하였 다. 그러나 정확한 복제는 아니었다. 나는 밑줄을 원래의 위치보다 한 줄 아래에 두었다. 나는 커서를 명령이 입력되어질 위치(내가 가짜로 만든 밑 줄의 위치보다 한 줄 위에 있는 곳)로 옮겨 놓았다. 나는 색깔 변조 기능 키를 사용하여 내가 다음에 입력하는 문자들을 배경색과 똑같은 것으로 만 들었다. 나는 'log on'이라고 입력하였다. 그것은 배경과 같은 검은 글씨 였다. 그래서 컴퓨터와 나만 그것이 거기 있는 줄 알고 있었다. 그런 후 나는 커서를 밑줄이 시작되는 곳으로 옮겼고, 기능 키를 사용하여 텍스트 의 색깔을 밝은 흰색으로 돌려놓았다. 그리고 근처의 안락의자에 앉았다. 오래 기다리지는 않았다. 20분 후 한 무리의 사람들이 들어왔고 그중 한 명이 내 단말기에 앉았다. 불행히도 그는 화면을 보았고 누가 단말기를 사 용한다고 생각하였다. 그리고 그는 자리에서 일어나려 하였다. 그래서 나 는 그에게 "아무도 그 단말기를 사용하지 않는 걸요."하고 말했다. 그러자 그는 단말기를 리셋 시킨 후 완전히 다른 시스템으로 접속하는 것이었다. 2시간 후 마침내 나는 성공했다. 나는 단말기를 다시 조작한 후 내 의자에 앉아 수치 해석을 공부하는 척했다. 오랜 시간이 지난 후 한 남자가 자리 에 앉아 그의 이름, 비밀번호 조합을 입력하고 엔터를 눌렀다. 이 모든 것 을 나는 쉽게 볼 수 있었다. 그러나 컴퓨터는 그가 특정한 입력 장소에 그 것을 입력하지 않았으므로 입력한 것을 볼 수 없었다. 컴퓨터는 단지 나의 숨은 (검은 색 바탕의 검은 글씨) 'log on'이라는 글자만 인식하였다. 그 러자 컴퓨터가 ungradx 머신에 접속되었고 사용자의 신원을 요구했다. 사 용자는 그가 타이핑을 잘못한 것으로 생각하고 그것들을 다시 입력하였다. 나는 원하는 정보를 얻었으므로 그 이전에 자리를 떴다. 이것은 모든 접속 정보를 한 줄에서만 입력하도록 하는 시스템이나 또는 적절한 능력과 셋업 을 지닌 컴퓨터에서만 가능한 일이다. 또 다른 방법은 텍스트 에디터를 사 용하여 접속 화면을 흉내내는 것이다. 만약 당신이 그 시스템에 계정이 없 어서 전자우편 텍스트 에디터에 접근할 수 없다고 하더라도 아마 당신이 접근하려는 시스템의 공공 정보 영역에 '운영자에게 편지 보내기' 항목이 있을 것이다. 어쨌든 당신은 이 악행이 추적되어 당신의 ID가 밝혀지는 것 을 피하기 위해 공공 편집기를 사용하고 싶을 것이다. 텍스트 에디터를 사 용하여 접속 화면을 시뮬레이션하는 방법은 다음과 같은 내용을 문서로 만 들어 화면에 표시하는 것이다. >login Enter Name: Enter Password: 이 표시는 위쪽에서 보통 잘 나타나는 메뉴, 명령어, 혹은 단말기를 켰 을 때 흔히 볼 수 있는 표시 내용을 덧붙이면 좋을 것이다. 그리고 화면의 맨 아래 줄이 'Enter Name:'이 되도록 문서의 위치를 정하라. 커서를 오른 쪽 콜론 뒤로 보내고, 삽입 키가 있다면 삽입 키를 꺼라. 사람들이 단말기 에 앉았을 때 그저 누가 자기 앞에서 'login' 명령을 입력했구나 생각하게 된다. 그는 자기 이름을 치고 엔터를 누를 것이다. 엔터를 누르면 문서가 한 줄 위로 스크롤되며 컴퓨터가 비밀번호를 요구하는 것처럼 보이게 될 것이고 그가 비밀번호를 입력하면 당신은 앉아서 지켜보며 성공했음을 기 뻐할 것이다. 이 방법(실제로 이 E-Z방법 모두)은 몇 가지 문제를 가지고 있다. 제일 먼저 앉는 사람이 그의 계정에 접속하기를 원하지 않으면 어떻 게 할 것인가? 이 두 가지 경우 당신의 작은 계략은 발각될 것이다. 전산 실을 지키는 관리인들이 그가 보고자 남겨 놓은 단말기를 끌 가능성이 있 고, 끈다면 당신의 계획은 모두 수포로 돌아갈 것이다. 게다가, 당신이 이 것을 대학의 다른 여러 컴퓨터로 접근할 수 있는 단말기에서 사용한다면 적합한 방법으로 화면을 만드는 것은 불가능할지도 모른다. 이 책략을 실 패하게 만드는 것은 여러 가지가 있다. 하지만 설치하는 데 적은 시간을 투자한다는 점과 얼마가 될지는 모르지만 기다릴 시간만 필요 있으면 된다 는 점에서 이것은 가치가 있다. 당신이 이것을 시도한다면 다음을 기억하 라. 멀리서도 화면을 쉽게 볼 수 있게 해 두어야 한다. 도움이 된다면 CapsLock을 켜 놓는다. 할 수 있다면 화면을 환하게 하고, 모니터의 경사 를 줄여서 보는 각도에서의 반사를 줄여라. 가능하다면 큰 폰트를 선택하 라. 기다릴 장소를 선택하기 전에 누가 의자에 앉거나 당신의 시야를 가리 지 않게 해야 한다. 기다리는 동안 무슨 일이라도 하는 척해야 의심을 받 지 않는다. 그러나 화면에 열중하지 않는다면 당신은 사냥감을 놓칠 것이 다. 어깨 너머로 보기 위의 두 가지 방법도 어깨 너머로 보기라는 요소를 조금 포함하는 것이 다. 어깨 너머로 보기란 합법적인 사용자가 컴퓨터에 접속하는 것을 해커 가 그의 어깨 너머로 보는 것이다. 사용자가 타이핑하는 동안 해커는 키보 드를 지켜보며 비밀번호라 입력될 때 그것을 얻어낸다. 기억하라. 대부분 의 접속 루틴들은 화면에 비밀번호를 표시하지 않을 것이므로 유용한 정보 를 얻기 위해서는 키보드를 바라봐야 한다는 것을. 순수한 어깨 너머 보기 는 당신이 문제가 있는 사용자를 합법적으로 돕고 있을 때 무엇이 잘 잘못 되었는지를 사용자가 당신에게 보여주기 위해서는 당신이 거기에 서 있어 야 하는 경우와 같이, 특정한 경우에만 할 수 있다. 대부분의 경우에는 의 심을 받지 않고 다른 사람의 뒤에 그냥 서 있을 수 없을 것이다. 당신은 더욱 g교활한 방법에 의지하여야 할 것이다. 전략적으로 배치된 거울, 예 를 들어 벽과 천장 사이의 구석에 놓여진 거울이 속임수를 가능하게 한다. 양면 테이프로 붙일 만큼 작으면서도, 원거리에서 읽는 데 충분한 크기여 야 한다. 쌍안경은 전화 카드 번호 도둑이 사람들의 코드 번호를 불법적으 로 얻기 위해 자주 사용하며, 그럼으로써 도둑은 장거리전화를 공짜로 걸 곤 한다. 당신은 같은 방법으로 키보드에서 암호를 알아낼 수 있다. 타이 프되는 것을 더 잘 볼 수 있도록 키보드를 특정한 방향으로 기울여야 할 필요가 있을 수 있다. 키보드에 발이 달려 있어서 각도를 조정할 수 있다 면 당신이 먼저 그것을 사용하여 높게 세워두는 것을 잊지 말아야 한다. 당신은 훔쳐보기를 창문을 통해 외부에서 해야 될 경우도 있다. 안쪽에서 당신이 보이지 않는지 사전에 확인하라. 한밤중이라도 외부에 불이 켜져 있다면 창문을 통해 잘 보일 것이다. 해킹하기 전에 약간의 탐정 활동을 하라. 컴퓨터 실에 들어가 방 밖에 있는 사람이 얼마나 잘 보이는지 조사 해 두라. 당신이 보이지 않도록 하기 위해서 블라인드나 커튼을 좀 내려 둘 수도 있다. 마지막으로 이 점을 생각하라. 이러한 충고가 전혀 필요치 않을 수도 있다. 지난 두 주일 동안 매일 나는 어떤 학교의 컴퓨터 실을 방문했는데 한번은 단말기의 전원을 넣자 다른 사람의 계정이 그대로 접속 되어 있는 것을 발견했다. 분명히 그 계정의 주인은 단말기를 끄는 것만으 로는 계정의 접속이 끊기지 않는다는 사실을 전혀 몰랐던 게 분명하다. 때 때로 이렇게 접속 상태로 남아 있는 단말기를 발견하곤 한다. 이것은 해커 에게 대단한 행운이라 하겠다. 베이직 프로그램 사용하기 만일 당신이 계정을 가지고 있거나 위에서 말한 것처럼 컴퓨터 실에 가 서 다른 사람의 계정이 살아 있는 것을 발견했다면 간단한 베이직 프로그 램을 사용하여 접속 절차를 흉내내도록 만들고 계속 실행시켜 둘 수 있다. 여기 간단한 예가 있다. 10 PRINT "Welcome to Y University Computer Network!" 20 PRINT 30 INPUT "Name?";N$ 40 INPUT "Pass?";P$ 50 REM Now store these two variable in a file(자, 이제 이 두 가지 변수를 한 파일에 저장하라) 60 REM and logoff from the account, giving an error messages.(그리 고 에러 메시지를 발생시킨 후 접속을 끊어라.) 70 REM or, use inputted data to have the programming login to the system(아니면 얻어낸 정보를 이용하여 프로그램이 시스템에 자동으로 접 속되도록 만들어라.) 80 REM Finally, delete this program(그리고 마지막으로 이 프로그램을 삭제하라) 이 프로그램을 짤 때 약간의 지연 시간을 두도록 만드는 것을 명심하라. 일반적으로 명령이 시스템에서 실행되려면 몇 초가 걸린다. 또한 사용자의 비밀번호 대신에 적절히 *표나 마침표, -등을 이용하여 가리는 것을 잊지 말라. 때로는 접속하기 이전에 현재 누가 접속하였는지를 살펴보는 것과 같은 몇 가지 명령어를 사용하는 것이 허용되는 경우도 있다. 이런 환셩에 서는 사용자의 질문에 가짜로 대답하는 프로그램을 짤 필요가 있다. 이런 프로그램은 대부분 사용자가 앉자마자 접속을 시도할 것이므로 별로 필요 하지 않을 수도 있다. 컴퓨터 실에서 어슬렁거리며 어떤 명령어들이 자주 쓰이는지 알아보고 이런 명령어를 흉내내는 프로그램을 만들도록 한다. 사 용자가 이름과 비밀번호를 집어넣은 다음에는 프로그램이 그 정보를 저장 하고 당신의 계정에서 빠져나가야 한다. 당신이 이 프로그램을(내가 이전 에 말한 것처럼 접속된 상태로 방치되어 있던 것과 같은) 타인의 계정에서 돌리고 있었다면, 이들 정보는 어떤 방법을 쓰건 당신에게 전송시켜야 한 다. 어쨌건 그 계정에서 일단 빠져나간다면 다시 그 계정으로 돌아가지 못 할 테니까. 반면에 운영체제에 따라서 적절한 정보를 입력하거나 당신의 계정을 임시적으로 보안이 덜 되도록 만들어 주면 파일을 당신 계정의 영 역에 저장시키도록 해주는 경우도 있다. 해커의 보안은 매우 중요한 문제 이다. 수퍼 유저가 당신의 활동을 언제 감시하고 있을지는 아무도 모른다. 그러므로 다른 사람의 비밀번호와 같이 중요한 정보들은 당신의 개인 영역 에 저장하기전에 암호화시키는 것이 필수적이다. 나는 간단히 각 문자의 아스키 코드 값에 13을 더하는 것과 같은 방법을 사용한다. 이때 임의로 발생한 숫자를 숫자 사이사이에 끼워놓는다. 예를 들어 한 사용자의 ID/ 비밀번호가 SMITHERS/ RANGER라면 내 프로그램은 96 90 86 97 85 82 95 96/ 95 78 91 84 82 95 96이라는 숫자의 사이사이에 임의의 숫자를 넣어서 저장하고 있다. 이러한 방법에 대한 응용법은 앞으로 나올 장에서 설명될 것이다. 하드웨어적인 방법 내가 사용한 방법중에 하나는 오래 되고 사용되지 않던 단말기 하나를 지하 창고에서 발견하여 휴대용 컴퓨터에 연결한 것이다. 새벽 4시쯤 컴퓨 터 실에 이것을 가지고 들어가서 그곳에 있던 단말기를 내가 가지고 간 휴 대용 컴퓨터에 연결된 것과 바꿔치기 하였다. 휴대용 컴퓨터는 책상 아래 에 숨겼다. 그 책상은 나무로 만든 것이었다. 나는 전기 못을 이용하여 청 바지를 자른 헝겊으로 책상 아래에 매달 주머니를 만들어 고정시키고 그 속에 휴대용 컴퓨터를 넣어 두었다. 나는 휴대용 컴퓨터를 프로그래밍하여 'USERNAME' 과 'PASSWORD' 다음에 나오는 글자들을 저장시키도록 만들어 놓았다. 기본적으로 이 휴대용 컴퓨터는 감시 장치로서 단말기와 메인 컴 퓨터 사이에 존재하는 것이다. 그 효과는 기가 막힌 것이었다. 유일하게 문제가 된 것은 1주일 뒤 다시 원래의 단말기로 다시 바꿔 놓으러 갔을 때 였다. 나는 단말기를 훔치러 간 것으로 오해를 받았다. 낡은 단말기를 구 해 케이스를 열고 단말기 속에 작은 컴퓨터를 숨겨 둔 해커들도 있었다. 내가 사용한 단말기에는 적당한 공간이 없었지만 어떤 경우에는 위의 방법 이 아주 좋은 것이다. 당신이 설치하는 장비가 단말기 내부의 장치와 간섭 이 되지 않도록 주의할 것을 명심하라. 이런 식으로 휴대용 컴퓨터를 숨길 때는 흔히 텅 빈 단말기의 바닥 부분을 사용하곤 한다. 다목적 마이크로 컴퓨터 내가 애초에 언급했던 공용 컴퓨터의 세 번째 종류를 다루고자 한다. 이 것은 다목적 마이크로 컴퓨터이다. 나는 여기에서 IBM과 MS-DOS 기계에 대 해서 이야기하겠지만 요즘에는 메킨토시가 자주 공공 목적으로 사용되곤 한다. 물론 내가 설명하는 방법은 어떤 컴퓨터 환경에도 적용될 수 있다. 당신이 도서관에 전화르 걸어 문서 편집이나 다른 이유로 그것의 컴퓨터를 사용하기로 예약했다고 하자. 보통 이런 네트워크에 연결하지 않은 기계들 이라도 하나의 프린터나 다른 주변기기에 여러 대의 컴퓨터가 연결된 경우 가 많다. 대학에서는 문서 편집 프로그램 자체는 읽기 전용 디스크에 들어 있거나 다른 메인 컴퓨터나 미니 컴퓨터에 저장된 경우가 있다. 요즘에는 시간당 사용료를 내고 컴퓨터를 빌려 문서 편집을 하거나 고급 프린터에 출력하도록 해주는 사업도 존재한다. 이러한 환경은 해커를 위해 이용될 수 있다. 탈출하기 먼저 당신은 이런 마이크로 컴퓨터에는 여러 종류의 메뉴 시스템이 존재 한다는 것을 인식해야 한다. 이런 장소를 운영하는 사람들은 몇몇 풋내기 들이 접근해 와서 그들의 하드 드라이브를 포맷시키거나 음란한 메시지들 을 남겨 놓는 것을 원치 않으므로, 그런 행동에 대해 방어하는 확실한 보 호 장치가 사용되고 있다. 일반적으로 메뉴 프로그램을 탈출하는 것은 쉬 운 일이지만 그것이 존재한다는 것 자체는(최소한 부분적으로는) 그런 일 을 행하는 것을 막기 위한 것이다. 만약 컴퓨터가 이미 켜져 있고 주 메뉴 에 있다면, 그곳에 나타나지 않은 명령어들을 시도해 보라. 예를 들어 '끝 내기 위해서는 [Alt+X]'같은 것을 시도해 보라.어떻게 되었는가? 당신은 주 메뉴를 빠져나갔지만 'Error! Press any key to return to Menu.' 같은 메시지를 받게 될지도 모른다. 아침에 우선 컴퓨터를 켜면 메뉴 시스템이 AUTOEXEC.BAT에 의해 작동된다. [Alt+X]를 입력함으로써 당신은 AUTOEXEC.BAT가 있는 곳으로 되돌아갈 수 있고, 그 BAT파일의 다음 줄이 실행되는 것이다. 간단히 [Ctrl+C]를 누름으로써 거기에서 빠져 나올 수 있다. 메뉴에서 나가는 법이 화면에 나와 있지 않더라도, 당신은 여러 기 능 키, [Ctrl+Break]키, Esc 키를 사용해 보고, Alt와 Crtl 키를 C, X, Q 와 여러 가지로 조합하여 사용해 볼 것이다. 종종 메뉴 시스템은 당신이 그 운영체제로 빠져 나오는 것을 수락하기 전에 비밀번호를 물어 볼 수도 있다. 만약 당신이 해킹하는 시스템이 그러하다면 어쨌든 여러 가지 비밀 번호(빈 줄부터 시작해서 건물이나 회사 이름, 기타 명백히 일과 관련된 사업풍 단어들)를 시도해 보아라. 컴퓨터 시스템은 한 프로그램에서 다른 프로그램으로 이동할 경우 가장 취약하기 때문에 [Ctrl+C]를 사용해서 주 아이템을 바로 선택할 수 있다. 최상의 결과를 위해 보통 당신은 반복적으 로 [Ctrl+C]와 [Ctrl+Break]키를 눌러볼 것이다. 이것이 다 통하지 않는다 면, 컴퓨터를 끄고, 다시 켠 뒤 [Ctrl+C]나 [Ctrl+Break]로 처음 작동하는 AUTOEXEC.BAT에서 빠져 나올 수 있는지를 알아보아라. 차례로 당신은 당신 자신의 프로그램 디스크를 가동하여 준비 상태로 만들어야 한다. 만일 이 시도들이 모두 실패한다면, 메뉴 상에 나타나는 여러 가지 프로그램들을 실행하여 어느 것이 운영체제에서 빠져 나오는 방법인지르 알아 보라. 워 드퍼팩(WordPerfect)이라는 제품에서는 [Ctrl+F1]으로 셀에서 빠녀 나올 수 있다. 워드 스타(Wordstar)라는 제품은 [Ctrl]+K, F를 사용해 셀이나 단독 명령어에 들어갈 수 있다. 자유란 자유로운 이동을 뜻한다 당신이 일단 메뉴 시스템에서 빠져 나올 수 있다면, 당신은 그 컴퓨터를 탐색할 수 있을 것이다. 만약 그곳에 컴퓨터에 대해 해박한 사람들이 많이 있다면, 혹은 사람들이 당신의 어깨 너머로 구경하고 잇다면, 혹은 사람들 이 모두 그 장소에서 시스템을 사용 중이라면 당신은 개인적인 작업이 밝 혀지지 않고, 또 거기서 쫓겨나지 않기 위해 컴퓨터 ASAP의 동작 영역으로 되돌아가기를 원할 것이다. 이 경우 플로피에 당신의 목적에 적절한 모든 것을 복사하여, 여가 시간에 집에서 그것들을 시험해 볼 수 있다. 이것은 완전히 잠겨진 안전한 곳에서 도둑질하는 강도와 유사해서, 요란한 소리를 내는 도구로 지하실에서 작업을 계속할 수 있으며, 붙을 켤 수도 있다. 먼 저 AUTOEXEC.BAT 파일과 메뉴 시스템을 복사하고, BAT, DOC 나 TXT 확장자 를 가진 파일들을 포함하는 디렉토리, 여러 가지 디스크 유틸리티(공공 분 야혈 프로그램), 보안, 관리, 기타 설명이 저장된 텍스트 파일을 복사하 라. 만약 컴퓨터가 LAN에 연결되어 있다면, D: 드라이브나 F:, H:, L: 드 라이브 혹은 당시이 보통 찾을 생각조차 하지 않을 정도의 더 상위의 문자 를 가진 드라이브가 있을 수 있다. 숨겨진 파일이나 디렉토리를 찾아보아 라. 그리고 찾을 수만 있다면 그것 또한 복사하라. 또 어떤 파일이 지워져 있는지 보고, 당신이 필요로 하는 것이라면 복구해 보아라. 상황(컴퓨터, 작업 장소, 여타 관련 요소)에 따라, 당신은 그 컴퓨터에서 어떤 것을 발 견할 수도 있고 못할 수도 있다. 종종 이와 같은 공동 컴퓨터의 해킹은, 보호 조치를 뚫는 스릴만으로도 해볼만한 가치가 있다. 그러나 보통 컴퓨 터들은 보안 조치가 너무 빈약하게 취해져 있어 이런 스릴조차도 느낄 수 없다. 나는 전에 본 적이 없는 공개용이나 셰어웨어 유틸리티들을 발견한 적이 많았다. 만일 당신이 이런 새로운 것들을 포함한 어떤 것을 얻으려 면, 살펴볼 가치는 있다. 몇몇 유용한 프로그램에 대한 힌트나 아이디어 (매우 복잡해 보이는 어떤 종류의 배치나 스크림트 파일)을 얻을 수 있을 것이다. 한정된 장소에서만 사용하는 시스템의 프로그램들(공동으로 사용 할 수 없고, 사업이나 도서관의 관리에서 사용되어지는 고용주의 스케줄, 데이터베이스나 다른 프로그램)을 발견하는 경우도 흔하다. 만약 컴퓨터에 서 통신을 할 수 있거나 네트워크를 쓸 수 있다면, 그것들은 당신이 사용 할 수 있는 전화번호나 접속 가능한 프로토콜로 조정할 수 있을 것이다. 만약 그 컴퓨터에서 접속하여 비밀번호를 입력해야 하는 곳까지 들어갔다 면, 디스크에 저장되어 있는 비밀번호 리스트를 발견할 수 있도록 시도해 보라. 한번은 어떤 도서관의 공동 메뉴 프로그램에 침투해서, 모든 것을 둘러보고, PASSWORD라고 된 숨겨진 중요한 파일을 발견한 적이 있었다. 나 는 그것을 화면에 타이프했고, 놀랍게도 여섯 명의 비밀번호와 주소, 각각 의 개인 정보가 포함된 사용자 이름에 관한 리스트를 발견했다. 사실 나는 매우 흥분했었지만, 이날까지 왜 그것이 거기에 있었는지에 대해서는 알아 내지 못했다. 나는 그 지역에서 시스템에 있는 그 이름들을 모두 찾으려 노력했지만 허사였다. 나는 주 컴퓨터에서 그 사람들을 finger('finger'는 시스템 사용자에 대한 정보를 볼 수 있도록 하는 UNIX의 명령어)해 보았지 만, 아무런 소득이 없었다. 그 파일에 있던 사람들의 리스트는 어디에도 존재하지 않는 것 같았다. 아마 어떤 사람들이 그 파일을 단지 테스트용이 나 데모용으로 쓰는 것이었거나, 어떤 개인 컴퓨터 시스템에서 사용하는 것이었을 것이다. 그렇다면 왜 그렇게 그 파일을 꼭꼭 숨겨 놓았을까? 때 때로 당신은 이런 종류의 혼돈스러운 단서, 어디로도 갈 수 없었을 것 같 은 궤적을 발견할 것이다. 그것은 당신이 속해 있는 지역의 모든 곳에 존 재해 있다. 해킹은 종종 추측을 설정하거나 질문에 대답하는 데 필요한 자 세한 조사를 수반한다. 일단 당신이 어떤 문제에 대해 결정을 내렸다면 ('Rarmses 3에서 이런 비밀번호 목록에 대한 작업을 해야 하는가?', 'Moroll 조합의 장은 시스템 탐색에서 비서를 두어야만 하는가?'), 당신은 좀더 고단계의 조사를 할 수 있고, 그것에 대한 대답을 할 수 있을 것이 다. 공용 컴퓨터 해킹 키트 당신이 공공 해킹을 탐험을 할 때, 당신은 당신의 PACK(Public- Accessible Computer (hacking) Kit; 공용 컴퓨터 해킹 도구)을 준비하고 싶을 것이다. 그 도구는 다음과 같은 것을 포함해야 한다. '충분한 양의 3.5나 5.2의 포맷된 빈 디스크: 그러면 당신은 메뉴의 보안 프로그램을 재 빨리 카피할 수 있다. 당신이 사용할 디스크 드라이브에 알맞은 적당한 밀 집도가 있어야 한다.', '매우 강력한 장치나 다른 종류의 유틸리티 등과 같은 보조 프로그램들: 당신은 또한 당신이 작성한(메뉴 시뮬레이션 같은 것으로서 다음 장에서 언급한다.) 특별한 프로그램을 가져가기를 원할 것 이다. 공개 프로그램 중에서는 내부 스피커 소리가 나지 않게 하는 것도 있다. 이것은 만약 당신이 컴퓨터를 해킹하려 한다면, 그 컴퓨터에 잘못된 비밀번호가 입력될 경우 크고 혐오스러운 소리를 내는 것을 막는 데 유용 하다.', '다른 도구들: 맥가이버 칼이나 최소한도 드라이버는 유용하다. 매우 종종, 특히 CD-ROM 워크스테이션에서, 당신은 디스크 드라이버를 잠 금 장치나 덮개를 덮어서 사용하지 못하도록 막아 놓은 것을 발견할 수 있 을 것이다. 크고 곧은 종이 클립은 맥을 해킹하는 데 유용하다. 만약 당신 이 서둘러서 떠나기를 원한다면, 디스크 드라이브 옆에 있는 구멍에 종이 클립의 끝을 끼우면 당신의 디스크가 빠져 나올 것이다. 디스크를 꺼내는 데는 이것이 가장 빠른 방법이다.' 메뉴 흉내내기와 다른 은밀한 방법들 보호와 간편화 목적을 위해, 모든 일반적 목적을 가진 공공의 컴퓨터는 컴퓨터를 켜는 즉시 메뉴 프로그램에서 작동될 것이다. 여기에 해커들이 사용할 수 있는 유용한 프로그램에 관한 세 가지의 아이디어가 있다. '메 뉴를 변경', '메뉴 프로그램을 변경 혹은', '당신 스스로 메뉴 시스템의 시뮬레이션을 만드는 것' 메뉴 프로그램은 메뉴 에디팅 옵션을 가지고 있 을 것이다. 이것은 그 컴퓨터의 운영자들이 '사무 프로그램', '워드 프로 세서'와 같이 메뉴 범주를 만들거나 공공의 사용을 위해 유용한 프로그램 을 추가하거나 고치는 데 유용하다. 메뉴를 당신에게 유리하게 사용하는 방법은 메뉴 편집 기능을 사용하여 비밀번호가 요구되는 곳으로 인도하는 것처럼 보이는 항목을 추가하거나 변경하는 것이다. 그러나 실제로 그 항 목이 하는 일은 당신이 그 사용자에게 친숙한 환경을 흉내내어 작성한 프 로그램을 싱행시키는 일이다. 사용자는 악의 없이 그의 ID와 비밀번호로 들어가는데(당신의 프로그램은 당연히 이것을 저장하고), 그러면 에러 메 시지가 나오고, 사용자는 메뉴로 되돌아가게 된다. 후에 당신은 그 비밀번 호와 ID가 숨겨진 곳에 갈 수 있고, 개인적인 사용을 위해 그것들을 수집 할 수 있다. 첫 번째 질문은 어떻게 그 메뉴를 고칠 수 있는가? 메뉴를 고 치는 곳은 마치 INSTALL.EXE나 SETUP.EXE처럼 이차적 프로그램의 일부로 되어 있을 것이다. 당신은 또한 기능 키나 컨트롤 코드를 누름으로써 메뉴 프로그램 자체부터 직접 고치는 작업을 할 수 있을 것이다. 문제는 공공적 으로 사용되는 컴퓨터에서 메뉴 셋업을 고칠 수 없거나 고쳐서는 안된다는 데서 나타나기 시작한다. 메뉴를 고치는 곳은 메뉴가 한번 구축되면 그 기 능이 없어지거나 비밀번호를 넣어야 동작할 것이다. 당신은 메뉴 프로그램 을 다시 설치해서 처음부터 현재의 메뉴를 만들어 내면서 당신의 추가 사 항을 집어널을 수도 있을 것이다(추가 사항에 대해선 곧 언급할 것이다. 기다려라.). 또한 당신은 메뉴에 대한 정보가 저장된 파일을 변화시키는 데 텍스트 에디터나 유틸리티 프로그램을 사용할 수 있을 것이다. 만약 당 신이 파일을 바꾸려 할 때 에러 메시지가 나타난다면, ATTRIB라는 명령어 는 그 파일을 해제시키는 데 사용할 수도 있다. 단지 그것을 작동시키는 데 'attrib filename -r'을 입력하면 된다(MS-DOS의 시스템에서). 이런 메 뉴 프로그램을 사용하는 방법은 편집을 하는 사람이 화면에 표현되는 짧은 문구들을 공급해아 하는 것이다. 그리고 그 문구가 선택되면 실행될 파일 이름을 경로명 등의 다른 정보와 함게 공급해 주어야 한다. 대학 컴퓨터 시스템에 침투하길 원한다고 가정해 보라. 당신의 첫 목표는 워드프로세서 와 스프레드시트와 통신 기능을 가진 공공의 컴퓨터에 있다. 누군가가 앉 아서 메뉴로부터 통신을 선택했을 때, 그 혹은 그녀는 호스트의 서버에 접 속하거나, 어떤 컴퓨터 접속을 원하는지 물어 볼 것이다. 그러면 접속은 이루어진다. 그것이 발생하는 것처럼 보이겠지만 실제로 발생되는 것은 사 용자가 '통신'을 위해 'T'를 눌렀을 때, 그 메뉴는 진짜 네트워크에 접속 하지 않고 그 대신 몰래 당신이 시스템에 집어넣은 프로그램을 작동시킨 다. 당신이 집어넣은 그 프로그램은 누군가가 '통신'을 선택했을 경우 일 반적으로 발생하는 모든 것을 행하는 것처럼 보여야 한다. 예를 들어, 사 용자가 어떤 컴퓨터에 접속하기를 원하는지 묻는 프롬프트가 뜨며, 컴퓨터 에 접속한 척하여야 한다. 당신의 프로그램은 이름과 비밀번호 프롬프트를 나타내고, 그 사랑스런 단어들을 디스크에 저장한다. 다음으로, 당신은 프 로그램에서 메시지를 발생시켜, 사용자를 메인 메뉴로 되돌려 보낼 수 있 지만, 그것은 의심을 사서 운영자들로 하여금 그들의 컴퓨터를 살펴보게 만들 것이다. 당신은 배치 파일로부터 불러낼 수 있는 작은 시뮬레이션 프 로그램을 만드는 것이 좋을 것이다. 그 프로그램이 실행되면, 다음 단계로 는 시스템에 실제로 접속되게 만든 명령어를 차례로 실행한다. 그것은 사 용자가 이미 입력한 이름과 비밀번호를 기억해 두었다가 자동으로 입력시 켜서, 어떤 의심의 여지를 제거시킬 수 있다. 그렇지 않으면 일반적인 'password not valid'라는 메시지를 출력하고 그 다음에 네트워크에 접속 시키도록 하라. 다른 상황에서는, '통신' 옵션이 사용자를 ProComm Plus나 SmartCom과 같은 통상의 터미널 패키지로 불러낼 것이다. 다시금 당신은 이런 프로그램 중의 하나의 가짜 버전을 쉽게 만들 수 있다. 그러나, 그런 경우 문제점은 다음과 같다. 사용자가 당신의 날조된 통신 프로그램을 사 용했을 경우, 그는 목록으로부터 전화번호를 선택하고, 거기에 전화를 걸 려고 시도한다. 그는 만약 스피커가 켜져 있고, 아직 전화 거는 신호음이 나지 않았다면, 틀림없이 의심할 것이다(당신은 어쨌든 전화 거는 것처럼 보이게 프로그램을 만들어야 한다. 그리거 나서야 그 다음 네트워크에 접 속할 것처럼 흉내낼 수 있다. 그러면 그 사용자는 그가 네트워크에 접속했 다고 생각하고 비밀번호를 입력할 것이다). 이런 딜레마를 푸는 가장 확실 한 방법은 프로그램에 다음과 같은 색다른 에러 메시지를 주는 것이다. Operating Error 2130 : Line Noise Interference. Shut off your speaker and try again. 물론 이런 메시지는 접속하는 통신 프로그램에서의 다른 에러 메시지와 유사한 형태를 취하여야 한다. 그 사용자가 스피커를 끄면, 그 프로그램은 전화를 거는 체해서 그 네트워크를 위한 일반적인 로그인 화면을 보여준 다. 그 이름과 비밀번호가 주어지고 재빠르게 디스크에 저장하며, 에러 메 시지가 나타나고 사용자는 접속을 끊는다. 당신은 아마 사용자의 이름과 비밀번호가 입력되면 컴퓨터에 많은 양의 쓸데없는 말이나 글자가 화면에 나타나게 하는 방법을 택할 것이다. 그것을 실제처럼 보이게 하라. 마치 우리가 한번쯤 혹은 여러 번 겪었던 선로 장애가 발생한 것처럼, 그러나 엄청난 것처럼 만들라. 그 사용자는 거의 즉시 접속을 끊을 것이다. 만약 그가 접속을 끊지 않거나, 거기서 다른 것을 하려고 한다면, 단지 일반적 인 'Logged off. Good-bye!'라는 메시지를 컴퓨터에 보여줘라. 그것은 컴 퓨터가 실제 통신 프로그램을 실행한다는 점에서 가능하므로 매우 별난 것 이 발생한 것처럼 보이지 않을 것이다. 공공 컴퓨터에서 상업적인 터미널 패키지를 발견할 수 있는 경우는 드문 것으로, 왜냐하면 사람들이 들어와 서 지구 반대편으로 전화를 걸려고 할 것이기 때문이다. 그러나 기업이나 사무실은 그 프로그램들을 가지고 있을 가능성이 높으므로, 당신이 현장에 서의 해킹에 관해 생각할 때 이런 아이디어를 고려하도록 하라. 메뉴 편집 프로그램으로 다시 돌아가 보자. 메뉴 프로그램은 사용으로 통용되는 것이 아닐 수 있다. 그것은 내부 전용으로 개발된 것이거나 베이직 같은 인터프 리터 언어로 만들어진 것, 혹은 다른 이유로 원시 프로그램이 쉽게 수정될 수 있는 경우가 많다. 심지어는 하나의 배치 파일로 이루어졌을 경우도 있 다. 이러한 경우라면 힘 안 들이고 메뉴 프로그램 자체를 고쳐서 아이디와 비밀번호를 저장하는 서브 루틴을 삽입하거나 통신 항목이 없다면 통신 옵 션을 추가하도록 하면 된다. 메뉴 작전의 마지막 형태는 메뉴를 흉내내는 시뮬레이션 프로그램을 만드는 것이다. 즉 이미 존재하는 메뉴를 수정하지 못하는 경우 프로그램을 짜서 기존의 메뉴처럼 보이는, 당신의 보충물을 추가한 흉내내기 프로그램을 만드는 것이다. 메뉴 프로그램을 복제해 내는 데는 꽤 시간이 걸릴 수 있다. 메뉴가 팝업 윈도우를 사용한다면 당신의 루틴에도 스크린이 가려지고 윈도우가 불쑥 튀어나왔다가 사라지는 모든 기능을 갖추어야 한다. 화면의 색깔과 표시색, 실제 프로그램이 틀린 자료 를 처리하는 방법 등 여러 특성을 잘 관찰해야 한다. 프로그래밍이 힘들지 라도 당신 자신의 메뉴를 사용하는 편이 훨씬 좋다. 왜냐하면 당신이 만든 메뉴는, 캡처한 비밀번호와 다른 중요 사항을 숨기지가 훨씬 쉬울 것이기 때문이다. 그것이 바로 이 메뉴 작성의 목적 중 가장 중요한 것이다. 당신의 습득물을 감추기 접속 화면을 흉내내고 키 입력을 기록하는 것에 관하여 일찍이 설명했던 기법들 다수와, 이상의 모든 메뉴 방법들의 결과물은, 디스크에 저장된 파 일이다. 당신이 고민해야 할 두 가지가 있다. 당신의 파일이 발견되는 것 과, 파일일 읽혀지는 것이다. 이 두 가지를 어떻게 예방할 수 있는지 살펴 보자. 요점은, 이 대부분이 공용 컴퓨터에서 일어나기 때문에, 누구라도 당신의 귀중한 파일의 위치를 알아낼 수 있다는 점이다. '누구라도'에는 컴퓨터 연구실에서 일하는 사람들, 컴퓨터 수리반, 다른 해커들, 그리고 굉장한 호기심을 가진 일반 대중이 포함된다. 거기에는 컴퓨터 자체도 포 함된다. 당신이 마주치는 대부분의 공공 컴퓨터는, 자체 청소 루틴이 설치 되어 있을 것이다. 주마다, 달마다, 또는 아마도 매일 밤, 컴퓨터는 그들 의 오래된 파일을 지우고 드라이브에 새로운 자료를 위한 공간을 확보한 다. 대부분 공공의 문서 편집용 컴퓨터에는 사람들에게 자기 디스크를 가 져와서 문서를 저장하라고 애걸하는 쪽지를 붙여 놓지만 대부분 특별한 사 용자 디렉토리가 있거나 특정한 공간이 있어서 누구나 파일을 저장할 수 있게 되어 있다. 청소 프로그램은 이 디렉토리에서 오래 된 파일을 제거하 는 데 사용된다. 그 프로그램을 종종 드라이브의 나머지 부분도 검사하여 사용자가 다른 디렉토리에서 저장하였던 파일들을 제거할 것이다. 때때로 공공 컴퓨터에서 당신은 몇몇의 빈 디렉토리들이 흩어져 있는 것을 볼 수 있다. 일반적으로 이들 디렉토리들은 사람의 이름을 갖고 있다. 이것들은 사람들이 자신의 파일을 다른 사용자가 읽거나 지우지 못하게 만들기 위해 서 만든 개인 디렉토리들이다. 자신들의 파일이 컴퓨터에 의해서 지워질 수 있다는 것을 알지 못한 채....... 종종 청소 프로그램은 매우 멍청해서 그 디렉토리도 지워져야 한다는 것을 인식하지 못한다. 당신의 병경된 메 뉴 프로그램 등을 공공 컴퓨터에 기입하기 전에, 당신은 그 컴퓨터에 청소 체계가 있다면 어떠한 종류인지 알아보기 위해 약간의 실험을 해야 한다. 완성되자마다 곧 지워져버릴 프로젝트에 여러 시간을 소비하는 것은 이치 에 맞지 않는 일이다. 컴퓨터에 청소 프로그램이 있다면, 당신은 초기 조 사 단계에서 그것을 다른 것들과 함께 복사해야 한다. 그 프로그램을 살펴 보라. 그것을 쳐부수는 충분히 많은 방법들이 있을 것이다. 그 청소 도구 는 아마, 어떤 디렉토리들을 조사해야 하고, 오래 된 파일을 발견하면 어 떻게 해야 되는가, 오래 되었다고 판단하는 기준은 어떤 것인가 등에 관한 정보를 담은 데이터 파일을 가지고 있을 것이다. 당신은 당신 자신의 특별 한 디렉토리나 프로그램을 청소 도구가 무시하도록 이 파일을 조정할 수 있을 것이다. 만일 컴퓨터가 청소 프로그램을 자동으로 작동시킨다면, 조 사를 통해서 그 청소 도구를 작동시키고 어떤 프로그램은 제거하고 남겨두 게끔 하는 요인에 대해서 알아내야 한다. 예를 들면, 그 청소 프로그램은, 밤중에 컴퓨터를 끄기 전에 드라이브들을 조사하여 필요없는 파일들을 제 거하게끔, 접속 해제 기능에 연결되어 있을 수도 있다. 반대로 기동 루틴 의 일부러서 청소 프로그램이 구성되어 있거나 정기적으로 행하는 관리 기 능과 연결되어 있을 수도 있다. 어쨌든 시스템의 파일들을 주의 깊게 탐구 하면 그 파일들의 패턴을 알 수 있을 것이다. 청소 기능을 작동시키는 프 로그램을 발견하기만 하면, 당신은 당신 자신의 파일을 수정하여, 그것이 청소 도구에 의해 지워지지 않고 무시되도록 할 수 있을 것이다. 종종 청 소 프로그램은 하드 디스크를 뒤지면서 한 디렉토리에 있는 모든 파일들을 전부 삭제하는 괴물인 경우도 있다. 반면 오래 된 파일만 지우는 조심성 있는 버전도 있다. 간단한 프로그램을 작성하는 것으로 이러한 신사적인 방법을 사용하는 놈을 피해 갈 수 있다. 여기에 당신의 보물 단지 ('filename'이라는 이름의 텍스트 파일)의 작성 일자를 최근 일자로 바꾸 는 MS-DOS 배치 파일의 예제가 있다. AUTOEXE.BAT의 끝이나 시스템 유지 루틴 안에서 청소 프로그램이 작동되기 직전의 지점에 이 배치 파일을 추 가하라. 당신의 파일은 결코 지워지지 않을 것이다. @echo off ctty nul date temp edlin temp(command2 date 12-31-1999 edlin filename