I Love You Forever

Tôi Muốn Trở Thành Bạn Của Tất Cả Mọi Người I Want Become A Friend Of EveryBody

Trung Tâm Cứu Hộ Máy Tính: Phòng chống virut

Phòng chống virut

Sau một thập niên sử dụng máy tính cá nhân và người dùng phải trải qua mối đe dọa của virus máy tính.

Michelangelo và một số virus khác đã tấn công vào hệ thống máy tính của Adeline Ho và xóa sạch một số tập tin trước khi họ phát hiện ra. Nhân viên bảo hành máy phải tạm ngưng mọi hoạt động của máy tính và gọi chuyên gia diệt virus đến.

Những người sử dụng máy tính ở Ho đều đã từng trải. Iít ra họ cũng đã biết rõ virus là gì? Họ là những người đã từng phát hiện ít nhất một virus ở một số đặc điểm nào đó.

Một kỹ thuật viên của Tech Pacific cho biết: "Muốn bắt một virus thì không có vất vả gì cả vì theo ước tính của Hội Bảo An Máy Tính Hoa Kỳ (US National Computer Secutity Association) là sẽ có một lượng lớn trên 14.000 virus vào năm 1994. Và tiếp theo năm sau đó, con số ước tính này sẽ đạt đến 38.000.

Mặc dù đây có thể là một tin tốt cho công nghệ phòng chống virus nhưng nó không phải là chuyện đùa đối với nhiều người sử dụng máy tính mà hệ thống của họ đang làm mồi cho virus.

Thật là hiểm độc, những đoạn mã lệnh gây rối và phá hoại gộp lại thành một đoạn chương trình nhỏ như là virus nhưng chúng chưa hẳn là virus. Một virus thật sự là tự nó tấn công vào một đoạn mã lệnh nào đó của chương trình có khả năng thực hiện được (đây chính là đặc điểm của virus File trên các tập tin .EXE, .COM, .SYS hoặc thậm chí cả .OVL) và can thiệp vào hoạt động của chương trình mỗi khi thực hiện chương trình đó.

Một khi virus đã nạp vào bộ nhớ, nó cố gắng lây lan sang nhiều chương trình khác. Thật là nguy hại, nếu máy bị nhiễm virus có nối mạng, nơi virus có thể tung hoành như cá gặp nước vậy.

Phản ứng dây chuyền

Mặc dù mạng máy tính là đường nhanh nhất để phát triển thành một dịch virus, đó cũng chưa phải là đường duy nhất để virus tung hoành. Bạn cũng có nguy cơ bị virus khi sao chép phần mềm từ bạn bè, từ nơi công cộng.

Virus phá hoại rất đa dạng, cách hoạt động của chúng cũng đa dạng không kém. Nó có thể phá hoại sau khi file bị nhiễm được truy xuất một số lần, hay là phá hoạt trong một thời điểm nhất định nào đó. Asuza, một virus thường trú, sau khi nhiễm vào 32 file sẽ phá hoại các thiết bị ngoại vi bằng cách khống chế các cổng nối tiếp và song song. Trái lại Michelangelo đón mừng sinh nhật của mình bằng cách ghi đè lên 9M đầu tiên của đĩa cứng vào ngày 6 tháng 3. Mặc dầu đã có sự phá hoại tiềm tàng của virus, ông giám đốc của Computerware for Micros cảm thấy hầu hết virus đều vô hại. Ông tin rằng các virus chỉ đơn thuần là các trò giải trí tạm thời. Vị giám đốc của Computerware for Micros này chỉ ra rằng, chẳng hạn như virus Oropax chỉ phát nhạc trong lúc nghỉ. Tất nhiên các virus "hiền" cũng có khi làm mất những dữ liệu mà bạn chưa ghi lại trên đĩa vì bị virus đùa giỡn. Dù hiền hay dữ, virus được phân loại theo cách mà nó nhiễm vào máy. Vì thế có virus Boot và virus File.

Boot sector là gì?

