Rate this post

Viruses máy tính

Vi rút máy tính là một phần mềm có thể “lây nhiễm” các chương trình khác bằng cách sửa đổi họ; việc sửa đổi bao gồm việc đưa vào chương trình gốc một quy trình để tạo các bản sao của chương trình vi rút, sau đó có thể lây nhiễm sang các chương trình khác. Virus máy tính xuất hiện lần đầu tiên vào đầu những năm 1980, và bản thân thuật ngữ này được gán cho Fred Cohen vào năm 1983. Cohen là tác giả của một cuốn sách đột phá về chủ đề này.

Các bài viết liên quan:

Vi rút sinh học là những mẩu mã di truyền nhỏ – DNA hoặc RNA – có thể tiếp quản bộ máy của một tế bào sống và đánh lừa nó tạo ra hàng nghìn bản sao ít sai sót của vi rút gốc.

Giống như đối tác sinh học của nó, virus máy tính mang trong mình mã hướng dẫn công thức để tạo ra các bản sao hoàn hảo của chính nó. Virus điển hình sẽ được nhúng vào một chương trình trên máy tính. Sau đó, bất cứ khi nào máy tính bị nhiễm tiếp xúc với một phần mềm chưa bị nhiễm, một bản sao mới của vi-rút sẽ được chuyển vào chương trình mới.

Do đó, sự lây nhiễm có thể lây lan từ máy tính này sang máy tính khác do người dùng không nghi ngờ trao đổi đĩa hoặc gửi chương trình cho nhau qua mạng. Trong môi trường mạng, khả năng truy cập các ứng dụng và dịch vụ hệ thống trên các máy tính khác cung cấp một công cụ hoàn hảo cho sự lây lan của vi-rút.

Virus có thể làm bất cứ điều gì mà các chương trình khác làm. Sự khác biệt là vi rút tự gắn vào chương trình khác và thực thi bí mật khi chương trình chủ được chạy. Khi virus đang thực thi, nó có thể thực hiện bất kỳ chức năng nào, chẳng hạn như xóa các tệp và chương trình được đặc quyền của người dùng hiện tại cho phép.

Vi rút máy tính có ba thành phần:

  • Infection mechanism: Phương thức lây lan của vi-rút, tạo điều kiện cho vi-rút tái phát. Cơ chế này cũng được gọi là véc tơ lây nhiễm.
  • Trigger: Sự kiện hoặc điều kiện xác định thời điểm tải trọng được kích hoạt hoặc phân phối.
  • Payload: Virus làm gì, ngoài việc lây lan. Tải trọng có thể liên quan đến thiệt hại hoặc có thể liên quan đến hoạt động lành tính nhưng đáng chú ý.

Trong suốt thời gian tồn tại của nó, một loại virus điển hình sẽ trải qua bốn giai đoạn sau:

  • Dormant phase: Virus không hoạt động. Virus cuối cùng sẽ được kích hoạt bởi một số sự kiện, chẳng hạn như ngày tháng, sự hiện diện của chương trình hoặc tệp khác hoặc dung lượng của đĩa vượt quá một số giới hạn. Không phải tất cả các loại virus đều có giai đoạn này.
  • Propagation phase: Virus đặt một bản sao của chính nó vào các chương trình khác hoặc vào các khu vực hệ thống nhất định trên đĩa. Bản sao có thể không giống với phiên bản đề xuất; virus thường biến đổi để trốn tránh bị phát hiện. Mỗi chương trình bị nhiễmbây giờ sẽ chứa một bản sao của virus, bản thân nó sẽ bước vào giai đoạn lan truyền.
  • Triggering phase: Virus được kích hoạt để thực hiện chức năng mà nó đã dự kiến. Cũng như giai đoạn không hoạt động, giai đoạn kích hoạt có thể do nhiều sự kiện hệ thống khác nhau gây ra, bao gồm việc đếm số lần bản sao của virus này đã tạo ra các bản sao của chính nó.
  • Execution phase: Chức năng được thực hiện. Chức năng này có thể vô hại, chẳng hạn như thông báo trên màn hình hoặc gây hại, chẳng hạn như phá hủy các chương trình và tệp dữ liệu.

Hầu hết các vi-rút thực hiện công việc của chúng theo cách thức cụ thể cho một hệ thống hoạt động cụ thể và trong một số trường hợp, cụ thể cho một nền tảng phần cứng cụ thể. Do đó, chúng được thiết kế để tận dụng các chi tiết và điểm yếu của các hệ thống cụ thể.

