5. Phương pháp nghiên cứu
1.6 Tổng kết về cáchệthống phân tích mãđộc
Trong phần này, chúng ta đã trình bày sựkhác biệt giữa các hệ thốngtự động phân tích mã độc và cáchcác hệ thống này có thể sử dụng để phân tích các định dạng tập tin và các loại tài liệu khác nhau. Mỗi hệ thống chỉ hỗ trợ một phần trong tất cả các định dạng tập tin và các loại tài liệu mà trong đó mã độc có thể được chèn thêm vào. Do đó, tùy thuộc vào các tập tin mà chúng ta phải phân tích, chúng ta có thể sử dụng các dịch vụ hỗ trợ tương ứng của nó với các định dạng tập tin hoặc tài liệu tương ứng.
Để phân tích một loại mã độc, chúng ta phải chọn một hệ thống phù hợp với loại mã độc đó. Vì có rất nhiều kỹ thuật mà kẻ tấn công có thể sử dụng để xác định xem các payload độc hại có đang được thực hiện trong một môi trường phân tích mã độc tự động hay không, do vậy một số loại mã độc sẽ không được phân tích một cách chính
xác, kết quả file sạch ứng với trường hợp này là giả. Do đó, những hệ thống này chỉ nên được sử dụng bởi một chuyên gia phân tích mã độc để tự xác định xem các tập tin có mã độc hay không. Vì có rất nhiều mẫu độc hại phát tán trên mạng Internet mỗi ngày, mỗi mẫu không thể được đều được kiểm tra bằng tay, đó là lý do tại sao các hệ thống tự động phân tích mã độc hại là một cách rất tốt để tăng tốc độ phân tích. Ở phần tiếp theo, chúng ta sẽ tìm hiểu hiểu cặn kẽ hơn về các phương pháp phân tích mã độc và từng bước xây dựng một hệ thống tự động phân tích mã độc.
CHƯƠNG II. CÁC PHƯƠNG PHÁP PHÂN TÍCH MÃ ĐỘC 2.1 Cách thức phân tích mã độc
Có hai phương pháp thường được sử dụng bởi các chuyên gia phân tích mã độc đó là: phân tích tĩnh ( hay còn gọi là phân tích các đoạn mã của chương trình ), và phân tích động ( hay còn gọi là phân tích hành vi ). Cả hai kỹ thuật trên đều cho phép các chuyên viên phân tích hiều được nhanh hoặc chi tiết các hiểm họa và mục tiêu của mỗi mẫu malware riêng biệt.
2.1.1 Phân tích tĩnh
Để thực hiện việc phân tích tĩnh, chúng ta cần hiều được các cơ chế về lập trình, hợp ngữ x86. Trong quá trình phân tích tĩnh, chúng ta sẽ không thực thi mã độc. Thông thường thì mã nguồn của mã độc sẽ không được cung cấp. Chúng ta phải giải phân tách từng phần của virus trước và sau đó thực hiện việc dịch ngược. Khi đó chúng ta phải hiểu ngôn ngữ lập trình bậc thấp assembly. Phần lớn các chuyên gia phân tích mã độc thực hiện việc phân tích tĩnh ở khâu đầu tiên trong quá trình phân tích mã độc, bởi vì nó an toàn hơn việc phân tích động. Sự khó khăn trong quá trình phân tích tĩnh là bởi vì sự phát triển của các mã độc hiện nay được thực hiện ngày càng tinh vi hơn, những loại mã độc này thường chứa trong bản thân một vài thành phần chống dịch ngược, để cho các chuyên gia phân tích mã độc khó có thể phân tích được một cách rõ ràng các thành phần của mã độc đó.
2.1.2 Phân tích động
Phân tích động ( hay còn gọi là phân tích hành vi ) đó là quá trình cho phép thực thi bản thân mã độc và tiến hành theo dõi các hành vi của mã độc đó. Nó chính là việc theo dõi sự thay đổi xảy ra khi mã độc được thực thi. Việc cho phép lây nhiễm mã độc trên máy tính của chúng ta sẽ rất nguy hiểm. Khi đó, hệ thống có thể bị xóa đi rất nhiều file, thay đổi registry, thay đổi các file sẵn có, lấy trộm thông tin cá nhân và hơn nữa.Khi thực thi quá trình phân tích mã độc, chúng ta cần một môi trường an toàn. Với phân tích động, chúng ta có thể theo dõi sự thay đổi được tạo ra trên các file của hệ thống, registry, các tiến trình và kết nối mạng của nó. Lợi thế của việc phân tích động là việc chúng ta có thể hoàn toàn hiều mã độc thực thi những hành vi gì trên máy của chúng ta.
Để có thể kiểm soát được lượng mẫu ngày càng lớn dần, các công cụ phân tích mã độc một cách tự động cần phài được phát triển. Việc phân tích tự động các thành phần của
mã độc là hết sức cần thiết cho những tổ chức phải xử lý một lượng mã độc lớn. Phân tích tự động cho phép các nhà phân tích tập trung vào các thành phần cần thiết khác mà cần phải có sự phân tích của con người.
Khi sử dụng công cụ phân tích mã độc tự động thì nó sẽ làm giảm thời gian phân tích của các chuyên gia diệt mã độc. Có một vài bước trong quá trình phân tích tự động mã độc sẽ tốn khá nhiều thời gian. Một trong số đó là quá trình thiết lập môi trường ảo cho mã độc thực thi.
2.2 Một số công nghệ giám sát, phát hiện và bảo vệ 2.2.1 Công nghệ giám sát 2.2.1 Công nghệ giám sát
a. Tự bảo vệ - Self Defense
Virus ngày càng nguy hiểm, ngoài việc tự ẩn mình trước các Antivirus, nó cũng thực hiện tấn công trực tiếp các phần mềm diệt virus, khiến cho hệ thống mất khả năng bảo vệ. Một số hành vi tấn công anti-virus:
- Ngăn chặn khả năng cập nhập mẫu nhận diện mới của Antivirus.
- Xóa tiến trình hoạt động của Antivirus (process killer) khiến hệ thống không còn Antivirus nữa.
- Thay đổi mọi thông tin của phần mềm Antivirus như file hệ thống, file Database, registry, thư viện, hàm diệt.
- Tấn công Antivirus thông qua lỗ hổng phần mềm của chính Antivirus.
Vì vậy, Antivirus ngày nay đều trang bị cho mình công nghệ tự bảo vệ (Self Defense). Điều này đảm bảo, ngay cả khi những biến thể virus đã lây lan vào hệ thống, Antivirus vẫn có còn khả năng phát hiện và tiêu diệt khi được cập nhật mẫu nhận diện mới nhất.
b. Môi trường ảo hoá - Sandbox
Sandbox là một dạng phần mềmảo hóa, cho phép các phần mềm và process chạy trong môi trường ảo đã được cách ly của nó.Về mặt cơ bản, những phần mềm chạy bên trong sandbox bị hạn chế quyền truy cập vào các file và hệ thống và nó không thể tạo thay đổi lâu dài.Điều này có nghĩa là tất cả những gì xảy ra trong sandbox sẽ chỉ ở trong sandbox.
Chạy tự động hoặc thủ công một số phần mềm không an toàn trong sandbox trong trường hợp chúng có chứa virus, spyware hoặc các mẫu malware khác.
Chạy trình duyệt web trong sandbox để tránh những thiệt hại do lây nhiễm xuất hiện khi đang lướt web, một trong những nguồn gốc phổ biến nhất của malware. Chạy trình duyệt trong sandbox để ngăn chặn những mẫu malware đã có trên máy tính khỏi việc nắm bắt được thông tin đăng nhập quan trọng hoặc thông tin thanh toán khi mua sắm trực tuyến.
2.2.2 Công nghệ phát hiện mã độc a.Phòng vệ chủ động a.Phòng vệ chủ động
Đây là một khái niệm chung cho việc sử dụng các công nghệ thông minh (heuristic, hips, behaviour…) để phát hiện các chủng virus mới.
Ngược lại với Proactive Detection là Reactive Reaction, đây là phương pháp nhận diện virus đã biết thông qua mẫu nhận diện.
- Công nghệ thông minh (Heuristic):
Công nghệ nhận dạng virus sử dụng trí tuệ nhân tạo.Công nghệ này giả lập hệ thống máy ảo và thực thi file (chương trình, script) trên hệ thống đó. Toàn bộ các hành vi thực hiện sẽ được xem xét một cách thông minh để quyết định một file thực thi có chứa Virus hay không. Bất cứ hành vi nào giống virus như xóa file, thay thế, ẩn các tiến trình file, lưu thông tin bất thường đều sẽ bị phát hiện, file đó sẽ bị đánh dấu nguy hiểm và cảnh báo đến người dùng và đội ngũ chuyên gia.
Một cách hoạt động khác của hệ thống Heuristic là giải mã (decompile) một file, phân tích mã nguồn (phân tích tĩnh). Dựa vào cách hành vi thực hiện trong mã nguồn, công nghệ này sẽ tự quyết định nó có hành vi bất thường và đánh giá khả năng nó là virus hay không.
Với cách làm trên, rõ ràng công nghệ này giúp cho việc phát hiện những virus chưa được biết đến. Tuy nhiên, với tính chất có tính ước lượng, công nghệ này có rủi ro cao trong việc nhận nhầm các file sạch là virus.
- Công nghệ phát hiện hành vi và giám sát truy cập (HIPS):
Hệ thống ngăn chặn xâm nhập (HIPS) là một dạng công nghệ thông minh, một lớp bảo vệ hệ thống của Antivirus. HIPS thường theo dõi mọi hành vi liên quan đến tiến trình, file, ứng dụng, registry, network cụ thể nào đó.
Trong quá trình theo dõi, HIPS sẽ dựa theo luật (rule-based) để định nghĩa đâu là hành vi tốt, đâu là hành vi xấu, những hành vi không có trong luật có thể đánh dấu chú ý hoặc đề nghị công nghệ nhận diện khác.
So với việc phân tích và phát hiện theo mẫu nhận diện, HIPS sử dụng luật nên phù hợp với việc phát hiện Virus có khả năng khai thác lỗ hổng phần mềm của hệ thống, từ đó bảo vệ hệ thống khỏi các cuộc tấn công zero-day (cuộc tấn công vào hệ thống đang tồn tại lỗ hổng bảo mật).
Giải pháp HIPS cho Antivirus là một mô hình nhỏ cho giải pháp Intrusion Prevention System (IPS) cho toàn bộ hệ thống mạng máy tính.
b.Bảo vệ thời gian thực - Real-time protection
Hệ thống bảo vệ theo thời gian thực là thành phần bảo vệ hệ thống quan trọng nhất của phần mềm Antivirus. Thành phần này thực hiện theo dõi tất cả các hành vi của của người dùng và hệ thống như: mở email, lướt web, đọc ghi dữ liệu, mở CD, USB, nghe nhạc. Bất cứ hành vi hoặc dữ liệu bất thường nào chứa dấu hiệu của virus sẽ được phát hiện và tiêu diệt tức thời.
Đây là thành phần yêu cầu công nghệ phức tạp, để đạt hiệu năng cao, nó đòi hỏi can thiệp sâu vào nhân hệ điều hành (kernel mode) để bẫy được đầy đủ hành vi của hệ thống mà không làm chậm hệ thống.
c. Ngăn chặn website chứa mã độc – Site Advisor
Site Advisor là dịch vụ cảnh báo cho người sử dụng mức độ an toàn của website. Dịch vụ này kết hợp giữa công nghệ phát hiện virus và công nghệ thu thập thông tin website (web crawler). Thông tin về những website chứa virus sẽ được lưu trữ và cập nhật trong database. Ngay khi người dùng truy cập vào website, Antivirus sẽ ngăn chặn và cảnh báo.
Công nghệ này được giới thiệu đầu tiên bởi McAfee năm 2006.Đến nay, hầu hết các Antivirus đều tích hợp.Thậm chí, các trình duyệt Firefox và Chrome cũng đã tích hợp công nghệ này để bảo vệ người dùng.
2.2.3 Các công nghệ bảo vệ a.Bảo vệ chat – IM Protection a.Bảo vệ chat – IM Protection
Việc các phần mềm chat IM ngày càng phổ biến như hiện nay, Hacker chắc chắn tận dụng để phát tán virus. Các phương thức phát tán có thể là như sau:
- Hacker gửi nạn nhân link virus, người dùng click vào link và lây nhiễm virus. - Hacker tấn công lỗ hổng xử lý giao thức của các phần mềm IM.
- Lừa đảo (phishing).
Công nghệ này đòi hỏi Antivirus phải theo dõi (monitor) được nội dung IM của người dùng, phân tích nội dung và đưa ra quyết định tìm diệt Virus.
Các phần mềm IM nổi tiếng hiện này đều đã từng bị lợi dụng để tấn công người dùng và phát tán Virus:ICQ, MSN, AIM, Yahoo! Messenger, Jabber, Google Talk, Mail.Ru Agent, và IRC.
b.Bảo vệ email
Thành phần này triển khai công nghệ diệt virus lây lan qua Email. Nó theo dõi tất cả các thông tin vào (inbound) và ra (outbound) hệ thống Email. Cơ bản thì công nghệ này sẽ gồm 4 bước bảo vệ:
- Giới hạn file đính kèm: Antivirus không chấp nhận các file đính kèm có nguy cao chứa Virus (.exe, .com, .js, .lnk, .vbs…).
- Phân tích định dạng và cấu trúc định dạng Email. Định dạng Email có thể chứa Virus khai thác lỗ hổng của các phần mềm xử lý Email.
- Giải nén các file đính kèm.
- Với nội dung phân tích được ở 3 bước trên, Antivirus sẽ thực hiện quét file để phân tích, phát hiện và cảnh báo virus.
c. Bảo vệ sử dụng USB và thiết bị nhớ
Do tính chất phổ biến của thiết bị nhớ USB, virus lây lan qua USB rất phổ biến. Công nghệ lây lan của virus qua USB ngày nay cũng rất phổ biến và dễ dàng, người dùng đơn giản chỉ cắm USB có virus vào máy tính, virus ngay lập tức lây nhiễm vào hệ thống. Ngược lại, khi cắm USB sạch vào hệ thống có virus, USB sẽ bị lây nhiễm. Cứ như vậy, tốt độ lây nhiễm virus rất nhanh.
USB Protect là công nghệ theo dõi hành vi thao tác với thiết bị nhớ. Ngay khi người dùng cắm usb vào hệ thống, Antivirus sẽ phân tích nội dung và các dấu hiệu của virus để phát hiện, tiêu diệt virus và cảnh báo người dùng.
2.3Công nghệ diệt mã độc
2.3.1 Sử dụng mã nhận diện (Signature-based)
Công nghệ này gồm các bước như sau:
- Chuyên gia phân tích mã độc đã biết, quyết định nó là chủng loại virus nào, cách diệt ra sao.
- Tạo mẫu nhận diện và lưu vào Database. - Viết hàm diệt mã độc.
- Log, cảnh báo cho người dùng.
Phương pháp này kinh điển và là lớp phòng vệ có tính chính xác cao nhất.Hiện nay, có hàng chục triệu mã độc, tương ứng với hàng chục triệu mẫu nhận diện.
2.3.2 Sử dụng máy trạng thái và công nghệ giả lập
Diệt virus sử dụng máy trạng thái và công nghệ giả lập thực chất cũng vẫn phải có sự tham gia phân tích và viết hàm diệt từ chuyên gia, tuy nhiên khác với việc sử dụng mã nhận diện truyền thống, một mẫu nhận diện trong máy trạng thái và công nghệ giả lập cho phép phát hiện ra một lớp, một dòng virus thay vì chỉ phát hiện ra một con virus cụ thể.
Trong công nghệ này, các bước được tiến hành như sau:
- Mẫu Virus được chuyên gia phân tích để tìm ra cách diệt và các trạng thái đặc trưng.
- Mỗi file cần kiểm tra sẽ được đi qua một hệ thống giả lập để ghi nhận lại các trạng thái và hành vi.
- Nếu file kiểm tra được nhận diện đầy đủ các trạng thái thì nó được đánh dấu là bị nhiễm virus.
- File bị nhiễm virus được đi qua trình khôi phục file gốc. Chương trình ghi log và cảnh báo cho người dùng.
2.4Một số công nghệ khác
2.4.1 Công nghệ điện toàn đám mây - Cloud Antivirus
Hệ thống Antivirustheo mô hình điện toán đám mây. Sự khác biệt của mô hình Antivirus truyền thống và mô hình điện toán đám mây là ở CSDL mẫu nhận diện.
- Mô hình truyền thông thường lưu trữ tất cả các mẫu nhận diện trên hệ thống cá nhân (Window, PC). Antivirus phải cập nhật mẫu nhận diện thường xuyên, tốn dung lượng bộ nhớ. Bù lại, tốc độ phát hiện và tìm diệt với đa phần các loại virus là nhanh.
- Mô hình điện toán đám mây lưu trữ tất cả các mẫu nhận diện, giải pháp tìm diệt trên đám mây (hệ thống máy chủ). Mọi yêu cầu phân tích, phát hiện và đưa giải pháp diệt đều được lên Server xử lý. Việc này giúp Antivirus Client (trên máy người dùng) giảm bớt dung lượng bộ nhớ, hoạt động không ảnh hưởng nhiều đến hiệu năng hệ thống. Tuy nhiên, mô hình này có những yếu điểm là tốc độc phát hiện, tìm diệt chậm, luôn phải kết nối internet.
Các Antivirus hiện nay kết hợp cả 2 mô hình này nhằm tận dụng mọi ưu điểm của hai mô hình.
2.4.2 Tường lửa - Firewall
Ngoài tính năng tường lửa thông thường (cấu hình chặn, mở cổng), firewall cho Antivirus là sự kết hợp của nhiều công nghệ Antivirus.
Tưởng lửa bao gồm các tính năng trong công nghệ Behaviour Antivirus, tức là theo dõi các hành vi kết nối mạng, cảnh báo đối với các hành vi được cho là của Virus.
Ví dụ: Khi phát hiện truy cập mạng bất thường đến các website có chứa Virus, Firewall sẽ chặn và cấm hành vi truy cập đối với tiến trình thực thi. Ngoài ra, Firewall cảnh báo Antivirus phân tích file thực thi để ra quyết định tìm diệt virus.
2.4.3 Giám sát và điều khiển truy cập - Parental Control
Chức năng này giúp kiểm soát việc sử dụng máy tính và truy cập web. Thực ra thì chức năng này cũng giúp giới hạn việc sử dụng máy tính với những người đang sử dụng chung hệ thống máy tính của mình.
Thông thường, Parental Control chủ yếu chặn việc truy cập web đen. Hoặc hệ thống hoặc người sử dụng sẽ định nghĩa các website bị nghi ngờ là web đen, một người dùng