수퍼해커의 해킹비밀 6

페이지 정보

profile_image
작성자 로빈아빠
댓글 0건 조회 2,454회 작성일 09-12-05 07:27

본문

exit
 이것은 진짜 명령어는 아니다. 단지 시솝의 주의를 끌 만한, 사용 권한을
높이려는 뻔뻔스러운 시도를  보여주고자 함이다. 이러한 문제점을  제거하
기 위한 방안은 당신의 주 프로그램으로 하여금 필요한 다른 프로그램이나
배치 파일을 생성해 내도록 만드는 것이다. 배치 파일은  실행 프로그램 속
의 암호화된 쓸데없는 메시지로부터 시작될 수도 있다.  서브루틴이 호출되
면 텍스트 파일을 열고 명령어들을 해독해서 하나의 파일을 그 명령어들을
이용하여 만들고  원래의 임무로 복귀시키는  것이다. 이 파일을  생성하는
것과 실행하는 것은 다른 서브루틴이나  조건에 의해 발생될 수 있을 것이
다. 이것은 한꺼번에  하드 디스크가 오래 사용되는 것을 분산시키기  위한
조치이다. 쉽게 읽을  수 있는 소스프로그램에서는 트로이 목마 부분은  절
대로 프로그램의 첫 부분이나 끝 부분에 떡 하니 버티고 서 있어서는 안된
다. 프로그램 깊숙이  집어 넣어라. 부주의한 독자에게  잘 못된 정보를 줄
수 있는 주석문을 달아 놓아라. 명심하라, 당신의 프로그램이 특출 나게 잘
짜여져 있다면 시솝은어떻게 그런  훌륭한 작업을 가능하게 하였는지 알기
위하여 그 프로그램을 분석하려 들지도 모른다 이것은 당신으 눈가림 프로
그램은 엄밀히 조사되고 트로이 목마가 우연히 발견될 수도 있다는 의미이
다. 한 번 실행되고 나서는 트로이 목마를 제거하도록  하는 방안을 고려해
보라. 즉 트로이  목마의끝 부분을 프로그램 상에서 자신을 지워  버리도록
만드는 것이다 다른 선택  방안으로는시솝으로 하여금 그 프로그램을 지우
도록 하는 것이다(따라서  트로이 막마도 같이 지워진다.). 이것은 좀  까자
롭다. 어떻게 시솝으로 하여금 표면의밑에서 어두룬 일이  행해지고 있다는
것을 눈치 채지 못하게 하면서  당신이 업로드한 모든 파일을 지우도록 만
들 것인가? 그 방안으로서는 눈가림 프로그램을, 이미  시솝이 가지고 있는
것이 확실한 응용 프로그램이나 시솝의 것에 비해서 비슷하지만 기능이 따
르지 못하는 것으로 설정한 것이다. 혹은 당신이 직접  그 프로그램 속에서
잠재적으로 위험한  버그를 발견했다는편지를 띄울 수도  있다. '당신이 그
프로그램을 지워 버리면  버그를 제거한 올바른 판을 보내드리겠습니다.'라
고 하지만 이것은  이미 컴파일된 프로그램에 한해서이다. 그렇지 않고  소
스 코드를 보낸다면 시솝은 자기가 그 문제를 제거하려  시도할 것이다. 특
별히 조심스러운 시솝은 모든 업로드된 파일을 다른 컴퓨터로 옮긴 다음에
야 실행해 볼 것이다. 혹은 당신이 예상한 것과는  다르게 디렉토리 구조가
구성되어 있을 수도 있으며 하드 디스크가 아닌 플로피로 업로드되도록 짜
여 있을 수도 있다. 이러한 모든 가능성을 프로그램  단계에서 당신은 고려
하여야 하며 트로이 목마는 모든 것이 당신의 예상했던 조건과 맞아떨어질
때에만 동작하도록  만들어야 한다. 즉  트로이 목마는 비밀번호  파일이나
동작에 필요한 다른 정보에 대해  접근할 수 있을 때에만 동작하도록 만들
어져야 한다. 이러한 일들은 당신이 업로드한 프로그램이  뛰어나다면 시솝
은 다른 사용자들도 이용할 수  있도록 다운로드 영역에 제공할 것이기 때
문에 더욱 필요하다.

  직접 BBS를 운영하려는 분들에게 드리는 몇 가지 팁

 해커들의 BBS에 대해선 이미 앞에서 이야기한 바 있다. 만일  당신이 토
론하고 공유할 장소로서 적당한  BBS를 찾으려 노력했는데 아무것도 찾지
못해다면 어떻게 할 것인가? 당신은  목적에 부합하는 BBS를 직접 운영하
려 할 수도 있다.  적당한 운영 프로그램을 구하고 당신이 최고로  믿는 친
구들을모아서 자신만의 게시판  시스템을 구성한다. 당신의 게시판  시스템
을 운영한다는 것은 당신의 컴퓨터와 연결된 전화선을 별로 사용하지 못하
게 된다는 것을  의미한다. 이것은 당신이 오직 해킹만을  위해 컴퓨터르 f
사용해 왔다면 큰 문제는 아니다. 해킹은 휴대용 컴퓨터나  공공 컴퓨터 등
을 이용해서도 할 수 있다. 하지만 대부분은 다른  일을 위해서도 컴퓨터을
사용한다. 게임, 문서편집,  프로그램 짜기, 그리고 적법한  모뎀의 사용 등
등.  이러한 일들을  BBS을 운영하려고  흥분하기 이전에  고려해 보아라.
BBS를 운영하면서 발생할  수 있는 많은 문제를  동시에 해결하면서 이런
문제를 피해 가는 한 가지 방안은 당신의 해킹 기술을 이용하여 당신의 집
과 멀리 떨어진 대형 컴퓨터로  침입하여 그것을 당신의 전자 게시판이 운
영되는 장소로 만드는 것이다. 당신이 게시판 시스템을  어디다가 설치하건
그것이 적법한 것처럼 보이게 만드는 외부 구조를 정면에 내세우고 허용된
해커들만이 사용하는  비밀 장소를 뒤편에  설치해야 할 것이다.  현명하고
믿을 만하다고 알고 있는 해커들을 내부의 성소에 초대하고 나머지는 외부
인들이 돌아다니도록  놓아두어라. 나는 몇  개의 뛰어난 BBS들이  만들어
졌다가 형편없이 실패하는 것을 많이  보아 왔다 또한 보통 수준의 BBS들
이 쉽게 명성을 얻어  번창하는 것도 보아 왔다. 해커 BBS로서 당신은 일
반 BBS들처럼 공공연히 선전하지는 않을 것이므로 이런 문제를 크게 경험
하지는 않을것이다 결국 당신은 하층계급들로부터는 게시판을 멀리 떼어놓
을 생각일 테니까.  하지만 그래도 새로운 사용자들이 와서 참여하고  만일
그들이 당신이 비밀의 해커 모임 장소로 초대하고 싶은 사람임이 판명되면
가입시켜 이익을  보고 싶을 것이다.  당신의 BBS에 사용자들을  방문하게
만들고 계속 사용하도록 만들려면 개설하고 나서는 그냥 놔두는 것이 상책
이다. 처음으로 게시판을 운영하는 많은 시솝들은 자신의  시스템을 운영한
다는 사실에 고무된 나머지 개선을  거듭하기 위해 자주 BBS를 임시 폐업
하곤 한다. 절대로 그렇게 하지 마라.만일 누가 당신의 BBS에 전화를 걸었
다가 받지 않으면 그  사람은 절대 다시 전화를 하지 않는다.  당신 게시판
의 회원이 되었으면  하는 사람들이 많은 BBS를  찾아가서 광고를 하도록
하라. 당신의 BBS 회원들에게  더 뛰어난 해커 BBS를 찾아내도록 임무를
부여하라. 당신은 그곳에  만일 존재한다면 쓸모 있는 정보가 교환되고  있
는지 알게 될 것이며 만일  재수가 좋다면 당신이 회원으로 가입시키고 싶
어할 뛰어난 해커를 찾을  수도 있을 것이다. 당신이 잘 안지  못하는 해커
를 당신의 비밀 해커 지하 조직에 가담시키기 전에 그 사람이 경찰이 아닌
지 두 번 세 번  확인해야 한다. 진짜 해커 BBS들은 다른 명성 있는  해커
들로부터의 추천이라던가,  그 해커의 신상  명세를 자세히 공개토록  하여
확인 할수  있게 하던가, 아니면 그  사람으로 하여금 어떠한 일을  해왔고
앞으로 어떠한 공헌을 조직에 할  수 있는지에 대한 소개서를 쓰던가 하는
가입 절차를 회원에게 요구하고  있다. 그러나 속지 마라. 자기가 해커라고
주장하는 사람이 FBI  요원이 아닌지 그의 신용기록, 전화기록,  다른 컴퓨
터 통신망에서의 위치  등을 조사하여 확인하여야 한다. 당신의 해킹  기술
을 이용하여 그 사람이 말한 기록이 그 사람의 진짜 신분과 일치하는지 확
인하라. 이것은 너무심한 것이  아니라 지극히 상식적인 일이다. 많고 많은
해커들이 해커를 사칭하는  사람들에게 속아 왔다. 가장 안전한 방법은  당
신의 BBS에 새로운 회원을 받지 않는 것이다. 하지만 이렇게  하면 세상에
가득 찬정보로부터 자신을 격리시키는 것이므로 똑똑한 일은  아니다. 전자
게시판을 탐색하고  다니는 것은 무척 즐거운  시간 보내기가 될 수  있다.
당신의 기술을 다듬고 많은 일들에 대해 가르쳐 줄  것이다. 해킹하는 스릴
을 즐기는  것은 그만두고라도  하루종일 밤낮을  접속해서 즐길  수 있는
BBS들은 놀랍게도 많은 숫자가 있다. 해킹의 위험성을 감안한다면  그다지
나쁜 운명도 아닐  것이다. 앞으로 나올 장에서는 법으로부터 해커  자신을
보호하는 방법에 대해서  알아볼 것이다. 하지만 우선은 해킹 자체로  돌아
가자. 매우 뛰어나고 유용한 기술들은 아직 공개되지 않았다.

      제 11 장 해커의 경계선에서

 나는 해킹의 문제에 대처하는 비 해커적인 방법에 대해서 이야기하고 싶
다. 어떤 경우는  제한된 시간 이내에 해킹해야  하는 경우가 있다. 이러한
경우 평상시 해킹에 사용되던  시간을 잡아먹는 방법들은 실패하기 마련이
므로 극단적인 방법에  의존해야 한다. 이러한 일들은 대부분 해킹을  직업
적으로 행하는 경우에  해당된다. 이 문제를 언급하는 것이 중요하다고  생
각하는 이유는 최근들어  해커들의 세계에서 해커 청부  업자가 되는 것을
둘러싸고 논란이 일고 있기 때문이다.

  돈을 위한 해킹

 세상에는 소위 '개과천선'한  해커들이 있다. 이들은 정부나  기업의 보안
자문관이 된 사람들이다 이  배신자들은 양쪽으로부터 비판의 대상이 되어
왔다. 해커들로부터는 "우리에게 감히  이럴 수가 있느냐!" 하는 비판을 받
는다(그 반론으로 "당신은 진짜 해커가 아니다. 진정한 해커란 다른 해커가
보안을 끌어  올리려는 시도를 능가하려고 노력하는  데 기쁨을 찾는다"는
주장이 있다). 법을 지키는 시민들로부터는 "이전에 너를 믿을 수 없었는데
왜 지금은 믿어야  하나", "당신이 시스템에 침투하는 방법을  안다고 해서
그 시스템을 침투하지 못하게  만드는 방법을 안다는뜻은 아니다" 하는 비
판을 받는데 다 옳은  말이다. 당신이 이 길로 사업을 하고  싶다면 당신은
혼자가 아니다. 회사들은  최고 2만 달러 혹은 그 이상의  현상금을 내걸고
자신들의 시스템에 도전할  해커를 모집하고 있다. '타이거  팀'이란 해커의
집단이나때로는 해커 한 명이 조직에  의해 고용되어 그 조직의 보안을 테
스트하는 경우 그 팀을 가리키는 용어이다. 당신이 이러한  길을 걷고자 한
다면 전문성과  성실성을 그들에게 보여야  한다. 그들에게 당신의  능숙한
해커임을 증명하여야 하며 동시에 당신 가슴속에 품고 있는 반항적인 정신
을 그들이 눈치채지못하게  하여야 한다. 컴퓨터가 파괴자들로부터만  위협
받는 것이아니란 사실을명심해라.  바이러스, 잘못된 컴퓨터 환경,  입이 가
벼운 직원들, 그리고  여타의 위험 요소들이 아무리 단단히 만들어진  배라
도 침몰시키는 원인이 된다. 고용주로 하여금 어떠한  재난에도 대비하도록
하는 일은 당신에게 신망을 가져다주고 다른 일을 추천 받을 수 있게 해줄
것이다. 준법 시민들의  두 번째 비판에 대처하려면 당신이 발견한  보안의
허점에 대하여 해결책을 제시하는 것이 중요하다. 당신은 해커이다. 따라서
다른 해커가 어떻게  생각하는지를 안다. 그들의 생각과 방법에 대해  알고
있으므로 당신은 그들의 침입을 막을 대비책을 추천할 만한 전문지식을 가
졌다. 고용주에게 당신의 제안을 따르는 것이 왜 중요한지  그 이유를 설명
하라. 그들에게 당신이 침투하는 데 사용한 방법, 당신이 발견한 약점과 장
차 발생할 소지가  있는 문제점에 대해서 말해라. 해커에게 적합한  고객으
로는, 데이터베이스에 저장된 자신에 대한 정보를 염려하는  개인도 포함된
다. 고용된 해커들은 전화번호를 바꾸고, 수록되지 않은 전화번호나 주소를
찾아내고, 벌금을 제거하고, 자동차번호판 데이터를  조회하고, 학교 성적을
고치는 등의 일들을 업으로  해왔다. 어떤 한 기업과 계약을 맺고  그 기업
의 컴퓨터를 해킹하는  것은 완전히 합법적인 일이지만, 다른 사람들이  그
기업의 자료 파일들에 접근하거나 고치는 것을 돕는다면 불법 지대로 들어
서는 것이다. 그러므로  당신이 거래하는 상대방에 대하여 그리고 이  상대
방에게 당신의  어디까지를 알려줄 것인가에  대해 항상 조심하여야  한다.
해킹은 취미이다. 그걸로 돈을  받기 시작하면 문제가 발생한다. 만일 당신
이 임무를 완수하지 못하면 어떻게  할 것인가? 물론 당신 같은 수퍼 해커
에게는 어떠한 일도  불가능하지 않겠지만, 간혹 마감 시간에 걸리거나  예
상치 못했던 문제들,  그리고 처음에는 그토록 깨지기 쉽게 보였던  시스템
이 당신의 능력을 벗어나 지금은 거대하고 통과하기 불가능한 괴물처럼 으
르렁거리는 경우를 경험할 가능성은 언제나 존재한다. 그런  경우에는 반칙
이 필요한 것이다.  전통적인 해킹 방법에 의존하여 문제를 해결하기를  희
망하겠지만 반면에 맡은 일을  아예 포기하던가 비정상적 방법이라도 동원
해서 일을 마칠 것인가를 결정해야 될 순간에 직면 하게 된다면 당신의 명
성을 유지하기 위해  후자를 택하는편이 많을 것이다. 게다가 다른  침입자
들도 이런 거친 방법을 사용하고 있는 이상 당신 역시 해킹 기술에만 의존
하는 것은 이치에 맞지 않는다. 만일 회사가 당신에게  침입자를 막아 달라
고 부탁하고 대가를 지불하고 있다면 당신은 해커 이외의 사람들이 접근을
위해 흔히 사용하는 이러한 무력적 방법을 통한 침입마저도 불가능한지 확
인할 필요가 있다. 그러므로 당신이 대가를 받고 보호해  주는 시스템에 대
해 그런 비 정상적 방법도 사용해 볼 필요가 있다.

  지저분한 속임수들

 이들 속임수는 아마추어들이나 사용할 방법이므로 지저분한 것으로 취급
되고 있다. 이 '기술'들은 거으 해커가 아닌 사람들을 위한 것이다. 나는 한
술 더 떠서 이런 일들은 아예 컴퓨터를 사용할줄 모르는 사람이나 쓸 방법
이라고 하고  싶다. 내가 '컴퓨터  사용자'하고 말할 때는 컴퓨터를  자기가
원해서 사용하는 사람들을 지칭하는 것으로서 어쩔 수 없이 사용해야 되니
까 쓰는 사람들은  제외한다. 이들 속임수들은 보통 도난이나 첩보를  위한
사전 공작으로 사용되는  것이다. 이런 주제는 오직 컴퓨터가 그  대상이라
는 이유로 인해  진정한 해킹과의 경계선에 위치하고 있다. 진정한  해커는
이런 속임수가 있다는 것을 알고는  있지만 그 시스템으로 침투해야 될 절
실한 필요가 있을 경우 최후의 수단으로나 사용한다.

  뇌물

 당신은 시스템 운영자에게 뇌물을  주려 하지는 않겠지만 사람들 중에는
'신과 같은 권한'의 계정을  가지고 대가를 지불하면 당신에게 계정을 빌려
줄 사람이 있을 수도  있다. 나는 어떤 사람에게 뇌물을 주고서  컴퓨터 작
업 자체를 맡기기보다는 그 사람의 계정을 사용하는 조건으로 뇌물을 주라
고 권하고 싶다. 어쨌든  당신이 하는 일에 그 사람을 끌어들이지  않는 거
이 좋다. 당신이 컴퓨터를 이용하여 스파이 활동을 하고  있다면 당신이 그
런 일을 하고 있다는 것을 그쪽 내부 사람에게 알리고 싶지는 않을 것이기
때문이다. 그 사람의  계정을 사용하는 대가이거나 아니면 새로 수퍼  사용
자 계정을 하나 만들어 받는 대가로 뇌물을 지불하라.  만일 후자의 경우라
면 뇌물을 받은  사람이 근무하지 않은 시간에만 접속하라. 그렇지  않다면
그 사람은 호기심이 생겨서 당신이 하는 일이 무엇인지 감시하려 할는지도
모른다. 어떤 특정한 작업,  예를들어 500달러를 주고서 성적을 F에서 A로
바꾸는 것에 대해서 대가를 지불하는  것은 그냥 계정을 사용하는 데 대한
대가를 지불하는 것보다 더 골치 아프고 위험한 행동이다.  예를 들어 1973
년 일리노이주 운전자 등록 사무소(driver registration Bureau)에 고용되어
있던 한 컴퓨터  운영자는 10,000달러의 뇌물을 받고 그 주에  등록된 운전
면혀 소지자들의  개인 정보를 담고 있는  테이프 한 통을 훔쳤다.  미국의
자동차부(Department of Motor Vehicles)는  사회공학을 이용하여 가장 안
정하고 쉽게 해킹할 수 있는  컴퓨터 시스템을 가지고 있다는 사실을 감안
해 볼 때 이것은  무모하고 턱없이 대가가 비싼 경우였다. 이  사건의 정보
원은 뇌물을 제공한 사람들이  체포되었는지에 대해 언급하지 않았지만 그
러한 사실이 알려졌다는 것 자체가 그 일이 실패했다는 것을 암시할 수 있
다(아니면 적어도  앞으로는 그러한 시도가 성공하기  힘들것임을 보여 준
다). 이러한 점이 할 수만 있다면 해킹을 해야 되고 다른 방법(더러운 속임
수)들은 최후의 수단으로서나 사용되어야  하는 이유이다. 그나마 컴퓨터의
접근을 위해서이지 당신이  찾고 있는 정보에 대한 대가로서는 안된다.  더
군다나 계정을 사기 전에 시험해 봐서 정말로 돈을 낼 만한 가치가 있는지
확인한후 당신이 접속하고 나서는 돈  받은 사람도 알지 못하는 비밀의 수
퍼 사용자 계정을 하나만들 수 있다.

  술과 여자

 그렇다! 공상 과학  소설 같은 이야기지만 사실이다!  시스템 침입자들이
회사의 보안  담당자에게 술, 마약, 심지어는  매춘부까지 제공하여 컴퓨터
사용권을  얻어  낸  사례가  보도된  적이  있다.  더글러스 왈러(Dougls
Waller)가 1992년 5월 4일자 뉴스위크  지에 기고한 기사에서 '미국 중서부
에 위치한 대규모  생산업자'를 한 일본의 경쟁사가 각종 입찰에서  지나치
게 자주 이겼다고  보도하였다. 수사 결과 '일본  기업이 미국 경쟁사의 한
중견 간부를 마약으로  끌어들여서 기밀 입찰 정보를 빼내어 왔다는  사실'
이 밝혀졌다. 이러한 식의 방법은 내가 보기에는 위험한 짓이다. 일단 술에
취하거나 마약에 중독된 사람이 무슨 일을 벌일지 누가 알겠는가? 이런 짓
거리는 컴퓨터 문맹이나 쓰는 '기술'이다.

  나쁜 감정

 이것은 정확히 더러운  속임수는 아니지만 비슷한 느낌을 갖게 한다.  만
일 당신이 회사에  대해 악감정을 가지고 있는 직원이나 이직하려는  사람,
특히 프로그래밍 능력을 가진  사람을 찾을 수 있다면, 일은 다  된 것이나
마찬가지이다. 우선 당신은  그 사람이 회사에 대해 갖는 악감정을  부추겨
주어라, 회사가 얼마나 그들을  우려먹고, 그 사람의 업적을 몰라주고 그들
을 무시해  버렸는지를 상기시켜라. 자세히는 말고,  회사에 대해 복수하는
것을 도와주겠다고 말해라. 물론 해커는 그런 짓을 하지 않지만, 만일 당신
이 불만 있는 직원으로 하여금 행동을 유발시킬 수  있다면, 당신의 비행에
대해 그 사람이 대신 비난받게 될 것이다(나는 때때로 내 자신이 잔인하다
는 것을 알고 있다). 어떠한 경우이건, 더 푸른 풀밭을 찾아서 떠나는 직원
이나 사장에 대해  진절머리를 내는 직원에게서 회사의 은어, 전화번호  목
록, 절차 정책 그리고  비밀번호를 포함한 회사의 내부 정보를 얻을  수 있
는 훌륭한  원천이다. 손도 못 대는  보안 속에서 운영되는 시스템을  뚫고
들어가는 것이 목적이라면,  유일한 희망은 내부에 친구를 만드는 것일  수
도 있다. 꼭 악감정을 가지고  그 회사를 떠나야만 쓸모 있는 것은 아니다.
한 직원이 사직서를  내고 나온다던가 해고 당했다는  소문을 들으면 바로
이때가 그 축복 받은  자료를 얻을 수 있는 절호의 기회이다.  컴퓨터의 계
정은 그 직원이 떠나도  한참 동안 살아 있다. 이미 회사를  떠났는데 당신
이 그의 비밀번호를 쓰건 말건 그가 뭐 하러 상관하겠는가?

      제 12 장 침입 후에 할 일

 당신, 안에 있나? 좋았어!  주위를 둘러보게! 시스템 내부에 들어가서 스