VIRUS STRUCTURE 

Virus có thể được thêm vào trước hoặc dán sau vào một chương trình thực thi, hoặc nó có thể được nhúng vào một số kiểu khác. Mấu chốt của hoạt động của nó là chương trình bị nhiễm, khi được gọi ra, trước tiên sẽ thực thi mã vi rút và sau đó thực thi mã gốc của chương trình.

Mô tả rất tổng quát về cấu trúc của virus được thể hiện trong Hình 21.1 (dựa trên [COHE94]). Trong trường hợp này, mã vi-rút, V, được thêm vào các chương trình bị nhiễm và người ta giả định rằng điểm vào chương trình, khi được gọi, là dòng đầu tiên của chương trình.

Chương trình bị nhiễm bắt đầu bằng mã vi rút và hoạt động như sau. Dòng mã đầu tiên là một bước nhảy đến chương trình virus chính. Dòng thứ hai là một điểm đánh dấu đặc biệt được sử dụng bởi vi-rút để xác định xem chương trình nạn nhân tiềm năng đã bị nhiễm vi-rút này hay chưa.

Khi chương trình được gọi, quyền điều khiển được chuyển ngay lập tức đến chương trình vi rút chính. Chương trình vi-rút trước tiên có thể tìm kiếm các tệp thực thi không bị nhiễm và lây nhiễm chúng. Tiếp theo, vi-rút có thể thực hiện một số hành động, thường gây bất lợi cho hệ thống. Hành động này có thể được thực hiện mỗi khi chương trình được gọi, hoặc nó có thể là một quả bom logic chỉ kích hoạt trong một số điều kiện nhất định. Cuối cùng, virus chuyển quyền điều khiển sang chương trình gốc. Nếu nhiễm trùng

Hình 21.1 Một loại virus đơn giản

Hình 21.2 Logic cho một Virus nén

giai đoạn của chương trình diễn ra khá nhanh, người dùng khó có thể nhận thấy bất kỳ sự khác biệt nào giữa việc thực thi một chương trình bị nhiễm và không bị nhiễm.

Một loại vi-rút như loại vừa mô tả có thể dễ dàng bị phát hiện vì phiên bản bị nhiễm của một chương trình dài hơn phiên bản chưa bị nhiễm tương ứng. Một cách để ngăn chặn phương tiện phát hiện vi rút đơn giản như vậy là nén tệp thực thi để cả phiên bản bị nhiễm và không bị nhiễm đều có độ dài giống nhau. Hình 21.2 [COHE94] cho thấy một cách tổng quát logic được yêu cầu. Các dòng chính trong virus này được đánh số và Hình 21.3 [COHE94] minh họa hoạt động. Chúng tôi giả định rằng chương trình P1 bị nhiễm virus CV. Khi chương trình này được gọi, quyền điều khiển sẽ được chuyển tới vi-rút của nó, vi-rút này sẽ thực hiện các bước sau:

  1. Đối với mỗi tệp không bị nhiễm P2 được tìm thấy, trước tiên vi-rút sẽ nén tệp đó để tạo ra P’2 , ngắn hơn chương trình gốc theo kích thước của vi rút.
  2. Một bản sao của vi-rút được thêm vào chương trình nén.
  3. Phiên bản nén của chương trình bị nhiễm ban đầu, P’1, không được nén.
  4. Chương trình gốc không nén được thực thi.

Hình 21.3 Virus nén

Trong ví dụ này, virus không làm gì khác hơn là lây lan. Như đã đề cập trước đây, virus có thể bao gồm một quả bom logic.

Khi vi-rút đã xâm nhập vào hệ thống bằng cách lây nhiễm một chương trình, nó sẽ có khả năng lây nhiễm một số hoặc tất cả các tệp thực thi khác trên hệ thống đó khi chương trình bị nhiễm thực thi. Do đó, có thể ngăn ngừa hoàn toàn việc lây nhiễm virus bằng cách ngăn chặn sự xâm nhập của virus ngay từ đầu. Thật không may, việc phòng ngừa cực kỳ khó khăn vì vi-rút có thể là một phần của bất kỳ chương trình nào bên ngoài hệ thống. Do đó, trừ khi một người bằng lòng lấy một miếng sắt hoàn toàn trần và viết tất cả các chương trình hệ thống và ứng dụng của riêng mình, thì người đó sẽ dễ bị tấn công. Nhiều hình thức lây nhiễm cũng có thể bị chặn bằng cách từ chối người dùng bình thường quyền sửa đổi các chương trình trên hệ thống.

