043_Phân tích thiết kế và xây dựng hệ thống phòng chống virus thông minh dựa trên hành vi hoạt động của Virus

2 518 1
043_Phân tích thiết kế và xây dựng hệ thống phòng chống virus thông minh dựa trên hành vi hoạt động của Virus

Đang tải... (xem toàn văn)

Thông tin tài liệu

-18- PHÂN TÍCH THIẾT KẾ XÂY DỰNG HỆ THỐNG DIỆT VIRUS THÔNG MINH DỰA TRÊN HÀNH VI CỦA NÓ Đoàn Văn Công MSV: 0320037 Email: dvcd126@yahoo.com Cán bộ hướng dẫn: ThS. Nguyễn Cảnh Hoàng 1. Giới thiệu Trong thời đại công nghệ thông tin ngày càng phát triển mạnh, yêu cầu bảo mật dữ liệu ngày càng được quan tâm tập trung nhiều công sức. Cùng với công nghệ thông tin cũng như vấn đề bảo mật virus - một loại chương trình với mục đích xấu phá hại hoặc ăn trộm thông tin của nạn nhân cũng ra đời phát triển mạnh mẽ. Hiện chưa có chương trình hoàn hảo để phát hiện loại trừ virus một cách triệt để. Phương pháp cũ, nhận dạng virus dựa trên chữ ký của virus giờ đã quá “già” trước “sức trẻ” của virus. Trong khóa luận, chúng ta sẽ tập trung vào công nghệ mới nhất hiện nay nhằm phát hiện loại trừ virus: Diệt virus thông minh dựa trên hành vi ứng xử của chương trình mà đưa ra các quyết định tương ứng. Trong khóa luận chúng ta tập trung nghiên cứu trên hệ điều hành window, các hệ điều hành khác có thể có cách xử lý hơi khác nhưng nguyên lý là như nhau. 2. Cơ sở lý thuyết Hệ điều hành có cấu trúc 4 vòng, từ ngoài vào trong với quyền của từng vòng tăng theo thứ tự đó, vòng ngoài cùng có quyền ít nhất quyền của vòng trong cùng lớn nhất - có khả năng điều khiển toàn bộ phần m ềm cũng như phần cứng. Muốn kiểm soát được hành động của các chương trình khác phải nâng quyền của tiến trình diệt virus, đồng thời phải can thiệp vào giữa chương trình hệ điều hành, kiểm soát các hành động nhạy cảm trước khi nó được thực hiện. Các chương trình ứng dụng tương tác với hệ điều hành thông qua các hàm API. Điều này đưa đến một ý tưởng: kiểm soát các chương trình ứng dụng thông qua việc ngăn chặn, đổi hướng các hàm API. Việc ngăn chặn đổi hướng API được gọi là Hook API. Không giống như các hệ điều hành họ Linux, Window không cung cấp tập hàm cho phép hook API trực tiếp. Để làm được điều này trước hết phải nghiên cứu cụ thể quá trình tương tác giữa chương trình ứng dụng nhân hệ điều hành, ngoài ra cũng cần nghiên cứu cấu trúc các file thực thi, từ đó đưa ra phương pháp tốt nhất để có thể kiểm soát được các API. Cấu trúc file thực thi gồm có 3 phần, phần đầu là phần tiêu đề (PE Header) lưu giữ thông tin về tác giả, thời gian tạo lập . Đồng thời lưu trữ một bảng con trỏ API gọi là Import Table. Hệ điều hành cũng lưu trữ một bảng tương tự gọi là System Import Table. Khi một API được gọi, chương trình ứng dụng tìm địa chỉ API đó trong Import Table, đặt các tham số vào Stack thực hiện lệnh Call tới địa chỉ vừa tìm được. Chính xác hơn lệnh Call này trỏ tới System Import Table. Từ System Import Table hệ điều hành tìm được địa chỉ thực của API trong Kernel thực thi API. 3. Phương pháp giải quyết dựa trên cơ sở lý thuyết Trên cơ sở lý thuyết đó, việc đầu tiên là nâng quyền cho tiến trình thực thi việc can thiệp vào chương trình ứng dụng. Việc này được thực hiện thông qua một driver do driver có khả năng điều khiển cả phần cứng lẫn phần mềm. Khó khăn hơn là việc chiếm quyền kiểm soát các API từ ứng dụng. Dựa trên cơ chế gọi hàm API chúng ta có thể thay thế để có thể kiểm soát ở một trong hai vị trí: + Thay địa chỉ các API trong Import Table, thay chỉ tới System Import Table, Import Table sẽ chỉ tới Module tiến trình diệt virus, sau đó Module tiến trình diệt virus trỏ tới System Import Table. Cách thực hiện như vậy được gọi là Hook API User Mode do nó thực hiện đối với các chương trình ứng dụng, sâu hơn là các Module được tải từ ứng dụng. Việc này cần phải kiểm soát quá trình các chương trình ứng dụng hay các Module được tải vào bộ nhớ. + Thay địa chỉ các API trong System Import Table. Thực hiện theo cách này gọi là Hook API Kernel Mode do chỉ cần thay 1 lần, không -19- cần quan tâm để ý việc có bao nhiêu tiến trình đang hoạt động, tiến trình hay module được nạp khi nào . Khi chiếm được việc kiểm soát hành động của chương trình, chúng ta đưa ra 2 thuật toán cơ bản nhất, nghiên cứu đưa ra kết luận đâu là virus đơn giản về cả cấu trúc lẫn cài đặt nhưng không kém hiệu quả: a) Xác định virus dựa trên độ nguy hiểm trung bình + Mỗi hành động nguy hiểm được đánh một trọng số. + Sau mỗi khoảng thời gian, chúng ta kiểm tra so sánh độ nguy hiểm trung bình có được trong khoảng thời gian đó với giá trị giới hạn. Chương trình ứng dụngvirus nếu độ nguy hiểm trung bình vượt giới hạn. calulateTime isVirus Cải tiến: khoảng calculateTime động, quá trình kiểm tra virus diễn ra mỗi khi hành động nguy hiểm được thực hiện: caculateTime isVirus k – n k k – n + 1 k + 1 b) Xác định virus dựa trên tần số thực hiện hành động nguy hiểm Thuật toán này đặt giới hạn cho mỗi loại hành động nhạy, giới hạn này được dùng để so sánh kiểm tra xác thực virus. Khi chương trình ứng dụngvirus nếu nó thực hiện hành động nhạy cảm với tần số lớn hơn tần số cho phép. Mỗi lần, chương trình ứng dụng thực thi hành động nguy hiểm, tầ n số trung bình được cập nhật đồng thời hàm isVirus được kiểm tra. caculateTime isVirus k – 1 k c) Kết hợp hai thuật toán cho thuật toán bù đắp hạn chế cả hai thuật toán. Mỗi khi chương trình thực hiện hành vi nguy hiểm, bước kiểm tra có phải là virus được thực hiện tương tự hai thuật toán, tuy nhiên ở đây giá trị so sánh được tính bằng tích hai giá trị giá trị giới hạn bằng tích hai giá trị giới hạn. 4. Khôi phục hệ thống đã bị nhiễm virus a. Nhiễm virus thông thường - Chiếm quyền giống như chưa bị virus - Ngăn chặn loại bỏ virus b. Nhiễm Rootkit - Rootkit có cơ chế hoạt động tương tự tiến trình diệt virus - Unhook API do Rootkit hook trước khi tiến hành loại bỏ virus bằng cách sửa lại Import Table System Import Table - Loại bỏ Rootkit giống như các virus thông thường. 5. Thực nghiệm Tôi đã thực hiện cài đặt hệ thống với bài toán đơn giản kiểm soát đối với một số hành động nghi vấn: + Thực thi như các file autorun trong các thiết bị di động USB Flash + Tự copy chính mình (tự sao) + Đặt mình vào hàng đợi khởi động cùng hệ thống + Đăng ký kiểm soát hành động bàn phím Kết quả thực nghiệm cho thấy việc nắm bắt, kiểm soát theo hành vi thích hợp tối đa đối với các mẫu virus mới chưa được phát hiện, đồng thời giúp người dùng kiểm soát việc sử dụng các thiết bị, giảm bớt nỗi lo ngại lây nhiễm virus. 6. Kết luận Trong khóa luận này tôi đã thực hiện việc nghiên cứu cách tương tác của chương trình ứng dụng với hệ điều hành, từ đó tìm ra cơ chế kiểm soát từ đó can thiệp, tìm ra đâu là virus dựa trên chính những hành động đó. k k + 1 . -18- PHÂN TÍCH THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG DIỆT VIRUS THÔNG MINH DỰA TRÊN HÀNH VI CỦA NÓ Đoàn Văn Công MSV: 0320037 Email:. chúng ta sẽ tập trung vào công nghệ mới nhất hiện nay nhằm phát hiện và loại trừ virus: Diệt virus thông minh dựa trên hành vi ứng xử của chương trình mà

Ngày đăng: 06/10/2013, 20:20

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan