웜(Worm), 모리스 웜부터 1.25 대란까지

    악성 프로그램, 웜(Worm)의 개념

    우리가 흔히 웜(Worm)을 웜바이러스(Worm Virus)라고도 하는데 정확히 말해서 웜 바이러스는 다른 바이러스를 말한다. 바이러스(Virus)는 사실 감염을 시켜야 하는 프로그램이 있어야 되는 존재이다. 그러다보니 바이러스 라는 악성 프로그램은 다른 코드에 기생하여 감염을 시킨다.


    그러나 웜은 바이러스와 다르다 웜은 독립적으로 만들어진 프로그램이며 자기 자신을 증식시킨다. 이것이 Virus와 Worm의 차이점이다. 


    또다른 차이점은 웜은 스스로 행위를 실행한다. 숙주가 필요없기 때문에 감염이 된 시스템에서 본인이 하고 싶은 행동을 하며, 다른 네트워크로 본인을 복제 시키려 한다.




    웜의 공격 프로세스


    마이크로소프트에서 제공하는 웜 감염 사례와 예방책을 다이어그램화한 것



    최초의 웜, 모리스 웜


    최초의 웜은 사실 바이러스를 목적으로 만들어진 프로그램이 아니다. 로버트 태펀 모리스(Robert Morris, 1965년 11월 8일 ~) 이라는 하버드 대학교를 다니고, 나중에 코넬에 대학원을 진학한 대학원 생이 호기심에 만든 프로그램으로 전 세계에 연결된 컴퓨터가 궁금해서 만들어진 프로그램이었다(...).


    모리스와 그가 만든 모리스 웜 코드

    문제는 이 순수한 목적으로 만들어진 프로그램 소스가 버그로 인해서 크나큰 재앙이 된 것이다. 중복 체크를 방지하기 위해서 1/7 확률로 복제를 하는 알고리즘을 넣었는데 문제는 다른 컴퓨터에서 넘어온 웜들이 넘쳐흘러오면서 시스템을 장악하게 된 것이다.


    모리스의 생각대로, 단순하게 컴퓨터를 체크하고 다른 곳으로 옮겨졌으면 문제가 없었겠지만 수많은 네트워크로 연결된 컴퓨터들은 서로에게 모리스 웜을 보내고 그 모리스 웜은 또 복제되어 다른 곳으로 보내지고 있었다. 이 일에 모리스는 "우선 테스트를 했었어야 했다"는 후회를 했다고....;;


    아무튼 재앙의 모리스 웜의 원리는 유닉스(Unix)의 이메일 어플리케이션인 Sendmail과 네트워크 사용자 검색 어플리케이션인 핑거(Finger) 그리고 rsh/rexec, 취약한 패스워드를 타겟으로 익스플로잇(Exploit, 취약점 공격) 하여 전파를 시켰다.


    이 프로그램은 나사(NASA) 뿐만 아니라 미국 국방부, 하버드 대학, 로렌스리버모어국립연구소, 그리고 최초로 퍼트린 MIT 대학, UC 버클리, 스탠포드 대학 등 다수의 대학 기관과 정부 연구 시설들을 공격하기 시작하였다. 당시 인터넷이 막 태동한 시절이었기 때문에 순수한 인터넷의 힘에 행복에 겨워하던 사람들은 충격을 먹고 모리스는 잡혀져서 재판에서 보호관찰 3년, 사회봉사 400시간, 벌금 10050달러 및 보호관찰 비용 지불의 처분을 받았다.



    슬래머 웜(Slammer Worm)


    최초의 모리스의 웜이 등장한 후 약 15년 후인 국내에서는 2003년 1월 25일 일명 1.25 인터넷 대란이 나던 날. 이 인터넷 대란은 슬래머 웜이라는 녀석이 MS-SQL 서버를 버퍼 오버플로우(Buffer Overflow)공격으로 발생 시키면서 일어났다. 


    한국통신(KT) 혜화 전화국이 최초로 공격을 당했으며 DNS에 대량의 데이터 유입으로 뻗으면서 정확한 IP 주소를 리턴하지 못하여 인터넷이 마비가 된 것이다. 당시 이 사건으로 정보통신부 장관이 사임을 할 정도로 전국적으로 타격이 컸는데 무려 9시간 가까이 인터넷이 안될 정도로 사안이 컸었다.



    참고자료


    댓글

    Designed by JB FACTORY