스로의 등을 토닥여 준 후에  할 일은? 이 질문에 대답하기 위해서는 해킹
의 목적과 도덕률에 대해서 다시 한번 생각해 볼 필요가 있다.

  해커의 동기에 대한 재검토

 진정한 해커는 배우고 싶고,  이해하고 싶고, 피해를 주지 않으면서 재치
있게 남을 이겨내고 싶은 욕망 때문에 해킹을 시작한다.  해커 기술을 사용
하는 다른 사람들은  경쟁자의 비밀을 배우려고 하거나  왜 매번 입찰에서
상대방에게 지는지  이해하려 하거나 자기한테  손해를 끼쳤다고 생각하는
회사나 개인에게 복수를  하기 위해 그의 재치를  능가하려는 이유 때문에
해깅을 할 수도 있다. 자, 이제 여기 있는  사람들을 살펴보자. 자유롭게 샹
각하고 켬퓨터에  열정적인 해커, 산업 스파이  해커, 정치적인 첩보활동을
하는 해커,  복수를 위한 암호해독자, 그리고  마지막으로 직업적인 해커가
있다. 이들 대부분의  침입자들은 낮은 수준의 권한을 가지는 계정을  통해
보안망을 뚫고 들어왔을  것이다. 왜냐하면 보안 허가 수준이 낮은  권한의
계정은 가장 유력한  공략 대상으로써 해커의 수법은  낮은 계정을 가지고
있을 가능성이 큰  나약한 사용자를 초점으로 삼고 있기 때문이다.  고용된
해커나 해커 스파이들은  목표로 삼은 컴퓨터, 심지어는 특정 인물을  염두
에 두고 있을 것이다. 그들은  특정한 ID.비밀번호 조합을 대상으로 삼거나
목표 컴퓨터에 충분한 첩보활동을 할  수 있는 높은 권한의 계정에 접속하
고 싶어할 것이다. 파괴자나 복수를 위한 해커도 역시  자기가 이미 가지고
있는 계정보다는 더 높은 권한의 계정을 원하겠지만 충분한 기술이 없다면
기껏 할 수 있는 일은 빠르게 한탕 터뜨리고 튀는 것뿐이다. 즉, 아무 비밀
번호나 뚫고 들어가서 가능한 모든  파괴 활동을 한후 욕설이 담긴 편지나
몇 통 쓰고 나온다는 것이다. 아마도 그들은 계속적으로  뚫고 들어가서 가
능한 모든 파괴 활동을 한후 욕설이  담긴 편지나 몇 통 쓰고 나온다는 것
이다. 아마도 그들은 계속적으로 뚫고 들어와서 체포되거나  완전히 계정이
없어질 때까지 같은 행동을 반복할 것이다. 이러한  '해커들'은 마음속에 회
사의 사장이나 누구건  목표가 있더라도 자신이 처한  낮은 수준의 역할에
만족하고 주저 앉을  가능성이 크다. 하지만 만약 그들에게 어떤  기술이나
컴퓨터 지식이 있다면, 그들을 조심해야 한다. 진정한 해커라도 꼭데기까지
의 모든 길을 해킹하는  것을 원할수도 있고 원하지 않을 수도  있다. 그는
낮은 권한을 높은 권한으로끌어  올리는데 필요한 작업량에 비하여 그것은
노력할 가치가 없다고 느낄 수도 있다. 이것은 포기하는  것이 아니라 현실
적이되는 것이다. 얻을 수 있는 지식이 아주 적어  보이거나 다른 곳에서도
구할 수 있을 것 같으면, 그것을 얻기 위해 시간을 낭비할 필요가 없다. 혹
은 그 해커가 그  컴퓨터 시스템과 그 사용자, 운영체제에 대한  자신의 지
식이 높은 계정을 얻을 수 있을 만큼 자신이 없다고  느낄 지도 모른다. 이
것은 올바른 느낌이며  현명한 일이다. 해커가 자신이 모자란다는 것을  자
각하는 순간 멈추어 서서 이미 알고 있지 못한 것을  배워야 한다. 이런 경
우에 그  해커를 수퍼 사용자의 지위를  향한 도정에 다시 올려놓는  것은,
오직 연구뿐일 것이다. 해커인 브레인맨은 말한다. "나는 그 컴퓨터가 앞으
로도 오랫동안 거기에  있으리란 것을 알고 있다. 나는 해킹을  좋아하지만
탐험도 좋아한다. 때때로  나는 어떤 계정에 나를  접근시켜 줄 탐구, 책읽
기, 사회공학을 하기 위해서라면  하루 정도 기꺼이 기다릴 것이다. 그리고
나는 지금 당장  컴퓨터에 대한 진짜 탐구를  하고  싶다." 자신의  권한을
시스템 내에서 승격시키는 문제 이외에 일단 내부에 침입해서는 해커가 선
택할 수 있는 영역은 매우 넓다. 해커가 할 수 있는 일은 다음과 같다.
읽을 수 있는 문서들을 보고 프로그램을 돌려본다.
파일을 다룬로드 받는다.
시스템 운영자에게 보안에 허점이 있음을 알려준다.
그 컴퓨터의 작동 환경에 대해서 배운다.
다른 컴퓨터들이 이 컴퓨터를 통해 접촉할 수 있는지 알아 본다.
침투한 흔적을 지운다. 아니면 접속을 끊어 버리고 다시는  그 컴퓨터에 들
어가지 않을 수도 있다.
만일 당신이 정말로 가치가 있어 보이는 자료를 얻어 낸다면 그 자료를 돈
을 받고 팔아서 새로운 컴퓨터  장비를 마련할 자금을 조성하고 싶어 할지
도 모른다. 나는 이런 일에  대해서는 강하게 반대 하고 싶다. 누구든 스파
이가 되는 것은 매우 심각하고 위험한 일이다. 이것은  대중의 눈에 비쳐진
해커의 이미지를 망치는 원인이 될 수 있으며, 만약  당신이 체포된다면 장
기적으로 해커에게(단기적으로는 당신에게) 악영향을 줄 뿐이다. 많은 법원
과 경영자들은 동의하지 않겠지만, 내 개인적으로는, 시스템에 있는 문서들
을 읽는 것은  그 과정에서 누구를 다치게 하지  않는 이상은 해가 없다고
믿는다. 적어도 나는 어떤 사람의 개인적인 문서를 읽는  것은 애초에 시스
템에 해킹해 들어가는 것과 비교해서 크게 나쁜 일도  아니라고 본다. 당신
은 자신만의  도덕률을 마련해 놓고 그것에  따라 행동하는 것이 좋다.  그
윤리적 제약이, 이 책을  열고 닫는 해커 윤리 원칙의 확고한  바탕으로 하
여 만들어지기를 진실로  바란다. 일단 침투에 성공하면 접속을 끊고  다시
는 그 시스템에 돌아오지 않는 행동은 매우 열광적이고 편집적인 해커들이
흔히 하는 행동이다.  그것은 마치 침입은 하되들어가지는 않는 것인데  나
는 어떻게 그들이 도덕적으로 침입은 하되 들어가지는 않는것인데 나는 어
떻게 그들이 도덕적으로 침입은  용서하면서 접속은 멀리하는지 이해할 수
가 없다. 내 상각으로는 시스템을 사용하지 않고 접속을  끊는 해커는 오직
침입 과정만이 중요하거나 사용 도중 발각되는 것은  두려워해서라고 본다.
내가 언급한 다른  선택 사항들, 권한 올리기, 시솝을 돕기,  그리고 배우기
등은 모두 당신이  접속한 컴퓨터 시스템에 대한  상이한 수준의 친숙성을
요구한다. 이제 당신이 있게  될 곳과 그곳에서 무엇을 해야 할  지에 관하
여 생각해 보자. 우선 첫째로 당신이 해킹하여 들어간  계정은 단일 사용자
계정이거나 단체 계정, 루트 계정 혹은 '특별 계정'일 수도 있다. 만일 루트
계정이라면 축하할  일이다. 당신은 이제 뭐든지  원하는 일을 할 수  있는
능력을 가지게 되었다.  루트 계정은 시스템 운영자에 의해 사용되는  것이
다. 이것ㅇㄹ 일ㅋ는 다른 이름들로서는 아바타(avatar)계정, 신의 계정, 시
사다민(SYS드 ADMINistrator의 줄인 말), 수퍼 사용자(superuser), 반신반
인 (demigod) 계정,  시솝 계정 혹은 어드민(admin) 등이  있다. 당신은 오
직 저 입, 출력산의 정상에 사시는 컴퓨터 신만이 할  수 있는 일들을 자기
가 할 수  있다는 사실을 깨닫고 나서야 비로소  자기가 루트 계정에 들어
왔다는 것을  알게 될는지도 모른다.  '그룹 계정'은 여러 사람이  사용하는
계정이다. 부서나  지점의 계정이라면, 특정 부서나  지점의 직원은 누구나
같은 ID.비밀번호 조합으로  접속할 수 있다. 그 여건에  따라 그 부서에서
비슷한 지위에 있는 사람들은 자신들만의 공유된 계정을 가지고 있을 수도
있다. 예를 들어서 많은  회사들이 비서나 타이피스트, 임시직 사원들을 위
한 제한된  계정을 만들어 놓고 있다.  단말기는 많은 직원들이 사용할  수
있지만 직원들 간에 보안  이나 수준 차이가 나는 경우에는, 다른  그룹 계
정들이 사용된다. 이때는  누구나 데이터 베이스를 찾을 수 있지만  특정한
비밀번호를 가지고  들어간 사람만이새로운 자료를  넣거나 데이터 베이스
수조를 바꿀수 있다. '특수 계정'이란 손님이나 데모용  계정과 같이 등록하
기 전에 잠시 둘러  볼 수 있는 계정을 포함한다. 혹은  시스템을 프로그램
하는 사람들이  실험하기 위해 만들어 놓은  임시 계정일 수도 있다.  특수
계정은 운영테제의 접속 과정을 거치지 않고 직접 프로그램에 연결하는 경
우도 있다.  이것은 교육 목적이거나  정보를 배포하거나 공짜로  제공되는
특수한 프로그램을 나누어주기  위한 것일 수도 있다. 만일 당신이  해킹한
계정이 특수 계정이라면 당신의 권한을 높이기 위해서는 불법적으로 그 계
정을 부수고 나와서  운영체제에 접근해야 한다. 어떠한 경우이건 무슨  행
동을 취하기 전에 당신의 권한과 당신에게 주어진 특권,  그리고 그것을 당
신의 이익을 위해  어떻게 이용할 것인가에 대한 충분한 이해가  필요하다.
즉 기계와  소프트웨어에 대한 깊은  지식이 필요하다는 뜻이다.  이야기를
진행하기에 앞서서 당신이 완벽하게 이해해  두어야 할 한 가지 개념이 있
다. 그것은 운영체제이다.

  운영체제

 자, 마음을 비우고 당신이 컴퓨터에 대해서 가지고 있던  모든 생각을 버
