Đánh giá các chương trình bảo vệ máy tính. Những gì được bao gồm trong gói. Quản lý tường lửa Windows

Một trong những phần chính của bất kỳ phần mềm chống vi-rút nào là cái gọi là "công cụ" chống vi-rút - một mô-đun chịu trách nhiệm quét các đối tượng và phát hiện phần mềm độc hại. Chất lượng phát hiện phần mềm độc hại và do đó, mức độ bảo vệ do phần mềm chống vi-rút cung cấp phụ thuộc vào công cụ chống vi-rút, cách nó được thiết kế cũng như phương pháp phát hiện và chẩn đoán mà nó sử dụng.

Bài viết này mô tả chi tiết công nghệ tiêu chuẩn và một số cách tiếp cận ban đầu của các nhà phát triển phần mềm chống vi-rút khác nhau, được triển khai trong “công cụ” chống vi-rút. Trong quá trình này, một số vấn đề kỹ thuật liên quan sẽ được xem xét cần thiết để đánh giá chất lượng của công cụ chống vi-rút và làm rõ các công nghệ được sử dụng trong đó.

“Động cơ” tốt hay xấu?

Thật không may, các nhà phát triển phần mềm chống vi-rút phần mềm rất hiếm khi tiết lộ chi tiết về việc thực hiện “động cơ” của họ. Tuy nhiên, bằng những dấu hiệu gián tiếp bạn có thể xác định được “động cơ” có tốt hay không. Dưới đây là các tiêu chí chính để bạn có thể xác định chất lượng của công cụ chống vi-rút:

Chất lượng phát hiện Phần mềm chống vi-rút phát hiện vi-rút tốt như thế nào? Tiêu chí này có thể được đánh giá dựa trên kết quả của nhiều thử nghiệm khác nhau do một số tổ chức thực hiện và thường được trình bày trên tài nguyên web của nhà phát triển.

Mức độ phát hiện của máy phân tích heuristic. Thật không may, không thể xác định thông số này nếu không thử nghiệm trên một bộ sưu tập vi-rút, nhưng bạn có thể khá dễ dàng xác định mức độ dương tính giả đối với một công cụ cụ thể.

Tỷ lệ dương tính giả. Nếu trên 100% tệp không bị nhiễm, phần mềm chống vi-rút báo cáo rằng nó đã phát hiện thấy một tệp có thể bị nhiễm thì đây là kết quả dương tính giả. Chúng ta có nên tin tưởng một máy phân tích chẩn đoán có thể gây khó chịu cho người dùng khi đưa ra cảnh báo sai không? Rốt cuộc, đối với một lượng lớn người dùng thực sự có thể bỏ lỡ những kết quả dương tính giả vi-rút mới.

Hỗ trợ một số lượng lớn các trình đóng gói và lưu trữ. Đây là một yếu tố rất quan trọng, vì thường những kẻ tạo ra phần mềm độc hại, sau khi viết vi-rút, đóng gói nó với một số tiện ích để đóng gói các mô-đun thực thi và sau khi nhận được một số tiện ích virus khác nhau, thả chúng ra thế giới. Về cơ bản, tất cả các loại virus này đều là những trường hợp của cùng một biến thể. Đối với một công cụ chống vi-rút hỗ trợ tất cả hoặc gần như tất cả các tiện ích đóng gói phổ biến, sẽ không khó để xác định tất cả các trường hợp này của cùng một loại vi-rút, gọi chúng bằng cùng tên; đối với các công cụ khác, sẽ cần phải cập nhật cơ sở dữ liệu chống vi-rút ( cũng như thời gian để các chuyên gia chống vi-rút phân tích trường hợp vi-rút).

Tần suất và kích thước của các bản cập nhật cơ sở dữ liệu chống vi-rút. Các thông số này là dấu hiệu gián tiếp về chất lượng của động cơ. Vì việc phát hành các bản cập nhật thường xuyên đảm bảo rằng người dùng sẽ luôn được bảo vệ khỏi các loại virus mới xuất hiện. Kích thước của bản cập nhật (và số lượng vi-rút được phát hiện trong bản cập nhật này) nói lên chất lượng thiết kế của cơ sở dữ liệu chống vi-rút và một phần là động cơ.

Khả năng cập nhật công cụ mà không cần cập nhật chương trình chống vi-rút. Đôi khi, để phát hiện vi-rút, không chỉ cần cập nhật cơ sở dữ liệu chống vi-rút mà còn cả chính “động cơ” đó. Nếu phần mềm chống vi-rút không hỗ trợ tính năng này thì người dùng có thể không được bảo vệ khi đối mặt với vi-rút mới. Ngoài ra, tính năng này cho phép bạn nhanh chóng cải thiện động cơ và sửa các lỗi trong đó.

"Động cơ" chống vi-rút: các công nghệ hiện có

Với sự ra đời của lần đầu tiên virus máy tính các lập trình viên nhanh chóng tìm ra nguyên tắc hoạt động của họ và tạo ra các chương trình chống vi-rút đầu tiên. Đã khá nhiều thời gian trôi qua kể từ đó, và phần mềm chống vi-rút hiện đại khác với những phần mềm chống vi-rút đầu tiên đó, giống như máy tính cá nhân khác với máy tính.

Trong đoạn đầu tiên của bài viết này, một định nghĩa có phần “ngây thơ” về “công cụ” chống vi-rút đã được đưa ra. Tiếp theo, một số định nghĩa chính xác và mô tả công nghệ sẽ được đưa ra, cuối cùng, sẽ cho phép bạn hiểu đầy đủ về cấu trúc và thuật toán của công cụ chống vi-rút.

Anti-Virus Engine là một mô-đun phần mềm được thiết kế để phát hiện phần mềm độc hại. "Công cụ" là thành phần chính của bất kỳ chương trình chống vi-rút nào, bất kể mục đích của nó là gì. Công cụ này được sử dụng cả trong các sản phẩm cá nhân - máy quét hoặc màn hình cá nhân và trong các giải pháp máy chủ - máy quét email hoặc máy chủ tập tin, bức tường lửa hoặc máy chủ proxy. Theo quy định, để phát hiện phần mềm độc hại, hầu hết các “công cụ” đều triển khai các công nghệ sau:

Tìm kiếm theo "chữ ký" (một chuỗi byte duy nhất);
Tìm kiếm theo tổng kiểm tra hoặc CRC (tổng kiểm tra với một chuỗi byte duy nhất);
Sử dụng mặt nạ giảm thiểu;
Phân tích mật mã;
Phân tích thống kê;
Phân tích heuristic;
Thi đua.

Chúng ta hãy xem xét từng phương pháp này chi tiết hơn.

Tìm kiếm theo "chữ ký"


Chữ ký là một “chuỗi” byte duy nhất mô tả duy nhất một chương trình độc hại cụ thể. Tìm kiếm chữ ký, trong bản sửa đổi này hay bản sửa đổi khác, đã được sử dụng để phát hiện vi-rút và phần mềm độc hại khác, từ những chương trình chống vi-rút đầu tiên cho đến ngày nay. Phẩm giá không thể phủ nhận tìm kiếm chữ ký - tốc độ hoạt động (tất nhiên là sử dụng các thuật toán được phát triển đặc biệt) và khả năng phát hiện một số loại vi-rút chỉ bằng một chữ ký. Nhược điểm - kích thước của chữ ký để phát hiện đáng tin cậy phải khá lớn, ít nhất là 8-12 byte (thường các chữ ký dài hơn nhiều được sử dụng để phát hiện chính xác, lên tới 64 byte), do đó, kích thước của cơ sở dữ liệu chống vi-rút sẽ lớn Khá là lớn. Ngoài ra, trong Gần đây Các chương trình độc hại viết bằng ngôn ngữ ngày càng phổ biến cấp độ cao(C++, Delphi, Ngôn ngữ lập trình) và các chương trình như vậy có các phần mã riêng biệt mà thực tế không thay đổi (cái gọi là Thời gian chạy Thư viện). Chữ ký được chọn không chính xác chắc chắn sẽ dẫn đến kết quả dương tính giả - phát hiện một tệp "sạch", không bị nhiễm virus là bị nhiễm vi-rút. Để giải quyết vấn đề này, người ta đề xuất sử dụng chữ ký rất lớn hoặc sử dụng tính năng phát hiện cho các vùng dữ liệu nhất định, ví dụ: bảng định vị lại hoặc chuỗi văn bản, điều này không phải lúc nào cũng tốt.

Tìm kiếm theo tổng kiểm tra (CRC)


Tìm kiếm theo tổng kiểm tra (CRC - cycle redundancy check), về bản chất, là một biến thể của tìm kiếm bằng chữ ký. Phương pháp này được phát triển để tránh những nhược điểm chính của tìm kiếm chữ ký - kích thước của cơ sở dữ liệu và giảm khả năng dương tính giả. Bản chất của phương pháp này là để tìm kiếm mã độc, không chỉ lấy dòng "tham chiếu" - chữ ký, hay nói đúng hơn là tổng kiểm tra của dòng này, mà còn cả vị trí của chữ ký trong phần nội dung của chương trình độc hại. Vị trí được sử dụng để tránh phải tính tổng kiểm tra cho toàn bộ tệp. Do đó, thay vì 10-12 byte chữ ký (tối thiểu), 4 byte được sử dụng để lưu trữ tổng kiểm tra và 4 byte khác cho vị trí. Tuy nhiên, phương pháp tìm kiếm tổng kiểm tra có phần chậm hơn so với tìm kiếm chữ ký.
Việc sử dụng mặt nạ để phát hiện mã độc thường khá phức tạp do có mã hóa (còn gọi là virus đa hình), vì không thể chọn mặt nạ hoặc mặt nạ có kích thước tối đa không thỏa mãn điều kiện rõ ràng. xác định virus mà không có kết quả dương tính giả.
Việc không thể chọn mặt nạ có kích thước đủ trong trường hợp virus đa hình là điều dễ dàng giải thích. Bằng cách mã hóa phần thân của nó, vi-rút đảm bảo rằng hầu hết mã của nó trong đối tượng bị ảnh hưởng là một biến và do đó, không thể được chọn làm mặt nạ. (Các loại virus tự mã hóa và đa hình được mô tả chi tiết hơn ở phần phụ lục cuối bài).
Để phát hiện những loại virus như vậy, các phương pháp sau được sử dụng: sử dụng mặt nạ thu gọn, phân tích mật mã và phân tích thống kê. Chúng ta hãy xem xét các phương pháp này chi tiết hơn.

Sử dụng mặt nạ giảm


