<colcolor=#ffffff> 로버트 모리스 Robert Morris | |
<colbgcolor=#000000> 본명 | 로버트 태판 모리스 Robert Tappan Morris |
출생 | 1965년 11월 8일 ([age(1965-11-08)]세) |
국적 | [[미국| ]][[틀:국기| ]][[틀:국기| ]] |
학력 | 하버드 대학교 (B.A.) 코넬 대학교 (Ph.D.) |
직업 | 기업인, 매사추세츠 공과대학교 교수 |
경력 | Y Combinator 공동 창업자 |
부모 | 아버지 로버트 H. 모리스 시니어 어머니 앤 팔로우 모리스 |
[clearfix]
1. 소개
미국의 컴퓨터과학자로 뜻하지 않게 세계 최초의 웜을 만들었다.2. 생애
2.1. 모리스 웜 개발
모리스 웜이 만들어지게 된 계기는 모리스가 가진 궁금증 때문이었다.과연 인터넷에는 컴퓨터가 몇 대나 연결되어 있을까?
어쨌건 이 궁금증 때문에 모리스는 웜, 아니 인터넷에 연결되어 있는 컴퓨터의 개수를 세는 프로그램을 만들었다. 프로그램은 유닉스 컴퓨터에서만 작동하는데, 이것은 이 프로그램이 그 당시 유닉스에 있던 취약점을 이용했기 때문이다. 이 프로그램의 원리는 일단 99줄의 코드가 컴퓨터에 몰래 다운로드되어 컴파일되고, 이 99줄의 코드가 웜의 방대한 코드를 받아서 다시 컴파일한다. 심지어 관리자 모르게 일정 시간마다 한 번씩 이름을 바꾸기까지 했다고도 한다. 이 프로그램은 서버에 자신이 인터넷에 연결되었다는 사실을 보고하고, 네트워크의 다른 컴퓨터도 감염시켰다.
모리스는 이 프로그램을 MIT의 메인프레임에 침투시키고, 가동시켰다. 모리스는 그러고 나서 가벼운 마음으로 컴퓨터 모니터를 보면서 자신의 프로그램이 인터넷 곳곳에 퍼지기를 기다렸다. 하지만 모리스가 실수한 점이 있었다. 사소해 보이지만 아주 큰 실수였다.
프로그램의 목적이 인터넷에 연결된 컴퓨터의 수를 정확히 세는 것인만큼 한 컴퓨터에서 한 번만 세야 했다. 그래서 모리스는 일단 컴퓨터에 프로그램이 실행되고 있는지를 확인하고, 이미 실행 중이라면 프로그램의 실행을 건너뛰게 되는 로직을 추가했다. 거기다 관리자가 가짜 프로그램을 실행시켜 놓는 등의 방법 등을 사용해 이 프로그램 감염을 피할 수 있다고 판단해 이미 해당 컴퓨터가 감염되어 있다고 하더라도 7분의 1 확률로 무조건 프로그램을 다시 실행하도록 만들었다. 하지만 7분의 1은 너무 큰 확률이었다. 프로그램이 다른 컴퓨터를 감염시키기 위해서만도 많은 처리를 하는데, 여기에 다른 컴퓨터에서 7분의 1 확률로 복제되어 온 다른 프로그램이 몇백 개는 실행되고, 결국 시스템 자원을 너무 많이 잡아먹는 일이 생겼다. 이 프로그램은 결국 인터넷의 크기를 재는 게 아니라 인터넷을 마비시키는 결과를 낳았다. 이런 결과를 본 모리스는 테스트를 했어야 했다고 후회했다. 당시 인터넷에 연결된 6만 대의 유닉스 머신 중 10%가 모리스 웜에 감염된 것으로 추정되고 있다.
모리스는 이 사건으로 인해 체포되어 재판에서 보호관찰 3년, 사회봉사 400시간, 벌금 10,050 달러 및 보호관찰 비용 지불의 처분을 받았다.