려라. 가장 처음부터 시작하기로 한다. 당신이 한 가지 일만을 하는 컴퓨터
를 가지고 있다고 하자. 예를  들어오락실을 생각해 보라. 그것은 단 한 가
지 게임만을 계속 하는  컴퓨터와도 같다. 이 한 게임 컴퓨터는  당신이 스
위치를 누르면 게임이 시작된다.  결국 그 컴퓨터는 그 게임만 할  뿐 다른
것은 아무것도 하지 못한다. 자,  이제 이 컴퓨터에 다른 한가지 일을 더해
보자. 예를 들어  게임을 할 뿐만 아니라  문서 편집 작업도 할 수  있다고
하자. 그럼 이제 두가지 일을  할 수 있는 컴퓨터를 갖게 되었다. 스위치를
누르면 무슨 일이 일어 날까?  곧바로 게임으로 들어가나? 이제는 그럴 수
없다. 만일 우리가 문서 편집하기를 원한다면 어떻게  할까? 보다시피 이제
우리는 선택을 해야 한다. 우리가 컴퓨터를 켰을 때  어떤 방법을 써서라도
게임을 원하는지 아니면 문서 편집을 원하는지 알려주어야  한다. 컴퓨터에
게 어떻게 그것을 알려줄 것인가? 두 개의 다른 스위치를 만들어서 해결할
수도 있다. 내가  왼쪽 스위치를 누르면 게임이 시작되고 오른쪽  스위치를
넣으면 문서 편집이 시작된다.  잠시 동안 이것은 좋은 해결 방법인  것 같
지만 세 번째 네 번째  기능을 추가하면 어떻게 될까? 스위치도 계속 추가
하여야 할까? 하드웨어적인 스위치를 추가하는 대신 내가 한 일은 세 번째
프로그램(스프트웨어 스위치)를  추가하는 일이다. 이  세 번째 프로그램은
운영체제라고 불린다. 그릭  내가컴퓨터의 스위치를 켜면 컴퓨터는  자동적
으로운영체제 프로그램을 시동시킨다.  운영체제는 게임과 문서 편집  중에
서 하나를 선택하게 해주는 프로그램이다. 예를들어 운영체제가  시작할 때
화면에 질문 상자를  열어서 '어떤 프로그램?' 하고 물어오면 ,  내가 '게임'
혹은 '문서 편집'이라고 대답할 수 있다. 당신도 잘  알 듯이 이것이 기본적
으로 실제의운영체제 안에서 벌어지는  일이다 컴퓨터 초기 시절 컴퓨터가
몇 개의 선택된 프로그램을 작동시키는 것밖에 할 일이 없을 경우 그 제어
프로그램은 '모니터'라고 불려졌다. 그러나 컴퓨터가  점점 복잡해지면서 다
수 사용자와 여려 개의 주변기기, 보안, 프로그램의 동시 작동을 제어할 필
요가 생겨 났다. 모니터는 발전하여 몇 개의 프로그램  중에서 사용자로 하
여금 하나를 선택하도록 하는 것을 벗어나 모든 것을 포함하는 프로그램으
로 성장하였다. 그리하여 "운영체제"라고 하는  말은 이 복잡해진 소프트웨
어를 지칭하는 것이 되었다. 운영체제는 컴퓨터의모든 동작을 제어한다. 그
것은 어떻게 자원이 현재 실행  중인 작업들 사이에 배분될 것인지를 결정
하며 기억장치가 어떻게 사용될지, 어떤 프로그램이 실행되어야 할지, 어떤
순서로 수행될는지를 결정한다.  그것은 완전한 주제어 프로그램으로서  이
것을 당신이 이해한다면 컴퓨터를  마스터하기 위해 필요한 사항들을 이해
한다는 의미가 된다. 당신이 접하게 될 운영체제들로는  '유닉스', 'MS도스',
'PC도스'(IBM호환기기), 'PRIMDOS','RSTS'(디지털 이큅먼트사의 PDP-11
미니 컴퓨터용), 그리고 'VMS' 등이 있다. 운영체제를 이해하는 것이 중요
한 이유로는, 다음과 같은 것들이 있다.
1. 당신이 컴퓨터를  제어하는 명령이나 문법을 모른다면 컴퓨터로  하여금
아무 일도 시킬 수 없다.
2. 운영체제가 어떻게 동작하는지 이해하면 그 안의  버그를 찾기가 쉬워진
다. 버그들은 언제나  보안 체계의 허점으로 작용하여 당신을 기쁘게  해준
다.
3. 운영제체의 보안 기능의 제한점에 대해 익숙해져서  그러한 제한점을 이
용할 수 있게 된다.
4. 운영체제가 동작하는 방식을 알게 되면 컴퓨터  운영자들이 당신의 움직
임을 기록하여 당신을 찾아내고 다시는  오지 못하게 하기 위해 어떠한 조
치를 취하는가에 대해 잘 알게 된다.
이러한 이유들은 하나의 결론으로 귀착된다. 그러므로 당신이  진짜 해커가
되고 싶다면 컴퓨터에 대해서 정말로 뭔가를 알아야한다.  컴퓨터를 조종하
고 싶다면 그  컴퓨터를 제어하는 소프트웨어를 길들어야 한다. 그리고  당
신은 그 운영체제의 가장 기초적인 일들을 이해해야 한다.  물론 해커 중에
는 사회적 방법이나 여기저기서  들은 프로그래밍의 토막 상식으로 버티어
나가는 경우도 있지만 진짜 해킹은  진짜 지식을 필요로 한다는 사실을 부
정할 수는 없다.  당신은 당신 자신이 이러한  것들을 찾아서 배워야 한다.
이 이야기가 흥미  없다고? 그럼 당신은 해커가 될  자질이 없을지도 모른
다. 실질적으로  특정한 컴퓨터  시스템이 침입자로부터 100%  안전하다는
보장할 수는 없다. 어떠한 스스템이든 이론적으로 침투하는 것은 가능하다.
훌륭한 해커는  거의 대부분의 시스템에 침투할  수 있다. 더 나은  해커는
모든 시스템에 들어갈 뿐 아니라  내부에서 그 여행이 가치가 있게 만들어
줄 건설적인 일을 벌일 수 이ㅆ. 내가 말하는  요지는 온라인 데이터베이스
에 해킹해 들어가는 것과 데이터베이스  안의 자료를 들키지 않고 고쳐 놓
는 것은 완전히 별개의 문제라는 것이다. 만일 당신이  어떠한 시스템도 뚫
고 들어가 내부에서 일을 벌이고 싶다면 당신은 그것의 운영체제에 대해서
잘 알아야 한다. 가장 기본적인 것은 파일을 열고  우편을 주고받고 필요한
작업을 하는 데 필요한 기본 명령어들을 아는 것이다.  뿐만 아니라 해커는
잘 알려지지 않은 명령어들도 알아야 하고 그 운영체제로 동작하는 컴퓨터
에서 흔히 볼 수  있는 파일, 소프트웨어, 디렉토리들에 대해서 친숙해져야
한다. 어떻게 매뉴얼이 구성되어 있는지, 운영체제의 은어에 대해서도 알아
야 한다. 그는 그 운영체제가 누가 어떻게 사용하는지 알아야 한다. 그리고
에러메시지의 의미를 알아야 한다. 하지만 당신은 아직 힘든  일을 당한 것
이 아니다. 위에서  말한 것들은 빙산의 일각에  지나지 않는다. 결국 위의
모든 것들은 매뉴얼이나 컴퓨터 설계 세부 설명서와 같은 일반적인 출처를
통해서 쉽게 얻을  수 있는 정보들이다. 해커가 운영체제에 대해서  알아야
하는 것은 매뉴얼에는 나오지  않는 비밀스러운 일들이거나 매뉴얼에 나와
있어도 워낙  기술ㅈ거이고 특이한 것이라서  선택받은 소수들만이 해독할
수 있느 것들이다. '해커가 알아야 될  기본적인 것'들에 나오는 목록은 OS
가 무엇이고 무슨  일을 하는지를 설명한 것이다. 하지만 어떠한  시스템도
효울적으로 침투할 수 있는 해커는 OS가 어떻게 동작하는지 왜 그렇게 동
작되어야 하는지에 대해서 알아야 한다. 운영체제는 워낙  방대하여서 버그
가 모두 고쳐졌는지 확인하기란 도저히 불가능하다. 특정한  컴퓨터가 운영
자가 원하는 기능을  추가하기 위해 수정되는 경우도 많다. 하지만  이러한
추가 작업은 보안 체계에  구멍을 뚫는 경우가 있다. 때론 여러  명의 프로
그래머들이 운영체제의  다른 부분들을 만들면서  중요한 기초에 대해서로
협의하지 않아서 서로 동떨어진  기능이 동시에 실행되면 폭발하는 경우도
있다. 이에 더하여  그 운영 체제하에서 동작하는 응용 프로그램들이  가장
기본적인 운영체제만을 위해 설계된 나머지 수정된 운영체제하에서는 호환
이 안되서 구멍을 만들어 낼 수도 있다. 두 개  내지 여러 개의 소프트웨어
가 동시에 동작되면  불안정한 구석이 발생할 수도 있다. 일반적인  사용자
는 위의 가능한  보안의 허범에 대해서 자각하지 못한다. 해커도  알아채지
못할 수도 있지만  그 해커가 운영체제에 대해서  기본적인 이해를 가지고
있어서 이러한 불안 요소에 대해서  잘 안다면 약간의 생각을 통해 어디에
함정문이 도사리고 있으며  이것을 어떻게 유용하게 사용할  것인지 알 수
있을 것이다. 말할 필요도  없이 이 책은 모든  운영체제에  대한 기술적인
설명을 하는  설명서로 둔갑하지는 않을  것이다. 그러므로 한  운영체제를
찾아내어 익숙해져라, 하지만  한 단계 넘어서 그 명령어들이 어떻게  짜여
졌는지를 배워라, 그  명령어를 직접 운영체제에 입력하지 않고서 그  기능
을 흉내낼 수 있을지 알아내 보라. 그 명령어가  실행되면 기억장치에는 어
떤 일이 벌어지는가? 기억 장소를 고칠 수 있는 방도가 있는가? 이러한 일
들은 큰 꿈을 실현하고자 하는 해커에게는 매우 중요한  일이다. 이런 기술
적인 해커 방법에 대한  예는 이 장의 후반부에 풍부하게 나타난다.  그 이
유는 간단하지만 피할 수는 없다. 인생에서 가장 좋은  일들은 저절로 이루
어지지 않는다. 시스템에  침입한 후 나서 대단하고 흥미있는 일을  하려면
힘들게 노력해야 한다. 특별한  셸 프로그램 언어나, 응용 프로그램이 동작
하는 방식과 같이  어떤 일을 꼭 필요한 때가  오면 그때서야 배우는 것이
편리하다고 느낄지 모르지만 운영체제의  기본 원칙에 대한 지식이 부족한
것은 장님 해커와 같다. 이용할 수 있는 약점과  단점을 보통 사용자들처럼
모르고 지나치는 것이다. 이 골치 아픈 문제를 잠시  접어 두고 운영체제에
대한 토론을 발생시킨  원래의 문제로 돌아가 보자, 들어간 다음에는  도대
체 무슨 일이 생길까?
 
  주위를 둘러보기

 시스템이나 네트워크에 들어간 다음에 무엇을 발견하리라고 생각했는가?
