Giải ngố Malware – Phần 2: Gia phả của dòng họ Virus máy tính và phân hệ Target Based Virus

Kết thúc Phần 1, tôi đã mơ hồ hình dung ra cái thế giới Malware ma quái cũng như các phương án chữa cháy sơ bộ khi lỡ ăn hành Malware. Tuy nhiên, thực tế đời không như mơ, mấy con hàng Malware thường không mấy khi chịu nằm im đâu vào đấy mà thường sẽ biến hình lung tung cũng như giao lưu phối hợp song kiếm hợp bích các kiểu với nhau để hành vật chủ ra bã. Vì lí do đó, tôi lại tiếp tục hành trình đào bới sâu hơn nữa vào cây gia phả của đám Malware này để kiếm thêm vài mánh kháng cự khi bị dính đòn. Đối tượng tôi muốn hướng tới kỳ này là Virus – một nhân vật đã nổi tiếng từ lâu trong giới Malware.

#1 Tóm lại thì Virus máy tính là gì

Vâng tất nhiên, đầu tiên tôi phải nhấn mạnh lại điều tôi đã đọc trong Phần 1:

Virus máy tínhMalware có khả năng lây nhiễm hệ thống, chiếm quyền điều khiển và đánh cắp dữ liệu nhạy cảm. Phương pháp lây nhiễm virus máy tính phổ biến nhất là qua việc mở file đính kèm email, truy cập website độc hại, click file thực thi hoặc xem các quảng cáo có thể lây nhiễm. Ngoài ra, quá trình lây nhiễm có thể diễn ra khi kết nối với các thiết bị đã lây nhiễm như USB.

#1.1 Đặc tính Virus máy tính

Tiếp tục hành trình giải ngố, tôi tiếp tục nghiên cứu thêm về con hàng này:

Virus máy tính thường có một số đặc tính sau:

  • Có thể tự nhân bản
  • Có thể lây nhiễm các file khác
  • Có khả năng thay thế dữ liệu
  • Có khả năng biến đổi
  • Có khả năng phá hỏng hệ thống
  • Có thể mã hóa

Các giai đoạn hoạt động của Virus

  • Giai đoạn lây nhiễm: nhân bản vào các file, lan truyền qua email, file sharing, file download hoặc USB, DVD,….
  • Giai đoạn tấn công: các file bị lây nhiễm được thực thi và bắt đầu gây ra tác động lên hệ thống

Ờ, cái này thì tôi biết sơ sơ rồi, nhưng coi bộ thông tin này chưa đủ đô. Tôi muốn biết các thông tin chi tiết nữa chứ như này thì chưa ăn thua gì.

#1.2 Cây gia phả của Virus máy tính

Tiếp tục rê chuột truy tìm gia phả dòng họ Virus, tôi tìm thấy:

Virus classification
Virus classification

Nguồn: www.amanhardikar.com

Ái chà, source này ngon nhưng hình như có vẻ hiện hơi quá tầm đối với tôi. Tôi nghiên cứu sơ bộ thử. Như vậy tổng thể thì có 4 cách phân loại là theo:

  • Payload
  • Memory
  • Obfuscation Technique (tôi tra từ điển thấy ghi là “kỹ nghệ múa lửa cho rối mắt”)
  • Target

Với mấy cái nhánh con của PayloadMemory, thiệt tình là tôi chả có ấn tượng gì. Nhưng với đám TargetObfuscation Technique, tôi thấy có xuất hiện vài “người quen” như Boot Sector, Macro, Polymorphism,… OK, thôi trước mắt tôi sẽ tập trung vô 2 nhánh có “người quen” trước, đám kia từ từ tôi nghiên cứu sau vậy.

#2 Phân loại Virus theo Target

Trước khi sa đà vào cái đám râu ria chi tiết, tôi cần coi qua 2 cái khái niệm CompiledInterpreted cái đã. Lôi từ điển ra để tra tôi thấy:

Compliled: Biên dịch

Interpreted: Thông dịch

Cái “dcm” nhà nó, dịch thế này thì tôi ngố vẫn hoàn ngố rồi. Tôi đào bới tiếp một hồi thì tìm được thứ có vẻ liên quan.

Compiled vs Interpreted
Compiled vs Interpreted

Nguồn: www.whyisdifference.com

Cái này hình như của mấy bố lập trình gì đấy, nhưng thôi kệ, để coi tôi có sơ múi được gì không.

À, có vẻ điểm mấu chốt nằm ở chỗ “executed directly by computer’s CPU” và “transformed into machine readable instruction prior execution”. Như vậy tôi đoán Compiled xong thì chơi trực tiếp với máy tính được còn Interpreted thì không (phải có thằng Interpreted Program ngồi kế bên nhắc bài từng câu để chạy với máy tính).

#2.1 Compiled Virus

#2.1.1 File infector

Tôi lại lọ mọ Google:

Đây là một trong những loại Virus máy tính phổ biến nhất với khuôn mẫu chung vẫn là lây nhiễm các file cùng loại như .exe.com. File Infector có thể có 2 dạng:

Direct Action: Loại này trước đây từng được xem là một “kẻ hủy diệt” nhưng hiện chỉ số sức mạnh đã giảm đáng kể. Do nó chỉ được kích hoạt khi file hoặc chương trình chứa nó hoạt động mà thôi nên dễ dàng loại bỏ bởi các chương trình antivirus thông thường.

Resident: Đám này thì manh động hơn nên sẽ không chờ mà bắt đầu phát tán ngay. Ngoài ra nó còn có thể chui vào RAM nên dù bản gốc đã bị xóa, nó vẫn có thể kích hoạt trở lại khi OS gọi một số app/function nhất định. Do vậy nếu dùng antivirus đơn thuần có thể không đủ hiệu quả mà cần thêm các công cụ hỗ trợ như OS patch.

Tôi đọc qua thì nắm sơ bộ rồi nhưng có một điểm lấn cấn là không biết Resident này có dây mơ rễ má gì với Resident trong đám Memory Based không. Tôi ghi chú lại để nghiên cứu tiếp sau vậy.

#2.1.2 Boot Sector Virus

Tiếp tục chuyển sang đám thứ 2 là Boot Sector Virus. Tôi nhớ hình như đám này lâu đời lắm rồi. Nhưng không rõ sao hiện giờ nó vẫn còn chỗ đứng trong giang hồ. Coi kỹ hơn, tôi thấy:

Boot Sector Virus chủ yếu phát tán thông qua physical media (như USB) rồi lây nhiễm vào Boot Sector của hệ thống và thực thi mỗi khi hệ thống khởi động (trước khi load hệ điều hành). Virus dạng này có thể viết mã vào Master Boot Record để load trước tiến trình khởi động nhằm che dấu các hoạt động độc hại. Khi có Boot Sector Virus, Boot Sector có thể mất signature tương ứng với 2 byte cuối là 0x550xAA. Dạng này còn có thể mã hóa Boot Sector để gây khó khăn cho quá trình loại bỏ Virus. Khi đó cần có các phần mềm antivirus được cập nhật đủ dữ liệu để có thể loại bỏ virus an toàn. Trường hợp xấu khi không thể loại bỏ do mã hóa/ quá trình loại bỏ cũng giết luôn host thì có thể cần phải format lại ổ đĩa.

Chà nhiều chữ quá nhưng tôi nghe đồn với dạng BIOS hiện tại, việc chỉnh sửa Boot Sector sẽ tương đối khó khăn.

#2.2 Interpreted Virus

#2.2.1 Macro

Tiếp tục với con hàng Macro, tôi đọc thấy:

Đây là một dạng biến thể của Virus lây qua file thường đi kèm các file trong các chương trình hỗ trợ Macro (như Microsoft WordExcel). Không giống như các dạng Virus khác viết bằng ngôn ngữ bậc thấp như C hoặc Assembly, loại này được được viết bằng ngôn ngữ bậc cao như Visual Basic. Thể loại này sẽ được kích hoạt khi khi chương trình có thể chạy Macro được gọi.

A, hóa ra cái phân loại CompiledInterpreted tôi hốt đại của mấy cụ lập trình ở trên là đúng cho tình huống này à.

#2.2.2 Script

Cùng style với Macro, tôi đọc thấy thằng này cũng sẽ được viết bằng ngôn ngữ bậc cao như VBScript, JavaScript, Batch script,…Điểm khác biệt là việc nó hay xuất hiện trong các HTML document với khả năng thay đổi nội dung văn bản gốc hay chèn thêm các nội dung không ai mong đợi.

#2.3 Multiparties Virus

Tôi tiếp tục mò đến loại cuối trong đám Target Based Virus:

Đa số các loại Virus máy tính chỉ lây lan theo một cách nhất định, nhưng Multipartite Virus có thể lây lan theo nhiều cách khác nhau. Hoạt động của những Virus này sẽ phụ thuộc vào hệ điều hành của vật chủ, các chương trình đang chạy hoặc các file đặc biệt nên rất khó đoán và do đó việc xử lý chúng cũng không hề dễ dàng. Loại này có khả năng lây nhiễm nhiều phần của hệ thống như Boot Sector, MemoryFile nên rất khó để phát hiện và cô lập. Giải pháp xử lý đối với đám này thường là cứu được bao nhiêu dữ liệu thì cứu, sau đó đập hết cả hệ thống để xây lại từ đầu.

Phù! Duyệt qua hết nhánh Target Based Virus tôi thấy hình như nó ngày càng lên đô thì phải. Quanh đi quẩn lại thì cuối cùng cũng thò ra cái câu “cài lại máy” trong giải pháp xử lý. Hy vọng kỳ tới tôi chuyển sang nhánh Obfuscation Technique tình hình sẽ dịu đi bớt chứ đừng xuất hiện thêm trùm cuối nữa.

1 thought on “Giải ngố Malware – Phần 2: Gia phả của dòng họ Virus máy tính và phân hệ Target Based Virus”

Leave a Reply

Your email address will not be published. Required fields are marked *