Việc thiếu kiểm soát truy cập trên các PC đời đầu là lý do chính khiến vi rút dựa trên mã máy truyền thống lây lan nhanh chóng trên các hệ thống này. Ngược lại, mặc dù rất dễ dàng để viết một virus mã máy cho các hệ thống UNIX, nhưng chúng hầu như không bao giờ được nhìn thấy trong thực tế vì sự tồn tại của các kiểm soát truy cập trên các hệ thống này đã tạo tiền đề cho sự lây lan hiệu quả của virus. Các loại virus dựa trên mã máy truyền thống hiện nay ít phổ biến hơn, bởi vì hệ điều hành PC hiện đại có nhiều bộ truy cập hiệu quả hơn. Tuy nhiên, những người tạo ra vi-rút đã tìm ra những con đường khác, chẳng hạn như vi-rút macro và e-mail, như đã thảo luận sau đó.

Phân loại virus máy tính

Đã có một cuộc chạy đua vũ trang liên tục giữa người viết virus và người viết phần mềm diệt virus kể từ khi virus xuất hiện lần đầu. Khi các biện pháp đối phó hiệu quả được phát triển đối với các loại vi rút hiện có, các loại mới hơn được phát triển. Không có sơ đồ phân loại đơn giản hoặc được thống nhất chung cho vi rút, Trong phần này, chúng tôi tuân theo [AYCO06] và phân loại vi rút theo hai trục trực giao: loại mục tiêu mà virus cố gắng lây nhiễm và phương pháp vi rút sử dụng để che giấu để không bị phát hiện bởi người dùng và phần mềm chống vi-rút.

Phân loại vi rút theo mục tiêu bao gồm các loại sau:

  • Boot sector infector: Lây nhiễm bản ghi khởi động chính hoặc bản ghi khởi động và lây lan khi hệ thống được khởi động từ đĩa chứa vi-rút.
  • File infector: Lây nhiễm các tệp mà hệ điều hành hoặc trình bao coi là có thể thực thi được.
  • Macro virus: Lây nhiễm vào các tệp có mã macro được ứng dụng thông dịch.

Phân loại vi rút theo chiến lược che giấu bao gồm các loại sau:

  • Encrypted virus: Một cách tiếp cận điển hình như sau. Một phần của virus cre-sử dụng một khóa mã hóa ngẫu nhiên và mã hóa phần còn lại của virus. Chìa khóa được lưu trữ cùng với vi rút. Khi một chương trình bị nhiễm được gọi ra, vi rút sẽ sử dụng khóa ngẫu nhiên được lưu trữ để giải mã vi rút. Khi virus sao chép, một khóa ngẫu nhiên khác biệt sẽ được chọn. Bởi vì phần lớn vi-rút được mã hóa bằng một khóa khác nhau cho mỗi trường hợp, không có mẫu bit liên tục để quan sát.
  • Stealth virus: Một dạng virus được thiết kế rõ ràng để ẩn mình khỏi bị phát hiện bằng phần mềm diệt vi rút. Do đó, toàn bộ vi-rút, không chỉ một tải trọng được ẩn.
  • Polymorphic virus: Một loại virus đột biến với mọi lần lây nhiễm, khiến cho việc phát hiện ra “dấu hiệu” của virus là không thể.
  • Metamorphic virus: Cũng như virus đa hình, virus biến hình sẽ biến đổi sau mỗi lần lây nhiễm. Sự khác biệt là một vi rút biến hình sẽ tự viết lại hoàn toàn chính nó ở mỗi lần lặp lại, làm tăng độ khó phát hiện. Virus biến hình có thể thay đổi hành vi cũng như hình dạng của chúng.

Một ví dụ về virus ẩn đã được thảo luận trước đó: một loại virus sử dụng tính năng kết hợp để chương trình bị nhiễm có cùng độ dài với phiên bản không bị nhiễm. Có thể có nhiều kỹ thuật phức tạp hơn. Ví dụ, vi-rút có thể đặtđánh chặn logic trong các quy trình I / O của đĩa, để khi có nỗ lực đọc các phần bị nghi ngờ của đĩa bằng các quy trình này, vi-rút sẽ hiển thị lại chương trình ban đầu, chưa bị nhiễm. Vì vậy, tàng hình không phải là một thuật ngữ áp dụng cho một loại vi rút như vậy, mà đúng hơn, đề cập đến một kỹ thuật được sử dụng bởi một loại vi rút để tránh bị phát hiện.

MỘT virus đa hình tạo ra các bản sao trong quá trình sao chép tương đương về mặt chức năng nhưng có các mẫu bit khác biệt rõ ràng. Cũng như đối với vi-rút tàng hình, mục đích là đánh bại các chương trình quét vi-rút. Trong trường hợp này, “chữ ký” của virus sẽ thay đổi theo từng bản sao. Để đạt được sự biến đổi này, vi rút có thể chèn ngẫu nhiên các hướng dẫn thừa hoặc thay đổi thứ tự của các hướng dẫn độc lập. Một cách tiếp cận hiệu quả hơn là sử dụng mã hóa. Chiến lược của virus mã hóa được tuân theo. Phần virus chịu trách nhiệm tạo khóa và thực hiện mã hóa / giải mã được gọi là động cơ đột biến. Bản thân động cơ thay đổi được thay đổi theo từng lần sử dụng.

Virus Kits 

Một vũ khí khác trong kho vũ khí của những kẻ viết virus là bộ công cụ tạo virus. Một bộ công cụ như vậy cho phép một người mới làm quen có thể nhanh chóng tạo ra một số loại virus khác nhau. Mặc dù vi-rút được tạo bằng bộ công cụ có xu hướng ít tinh vi hơn vi-rút được thiết kế từ đầu, số lượng lớn vi rút mới có thể được tạo ra bằng cách sử dụng bộ công cụ sẽ tạo ra một vấn đề cho các chương trình chống vi rút.

Vào giữa những năm 1990, vi rút macro đã trở thành loại virus phổ biến nhất cho đến nay. Virus macro đặc biệt đe dọa vì một số lý do:

  1. Virus macro độc lập với nền tảng. Nhiều vi rút macro lây nhiễm vào tài liệu Microsoft Word hoặc các tài liệu Microsoft Office khác. Bất kỳ hệ điều hành và bản gốc phần cứng nào hỗ trợ các ứng dụng này đều có thể bị nhiễm.
  2. Virus macro lây nhiễm vào tài liệu chứ không phải các phần mã thực thi được. Hầu hết thông tin được đưa vào hệ thống máy tính ở dạng tài liệu hơn là chương trình.
  3. Virus macro dễ Lan tràn. Một phương pháp rất phổ biến là bằng thư điện tử.
  4. Vì vi rút macro lây nhiễm vào tài liệu của người dùng chứ không phải chương trình hệ thống, nên các điều khiển truy cập hệ thống tệp tin được sử dụng hạn chế trong việc ngăn chặn sự lây lan của chúng.

Virus macro lợi dụng một tính năng có trong Word và các ứng dụng văn phòng khác như Microsoft Excel, cụ thể là macro. Về bản chất, macro là một chương trình thực thi được nhúng trong tài liệu xử lý văn bản hoặc loại tệp khác. Thông thường, người dùng sử dụng macro để tự động hóa các tác vụ lặp đi lặp lại và do đó tiết kiệm các lần gõ phím. Ngôn ngữ macro thường là một số dạng của ngôn ngữ lập trình Cơ bản. Người dùng có thể xác định chuỗi tổ hợp phím trong macro và thiết lập nó để macro được gọi khi nhập một phím chức năng hoặc tổ hợp phím ngắn đặc biệt.

Các bản phát hành liên tiếp của các sản phẩm MS Office cung cấp khả năng bảo vệ tăng cường chống lại vi rút macro. Ví dụ: Microsoft cung cấp một công cụ Macro Virus Protection tùy chọn để phát hiện các tệp Word đáng ngờ và cảnh báo cho khách hàng về nguy cơ tiềm ẩn khi mở tệp bằng macro. Các nhà cung cấp sản phẩm chống vi-rút khác nhau cũng đã phát triển các công cụ để phát hiện và sửa lỗi virus macro. Cũng như các loại vi rút khác, cuộc chạy đua vũ trang vẫn tiếp tục trong lĩnh vực vi rút vĩ mô, nhưng chúng không còn là mối đe dọa vi rút chủ yếu nữa.

E-Mail Viruses 

Một sự phát triển gần đây hơn trong phần mềm độc hại là virus e-mail. Vi-rút e-mail lây lan nhanh chóng đầu tiên, chẳng hạn như Melissa, đã sử dụng Microsoft Wordmacro được nhúng trong tệp đính kèm. Nếu người nhận mở phần đính kèm e-mail, macro Word sẽ được kích hoạt. sau đó

  1. Virus e-mail tự gửi đến mọi người trong danh sách gửi thư trong gói e-mail của người dùng.
  2. Vi rút gây hại cục bộ trên hệ thống của người dùng.