읽을 파일이나 실행시켜  볼 프로그램들, 한 컴퓨터에서 다른 컴퓨터로  이
동할 수 있거나  한 네트워크에서 다른 네트워크로 옮겨  갈 수 있는 방법
등이 있을 수 있다. 백업 파일이나 일정 시간마다  자동적으로 저장되는 파
일들을 찾아보아라. 많은 문서 편집기들을 지나치는 사람이면  누구나 읽어
볼 수  있는 이런 임시 파일들을  만들어 놓고 간다. 만일  시스템운영자가
비밀번호 보관 파일을 수정하고 있었거나 다른 섬세한 자료를 보관한 파일
을 편집하고 있었다면 횡제를 할 수도 있다. 전자우편은  보통 누적되게 된
다. 지워진 파일들도  즉각적으로는 지워지지 않고 숨겨진 파일로서  변하
거나 특정한 디렉토리로 옮겨지곤  한다. 보안 기록이 있는지 찾아보라. 흔
히 사용자가 저지르는 실수는 ID 입력 부분에서 비밀번호를 입력하는 것이
다. 읽을 수 있는 접속 기록 파일을 찾아볼 수  있다면 이런 실수들을 기록
해 놓은  것은 포함하고 있을지도 모른다.  예를 들어 만일 조지  워싱텀이
자신의 유닉스 계정에  비밀번호 'cherrytree'를 이용하여 접속하려  하는데
너무 빨리 타이핑을 쳐서 화면에 다음과 같이 나타났다고하자.
WashingtonUs[enter]
sername:cherrytree[enter]
Password:
조지는 자기가  실수 했다는 것을 알게  된다. 접속 프롬프트가 뜨기  전에
ID를 입력한 후 그 줄에다가 비밀번호를 보이게 표시한 것이다. 그는 엔터
키를 몇 번 눌러서 화면을 지우지만 이미 피해는  발생한 셈이다. 운영자의
영역 어딘가에는 접속  기록 파일 속에 다음과 같은  내용이 남아 있게 된
다.
Unsuccessful login of user cherrytree@ㅆ, Mar 24, 1992, 14:16:03
이제 당신은 그  시스템의 여러 사용자들 중에서  이 비밀번호를 사용하는
사람을 찾으면 된다. 보안 기록은 파일들을 주고 받는  기록과 비인가된 명
령어로부터 발생된 에러,  새로운 계정과 수퍼 사용자 권한을 새로이  부여
받은 사용자와 같은  정보를 담고 있다. 보안에 대해서 이야기한다면  처음
으로 한 계정에 접속해 들어가서 해야  할 제일 첫 번째 일은 당신이 계정
을 빌린  사람이 누구인지 감을 잡는  것이다. 접속할 때 화면에는  지난번
사용한 시간과 지금  연결된 서버의 위치가 나타나기 십상일 것이다.  화면
에 정식 사용자가 아주 최근에 접속한 것으로 나타나면 문제가 생길 수 있
다. 하루중의 어느  시간에 그 계정이 사용되었는지를 알아보아서 그  시간
을 피하도록 한다. 두 개의 독립된 컴퓨터를 동시에  접속을 시도하여 어떠
한 일이 벌어지는지 살펴보아라. 두 번째는 에러  메시지가 발생하는가? 당
신이 사용하는 계정을  가지고 사용하는 두 번째 사람을  찾을 수 있는가?
이러한 것들은 계정의  중니이 우연히 같은 시간에  접속을 시도할 경우에
대비해서 알아두어야 한다. 전자의 시나리오에 대해 살펴보자  당신이 계정
을 이용하여 접속하고 있는데 실제 사용자가  접속을 시도하였다가 '사용자
존쓰씨는 이미 116번  포트에 연결되어 있습니다'라는 에러 메시지를  받는
다. 당신은 이러한 일이 발생했었다는 사실에 대해 알 도리가 없다. 하지만
당신이 시스템 운영자를 사칭하여 그  계정 앞으로 편지를 보내고 읽지 않
은 상태로  만들어 둠으로써 미리 대비해  놓을 수 있다. 그러므로  정당한
사용자가 다음 번에 접속했을 때  다음과 같은 편지가 기다리고 있는 것이
다.
Message #01
From 1513 SuperUser
To ALLUSER@calli.poo.mil
몇 개의 포트 접속 감지 장치의 잘못된 회선으로 인하여 지역 네트워크의
C그룹에서 문제가 발생하였습니다. 당신이 접속을 시도하였는데 이미 사용
중인 것으로 나타난다면 접속을 끊고 몇 분 후 다시 접속을 시도하여 주시
기 바랍니다. 우리는  이러한 문제가 발생한 데 대해서 유감으로  생각하며
이것을 수정하기 위해 노력하고 있습니다만, 시간이 걸린 전망입니다. 시스
템을 완전히 폐쇄하느냐  약간의 불편을 감수하느냐의 문제입니다.  당신도
아예 시스템을 사용할  수 없느니보다는 약간의 버그를  가지고 있는 편이
낫다는 데 동의하실 것입니다. 우리는 3월 3일 이전에는  문제가 해결될 것
으로 믿습니다. 협조해 주셔서 감사합니다.
보통 사용자들은 사용 시간  기록을 자기 디렉토리에 가지고 있게 마련이
다. 개중에는 어떤 명령들을 사용했고 어느 뉴스 그룹을  읽었고 어떤 파일
을 전송하고 삭제하였는가  등등의 자세한 내용을 담은 것도 있다.  이것을
보면 정당한 사용자가 언제 그리고  어떻게 시스템을 사용할 수 있는지 알
수 있고 그 사용자의 능력 수준도 알 수 있다.  만일 당신이 해킹한 계정이
자주 사용되지 않았다면  그 원래의 주인은 당신에게 위협을 주지  않는다.
반면 시스템 운영자는 위협을 받는다. 별로 사용되지 않던  계정이 자주 사
용되지 않았다면 그 원래의 주인이 당신에게 위협을 주지  않는다. 반면 시
스템 운영자는 위협을  받는다. 별로 사용되지 않던 계정이 엄청난  활동을
보이게 될것이기 때문이다. 반면에 사용자가 밤낮으로 사용하고  있다면 시
솝보다는 그 사람에 대해서 걱정해야 할 것이다. 당신이  그 계정을 사용한
기록도 그 속에 뒤섞이게 될 것이기 때문이다.

  찾아야 할 명령어와 사용할 명령어

 대부분의 운영체제는 확장된  온라인 도움말을 가지고 있다.  유닉스에서
