Chi nhánh của Khoa học Máy tính nghiên cứu các chương trình Anti Virus hoạt động như thế nào?


9

Đây là một bài tập tầm thường trong automata hữu hạn để chỉ ra rằng không có thuật toán nào có thể phát hiện tất cả các loại virus, tuy nhiên vẫn có nhiều công ty phần mềm bán phần mềm Anti Virus.

Có phần nào của CS liên quan đến Virus và Anti Virus không?

PS: Tôi không hỏi về việc biện minh không liên quan đến CS có AV hay không, nhưng chỉ có thể loại / chủ đề nào trong CS mà họ tham gia, nếu có. Nếu AV không phải là một chủ đề trong CS thì đó cũng là một câu trả lời chấp nhận được, liệu có bất kỳ sự điều chỉnh nào trong bối cảnh CS đối với Virus và AV không?


2
Chào mừng bạn đến với Sàn giao dịch Khoa học Máy tính! Bảo mật máy tính có thể là lĩnh vực bạn muốn điều tra. Hãy thử Wikipedia; bạn sẽ nhận được thông tin tương đương hoặc tốt hơn ở đó.
Patrick87

Câu trả lời:


12

Có một lớp bảo mật máy tính được gọi là Computer Virology. Các Journal of Computer Virus được dành cho chủ đề này. Nghiên cứu làm thế nào phần mềm chống vi-rút hoạt động chỉ làm trầy xước bề mặt của khu vực đó.

Chẳng hạn, thậm chí còn có một số công việc áp dụng logic cho phần mềm độc hại: Định nghĩa chung về phần mềm độc hại của S. Kramer và JC Bradfield. Tạp chí Virus học máy tính (6) 2010.


9

Virus và công nghệ chống vi-rút có liên quan nhiều đến CS. Câu hỏi của bạn làm tôi nhớ đến một cái gì đó tôi mới đọc. Đây là một đoạn trích từ cuốn sách của Williamson & Shmoys, Thiết kế thuật toán xấp xỉ, trang 6. Nó chứng minh tầm quan trọng (thực tế) của các thuật toán xấp xỉ và sử dụng bài toán bao trùm nổi tiếng làm ví dụ trong bối cảnh virus:

Vấn đề bao trùm đã được sử dụng trong quá trình phát triển một sản phẩm chống vi-rút, giúp phát hiện vi-rút máy tính. Trong trường hợp này, người ta mong muốn tìm thấy các tính năng nổi bật xảy ra trong các vi-rút được thiết kế cho khu vực khởi động của máy tính, sao cho các tính năng này không xảy ra trong các ứng dụng máy tính thông thường. Các tính năng này sau đó đã được tích hợp vào một heuristic khác để phát hiện các virus khu vực khởi động này, một mạng lưới thần kinh. Các yếu tố của vấn đề bao trùm tập hợp là các virus khu vực khởi động đã biết (khoảng 150 tại thời điểm đó). Mỗi bộ tương ứng với một số chuỗi ba byte xảy ra trong các virus này nhưng không có trong các chương trình máy tính thông thường; có khoảng 21.000 trình tự như vậy. Mỗi bộ chứa tất cả các vi-rút khởi động có chuỗi ba byte tương ứng ở đâu đó trong đó. Mục tiêu là tìm ra một số lượng nhỏ các chuỗi như vậy (nhỏ hơn 150) sẽ hữu ích cho mạng lưới thần kinh. Bằng cách sử dụng thuật toán gần đúng để giải quyết vấn đề, một tập hợp nhỏ các chuỗi đã được tìm thấy và mạng lưới thần kinh có thể phát hiện nhiều loại virus khởi động chưa được phân tích trước đó.

Đáng ngạc nhiên hay không, ví dụ này cho thấy ít nhất các kỹ thuật trong AI và tối ưu hóa tổ hợp là hữu ích. Sau khi đọc điều này, người ta có thể dễ dàng tin rằng nhiều lĩnh vực của CS có những thứ có thể được áp dụng trong bối cảnh virus và phát hiện của chúng. Để trả lời câu hỏi của bạn trực tiếp hơn, nhiều điều trong CS đối phó với virus, ít nhất là gián tiếp.


7

Bạn nên cẩn thận khi sử dụng kết quả lý thuyết để tranh luận một cái gì đó không thể được thực hiện trong thực tế. Có một số nguy hiểm mà người ta có thể rơi vào:

  1. kết quả lý thuyết có những giả định không áp dụng,

  2. vấn đề trong thực tế không được mô hình hóa tốt bằng mô hình lý thuyết,

  3. trong thực tế, một giải pháp không cần phải hoàn hảo để có ích.

Bạn chưa đưa ra một định nghĩa chính thức về vi-rút là gì nên việc mở rộng yêu cầu của bạn về bài tập tầm thường có thể hữu ích trong việc hiểu ý bạn thực sự là gì.

Một phần lớn những gì một phần mềm chống vi-rút làm là phát hiện các vi-rút đã biết (và các biến thể của chúng) và điều này được thực hiện bằng cách so sánh các chuỗi (trong tệp, bộ nhớ, v.v.) với danh sách hữu hạn các chuỗi (chữ ký vi-rút). Đó là lý do tại sao chúng ta cần cập nhật cơ sở dữ liệu của phần mềm chống vi-rút thường xuyên.

Có các khả năng bổ sung để phát hiện các vi rút tiềm năng dựa trên "hành vi" của chúng, nhưng các phương pháp này không hoàn chỉnh cũng như âm thanh (và chúng không cần phải là âm thanh / hoàn chỉnh để có ích). Thiết kế một phần mềm chống vi-rút dường như rơi vào kỹ thuật máy tính nhiều hơn so với khoa học máy tính cho đến nay (mặc dù khoa học máy tính và kỹ thuật máy tính có liên quan chặt chẽ với nhau).

Nói chung các nghiên cứu này sẽ nằm trong phần áp dụng nhiều hơn của bảo mật máy tính (và nói chung là các lĩnh vực hệ thống: mạng máy tính, hệ điều hành, v.v.) của khoa học máy tính, nhưng sử dụng ý tưởng từ các bộ phận khác của khoa học máy tính (học máy, v.v.) là điển hình.

Bạn có thể muốn kiểm tra Nghệ thuật nghiên cứu và bảo vệ virus máy tính .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.