Năm 1999, một phiên bản mạnh hơn của virus e-mail đã xuất hiện. Phiên bản mới hơn này có thể được kích hoạt chỉ bằng cách mở e-mail có chứa vi-rút chứ không phải mở tệp đính kèm. Vi rút sử dụng ngôn ngữ kịch bản Visual Basic được hỗ trợ bởi gói e-mail.

Do đó, chúng ta thấy một thế hệ phần mềm độc hại mới đến qua e-mail và sử dụng các tính năng của phần mềm e-mail để tự sao chép trên Internet. Virus tự lây lan ngay sau khi được kích hoạt (bằng cách mở tệp đính kèm e-mail hoặc bằng cách mở e-mail) tới tất cả các địa chỉ e-mail mà máy chủ bị nhiễm đã biết. Kết quả là, trong khi các loại virus trước đây phải mất hàng tháng hoặc hàng năm để lây lan thì giờ đây chúng có thể xảy ra trong vài giờ. Cuối cùng, mức độ bảo mật cao hơn phải được tích hợp vào tiện ích Internet và phần mềm ứng dụng trên PC để chống lại mối đe dọa ngày càng tăng.

Antivirus

Giải pháp lý tưởng cho mối đe dọa từ vi rút là ngăn chặn: Không cho vi rút xâm nhập vào hệ thống ngay từ đầu hoặc chặn khả năng vi rút sửa đổi bất kỳ tệp nào chứa mã thực thi hoặc macro. Nhìn chung, mục tiêu này là không thể đạt được, mặc dù việc phòng ngừa có thể làm giảm số lần tấn công virus thành công. Cách tiếp cận tốt nhất tiếp theo là có thể làm như sau:

  • Detection: Khi sự lây nhiễm đã xảy ra, hãy xác định rằng nó đã xảy ra và xác định vị trí của virus.
  • Identification: Khi đã đạt được phát hiện, hãy xác định loại vi-rút cụ thể đã lây nhiễm một chương trình.
  • Removal: Sau khi đã xác định được vi rút cụ thể, hãy xóa tất cả các dấu vết của vi rút khỏi chương trình bị nhiễm và khôi phục lại trạng thái ban đầu. Loại bỏ vi-rút khỏi tất cả các hệ thống bị nhiễm để vi-rút không thể lây lan thêm.

Nếu phát hiện thành công nhưng không thể nhận dạng hoặc xóa, thì giải pháp thay thế là loại bỏ tệp bị nhiễm và tải lại phiên bản sao lưu sạch.

Những tiến bộ trong công nghệ chống vi-rút và vi-rút luôn song hành với nhau. Các vi rút ban đầu là các đoạn mã tương đối đơn giản và có thể được xác định và loại bỏ bằngcác gói phần mềm chống vi-rút tương đối đơn giản. Khi cuộc chạy đua vũ trang vi rút đã phát triển, cả vi rút và nhất thiết là phần mềm chống vi rút đã trở nên phức tạp và tinh vi hơn.

[STEP93] xác định bốn thế hệ phần mềm chống vi-rút:

  • Thế hệ đầu tiên: máy quét đơn giản
  • Thế hệ thứ hai: máy quét heuristic
  • Thế hệ thứ ba: bẫy hoạt động
  • Thế hệ thứ tư: bảo vệ đầy đủ tính năng

Máy quét thế hệ đầu tiên yêu cầu một chữ ký vi rút để xác định vi rút. Cácvi rút có thể chứa “ký tự đại diện” nhưng về cơ bản có cấu trúc và mẫu bit giống nhau trong tất cả các bản sao. Các máy quét dành riêng cho chữ ký như vậy chỉ giới hạn trong việc phát hiện các loại vi rút đã biết. Một loại máy quét thế hệ đầu tiên khác duy trì bản ghi về độ dài của các chương trình và tìm kiếm những thay đổi về độ dài.

Máy quét thế hệ thứ hai không dựa trên một chữ ký cụ thể. Thay vào đó, máy quét sử dụng các quy tắc heuristic để tìm kiếm khả năng lây nhiễm vi-rút. Một loại máy quét như vậy tìm kiếm các đoạn mã thường được kết hợp với vi rút. Ví dụ, một máy quét có thể tìm kiếm điểm bắt đầu của một vòng mã hóa được sử dụng trong một loại virus đa hình và phát hiện ra khóa mã hóa. Khi khóa được phát hiện, máy quét có thể giải mã virus để xác định nó, sau đó loại bỏ sự lây nhiễm và đưa chương trình trở lại hoạt động.