는 'man 명령어 이름'을 입력하면  그 명령어의 매뉴얼 페이지를 볼 수 있
다. 또한 쓸모 있는  명령은 'apropos'로서 주어진 단어와 관계된 명령어들
의 목록을 볼  수 있다. 예를 들어 'apropos password'라고  치면 비밀번호
와 관계된  명령어, 프로그램들, 그리고  변수들의 모든 목록을 보여  준다.
그러면 'man'명령을 이용하여 각 명령어의  의미를 알아낼 수 있다. TOPS
운영체제에서는 'help' 혹은 'help 명령어 이름'으로 온라인 정보를  받아 볼
수 있다. 각 명령어를 시도해 봄으로써 시스템에서 어떤  일이 벌어지고 있
고 누가 그 일을 하는지 보여 준다. 유닉스에서는 'ps -f'라는 명령어가  다
른 사람들이 지금  어떻게 컴퓨터를 사용하고 있는지를 보여 준다.  그러한
명령어들을 사용함으로써 당신이 선택  가능한 범주가 어떤 것인지 느낄수
있다. 또한 만일 어떤 사람이 당신이 접속한 컴퓨터를  통해서 다른 컴퓨터
에 연결되어 있다면 어느 누가  다른 컴퓨터들에 대한 접속 권한을 가지고
있는지 알 수 있다.  만일 당신이 대단히 재수가 좋다면 그  목록 사이에서
파일을 암호화하는데 사용한 키워드도 발견할 수 있을  것이다. 불운하게도
암호와 프로그램은 그 키워드를 일단 동작을 시박하면 제거해 버림으로 키
워드가 누구나 볼  수 있는 공공 자료로서 남아  있는 시간은 극히 순간에
불과하다. 소위 '데몬'프로그램은 그러한 일이 일어나는 것을  찾아낼 수 있
다 .'텔레네트'는 다른 컴퓨터에  연결해 주는 프로그램이다. 일찍이 당신이
접속한 계정은 낮은 권한의 것이 되기 십상이라는 말을  ㅎ거이 있다. 처음
부터 해커가 보통 사용자의 계정을  해킹한 이유는 실제 해킹을 하기 위한
안전한 보금자리를 제공해 주기 때문이다. 그 계정으로부터  당신의 정당한
계정을 이용해서는 절대로 하지  못했을 일들을 할 수 있다. 예를  들어 미
국 국방성의 컴퓨터로 텔레네트해서 침투 공격을  '시작한다던가 하는 일이
다. 유닉스는 'cu'(Call Up) 명령을 가지고 있어서  특정한 전화번호로 전화
를 걸수 있게 해준다. 한 컴퓨터에서 다른 컴퓨터를  호출하는 것은 해커로
하여금 추적을 피할 수  있게 해준다. 이것은 또한 어떤 컴퓨터의  경우 다
른 네트워크를 통한  접근 이외에는 접속이 불가능한  경우와 같이 특정한
컴퓨터에 접속하는 유일한 해결 수단인 경우가 있다.

  파일 전송 프로트콜

 파일 전송 프로토콜(FTP)이란  보통 인터넷에 연결된 두 대의 컴퓨터간
