Xây dựng chương trình phòng chống mã độc dựa trên bộ luật YARA

MỤC LỤC

Một số kĩ thuật thường sử dụng trong mã độc - Kĩ thuật lây nhiễm, ẩn náu

Các loại mã độc dạng macro được viết bằng ngôn ngữ visual basic script thường lây vào những tệp tin văn phòng như Microsoft Word, Microsoft Excel, Microsoft Power Point, qua việc khởi chạy các đoạn mã nhằm thực thi lệnh điều khiển của Windows (cmd, powershell), hoặc tải các file mã độc khác và thiết lập các lệnh kích hoạt mã độc phức tạp. Chúng dễ dàng lừa nạn nhân chỉ bằng một số chi tiết hình ảnh quen thuộc, tên người thân, thông tin sát với công việc, hoạt động của gia đình, các quảng cáo liên quan đến sở thích các nhân, các lợi ích kinh tế lớn.., khiến nạn nhân quan tâm và dễ dàng tải về, mở đọc trên máy của mình, dẫn đến kích hoạt mã độc, hoặc nhập các thông tin cá nhân vào đường dẫn đến trang web giả mạo gây lộ lọt thông tin.

MỘT SỐ GIẢI PHÁP PHềNG CHỐNG MÃ ĐỘC HIỆN NAY 1. Xây dựng chính sách về phòng chống mã độc

    Các tổ chức cũng nên đào tạo giúp cho các cán bộ, nhân viên biết về chính sách và phương pháp áp dụng để xử lý sự cố phần mềm độc hại (Ví dụ: làm thế nào để xác định thiết bị, máy tính đang dùng bị nhiễm mã độc, làm thế nào để báo cáo một máy tính nghi ngờ bị nhiễm, những gì nhân viên có thể cần phải làm ngay để hỗ trợ xử lý sự cố (Ví dụ: cập nhật phần mềm Anti-virus, hệ thống quét phần mềm độc hại). Đặc biệt với tính năng giám sát thời gian thực, luôn đòi hỏi phần mềm Antivirus phải thường xuyên can thiệp, giám sát mọi tưởng tác của người dùng đối với hệ điều hành, quét bộ nhớ các tiến trình đang chạy cũng như mới được khởi chạy, giám sát lưu lượng mạng, giám sát các tệp tin hệ thống, registry… Chính các tác vụ này tiêu tốn một lượng tài nguyên bộ nhớ cũng như CPU lớn, khiến trải nghiệm người dùng trên máy tính không được tốt, giảm hiệu quả công việc.

    Hình 1.1: Tỉ lệ phát hiện mã độc của một số phần mềm AV nổi tiếng
    Hình 1.1: Tỉ lệ phát hiện mã độc của một số phần mềm AV nổi tiếng

    NGUY CƠ AN NINH TỪ CÁC PHẦN MỀM PHềNG CHỐNG MÃ ĐỘC

    Trên cơ sở báo cáo của NSA về nguy cơ gián điệp mạng lợi dụng phần mềm diệt virus Kaspersky, tháng 09/2017, Bộ An ninh nội địa Mỹ đã chỉ thị cho các cơ quan dân sự rà soát, kiểm tra việc sử dụng phần mềm diệt virus Kaspersky trên các hệ thống máy tính toàn nước Mỹ và gỡ bỏ phần mềm đó ra khỏi hệ thống máy tính. Cùng với đó, tháng 03/2020, theo báo cáo của Motherboard và PCMag, phần mềm Anti Virus Avast đã theo dừi hàng trăm triệu hoạt động duyệt web của người dựng, bao gồm những cỳ nhấp chuột, các giao dịch trực tuyến và bán dữ liệu này cho Home Depot, Google, Microsoft, Pepsi và McKinsey và nhiều công ty khác.

    Hình 1.4 Website phát tán phần mềm AVG Antivirus đã được đính kèm mã độc
    Hình 1.4 Website phát tán phần mềm AVG Antivirus đã được đính kèm mã độc

    Tổng kết chương

    XÂY DỰNG CHƯƠNG TRÌNH DIỆT MÃ ĐỘC DỰA TRÊN BỘ LUẬT YARA

    • Kĩ thuật phát hiện mã độc 1. Nguyên lý phát hiện cơ bản

      (2) Giai đoạn Detection  Monitoring: Dựa vào những trạng thái bình thường đã được học, các detector sẽ xác định được trạng thái bất thường và đưa ra cảnh báo. Ưu điểm : là chìa khóa để có thể phát hiện ra việc khai thác lỗ hổng 0-day. Hạn chế: Sai số giữa trạng thái bình thường và bất thường; Sự phức tạp, rắc rối khi xác định những trạng thái được phép học. Kỹ thuật Nội dung. Các thông tin thu được từ việc thực thi chương trình sẽ được sử dụng để detect malware. Ở giai đoạn Detection, các detector thực hiện liên tục việc đối chiếu giữa các trạng thái mới với các trạng thái đã học được. Và giai đoạn Detection được triển khai trong suốt quá trình chương trình được thực thi. Static Các đặc trưng về cấu trúc tệp tin của chương trình sẽ được. dùng để kiểm tra và xác định có phải là malware hay không. Đặc điểm nổi bật của cách này là có thể phát hiện malware nhưng không cho làm cho chương trình thực thi malware. Sử dụng một môi trường giả lập có cấu trúc giống với máy thật, có thể gọi đó là máy ảo để sử dụng phối hợp 2 kỹ thuật phân tích trên những không làm ảnh hưởng đến máy thật. Bảng 2.2: Nội dung kĩ thuật phát hiện mã độc theo dấu điểm bất thường + Phương pháp lai, tìm kiếm, nhận diện kết hợp. Sử dụng kết hợp linh hoạt giữa hai phương pháp phát hiện theo dấu hiệu đặc trưng và phát hiện theo điểm bất thường , các dấu hiệu đặc trưng được sử dụng để tìm điểm bất thường và ngược lại, người phân tích cũng dùng các sự kiện và điểm bất thường của mã độc để đưa ra những đặc trưng riêng biệt của mã độc, từ đó đưa ra những mô tả chính xác hơn về mã độc cũng như chủng loại mã độc tương tư trên cơ sở dữ liệu, hỗ trợ cho chương trình nhận diện tìm kiếm và phát hiện đạt hiệu quả cao hơn. Các kỹ thuật phát hiện mã độc. a) Đối chiếu hash - checksum: Đây là kỹ thuật phát hiện đối tượng mã độc trên cơ sở thuật toán hàm băm. + Có thể xảy ra cảnh bảo giả (cảnh báo sai), do xác suất các đoạn dữ liệu trùng lập hash là cao hơn so với cả tệp tin. c) Ảo hóa: Đây là kỹ thuật được đánh giá cao trong phân tích và phát hiện mã độc. Bằng việc tạo lập một máy tính ảo với hệ thống CPU, hệ thống quản lý bộ nhớ, các lệnh mã máy… giống một thiết bị thông thường. Vì vậy, mã độc sẽ hoạt động trên máy ảo mà không ảnh hưởng đến hệ điều hành của máy tính thật. Hình 2.3: cấu trúc của thanh ghi và cờ CPU Intel 16bit được định nghĩa lại bằng ngôn ngữ C. Hiện nay, kỹ thuật này được sử dụng kết hợp rộng rãi với các kỹ thuật phân tích và quét khác. Cùng với đó, kỹ thuật này đã trở thành một thành phần quan trọng trong một hệ thống sử dụng công nghệ Sandbox để phát hiện mã độc. - Ưu điểm: Mã độc hoạt động độc lập, không ảnh hưởng đến hệ thống máy thật. + Mô phỏng lại các thông tin hệ thống CPU, bộ nhớ… là rất khó khăn + Cập nhật và vận hành hệ thống mô phỏng yêu cầu tính kỹ thuật cao. d) Static heuristic analysis: Là kỹ thuật thuộc nhóm Anomaly-based detection.

      Bảng 2.1: Nội dung kĩ thuật phát hiện mã độc theo dấu hiệu đặc trưng
      Bảng 2.1: Nội dung kĩ thuật phát hiện mã độc theo dấu hiệu đặc trưng

      Một khối ngăn chặn hành vi lừa đảo trên DOS

      • Ứng dụng bộ luật Yara trong định dạng đặc trưng mã độc

        - Xóa mã độc trên ổ đĩa: Với loại mã độc mới tồn tại độc lập dạng lưu trữ, chưa được kích hoạt hay thực thi trên hệ thống thì việc xóa và gỡ bỏ tương đối đơn giản, chương trình diệt mã độc chỉ cần thực hiện lệnh xóa trực tiếp lên file, tuy vậy khi này chương trình diệt mã độc(AV) cần có quyền truy cập vào file đó. Có khá công ty phát triển hệ thống Anti-Virus mạnh hiện nay sử dụng YARA làm chuẩn định dạng cho dữ liệu mã độc như: Kaspersky Lab( phần mềm Kapersky Anti-Virus), PayloadSecurity, Radare2, ReversingLabs,RSA ECAT, Symantec, TrendMicro, VirusTotal Intelligence.

        6 uint32 uint8

        Các Module chính trên YARA

        Chúng cho phép để xác định cấu trúc dữ liệu và chức năng mà có thể được sử dụng trong các quy tắc của nó để diễn tả điều kiện phức tạp hơn. - Module PE: Cho phép tạo ra nhiều quy tắc cho các tập tin PE bằng cách sử dụng các thuộc tính và các tính năng của các định dạng tập tin PE.

        Mô hình Chương trình diệt mã độc dựa trên bộ luật Yara

          Mỗi khi có yêu cầu quét 01 file hoặc tiến trình bất kỳ từ Module xử lý yêu cầu, dịch vụ quét mã độc sẽ đọc dữ liệu của file trên ổ cứng, hoặc đọc dữ liệu tiến trình trên bộ nhớ, sau đó tiến hành so khớp file đó với bộ luật đã được nạp và đưa ra kết quả. Qua việc tìm hiểu một số kĩ thuật tìm kiếm, phát hiện mã độc thường được dùng, cùng một số phương pháp xóa, gỡ mã độc cùng ưu điểm hạn chế của chúng, nhóm nghiên cứu đề xuất sử dụng chuẩn YARA với công cụ tìm kiếm chuỗi – phương pháp Scan string, kết hợp với phân tích các đặc điểm bất thường và dấu hiệu đặc trưng của mã độc để đưa ra những mô tả về mã độc, làm cơ sở luật cho công cụ tìm kiếm.

          Hình 2.8: Mô hình hệ thống chương trình
          Hình 2.8: Mô hình hệ thống chương trình

          CÁC KỊCH BẢN THỬ NGHIỆM, ĐÁNH GIÁ

          • Mô hình thử nghiệm
            • Hạn chế và hướng phát triển 1. Hạn chế

              - Mã hóa dữ liệu luật mã độc: Mã hóa dữ liệu truyền giữa các module, dữ liệu mã độc để bảo vệ tính toàn vẹn cho tệp dữ liệu luật mã độc, tuy vậy cần nghiên cứu tìm hiểu thuật toán mã hóa phù hợp nhất để vừa đảm bảo tính bảo mật, vừa đảm bảo tốc độ. Hệ thống chỉ dừng lại ở khả năng quét tiến trình đang thực thi nhưng chưa tự động kiểm soát các tiến trình này liên tục theo thời gian thực, cần phát triển thêm về tối ưu tài nguyên bộ nhớ và tốc độ tính toán cho hệ thống.

              Hình 3.1: Folder chứa mã độc dùng để thử nghiệm
              Hình 3.1: Folder chứa mã độc dùng để thử nghiệm