Một cách tiếp cận thế hệ thứ hai khác là kiểm tra tính toàn vẹn. Một tổng kiểm tra có thể được thêm vào mỗi chương trình. Nếu một vi-rút lây nhiễm vào chương trình mà không thay đổi tổng kiểm tra, thì kiểm tra tính toàn vẹn sẽ bắt được thay đổi. Để chống lại một loại vi-rút đủ tinh vi để thay đổi tổng kiểm tra khi nó lây nhiễm vào một chương trình, một hàm băm được mã hóa có thể được sử dụng. Khóa mã hóa được lưu trữ riêng biệt từchương trình để vi-rút không thể tạo mã băm mới và mã hóa mã đó. Bằng cách sử dụng một hàm băm thay vì một tổng kiểm tra đơn giản hơn, vi-rút bị ngăn chặn việc điều chỉnh chương trình để tạo ra mã băm giống như trước đây.

Các chương trình thế hệ thứ ba là các chương trình thường trú trong bộ nhớ xác định vi rút bằng các hành động của nó chứ không phải là cấu trúc của nó trong một chương trình bị nhiễm. Các chương trình như vậy có lợi thế mà nó không phải là cần thiết để phát triển các ký hiệu và phương pháp chẩn đoán cho một loạt các loại virus. Thay vào đó, chỉ cần xác định một tập hợp nhỏ các hành động cho thấy tình trạng nhiễm trùng đang được cố gắng thực hiện và sau đó can thiệp.

Sản phẩm thế hệ thứ tư là các gói bao gồm nhiều kỹ thuật chống vi-rút được sử dụng kết hợp với nhau. Chúng bao gồm quét và tổng hợp bẫy hoạt động-nents. Ngoài ra, một gói như vậy bao gồm khả năng kiểm soát truy cập, hạn chế khả năng vi-rút xâm nhập vào hệ thống và sau đó giới hạn khả năng vi-rút cập nhật tệp để lây nhiễm.

Cuộc chạy đua vũ trang vẫn tiếp tục. Với các gói thế hệ thứ tư, một chiến lược phòng thủ chặt chẽ hơn được sử dụng, mở rộng phạm vi phòng thủ sang các biện pháp bảo mật máy tính có mục đích chung hơn.

Kỹ antivirus nâng cao

Các phương pháp và sản phẩm chống vi-rút tinh vi hơn tiếp tục xuất hiện. Trong phần phụ này, chúng tôi nhấn mạnh một số điều quan trọng nhất.

GENERIC DECRYPTION 

Công nghệ giải mã chung (GD) cho phép chương trình chống vi-rút dễ dàng phát hiện ngay cả những vi-rút đa hình phức tạp nhất trong khi vẫn duy trì tốc độ quét nhanh [NACH97]. Nhớ lại rằng khi một tập tin chứa virus đa hình được thực thi, virus phải tự giải mã để kích hoạt. Để phát hiện cấu trúc như vậy, các tệp thực thi được chạy qua trình quét GD, chứa các phần tử sau:

  • CPU emulator: Một máy tính ảo dựa trên phần mềm. Các hướng dẫn trong một tệp exe- cut được trình giả lập diễn giải thay vì được thực thi trênbộ xử lý cơ bản. Trình mô phỏng bao gồm các phiên bản phần mềm của tất cả các thanh ghi và phần cứng của bộ xử lý khác, để bộ xử lý bên dưới không bị ảnh hưởng bởi các chương trình được diễn giải trên trình mô phỏng.
  • Virus signature scanner: Một mô-đun quét mã mục tiêu để tìm kiếm các chữ ký vi rút đã biết.
  • Emulation control module: Điều khiển việc thực thi mã đích.

Khi bắt đầu mỗi mô phỏng, trình mô phỏng bắt đầu giải thích các hướng dẫn trong mã đích, từng cái một. Do đó, nếu mã bao gồm một quy trình giải mã giải mã và do đó làm lộ ra vi-rút, thì mã đó sẽ được thông dịch. Trên thực tế, vi-rút thực hiện công việc đối với chương trình chống vi-rút bằng cách để lộ vi-rút. Định kỳ, mô-đun điều khiển ngắt thông dịch để quét mã đích để tìm dấu hiệu của vi-rút.

Trong quá trình diễn giải, mã đích không thể gây ra thiệt hại cho môi trường máy tính thực tế, bởi vì nó đang được diễn giải trong một môi trường hoàn toàn được kết nối.

Vấn đề thiết kế khó nhất với máy quét GD là xác định thời gian để chạy mỗi phiên dịch. Thông thường, các phần tử virus được kích hoạt ngay sau khi chương trình bắt đầu thực thi, nhưng điều này không cần thiết. Máy quét mô phỏng một chương trình cụ thể càng lâu thì càng có nhiều khả năng bắt được bất kỳ loại vi rút ẩn nào. Tuy nhiên, chương trình chống vi-rút có thể chỉ chiếm một lượng thời gian và tài nguyên hạn chế trước khi người dùng phàn nàn về hiệu suất hệ thống bị xuống cấp.

DIGITAL IMMUNE SYSTEM 

Hệ thống miễn dịch kỹ thuật số là một phương pháp tiếp cận toàn diện để bảo vệ virus được phát triển bởi IBM [KEPH97a, KEPH97b, WHIT99] và sau đó được Symantec cải tiến [SYMA01]. Động lực cho sự phát triển này là mối đe dọa ngày càng tăng của sự lan truyền vi rút trên Internet. Đầu tiên chúng tôi nói một vài lời về mối đe dọa này và sau đó tóm tắt cách tiếp cận của IBM.

Theo truyền thống, mối đe dọa vi rút được đặc trưng bởi sự lây lan tương đối chậm của các vi rút mới và đột biến mới. Phần mềm chống vi-rút thường được cập nhật hàng tháng và điều này là đủ để kiểm soát vấn đề. Cũng theo truyền thống, Internet đóng một vai trò tương đối nhỏ trong việc lây lan vi rút. Nhưng như [CHES97] đã chỉ ra, hai xu hướng chính trong công nghệ Internet đã có tác động ngày càng tăng đến tốc độ lây lan của vi rút trong những năm gần đây:

  • Integrated mail systems: Các hệ thống như Lotus Notes và Microsoft Outlook giúp việc gửi bất cứ thứ gì cho bất kỳ ai và làm việc với các đối tượng được nhận rất đơn giản.
  • Mobile-program systems: Các khả năng như Java và ActiveX cho phép các chương trình tự di chuyển từ hệ thống này sang hệ thống khác.

Để đối phó với mối đe dọa do các khả năng dựa trên Internet này gây ra, IBM đã phát triển một hệ thống miễn dịch kỹ thuật số nguyên mẫu. Hệ thống này mở rộng việc sử dụng mô phỏng chương trình được thảo luận trong tiểu mục trước và cung cấp một hệ thống mô phỏng và phát hiện vi rút có mục đích chung. Mục tiêu của hệ thống này là cung cấp thời gian phản hồi nhanh chóng để vi rút có thể bị tiêu diệt gần như ngay sau khi chúng được đưa vào. Khi một loại vi rút mới xâm nhập vào một tổ chức, hệ thống miễn dịch sẽ tự động bắt nó, phân tích nó, bổ sung khả năng phát hiện và che chắn cho nó, loại bỏ nó và chuyển thông tin về vi rút đó đến các hệ thống chạy IBM AntiVirus để nó có thể được phát hiện trước khi nó được phép chạy chỗ khác.

Hình 21.4 minh họa các bước điển hình trong hoạt động của hệ thống miễn dịch kỹ thuật số:

  1. Chương trình giám sát trên mỗi PC sử dụng nhiều phương pháp phỏng đoán khác nhau dựa trên hành vi của hệ thống, các thay đổi đáng ngờ đối với chương trình hoặc chữ ký gia đình để suy ra rằng có thể có vi rút. Chương trình giám sát chuyển tiếp một bản sao của bất kỳ chương trình nào được cho là đã bị lây nhiễm tới một máy quản trị trong tổ chức.
  2. Máy quản trị mã hóa mẫu và gửi đến một máy phân tích virus trung tâm.
  3. Máy này tạo ra một môi trường mà chương trình bị nhiễm có thể bị Các kỹ thuật được sử dụng cho mục đích này bao gồm mô phỏng hoặc tạo ra một môi trường được bảo vệ trong đó chương trình nghi ngờ có thể được thực thi và giám sát. Sau đó, máy phân tích vi rút tạo ra một quy định để xác định và loại bỏ vi rút.
  4. Đơn thuốc kết quả được gửi trở lại máy quản trị.
  5. Máy quản trị chuyển tiếp đơn thuốc cho khách hàng bị nhiễm bệnh.
  6. Đơn thuốc cũng được chuyển đến các khách hàng khác trong tổ chức.
  7. Người đăng ký trên khắp thế giới nhận được các bản cập nhật chống vi-rút thường xuyên để bảo vệ họ khỏi vi-rút mới.