에 파일을 서로 주고받도록 해 주는 프로그램이다.  BITNET사용자들은 파
일 전송을 위해서는  FTP 대신 전자우편을 사용하여야 한다.  'ftp'란 명령
을 써서 프로그램을  기동시키면 그 컴퓨터와 연결된  다른 어떤 컴퓨터의
주소라도 입력할 수 있다. 우선 ID와  비밀번호를 물어 올 것이다. 많은 사
이트들은 익명의 FTP 계정을  가지고 잇어서 ID에 'anonymous'라고 입력
하면 그곳의 운영자가 허용한 모든  문서와 프로그램을 받을 수 있게 되어
있다. 흔히 익명의 FTP 사이트는  교환 센터처럼 만들어져 잇다. 들어오는
계정은 저장과 실행 권한은 있는데  검색 권한은 없게 만들어져 있어서 다
른 사람과 나누어 가지고 싶은  파일을 올리더라도 다른 사람들은 그 파일
이 존재하는지 알지  못한다. 운영자가 그 파일을 검사하고 나서야  일반이
ㅔ게 공개할지 안할지를 결정하게 된다. 익명의 FTP에서 찾을 수  있는 하
나의 일반적인 보안 허점은 'ETC'와 'BIN'이라는 디렉토리가  FTP 계정에
의해 보유된다는 점이다.  만일 당신이 찾은 사이트가 그러한더ㅔ 그  디렉
토리가 사용 금지되어 있지 않다면  사용자는 자기가 악의로 고쳐 놓은 시
스템 프로그램이나 배치 파일을 그곳에 올려놓을 수 있다.

  재미있는 게임들(fun 'N games)

 당신은 XTREX이나 EMPIRE와  같은 다수 사용자 온라인  게임을 해킹
한 컴퓨터에서, 특히 그것이 대학 컴퓨텅리 경우에는 발견할  수 있을 것이
다. 이 게임들은  다수 사용자 게임이기 때문에 비밀번호가 있어야만  사용
할 수 있다. 그리고 이 게임들의 비밀번호 관리  체계는 운영체제처럼 철저
하지 못하다. 이 비밀번호들은  어떤 경우에는 쉽게  어느 곳에  가건 똑같
은 비밀번호를 사용하는 버릇이 있다는 것을 알고 있다. 한  번 이 점을 생
각해 보아라.

  유즈넷

 USENET은 지역 BBS에  비교하면 엄청나게 규모가 큰  존재이다. 유즈
넷은 인터넷의 전자 게시판으로서 수천  개의 토론 그룹과 수백만 개의 글
들로 구성되어 있다. 유즈넷 상에서는 단순한 '컴퓨터'에  관련된 일반적 게
시판이 있는  것이 아니다. 소프트웨어,  하드웨어, 바이러스, 해커,  각각의
운영체제, 프린터, 계산표  프로그램, 도덕 등등 당신이 생각할 수  있는 모
든 주제에  대한 토론이 벌어지고 있는  장소가 있다. 각각의 주제는  뉴스
그룹이라고 불려진다. 음악, 자동차, 섹스, 스쿠버  다이빙, 범죄, 낙하산, 텔
레비전, 책, 수간,  꽃 등등 모두 생각하려면 어지러울 정도의  수많은 토론
이 이루어진다. 어떤 뉴스 그룹은 제어되고 있어서 그  조직을 운영하는 사
람이 글들을  편집하거나 어떤 글들을  읽도록 허용할 것인지를  결정한다.
대부분의 그룹들은 제어되지 않고 모두에게 자유롭게 개방되어  있다. 뉴스
그룹에 접속하려면  'readnews','news','nn' 명령을 실행시켜야 한다.  당신
은 화면에 올라온 글을  읽거나 당신의 글을 올릴 수 있다. 그 글은  전 세
계의 사람들에게 전해지고  이것은 어떠한 질문이라도 할  수 있다는 것을
의미한다. 유즈넷은 해답을  찾을 수 있는 국제적인 거대한 포럼을  제공하
고 있다.

  수퍼 사용자가 되기

 만일 당신이 아무것도 들어 있지  않은 텅 빈 디렉토리와 재미있는 것은
하나도 허용되어 있지 않은 낮은 수준의 계정을 얻는다면 시스템에 침투해
들어간 것은 가치 없는  일이 된다. 데이터 입력 요원 같은  제한된 사용자
에게 할당된 낮은 수준의 계정에 해킹해 들어갔다면 당신은 최대한으로 그
권한을 높이고 싶어할  것이다. 이것은 내부에서부터 연구하거나  사칭하는
수법을 쓰거나 프로그래밍 기교나 사회공학으로서 달성될 수  있다. 연구에
관해서는 당신이 막 침투한  시스템을 뒤져보면서 당신에게 제공된 선택권
을 살펴보는 것을 원할 것이다. 모은 파일을 읽고  모든 프로그램을 실행시
켜 보아라.  대부분의 기술적인 해킹은  기존 프로그램의 버그를  이용하는
것이다. 일반적으로 이들  소프트웨어들은 다른 사람의 계정과  상호작용을
하는 비슷한 종류의  것들이다. 그러므로 우편을 보내는 것과 채팅을  하는
프로그램 언어를 계정에서 발견한다면  당신은 해커의 천국에 들어선 것이
다. 수백 가지의 프로그램  기교를 써서 내부에서 권한을 높일 수  있는 방
법이 있다. 우선은 사칭하기에서부터 시작해 보자.

  사칭하기

 흔히 사칭하기(Spoofing) 란  전자우편을 보내면서 기교를 부려 마치  다
른 사람이 보낸 것처럼 보이게 만드는 것을 의미한다.  사칭하기는 그 외에
해커가 마치 다른  사용자인 것처럼 모든 행위를 지칭하기도 한다.  우선은
일반적인 정의인 전자에 국한하여  어떻게 전자우편에 사칭하기를 써서 낮
은 권한을 가진 해커가 이익을 얻을 수 있는지 몇가지 방법에 대해서 알아
보자. 가장  기초적인 사칭하기는 시스템  운영자로부터 온 편지인  것처럼
속이는 것이다. 수지라는  매우 높은 권한을 가진 사용자가 접속하여  언제
나처럼 시스템을 사용중이락 생각해 보자. 우편

댓글목록

등록된 댓글이 없습니다.