1.alt.security 와 comp.security.misc는 어떤곳인가? comp.security.misc는 유닉스와 관련된 컴퓨터 보안을 토론하는 포럼이다. alt.security도 마찬가지로 같은 주제를 다루지만,자동차의 잠금장치나 경보장치 까지도 다루고있다.
2.해커 와 크래커 의 차이는 무엇인가? USENET에 의하면,크래커(cracker)는 여러가지 이유로 다른 사람의 시스템에 침 투하려는 사람들을 지칭한다. 그들은 단지 '가능하니까'라는 핑계를 대며 자신들 의 행위를 정당화시키지만,대부분은 불법적인 일을 저지름으로써 명성을 얻으려 고 할뿐이다. 특히 반사회적인 크래커는 문화예술을 파괴하려는 경향을 가지고있어서, 파일시 스템을 삭제하고,시스템을 파괴하고,그들의 흔적을 추적하는 프로그램을 마비시 킨다.pc 의 복제장치를 제거해서 불법복사본을 배포하는 사람을 가리키는 경우 에도 크래커라는 말이 널리 쓰인다. USENET에 의하면, HACKER는 컴퓨터에 관한 상당한 양의 지식과 전문적인 기술을 갖고 있으며,교묘하게 이러한 기술을 이용할 수 있는 사람들을 말한다. 실제로, 사람들은 해커라는 말을 크래커와 거의 같은 의미로쓰고있다. usenet에서도 이러한 경우는 심심치않게 나타나서 사람들을 혼란시키고 있다. 보 안을 다루는 게시판에 크래커를 해커로 잘못 사용한 게시물을 올린다면 많은 비 난을 면치 못할 것이다.
3.'security through abscurity'란 무엇인가? STO(불투명함에 의한 보안)는 사용자그룹의 외부에 있는 어느 누구라도 내부 메카니즘에 대하여 아무것도 발견할 수 없는 한, 시스템이 안전하다는 믿음을 말한다. "누구라도 영원히 발견하지 못할 것이다"라는 가정을 가지고,password를 이진파일에 숨기는 것은 STO의 대표적 예이다. STO는 많은 관료주의자들(군인,공무원....)이 좋아하는 철학이며, 시스템에 'pseudosecurity'를 제공하는 중요한 한 방법이다. 개방화된 시스템, 네트워킹, 프 로그램 기술에 대한 이해의 증가, 그리고 일반인이 사용할 수 있는 강력한 컴퓨 터의 등장으로 인하여 STO의 유용함은 점점 약해졌다. STO의 기본은 '알 필요'에 의해서 시스템을 사용하는 것이다. 어떤 사람이 시스 템 보안에 영향을 미치는 방법을 모른다면 그것은 위험하지 않다. 모두가 인정하듯이, STO는 믿을 만한 이론을 가지고 있지만, 어쩔 수 없는 예외 의 경우도 있다. 그것은 바로 시스템의 운영자들로, 만일 유능한 직원이 더 나은 보수를 받고 다른 직장으로 간다면, 그가 알고 있는 지식도 함께 가버린다. 일단 그런 비밀이 노출되면 시스템의 보안도 더 이상 안전하지 않다. 최근에는 평범한 사용자들도 시스템이 돌아가는 방법에 대하여 자세하게 알 필 요가 있으므로 그 결과 STO의 효과는 많이 약해졌다. 오늘날 많은 사용자들이 전에는 알 필요가 없었던 시스템에 대해 상당히 많은 지식을 가지게 되었기 대
문에, 보안에 상당히 많은 문제가 생기기 시작했다. 따라서 지금 필요한 것은 철학적으로 안전하기 보다는 실제적으로 안전한 시스 템(Kerberos,Secure RPC)을 만드는 것이다. 'Shadow Passwords'는 종종 STO와 같이 무시당하지만, 이것은 옳지 않다. 왜냐하면 STO는 알고리즘이나 테크닉에 대한 접근을 제한하지만 쉐도우패스워 드는 실질적인 자료에 대한 접근을 제한하기 때문이다.
4.시스템의 보안을 저해하는 요소는 무엇인가? 진정으로 안전한 시스템은 파워를 끄고 코드를 뺀 후에 티타늄 선으로 묶어서 콘크리트로 밀봉을 하고 독가스를 채워서 최신의 무기를 가진 경비원으로 보호 를 하는 것이다. 그러나 그렇다고 하더라도 누구도 거기에 자신의 생명을 걸만 큼 안전하다고 자신하지는 못한다. 시스템의 보안 여부는 그것을 사용하는 사람들에게 달려있다. 시스템을 사용하 는 모든 사람들이 자기들의 시스템을 아무 문제 없이 이용하기 위해서 나름대로 책임감을 갖고 임한다면 특별한 보호장치 없이도 안전하게 유지될것이다. 많은 실험실에 있는 PC들은 이런 방식으로 아주 잘 운용되고 있다. 문제는 보안 유지에 대한 필요성을 느끼면서 시작된다. 일단 시스템에 보안 장 치를 설치하고 나면,그것은 결코 끝나지 않는 전쟁이 될 것이다. 보안상의 허점은 다음과 같이 4가지의 종류로 나눌 수 있다. (1) 물리적 허점 불법 사용자가 시스템에 물리적으로 접근함으로써 문제가 생기는데,그가 해서는 안되는 작업을 할 수도 있기 때문이다. 이러한 좋은 예는 공동으로 사용하는 워크스테이션실에서 일어날 수 있는데, 그 런곳에서는 사용자가 손쉽게 시스템을 단일사용자모드로 바꾸고,파일 시스템을 뒤섞어 버릴 수 있다. 따라서 사전에 충분한 주의가 필요할 것이다. 또 다른 예로서,누구나 쉽게 읽을 수 있는 백업장치의 경우 기밀 유지를 위해 접근을 제한할 필요가 있다. (2)소프트웨어 상의 허점
특별한 권한을 가지는 프로그램들(daemons,cronjobs)의 경우,이들이 원래의 목적 과 다르게 이용될 가능성이 있다. 가장 유명한 예가 sendmail debug에 있던 허점인데, 크래커가 이것을 이용하여 root로 빠져나가는 좋은 수단이 되었다. 이것은 파일 시스템을 삭제하고,새로운 계정을 만들고, 패스워드 화일을 복제하는 등의 작업에 사용되었다.(일반적인 생 각과는 다르게,sendmail을 통한 침투는 악명높은 INTERNET WORM만 할 수 있었던 것은 아니었다. 크래커라면 누구든지 telnet을 이용하여 상대 시스템의 port25을 통해서 침투할 수 있었다) 이런 새로운 허점은 항상 발견될 수 있으므로 늘 다음과 같이 대비해야 한다. * root/daemons/bin에는 가급적 최소한의 프로그램을 설치하도록 한다. 이곳에 있는 프로그램들은 특별한 권한을 가지고 있어서 위험하게 쓰일 수 있기 때 문이다. * 문제의 해결책을 제공받을 수 있는 곳들에 대해 mailing list를 만들어 문제 가 발생할 경우 즉각적으로 연락을 취해 그 문제에 대한 정보를 받을 수 있 도록 해야한다. (3)호환성의 문제 누구의 잘못은 아니지만,시스템 운영자가 경험이 부족해서 보안의 측면에서 문 제가 있는 하드웨어 와 소프트웨어를 시스템에 설치한 경우이다. 이와같은 문제 는 시스템이 일단 가동되고 나면 발견하기가 힘들다. 따라서 신중하게 고려하여 시스템을 구성해야 한다.
(4) 적당한 보안정책의 작성과 유자 네번째 보안 문제는 인식과 이해에 관한 것이다. 완벽한 프로그램,보호장치가 된 하드웨어, 그리고 호환적인 부품일지라도, 적잘한 보안 정책을 가지고 운영되 지 않는다면 제 역할을 하지 못할 것이다. 만약 사용자들이 자신의 사용자명을 거꾸로 해서 패스워드를 정해버리는 식으로 보안 개념이 희박하다면 아무리 좋 은 패스워드 방식일지라도 아무런 가치가 없다. 보안이라는 것은 그러한 정책에 맞추어서 시스템을 얼마나 잘 운영하는가에 달려있다.
5.보안을 도와주는 도구에는 어떤 것들이 있는가? (1)'COPS' Dan Farmer에 의해 개발된 이 프로그램은 보안 상태를 검사해주는 기능을 하는 shell script이다. 기초적인 password cracker,setuid 프로그램에서 의심스런 변화 를 알아보기 위해 파일시스템을 검사하는 기능,기본 시스템과 사용자 파일의 permission을 검사하는 기능,문제를 일으킬만한 행동을 하는 시스템 프로그램을 검사하는 등의 기능을 가지고있다. (2)'CRACK'(+'UFC') Alec Muffett에 의해 개발된 이 프로그램은,외부인에 쉽게 노출될 가능성이있는 패스워드를 찾아내는 기능을 가지고있다. 아마도 이것은 패스워드 크래커로서 대중에 배포되는 유일한 프로그램으로서,사용자가 자신이 원하는 패스워드를 정 확하게 설정할 수 있도록 도와준다. 이것은 네트워크상에서 가급적 많은 시스템에서 사용 가능하도록 네트워크 기능 이 내장되어 있으며,Unix crypt() 알고리즘의 최적화된 버전으로 제공된다. crypt()알고리즘 의 훨씬 더 빠른 버전인 'UFC'는 Michael Glad에 의해 개발되 었으며 네트워크상에서 무료로 배포된다. UFC와 CRACK 의 최신버전은 서로 호환이 되므로 함께 사용이 가능하다. (3)NPasswd(Clyde Hoover) & Passwd+(Matt Bishop) 이 프로그램은 패스워드 크래킹 전쟁에서 균형을 되찾기 위하여 작성되었다. 이들은 표준 'passwd'명령어를 교체하여
사용자가 CRACK같은 프로그램에 의 해 쉽게 노출될 수 있는 패스워드를 정하지 못하도록 하는 기능을 가지고있다. System V,NIS/yp,shadow password schemes 등의 다양한 시스템에서 쓰일 수 있는 여러가지 버전이 나와 있다. 일반적으로 파시스트 패스워드 프로그램으로 불리운다. (4)"SHADOW"-Shadow Password suite John F Haugh II 가 개발한 이 프로그램은 쉐도우패스워드 를 이용할 수 있도 록 해주는 프로그램이다. 즉 root 이외에는 어느 누구도 패스워드 파일을 볼수가 없으며, 패스워드 크래킹으로부터 안전하게 시스템을 보호해준다. 파시스트 패스 워드와 함께 쓰인다면 상당히 좋은 보안 방식이 될 것이다. (5)TCP Wrappers(Wietse Venema) 유닉스가 기본적으로 제공하는 많은 네트워크 서비스에 front-ent filter를 제공 하는 프로그램이다. 설치되고 나면,FTP/TFTP,telnet등을 이용하여 불법적으로 이루어지는 접속을 막을 수 있다. 누군가 시스템에 침투하려고 하는 경우에 유 용하게 쓰일 수 있다. (6)SecureLib Securelib은 kernel에 들어있는 세가지 함수들에 대한 대체 함수를 가지고있다. (accept(),recvfrom(),recvmsg())이것들은 기존의 함수들과 호환성을 가지고 있으 며,시스템의 인터넷 어드레스를 검사하여 접속이 가능한 시스템을 확인하는 기 능을 가지고있다. 접속이 가능한 hos
t는 configuration file에 기록된다. (7)SPI SPI는 file integrity를 포함하여 configuration option을 검사하는 프로그램이다. 차후에는 COPS에 포함될 예정이다.이것은 일반인은 사용할 수 없고, 미국 정부 만이 사용할 수 있다.
6.cracking tools을 일반인에게 공개하는 것이 위험하지 않은가? 개인의 견해에 따라 다르다. 일부사람들은 COPS와 CRACK을 공개한 것이 무책 임한 일이라고 주장한다. 부당하게 이용될 수 있기 때문이다. 그러나 역으로 생각하면, 이 프로그램이 갖는 긍정적인 면도 무시할 수 없다. 일반인들이 이 프로그램들을 이용해서 자신의 시스템을 검사하는데 많은 도움이 되기 때문이다. 따라서 공개로 인한 효과가 긍정적인지,부정적인지는 확실치 않 다.
7.이러한 프로그램은 어디서 구할 수 있는가? (1) COPS v 1.04,cert.sei.cmu.edu(pub/cops)와 archive.cis.ohio-state.edu(pub/cops)에서 ftp 를 이용하면 가능하다. (2) CRACK/UFC Crack v4.1f, UFC oatchlevel 1. comp.sources.misc의 volume 28에서 주요한 USENET archive 를 통해 쉽게 구할수 있다. (3) NPasswd 현재 많은 해킹버전이 존재한다. 버전 2.0이 준비중이며, 여러장소에서 여러버전 을 구할 수 있다. (4)Passwd+ 'alpha version,update 3' - beta version이 곧 나올 예정이다. dartmouth.edu의 pub/passwd+.tae.Z 파일로 구할 수 있다. (5)SHADOW Usenet archive에 있는 comp.source.misc 디렉토리에서 구할 수 있다. (6) TCP wrappers anomymous FTP를 이용하면 가능하다. cert.sei.cmu.edu:pub/network_tools/tcp_wrapper.shar ftp.win.tue.nl:pub/security/log_tcp.shar.Z (7)Securelib eecs.nwu.edu 에서 anonymous FTP를 이용하면 구할 수있다. pub/securelib.tar로 저장되어 있다.
8.시스템이 침입을 당하는 이유는 무엇이고 어떻게 침입을 당하는가? 이것은 단정적으로 대답하기 힘든 문제이다. 크래커가 많은 시스템에 침투함으 로써 얻는 것은 침투했다는 기록뿐이다. 크래커는 새로운 시스템으로 침투하기 전에 여러 단계를 거치는 방식으로 자신의 흔적을 없앰으로써 추적을 어렵게 만 든다. 가능한 많은 시스템을 침투하여 얻는 장점은 접속 세탁이 훨씬 용이해진 다는 사실이다. 또다른 이유는 심리학적인 것으로,컴퓨터를 다루는 것을 좋아하는 일부 사람들 은 많은 시스템을 침투함으로써 자신의 실력을 확인하고 싶어하는 것이다. 그들 은 NASA,AT&T,UCB 와 같은 거대 조직에 침투하기 위하여,6개의 인터넷 기 계,2개의 gateways 그리고 X.25 network를 거쳐서 이동하는 것을 '아주 매끄럽 다'고 생각한다. 그것을 인터넷 관광이라고 생각하는 것 같다. 이러한 생각은 크래커에게는 충분히 매력적인 것으로 받아들여지고 있으며, 크 래킹에 한번 물들면 좀처럼 빠져나오기 힘들게 되는 것이다. '어떻게'에 관한 대답은 피상적인 영역이다. 대학에서는 대학원생들 사이에 자기 ID를 빌려주는 것이 굉장히 보편적이다. 가령 다음의 예를 보자. 'A가 다른 site에 있는 남자친구 B에게 자신의 ID를 빌려주었는데,B에게는 네트 워크를 이리저리 기웃거리기를 좋아하는 C라는 친구가 있었다. C는 A의 site에 서 크래킹이 가능한 여러 ID를 찾아내고,그것들을 주위의 친구들에게 알려 주었 다. 얼마 지나지 않아, A가 사용하
는 시스템에는 C를 비롯한 수많은 해커들이 술마시며 노래하면서 놀고 있었다.' 이런 종류의 일은 대학뿐 아니라 어디서나 쉽게 벌어지는 일이다. 이것을 해결하는 방법은 교육을 하는 것이다. 사용자들이 다음과 같은 태도를 가지지 못하도록 해야 한다. '나는 내가 사용하는 계정에서 어떤 패스워드를 사용하든지 신경쓰지 않는다. 결국 나는 레이저를 이용하여 프린트를 하기 위해 네트워크를 이용할 뿐이다' 컴퓨터의 사용이 자신이 속한 그룹에게 얼마나 중요한 책임이 있는가를 가르쳐 야 한다.
9.침투를 당하면 어떻게 해야 하는가? 인터넷에 물려있다면, CERT에 연락하라. CERT는 1988년에 defense advanced research projects agency(DARPA)에 의해 구성되었으며, 인터넷 사용자들이 겪는 보안 문제에 관해 돕는것을 목적으로 한 다. CERT의 본부는 software engineering,carnegie mellon univ.,pittsburgh,PA에 위 치해 있다.
10.'firewall'(방화벽)이 무엇인가? 인터넷 firewall은 당신의 사이트와 인터넷 중간에 있는 machine으로,네트워크의 소통상황을 조절하며 인터넷 port에 대한 접속을 제한한다. 비슷한 시스템이 다 른 네트워크 타입에도 가능하다.
11.왜 setuid shell scripts를 사용할 수 없는가? 여러기지 이유로 사용해서는 안되는데, 대개는 유닉스 커널에 있는 버그와 관련 되어 있다. 여기에 몇가지 잘 알려진 문제가 나오는데, 이들은 최근에 와서야 수 정되었다. (1)script가 "#!/bin/sh"로 시작하고, link(symbolic이든 다른것이든)rk "-i"와 함게 만들어질 수 있다면,script를 실행할 수 있으므로 setuid shell로 바로 들어갈 수 있다. "#!/bin/sh -i",즉 interactive shell이다. (2)명령어 처리가 시작되는 시점과 그리고 새롭게 setuid를 설정하는 exec()ed가 진행되는 시점 사이에서 어느 셀스크립트를 당신이 선택,실행가능한 것으로 바 꾸어주는가 하는 상황이 많은 커널들에게 피해를 입힌다. 계속해서 집중적으로 파고든다면 이론상으로는,누구든지 실행시키기를 원하는 프로그램의 커널을 얻 을 수 있다 (3)IFS의 버그 : IFS변수는 명령어들을 처리할 때 셀에 의해서 공백으로 처리되 는 문자들의 표를 가지고있다. '/'문자를 가지는 IFS변수를 바꾸어 'bin/true'를 'bin true'로 바꿀 수 있다. 만일 원하는 것이 변경된 IFS변수를 빼내는 것이라면 'bin'명령을 당신의 경로에 설치하고 'bin/true'라는 setuid 스크립트를 실행하면 된다. 정말로 스크립트를 이용하여 setuid를 설정하려면 다음의 두가지 방법이 있다. a)스크립트가 실행되기 전에 IFS와 PATH를 리셋시키
지 않도록 주의하며 스크 립트 주변의 'C'에 setuid를 집어넣는다. 만일 시스템이 라이브러리와 링크시키 기 시작한다면 LD_LIBRARY_PATH의 설정값을 생각해 보는것이 좋다. b)안전한 setuid의 설정의 용이성을 가지고 있으며 보안에 매우 강한 perl같은 스크립트 언어를 사용하라. 그러나 진짜로 안전한 것은 아예 setuid 스크립트를 사용하지 않는것이다.
12.console로 접속한 'root'를 영원히 빠져나올수 없는가? console로 'smart' 터미날을 사용하고,'root'로 접속한 상태에서 '/dev/console'을 쓰기 가능하게 만드는 것은 잠재적인 결점을 가지고있다. 터미널은 escape sequence를 통해서 원격제어하는 것에 다소 취약점을 가지고 있고,root shell로 무엇인가를 입력하는 것이 가능하다. 터미널 유형은 'ps'명령을 이용하면 알 수 있다. 이것에 대한 다양한 해결책을 모색해 볼 수 있는데,일반적으로는 console 소유자 와 group-write에게만 엑세스 권한을 주고,그런 다음 console에 출력을 보낼 필 요가 있는 프로그램에서 setgid 메카니즘을 이용하는 것이다.
13.null password를 가지는 unix 계정을 만들수 없는가? 임의로 사용하기 위하여 패스워드가 없는 계정을 만드는것은 상당히 위험하다. 특별한 이유가 있어서라기보다는 크래커가 이용할 수 있는 거점을 제공할 수있 기 때문이다. 예를들어,누군가가 패스워드가 없는 계정인 'sync'를 찾아내고 login 과정없이 디 스크를 사용하게 되었다고 가정하자. 이것은 안전하고 위험해 보이지 않을 수도 있다. 그러나 당신의 시스템이 FTP에 접속하기 전에 사용자를 검사하지 않는 시스템 중의 하나라면 문제가 발생할 수 있다. 크래커는 다양한 FTP방법을 이용하여 접속을 하고, 패스워드가 없는 계정 'sync'를 이용해서, 패스워드 파일을 복사해 가 수 있다. 유닉스의 최신버전은 이런 종류의 사건을 미리 방지하는 기능을 갖고 있지만,완 전하게 안전한 시스템을 위해서는 시스템의 모든 프로그램과 사용자확인법 등에 관해서 깊이 있는 지식을 가지고있어야 한다. null-password가 갖고있는 또 다른 문제점은,자신의 라이브러리에 있는 LD_LIBRARY_PATH 변수를 바꿔서 'login -p'또는 'su'를 실행시킴으로써 자신 의 프로그램을 'sync'가 사용한 것처럼 시스템 프로그램을 속일 가능성이 있다 는 것이다.
14.x-windows와 관련된 보안상의 허점은 어떤것이 있는가? 일부는 X에만, 어떤 것들은 시스템 전체의 보안에 영향을 미치기도 한다. 여기서는 자세히 다루지 않겠으니 다른 참고서적을 보기바란다. 한가지 지적하고 싶은 것은 X는 'incompatible usage'보안에 문제를 가지고 있 는 프로그램이라는 것이다. 예를들어 크래커는 패스워드가 없는 계정을 이용하 여 호스트에 있는 xsession을 실행할 가능성이 있다.
15.NFS에는 어떤 허점이 있는가? NFS의 보안은 서버가 만들어내는 파일을 설치하는 사람에게 크게 의존한다. 호스트가 만들어낸 디렉토리를 설치하기 위하여 정확한 포맷을 정하는 것은 유 닉스의 종류에 따라 다양하지만, 일반적으로는 그 정보는 화일 '/etc/exports'에 저장된다. 이 화일은 많은 디렉토리를 가지고 있으며,각각은 NFS가 그 디렉토리 로 mount할 수 있는 특정한 호스트 또는 넷그룹의 목록을 가지고 있다. 이목록 은 'access list'라고 불린다. 'hosts'는 개별적인 시스템이지만,'netgroups'는 '/etc/netgroup'에 명시되어 있는 hosts 와 username의 조합이다. 이것들은 finetuning access의 한 방법을 제공할 목적으로 만들어진 것이다. 이러한 화일들은 읽기 전용,읽기-쓰기 가능,그리고 슈퍼유저가 접근할 수 있는가 에 대한 정보들을 포함하고 있다. 중요하게 기억해야 할 점은 /etc/exports에 있 는 특정한 디렉토리를 acess list 가 포함하고 있는가에 대한 여부이다. (1)<nothing> 디렉토리는 어디에 있는 누구든지 mount할 수 있다. (2)<a specific hostname> 디렉토리는 허가된 사람만이 mount할 수 있다. 이것은 신뢰할 만한 사람을 의미 하는 것은 아니다. 예를들어 NFS가 PC에서 돌아가는 상황이라면 어느 누구든지 mount 할 수 있다. (3)<a netgroup name> netg
roup이, a)빈칸이라면 어디에 있는 누구든지 마운트할수 있다. b)'(,,)'을 포함하고 있다면,어디에 있는 누구나 마운트할수 있다. c)빈칸이거나 '(,,)'으로 기록된 netgroup을 가지고 있다면,어디에 있는 누구나 마운트 할수있다. d)'(hostname,,)'라고 적혀있으면, 이 호스트의 사용자만이 마운트할수있다. e)(,username,)'라고 적혀있으면, 이 사용자는 어디서든지 마운트할수있다. (4)<hostname 이나 netgroup이 아닌 단어일 경우> 만약 host name인 'athena'를 'ahtena'로 잘못 입력했을 경우, 이것은 netgroup name으로 받아들여진다. 이와 같은 netgroup은 존재하지 않으므로 빈칸으로 인 식된다. 따라서 어디에 있는 누구든지 마운트할수있다. 따라서 /etc/exports 와 /etc/netgroup 에 집어넣을 내용에 대해서 충분히 주의를 기울이지 않는다면,pc를 가지고있는 사용자들은 다음과 같은 행동을 할 수 있다. a)server의 화일시스템을 자신의 디스크에 복사할 수 있다. b)/etc/passwd,.rhosts,/etc/hosts.equiv를 편집할 수 있다. c)또 다른 사용자,아마도 'root'로 접속할 가능성이 있다. 위의 정보는 NFS에 따라 달라질 수 있지만,보통 NFS에서는 모두 적용이 되었 다.'EMPTY' netgroup을 만드는 가장 좋은 방법은 다음과 같다. ngname(-,-.,-) 이것은 no-one,no-host,n
o-NIS-domain을 의미한다.
16.안전한 패스워드를 만드는 방법은 무엇인가? 방법은없다. '만든다'라는 말이 중요한 의미를 가진다. 일단 패스워드를 만들어내 는 알고리즘이 시스템에서 구성되면, 이 패스워드를 알아내기 위해서는 이 알고 리즘만 분석해내면 된다. 알고리즘을 복잡하게 만들지 않는다면 쉽게 분석이 될 것이다. a)크래커는 모든 사용자의 패스워드에 대해 password generator가 만들어 낼 수 있는 모든 경우를 대입해본다. b)패스워드 알고리즘을 분석해서 다른 사용자의 패스워드에 적용시켜본다. 패스워드를 제대로 만들려면 다음과 같이 해서는 안된다. 자신의 이름이나 이름+머릿글자의 일부만 바꾼다,사전에 있는 단어를 사용한다, 머릿글자,생활과 관련되어 쉽게 추측이 가능한단어......
17.PASSWORD는 그렇게 중요한가? 최전선에서 침투를 막아내는 역할을 하므로 매우 중요하다. 크래커가 시스템에 접근할 수 없다면,패스워드 파일을 쓰거나 읽을 수 없으며 그 외의 다른 방법도 존재할 수 없다. 그가 최소한 패스워드 파일을 읽을 수 없다면 그 안에 있는 어떤 패스워드도 알 아낼 수 없다. 그러나 그가 패스워드 화일을 읽을 수가 있다면,시스템의 허점을 이용해서 root의 패스워드 마져 알아낼 가능성이 있다.
18.PASSWORD의 조합이 가능한 개수는 얼마나 되는가? 대부분의 사람들은 CRACK같은 프로그램들이, 패스워드에 쓰인느 가능한 모든 문자를 이용하여 검색을 할 수 있을 만큼 발전할 것이라고 걱정하고 있다. 간단하게 다음처럼 가정을 해서 계산을해보자 (1)62개의 문자를 이용해서 패스워드를 만든다.(A-Za-z0-9) (2)5개부터 8개의 문자로 패스워드를 만든다. 그렇다면 가능한 패스워드의 크기는 다음과 같다(62개의 문자를 이용)
100000 + 1000000 + 10000000 + 100000000 = ------------ 111100000
현재의 기술을 이용하면 위의 문자열을 검색하는 것은 그리 어렵지 않다. 그러나 패스워드에는 이 외에도 다양한 문자들이 사용된다는 것을 잊지 말아라. <space>,모든 구두점, 기호(~<>|\$%^&*). 만약 95개의 비제어 문자를 패스워드 에 사용할 수 있다면, 크래커가 이 모두를 검색하는 것은 쉽지않다. 그러나 아직도 크래커가 시스템에 침투할 가능성은 여전히 존재한다. 너무 걱정할 것은 없다. 강력한 패스워드 화일을 만들어서 시스템을 보호한다면 크래커도 쉽게 침투하지 못할 것이기 때문이다.
19.아직도 인터넷 WORM이 침입가능한 시스템이 있는가? 대부분의 경우 유닉스 프로그램의 버그가 수정되어 지금은 worm이 침입할 수 있는 시스템이 많지 않다. 그러나 아직도 분명히 침입 가능한 시스템이 존재한다.
|