Boot sector là một vùng trên đĩa mềm hay đĩa cứng dùng để khởi động máy PC. Virus sẽ chèn đoạn mã của nó vào đấy, vì thế mỗi lúc máy bật lên thì virus đã tải lên bộ nhớ rồi (xem hình 1). Nó cũng có thể lây vào partition, nhưng hiếm hơn.

Những virus này thông thường nhiễm vào máy thông qua đĩa mềm có chứa virus. Michelangelo và Stoned là những virus thuộc loại này. Virus boot rất nguy hiểm nhưng việc diệt nó rất dễ.

Virus file tự nối nó vào các file thi hành . Nó cũng có khả năng sửa đầu vào của chương trình chính để nó được quyền thực hiện trước (xem hình 2). Virus này phải cẩn thận để không ghi đè lên chương trình đã bị nhiễm virus rồi.

Vậy chẳng qua virus là một chương trình nhỏ bám vào các chương trình khác. Vì thế, để hoạt động (hay phá hoại) nó phải được thi hành trước đã. Nó chỉ hoạt động khi nhiễm vào các file .COM, .EXE hay Overlay và boot sector của đĩa.

Các file dữ liệu không thi hành được nên không bị nhiễm virus. Vì thế các file dữ liệu của các chương trình xử lý văn bản, bảng tính v.v. chắc chắn không bị nhiễm virus.

Một số virus chỉ là virus "nhất thời". Nó chỉ hoạt động khi phần chương trình nhiễm virus được thực hiện. Trong khoảng thời gian này, nó cố gắng nhiễm càng nhiều file càng tốt trước khi kết thúc chương trình.

Những loại virus hiệu quả hơn là những loại virus có khả năng thường trú (TSR). Nó vẫn còn hoạt động trong bộ nhớ ngay cả khi chương trình chính ngừng hoạt động. Ðiều này có nghĩa là nó có khả năng lây lan ra toàn bộ các chương trình trên máy khi có cơ hội.

Ðể có thể bám lại bộ nhớ, virus TSR cướp quyền điều khiển của máy tính bằng cách sửa bảng vector ngắt. Khi các phục vụ của DOS và BIOS được gọi, virus đã chặn được các ngắt này nên nó sẽ thực hiện đoạn chương trình của nó trước khi trả quyền điều khiển cho các ngắt (xem hình 3). Vì nó vẫn còn nằm trong bộ nhớ, cách duy nhất để làm nó ngừng hoạt động là tắt máy. Dù vậy nếu nó là virus boot thì nó đã có mặt trên boot sector và virus sẽ lại nắm quyền điều khiển của máy tính.

Stealth virus

Trước đây, các loại virus dù là boot hay file đều rất đơn giản. Tất cả các virus xung quanh ta hình như có họ hàng với nhau. Nhưng mới đây một loại virus mới rất nguy hiểm vừa xuất hiện, đó là Stealth virus.

Những virus trước kia được thiết kế sao cho có thể tránh né sự phát hiện. Nhưng nó vẫn để lại một ít dấu hiệu.

Những kẻ viết virus đã cố gắng viết thêm một số loại virus mới tinh khôn hơn. Ðiển hình là virus 4096. Nó hòa nhập thực sự vào môi trường xung quanh. Nó thông qua ngắt DOS để tự cài đặt cũng như gỡ những đoạn mã của mình ra khỏi file bị nhiễm khi các chương trình này được quét virus.

Gần đây cũng có những virus "tự đột biến" (Mutation engine). Nó có cơ chế tự mã hóa khi lây vào file. Sự phức tạp của giải thuật mã hóa này sẽ phát sinh hàng tỷ dạng khác nhau của virus. Khi lây nó chỉ lây một trong các dạng đó làm phát sinh một dạng virus mới (Xem hình 4). Pogue là một thí dụ cho loại virus này. Các chương trình quét rất khó khăn trong việc tìm các virus đa hình này. Có một vài cách để phòng ngừa sự tấn công của virus hay ít ra cũng giảm thiểu sự phá hoại của chúng.

