Thứ Sáu, 21 tháng 3, 2014

Lịch sử virus

1. Virus máy tính là gì?
Virus máy tính luôn rình rập bạn. Ảnh minh họa: computerhowtoguide.com

Ngày nay, ở Việt Nam nói riêng: Hễ cứ gặp một phần mềm độc hại [1] có khả năng gây hại cho máy tính, thì người ta thường gán ghép cho nó bằng một cái tên chung: Virus.

Đây là cách gọi sai.
Thực tế, virus cũng chỉ là một trong những thể loại phần mềm độc hại (Malware) [1], nó là những chương trình hay đoạn mã được thiết kế với khả năng tự nhân bản và sao chép chính nó (có thể tự sửa đổi) vào khác chương trình máy tính khác, các files dữ liệu, hoặc boot sector của ổ cứng.
Khi sao chép này thành công, các đối tượng trên gọi là các đối tượng bị lây nhiễm (to be "infected").

Những cụm từ được gạch chân ở trên, đã cho các bạn định nghĩa chính xác về virus.

Trước đây, virus thường được viết bởi một số người am hiểu về lập trình muốn chứng tỏ khả năng của mình, bởi vậy virus thường có các hành động như: cho một chương trình hoạt động sai, xóa dữ liệu, làm hỏng ổ cứng,... hoặc gây ra những trò đùa khó chịu.

Những virus mới được viết trong thời gian gần đây không còn thực hiện các trò đùa hay sự phá hoại đối máy tính của nạn nhân bị lây nhiễm nữa, mà chủ yếu hướng đến việc đánh cắp các thông tin cá nhân nhạy cảm (email, số điện thoại, các mã số thẻ tín dụng...), mở cửa sau cho tin tặc đột nhập chiếm quyền điều khiển, hoặc các hành động khác, nhằm có lợi cho kẻ phát tán.

Chiếm trên 99% số virus đã được phát hiện là nhắm vào hệ thống sử dụng hệ điều hành họ Windows bởi 2 lý do căn bản: Thứ nhất, Linux bảo mật hơn Windows; thứ hai, Windows là hệ điều hành chiếm thị phần lớn nhất và thông dụng nhất của end-user [2].

Ngày nay, Virus ngày càng biến thể tinh vi hơn và khó phát hiện hơn, kết hợp với các dạng malware khác, khiến cho quá trình tìm và diệt chúng khó khăn hơn nhiều. Nhưng để hiểu thêm về quá trình 'tiến hóa' của virus, chúng ta cùng một lần thử đi tìm hiểu lịch sử của chúng: Lịch sử virus máy tính:

/* Lưu ý: Để hiểu thêm về các loại mã độc (bao gồm virus), các bạn nên tìm đọc 02 bài sau:
Các dạng phần mềm độc hại (ĐẦY ĐỦ - phần 1)
Các dạng phần mềm độc hại (ĐẦY ĐỦ - phần 2 - End)
Bài này chỉ là bài sơ khai, do đó, những từ 'virus' ở phần 2, là không chính xác. Chính xác phải gọi là malware. Để có khái niệm chính xác theo tiêu chuẩn quốc tế, thì 02 link đã dẫn trên chính là điều bạn cần */
2. Lược sử 'virus':
Có thể nói ngắn gọn: Lịch sử virus máy tính có mầm mống bắt đầu từ lúc ..có máy tính (máy điện toán cá nhân, tức PC = Personal Computer). Công nghệ càng phát triển theo thời gian, thì virus cũng tiến hóa và ngày càng tinh vi hơn theo thời gian:

  • Mầm mống Virus được cho lằ bắt đầu từ năm 1949: John von Neumann (1903-1957) đã phát triển nền tảng lý thuyết tự nhân bản của một chương trình cho máy tính trong cuốn sách Theory of Self Reproducing Automata (Lý thuyết Automata tự sinh sản), xuất bản sau khi ông qua đời. (Tên của ông được dùng để đặt tên cho kiến trúc CPU của máy tính: Kiến trúc Von Neumann, rất phổ biến trong máy tính của chúng ra đang sử dụng).
  • Vào tháng 4/1974, John Walker phát hiện ra một cách mới để phân tán (distribute) trò chơi ANIMAL của mình trên hệ máy Univac® 1110, qua đó đã vô tình viết ra virus đầu tiên của thế giới: "Pervading Animal" (lúc này trên thế giới vẫn chưa có định nghĩa về virus máy tính). ANIMAL là một chương trình biến thể có khả năng tự học hỏi (self-learning), đưa ra 20 câu hỏi, hỏi bạn suy nghĩ của bản thân về thế giới động vật. Do mệt mỏi với việc phân tán bằng tay qua việc gửi thư cho khách hàng, ông ta đã nghĩ ra một cách thông minh: Viết thêm chương trình con cho game Animal, để nó có khả năng tự sao chép (self-copy) tới mọi nơi, mọi thư mục mà người dùng truy cập. Đó là câu chuyện ngắn về virus lành tính đầu tiên trên thế giới (nó không gây hại cho máy tính, ngoại trừ việc máy tính tốn thêm dung lượng để lưu trữ các bản sao của nó). Mã nguồn của Animal đã được John Walker đưa lên trang web của ông vào ngày 13 tháng 8 năm 1996.
  • Năm 1982: Virus đầu tiên xuất hiện trên thế hệ các máy Macintosh của Apple (và cũng là virus lành tính): Elk Cloner. Elk Cloner được viết bởi một học sinh lớp 9 tên là Richard Skrenta, Jr, nó có khả năng tự sao chép tới bộ nhớ của máy tính Apple II ngay sau khi cho đĩa Elk Cloner vào. Sau khi các đĩa mềm khác bỏ vào sau đó, Elk Cloner sẽ sao chép sang đĩa mới này, và âm thầm đếm số lần khởi động từ đĩa mềm này [3]. Đến lần khởi động thứ 50, khi khởi động (boot), trên màn hình của máy bị lây nhiễm có xuất hiện một bài thơ nhỏ. Mã nguồn của chương trình này hiện nay cũng đã có tại website của Rich.
  • Năm 1983: Tại Đại Học miền Nam California, tại Hoa Kỳ, Fred Cohen lần đầu đưa ra khái niệm "Vi-rút máy tính" (computer virus) như định nghĩa ngày nay.
  • Tháng giêng năm 1986: Virus Brain, virus đầu tiên có khả năng gây hại cho dòng máy IBM PC bị lây nhiễm, được tạo ra tại Pakistan bởi Basit và Amjad. Chương trình này nằm trong phần khởi động (boot sector) của một đĩa mềm 360Kb và nó sẽ lây nhiễm tất cả các ổ đĩa mềm. Phần cung đĩa khởi động (boot sector) bị chuyển đến phần khác, và bị virus đánh dấu là bad sector [3]. Đĩa bị lây nhiễm bị mất khoảng 5kB do bị chuyển thành bad sector, đồng thời nhãn đĩa bị đổi thành ©Brain, đồng thời 1 hàng chữ cũng được tìm thấy trong MBR (master boot record):
    Infected IBM PC by Brain virus
  • Cũng trong tháng 12 năm này, virus cho DOS được khám phá ra là virus VirDem. Nó có khả năng tự chép mã của mình vào các tệp tự thi hành (executable file) và phá hoại các máy tính VAX/VMS.
  • Năm 1987: Jerusalem, một virus đầu tiên đặt tên theo thành phố đầu tiên phát hiện ra nó, tấn công đồng loạt các đại học và các công ty xuyên quốc gia. Virus Jerusalem nổi tiếng vì sự phá hoại tàn khốc lạnh lùng: Xóa sạch sẽ mọi dữ liệu và file chương trình trên infected PC, nếu PC đó được bật lên vào Thứ Sáu ngày 13. Đây là loại virus hoạt động theo đồng hồ của máy tính (giống bom nổ chậm cài hàng loạt cho cùng một thời điểm).
    Đây là loại virus lây lan trên máy tính chạy hệ điều hành MS-DOS - hệ điều hành phổ biến nhất trên PC trước khi Windows 95 trở thành một hệ điều hành thực thụ. Khi bị lây nhiễm, tất cả các file chương trình (có phần mở rộng là .EXE hoặc .COM) đều tăng kích thước file vì bị chèn thêm mã độc, trừ file COMMAND.COM chứa tập lệnh nội trú của DOS. COMMAND.COM cũng bị tấn công ngay sau đó, bởi 1 virus khác có tên là "Lehigh".
  • 1988: Phần mềm chống virus đầu tiên được viết bởi một nhà lập trình người Indonesia. Nó phát hiện virus Brain, loại bỏ virus khỏi máy tính và bảo vệ hệ thống không bị nhiễm Brain một lần nữa.
  • Tháng 11 cùng năm, Robert Morris, 22 tuổi, chế ra worm cùng tên chiếm cứ các máy tính chạy Unix. Theo thống kê có khoảng 6.000 máy tính chạy Unix đã bị nhiễm sâu Morris. 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" 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.
  • 1989: Virus Dark Avenger xuất hiện. Nó nhiễm vào hệ thống rất nhanh, nhưng lại mai phục khá lâu mới ra tay tàn phá nên phải một thời gian dài người ta mới phát hiện ra nó.
    Cùng năm, IBM cho ra phần mềm thương mại chống virus đầu tiên. Người ta bắt đầu nỗ lực nghiên cứu các giải pháp chống virus.
  • 1990: Một chương trình thương mại chống virus khác ra đời bởi Norton. Trong cuối năm này, các bulletin board trao đổi virus bắt đầu trở thành phương tiện thông dụng để dân viết virus giới thiệu và trao đổi mã nguồn với nhau.
  • 1991: Vào đầu năm, chỉ có 9% các công ty được thăm dò là đã từng gặp nạn virus. Thế nhưng, đến cuối năm, con số này đã tăng vọt lên 63%. Trong năm này, virus đa hình (polymorphic virus) ra đời đầu tiên là virus Tequilla. Loại này biết tự thay đổi hình thức của nó, gây ra sự khó khăn cho các chương trình chống virus.
  • Cũng trong năm này xuất hiện Michelangelo, virus đầu tiên khiến cả thế giới phải phát sốt, và "nổi đình nổi đám" trong giới truyền thông. Được lập trình để kích hoạt vào ngày mùng 6 tháng 3 (đây được coi là ngay khai sinh ra virus Michelangelo), virus này được tạo ra nhằm mục đích viết đè lên tất cả các sector của ổ. Phần mềm chống virus do đó bán chạy như tôm tươi, mặc dù trong thực tế, tác hại của loại virus này là không lớn.
  • 1994: Những người thiếu kinh nghiệm, vì lòng tốt đã chuyển cho nhau một điện thư cảnh báo tất cả mọi người không mở tất cả những điện thư có cụm từ "Good Times" trong dòng tựa đề (subject line) của chúng. Đây là một loại virus giả (hoax virus) đầu tiên xuất hiện trên các điện thư và lợi dụng vào "tinh thần trách nhiệm" của các người nhận được điện thư này để tạo ra sự luân chuyển.
  • 1995: Virus văn bản (macro virus) đầu tiên xuất hiện trong các mã macro trong các tệp của Word và lan truyền qua rất nhiều máy. Loại virus này có thể làm hư hệ điều hành. Macro virus là loại virus viết ra bằng công cụ VBA (Visual Basic for Applications) và tùy theo khả năng, có thể lan nhiễm trong các ứng dụng văn phòng của Microsoft như Word, Excel, PowerPoint, OutLook,.... Loại macro này, nổi tiếng có virus Baza và virus Laroux, xuất hiện năm 1996, có thể nằm trong cả Word hay Excel. Sau này, virus Melissa, năm 1997, tấn công hơn 1 triệu máy, lan truyền bởi một tệp đính kèm kiểu Word bằng cách đọc và gửi đến các địa chỉ của Outlook trong các máy đã bị nhiễm virus. Virus Tristate, năm 1999, có thể nằm trong các tệp Word, Excel và Power Point.
  • 26/4/1999: Virus Chernobyl (Tchernobyl hay CIH) bắt đầu cuộc xâm chiếm thế giới tin học với nhiệm vụ làm ngưng hoạt động các máy PC trên toàn thế giới.
    Tác giả của Tchernobyl là Chen-Ing-Hau (cựu sinh viên Học viện kỹ thuật Tatung - Đài loan, Cheng đang thi hành nghĩa vụ quân sự lúc bị bắt) đã nhanh chóng bị lần ra dấu vết chỉ vài ngày sau cuộc tấn công đầu tiên của virus này.
    Tchernobyl đã xóa bỏ quyền sử dụng BIOS, một chương trình quản lý chip CPU được đặt trong mainboard của các máy tính và rất cần thiết cho sự vận hành máy tính. Khi virus này đạt được mục đích của mình, các máy tính hoàn toàn không nhận được bất cứ tín hiệu nào từ BIOS. Người ta buộc lòng phải lập trình lại con chip bằng cách thay mới một con chip khác hoặc thay thế toàn bộ mainboard. Các phần mềm diệt virus của các hãng nổi tiếng như MacAfee hay Norton Antivirus được cài đặt trong các máy PC cũng không thể cản nổi bước tiến của Tchernobyl. Mặc dù ở Mỹ, nó chỉ tấn công một số ít máy, nhưng ở các nước khác, thành tích phá hoại của nó lại thật đáng nể. Tại Trung Quốc, thiệt hại vì Chernobyl lên tới hơn 291 triệu USD. Thổ Nhĩ Kỳ và Hàn Quốc cũng bị một phen điêu đứng.
  • Cũng trong năm này, Melissa (viết bởi New Jersey), một virus được đặt theo tên của một vũ nữ nhảy cột tại Florida, được lập trình để có khả năng lan rộng thông qua hệ thống dựa trên Outlook và Microsoft Word.
  • 2000: Virus Love Bug (LoveLetter), còn có tên ILOVEYOU, đánh lừa tính hiếu kì của mọi người. Đây là một loại macro virus. Đặc điểm là nó dùng đuôi tập tin dạng "ILOVEYOU.txt.exe". Lợi dụng điểm yếu của Windows OS thời bấy giờ: theo mặc định sẵn, đuôi dạng.exe sẽ tự động bị dấu đi. Ngoài ra, virus này còn có một đặc tính mới của spyware: nó tìm cách đọc tên và mã nhập của máy chủ và gửi về cho tay hắc đạo. Khi truy cứu ra thì đó là một sinh viên người Philippines. Tên này được tha bổng vì Philippines chưa có luật trừng trị những người tạo ra virus cho máy tính. Love Letter từ quê hương Phillippines đổ bộ sang châu Âu và Mỹ trong vòng 6 tiếng đồng hồ. Nó phá hoại từ 2,5 đến 3 triệu máy, gây thiệt hại ước tính 8,7 tỷ USD.
  • 2003: Virus Slammer, một loại sâu lan truyền với vận tốc kỉ lục, truyền cho khoảng 75 ngàn máy trong 10 phút. Cũng trong năm nay, Blaster, một loại sâu cũng lây lan với tốc độ nhanh không kém, đã để lại lời nhắn cho CEO đương thời của Microsoft là Bill Gates, với nội dung: "...hãy dừng ngay việc kiếm tiền lại và hãy sửa lỗi phần mềm trước đã":
    Hex dump of the Blaster virus, showing a message left for Microsoft CEO Bill Gates by the virus programmer
  • 2004: Đánh dấu một thế hệ mới của virus là sâu Sasser. Sâu này được đặt tên là Sasser vì nó lây lan bằng cách khai thác lỗi tràn bộ đệm trong các thành phần được gọi là LSASS (Local Security Authority Subsystem Service) trên các hệ điều hành bị ảnh hưởng. Sâu quét phạm vi khác nhau của địa chỉ IP và kết nối với máy tính nạn nhân chủ yếu thông qua TCP cổng 445. Phân tích sâu của Microsoft chỉ ra rằng nó cũng có thể lây lan qua cổng 139. Một vài biến thể gọi là Sasser.B, Sasser.C, và Sasser.D xuất hiện trong vòng vài ngày sau (với bản gốc tên là Sasser.A). Lỗ hổng LSASS đã được vá của Microsoft trong phần tháng 4 năm 2004 của các gói bảo mật hàng tháng của mình, trước ngày Sasser lây lan. Do vậy, một số chuyên gia công nghệ đã suy đoán rằng tác giả của worm đã dùng kỹ thuật phân tích ngược (reverse-engineered) các bản vá để khám phá các lỗ hổng, làm cho hàng triệu máy tính bị lây nhiễm đã không thể cập nhật được bản vá lỗi mới của Microsoft. Với virus này thì người ta không cần phải mở đính kèm của điện thư mà chỉ cần mở lá thư là đủ cho nó xâm nhập vào máy. Sven Jaschan, người Đức, được cho là tác giả của Sasser, sau đó đã bị bắt. Tuy nhiên, vào tháng 7 năm 2005, tòa án Đức chỉ phạt anh này 3 năm tù treo và 30 giờ lao động công ích, bởi lý do anh này phát tán sâu trước sinh nhật 18 tuổi của mình (được tính là trẻ vị thành niên).
  • 26/1/2004, virus Mydoom (còn được gọi là "Novarg hoặc "Shimgapi") đã xuất hiện trong hình dáng của "một cơn bão virus" nguy hiểm theo đúng nghĩa của nó. Theo thống kê của các công ty diệt virus, cứ trong 9 e-mail trên toàn cầu thì lại có một bị nhiễm virus "Mydoom", đủ thấy sự nguy hiểm của loại virus này. "Mydoom" gây ra tình trạng tích nghẽn đường truyền và được lập trình để tấn công vào website của Microsoft.
  • 2008: Conficker, kẻ đã biến hàng triệu máy tính trên toàn thế giới thành nô lệ (bot-net) thông qua việc khai thác các lỗ hổng của hệ điều hành Windows. Nó có thể lẻn vào máy tính thông qua mạng Internet hoặc ổ USB, ngăn người dùng truy cập vào các website bảo mật để download phiên bản chống virus mới nhất.
    Thành viên đầu tiên Conficker.A xuất hiện từ tháng 11.2008 tấn công vào những máy tính chưa cập nhật bản vá lỗi MS08-067. Chỉ trong một thời gian ngắn, đã có hàng triệu máy tính bị lây nhiễm.
    Chưa đầy 1 tháng sau, Conficker.B xuất hiện với một tốc độ lây nhiễm kinh hoàng: Gần 10 triệu máy tính bị nhiễm chỉ trong vòng nửa tháng. Hơn thế, không chỉ lây nhiễm qua mạng mà Conficker.B còn sử dụng cả các thiết bị lưu trữ di động như USB cũng như cơ chế chạy tự động Autorun của Windows để làm công cụ phát tán.
    Thế hệ thứ 3, Conficker.C xuất hiện vào tháng 2/2009 cùng với khả năng khóa tất cả các tính năng cập nhật bảo mật của hệ điều hành, khóa cứng các ứng dụng diệt virus cũng như ngăn chặn người dùng truy cập đến các website của các tập đoàn bảo mật hàng đầu.
  • ...
  • Với khả năng của các tay hacker, virus ngày ngay có thể xâm nhập bằng cách bẻ gãy các rào an toàn của hệ điều hành hay chui vào các chỗ hở của các phần mềm nhất là các chương trình thư điện tử, rồi từ đó lan tỏa khắp nơi theo các nối kết mạng hay qua thư điện tử. Do dó, việc truy tìm ra nguồn gốc phát tán virus sẽ càng khó hơn nhiều. Chính Microsoft, hãng phần mềm tạo ra các phần mềm phổ biến, cũng là một nạn nhân. Họ đã phải nghiên cứu, sửa chữa và phát hành rất nhiều các phần mềm nhằm sửa các khuyết tật của phần mềm cũng như phát hành các cập nhật của gói dịch vụ (service pack) nhằm giảm hay vô hiệu hóa các tấn công của virus. Nhưng dĩ nhiên với các phần mềm có hàng triệu dòng mã nguồn thì mong ước chúng hoàn hảo theo ý nghĩa của sự an toàn chỉ có trong lý thuyết. Đây cũng là cơ hội cho các nhà sản xuất các loại phần mềm bảo vệ, sửa lỗi phát triển.
  • Ngày nay, virus không chỉ lây lan ở các PC, mà còn có khả năng lây lan ở bất kỳ một thiết bị nào, miễn là thiết bị đó có khả năng chứa dữ liệu (bao gồm cả mobile, tablet...). Trong tương lai không xa, virus sẽ có thêm các bước biến đổi khác, nó bao gồm mọi điểm mạnh sẵn có (polymorphic, sasser hay tấn công bằng nhiều cách thức, nhiều kiểu) và còn kết hợp với các thủ đoạn khác của phần mềm gián điệp (spyware). Đồng thời nó có thể tấn công vào nhiều hệ điều hành khác nhau chứ không nhất thiết nhắm vào một hệ điều hành độc nhất như trong trường hợp của Windows hiện giờ. Và có lẽ virus sẽ không hề (thậm chí là không cần) thay đổi phương thức tấn công: lợi dụng điểm yếu của máy tính cũng như chương trình.

Chú thích:
[1]: Đọc thêm bài viết: Các dạng phần mềm độc hại.
[2]: 
Các hệ điều hành khác Windows không chỉ có Linux, mà còn có Macintosh, Unix, BSD,...
Hình sau đây sẽ cho các bạn cái nhìn tổng quan về lịch sử virus trên hệ máy Mac:
History of Macintosh Viruses - toptenreviews.com
Đọc thêm bài viết giải thích vì sao Linux không có virus tại địa chỉ: http://gvehacker.blogspot.com/2014/03/tai-sao-linux-khong-co-virus.html
Hoặc đọc bài viết tựa đề "Why Linux Is More Secure Than Windows" trên tạp chí PCWorld tại địa chỉ: https://www.pcworld.com/article/202452/why_linux_is_more_secure_than_windows.html

[3]: Ngày trước, đĩa chứa dữ liệu rất quý giá, đắt tiền và có dung lượng hết sức khiêm tốn. Hình ảnh sau sẽ cho chúng ta biết giá cả của máy tính cùng phụ kiện những năm thập kỷ 80 của thế kỷ 20:
Accessories and TRS-80 cost. 
Bài viết nằm trong hệ thống bài "Hành trang lướt web an toàn" của GVEhacker, với label là SAFE INTERNET ACCESS. Mong quý bạn bè quan tâm đón đọc.

Không có nhận xét nào:

Đăng nhận xét