로버트 모리스

1 소개

1965년 11월 8일생.

로버트 모리스는 세계 최초의 웜(악성코드)을 만든 사람으로 유명하다. 사실 이 사람은 전혀 뜻하지 않게 웜을 만들었고, 뜻하지 않게 해커가 되었다. 이 사람이 만든 웜에 대해서는 모리스 웜 문단 참고.

2 모리스 웜

모리스 웜이 만들어지게 된 계기는 모리스가 가진 궁금증 때문이었다.

과연 인터넷에는 컴퓨터가 몇 대나 연결되어 있을까?

미친놈...

어쨌건 이 궁금증 때문에 모리스는 웜, 아니 인터넷에 연결되어 있는 컴퓨터의 개수를 세는 프로그램을 만들었다. 프로그램은 유닉스 컴퓨터에서만 작동하는데, 이것은 이 프로그램이 그 당시 유닉스에 있던 취약점을 이용했기 때문이다.이 프로그램의 원리는 일단 99줄의 코드가 컴퓨터에 몰래 다운로드되어 컴파일되고, 이 99줄의 코드는 나머지 방대한 코드를 받아서 다시 컴파일된다. 이 프로그램은 심지어 관리자 모르게 일정 시간마다 한 번씩 이름을 바꾸기까기 했다고도 한다. 이 프로그램은 서버에 자신이 인터넷에 연결되었다는 사실을 보고하고, 네트워크의 다른 컴퓨터도 감염시켰다.

모리스는 이 프로그램을 MIT의 메인프레임에 침투시키고, 가동시켰다. 모리스는 그러고 나서 가벼운 마음으로 컴퓨터 모니터를 보면서 자신의 프로그램이 인터넷 곳곳에 퍼지기를 기다렸다. 하지만 모리스가 실수한 점이 있었다. 사소해 보이지만 아주 큰 실수였다.

이 프로그램의 목적이 인터넷에 연결된 컴퓨터의 수를 정확히 세는 것인만큼 여러 번 세던가 하는 일이 발생하면 안되었다. 그래서 모리스는 일단 컴퓨터에 모리스의 프로그램이 실행되고 있는지 묻고, "네"라는 대답을 들으면 건너뛰게 된다. 하지만 모리스는 혹시나 관리자가 "네"라고 무작정 대답하게 만드는 일이 생길까 봐 7분의 1 확률로 무조건 감염시키게 만들었다. 하지만 이것은 확률이 너무 컸다. 프로그램이 다른 컴퓨터를 감염시키기 위해서만도 많은 처리를 하는데, 여기에 다른 컴퓨터에서 7분의 1 확률로 복제되어 온 다른 프로그램이 몇백 개는 실행되고, 결국 시스템 자원을 처묵처묵 너무 많이 잡아먹는 일이 생겼다. 이 프로그램은 결국 인터넷의 크기를 재는 게 아니라 인터넷을 마비시키는 결과를 낳았다. 이런 결과를 본 모리스는 테스트를 했어야 했다고 후회했다. 당시 인터넷에 연결된 6만대의 유닉스 머신 중 10%가 모리스 웜에 감염된 것으로 추정되고 있다.

모리스는 이 사고(?)로 인해 보호관찰 3년, 사회봉사 400시간, 벌금 10050달러 및 보호관찰 비용 지불의 처분을 받았다. 지못미.

현재는 MIT에서 교수로 일하고 있다고 한다.