Những sản phẩm chống virus có nhiều phương pháp để phát hiện virus nhưng chúng ta có thể chia làm 3 loại.

1. Quét (scanner)

Ðây là phương pháp sớm nhất mà các chương trình chống virus thường dùng. Hầu hết các virus đều có những dấu hiệu để chúng không tự nhiễm trở lại các file đã nhiễm, vì thế scanner tìm thấy những "nhãn hiệu" này khi chúng quét qua file. Virus sẽ được phát hiện nhờ sự so sánh với các dấu hiệu của những virus đã biết.

Tuy nhiên, chương trình dùng phương pháp này cần phải cập nhật thường xuyên. Nếu không nó sẽ không phát hiện được các loại virus mới. Thông thường các virus đã tung hoành khoảng nửa năm mới bắt được nó.

Một phần mềm chống virus được cập nhật thường xuyên là Scan của McAfee. Cứ 2 đến 4 tuần, chương trình được cập nhật một lần và được thông báo và phân phát rộng rãi trong quần chúng.

Tuy nhiên , phương pháp này không trị được virus đa hình vì những virus này không có dấu hiệu nhận dạng cố định.

2. Checksum

Nguyên thủy Checksum dùng để kiểm tra tính toàn vẹn của dữ liệu, nguyên tắc của kỹ thuật này là phát hiện sự thay đổi trong file hoặc boot sector. Chương trình sẽ phát sinh ra một trị số gọi là checksum và sẽ được kiểm tra định kỳ với file hiện hành. Nếu virus thâm nhập file này, chương trình sẽ báo động. Tuy sự kiểm tra thường xuyên sẽ tốn thời gian nhưng phương pháp này chỉ làm việc tốt khi có sự kiểm tra đều đặn.

Virus có thể lừa một chương trình chống virus nào đó bằng cách cho tạo một checksum giả. Ðể tránh việc này, vài chương trình chống virus dùng nhiều checksum khác nhau và các kỹ thuật mã hóa tạo checksum rất phức tạp hòng không thể giả mạo được.

Vả lại có rất nhiều kỹ thuật checksum khác nhau được các chương trình khác nhau sử dụng nên việc virus cố tình chống lại một chương trình nào đó cũng bằng thừa.

Ðiểm yếu của phương pháp này là nó không có khả năng phân biệt giữa sự thay đổi thật sự và thay đổi do virus tấn công. Từ đó người dùng phải luôn lo lắng với các thông báo sai. Phương pháp này sẽ giúp "nuôi" virus nếu checksum ban đầu không sạch sẽ.

Stealth virus có thể lẩn trốn checksum. Nó chặn lúc kiểm tra checksum và tránh được sự phát hiện bằng cách loại bỏ tạm thời chính nó ra khỏi file đang checksum. Vì thế chỉ có kiểm tra bằng phần cứng mới phát hiện được chúng. Một số ROM BIOS mới có thể phát hiện được virus trên boot sector trước khi nó được nạp vào máy.

3. Disk Access Monitor

Một số trình tiện ích chặn mọi thao tác về đĩa, thông báo cho người dùng biết mọi điều khả nghi, chẳng hạn như việc ghi lên file EXE, COM hoặc ghi trực tiếp lên các sector của đĩa.

Tuy nhiên, cách này không phát hiện được virus boot dùng BIOS để truy xuất đĩa. Những virus này được nạp trước cả khi các TSR chạy. Chúng đã sửa các đầu vào của BIOS vào chương trình chúng làm cho chương trình Access Monitor gọi chương trình virus chứ không phải gọi BIOS (xem hình 5)

Disk Access Monitor thông báo sai khi các ứng dụng có ghi lên file EXE hay COM, chẳng hạn như trong quá trình cài đặt phần mềm. Hy vọng sau này sẽ có những cải tiến làm cho các chương trình này thông minh hơn, nó sẽ phân biệt đâu là thông báo sai và đâu là thông báo đúng.

PCSafe Data Guardian áp dụng nguyên tắc này theo hướng khác. Nó nằm trong phần cứng nên được tải vào bộ nhớ trước khi boot máy. Kể từ đó, nó sẽ báo động mọi thao tác cố tình ghi lên boot sector hoặc file có khả năng thực thi.

Phải nhìn nhận rằng không có phương pháp nào đủ để ngăn chặn được virus. Các sản phẩm phòng chống virus gia tăng và mỗi sản phẩm đều kết hợp nhiều hơn hai phương pháp trên để phòng chống.

Các sản phẩm chống virus như PC-cillin. Armour và Thunderbyte tập trung sức mạnh vào phương pháp Access Monitor.

McAfee lại dùng phương pháp scan và được cập nhật liên tục. Tuy nhiên sự gia tăng của virus sẽ làm cho tốc độ quét giảm xuống đáng kể.

Việc diệt virus cũng là một vấn đề không kém quan trọng. Nó thường xảy ra song song với việc phát hiện virus. Sau đây là một số phương pháp diệt virus.

1. Loại bỏ đoạn mã virus

Ðây là cách truyền thống làm tê liệt virus trực tiếp. Tuy nhiên nếu có nhiều virus lây vào một file, chúng sẽ "đan" chồng chéo lên nhau và phương pháp này có thể làm hỏng file nguyên thủy. Với virus boot thì diệt chúng bằng phương pháp này rất hữu hiệu vì đoạn boot sector rất ngắn.

2. Ghi đè và "xây dựng" lại file

Với virus boot, phương pháp này sẽ thay thế boot sector cũ bằng một boot sector mới, sạch. Khi checksum nghi ngờ boot sector có vấn đề, nó sẽ ghi đè lên boot sector một boot sector mới khác. Kết quả là virus bị xóa sạch trước khi nó nhiễm qua đĩa khác. Có thể xây dựng lại file từ các chức năng phục hồi dữ liệu của một chương trình chống virus nào đó. Những sản phẩm "xịn" thường dùng kỹ thuật nén dữ liệu để chúng có thể xây dựng lại đĩa từ một đoạn dữ liệu rất nhỏ. Central Point Anti Virus và Untouchable thuộc những sản phẩm làm được công việc này. Cách xây dựng lại này rất dễ dùng nhưng có khả năng bị hỏng. Phương pháp này rất cần thiết cho những người dùng kém yếu về hệ thống.

3. Backup toàn bộ đĩa cứng

Backup đĩa cứng là phương pháp tốt nhất để phục hồi hư hỏng và diệt virus trong máy. Nếu bạn đang phục hồi toàn bộ dữ liệu, hãy format đĩa cứng trước. Một số virus vẫn trụ lại được nhờ có khả năng chống lại format của DOS, vì thế bạn nên format đĩa cứng cấp thấp trước khi backup dữ liệu.

Có một chương trình chống virus nào thực sự dễ dùng không? Câu trả lời là có và đó là Write Guard của Uúc. Nó bảo vệ đĩa cứng, giúp người dùng bảo vệ các file có thể bị virus tấn công (EXE, COM, OVL).

Việc phòng chống virus hết sức khó khăn, những kẻ viết virus luôn tìm mọi khe hở của các chương trình chống virus dù đó là chương trình mạnh nhất. Trò chơi rượt bắt này rõ ràng không bao giờ kết thúc. Những dạng virus mới sẽ gài bẫy chương trình chống virus bằng cách chúng sẽ giả dạng những virus đơn giản khác. Cuối cùng khi "virus giả" đã bị diệt thì thủ phạm thật sự mới nhảy ra phá phách...

Virus nào dù xảo quyệt đến đâu rồi cũng sẽ bị tiêu diệt. Nếu không tin, hạn hãy quan sát các virus mới xem sao.

Săn lùng virut

Ngoài việc phá hoại thực sự, các virus còn náu lại chờ thời cơ, không phải lúc nào cũng có thể dễ dàng phát hiện máy tính của bạn đang bị nhiễm virus. Tuy nhiên, ngay cả những manh mối mơ hồ nhất vẫn có thể bị phát giác, thì virus cũng vậy.

Một triệu chứng bạn có thể phát hiện là kích thước các file EXE của bạn tăng lên. Tương tự, khoảng trống trên đĩa bị giảm đột ngột cũng có thể là do sự có mặt của virus.

Virus TSR để lộ sự tồn tại của chúng bằng cách chiếm chổ trong RAM, và bộ nhớ bị giảm là tín hiệu có mặt của nó. Tuy nhiên bạn phải có chút hiểu biết về phân phối bộ nhớ hệ thống thì mới có thể nói chắc chắn được.

Một số loại virus gây ra tình trạng bất thường của hệ thống. Các virus trong bộ nhớ có thể thay đổi các yêu cầu dịch vụ hệ thống một cách cố tình hoặc vô ý, làm mất hoặc cắt xén thông tin ra màn hình hay máy in, và làm chậm tốc độ truy cập hệ thống. Hãy chú ý khi các chương trình của bạn tải chậm hơn.

Vì virus cần tự sao nó để tiếp tục lây lan, nó sẽ tạo ra nhiều quá trình truy cập đĩa, và đó chính là một manh mối rõ rệt. Các virus mới hơn thường làm cho các truy cập của chúng trùng với các truy cập chính thức.

Triệu chứng rõ rệt nhất là chương trình của bạn làm việc bất bình thường hoặc đĩa cứng bị mất dữ liệu. Ðó là mối nguy hại lớn làm cho ta phải đấu tranh tích cực chống virus.

Chữ ký riêng

Khi virus lan truyền, chúng cũng phải thận trọng để khỏi nhiễm lại các file chúng đã ảnh hưởng. Nếu không chúng sẽ làm cho file tiếp tục lớn lên, chiếm chổ trên đĩa và để lộ sự có mặt của chúng. Ví dụ virus Israeli hoạt động theo phương thức như vậy.

Ðể tránh điều này, nhiều loại virus đánh dấu các file hoặc các sector khởi động mà nó đã nhiễm bằng chữ ký riêng (mã xác định thẩm quyền đặc biệt).

Chữ ký đặc trưng là một thứ tự các byte tại vị trí đặc biệt. Các chương trình quét virus tìm vào các mã này để phát hiện virus. Các chương trình phòng ngừa cho file cũng giống như virus: chúng đưa chữ ký giả, virus bỏ qua file này.

Các virus thường trú bộ nhớ thường cài đặt các chức năng DOS đặc biệt chứng tỏ sự hiện diện của virus.

Cho phép xóa

Không phải tất cả các "mã xóa", đều là virus. Tuy nhiên các phần mềm như Trojan Horses, Worms có một điểm chung với virus: chúng đều là những mối nguy hiểm được chương trình hóa.

Trojan là các chương trình hoàn thiện, độc lập và không tự lan truyền. Giống như Greek, Trojan Horses dự định làm những việc hữu ích như sắp xếp file của bạn theo vần chữ cái, chạy các trò chơi, nhưng thực tế thì nó có thể xóa file hoặc format lại đĩa cứng của bạn.

Worm, cũng như Trojan, là những chương trình độc lập, hoạt động không cần chương trình chủ.

Chúng thường bị nhầm là virus vì có thể tự tạo (lan truyền). Tuy nhiên chúng chỉ hoạt động trong môi trường mạng và không làm thay đổi các chương trình khác, nhưng chúng có thể mang virus làm việc đó. Worms tương đối hiếm vì khó viết và đòi hỏi tác giả phải quen thuộc với các dịch vụ và khả năng của mạng.

Bacteria và Rabbits là những chương trình không phá hỏng rõ rệt các file. Chúng chỉ lan tràn nhanh chóng theo cấp số mũ cho đến khi chiếm trọn khả năng xử lý, bộ nhớ và ổ đĩa. Các máy tính không được giới hạn thành phần và tài nguyên thì rất dễ bị tấn công