Trong khoa học máy tính, virus máy tính (thường được người sử dụng gọi tắt là virus) là những chương trình hay đoạn mã được thiết kế để tự nhân bản và sao chép chính nó vào các đối tượng lây nhiễm khác (file, ổ đĩa, máy tính,...).
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 nên thường virus có các hành động như: cho một chương trình không hoạt động đúng, 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à đa phần hướng đến việc lấy cắp các thông tin cá nhân nhạy cảm (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 người phát tán virus.
Chiếm trên 90% 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 chỉ đơn giản bởi hệ điều hành này được sử dụng nhiều nhất trên thến giới. Do tính thông dụng của Windows nên các tin tặc thường tập trung hướng vào chúng nhiều hơn là các hệ điều hành khác. Cũng có quan điểm cho rằng Windows có tính bảo mật không tốt bằng các hệ điều hành khác (như Linux) nên có nhiều virus hơn, tuy nhiên nếu các hệ điều hành khác cũng thông dụng như Windows hoặc thị phần các hệ điều hành ngang bằng nhau thì cũng lượng virus xuất hiện có lẽ cũng tương đương nhau.
Có nhiều quan điểm khác nhau về lịch sử của virus điện toán. Ở đây chỉ nêu rất vắn tắt và khái quát những điểm chung nhất và, qua đó, chúng ta có thể hiểu chi tiết hơn về các loại virus
Sâu máy tính (worm): là các chương trình cũng có khả năng tự nhân bản tự tìm cách lan truyền qua hệ thống mạng (thường là qua hệ thống thư điện tử). Điểm cần lưu ý ở đây, ngoài tác hại thẳng lên máy bị nhiễm, nhiệm vụ chính của worm là phá các mạng (network) thông tin, làm giảm khả năng hoạt động hay ngay cả hủy hoại các mạng này. Nhiều nhà phân tích cho rằng worm khác với virus, họ nhấn mạnh vào đặc tính phá hoại mạng nhưng ở đây worm được là một loại virus đặc biệt.
Worm nổi tiếng nhất được tạo bởi Robert Morris vào năm 1988. Nó có thể làm hỏng bất kì hệ điều hành UNIX nào trên Internet. Tuy vậy, có lẽ worm tồn tại lâu nhất là virus happy99, hay các thế hệ sau đó của nó có tên là Trojan. Các worm này sẽ thay đổi nội dung tệp wsok32.dll của Windows và tự gửi bản sao của chính chúng đi đến các địa chỉ cho mỗi lần gửi điện thư hay message.
Phần mềm ác tính (malware): (chữ ghép của maliciuos và software) chỉ chung các phần mềm có tính năng gây hại như virus, worm và Trojan horse.
Trojan Horse: đây là loại chương trình cũng có tác hại tương tự như virus chỉ khác là nó không tự nhân bản ra. Như thế, cách lan truyền duy nhất là thông qua các thư dây chuyền. Để trừ loại này người chủ máy chỉ việc tìm ra tập tin Trojan horse rồi xóa nó đi là xong. Tuy nhiên, không có nghĩa là không thể có hai con Trojan horse trên cùng một hệ thống. Chính những kẻ tạo ra các phần mềm này sẽ sử dụng kỹ năng lập trình của mình để sao lưu thật nhiều con trước khi phát tán lên mạng. Đây cũng là loại virus cực kỳ nguy hiểm. Nó có thể hủy ổ cứng, hủy dữ liệu.
Phần mềm gián điệp (spyware): Đây là loại virus có khả năng thâm nhập trực tiếp vào hệ điều hành mà không để lại "di chứng". Thường một số chương trình diệt virus có kèm trình diệt spyware nhưng diệt khá kém đối với các đợt "dịch".
Phần mềm quảng cáo (adware): Loại phần mềm quảng cáo, rất hay có ở trong các chương trình cài đặt tải từ trên mạng. Một số phần mềm vô hại, nhưng một số có khả năng hiển thị thông tin kịt màn hình, cưỡng chế người sử dụng.
Botnet: Là những máy tính bị bắt cóc và điều khiển bởi người khác thông qua Trojan, virus...
Điều đặc biệt nguy hiểm là các botnet được phơi bày từ các hacker không cần kỹ thuật lập trình cao. Nó được rao bán với giá từ 20USD trở lên cho các hacker. Hậu quả của nó để lại không nhỏ: mất tài khoản. Nếu liên kết với một hệ thống máy tính lớn, nó có thể tống tiền cả một doanh nghiệp.
Nhóm của Sites ở Sunbelt cùng với đội phản ứng nhanh của công ty bảo mật iDefense Labs đã tìm ra một botnet chạy trên nền web có tên là Metaphisher. Thay cho cách sử dụng dòng lệnh, tin tặc có thể sử dụng giao diện đồ họa, các biểu tượng có thể thay đổi theo ý thích, chỉ việc dịch con trỏ, nhấn chuột và tấn công.
Theo iDefense Labs, các bot do Metaphisher điều khiển đã lây nhiễm hơn 1 triệu PC trên toàn cầu. Thậm chí trình điều khiển còn mã hóa liên lạc giữa nó và bot "đàn em" và chuyển đi mọi thông tin về các PC bị nhiễm cho người chủ bot như vị trí địa lý, các bản vá bảo mật của Windows và những trình duyệt đang chạy trên mỗi PC.
Những công cụ tạo bot và điều khiển dễ dùng trên góp phần làm tăng vọt số PC bị nhiễm bot được phát hiện trong thời gian gần đây. Thí dụ, Jeanson James Ancheta, 21 tuổi, người Mỹ ở bang California, bị tuyên án 57 tháng tù vì đã vận hành mộ ;t doanh nghiệp "đen" thu lợi bất chính dựa vào các botnet điều khiển 400.000 "thành viên" và 3 tay điều khiển bot bị bắt ở Hà Lan mùa thu năm trước chính là trung tâm "đầu não" điều khiển hơn 1,5 triệu PC!
Mặc dù đã có luật để bắt những tội phạm kiểu này, nhưng do dễ dàng có được những công cụ phá hoại nên luôn có thêm người mới gia nhập hàng ngũ hacker vì tiền hay vì tò mò.
Keylogger: Là phần mềm ghi lại chuỗi phím gõ của người dùng. Nó có thể hữu ích cho việc tìm nguồn gốc lỗi sai trong các hệ thống máy tính và đôi khi được dùng để đo năng suất làm việc của nhân viên văn phòng. Các phần mềm kiểu này rất hữu dụng cho ngành luật pháp và tình báo - ví dụ, cung cấp một phương tiện để lấy mật khẩu hoặc các khóa mật mã và nhờ đó qua mắt được các thiết bị an ninh. Tuy nhiên, các phần mềm keylogger được phổ biến rộng rãi trên Internet và bất cứ ai cũng có thể sử dụng cho mục đích lấy trộm mật khẩu và chìa khóa mã hóa.
Phishing: Là một hoạt động phạm tội dùng các kỹ thuật lừa đảo. Kẻ lừa đảo cố gắng lừa lấy các thông tin nhạy cảm, chẳng hạn như mật khẩu và thông tin về thẻ tín dụng, bằng cách giả là một người hoặc một doanh nghiệp đáng tin cậy trong một giao dịch điện tử. Phishing thường được thực hiện bằng cách sử dụng thư điện tử hoặc tin nhắn, đôi khi còn sử dụng cả điện thoại.
Rootkit: Là một bộ công cụ phần mềm dành cho việc che dấu các tiến trình đang chạy, các file hoặc dữ liệu hệ thống. Rootkit có nguồn gốc từ các ứng dụng tương đối hiền, nhưng những năm gần đây, rootkit đã bị sử dụng ngày càng nhiều bởi các phần mềm ác tính, giúp kẻ xâm nhập hệ thống giữ được đường truy nhập một hệ thống trong khi tránh bị phát hiện. Người ta đã biết đến các rootkit dành cho nhiều hệ điều hành khác nhau chẳng hạn Linux, Solaris và một số phiên bản của Microsoft Windows. Các rootkit thường sửa đổi một số phần của hệ điều hành hoặc tự cài đặt chúng thành các driver hay các môdule trong nhân hệ điều hành (kernel module).
Khi hay tin CD nhạc của Sony cài đặt rookit để giấu file chống sao chép xuất hiện vào tháng 11 năm ngoái, giới tin tặc hân hoan và nhanh chóng khai thác ứng dụng của Sony. Phần mềm của Sony giấu bất kỳ file hay tiến trình bắt đầu với "$sys$", những kẻ viết phần mềm độc hại đã đổi tên file để lợi dụng đặc điểm này.
Vào tháng 3, nhà sản xuất phần mềm chống virus ở Tây Ban Nha là Panda Software cho biết họ đang tìm biến thể của sâu Bagle cực kỳ độc hại có trang bị khả năng của rootkit. Trầm trọng hơn, tương tự như các "nhà sản xuất" chương trình botnet, những kẻ tạo phần mềm rootkit còn bán hoặc phát tán miễn phí các công cụ, giúp những tay viết phần mềm độc hại dễ dàng bổ sung chức năng rootkit cho các virus cũ như Bagle hay tạo loại mới. Một dự án do Microsoft và các nhà nghiên cứu của đại học Michigan thực hiện thật sự mở đường cho nghiên cứu rootkit, tạo ra một phương thức mới gần như "đặt" HĐH chạy trên phần mềm có tên SubVirt (tên của dự án nghiên cứu). HĐH vẫn làm việc bình thường, nhưng "máy ảo" điều khiển mọi thứ HĐH nhìn thấy và có thể dễ dàng giấu chính nó.
May mắn là kỹ thuật này không dễ thực hiện và người dùng dễ nhận ra vì làm chậm hệ thống và làm thay đổi những file nhất định. Hiện giờ, loại siêu rootkit này chỉ mới ở dạng ý tưởng, cần nhiều thời gian trước khi tin tặc có thể thực hiện phương thức tấn công này.
Phần mềm tống tiền (Ransomware): Là loại phần mềm sử dụng một hệ thống mật mã để mã hóa dữ liệu thuộc về một cá nhân và đòi tiền chuộc thì mới khôi phục lại.
Cửa hậu (Backdoor): Trong một hệ thống máy tính, cửa hậu là một phương pháp vượt qua thủ tục chứng thực người dùng thông thường ho& #7863;c để giữ đường truy nhập từ xa tới một máy tính, trong khi cố gắng không bị phát hiện bởi việc giám sát thông thường. Cửa hậu có thể có hình thức một chương trình được cài đặt (ví dụ Back Orifice hoặc cửa hậu rookit Sony/BMG rootkit được cài đặt khi một đĩa bất kỳ trong số hàng triệu đĩa CD nhạc của Sony được chơi trên một máy tính chạy Windows), hoặc có thể là một sửa đổi đối với một chương trình hợp pháp - đó là khi nó đi kèm với Trojan.
Các tập tin trên hệ điều hành Windows mang đuôi mở rộng sau có nhiều khả năng bị virus tấn công.
Cách cổ điển nhất của sự lây nhiễm, bành trướng của các loai virus máy tính là thông qua các thiết bị lưu trữ di động: Trước đây đĩa mềm và đĩa CD chứa chương trình thường là phương tiện bị lợi dụng nhiều nhất để phát tán. Ngày nay khi đĩa mềm rất ít được sử dụng thì phương thức lây nhiễm này chuyển qua các ổ USB, các đĩa cứng di động hoặc các thiết bị giải trí kỹ thuật số.
Khi mà thư điện tử (e-mail) được sử dụng rộng rãi trên thế giới thì virus chuyển hướng sang lây nhiễm thông qua thư điện tử thay cho các cách lây nhiễm truyền thống.
Khi đã lây nhiễm vào máy nạn nhân, virus có thể tự tìm ra danh sách các địa chỉ thư điện tử sẵn có trong máy và nó tự động gửi đi hàng loạt (mass mail) cho những địa chỉ tìm thấy. Nếu các chủ nhân của các máy nhận được thư bị nhiễm virus mà không bị phát hiện, tiếp tục để lây nhiễm vào máy, virus lại tiếp tục tìm đến các địa chỉ và gửi tiếp theo. Chính vì vậy số lượng phát tán có thể tăng theo cấp số nhân khiến cho trong một thời gian ngắn hàng hàng triệu máy tính bị lây nhiễm, có thể làm tê liệt nhiều cơ quan trên toàn thế giới trong một thời gian rất ngắn.
Khi mà các phần mềm quản lý thư điện tử kết hợp với các phần mềm diệt virus có thể khắc phục hành động tự gửi nhân bản hàng loạt để phát tán đến các địa chỉ khác trong danh bạ của máy nạn nhân thì chủ nhân phát tán virus chuyển qua hình thức tự gửi thư phát tán virus bằng nguồn địa chỉ sưu tập được trước đó.
Lây nhiễm vào các file đính kèm theo thư điện tử (attached mail). Khi đó người dùng sẽ không bị nhiễm virus cho tới khi file đính kèm bị nhiễm virus được kích hoạt (do đặc diểm này các virus thường được "trá hình" bởi cá 7b0b ;c tiêu đề hấp dẫn như sex, thể thao hay quảng cáo bán phần mềm với giá vô cùng rẻ)
Lây nhiễm do mở một liên kết trong thư điện tử Các liên kết trong thư điện tử có thể dẫn đến một trang web được cài sẵn virus, cách này thường khai thác các lỗ hổng của trình duyệt và hệ điều hành. Một cách khác, liên kết dẫn tới việc thực thi một đoạn mã, và máy tính bị có thể bị lây nhiễm virus.
Lây nhiễm ngay khi mở để xem thư điện tử: Cách này vô cùng nguy hiểm bởi chưa cần kích hoạt các file hoặc mở các liên kết, máy tính đã có thể bị lây nhiễm virus. Cách này cũng thường khai thác các lỗi của hệ điều hành.
Theo sự phát triển rộng rãi của Internet trên thế giới mà hiện nay các hình thức lây nhiễm virus qua Internet trở thành các phương thức chính của virus ngày nay.
Có các hình thức lây nhiễm virus và phần mềm độc hại thông qua Internet như sau:
Một hình thức trong cơ chế hoạt động của virus là tạo ra các biến thể của chúng. Biến thể của virus là sự thay đổi mã nguồn nhằm các mục đích tránh sự phát hiện của phần mềm diệt virus hoặc làm thay đổi hành động của nó.
Một số loại virus có thể tự tạo ra các biến thể khác nhau gây khó khăn cho quá trình phát hiện và tiêu diệt chúng. Một số biến thể khác xuất hiện do sau khi virus bị nhận dạng của các phần mềm diệt virus, chính tác giả hoặc các tin tặc khác (biết được mã của chúng) đã viết lại, nâng cấp hoặc cải tiến chúng để tiếp tục phát tán.
Một số virus có khả năng vô hiệu hoá hoặc can thiệp vào hệ điều hành làm tê liệt (một số) phần mềm diệt virus. Sau hành động này chúng mới tiến hành lây nhiễm và tiếp tục phát tán. Một số khác lây nhiễm chính vào phần mềm diệt virus (tuy khó khăn hơn) hoặc ngăn cản sự cập nhật của các phần mềm diệt virus. Kể cả cài lại HĐH và cài anti sau đó nhưng đã quá trễ.
Các cách thức này không quá khó nếu như chúng nắm rõ được cơ chế hoạt động của các phần mềm diệt virus và được lây nhiễm hoặc phát tác trước khi hệ thống khởi động các phần mềm này. Chúng cũng có thể sửa đổi file host của hệ điều hành Windows để người sử dụng không thể truy cập vào các website và phần mềm diệt virus không thể liên lạc với server của mình để cập nhật.
Có một câu nói vui rằng Để không bị lây nhiễm virus thì ngắt kết nối khỏi mạng, không sử dụng ổ mềm, ổ USB hoặc copy bất kỳ file nào vào máy tính. Nhưng nghiêm túc ra thì điều này có vẻ đúng khi mà hiện nay sự tăng trưởng số lượng virus hàng năm trên thế giới rất lớn.
Không thể khẳng định chắc chắn bảo vệ an toàn 100% cho máy tính trước hiểm hoạ virus và các phần mềm hiểm độc, nhưng chúng ta có thể hạn chế đến tối đa có thể và có các biện pháp bảo vệ dữ liệu của mình.
Bảo vệ bằng cách trang bị thêm một phần mềm diệt virus có khả năng nhận biết nhiều loại virus máy tính và liên tục cập nhật dữ liệu để phần mềm đó luôn nhận biết được các virus mới.
Trên thị trường hiện có rất nhiều phần mềm diệt virus.
Trong nước (Việt Nam): Bkav, CMC.
Của nước ngoài: Avira, Kaspersky, AVG
Tường lửa (Firewall) không phải một cái gì đó quá xa vời hoặc chỉ dành cho các nhà cung cấp dịch vụ internet (ISP) mà mỗi máy tính cá nhân cũng cần phải sử dụng tường lửa để bảo vệ trước virus và các phần mềm độc hại. Khi sử dụng tường lửa, các thông tin vào và ra đối với máy tính được kiểm soát một cách vô thức hoặc có chủ ý. Nếu một phần mềm độc hại đã được cài vào máy tính có hành động kết nối ra Internet thì tường lửa có thể cảnh báo giúp người sử dụng loại bỏ hoặc vô hiệu hoá chúng. Tường lửa giúp ngăn chặn các kết nối đến không mong muốn để giảm nguy cơ bị kiểm soát máy tính ngoài ý muốn hoặc cài đặt vào các chương trình độc hại hay virus máy tính.
Sử dụng tường lửa bằng phần cứng nếu người sử dụng kết nối với mạng Internet thông qua một modem có chức năng này. Thông thường ở chế độ mặc định của nhà sản xuất thì chức năng "tường lửa" bị tắt, người sử dụng có thể truy cập vào modem để cho phép hiệu lực (bật). Sử dụng tường lửa bằng phần cứng không phải tuyệt đối an toàn bởi chúng thường chỉ ngăn chặn kết nối đến trái phép, do đó kết hợp sử dụng tường lửa bằng các phần mềm.
Sử dụng tường lửa bằng phần mềm: Ngay các hệ điều hành họ Windows ngày nay đã được tích hợp sẵn tính năng tường lửa bằng phần mềm, tuy nhiên thông thường các phần mềm của hãng thứ ba có thể làm việc tốt hơn và tích hợp nhiều công cụ hơn so với tường lửa phần mềm sẵn có của Windows. Ví dụ bộ phần mềm ZoneAlarm Security Suite của hãng ZoneLab là một bộ công cụ bảo vệ hữu hiệu trước virus, các phần mềm độc hại, chống spam, và tường lửa.
Hệ điều hành Windows (chiếm đa số) luôn luôn bị phát hiện các lỗi bảo mật chính bởi sự thông dụng của nó, tin tặc có thể lợi dụng các lỗi bảo mật để chiếm quyền điều khiển hoặc phát tán virus và các phần mềm độc hại. Người sử dụng luôn cần cập nhật các bản vá lỗi của Windows thông qua trang web Microsoft Update (cho việc nâng cấp tất cả các phần mềm của hãng Microsoft) hoặc Windows Update (chỉ cập nhật riêng cho Windows). Cách tốt nhất hãy đặt chế độ nâng cấp (sửa chữa) tự động (Automatic Updates) của Windows. Tính năng này chỉ hỗ trợ đối với các bản Windows mà Microsoft nhận thấy rằng chúng hợp pháp.
Cho dù sử dụng tất cả các phần mềm và phương thức trên nhưng máy tính vẫn có khả năng bị lây nhiễm virus và các phần mềm độc hại bởi mẫu virus mới chưa được cập nhật kịp thời đối với phần mềm diệt virus. Người sử dụng máy tính cần sử dụng triệt để các chức năng, ứng dụng sẵn có trong hệ điều hành và các kinh nghiệm khác để bảo vệ cho hệ điều hành và dữ liệu của mình. Một số kinh nghiệm tham khảo như sau:
Nếu như không chắc chắn 100% rằng có thể không bị lây nhiễm virus máy tính và các phần mềm hiểm độc khác thì bạn nên tự bảo vệ sự toàn vẹn của dữ liệu của mình trước khi dữ liệu bị hư hỏng do virus (hoặc ngay cả các nguy cơ tiềm tàng khác như sự hư hỏng của các thiết bị lưu trữ dữ liệu của máy tính). Trong phạm vi về bài viết về virus máy tính, bạn có thể tham khảo các ý tưởng chính như sau:
Sao lưu dữ liệu theo chu kỳ là biện pháp đúng đắn nhất hiện nay để bảo vệ dữ liệu. Bạn có thể thường xuyên sao lưu dữ liệu theo chu kỳ đến một nơi an toàn như: các thiết bị nhớ mở rộng (ổ USB, ổ cứng di động, ghi ra đĩa quang...), hình thức này có thể thực hiện theo chu kỳ hàng tuần hoặc khác hơn tuỳ theo mức độ cập nhật, thay đổi của dữ liệu của bạn.
Tạo các dữ liệu phục hồi cho toàn hệ thống không dừng lại các tiện ích sẵn có của hệ điều hành (ví dụ System Restore của Windows Me, XP...) mà có thể cần đến các phần mềm của hãng thứ ba, ví dụ bạn có thể tạo các bản sao lưu hệ thống bằng các phần mềm ghost, các phần mềm tạo ảnh ổ đĩa hoặc phân vùng khác.
Thực chất các hành động trên không chắc chắn là các dữ liệu được sao lưu không bị lây nhiễm virus, nhưng nếu có virus thì các phiên bản cập nhật mới hơn của phần mềm diệt virus trong tương lai có thể loại bỏ được chúng.