[인터네트 이야기 47] IRC (5)-스크립트

지금까지 4회에 걸쳐 IRC에 대한 기본적인 사항을 알아보았다. 그런데 IRC를 자주 이용하는 사람들은 어딘지 모르게 불편한 점이 있다고 생각했을 것이다. 명령의 이름이나 형식을 간단하게 줄여서 사용한다든지 다른 사용자가 보내오는 파일을 자동으로 받도록 하면 상당히 편리할 것이다. IRC는 DOS의 배치 파일이나 UNIX의 셸 스크립트처럼 독자적인 스크립트 언어를 갖고 있다. 일반 사용자가 이 언어를 익힐 필요까지는 없지만, 필요한 경우 다른 사람이작성한 스크립트를 제대로 활용할 수 있으면 된다. IRC스크립트를 올바로 사용하고 그릇된 생각을 가진 사람들이 제공하는 스크립트를 가려내어 불이익 을 당하지 않아야 할 것이다.

현재 가장 널리 사용되는 IRC스크립트는 PhoEniX(ftp://139.78.232.29/pub/i rc/phoeni./phoeni.2.23.tar.gz)라고 할 수 있다. 이외에도 수십종의 다른스 크립트들이 있고 나름대로 특징이 있지만 기본적인 기능은 비슷하다.

스크립트를 실행하는 방법은 간단하다. 예를 들어 "phoeni..irc"를 실행하려 면 IRC 프로그램을 실행한 후 "/load phoeni..irc"를 하거나 $(HOME)/.ircr c 파일에 "eval load phoeni..irc"를 넣어주고 IRC 프로그램을 실행시킨다.

거의 모든 IRC 서버가 "무슨 일을 하는지 모르는 스크립트는 사용하지 말것" 을 경고한다. IRC스크립트는 텍스트 파일이므로 누구든지 나쁜 의도를 갖고수정할 수 있으므로 피해를 입을 가능성이 있기 때문이다. 아주 흔한 예를들어보자. 누군가가 스크립트 파일의 중간에 "e.ec rm -rf $(HOME)"을 삽입 한 후 이것을 다른 사용자에게 준다. 이때 이 스크립트는 아주 좋다는, 또는어떤 채널을 뒤엎을 수 있다는 달콤한 말을 잊지 않음으로써 호기심을 자극 한다. 이 파일을 받아서 무심코 "/load file.irc"를 한다. 때는 이미 늦었다. 자신의 홈디렉토리가 말끔히 지워져 있다. UNIX는 DOS와 달라서 한번 지워진 파일을 복구하기가 거의 불가능하다는 것을 잘 알고 있을 것이다. 이외에도 $(HOME)/.rhosts에 "+ +"를 넣어서 어느 컴퓨터에서나 패스워드없이 로그인할 수 있게 한다거나 "/etc/passwd" 파일을 전자메일로 다른사람에게보낸다. 암호화된 패스워드 파일이므로 소용없다고 생각하겠지만 분명히 다 른시스템의 패스워드 파일을 필요로하는 사람이 있다. 이런 경우는 자기 자신의 손해로만 끝나는 것이 아니라 다른 사용자에게까지 해를 입힐 수 있는최악의 사태라 하겠다.

스크립트를 사용하기 전에 "EXEC"를 찾아서 이상한 UNIX 명령어가 없는지 살펴보는 것은 기본상식으로 알아두어야 한다. 하지만 이 정도는 금방 발각되고 불량 스크립트를 제공한 사람은 보복을 당한다. 어떤 스크립트는 실행 당사자가 다른 사람의 조종을 받도록 되어있는 것도 있다. 즉 외부로부터 특정 한 메시지가 들어오면 그 메시지에 따라 자기도 모르는 사이에 로봇처럼 행동한다. 이상한(?) 채널에 들어가서 험악한 말을 늘어놓게 함으로써 영문도 모른채 욕을 얻어먹고, 차이고, 심지어 밴(ban)을 당하는 웃지 못할 사건이 발생할 수도 있으니 조심하는 것이 상책이다. 한마디로 스크립트는 잘 쓰면약 잘못 쓰면 독이 된다.

사용자들마다 선호하는 채널이 있고 IRC 서버에 접속할 때마다 그 채널에 한번 쯤은 들러볼 것이다. 그런데 어떤 사용자는 불철주야 그 채널에 OP로서존재한다. 말도 별로없고 킥과 밴을 주 업무로 한다. 말 많이 한다고 차고, 벨을 울렸거나 역상문자 또는 대문자만을 썼다고 차고, 채널을 전복하려 했다고 킥+밴. 한치의 오차도 없이 신속정확하다. 채널 운영의 방편이기는 하지만 이건 사람이 할 짓이 아니라는 생각이 들 것이다. 그렇다. 바로 봇(bo t)이다. IRC에서는 로봇을 줄여서 봇이라고 부른다.

봇은 한 명, 또는 여러명의 조종을 동시에 받으면서 주로 채널관리 임무를 띠고 그 채널에 상주하게 된다. 물론 조종자가 잠든 사이에도 제 임무를 충실히 수행한다. 대부분의 봇 프로그램은 IRC 클라이언트 프로그램과는 별도로 실행 파일로 되어 있어 IRC 서버에 직접 접속하고, 봇의 조종자들은 "/DC C CHAT"를 통해 봇과 통신한다. 개인 사용자가 스크립트로 된 봇을 실행할수도 있는데, 이런 경우에는 그 사용자가 IRC를 떠나면 봇도 함께 떠난다.

장기간에 걸쳐 활동하는 봇은 IRC의 원활한 진행을 위해 존재하는 IRC오퍼 레이터(채널 오퍼레이터와는 다름)에게 발각당하면 가차없이 "/KILL"을 당 하고그 봇을 실행한 사용자 또는 시스템은 차후 그 서버에의 접속을 거부당 한다. 봇은 항상 IRC상에 있으므로 IRC 네트워크에 큰 부담을 주기 때문이다. 요즈음에는 IRC 오퍼레이터들의 주요 업무가 봇사냥이라는 인상을 받는다. 이에 맞서 봇을 실행하는 사용자들도 나름대로 대책을 강구하면서 프로그램 을수정해서 IRC오퍼레이터들의 경계망을 피하는데 주력하고 있다. 보안에 별 신경을 쓰지 않는 봇은 "/MSG botnick hello", "/MSG botnick help", "//DC C CHAT botnick" 등에 반응을 보이는 경우가 많다. 관리자의 허락을 받아 봇을 실행할 수 있는 언더네트(undernet)라고 하는 별도의 IRC네트워크가 있는데 다음 회에 좀 더 자세히 알아보도록 하겠다.

끝으로 #ircHelp에서 초보자들의 물음에 대답해주는 IRC 오퍼레이터들이 있는데 이들은 스크립트나 봇에 대한 질문에는 아주 냉담한 반응을 보이므로 주의하기 바란다. 봇이든 스크립트든 네트워크에 부담을 주는 것이 사실이므로 봇의 사용은 금하는 것이 바람직하며 스크립트는 꼭 필요한 경우에만 사용하기 바란다. 이상주 포항공과대학 박사과정(lsj@chem.postech.ac.kr)


브랜드 뉴스룸