Khi lây nhiễm vào các đối tượng, virus sử dụng mã hóa sẽ chuyển đổi mã của nó thành chuỗi dữ liệu được mã hóa:
S = F(T), trong đó
T - mã cơ sở của virus;
S - mã virus được mã hóa;
F là hàm mã hóa virus, được chọn ngẫu nhiên từ một tập hợp các phép biến đổi (F) nhất định.
Phương pháp mặt nạ rút gọn bao gồm việc chọn một phép biến đổi R của mã virus được mã hóa S, sao cho kết quả của phép biến đổi (nghĩa là một số chuỗi dữ liệu S") sẽ không phụ thuộc vào các khóa biến đổi F, nghĩa là
S=F(T)
S" = R(S) = R(F(T)) = R"(T).
Khi áp dụng phép biến đổi R cho tất cả các biến thể có thể có của mã mật mã S, kết quả S" sẽ không đổi ở hằng số T. Do đó, việc xác định các đối tượng bị ảnh hưởng được thực hiện bằng cách chọn S" làm mặt nạ rút gọn và áp dụng phép biến đổi R cho các đối tượng bị ảnh hưởng.

Phân tích mật mã


Phương pháp này như sau: theo kiến ​​thức đã biết mã cơ sở vi-rút và sử dụng mã được mã hóa đã biết (hoặc mã “đáng ngờ” tương tự như phần nội dung được mã hóa của vi-rút), các khóa và thuật toán của chương trình giải mã sẽ được khôi phục. Thuật toán này sau đó được áp dụng cho phần được mã hóa, dẫn đến phần thân của virus được giải mã. Khi giải bài toán này, bạn phải giải hệ phương trình.
Theo quy định, phương pháp này hoạt động nhanh hơn nhiều và chiếm ít bộ nhớ hơn nhiều so với việc mô phỏng các hướng dẫn về vi-rút. Tuy nhiên, việc giải quyết các hệ thống như vậy thường là một nhiệm vụ rất phức tạp.
Hơn nữa, vấn đề chính là phân tích toán học của phương trình thu được hoặc hệ phương trình thu được. Theo nhiều cách, vấn đề giải hệ phương trình khi khôi phục phần thân được mã hóa của virus giống với vấn đề mật mã cổ điển là khôi phục văn bản mật mã với các khóa không xác định. Tuy nhiên, ở đây nhiệm vụ này nghe có vẻ hơi khác: cần phải tìm hiểu xem liệu một mã được mã hóa nhất định có phải là kết quả của việc áp dụng một số chức năng đã biết cho các khóa hay không. Hơn nữa, nhiều dữ liệu để giải bài toán này đã được biết trước: một đoạn mã được mã hóa, một đoạn mã không được mã hóa, những lựa chọn khả thi các chức năng chuyển đổi. Hơn nữa, bản thân thuật toán của phép chuyển đổi này và các khóa cũng có trong các mã được phân tích. Tuy nhiên, có một hạn chế đáng kể là nhiệm vụ này phải được giải quyết trong phạm vi ranh giới cụ thể bộ nhớ truy cập tạm thời và thủ tục quyết định sẽ không mất nhiều thời gian.

Phân tích thống kê


Cũng được sử dụng để phát hiện virus đa hình. Trong quá trình hoạt động, máy quét sẽ phân tích tần suất sử dụng các lệnh của bộ xử lý, xây dựng bảng các lệnh bộ xử lý gặp phải (opcode) và dựa trên thông tin này sẽ đưa ra kết luận liệu tệp có bị nhiễm vi-rút hay không. Phương pháp này hiệu quả trong việc tìm kiếm một số loại vi-rút đa hình, vì những vi-rút này sử dụng một bộ lệnh giới hạn trong bộ giải mã, trong khi các tệp “sạch” sử dụng các lệnh hoàn toàn khác với tần suất khác. Ví dụ, tất cả các chương trình MS-DOS thường sử dụng ngắt 21h (opcode CDh 21h), nhưng lệnh này thực tế không bao giờ được tìm thấy trong bộ giải mã của virus DOS đa hình.
Nhược điểm chính của phương pháp này là có một số virus đa hình phức tạp sử dụng hầu hết tất cả các lệnh của bộ xử lý và từ bản sao này sang bản sao khác, tập lệnh được sử dụng thay đổi rất nhiều, tức là không thể phát hiện được virus bằng tần số được xây dựng. bàn.

Phân tích heuristic


Khi số lượng vi-rút vượt quá vài trăm, các chuyên gia chống vi-rút bắt đầu nghĩ đến ý tưởng phát hiện phần mềm độc hại mà chương trình chống vi-rút chưa biết đến sự tồn tại (không có chữ ký tương ứng). Kết quả là cái gọi là máy phân tích heuristic đã được tạo ra. Bộ phân tích heuristic là một tập hợp các quy trình phân tích mã của các tệp thực thi, macro, tập lệnh, bộ nhớ hoặc các phần khởi động để phát hiện các loại mã độc hại khác nhau. chương trình máy tính. Có hai nguyên tắc hoạt động của máy phân tích.

Phương pháp tĩnh. Tìm kiếm các chữ ký ngắn phổ biến có trong hầu hết các loại vi-rút (cái gọi là lệnh “đáng ngờ”). Ví dụ: một số lượng lớn vi-rút tìm kiếm vi-rút bằng mặt nạ *.EXE, mở tệp tìm thấy, ghi vào mở tập tin. Nhiệm vụ của heuristic trong trường hợp này là tìm ra các dấu hiệu phản ánh những hành động này. Sau đó, các chữ ký tìm thấy sẽ được phân tích và nếu tìm thấy một số "lệnh đáng ngờ" cần và đủ nhất định thì sẽ đưa ra quyết định rằng tệp đã bị nhiễm. Ưu điểm lớn nhất của phương pháp này là dễ thực hiện và tốc độ tốt hoạt động nhưng tỷ lệ phát hiện phần mềm độc hại mới khá thấp.

Phương pháp động. Phương pháp này xuất hiện đồng thời với việc đưa mô phỏng lệnh bộ xử lý vào các chương trình chống vi-rút (trình mô phỏng được mô tả chi tiết hơn bên dưới). Bản chất của phương pháp này là mô phỏng việc thực thi chương trình và ghi lại tất cả các hành động chương trình “đáng ngờ”. Dựa trên giao thức này, một quyết định được đưa ra có thể bị nhiễm trùng các chương trình có virus. Không giống như phương pháp tĩnh, phương pháp động đòi hỏi nhiều tài nguyên máy tính hơn, tuy nhiên mức độ phát hiện là phương pháp động cao hơn nhiều.

Thi đua


Công nghệ mô phỏng mã chương trình (hay Sandboxing) là phản ứng trước sự xuất hiện của một số lượng lớn virus đa hình. Ý tưởng của phương pháp này là mô phỏng việc thực thi một chương trình (cả chương trình bị nhiễm vi-rút và chương trình "sạch") trong một "môi trường" đặc biệt, còn được gọi là bộ đệm mô phỏng hoặc "hộp cát". Nếu người bị nhiễm vào trình giả lập virus đa hình tệp, sau đó sau khi mô phỏng, phần thân vi-rút được giải mã sẽ xuất hiện trong bộ đệm, sẵn sàng để phát hiện bằng các phương pháp tiêu chuẩn (tìm kiếm chữ ký hoặc CRC).
Các trình giả lập hiện đại không chỉ mô phỏng các lệnh của bộ xử lý mà còn cả các lệnh gọi hệ điều hành. Nhiệm vụ viết một trình giả lập chính thức khá tốn công, chưa kể khi sử dụng trình giả lập bạn phải liên tục theo dõi hành động của từng lệnh. Điều này là cần thiết để tránh vô tình thực thi các thành phần phá hoại của thuật toán virus.
Cần đặc biệt lưu ý rằng cần phải mô phỏng hoạt động của các hướng dẫn vi-rút và không theo dõi chúng, vì khi truy tìm vi-rút, khả năng gọi các hướng dẫn phá hoại hoặc mã chịu trách nhiệm phát tán vi-rút là quá cao.

Cơ sở dữ liệu công cụ chống vi-rút


Cơ sở dữ liệu là một phần không thể thiếu của công cụ chống vi-rút. Hơn nữa, nếu chúng ta giả định rằng một “công cụ” được thiết kế tốt không thay đổi thường xuyên, thì cơ sở dữ liệu chống vi-rút sẽ thay đổi liên tục, bởi vì trong cơ sở dữ liệu chống vi-rút có các chữ ký, tổng kiểm tra và đặc biệt. module phần mềmđể phát hiện phần mềm độc hại. Như đã biết, loại virus mới sâu mạng và phần mềm độc hại khác xuất hiện với tần suất đáng ghen tị và do đó điều quan trọng là cơ sở dữ liệu chống vi-rút phải được cập nhật thường xuyên nhất có thể. Nếu 5 năm trước, cập nhật hàng tuần là đủ thì ngày nay chỉ cần nhận được ít nhất các bản cập nhật hàng ngày cho cơ sở dữ liệu chống vi-rút.
Một điều cũng rất quan trọng là chính xác thì cơ sở dữ liệu chống vi-rút có những gì: chỉ có hồ sơ về vi-rút hay những hồ sơ bổ sung? thủ tục phần mềm. Trong trường hợp thứ hai, việc cập nhật chức năng của công cụ chống vi-rút sẽ dễ dàng hơn nhiều bằng cách cập nhật cơ sở dữ liệu.

Hỗ trợ các đối tượng lồng nhau "phức tạp"


Công cụ chống virus đã thay đổi rất nhiều trong vài năm qua. Nếu phần mềm chống vi-rút đầu tiên được coi là chương trình hạng nhất thì chỉ cần kiểm tra là đủ bộ nhớ hệ thống, các tập tin thực thi và lĩnh vực khởi động, thì chỉ vài năm sau, do sự phổ biến ngày càng tăng của các tiện ích đặc biệt để đóng gói các mô-đun thực thi, các nhà phát triển đã phải đối mặt với nhiệm vụ giải nén tệp đã đóng gói trước khi quét nó.
Sau đó vấn đề mới- vi-rút đã học cách lây nhiễm các tệp lưu trữ (và chính người dùng thường gửi các tệp bị nhiễm vào kho lưu trữ). Các chương trình chống vi-rút cũng buộc phải học cách xử lý các tệp lưu trữ. Năm 1995, virus macro đầu tiên xuất hiện lây nhiễm vào các tài liệu. Phần mềm soạn thảo văn bản. Điều đáng chú ý là định dạng tài liệu được Microsoft Word sử dụng là định dạng đóng và rất phức tạp. Một số công ty chống vi-rút vẫn chưa biết cách xử lý đầy đủ các tệp như vậy.
Ngày nay, do sự phổ biến rộng rãi E-mail, công cụ chống virus cũng xử lý cơ sở dữ liệu tin nhắn thư và chính các thông điệp đó.

Phương pháp phát hiện


Trong một “công cụ” chống virus điển hình được triển khai trong mọi chương trình chống vi rút, tất cả các công nghệ cần thiết đều được sử dụng để phát hiện phần mềm độc hại: bộ phân tích heuristic hiệu quả, trình mô phỏng hiệu suất cao và quan trọng nhất là kiến ​​trúc linh hoạt và hiệu quả của hệ thống con phát hiện phần mềm độc hại, cho phép sử dụng tất cả các phương pháp phát hiện được liệt kê ở trên.
Hầu hết mọi công cụ chống vi-rút đều sử dụng tính năng phát hiện tổng kiểm tra làm phương pháp cơ bản. Phương pháp này được lựa chọn dựa trên yêu cầu giảm thiểu kích thước của cơ sở dữ liệu diệt virus. Tuy nhiên, kiến ​​trúc của công cụ thường linh hoạt đến mức nó cho phép sử dụng bất kỳ phương pháp phát hiện nào được liệt kê ở trên, đây là điều được thực hiện đối với một số loại virus đặc biệt phức tạp. Điều này cho phép bạn đạt được mức độ phát hiện virus cao. Kiến trúc của công cụ chống vi-rút được trình bày chi tiết hơn trong sơ đồ ở phần sau của văn bản.
Ứng dụng thực tế của các phương pháp phát hiện virus đa hình (phân tích mật mã và phân tích thống kê, sử dụng mặt nạ thu gọn và mô phỏng) phụ thuộc vào việc chọn phương pháp tối ưu nhất về tốc độ và dung lượng bộ nhớ cần thiết. Mã của hầu hết các virus tự mã hóa đều được khôi phục khá dễ dàng bằng quy trình mô phỏng. Nếu không sử dụng trình giả lập giải pháp tối ưu, thì mã vi-rút sẽ được khôi phục bằng chương trình con thực hiện phép chuyển đổi nghịch đảo - phân tích mật mã. Để phát hiện các vi-rút không thể mô phỏng và các vi-rút không thể tạo ra sự biến đổi nghịch đảo, phương pháp xây dựng mặt nạ thu gọn được sử dụng.
Trong một số trường hợp phức tạp nhất, sự kết hợp của các phương pháp trên được sử dụng. Một phần của mã giải mã được mô phỏng và các lệnh thực sự chịu trách nhiệm về thuật toán giải mã được trích xuất từ ​​​​bộ giải mã. Sau đó, dựa trên thông tin nhận được, một hệ phương trình được xây dựng và giải để khôi phục mã virus và phát hiện nó.
Sự kết hợp của các phương pháp cũng được sử dụng khi sử dụng nhiều mã hóa, khi virus mã hóa phần thân của nó nhiều lần, sử dụng các thuật toán khác nhau mã hóa. Một phương pháp kết hợp phục hồi thông tin hoặc mô phỏng “thuần túy” của mã giải mã thường được sử dụng vì lý do mỗi loại virus mới phải được phân tích và đưa vào cơ sở dữ liệu chống vi-rút bên trong. điều khoản tối thiểu, không phải lúc nào cũng phù hợp với phân tích toán học cần thiết. Và kết quả là chúng ta phải sử dụng các phương pháp phức tạp hơn để phát hiện vi-rút, mặc dù thực tế là các phương pháp này khá có thể áp dụng được. phân tích toán học thuật toán giải mã.

Làm việc với các đối tượng "phức tạp"


Các công cụ chống vi-rút hỗ trợ làm việc với một số lượng lớn các định dạng đóng gói và lưu trữ. Các nhà phát triển hiếm khi xuất bản danh sách đầy đủ (hoặc ít nhất là đủ chi tiết) các định dạng được hỗ trợ. Sau đây là thông tin được công bố chính thức về việc hỗ trợ các định dạng “phức tạp” trong Kaspersky Anti-Virus. Trong các sản phẩm chống vi-rút khác, danh sách các định dạng được hỗ trợ phải gần giống nhau.
Công cụ chống vi-rút của Kaspersky hỗ trợ làm việc với hơn 400 tiện ích đa dạngđóng gói các tập tin thực thi, trình cài đặt và trình lưu trữ (tổng cộng có hơn 900 sửa đổi, tính đến tháng 5 năm 2003). Trong số đó:

Trình đóng gói tệp thực thi và hệ thống mã hóa. Phổ biến nhất trong số đó: Diet, AVPACK, COMPACK, Epack, ExeLock, ExePack, Expert, HackStop, Jam, LzExe, LzCom, PaquetBuilder, PGMPAK, PkLite, PackWin, Pksmart, Protect, ProtEXE, RelPack, Rerp, Rjcrush, Rucc, Scramb , SCRNCH, Shrink, Six-2-Four, Syspack, Trap, UCEXE, Univac, UPD, UPX (một số phiên bản), WWPACK, ASPack (một số phiên bản), ASProtect (một số phiên bản), Astrum, BitArts, BJFnt, Cexe, Kẻ lừa đảo, Phương ngữ, DXPack, Gleam, CodeSafe, ELFCrypt, JDPack, JDProtect, INFTool, Krypton, Neolite, ExeLock, NFO, NoodleCrypt, OptLink, PCPEC, PEBundle, PECompact (một số phiên bản), PCshrink, PE-Crypt, PE-Diminisher, PELock , PEncrypt, PE-Pack (nhiều phiên bản), PE-Protect, PE-Shield, Petite, Pex, PKLite32, SuperCede, TeLock, VBox, WWPack32, XLok, Yoda.
Việc hỗ trợ rất nhiều trình đóng gói và lưu trữ cho phép bạn giảm thời gian phân tích các loại vi-rút mới, điều này dẫn đến tăng tốc độ phản ứng với sự xuất hiện của vi-rút mới và đạt được mức độ phát hiện cao đối với các vi-rút đã biết.

Trình lưu trữ và trình cài đặt (tổng cộng hơn 60). Phổ biến nhất trong số đó: CAB, ARJ, ZIP, GZIP, Tar, AIN, HA, LHA, RAR, ACE, BZIP2, WiseSFX (một số phiên bản), CreateInstall, Inno Installer, StarDust Installer, MS Expand, GKWare Setup, SetupFactory, Chuyên gia cài đặt, NSIS, Astrum, PCInstall, Effect Office.
Hỗ trợ cho một số lượng lớn các loại trình lưu trữ đặc biệt quan trọng để thử nghiệm hệ thống bưu chính, vì phần lớn vi-rút được gửi qua thư ở dạng lưu trữ. Các đối tượng được giải nén bất kể mức độ lồng nhau của kho lưu trữ. Ví dụ: nếu một tệp bị nhiễm được đóng gói bằng tiện ích UPX và sau đó tệp đó được đóng gói bằng tiện ích UPX. kho lưu trữ ZIP, được đóng gói trong kho lưu trữ CAB, v.v., thì "công cụ" chống vi-rút vẫn có thể lấy được tập tin gốc và phát hiện virus.
Cần lưu ý rằng những cân nhắc như vậy không hề mang tính lý thuyết. Vâng, nó được biết đến rộng rãi ngựa thành Troy Backdoor.Rbot, được phân phối đóng gói ở nhiều các chương trình khác nhau(Ezip, Exe32Pack, ExeStealth, PecBundle, PECompact, FSG, UPX, Morphine, ASPack, Petite, PE-Pack, PE-Diminisher, PELock, PESpin, TeLock, Molebox, Yoda, Ezip, Krypton, v.v.).
Thuật toán giải nén kho lưu trữ thường có đủ trí thông minh để không giải nén tất cả các loại “quả bom lưu trữ” - các kho lưu trữ nhỏ chứa các tệp lớn (với tỷ lệ nén rất cao) hoặc một số tệp giống hệt nhau. Thông thường, việc quét một kho lưu trữ như vậy mất rất nhiều thời gian, nhưng các công cụ chống vi-rút hiện đại thường nhận ra những "quả bom" như vậy.

Cơ chế cập nhật cơ sở dữ liệu diệt virus và kích thước của chúng


Các bản cập nhật cơ sở dữ liệu chống vi-rút thường được phát hành nhiều lần trong ngày. Một số có thể phát hành bản cập nhật mỗi giờ một lần, một số - hai giờ một lần. Trong mọi trường hợp, với mức độ nguy hiểm cao hiện nay trên Internet, việc cập nhật thường xuyên cơ sở dữ liệu chống vi-rút như vậy là hoàn toàn chính đáng.
Kích thước của các bản cập nhật cho thấy kiến ​​trúc được cân nhắc kỹ lưỡng của công cụ chống vi-rút. Do đó, kích thước của các bản cập nhật thường xuyên từ các công ty hàng đầu trong ngành, theo quy định, không vượt quá 30 KB. Đồng thời, cơ sở dữ liệu chống vi-rút thường chứa khoảng 70% chức năng của toàn bộ công cụ chống vi-rút. Bất kỳ bản cập nhật nào cho cơ sở dữ liệu chống vi-rút đều có thể thêm hỗ trợ cho trình đóng gói hoặc trình lưu trữ mới. Do đó, bằng cách cập nhật cơ sở dữ liệu chống vi-rút hàng ngày, người dùng không chỉ nhận được các quy trình mới để phát hiện phần mềm độc hại mới mà còn nhận được bản cập nhật của toàn bộ chương trình chống vi-rút. Điều này cho phép bạn phản ứng rất linh hoạt với tình huống và đảm bảo sự bảo vệ tối đa cho người dùng.

Máy phân tích heuristic


Trình phân tích heuristic, một phần của hầu hết mọi chương trình chống vi-rút, sử dụng cả hai phương pháp phân tích được mô tả ở trên - phân tích mật mã và phân tích thống kê. Một máy phân tích phỏng đoán hiện đại được thiết kế ngay từ đầu để có thể mở rộng (không giống như hầu hết các máy phân tích phỏng đoán thế hệ đầu tiên, được thiết kế để chỉ phát hiện phần mềm độc hại trong các mô-đun thực thi).
Hiện tại, bộ phân tích heuristic cho phép bạn phát hiện các mã độc hại trong các tệp thực thi, các cung và bộ nhớ, cũng như các vi-rút tập lệnh mới và phần mềm độc hại dành cho Microsoft Office(và các chương trình khác sử dụng VBA), và cuối cùng, mã độc, được viết bằng các ngôn ngữ cấp cao như Microsoft Visual Nền tảng.
Kiến trúc linh hoạt và sự kết hợp của nhiều phương pháp khác nhau cho phép chúng tôi đạt được mức độ phát hiện phần mềm độc hại mới khá cao. Đồng thời, các nhà phát triển đang nỗ lực hết sức để giảm thiểu số lượng cảnh báo sai. Các sản phẩm được giới thiệu bởi các nhà lãnh đạo trong ngành diệt virus hiếm khi mắc lỗi trong việc phát hiện mã độc.

Sơ đồ hoạt động của công cụ chống vi-rút


Sơ đồ dưới đây mô tả thuật toán gần đúng hoạt động của công cụ chống vi-rút. Cần lưu ý rằng việc mô phỏng và tìm kiếm phần mềm độc hại đã biết và chưa biết diễn ra đồng thời.


Sơ đồ hoạt động của một công cụ chống vi-rút điển hình sử dụng ví dụ về Kaspersky Anti-Virus


Như đã đề cập ở trên, khi cập nhật cơ sở dữ liệu chống vi-rút, các mô-đun để giải nén các tệp và kho lưu trữ đã đóng gói, bộ phân tích heuristic và các mô-đun khác của công cụ chống vi-rút cũng được cập nhật và bổ sung.

Công nghệ gốc trong công cụ chống vi-rút


Hầu hết mọi nhà phát triển sản phẩm chống vi-rút đều triển khai một số công nghệ của riêng họ giúp chương trình hiệu quả và năng suất hơn. Một số công nghệ này liên quan trực tiếp đến thiết kế của “động cơ”, vì hiệu suất của toàn bộ giải pháp thường phụ thuộc vào hoạt động của nó. Tiếp theo, chúng tôi sẽ xem xét một số công nghệ có thể tăng tốc đáng kể việc xác minh đối tượng, đồng thời đảm bảo việc bảo quản Chất lượng cao phát hiện, cũng như cải thiện khả năng phát hiện và xử lý phần mềm độc hại trong các tệp lưu trữ.
Hãy bắt đầu với công nghệ iChecker. Công nghệ này và các công nghệ tương tự của nó được triển khai trong hầu hết các chương trình chống vi-rút hiện đại. Cần lưu ý rằng iChecker là cái tên được các chuyên gia của Kaspersky Lab đề xuất. Các chuyên gia, ví dụ như Panda Software gọi nó là UltraFast. Công nghệ này giúp đạt được sự cân bằng hợp lý giữa độ tin cậy bảo vệ máy trạm (và đặc biệt là máy chủ) và việc sử dụng tài nguyên hệ thống máy tính được bảo vệ. Nhờ công nghệ này, thời gian tải (tới 30-40%) của hệ điều hành giảm đáng kể (so với các biện pháp diệt virus truyền thống) và thời gian khởi chạy ứng dụng khi hoạt động. bảo vệ chống virus. Điều này đảm bảo rằng tất cả các tệp trên đĩa máy tính đã được quét và không bị nhiễm virus. Ý tưởng chính của công nghệ này là không cần kiểm tra những gì chưa thay đổi và đã được kiểm tra. Công cụ chống vi-rút duy trì một cơ sở dữ liệu đặc biệt trong đó tổng kiểm tra của tất cả các tệp được quét (và không bị nhiễm) được lưu trữ. Bây giờ, trước khi gửi tệp để xác minh, “công cụ” sẽ tính toán và so sánh tổng kiểm tra của tệp với dữ liệu được lưu trữ trong cơ sở dữ liệu. Nếu dữ liệu trùng khớp nghĩa là file đã được kiểm tra và không cần kiểm tra lại. Điều đáng chú ý là thời gian dành cho việc đếm tổng kiểm tra tập tin - ít hơn đáng kể so với thời gian quét chống vi-rút.
Một vị trí đặc biệt trong công việc chống vi-rút bị chiếm giữ bởi việc xử lý các đối tượng bị nhiễm được lưu trữ. Đây chính xác là những gì sẽ được thảo luận tiếp theo. iCure là một công nghệ xử lý các tập tin bị nhiễm virus trong kho lưu trữ. Nhờ công nghệ này, các đối tượng bị nhiễm bên trong các tệp lưu trữ sẽ được khử trùng thành công (hoặc bị xóa, tùy thuộc vào cài đặt chống vi-rút) mà không cần sử dụng các tiện ích lưu trữ bên ngoài. Ngày nay, hầu hết các phần mềm diệt virus đều hỗ trợ các loại sau kho lưu trữ: ARJ, CAB, RAR, ZIP. Nhờ kiến ​​trúc mô-đun và công nghệ cập nhật công cụ chống vi-rút, theo quy luật, người dùng có thể dễ dàng cập nhật và mở rộng danh sách các loại trình lưu trữ được hỗ trợ mà không cần khởi động lại chương trình chống vi-rút.
iArc là một công nghệ khác để làm việc với tập tin lưu trữ. Công nghệ này là cần thiết để làm việc với các kho lưu trữ nhiều tập. iArc cho phép bạn quét các kho lưu trữ nhiều tập và phát hiện vi-rút ngay cả khi chúng được đóng gói trong kho lưu trữ nhiều tập, do đó, cũng sẽ được đóng gói thành một kho lưu trữ nhiều tập.
Đa luồng. Công cụ chống vi-rút là một mô-đun đa luồng và có thể xử lý đồng thời (kiểm tra mã độc) một số đối tượng (tệp, cung, tập lệnh, v.v.).
Hầu hết các công nghệ được liệt kê ở trên đều được triển khai dưới dạng này hay dạng khác trong mọi sản phẩm chống vi-rút hiện đại.

Virus đa hình


Trong suốt bài viết, thuật ngữ virus "đa hình" và "tự mã hóa" thường được sử dụng. Như đã rõ từ các cuộc thảo luận trước đó, chính loại mã độc này đã có ảnh hưởng mạnh mẽ đến sự phát triển của công nghệ chống vi-rút. Sau đây là thông tin về các loại virus đa hình được cung cấp bởi các chuyên gia của Kaspersky Lab.

Các định nghĩa cơ bản: tự mã hóa và đa hình. Chúng được hầu hết các loại vi-rút sử dụng để làm phức tạp nhất có thể quy trình phát hiện vi-rút. Virus đa hình khá khó phát hiện những virus không có chữ ký, nghĩa là chúng không chứa một phần mã cố định. Trong hầu hết các trường hợp, hai mẫu của cùng một loại virus đa hình sẽ không có một mẫu trùng khớp nào. Điều này đạt được bằng cách mã hóa phần chính của virus và sửa đổi chương trình giải mã. Vi-rút đa hình bao gồm những vi-rút không thể phát hiện được (hoặc cực kỳ khó phát hiện) bằng cách sử dụng cái gọi là mặt nạ vi-rút - các phần mã không đổi dành riêng cho một loại vi-rút cụ thể. Điều này đạt được theo hai cách chính - bằng cách mã hóa mã vi-rút chính bằng khóa không cố định và một bộ lệnh giải mã ngẫu nhiên hoặc bằng cách thay đổi chính mã vi-rút thực thi. Ngoài ra còn có những ví dụ khá kỳ lạ khác về tính đa hình: ví dụ như virus "Bomber" trong DOS không được mã hóa, nhưng chuỗi lệnh chuyển quyền điều khiển sang mã virus là hoàn toàn đa hình.
Tính đa hình với mức độ phức tạp khác nhau được tìm thấy ở mọi loại vi-rút - từ vi-rút khởi động và tệp DOS đến vi-rút Windows và thậm chí cả vi-rút macro.

Bộ giải mã đa hình


Ví dụ đơn giản nhất về bộ giải mã đa hình một phần là tập hợp các lệnh sau, do đó không có một byte mã nào của chính virus và bộ giải mã của nó không đổi khi lây nhiễm các tệp khác nhau:

MOV reg_1, đếm ; reg_1, reg_2, reg_3 được chọn từ
MOV reg_2, khóa ; AX,BX,CX,DX,SI,DI,BP
MOV reg_3, _offset ; số đếm, khóa, _offset cũng có thể thay đổi
_vòng:
xxx byte ptr , reg_2 ; xor, thêm hoặc phụ
đăng ký tháng 12_1
Jxx_loop ; ja hoặc jnc
; Tiếp đến là mã và dữ liệu bị mã hóa của virus

Virus đa hình phức tạp sử dụng các thuật toán phức tạp hơn nhiều để tạo mã cho bộ giải mã của chúng: các hướng dẫn trên (hoặc tương đương của chúng) được sắp xếp lại từ lần lây nhiễm này sang lần lây nhiễm khác, được pha loãng bằng các lệnh không thay đổi bất cứ điều gì như NOP, STI, CLI, STC, CLC, vân vân.
Virus đa hình hoàn chỉnh thậm chí còn sử dụng các thuật toán phức tạp hơn, do đó bộ giải mã virus có thể chứa các hoạt động SUB, ADD, XOR, ROR, ROL và các thuật toán khác theo số lượng và thứ tự tùy ý. Việc tải và thay đổi khóa cũng như các tham số mã hóa khác cũng được thực hiện bằng một tập hợp thao tác tùy ý, trong đó có thể tìm thấy hầu hết tất cả các hướng dẫn của bộ xử lý Intel (ADD, SUB, TEST, XOR, OR, SHR, SHL, ROR, MOV, XCHG , JNZ, PUSH, POP. ..) cùng mọi người các chế độ có thểđịa chỉ. Các loại virus đa hình cũng xuất hiện, bộ giải mã của chúng sử dụng các lệnh lên tới Intel386, và vào mùa hè năm 1997, một loại virus đa hình 32-bit được phát hiện có khả năng lây nhiễm Các tập tin EXE của Windows 95.
Kết quả là, ở phần đầu của một tập tin bị nhiễm một loại virus tương tự, tuyển dụng đang được tiến hành những hướng dẫn dường như vô nghĩa. Điều thú vị là một số kết hợp khá chức năng không được chấp nhận bởi các trình phân tách độc quyền (ví dụ: kết hợp CS:CS: hoặc CS:NOP). Và trong số các lệnh và dữ liệu “mớ hỗn độn” này, MOV, XOR, LOOP, JMP thỉnh thoảng lọt qua - những hướng dẫn thực sự “đang hoạt động”.

Mức độ đa hình


Có sự phân chia các loại virus đa hình thành các cấp độ tùy thuộc vào độ phức tạp của mã được tìm thấy trong bộ giải mã của các loại virus này. Sự phân chia này lần đầu tiên được đề xuất bởi Tiến sĩ Alan Solomon, sau một thời gian Vesselin Bonchev đã mở rộng nó:

Cấp độ 1: Virus có bộ giải mã nhất định với mã không đổi; khi bị nhiễm bệnh, họ chọn một trong số họ. Những virus như vậy là “bán đa hình” và còn được gọi là “oligomorphic”. Ví dụ: "Cheeba", "Slovakia", "Cá voi".

Cấp độ 2: Bộ giải mã virus chứa một hoặc nhiều hướng dẫn cố định nhưng phần chính không ổn định.

Cấp độ 3: Bộ giải mã chứa các hướng dẫn không được sử dụng - "rác" như NOP, CLI, STI, v.v.

Cấp độ 4: Bộ giải mã sử dụng các lệnh có thể hoán đổi cho nhau và các lệnh sắp xếp lại (xáo trộn). Thuật toán giải mã không thay đổi.

Cấp độ 5: Sử dụng tất cả các kỹ thuật trên, thuật toán giải mã không cố định, có thể mã hóa lại mã virus và thậm chí mã hóa một phần chính mã giải mã.

Cấp độ 6: Cho phép virus biến đổi. Mã chính của virus có thể thay đổi - nó được chia thành các khối, khi bị nhiễm sẽ được sắp xếp lại theo thứ tự ngẫu nhiên. Virus vẫn hoạt động. Những virus như vậy có thể không được mã hóa.

Việc phân loại trên có những nhược điểm vì nó được thực hiện theo một tiêu chí duy nhất - khả năng phát hiện vi-rút bằng mã giải mã bằng kỹ thuật tiêu chuẩn của mặt nạ vi-rút:

Cấp độ 1: để phát hiện virus, chỉ cần có vài chiếc khẩu trang là đủ;
Cấp độ 2: phát hiện mặt nạ bằng "ký tự đại diện";
Cấp độ 3: phát hiện bằng mặt nạ sau khi loại bỏ hướng dẫn “rác”;
Cấp độ 4: mặt nạ chứa một số tùy chọn cho mã có thể, nghĩa là nó trở thành thuật toán;
Cấp độ 5: không thể phát hiện virus bằng khẩu trang.

Sự thiếu hụt khả năng phân chia như vậy được thể hiện ở virus có tính đa hình cấp 3, được gọi là “Cấp 3”. Loại vi-rút này, là một trong những loại vi-rút đa hình phức tạp nhất, theo cách phân chia trên, rơi vào Cấp độ 3, vì nó có thuật toán giải mã liên tục, trước đó là một số lượng lớn các lệnh "rác". Tuy nhiên, ở loại virus này, thuật toán tạo rác đã được hoàn thiện: hầu hết tất cả các hướng dẫn của bộ xử lý i8086 đều có thể được tìm thấy trong mã giải mã.
Nếu chúng ta chia thành các cấp độ theo quan điểm của các phần mềm chống vi-rút sử dụng hệ thống giải mã mã vi-rút tự động (trình giả lập), thì việc phân chia thành các cấp độ sẽ phụ thuộc vào độ phức tạp của việc mô phỏng mã vi-rút. Có thể phát hiện vi-rút bằng các phương pháp khác, chẳng hạn như giải mã bằng các định luật toán học cơ bản, v.v.
Một phân loại khách quan hơn sẽ là một phân loại trong đó, ngoài tiêu chí về mặt nạ chống vi-rút, các thông số khác cũng liên quan đến, ví dụ:

Mức độ phức tạp của mã đa hình (tỷ lệ phần trăm của tất cả các lệnh xử lý có thể tìm thấy trong mã giải mã);
Sử dụng các kỹ thuật đặc biệt gây khó khăn cho việc mô phỏng các phần mềm chống vi-rút;
Tính nhất quán của thuật toán giải mã;
Độ dài không đổi của bộ giải mã.


Thay đổi mã thực thi


Thông thường, phương pháp đa hình này được sử dụng bởi các virus macro, khi tạo các bản sao mới của chúng, chúng sẽ thay đổi ngẫu nhiên tên các biến của chúng, chèn dòng trống hoặc thay đổi mã của họ theo cách khác. Như vậy, thuật toán của virus vẫn không thay đổi nhưng mã virus thay đổi gần như hoàn toàn từ lần lây nhiễm này sang lần lây nhiễm khác.
Phương pháp này ít được các virus khởi động phức tạp sử dụng hơn. Những loại vi-rút như vậy chỉ đưa một quy trình khá ngắn vào khu vực khởi động, quy trình này đọc mã vi-rút chính từ đĩa và chuyển quyền điều khiển sang đó. Mã cho quy trình này được chọn từ một số tùy chọn khác nhau (cũng có thể được trộn lẫn với các lệnh “trống”), các lệnh được sắp xếp lại, v.v.
Kỹ thuật này thậm chí còn ít phổ biến hơn ở virus tập tin- suy cho cùng, họ phải thay đổi hoàn toàn mã của mình và điều này đòi hỏi những thuật toán khá phức tạp. Cho đến nay, chỉ có hai loại virus như vậy được biết đến, một trong số đó ("Ply") di chuyển ngẫu nhiên các lệnh của nó xung quanh cơ thể và thay thế chúng bằng các lệnh JMP hoặc CALL. Một loại vi-rút khác (“TMC”) sử dụng một phương pháp phức tạp hơn - mỗi lần bị nhiễm, vi-rút sẽ hoán đổi các khối mã và dữ liệu của nó, chèn “rác”, đặt các giá trị bù mới trên dữ liệu trong hướng dẫn lắp ráp của nó, thay đổi các hằng số, vân vân. Kết quả là, mặc dù virus không mã hóa mã của nó nhưng nó là một loại virus đa hình - không có bộ lệnh cố định trong mã. Hơn nữa, khi tạo bản sao mới của chính nó, virus sẽ thay đổi chiều dài của nó.

360 Bảo mật tổng thể- phần mềm diệt virus miễn phí từ Qihoo 360 với tính năng tối ưu hóa PC và bảo vệ thời gian thực chống lại tất cả các loại mối đe dọa trực tuyến với 5 công cụ: Avira và Bitdefender, QVM II chủ động và Cloud 360 Cloud, cũng như System Repair để khôi phục hệ thống

Mô tả chương trình

360 Total Security cung cấp khả năng bảo vệ toàn diện chống lại tất cả các loại phần mềm độc hại và các mối đe dọa trực tuyến.

Phần mềm chống vi-rút miễn phí từ Qihoo 360 sử dụng tính năng bảo vệ thời gian thực với các công cụ chống vi-rút Avira và Bitdefender, QVM II và 360 Cloud chủ động, cũng như System Repair để đánh giá toàn diện và khôi phục nhanh những thay đổi bất thường trong hệ điều hành Windows.

Khi bạn mua hàng trực tuyến, tải xuống tệp, truy cập các trang web có nhiều tài nguyên khác nhau trên Internet, 360 Total Security sẽ bảo vệ bạn khỏi các mối đe dọa trong thời gian thực. Ngoài ra, bạn có thể sử dụng tính năng dọn dẹp bằng một cú nhấp chuột để tối ưu hóa hiệu suất máy tính của mình.

Năm công cụ cung cấp mức độ tin cậy và bảo mật vô song - trực tuyến và ngoại tuyến, trong khi vẫn duy trì hiệu suất cao và hiệu suất hệ thống.

Các tính năng chính của 360 Total Security:

  • Phiên bản mới của 360 Total Security bổ sung công cụ diệt virus Avira và System Repair để khôi phục hệ thống về hệ thống hiện có Động cơ Bitdefender, QVM II chủ động và Cloud 360 Cloud.
  • Ngoài ra, chức năng dọn dẹp và tăng tốc chỉ bằng một cú nhấp chuột cũng được bổ sung để tối ưu hóa hiệu suất máy tính của bạn.

Các tính năng chính của 360 Total Security

Kiểm tra hệ thống
- Kiểm tra nhanh sức khỏe và bảo mật chung của máy tính của bạn chỉ bằng một cú nhấp chuột

Quét virus
- Sử dụng 5 công cụ hàng đầu, bao gồm 360 Cloud Engine / QVMII / Avira và Bitdefender cho bảo vệ toàn diệnphát hiện tốt hơn, cũng như System Repair để khôi phục hệ thống.

Tăng tốc hệ thống
- Cho phép bạn quản lý và tối ưu hóa khả năng tự khởi động của các ứng dụng, plugin và dịch vụ. Giảm thời gian khởi động PC của bạn.

Vệ sinh hệ thống
- Giúp giải phóng dung lượng ổ cứng bằng cách dọn dẹp tập tin không cần thiết từ máy tính của bạn và làm cho công việc của bạn hiệu quả hơn.

Bảo vệ thời gian thực
- Bảo vệ máy tính của bạn khỏi phần mềm độc hại, lừa đảo, các mối đe dọa tiềm ẩn và mới nổi bằng công nghệ đám mây nhanh và thông minh.

Ngày nay, hơn bao giờ hết, phần mềm chống vi-rút không chỉ được yêu cầu nhiều nhất trong hệ thống bảo mật của bất kỳ hệ điều hành nào mà còn là một trong những thành phần chính của nó. Và nếu trước đây người dùng có sự lựa chọn rất hạn chế, khiêm tốn thì giờ đây bạn có thể tìm thấy rất nhiều chương trình như vậy. Nhưng nếu bạn nhìn vào danh sách “10 phần mềm chống vi-rút hàng đầu”, bạn sẽ nhận thấy rằng không phải tất cả chúng đều tương đương về chức năng. Hãy xem xét các gói phổ biến nhất. Đồng thời, phân tích sẽ bao gồm cả phần mềm trả phí và phần mềm chia sẻ (phần mềm chống vi-rút trong 30 ngày) cũng như các ứng dụng được phân phối miễn phí. Nhưng điều đầu tiên trước tiên.

10 phần mềm diệt virus hàng đầu cho Windows: tiêu chí thử nghiệm

Trước khi bắt đầu tổng hợp xếp hạng, có lẽ bạn nên tự làm quen với các tiêu chí cơ bản được sử dụng trong hầu hết các trường hợp khi kiểm tra phần mềm đó.

Đương nhiên, đơn giản là không thể xem xét tất cả các gói đã biết. Tuy nhiên, trong số tất cả những thứ được thiết kế để đảm bảo sự bảo vệ tốt nhất cho hệ thống máy tính theo nghĩa rộng, chúng ta có thể đánh dấu những cái phổ biến nhất. Đồng thời, chúng tôi sẽ tính đến cả xếp hạng chính thức của các phòng thí nghiệm độc lập và đánh giá của người dùng sử dụng sản phẩm phần mềm này hoặc sản phẩm phần mềm đó trong thực tế. Ngoài ra, các chương trình di động sẽ không bị ảnh hưởng, chúng tôi sẽ tập trung vào các hệ thống cố định.

Đối với việc tiến hành các bài kiểm tra cơ bản, theo quy định, chúng bao gồm một số khía cạnh chính:

  • sự sẵn có của các phiên bản trả phí và miễn phí cũng như những hạn chế liên quan đến chức năng;
  • tốc độ quét tiêu chuẩn;
  • xác định nhanh chóng các mối đe dọa tiềm ẩn và khả năng loại bỏ hoặc cách ly chúng bằng các thuật toán tích hợp sẵn;
  • tần suất cập nhật cơ sở dữ liệu chống vi-rút;
  • tự vệ và độ tin cậy;
  • sự sẵn có của các tính năng bổ sung.

Như có thể thấy từ danh sách trên, việc kiểm tra hoạt động của phần mềm chống vi-rút cho phép bạn xác định điểm mạnh và điểm yếu của một sản phẩm cụ thể. Tiếp theo, tôi sẽ xem xét các gói phần mềm phổ biến nhất có trong Top 10 phần mềm chống vi-rút và tất nhiên cũng đưa ra các đặc điểm chính của chúng, có tính đến ý kiến ​​​​của những người sử dụng chúng trong công việc hàng ngày.

Sản phẩm phần mềm Kaspersky Lab

Đầu tiên, chúng ta hãy xem các mô-đun phần mềm được phát triển bởi Kaspersky Lab, chúng cực kỳ phổ biến ở không gian hậu Xô Viết.

Không thể chỉ chọn ra một chương trình ở đây, vì trong số đó bạn cũng có thể tìm thấy một chương trình thường xuyên máy quét kaspersky Chống virus và các mô-đun như bảo mật mạng, Và tiện ích di động kiểu Loại bỏ vi-rút Công cụ và thậm chí cả đĩa khởi động bị hỏng Hệ thống cứu hộĐĩa.

Cần lưu ý ngay hai nhược điểm chính: thứ nhất, đánh giá qua các đánh giá, hầu hết tất cả các chương trình, trừ những trường hợp ngoại lệ hiếm hoi, đều là phần mềm trả phí hoặc phần mềm chia sẻ, và thứ hai, yêu cầu hệ thống cao một cách vô lý, khiến chúng không thể sử dụng chúng ở những cấu hình tương đối yếu. Đương nhiên, điều này khiến nhiều người dùng bình thường sợ hãi, mặc dù phím kích hoạt Kaspersky Antivirus hoặc Internet Security có thể dễ dàng được tìm thấy trên World Wide Web.

Mặt khác, tình huống kích hoạt có thể được khắc phục theo cách khác. Ví dụ: khóa Kaspersky có thể được tạo bằng cách sử dụng ứng dụng đặc biệt như Trình quản lý khóa. Đúng, nói một cách nhẹ nhàng thì cách tiếp cận này là bất hợp pháp, tuy nhiên, như một lối thoát, nó được nhiều người dùng sử dụng.

Tốc độ hoạt động tại xe ô tô hiện đại nằm trong phạm vi trung bình (vì lý do nào đó, ngày càng có nhiều phiên bản nặng được tạo ra cho các cấu hình mới), nhưng cơ sở dữ liệu được cập nhật liên tục, các công nghệ độc đáo để xác định và loại bỏ các vi-rút đã biết và có khả năng chương trình nguy hiểmở trên cùng đây. Không có gì đáng ngạc nhiên khi Phòng thí nghiệm Kapersky ngày nay dẫn đầu trong số các nhà phát triển phần mềm bảo mật.

Và hai lời nữa về đĩa khôi phục. Nó độc đáo theo cách riêng của nó, vì nó tải máy quét với giao diện đồ họa ngay cả trước khi Windows khởi động, cho phép bạn loại bỏ các mối đe dọa ngay cả khỏi RAM.

Điều tương tự cũng xảy ra với thiết bị di động Tiện ích virus Công cụ loại bỏ, có khả năng theo dõi mọi mối đe dọa trên thiết bị đầu cuối bị nhiễm. Nó chỉ có thể được so sánh với một tiện ích tương tự từ Dr. Web.

Bảo vệ khỏi Dr. Web

Trước chúng tôi là một trong những đại diện mạnh nhất trong lĩnh vực bảo mật - "Doctor Web" nổi tiếng, người đứng đầu việc tạo ra tất cả các phần mềm chống vi-rút từ thời xa xưa.

Giữa lượng lớn Bạn cũng có thể tìm thấy các máy quét tiêu chuẩn, công cụ bảo mật để lướt Internet, các tiện ích di động và đĩa khôi phục. Bạn không thể liệt kê tất cả mọi thứ.

Các yếu tố chính có lợi cho phần mềm của nhà phát triển này bao gồm tốc độ cao, phát hiện tức thì các mối đe dọa với khả năng loại bỏ hoặc cô lập hoàn toàn chúng, cũng như tải vừa phải trên toàn bộ hệ thống. Nhìn chung, theo quan điểm của hầu hết người dùng, đây là một loại phiên bản nhẹ của Kaspersky. Vẫn có điều gì đó thú vị ở đây. Đặc biệt, đây là TS. Katana Web. Người ta cho rằng đây là sản phẩm phần mềm thế hệ mới. Nó tập trung vào việc sử dụng công nghệ “cát”, tức là đặt mối đe dọa vào “đám mây” hoặc “hộp cát” (bạn muốn gọi nó là gì cũng được) để phân tích trước khi nó xâm nhập vào hệ thống. Tuy nhiên, nếu bạn nhìn vào nó, không có sự đổi mới cụ thể nào ở đây cả, bởi vì kỹ thuật này đã được sử dụng trong phần mềm diệt virus Panda miễn phí. Ngoài ra, theo đánh giá của nhiều người dùng, Dr. Web Katana là một loại Không gian bảo mật có cùng công nghệ. Tuy nhiên, nhìn chung, bất kỳ phần mềm nào của nhà phát triển này đều khá ổn định và mạnh mẽ. Không có gì đáng ngạc nhiên khi nhiều người dùng thích những gói như vậy.

chương trình ESET

Nói về Top 10 phần mềm diệt virus không thể không nhắc đến một đại diện sáng giá khác của lĩnh vực này - công ty ESET, đã trở nên nổi tiếng nhờ sản phẩm nổi tiếng như NOD32. Một lát sau, mô-đun ESET Smart Security đã ra đời.

Nếu chúng ta xem xét các chương trình này, chúng ta có thể nhận thấy một điểm thú vị. Để kích hoạt đầy đủ chức năng của bất kỳ gói nào, bạn có thể thực hiện hai việc. Một mặt, đây là việc mua lại giấy phép chính thức. Mặt khác, bạn có thể cài đặt dùng thử phần mềm diệt virus miễn phí, nhưng kích hoạt nó sau mỗi 30 ngày. Tình huống kích hoạt cũng rất thú vị.

Như tất cả người dùng đều lưu ý, đối với ESET Smart Security (hoặc đối với diệt virus tiêu chuẩn) trên trang web chính thức, bạn có thể tìm thấy các khóa được phân phối miễn phí dưới dạng thông tin đăng nhập và mật khẩu. Cho đến gần đây, chỉ có thể sử dụng dữ liệu này. Giờ đây, quá trình này đã trở nên phức tạp hơn một chút: trước tiên, bạn cần đăng nhập và đặt mật khẩu trên một trang web đặc biệt, chuyển đổi nó thành số giấy phép và chỉ sau đó nhập nó vào trường đăng ký trong chính chương trình. Tuy nhiên, nếu bạn không chú ý đến những chuyện vặt vãnh như vậy, bạn có thể lưu ý rằng phần mềm chống vi-rút này là một trong những phần mềm tốt nhất. Ưu điểm được người dùng ghi nhận:

  • cơ sở dữ liệu chữ ký virus được cập nhật nhiều lần trong ngày,
  • xác định các mối đe dọa ở mức cao nhất,
  • không có xung đột với các thành phần hệ thống (tường lửa),
  • gói hàng có khả năng tự vệ mạnh nhất,
  • không có báo động sai, v.v.

Riêng biệt, điều đáng chú ý là tải trên hệ thống là tối thiểu và việc sử dụng mô-đun Chống Trộm thậm chí còn cho phép bạn bảo vệ dữ liệu khỏi bị đánh cắp hoặc lạm dụng để thu lợi cá nhân.

Phần mềm diệt virus AVG

AVG Antivirus là phần mềm trả phí được thiết kế để cung cấp khả năng bảo mật toàn diện hệ thống máy tính(cũng có phiên bản rút gọn miễn phí). Và mặc dù ngày nay gói này không còn nằm trong top 5 nhưng nó vẫn thể hiện tốc độ và độ ổn định khá cao.

Về nguyên tắc, nó lý tưởng để sử dụng tại nhà, vì ngoài tốc độ, nó còn có giao diện Nga hóa tiện lợi và hoạt động ít nhiều ổn định. Đúng, như một số người dùng lưu ý, đôi khi nó có thể bỏ sót các mối đe dọa. Và điều này không áp dụng cho virus mà đúng hơn là cho phần mềm gián điệp hoặc quảng cáo “rác” mang tên Malware và Adware. Mô-đun riêng của chương trình, mặc dù được quảng cáo rộng rãi nhưng theo người dùng, vẫn có vẻ chưa hoàn thiện. Và một tường lửa bổ sung thường có thể gây ra xung đột với tường lửa Windows “gốc” nếu cả hai mô-đun đều hoạt động.

gói Avira

Avira là một thành viên khác trong gia đình chống vi-rút. Về cơ bản nó không khác biệt so với hầu hết các gói tương tự. Tuy nhiên, nếu bạn đọc đánh giá của người dùng về nó, bạn có thể tìm thấy những bài viết khá thú vị.

Nhiều người không khuyên bạn nên sử dụng phiên bản miễn phí trong bất kỳ trường hợp nào, vì đơn giản là nó thiếu một số mô-đun. Cung cấp bảo vệ đáng tin cậy, bạn sẽ phải mua sản phẩm trả phí. Nhưng phần mềm chống vi-rút như vậy phù hợp với phiên bản 8 và 10, trong đó bản thân hệ thống sử dụng nhiều tài nguyên và gói sử dụng chúng ở mức thấp nhất. Về cơ bản, Avira tốt hơn Nó chỉ phù hợp với máy tính xách tay giá rẻ và máy tính yếu. Tuy nhiên, việc cài đặt mạng là không cần thiết.

Dịch vụ đám mây Panda Cloud

Miễn phí đã có lúc gần như trở thành một cuộc cách mạng trong lĩnh vực công nghệ chống vi-rút. Việc sử dụng cái gọi là “hộp cát” để gửi nội dung đáng ngờ để phân tích trước khi xâm nhập vào hệ thống đã khiến ứng dụng này trở nên đặc biệt phổ biến đối với người dùng ở mọi cấp độ.

Và chính xác là với “hộp cát” mà phần mềm chống vi-rút này được liên kết ngày nay. Vâng, thực sự, công nghệ này, không giống như các chương trình khác, cho phép bạn ngăn chặn các mối đe dọa xâm nhập vào hệ thống. Ví dụ: bất kỳ vi-rút nào trước tiên đều lưu phần thân của nó trên ổ cứng hoặc trong RAM và chỉ sau đó mới bắt đầu hoạt động. Ở đây vấn đề không liên quan đến việc bảo tồn. Đầu tiên, tệp đáng ngờ được gửi đến dịch vụ điện toán đám mây, nơi nó được kiểm tra và chỉ khi đó nó mới có thể được lưu vào hệ thống. Đúng, theo những người chứng kiến, thật không may, việc này có thể mất khá nhiều thời gian và tải hệ thống một cách không cần thiết. Mặt khác, bạn nên tự hỏi điều gì quan trọng hơn: bảo mật hay tăng thời gian xác minh? Tuy nhiên, đối với cấu hình máy tính hiện đại có tốc độ kết nối Internet từ 100 Mbit/s trở lên, nó có thể được sử dụng mà không gặp vấn đề gì. Nhân tiện, sự bảo vệ riêng của nó được cung cấp chính xác thông qua “đám mây”, điều này đôi khi gây ra những lời chỉ trích.

Trình quét virus Avast Pro

Bây giờ là vài lời về một đại diện nổi bật khác, nó khá phổ biến đối với nhiều người dùng, tuy nhiên, mặc dù có cùng sandbox, chống phần mềm gián điệp, quét mạng, tường lửa và tài khoản ảo, thật không may, Avast Pro Antivirus lại vượt trội hơn về mặt Các chỉ số chính về hiệu suất, chức năng và độ tin cậy rõ ràng đã thua những gã khổng lồ như các sản phẩm phần mềm hoặc ứng dụng của Kaspersky Lab sử dụng công nghệ Bitdefender, mặc dù nó thể hiện tốc độ quét cao và mức tiêu thụ tài nguyên thấp.

Người dùng bị thu hút bởi sản phẩm này chủ yếu bởi phiên bản miễn phí của gói có nhiều chức năng nhất có thể và không khác nhiều so với phần mềm trả phí. Ngoài ra, phần mềm chống vi-rút này hoạt động trên tất cả mọi người Phiên bản Windows, bao gồm cả “ten” và hoạt động hoàn hảo ngay cả trên những máy lỗi thời.

Gói bảo mật 360

Trước mắt chúng ta có lẽ là một trong những phần mềm diệt virus nhanh nhất trong thời đại chúng ta - 360 Security, được phát triển bởi các chuyên gia Trung Quốc. Nhìn chung, tất cả các sản phẩm được gắn nhãn “360” đều được phân biệt bởi tốc độ hoạt động đáng ghen tị (cùng trình duyệt Internet 360 Safety Browser).

Bất chấp mục đích chính của nó, chương trình có các mô-đun bổ sung để loại bỏ các lỗ hổng của hệ điều hành và tối ưu hóa nó. Nhưng cả tốc độ hoạt động lẫn khả năng phân phối miễn phí đều không thể so sánh được với các cảnh báo sai. Trong danh sách các chương trình có chỉ số cao nhất cho tiêu chí này, phần mềm này chiếm một trong những vị trí đầu tiên. Theo nhiều chuyên gia, xung đột nảy sinh ở cấp độ hệ thống do các trình tối ưu hóa bổ sung, hoạt động của chúng xen kẽ với việc thực thi các tác vụ của chính hệ điều hành.

Các sản phẩm phần mềm dựa trên công nghệ Bitdefender

Một “ông già” khác trong số những người bảo vệ hệ điều hành nổi tiếng nhất là Bitdefender. Thật không may, vào năm 2015, nó đã thua trước các sản phẩm của Kaspersky Lab, tuy nhiên, có thể nói, trong lĩnh vực chống vi-rút, nó là một trong những công ty đi đầu trong xu hướng.

Nếu bạn nhìn kỹ hơn một chút, bạn sẽ nhận thấy rằng có rất nhiều chương trình hiện đại(cùng gói Bảo mật 360) ở các biến thể khác nhau được thực hiện chính xác trên cơ sở các công nghệ này. Mặc dù có cơ sở chức năng phong phú nhưng nó cũng có những nhược điểm. Đầu tiên, bạn sẽ không tìm thấy Bitdefender chống vi-rút (Nga) của Nga, vì nó hoàn toàn không tồn tại trong tự nhiên. Thứ hai, mặc dù sử dụng những phát triển công nghệ mới nhất để bảo vệ hệ thống, nhưng thật không may, nó lại có tỷ lệ dương tính giả quá cao (nhân tiện, theo các chuyên gia, đây là điển hình cho toàn bộ nhóm chương trình được tạo ra trên cơ sở Bitdefender). Sự hiện diện của các thành phần tối ưu hóa bổ sung và tường lửa của riêng chúng thường không ảnh hưởng tốt hơn đến hoạt động của các phần mềm chống vi-rút đó. Nhưng bạn không thể phủ nhận tốc độ của ứng dụng này. Ngoài ra, P2P được sử dụng để xác minh nhưng không có xác minh email theo thời gian thực, điều này khiến nhiều người không thích.

Phần mềm diệt virus từ Microsoft

Một ứng dụng khác được phân biệt bởi hoạt động đáng ghen tị của nó có hoặc không có lý do là ứng dụng của riêng nó sản phẩm của Microsoftđược gọi là Những yếu tố cần thiết về bảo mật.

Rõ ràng, gói này được đưa vào danh sách 10 phần mềm chống vi-rút hàng đầu chỉ vì nó được thiết kế dành riêng cho hệ thống Windows, điều đó có nghĩa là nó hoàn toàn không gây ra bất kỳ xung đột nào ở cấp hệ thống. Ngoài ra, ai khác, nếu không phải là các chuyên gia của Microsoft, lại biết hết các lỗ hổng bảo mật và lỗ hổng bảo mật trên hệ điều hành của chính họ. Nhân tiện, điều thú vị là ban đầu Bản dựng Windows 7 và Windows 8 có MSE làm tiêu chuẩn, nhưng sau đó vì lý do nào đó họ đã từ bỏ bộ công cụ này. Tuy nhiên, đối với Windows, nó có thể trở thành giải pháp đơn giản nhất về mặt bảo mật, mặc dù bạn không thể tin tưởng vào bất kỳ chức năng đặc biệt nào.

ứng dụng McAfee

Đối với ứng dụng này, nó trông khá thú vị. Tuy nhiên, nó đã đạt được sự phổ biến lớn nhất trong lĩnh vực ứng dụng trên thiêt bị di động Tuy nhiên, với tất cả các loại chặn, trên máy tính để bàn, phần mềm chống vi-rút này hoạt động không tệ hơn.

Chương trình có hỗ trợ cấp thấp cho mạng P2P với chia sẻ vào các tệp Instant Messenger, đồng thời cung cấp khả năng bảo vệ 2 cấp, trong đó vai trò chính được trao cho các mô-đun WormStopper và ScriptStopper. Nhưng nhìn chung, theo người tiêu dùng, bộ chức năng ở mức trung bình, bản thân chương trình tập trung nhiều hơn vào việc xác định phần mềm gián điệp, sâu máy tính và Trojan cũng như ngăn chặn sự xâm nhập vào hệ thống. tập lệnh thực thi hoặc mã độc hại.

Phần mềm chống virus và tối ưu hóa kết hợp

Đương nhiên, chỉ những phần mềm nằm trong Top 10 phần mềm chống vi-rút mới được xem xét ở đây. Nếu chúng ta nói về các phần mềm khác thuộc loại này, chúng ta có thể lưu ý một số gói có chứa các mô-đun chống vi-rút trong bộ của chúng.

Những gì để thích?

Đương nhiên, tất cả các phần mềm diệt virus đều có những điểm tương đồng và khác biệt nhất định. Cài đặt cái gì? Ở đây bạn cần tiến hành từ nhu cầu và mức độ bảo vệ được cung cấp. Thường xuyên, tới khách hàng doanh nghiệp thật đáng để mua thứ gì đó mạnh mẽ hơn với khả năng cài đặt mạng(Kaspersky, Tiến sĩ Web, ESET). Đối với việc sử dụng tại nhà, ở đây người dùng chọn những gì mình cần (nếu muốn, bạn thậm chí có thể tìm thấy một phần mềm chống vi-rút trong một năm - mà không cần đăng ký hoặc mua). Tuy nhiên, nếu bạn xem xét đánh giá của người dùng, tốt hơn hết bạn nên cài đặt Panda Cloud, ngay cả khi hệ thống phải tải thêm một chút và mất thời gian để kiểm tra trong hộp cát. Nhưng đây là nơi có sự đảm bảo hoàn toàn rằng mối đe dọa sẽ không xâm nhập vào hệ thống dưới bất kỳ hình thức nào. Tuy nhiên, mọi người đều có thể tự do lựa chọn cho mình chính xác những gì họ cần. Nếu việc kích hoạt không khó, xin vui lòng: chúng hoạt động tốt trong hệ thống gia đình sản phẩm ESET. Nhưng việc sử dụng các trình tối ưu hóa với các mô-đun chống vi-rút làm phương tiện bảo vệ chính là điều cực kỳ không mong muốn. Chà, cũng không thể nói chương trình nào chiếm vị trí đầu tiên: có rất nhiều người dùng, rất nhiều ý kiến.

Công cụ chống vi-rút.

Một trong những phần chính của bất kỳ phần mềm chống vi-rút nào là cái gọi là "công cụ" chống vi-rút - một mô-đun chịu trách nhiệm quét các đối tượng và phát hiện phần mềm độc hại. Chất lượng phát hiện phần mềm độc hại và do đó, mức độ bảo vệ do phần mềm chống vi-rút cung cấp phụ thuộc vào công cụ chống vi-rút, cách nó được thiết kế cũng như phương pháp phát hiện và chẩn đoán mà nó sử dụng.

Bài viết này mô tả chi tiết các công nghệ tiêu chuẩn và một số phương pháp ban đầu của các nhà phát triển phần mềm chống vi-rút khác nhau được triển khai trong công cụ chống vi-rút. Trong quá trình này, một số vấn đề kỹ thuật liên quan sẽ được xem xét cần thiết để đánh giá chất lượng của công cụ chống vi-rút và làm rõ các công nghệ được sử dụng trong đó.

“Động cơ” tốt hay xấu?

Thật không may, các nhà phát triển phần mềm chống vi-rút rất hiếm khi tiết lộ chi tiết triển khai công cụ của họ. Tuy nhiên, bằng những dấu hiệu gián tiếp bạn có thể xác định được “động cơ” có tốt hay không. Dưới đây là các tiêu chí chính để bạn có thể xác định chất lượng của công cụ chống vi-rút:
Chất lượng phát hiện Phần mềm chống vi-rút phát hiện vi-rút tốt như thế nào? Tiêu chí này có thể được đánh giá dựa trên kết quả của nhiều thử nghiệm khác nhau do một số tổ chức thực hiện và thường được trình bày trên tài nguyên web của nhà phát triển.

Mức độ phát hiện của máy phân tích heuristic. Thật không may, không thể xác định thông số này nếu không thử nghiệm trên một bộ sưu tập vi-rút, nhưng bạn có thể khá dễ dàng xác định mức độ dương tính giả đối với một công cụ cụ thể.

Tỷ lệ dương tính giả. Nếu trên 100% tệp không bị nhiễm, phần mềm chống vi-rút báo cáo rằng nó đã phát hiện thấy một tệp có thể bị nhiễm thì đây là kết quả dương tính giả. Chúng ta có nên tin tưởng một máy phân tích chẩn đoán có thể gây khó chịu cho người dùng khi đưa ra cảnh báo sai không? Rốt cuộc, do có một số lượng lớn kết quả dương tính giả, người dùng có thể bỏ sót một loại vi-rút thực sự mới.

Hỗ trợ một số lượng lớn các trình đóng gói và lưu trữ. Đây là một yếu tố rất quan trọng, vì thường những kẻ tạo ra phần mềm độc hại, sau khi viết vi-rút, đóng gói nó với một số tiện ích để đóng gói các mô-đun thực thi và sau khi nhận được một số loại vi-rút khác nhau, sẽ phát hành chúng ra thế giới. Về cơ bản, tất cả các loại virus này đều là những trường hợp của cùng một biến thể. Đối với một công cụ chống vi-rút hỗ trợ tất cả hoặc gần như tất cả các tiện ích đóng gói phổ biến, sẽ không khó để xác định tất cả các trường hợp này của cùng một loại vi-rút, gọi chúng bằng cùng tên; đối với các công cụ khác, sẽ cần phải cập nhật cơ sở dữ liệu chống vi-rút ( cũng như thời gian để các chuyên gia chống vi-rút phân tích trường hợp vi-rút).

Tần suất và kích thước của các bản cập nhật cơ sở dữ liệu chống vi-rút. Các thông số này là dấu hiệu gián tiếp về chất lượng của động cơ. Vì việc phát hành các bản cập nhật thường xuyên đảm bảo rằng người dùng sẽ luôn được bảo vệ khỏi các loại virus mới xuất hiện. Kích thước của bản cập nhật (và số lượng vi-rút được phát hiện trong bản cập nhật này) nói lên chất lượng thiết kế của cơ sở dữ liệu chống vi-rút và một phần là động cơ.

Khả năng cập nhật công cụ mà không cần cập nhật chương trình chống vi-rút. Đôi khi, để phát hiện vi-rút, không chỉ cần cập nhật cơ sở dữ liệu chống vi-rút mà còn cả chính “động cơ” đó. Nếu phần mềm chống vi-rút không hỗ trợ tính năng này thì người dùng có thể không được bảo vệ khi đối mặt với vi-rút mới. Ngoài ra, tính năng này cho phép bạn nhanh chóng cải thiện động cơ và sửa các lỗi trong đó.

"Động cơ" chống vi-rút: các công nghệ hiện có

Với sự ra đời của những virus máy tính đầu tiên, các lập trình viên đã nhanh chóng tìm ra cách chúng hoạt động và tạo ra các chương trình chống virus đầu tiên. Đã khá nhiều thời gian trôi qua kể từ đó, và phần mềm chống vi-rút hiện đại khác với những phần mềm chống vi-rút đầu tiên đó, giống như máy tính cá nhân khác với máy tính.

Trong đoạn đầu tiên của bài viết này, một định nghĩa có phần “ngây thơ” về “công cụ” chống vi-rút đã được đưa ra. Tiếp theo, một số định nghĩa chính xác và mô tả công nghệ sẽ được đưa ra, cuối cùng, sẽ cho phép bạn hiểu đầy đủ về cấu trúc và thuật toán của công cụ chống vi-rút.

Anti-Virus Engine là một mô-đun phần mềm được thiết kế để phát hiện phần mềm độc hại. "Công cụ" là thành phần chính của bất kỳ chương trình chống vi-rút nào, bất kể mục đích của nó là gì. Công cụ này được sử dụng cả trong các sản phẩm cá nhân - máy quét hoặc màn hình cá nhân và trong các giải pháp máy chủ - máy quét cho máy chủ thư hoặc tệp, tường lửa hoặc máy chủ proxy. Theo quy định, để phát hiện phần mềm độc hại, hầu hết các “công cụ” đều triển khai các công nghệ sau:
Tìm kiếm theo "chữ ký" (một chuỗi byte duy nhất);
Tìm kiếm theo tổng kiểm tra hoặc CRC (tổng kiểm tra với một chuỗi byte duy nhất);
Sử dụng mặt nạ giảm thiểu;
Phân tích mật mã;
Phân tích thống kê;
Phân tích heuristic;
Thi đua.
Chúng ta hãy xem xét từng phương pháp này chi tiết hơn.

Tìm kiếm theo "chữ ký"

Chữ ký là một “chuỗi” byte duy nhất mô tả duy nhất một chương trình độc hại cụ thể. Tìm kiếm chữ ký, trong bản sửa đổi này hay bản sửa đổi khác, đã được sử dụng để phát hiện vi-rút và phần mềm độc hại khác, từ những chương trình chống vi-rút đầu tiên cho đến ngày nay. Ưu điểm không thể phủ nhận của tìm kiếm dấu hiệu là tốc độ hoạt động (tất nhiên là sử dụng các thuật toán được phát triển đặc biệt) và khả năng phát hiện một số loại vi-rút chỉ bằng một dấu hiệu. Nhược điểm - kích thước của chữ ký để phát hiện đáng tin cậy phải khá lớn, ít nhất là 8-12 byte (thường các chữ ký dài hơn nhiều được sử dụng để phát hiện chính xác, lên tới 64 byte), do đó, kích thước của cơ sở dữ liệu chống vi-rút sẽ lớn Khá là lớn. Ngoài ra, gần đây, các chương trình độc hại được viết bằng ngôn ngữ cấp cao (C++, Delphi, Visual Basic) ngày càng trở nên phổ biến và các chương trình như vậy có các phần mã riêng biệt mà thực tế không thay đổi (cái gọi là Thư viện thời gian chạy). ). Chữ ký được chọn không chính xác chắc chắn sẽ dẫn đến kết quả dương tính giả - phát hiện một tệp "sạch", không bị nhiễm virus là bị nhiễm vi-rút. Để giải quyết vấn đề này, người ta đề xuất sử dụng chữ ký rất lớn hoặc sử dụng tính năng phát hiện cho các vùng dữ liệu nhất định, ví dụ: bảng định vị lại hoặc chuỗi văn bản, điều này không phải lúc nào cũng tốt.

Tìm kiếm theo tổng kiểm tra (CRC)

Tìm kiếm theo tổng kiểm tra (CRC - cycle redundancy check), về bản chất, là một biến thể của tìm kiếm bằng chữ ký. Phương pháp này được phát triển để tránh những nhược điểm chính của tìm kiếm chữ ký - kích thước của cơ sở dữ liệu và giảm khả năng dương tính giả. Bản chất của phương pháp này là để tìm kiếm mã độc, không chỉ lấy dòng "tham chiếu" - chữ ký, hay nói đúng hơn là tổng kiểm tra của dòng này, mà còn cả vị trí của chữ ký trong phần nội dung của chương trình độc hại. Vị trí được sử dụng để tránh phải tính tổng kiểm tra cho toàn bộ tệp. Do đó, thay vì 10-12 byte chữ ký (tối thiểu), 4 byte được sử dụng để lưu trữ tổng kiểm tra và 4 byte khác cho vị trí. Tuy nhiên, phương pháp tìm kiếm tổng kiểm tra có phần chậm hơn so với tìm kiếm chữ ký.
Việc sử dụng mặt nạ để phát hiện mã độc thường khá phức tạp do có mã hóa (còn gọi là virus đa hình), vì không thể chọn mặt nạ hoặc mặt nạ có kích thước tối đa không thỏa mãn điều kiện rõ ràng. xác định virus mà không có kết quả dương tính giả.
Việc không thể chọn mặt nạ có kích thước đủ trong trường hợp virus đa hình là điều dễ dàng giải thích. Bằng cách mã hóa phần thân của nó, vi-rút đảm bảo rằng hầu hết mã của nó trong đối tượng bị ảnh hưởng là một biến và do đó, không thể được chọn làm mặt nạ. (Các loại virus tự mã hóa và đa hình được mô tả chi tiết hơn ở phần phụ lục cuối bài).
Để phát hiện những loại virus như vậy, các phương pháp sau được sử dụng: sử dụng mặt nạ thu gọn, phân tích mật mã và phân tích thống kê. Chúng ta hãy xem xét các phương pháp này chi tiết hơn.

Sử dụng mặt nạ giảm

Khi lây nhiễm vào các đối tượng, virus sử dụng mã hóa sẽ chuyển đổi mã của nó thành chuỗi dữ liệu được mã hóa:
S = F(T), trong đó
T - mã cơ sở của virus;
S - mã virus được mã hóa;
F là hàm mã hóa virus, được chọn ngẫu nhiên từ một tập hợp các phép biến đổi (F) nhất định.
Phương pháp mặt nạ rút gọn bao gồm việc chọn một phép biến đổi R của mã virus được mã hóa S, sao cho kết quả của phép biến đổi (nghĩa là một số chuỗi dữ liệu S") sẽ không phụ thuộc vào các khóa biến đổi F, nghĩa là
S=F(T)
S" = R(S) = R(F(T)) = R"(T).
Khi áp dụng phép biến đổi R cho tất cả các biến thể có thể có của mã mật mã S, kết quả S" sẽ không đổi ở hằng số T. Do đó, việc xác định các đối tượng bị ảnh hưởng được thực hiện bằng cách chọn S" làm mặt nạ rút gọn và áp dụng phép biến đổi R cho các đối tượng bị ảnh hưởng.

Phân tích mật mã

Phương pháp này như sau: sử dụng mã cơ sở đã biết của vi-rút và mã được mã hóa đã biết (hoặc mã “đáng ngờ”, tương tự như phần thân được mã hóa của vi-rút), các khóa và thuật toán của chương trình giải mã được khôi phục. Thuật toán này sau đó được áp dụng cho phần được mã hóa, dẫn đến phần thân của virus được giải mã. Khi giải bài toán này, bạn phải giải hệ phương trình.
Theo quy định, phương pháp này hoạt động nhanh hơn nhiều và chiếm ít bộ nhớ hơn nhiều so với việc mô phỏng các hướng dẫn về vi-rút. Tuy nhiên, việc giải quyết các hệ thống như vậy thường là một nhiệm vụ rất phức tạp.
Hơn nữa, vấn đề chính là phân tích toán học của phương trình thu được hoặc hệ phương trình thu được. Theo nhiều cách, vấn đề giải hệ phương trình khi khôi phục phần thân được mã hóa của virus giống với vấn đề mật mã cổ điển là khôi phục văn bản mật mã với các khóa không xác định. Tuy nhiên, ở đây nhiệm vụ này nghe có vẻ hơi khác: cần phải tìm hiểu xem liệu một mã được mã hóa nhất định có phải là kết quả của việc áp dụng một số chức năng đã biết cho các khóa hay không. Hơn nữa, nhiều dữ liệu để giải quyết vấn đề này đã được biết trước: một phần của mã được mã hóa, một phần của mã không được mã hóa, các biến thể có thể có của hàm biến đổi. Hơn nữa, bản thân thuật toán của phép chuyển đổi này và các khóa cũng có trong các mã được phân tích. Tuy nhiên, có một hạn chế đáng kể là vấn đề này phải được giải quyết trong giới hạn cụ thể của RAM và quy trình giải quyết sẽ không mất nhiều thời gian.

Phân tích thống kê

Cũng được sử dụng để phát hiện virus đa hình. Trong quá trình hoạt động, máy quét sẽ phân tích tần suất sử dụng các lệnh của bộ xử lý, xây dựng bảng các lệnh bộ xử lý gặp phải (opcode) và dựa trên thông tin này sẽ đưa ra kết luận liệu tệp có bị nhiễm vi-rút hay không. Phương pháp này hiệu quả trong việc tìm kiếm một số loại vi-rút đa hình, vì những vi-rút này sử dụng một bộ lệnh giới hạn trong bộ giải mã, trong khi các tệp “sạch” sử dụng các lệnh hoàn toàn khác với tần suất khác. Ví dụ, tất cả các chương trình MS-DOS thường sử dụng ngắt 21h (opcode CDh 21h), nhưng lệnh này thực tế không bao giờ được tìm thấy trong bộ giải mã của virus DOS đa hình.
Nhược điểm chính của phương pháp này là có một số virus đa hình phức tạp sử dụng hầu hết tất cả các lệnh của bộ xử lý và từ bản sao này sang bản sao khác, tập lệnh được sử dụng thay đổi rất nhiều, tức là không thể phát hiện được virus bằng tần số được xây dựng. bàn.

Phân tích heuristic

Khi số lượng vi-rút vượt quá vài trăm, các chuyên gia chống vi-rút bắt đầu nghĩ đến ý tưởng phát hiện phần mềm độc hại mà chương trình chống vi-rút chưa biết đến sự tồn tại (không có chữ ký tương ứng). Kết quả là cái gọi là máy phân tích heuristic đã được tạo ra. Bộ phân tích heuristic là một tập hợp các quy trình phân tích mã của các tệp thực thi, macro, tập lệnh, bộ nhớ hoặc vùng khởi động để phát hiện các loại chương trình máy tính độc hại khác nhau. Có hai nguyên tắc hoạt động của máy phân tích.

Phương pháp tĩnh. Tìm kiếm các chữ ký ngắn phổ biến có trong hầu hết các loại vi-rút (cái gọi là lệnh “đáng ngờ”). Ví dụ: một số lượng lớn vi-rút tìm kiếm vi-rút bằng mặt nạ *.EXE, mở tệp tìm thấy và ghi vào tệp đang mở. Nhiệm vụ của heuristic trong trường hợp này là tìm ra các dấu hiệu phản ánh những hành động này. Sau đó, các chữ ký tìm thấy sẽ được phân tích và nếu tìm thấy một số "lệnh đáng ngờ" cần và đủ nhất định thì sẽ đưa ra quyết định rằng tệp đã bị nhiễm. Ưu điểm lớn của phương pháp này là dễ thực hiện và tốc độ tốt nhưng mức độ phát hiện phần mềm độc hại mới khá thấp.

Phương pháp động. Phương pháp này xuất hiện đồng thời với việc đưa mô phỏng lệnh bộ xử lý vào các chương trình chống vi-rút (trình mô phỏng được mô tả chi tiết hơn bên dưới). Bản chất của phương pháp này là mô phỏng việc thực thi chương trình và ghi lại tất cả các hành động chương trình “đáng ngờ”. Dựa trên giao thức này, một quyết định được đưa ra về khả năng chương trình bị nhiễm vi-rút. Không giống như phương pháp tĩnh, phương pháp động đòi hỏi nhiều tài nguyên máy tính hơn, tuy nhiên, mức độ phát hiện của phương pháp động cao hơn nhiều.

Thi đua

Công nghệ mô phỏng mã chương trình (hay Sandboxing) là phản ứng trước sự xuất hiện của một số lượng lớn virus đa hình. Ý tưởng của phương pháp này là mô phỏng việc thực thi một chương trình (cả chương trình bị nhiễm vi-rút và chương trình "sạch") trong một "môi trường" đặc biệt, còn được gọi là bộ đệm mô phỏng hoặc "hộp cát". Nếu một tệp bị nhiễm vi-rút đa hình xâm nhập vào trình mô phỏng, thì sau khi mô phỏng, phần thân vi-rút được giải mã sẽ xuất hiện trong bộ đệm, sẵn sàng để phát hiện bằng các phương pháp tiêu chuẩn (tìm kiếm chữ ký hoặc CRC).
Các trình giả lập hiện đại không chỉ mô phỏng các lệnh của bộ xử lý mà còn cả các lệnh gọi hệ điều hành. Nhiệm vụ viết một trình giả lập chính thức khá tốn công, chưa kể khi sử dụng trình giả lập bạn phải liên tục theo dõi hành động của từng lệnh. Điều này là cần thiết để tránh vô tình thực thi các thành phần phá hoại của thuật toán virus.
Cần đặc biệt lưu ý rằng cần phải mô phỏng hoạt động của các hướng dẫn vi-rút và không theo dõi chúng, vì khi truy tìm vi-rút, khả năng gọi các hướng dẫn phá hoại hoặc mã chịu trách nhiệm phát tán vi-rút là quá cao.

Cơ sở dữ liệu công cụ chống vi-rút

Cơ sở dữ liệu là một phần không thể thiếu của công cụ chống vi-rút. Hơn nữa, nếu chúng ta giả định rằng một “công cụ” được thiết kế tốt không thay đổi thường xuyên, thì cơ sở dữ liệu chống vi-rút sẽ thay đổi liên tục, bởi vì trong cơ sở dữ liệu chống vi-rút có chữ ký, tổng kiểm tra và các mô-đun phần mềm đặc biệt để phát hiện phần mềm độc hại. . Như bạn đã biết, vi-rút mới, sâu mạng và các chương trình độc hại khác xuất hiện với tần suất đáng ghen tị và do đó, điều rất quan trọng là cơ sở dữ liệu chống vi-rút phải được cập nhật thường xuyên nhất có thể. Nếu 5 năm trước, cập nhật hàng tuần là đủ thì ngày nay chỉ cần nhận được ít nhất các bản cập nhật hàng ngày cho cơ sở dữ liệu chống vi-rút.
Điều rất quan trọng nữa là chính xác những gì có trong cơ sở dữ liệu chống vi-rút: chỉ có các bản ghi về vi-rút hoặc các quy trình phần mềm bổ sung. Trong trường hợp thứ hai, việc cập nhật chức năng của công cụ chống vi-rút sẽ dễ dàng hơn nhiều bằng cách cập nhật cơ sở dữ liệu.

Hỗ trợ các đối tượng lồng nhau "phức tạp"

Công cụ chống virus đã thay đổi rất nhiều trong vài năm qua. Nếu các phần mềm chống vi-rút đầu tiên, để được coi là chương trình hạng nhất, chỉ phải kiểm tra bộ nhớ hệ thống, tệp thực thi và phần khởi động, thì vài năm sau, do sự phổ biến ngày càng tăng của các tiện ích đặc biệt để đóng gói các mô-đun thực thi, các nhà phát triển đã phải đối mặt với nhiệm vụ giải nén tệp đã đóng gói trước khi quét.
Sau đó, một vấn đề mới xuất hiện - vi-rút học cách lây nhiễm các tệp lưu trữ (và chính người dùng thường gửi các tệp bị nhiễm vào kho lưu trữ). Các chương trình chống vi-rút cũng buộc phải học cách xử lý các tệp lưu trữ. Năm 1995, loại macrovirus đầu tiên xuất hiện, lây nhiễm tài liệu của Microsoft Từ. Điều đáng chú ý là định dạng tài liệu được Microsoft Word sử dụng là định dạng đóng và rất phức tạp. Một số công ty chống vi-rút vẫn chưa biết cách xử lý đầy đủ các tệp như vậy.
Ngày nay, do sự phổ biến rộng rãi của e-mail, các công cụ chống vi-rút cũng xử lý cả cơ sở dữ liệu thư và chính các thư đó.

Phương pháp phát hiện

Một “công cụ” chống vi-rút điển hình, được triển khai trong mọi chương trình chống vi-rút, sử dụng tất cả các công nghệ cần thiết để phát hiện phần mềm độc hại: bộ phân tích phỏng đoán hiệu quả, trình mô phỏng hiệu suất cao và quan trọng nhất là kiến ​​trúc linh hoạt và hiệu quả của hệ thống. hệ thống con phát hiện phần mềm độc hại, cho phép sử dụng tất cả các phương pháp phát hiện trên.
Hầu hết mọi công cụ chống vi-rút đều sử dụng tính năng phát hiện tổng kiểm tra làm phương pháp cơ bản. Phương pháp này được lựa chọn dựa trên yêu cầu giảm thiểu kích thước của cơ sở dữ liệu diệt virus. Tuy nhiên, kiến ​​trúc của công cụ thường linh hoạt đến mức nó cho phép sử dụng bất kỳ phương pháp phát hiện nào được liệt kê ở trên, đây là điều được thực hiện đối với một số loại virus đặc biệt phức tạp. Điều này cho phép bạn đạt được mức độ phát hiện virus cao. Kiến trúc của công cụ chống vi-rút được trình bày chi tiết hơn trong sơ đồ ở phần sau của văn bản.
Ứng dụng thực tế của các phương pháp phát hiện virus đa hình (phân tích mật mã và phân tích thống kê, sử dụng mặt nạ thu gọn và mô phỏng) phụ thuộc vào việc chọn phương pháp tối ưu nhất về tốc độ và dung lượng bộ nhớ cần thiết. Mã của hầu hết các virus tự mã hóa đều được khôi phục khá dễ dàng bằng quy trình mô phỏng. Nếu sử dụng trình mô phỏng không phải là giải pháp tối ưu thì mã vi-rút sẽ được khôi phục bằng chương trình con thực hiện phép biến đổi nghịch đảo - phân tích mật mã. Để phát hiện các vi-rút không thể mô phỏng và các vi-rút không thể tạo ra sự biến đổi nghịch đảo, phương pháp xây dựng mặt nạ thu gọn được sử dụng.
Trong một số trường hợp phức tạp nhất, sự kết hợp của các phương pháp trên được sử dụng. Một phần của mã giải mã được mô phỏng và các lệnh thực sự chịu trách nhiệm về thuật toán giải mã được trích xuất từ ​​​​bộ giải mã. Sau đó, dựa trên thông tin nhận được, một hệ phương trình được xây dựng và giải để khôi phục mã virus và phát hiện nó.
Sự kết hợp của các phương pháp cũng được sử dụng khi sử dụng nhiều mã hóa, khi vi rút mã hóa phần thân của nó nhiều lần bằng các thuật toán mã hóa khác nhau. Phương pháp kết hợp khôi phục thông tin hoặc mô phỏng mã giải mã “thuần túy” thường được sử dụng vì lý do mỗi loại vi-rút mới phải được phân tích và đưa vào cơ sở dữ liệu chống vi-rút trong thời gian ngắn nhất, điều này không phải lúc nào cũng phù hợp với yêu cầu cần thiết. phân tích toán học. Và kết quả là, bạn phải sử dụng các phương pháp phức tạp hơn để phát hiện vi-rút, mặc dù thực tế là các phương pháp phân tích toán học của thuật toán giải mã khá có thể áp dụng được.

Làm việc với các đối tượng "phức tạp"

Các công cụ chống vi-rút hỗ trợ làm việc với một số lượng lớn các định dạng đóng gói và lưu trữ. Các nhà phát triển hiếm khi xuất bản danh sách đầy đủ (hoặc ít nhất là đủ chi tiết) các định dạng được hỗ trợ. Sau đây là thông tin được công bố chính thức về việc hỗ trợ các định dạng “phức tạp” trong Kaspersky Anti-Virus. Trong các sản phẩm chống vi-rút khác, danh sách các định dạng được hỗ trợ phải gần giống nhau.
Công cụ Chống vi-rút của Kaspersky hỗ trợ làm việc với hơn 400 tiện ích khác nhau để đóng gói các tệp thực thi, trình cài đặt và trình lưu trữ (tổng cộng hơn 900 sửa đổi, tính đến tháng 5 năm 2003). Trong số đó:

Trình đóng gói tệp thực thi và hệ thống mã hóa. Phổ biến nhất trong số đó: Diet, AVPACK, COMPACK, Epack, ExeLock, ExePack, Expert, HackStop, Jam, LzExe, LzCom, PaquetBuilder, PGMPAK, PkLite, PackWin, Pksmart, Protect, ProtEXE, RelPack, Rerp, Rjcrush, Rucc, Scramb , SCRNCH, Shrink, Six-2-Four, Syspack, Trap, UCEXE, Univac, UPD, UPX (một số phiên bản), WWPACK, ASPack (một số phiên bản), ASProtect (một số phiên bản), Astrum, BitArts, BJFnt, Cexe, Kẻ lừa đảo, Phương ngữ, DXPack, Gleam, CodeSafe, ELFCrypt, JDPack, JDProtect, INFTool, Krypton, Neolite, ExeLock, NFO, NoodleCrypt, OptLink, PCPEC, PEBundle, PECompact (một số phiên bản), PCshrink, PE-Crypt, PE-Diminisher, PELock , PEncrypt, PE-Pack (nhiều phiên bản), PE-Protect, PE-Shield, Petite, Pex, PKLite32, SuperCede, TeLock, VBox, WWPack32, XLok, Yoda.
Việc hỗ trợ rất nhiều trình đóng gói và lưu trữ cho phép bạn giảm thời gian phân tích các loại vi-rút mới, điều này dẫn đến tăng tốc độ phản ứng với sự xuất hiện của vi-rút mới và đạt được mức độ phát hiện cao đối với các vi-rút đã biết.

Trình lưu trữ và trình cài đặt (tổng cộng hơn 60). Phổ biến nhất trong số đó: CAB, ARJ, ZIP, GZIP, Tar, AIN, HA, LHA, RAR, ACE, BZIP2, WiseSFX (một số phiên bản), CreateInstall, Inno Installer, StarDust Installer, MS Expand, GKWare Setup, SetupFactory, Chuyên gia cài đặt, NSIS, Astrum, PCInstall, Effect Office.
Việc hỗ trợ một số lượng lớn các loại trình lưu trữ đặc biệt quan trọng đối với việc quét hệ thống thư, vì phần lớn vi-rút được gửi qua thư ở dạng lưu trữ. Các đối tượng được giải nén bất kể mức độ lồng nhau của kho lưu trữ. Ví dụ: nếu một tệp bị nhiễm được đóng gói bằng UPX, sau đó tệp đó được đóng gói trong kho lưu trữ ZIP, được đóng gói trong kho lưu trữ CAB, v.v., thì công cụ chống vi-rút vẫn có thể tiếp cận tệp gốc và phát hiện vi-rút.
Cần lưu ý rằng những cân nhắc như vậy không hề mang tính lý thuyết. Như vậy, chương trình Trojan Backdoor.Rbot được biết đến rộng rãi, được phát tán đóng gói với nhiều chương trình khác nhau (Ezip, Exe32Pack, ExeStealth, PecBundle, PECompact, FSG, UPX, Morphine, ASPack, Petite, PE-Pack, PE-Diminisher, PELock , PESpin, TeLock, Molebox, Yoda, Ezip, Krypton, v.v.).
Thuật toán giải nén kho lưu trữ thường có đủ trí thông minh để không giải nén tất cả các loại “quả bom lưu trữ” - các kho lưu trữ nhỏ chứa các tệp lớn (với tỷ lệ nén rất cao) hoặc một số tệp giống hệt nhau. Thông thường, việc quét một kho lưu trữ như vậy mất rất nhiều thời gian, nhưng các công cụ chống vi-rút hiện đại thường nhận ra những "quả bom" như vậy.

Cơ chế cập nhật cơ sở dữ liệu diệt virus và kích thước của chúng

Các bản cập nhật cơ sở dữ liệu chống vi-rút thường được phát hành nhiều lần trong ngày. Một số có thể phát hành bản cập nhật mỗi giờ một lần, một số - hai giờ một lần. Trong mọi trường hợp, với mức độ nguy hiểm cao hiện nay trên Internet, việc cập nhật thường xuyên cơ sở dữ liệu chống vi-rút như vậy là hoàn toàn chính đáng.
Kích thước của các bản cập nhật cho thấy kiến ​​trúc được cân nhắc kỹ lưỡng của công cụ chống vi-rút. Do đó, kích thước của các bản cập nhật thường xuyên từ các công ty hàng đầu trong ngành, theo quy định, không vượt quá 30 KB. Đồng thời, cơ sở dữ liệu chống vi-rút thường chứa khoảng 70% chức năng của toàn bộ công cụ chống vi-rút. Bất kỳ bản cập nhật nào cho cơ sở dữ liệu chống vi-rút đều có thể thêm hỗ trợ cho trình đóng gói hoặc trình lưu trữ mới. Do đó, bằng cách cập nhật cơ sở dữ liệu chống vi-rút hàng ngày, người dùng không chỉ nhận được các quy trình mới để phát hiện phần mềm độc hại mới mà còn nhận được bản cập nhật của toàn bộ chương trình chống vi-rút. Điều này cho phép bạn phản ứng rất linh hoạt với tình huống và đảm bảo sự bảo vệ tối đa cho người dùng.

Máy phân tích heuristic

Trình phân tích heuristic, một phần của hầu hết mọi chương trình chống vi-rút, sử dụng cả hai phương pháp phân tích được mô tả ở trên - phân tích mật mã và phân tích thống kê. Một máy phân tích phỏng đoán hiện đại được thiết kế ngay từ đầu để có thể mở rộng (không giống như hầu hết các máy phân tích phỏng đoán thế hệ đầu tiên, được thiết kế để chỉ phát hiện phần mềm độc hại trong các mô-đun thực thi).
Hiện tại, bộ phân tích heuristic có thể phát hiện mã độc trong các tệp thực thi, cung và bộ nhớ, cũng như vi-rút tập lệnh mới và phần mềm độc hại cho Microsoft Office (và các chương trình khác sử dụng VBA), và cuối cùng là mã độc được viết bằng ngôn ngữ cấp cao, chẳng hạn như như Microsoft Visual Basic.
Kiến trúc linh hoạt và sự kết hợp của nhiều phương pháp khác nhau cho phép chúng tôi đạt được mức độ phát hiện phần mềm độc hại mới khá cao. Đồng thời, các nhà phát triển đang nỗ lực hết sức để giảm thiểu số lượng cảnh báo sai. Các sản phẩm được giới thiệu bởi các nhà lãnh đạo trong ngành diệt virus hiếm khi mắc lỗi trong việc phát hiện mã độc.

Sơ đồ bên dưới mô tả thuật toán gần đúng cho hoạt động của công cụ chống vi-rút. Cần lưu ý rằng việc mô phỏng và tìm kiếm phần mềm độc hại đã biết và chưa biết diễn ra đồng thời.

Như đã đề cập ở trên, khi cập nhật cơ sở dữ liệu chống vi-rút, các mô-đun để giải nén các tệp và kho lưu trữ đã đóng gói, bộ phân tích heuristic và các mô-đun khác của công cụ chống vi-rút cũng được cập nhật và bổ sung.

Công nghệ gốc trong phần mềm chống vi-rút
"động cơ"

Hầu hết mọi nhà phát triển sản phẩm chống vi-rút đều triển khai một số công nghệ của riêng họ giúp chương trình hiệu quả và năng suất hơn. Một số công nghệ này liên quan trực tiếp đến thiết kế của “động cơ”, vì hiệu suất của toàn bộ giải pháp thường phụ thuộc vào hoạt động của nó. Tiếp theo, chúng tôi sẽ xem xét một số công nghệ có thể tăng tốc đáng kể quá trình quét đối tượng trong khi vẫn đảm bảo duy trì khả năng phát hiện chất lượng cao, cũng như cải thiện việc phát hiện và xử lý phần mềm độc hại trong các tệp lưu trữ.
Hãy bắt đầu với công nghệ iChecker. Công nghệ này và các công nghệ tương tự của nó được triển khai trong hầu hết các chương trình chống vi-rút hiện đại. Cần lưu ý rằng iChecker là cái tên được các chuyên gia của Kaspersky Lab đề xuất. Các chuyên gia, ví dụ như Panda Software gọi nó là UltraFast. Công nghệ này cho phép bạn đạt được sự cân bằng hợp lý giữa độ tin cậy trong việc bảo vệ máy trạm (và đặc biệt là máy chủ) và việc sử dụng tài nguyên hệ thống của máy tính được bảo vệ. Nhờ công nghệ này, thời gian tải (lên tới 30-40%) của hệ điều hành (so với cách bảo vệ chống vi-rút truyền thống) và thời gian khởi chạy các ứng dụng có tính năng bảo vệ chống vi-rút tích cực được giảm đáng kể. Điều này đảm bảo rằng tất cả các tệp trên đĩa máy tính đã được quét và không bị nhiễm virus. Ý tưởng chính của công nghệ này là không cần kiểm tra những gì chưa thay đổi và đã được kiểm tra. Công cụ chống vi-rút duy trì một cơ sở dữ liệu đặc biệt trong đó tổng kiểm tra của tất cả các tệp được quét (và không bị nhiễm) được lưu trữ. Bây giờ, trước khi gửi tệp để xác minh, “công cụ” sẽ tính toán và so sánh tổng kiểm tra của tệp với dữ liệu được lưu trữ trong cơ sở dữ liệu. Nếu dữ liệu trùng khớp nghĩa là file đã được kiểm tra và không cần kiểm tra lại. Điều đáng chú ý là thời gian tính toán tổng kiểm tra tệp ít hơn đáng kể so với thời gian quét chống vi-rút.
Một vị trí đặc biệt trong công việc chống vi-rút bị chiếm giữ bởi việc xử lý các đối tượng bị nhiễm được lưu trữ. Đây chính xác là những gì sẽ được thảo luận tiếp theo. iCure là một công nghệ xử lý các tập tin bị nhiễm virus trong kho lưu trữ. Nhờ công nghệ này, các đối tượng bị nhiễm bên trong các tệp lưu trữ sẽ được khử trùng thành công (hoặc bị xóa, tùy thuộc vào cài đặt chống vi-rút) mà không cần sử dụng các tiện ích lưu trữ bên ngoài. Ngày nay, hầu hết các phần mềm chống vi-rút đều hỗ trợ các loại lưu trữ sau: ARJ, CAB, RAR, ZIP. Nhờ kiến ​​trúc mô-đun và công nghệ cập nhật công cụ chống vi-rút, theo quy luật, người dùng có thể dễ dàng cập nhật và mở rộng danh sách các loại trình lưu trữ được hỗ trợ mà không cần khởi động lại chương trình chống vi-rút.
iArc là một công nghệ khác để làm việc với các tệp lưu trữ. Công nghệ này là cần thiết để làm việc với các kho lưu trữ nhiều tập. iArc cho phép bạn quét các kho lưu trữ nhiều tập và phát hiện vi-rút ngay cả khi chúng được đóng gói vào kho lưu trữ nhiều tập, do đó, kho lưu trữ này cũng sẽ được đóng gói vào kho lưu trữ nhiều tập.
Đa luồng. Công cụ chống vi-rút là một mô-đun đa luồng và có thể xử lý đồng thời (kiểm tra mã độc) một số đối tượng (tệp, cung, tập lệnh, v.v.).
Hầu hết các công nghệ được liệt kê ở trên đều được triển khai dưới dạng này hay dạng khác trong mọi sản phẩm chống vi-rút hiện đại.

Virus đa hình

Trong suốt bài viết, thuật ngữ virus "đa hình" và "tự mã hóa" thường được sử dụng. Như đã rõ từ các cuộc thảo luận trước đó, chính loại mã độc này đã có ảnh hưởng mạnh mẽ đến sự phát triển của công nghệ chống vi-rút. Sau đây là thông tin về các loại virus đa hình được cung cấp bởi các chuyên gia của Kaspersky Lab.

Các định nghĩa cơ bản: tự mã hóa và đa hình. Chúng được hầu hết các loại vi-rút sử dụng để làm phức tạp nhất có thể quy trình phát hiện vi-rút. Virus đa hình khá khó phát hiện những virus không có chữ ký, nghĩa là chúng không chứa một phần mã cố định. Trong hầu hết các trường hợp, hai mẫu của cùng một loại virus đa hình sẽ không có một mẫu trùng khớp nào. Điều này đạt được bằng cách mã hóa phần chính của virus và sửa đổi chương trình giải mã. Vi-rút đa hình bao gồm những vi-rút không thể phát hiện được (hoặc cực kỳ khó phát hiện) bằng cách sử dụng cái gọi là mặt nạ vi-rút - các phần mã không đổi dành riêng cho một loại vi-rút cụ thể. Điều này đạt được theo hai cách chính - bằng cách mã hóa mã vi-rút chính bằng khóa không cố định và một bộ lệnh giải mã ngẫu nhiên hoặc bằng cách thay đổi chính mã vi-rút thực thi. Ngoài ra còn có những ví dụ khá kỳ lạ khác về tính đa hình: ví dụ như virus "Bomber" trong DOS không được mã hóa, nhưng chuỗi lệnh chuyển quyền điều khiển sang mã virus là hoàn toàn đa hình.
Tính đa hình với mức độ phức tạp khác nhau được tìm thấy ở mọi loại vi-rút - từ vi-rút khởi động và tệp DOS đến vi-rút Windows và thậm chí cả vi-rút macro.

Bộ giải mã đa hình

Ví dụ đơn giản nhất về bộ giải mã đa hình một phần là tập hợp các lệnh sau, do đó không có một byte mã nào của chính virus và bộ giải mã của nó không đổi khi lây nhiễm các tệp khác nhau:

MOV reg_1, đếm ; reg_1, reg_2, reg_3 được chọn từ
MOV reg_2, khóa ; AX,BX,CX,DX,SI,DI,BP
MOV reg_3, _offset ; số đếm, khóa, _offset cũng có thể thay đổi
_vòng:
ptr xxx byte, reg_2; xor, thêm hoặc phụ
đăng ký tháng 12_1
Jxx_loop ; ja hoặc jnc
; Tiếp đến là mã và dữ liệu bị mã hóa của virus

Virus đa hình phức tạp sử dụng các thuật toán phức tạp hơn nhiều để tạo mã cho bộ giải mã của chúng: các hướng dẫn trên (hoặc tương đương của chúng) được sắp xếp lại từ lần lây nhiễm này sang lần lây nhiễm khác, được pha loãng bằng các lệnh không thay đổi bất cứ điều gì như NOP, STI, CLI, STC, CLC, vân vân.
Virus đa hình hoàn chỉnh thậm chí còn sử dụng các thuật toán phức tạp hơn, do đó bộ giải mã virus có thể chứa các hoạt động SUB, ADD, XOR, ROR, ROL và các thuật toán khác theo số lượng và thứ tự tùy ý. Việc tải và thay đổi khóa cũng như các tham số mã hóa khác cũng được thực hiện bằng một tập hợp thao tác tùy ý, trong đó có thể tìm thấy hầu hết tất cả các hướng dẫn của bộ xử lý Intel (ADD, SUB, TEST, XOR, OR, SHR, SHL, ROR, MOV, XCHG , JNZ, PUSH, POP. ..) với tất cả các chế độ địa chỉ có thể có. Các loại vi-rút đa hình cũng xuất hiện, bộ giải mã của chúng sử dụng các hướng dẫn lên tới Intel386, và vào mùa hè năm 1997, một loại vi-rút đa hình 32-bit đã được phát hiện lây nhiễm vào các tệp Windows 95 EXE.
Kết quả là ở phần đầu của một tệp bị nhiễm vi-rút như vậy có một tập hợp các hướng dẫn dường như vô nghĩa. Điều thú vị là một số kết hợp khá chức năng không được chấp nhận bởi các trình phân tách độc quyền (ví dụ: kết hợp CS:CS: hoặc CS:NOP). Và trong số các lệnh và dữ liệu “mớ hỗn độn” này, MOV, XOR, LOOP, JMP thỉnh thoảng lọt qua - những hướng dẫn thực sự “đang hoạt động”.

Mức độ đa hình

Có sự phân chia các loại virus đa hình thành các cấp độ tùy thuộc vào độ phức tạp của mã được tìm thấy trong bộ giải mã của các loại virus này. Sự phân chia này lần đầu tiên được đề xuất bởi Tiến sĩ Alan Solomon, sau một thời gian Vesselin Bonchev đã mở rộng nó:

Cấp độ 1: Virus có bộ giải mã nhất định với mã không đổi; khi bị nhiễm bệnh, họ chọn một trong số họ. Những virus như vậy là “bán đa hình” và còn được gọi là “oligomorphic”. Ví dụ: "Cheeba", "Slovakia", "Cá voi".

Cấp độ 2: Bộ giải mã virus chứa một hoặc nhiều hướng dẫn cố định nhưng phần chính không ổn định.

Cấp độ 3: Bộ giải mã chứa các hướng dẫn không được sử dụng - "rác" như NOP, CLI, STI, v.v.

Cấp độ 4: Bộ giải mã sử dụng các lệnh có thể hoán đổi cho nhau và các lệnh sắp xếp lại (xáo trộn). Thuật toán giải mã không thay đổi.

Cấp độ 5: Sử dụng tất cả các kỹ thuật trên, thuật toán giải mã không cố định, có thể mã hóa lại mã virus và thậm chí mã hóa một phần chính mã giải mã.

Cấp độ 6: Cho phép virus biến đổi. Mã chính của virus có thể thay đổi - nó được chia thành các khối, khi bị nhiễm sẽ được sắp xếp lại theo thứ tự ngẫu nhiên. Virus vẫn hoạt động. Những virus như vậy có thể không được mã hóa.

Việc phân loại trên có những nhược điểm vì nó được thực hiện theo một tiêu chí duy nhất - khả năng phát hiện vi-rút bằng mã giải mã bằng kỹ thuật tiêu chuẩn của mặt nạ vi-rút:

Cấp độ 1: để phát hiện virus, chỉ cần có vài chiếc khẩu trang là đủ;
Cấp độ 2: phát hiện mặt nạ bằng "ký tự đại diện";
Cấp độ 3: phát hiện bằng mặt nạ sau khi loại bỏ hướng dẫn “rác”;
Cấp độ 4: mặt nạ chứa một số tùy chọn cho mã có thể, nghĩa là nó trở thành thuật toán;
Cấp độ 5: không thể phát hiện virus bằng khẩu trang.

Sự thiếu hụt khả năng phân chia như vậy được thể hiện ở virus có tính đa hình cấp 3, được gọi là “Cấp 3”. Loại vi-rút này, là một trong những loại vi-rút đa hình phức tạp nhất, theo cách phân chia trên, rơi vào Cấp độ 3, vì nó có thuật toán giải mã liên tục, trước đó là một số lượng lớn các lệnh "rác". Tuy nhiên, ở loại virus này, thuật toán tạo rác đã được hoàn thiện: hầu hết tất cả các hướng dẫn của bộ xử lý i8086 đều có thể được tìm thấy trong mã giải mã.
Nếu chúng ta chia thành các cấp độ theo quan điểm của các phần mềm chống vi-rút sử dụng hệ thống giải mã mã vi-rút tự động (trình giả lập), thì việc phân chia thành các cấp độ sẽ phụ thuộc vào độ phức tạp của việc mô phỏng mã vi-rút. Có thể phát hiện vi-rút bằng các phương pháp khác, chẳng hạn như giải mã bằng các định luật toán học cơ bản, v.v.
Một phân loại khách quan hơn sẽ là một phân loại trong đó, ngoài tiêu chí về mặt nạ chống vi-rút, các thông số khác cũng liên quan đến, ví dụ:
Mức độ phức tạp của mã đa hình (tỷ lệ phần trăm của tất cả các lệnh xử lý có thể tìm thấy trong mã giải mã);
Sử dụng các kỹ thuật đặc biệt gây khó khăn cho việc mô phỏng các phần mềm chống vi-rút;
Tính nhất quán của thuật toán giải mã;
Độ dài không đổi của bộ giải mã.

Thay đổi mã thực thi

Thông thường, phương pháp đa hình này được sử dụng bởi các vi-rút macro, khi tạo các bản sao mới của chúng, chúng sẽ thay đổi ngẫu nhiên tên các biến của chúng, chèn các dòng trống hoặc thay đổi mã của chúng theo một cách khác. Như vậy, thuật toán của virus vẫn không thay đổi nhưng mã virus thay đổi gần như hoàn toàn từ lần lây nhiễm này sang lần lây nhiễm khác.
Phương pháp này ít được các virus khởi động phức tạp sử dụng hơn. Những loại vi-rút như vậy chỉ đưa một quy trình khá ngắn vào khu vực khởi động, quy trình này đọc mã vi-rút chính từ đĩa và chuyển quyền điều khiển sang đó. Mã cho quy trình này được chọn từ một số tùy chọn khác nhau (cũng có thể được trộn lẫn với các lệnh “trống”), các lệnh được sắp xếp lại, v.v.
Kỹ thuật này thậm chí còn ít phổ biến hơn với virus tập tin - xét cho cùng, chúng phải thay đổi hoàn toàn mã của mình và điều này đòi hỏi các thuật toán khá phức tạp. Cho đến nay, chỉ có hai loại virus như vậy được biết đến, một trong số đó ("Ply") di chuyển ngẫu nhiên các lệnh của nó xung quanh cơ thể và thay thế chúng bằng các lệnh JMP hoặc CALL. Một loại vi-rút khác (“TMC”) sử dụng một phương pháp phức tạp hơn - mỗi lần bị nhiễm, vi-rút sẽ hoán đổi các khối mã và dữ liệu của nó, chèn “rác”, đặt các giá trị bù mới trên dữ liệu trong hướng dẫn lắp ráp của nó, thay đổi các hằng số, vân vân. Kết quả là, mặc dù virus không mã hóa mã của nó nhưng nó là một loại virus đa hình - không có bộ lệnh cố định trong mã. Hơn nữa, khi tạo bản sao mới của chính nó, virus sẽ thay đổi chiều dài của nó.