Morris (sâu máy tính)

Sâu Morris là sâu máy tính đầu tiên được phát tán qua Internet; nó cũng là
con sâu đầu tiên thu hút được sự chú ý đáng kể của các phương tiện thông tin đại chúng. Tác giả của nó là Robert Tappan Morris, một sinh viên tại Đại học Cornell. Sâu Morris được thả lên mạng vào ngày 2 tháng 11 năm 1988 từ học viện MIT, nó được phát tán từ MIT để che giấu thực tế là con sâu đã được bắt nguồn từ Cornell. (Tình cờ, Robert Tappan Morris hiện là một giáo sư tại MIT).

Kiến trúc của sâu Morris
Theo tác giả, sâu Morris không được viết với mục đích gây thiệt hại mà chỉ để đo kích thước của Internet. Tuy nhiên, một hậu quả ngoài ý muốn đã làm cho nó trở nên gây hại: một máy tính có thể bị nhiễm nhiều lần và mỗi một tiến trình bổ sung sẽ góp phần làm chậm máy đến mức không thể sử dụng được. Sâu Morris hoạt động bằng cách lợi dụng một số điểm yếu đã biết trong các chương trình sendmail, Finger, rsh/rexec và các mật khẩu yếu trong Unix. Thân chương trình chính của sâu Morris chỉ có thể nhiễm các máy VAX của DEC đang chạy hệ điều hành BSD 4 và Sun 3. Một thành phần "móc" (grappling hook) khả chuyển viết bằng C theo cơ chế tràn bộ đệm đã được sử dụng để chở thân chương trình chính, và thành phần móc có thể chạy trên các hệ thống khác, sinh tải làm chậm hệ thống và biến hệ thống thành nạn nhân.

Sai lầm
Sai lầm nghiêm trọng đã biến con sâu từ chỗ một thí nghiệm trí thức có tiềm năng vô hại thành một tấn công từ chối dịch vụ đầy phá hoại là ở tại cơ chế lây lan. Con sâu xác định xem có xâm nhập một máy tính mới hay không bằng cách hỏi xem hiện đã có một bản sao nào đang chạy hay chưa. Nhưng nếu chỉ làm điều này thì việc xóa bỏ nó lại quá dễ dàng, bất cứ ai cũng chỉ phải chạy một tiến trình trả lời rằng "có" khi được hỏi xem đã có bản sao nào chưa, và con sâu sẽ tránh. Để tránh chuyện này, Morris thiết kế để con sâu tự nhân đôi với xác suất 40%, bất kể kết quả của việc kiểm tra lây nhiễm là gì. Thực tế cho thấy tỷ lệ nhân đôi này là quá cao và con sâu lây lan nhanh chóng, làm nhiễm một số máy tính nhiều lần.

Hậu quả
Người ta thống kê rằng có khoảng 6.000 máy tính chạy Unix đã bị nhiễm sâu Morris. Paul Graham đã nói rằng "Tôi đã chứng kiến người ta xào xáo ra con số này, công thức nấu ăn như sau: ai đó đoán rằng có khoảng 60.000 máy tính nối với Internet, và con sâu có thể đã nhiễm 10% trong số đó."  Mỹ đã ước tính thiệt hại vào khoảng từ 10 đến 100 triệu đô la.

Robert Morris đã bị xử và buộc tội vi phạm Điều luật năm 1986 về lạm dụng và gian lận máy tính (Computer Fraud and Abuse Act). Sau khi chống án, anh ta bị phạt 3 năm án treo, 400 giờ lao động công ích và khoản tiền phạt 10.050 đô la Mỹ.

Sâu Morris đôi khi được gọi là "Great Worm" (Sâu khổng lồ) do hậu quả nặng nề mà nó đã gây ra trên Internet khi đó, cả về tổng thời gian hệ thống không sử dụng được, lẫn về ảnh hưởng tâm lý đối với nhận thức về an ninh và độ tin cậy của Internet.

Xem thêm
Danh sách virus và sâu máy tính nổi tiếng
Lỗi tràn bộ đệm (buffer overflow)

Tham khảo

Liên kết ngoài

Tiếng Anh
Archive of worm material, incl. papers and code
An analysis of the worm by Eugene Spafford
An analysis of the worm by Mark Eichin and Jon Rochlis
"The Morris Internet Worm" by Charles Schmidt and Tom Darby 
"Helminthiasis of the Internet" - RFC 1135, an analysis of the worm infestation
Great Worm from The Jargon File
"A Tour of the Worm" , Don Seeley, Department of Computer Science, University of Utah (as posted by Francis Litterio)

Phần mềm độc hại