Hình 21.4 Hệ thống miễn dịch kỹ thuật số

Sự thành công của hệ thống miễn dịch kỹ thuật số phụ thuộc vào khả năng của virus máy phân tích để phát hiện các chủng virus mới và cải tiến. Bằng cách liên tục phân tích và theo dõi các loại vi-rút được tìm thấy trong tự nhiên, có thể liên tục cập nhật phần mềm miễn dịch kỹ thuật số để bắt kịp các mối đe dọa.

BEHAVIOR-BLOCKING SOFTWARE 

Không giống như phương pháp dò tìm hoặc máy quét dựa trên dấu vân tay, phần mềm chặn hành vi tích hợp với hệ điều hành của máy tính chủ và giám sát hành vi của chương trình trong thời gian thực để tìm các hành động độc hại [CONR02, NACH02]. Sau đó, phần mềm chặn hành vi sẽ chặn các hành động độc hại tiềm ẩn trước khi chúng có cơ hội ảnh hưởng đến hệ thống. Các hành vi được giám sát có thể bao gồm

  • Cố gắng mở, xem, xóa và / hoặc sửa đổi tệp;
  • Cố gắng định dạng ổ đĩa và các hoạt động đĩa không thể khôi phục khác;
  • Các sửa đổi đối với logic của tệp thực thi hoặc macro;
  • Sửa đổi các cài đặt hệ thống quan trọng, chẳng hạn như cài đặt khởi động;
  • Viết kịch bản cho ứng dụng khách e-mail và nhắn tin tức thời để gửi nội dung thực thi; và
  • Khởi tạo thông tin liên lạc mạng.

Hình 21.5 minh họa hoạt động của một trình chặn hành vi. Phần mềm chặn hành vi chạy trên máy chủ và máy tính để bàn và được hướng dẫn thông qua các chính sách do quản trị viên mạng đặt ra để cho phép các hành động lành mạnh diễn ra nhưng có thể can thiệp khi xảy ra các hành động trái phép hoặc đáng ngờ. Mô-đun chặn không cho bất kỳ phần mềm đáng ngờ nào thực thi. Trình chặn cô lập mã trong hộp cát, điều này hạn chế quyền truy cập của mã vào các ứng dụng và tài nguyên hệ điều hành khác nhau. Trình chặn sau đó sẽ gửi một cảnh báo.

Bởi vì trình chặn hành vi có thể chặn phần mềm đáng ngờ trong thời gian thực, nên nó có lợi thế hơn so với các kỹ thuật phát hiện chống vi-rút đã được thiết lập như lấy dấu vân tay hoặc

Hình 21.5 Hoạt động phần mềm chặn hành vi

kinh nghiệm học. Trong khi thực sự có hàng nghìn tỷ cách khác nhau để làm xáo trộn và sắp xếp lại các hướng dẫn của virus hoặc sâu, nhiều trong số đó sẽ trốn tránh sự phát hiện của máy quét vân tay hoặc heuristic, cuối cùng mã độc phải đưa ra một yêu cầu được xác định rõ đối với hệ điều hành. Cho rằng trình chặn hành vi có thể chặn tất cả các yêu cầu như vậy, nó có thể xác định và chặn các hành động độc hại bất kể logic chương trình dường như bị xáo trộn như thế nào.

Riêng tính năng chặn hành vi cũng có những hạn chế. Bởi vì mã độc phải chạy trên máy mục tiêu trước khi tất cả các hành vi của nó có thể được xác định, nó có thể gây hại trước khi bị phát hiện và chặn. Ví dụ, một loại vi-rút mới có thể xáo trộn một số tệp dường như không quan trọng xung quanh ổ cứng trước khi lây nhiễm một tệp tội lỗi và bị chặn. Ngay cả khi sự lây nhiễm thực sự đã bị chặn, người dùng có thể không tìm thấy tệp của họ, gây ra giảm năng suất hoặc có thể tồi tệ hơn.

Leave a Reply

Call now
%d bloggers like this: