Phát hiện và phân loại phần mềm độc hại bằng Amazon Rekognition PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Phát hiện và phân loại phần mềm độc hại với Amazon Rekognition

Theo một bài viết bởi Cybersecurity Ventures, thiệt hại do Ransomware gây ra (một loại phần mềm độc hại có thể chặn người dùng truy cập vào dữ liệu của họ trừ khi họ trả tiền chuộc) đã tăng 57 lần vào năm 2021 so với năm 2015. Hơn nữa, nó được dự đoán sẽ khiến các nạn nhân thiệt hại 265 tỷ USD ( USD) hàng năm vào năm 2031. Tại thời điểm viết bài này, thiệt hại tài chính từ các cuộc tấn công của Ransomware chỉ trên 50th vị trí trong danh sách các quốc gia được xếp hạng theo GDP.

Do mối đe dọa do phần mềm độc hại gây ra, một số kỹ thuật đã được phát triển để phát hiện và ngăn chặn các cuộc tấn công của phần mềm độc hại. Hai kỹ thuật phổ biến nhất được sử dụng ngày nay là phát hiện dựa trên chữ ký và hành vi.

Phát hiện dựa trên chữ ký thiết lập một mã định danh duy nhất về một đối tượng độc hại đã biết để đối tượng có thể được xác định trong tương lai. Nó có thể là một mẫu mã duy nhất được đính kèm vào một tệp hoặc nó có thể là hàm băm của mã phần mềm độc hại đã biết. Nếu một mã định danh mẫu đã biết (chữ ký) được phát hiện trong khi quét các đối tượng mới, thì đối tượng đó sẽ bị gắn cờ là độc hại. Phát hiện dựa trên chữ ký nhanh và yêu cầu sức mạnh tính toán thấp. Tuy nhiên, nó đấu tranh chống lại các loại phần mềm độc hại đa hình, chúng liên tục thay đổi hình thức để tránh bị phát hiện.

Phát hiện dựa trên hành vi đánh giá các đối tượng đáng ngờ dựa trên hành vi của họ. Các tạo phẩm có thể được các sản phẩm chống phần mềm độc hại xem xét là quá trình tương tác, truy vấn DNS và kết nối mạng từ đối tượng. Kỹ thuật này hoạt động tốt hơn trong việc phát hiện phần mềm độc hại đa hình so với dựa trên chữ ký, nhưng nó có một số nhược điểm. Để đánh giá xem một đối tượng có độc hại hay không, đối tượng đó phải chạy trên máy chủ lưu trữ và tạo đủ thành phần giả để sản phẩm chống phần mềm độc hại phát hiện ra. Điểm mù này có thể cho phép phần mềm độc hại lây nhiễm vào máy chủ và lây lan qua mạng.

Các kỹ thuật hiện có còn lâu mới hoàn hảo. Do đó, nghiên cứu vẫn tiếp tục với mục đích phát triển các kỹ thuật thay thế mới giúp cải thiện khả năng của chúng tôi trong việc chống lại phần mềm độc hại. Một kỹ thuật mới xuất hiện trong những năm gần đây là phát hiện phần mềm độc hại dựa trên hình ảnh. Kỹ thuật này đề xuất đào tạo một mạng học sâu với các nhị phân phần mềm độc hại đã biết được chuyển đổi thành hình ảnh thang độ xám. Trong bài đăng này, chúng tôi giới thiệu cách thực hiện phát hiện Phần mềm độc hại dựa trên hình ảnh với Nhận thức lại Amazon Nhãn tùy chỉnh.

Tổng quan về giải pháp

Để đào tạo mô hình đa phân loại và mô hình phát hiện phần mềm độc hại, trước tiên chúng tôi chuẩn bị bộ dữ liệu thử nghiệm và đào tạo có chứa các loại phần mềm độc hại khác nhau như phần mềm gây ngập lụt, phần mềm quảng cáo, phần mềm gián điệp, v.v., cũng như các đối tượng lành tính. Sau đó, chúng tôi chuyển đổi các đối tượng tệp thực thi di động (PE) thành hình ảnh thang độ xám. Tiếp theo, chúng tôi đào tạo một mô hình bằng cách sử dụng hình ảnh với Amazon Rekognition.

Amazon Rekognition là dịch vụ giúp bạn dễ dàng thực hiện các loại phân tích trực quan khác nhau trên ứng dụng của mình. Rekognition Image giúp bạn xây dựng các ứng dụng mạnh mẽ để tìm kiếm, xác minh và sắp xếp hàng triệu hình ảnh.

Nhãn tùy chỉnh của Amazon Rekognition được xây dựng dựa trên các khả năng hiện có của Rekognition, vốn đã được đào tạo trên hàng chục triệu hình ảnh trên nhiều danh mục.

Amazon Rekognition Custom Labels là một dịch vụ được quản lý toàn phần cho phép người dùng phân tích hàng triệu hình ảnh và sử dụng chúng để giải quyết nhiều vấn đề về máy học (ML) khác nhau, bao gồm phân loại hình ảnh, nhận diện khuôn mặt và kiểm duyệt nội dung. Đằng sau hậu trường, Amazon Rekognition dựa trên công nghệ học sâu. Dịch vụ này sử dụng mạng thần kinh tích chập (CNN), được đào tạo trước trên tập dữ liệu lớn được gắn nhãn. Bằng cách tiếp xúc với dữ liệu thực tế cơ bản như vậy, thuật toán có thể học cách nhận dạng các mẫu trong hình ảnh từ nhiều miền khác nhau và có thể được sử dụng trong nhiều trường hợp sử dụng của ngành. Do AWS nắm quyền xây dựng và duy trì kiến ​​trúc mô hình cũng như chọn phương pháp đào tạo phù hợp cho nhiệm vụ hiện tại, nên người dùng không cần dành thời gian quản lý cơ sở hạ tầng cần thiết cho các nhiệm vụ đào tạo.

Giải pháp xây dựng

Sơ đồ kiến ​​trúc sau đây cung cấp một cái nhìn tổng quan về giải pháp.

Giải pháp được xây dựng bằng cách sử dụng Hàng loạt AWS, Cổng xa AWSNhận thức lại Amazon. AWS Batch cho phép bạn chạy hàng trăm tác vụ điện toán hàng loạt trên Fargate. Fargate tương thích với cả hai Dịch vụ Amazon Elastic Container (Amazon ECS)Dịch vụ Kubernetes đàn hồi của Amazon (Amazon EKS). Nhãn tùy chỉnh của Amazon Rekognition cho phép bạn sử dụng AutoML cho thị giác máy tính để đào tạo các mô hình tùy chỉnh nhằm phát hiện phần mềm độc hại và phân loại các danh mục phần mềm độc hại khác nhau. AWS Step Functions được sử dụng để sắp xếp quá trình tiền xử lý dữ liệu.

Đối với giải pháp này, chúng tôi tạo tài nguyên tiền xử lý thông qua Hình thành đám mây AWS. Mẫu ngăn xếp CloudFormation và mã nguồn cho các chức năng AWS Batch, Fargate và Step có sẵn trong một Kho lưu trữ GitHub.

Bộ dữ liệu

Để đào tạo mô hình trong ví dụ này, chúng tôi đã sử dụng các bộ dữ liệu công khai sau đây để trích xuất phần mềm độc hại và lành tính Có thể thực thi di động (PE):

Chúng tôi khuyến khích bạn đọc kỹ tài liệu về bộ dữ liệu (Sophos/Phòng thí nghiệm đảo ngược README, Bộ dữ liệu máy học phần mềm độc hại PE) để xử lý các đối tượng phần mềm độc hại một cách an toàn. Dựa trên sở thích của mình, bạn cũng có thể sử dụng các bộ dữ liệu khác miễn là chúng cung cấp phần mềm độc hại và các đối tượng lành tính ở định dạng nhị phân.

Tiếp theo, chúng tôi sẽ hướng dẫn bạn qua các bước sau của giải pháp:

  • Xử lý trước các đối tượng và chuyển đổi thành hình ảnh
  • Triển khai tài nguyên tiền xử lý với CloudFormation
  • Chọn mô hình
  • Đào tạo mô hình
  • Đánh giá mô hình
  • Chi phí và hiệu suất

Xử lý trước các đối tượng và chuyển đổi thành hình ảnh

Chúng tôi sử dụng Step Functions để sắp xếp quy trình tiền xử lý đối tượng bao gồm các bước sau:

  1. Đi theo meta.db cơ sở dữ liệu sqllite từ vết loét-20m S3 và chuyển đổi nó thành tệp .csv. Điều này giúp chúng tôi tải tệp .csv trong bộ chứa Fargate và tham khảo siêu dữ liệu trong khi xử lý các đối tượng phần mềm độc hại.
  2. Lấy các đối tượng từ thùng sorel-20m S3 và tạo một danh sách các đối tượng ở định dạng csv. Bằng cách thực hiện bước này, chúng tôi đang tạo một loạt tệp .csv có thể được xử lý song song, do đó giảm thời gian xử lý trước.
  3. Chuyển đổi các đối tượng từ thùng sorel-20m S3 thành hình ảnh với một loạt các công việc. Các công việc mảng AWS Batch chia sẻ các tham số chung để chuyển đổi các đối tượng phần mềm độc hại thành hình ảnh. Chúng chạy dưới dạng tập hợp các công việc chuyển đổi hình ảnh được phân phối trên nhiều máy chủ và chạy đồng thời.
  4. Chọn một số lượng hình ảnh được xác định trước để đào tạo mô hình với một loạt các công việc tương ứng với các loại phần mềm độc hại.
  5. Tương tự như Bước 2, chúng tôi lấy các đối tượng lành tính từ bộ chứa S160 lành tính-3k và tạo một danh sách các đối tượng ở định dạng csv.
  6. Tương tự như Bước 3, chúng tôi chuyển đổi các đối tượng từ bộ chứa S160 lành tính 3k thành hình ảnh với một loạt công việc.
  7. Do hạn ngạch mặc định của Amazon Rekognition dành cho đào tạo nhãn tùy chỉnh (250K hình ảnh), hãy chọn một số lượng hình ảnh lành tính được xác định trước để đào tạo mô hình.
  8. Như thể hiện trong hình ảnh sau đây, các hình ảnh được lưu trữ trong bộ chứa S3 trước tiên được phân vùng theo phần mềm độc hại và thư mục lành tính, sau đó phần mềm độc hại được phân vùng theo loại phần mềm độc hại.
    Đào tạo thùng S3
    Tập dữ liệu đào tạo

Triển khai tài nguyên tiền xử lý với CloudFormation

Điều kiện tiên quyết

Các điều kiện tiên quyết sau đây được yêu cầu trước khi tiếp tục:

Khai triển nguồn tài nguyên

Ngăn xếp CloudFormation sẽ tạo các tài nguyên sau:

Thông số

  • STACK_NAME – Tên ngăn xếp CloudFormation
  • AWS_REGION – Khu vực AWS nơi giải pháp sẽ được triển khai
  • AWS_PROFILE – Cấu hình được đặt tên sẽ áp dụng cho lệnh AWS CLI
  • ARTEFACT_S3_BUCKET – Bộ chứa S3 nơi mã cơ sở hạ tầng sẽ được lưu trữ. (Nhóm phải được tạo trong cùng khu vực có giải pháp).
  • AWS_ACCOUNT – ID tài khoản AWS.

Sử dụng các lệnh sau để triển khai tài nguyên

Đảm bảo rằng tác nhân docker đang chạy trên máy. Việc triển khai được thực hiện bằng cách sử dụng tập lệnh bash và trong trường hợp này, chúng tôi sử dụng lệnh sau:

bash malware_detection_deployment_scripts/deploy.sh -s '' -b 'malware-
detection--artifacts' -p  -r "" -a

Điều này xây dựng và triển khai các tạo phẩm cục bộ mà mẫu CloudFormation (ví dụ: cloudformation.yaml) đang tham chiếu.

Đào tạo mô hình

Vì Amazon Rekognition đảm nhận việc đào tạo mô hình cho bạn nên bạn không cần phải có kiến ​​thức về thị giác máy tính hoặc ML chuyên môn cao. Tuy nhiên, bạn sẽ cần cung cấp cho Amazon Rekognition một thùng chứa đầy hình ảnh đầu vào được dán nhãn phù hợp.

Trong bài đăng này, chúng tôi sẽ đào tạo hai mô hình phân loại hình ảnh độc lập thông qua tính năng nhãn tùy chỉnh:

  1. Mô hình phát hiện phần mềm độc hại (phân loại nhị phân) – xác định xem đối tượng đã cho là độc hại hay lành tính
  2. Mô hình phân loại phần mềm độc hại (phân loại nhiều lớp) – xác định họ phần mềm độc hại cho một đối tượng độc hại nhất định

Hướng dẫn đào tạo người mẫu

Các bước được liệt kê trong hướng dẫn sau áp dụng cho cả hai kiểu máy. Do đó, bạn sẽ cần thực hiện các bước hai lần để đào tạo cả hai mô hình.

  1. Đăng nhập vào Bảng điều khiển quản lý AWS và mở Amazon Rekognition giao diện điều khiển.
  2. Trong ngăn bên trái, chọn Sử dụng Nhãn tùy chỉnh. Trang đích Nhãn tùy chỉnh của Amazon Rekognition được hiển thị.
  3. Từ trang đích Nhãn tùy chỉnh của Amazon Rekognition, hãy chọn Bắt đầu.
  4. Trong ngăn bên trái, Chọn Dự án.
  5. Chọn Tạo dự án.
  6. In Tên dự án, nhập tên cho dự án của bạn.
  7. Chọn Tạo dự án để tạo dự án của bạn.
  8. Trong tạp chí Dự án trang, hãy chọn dự án mà bạn muốn thêm tập dữ liệu. Trang chi tiết cho dự án của bạn được hiển thị.
  9. Chọn Tạo tập dữ liệu. Các Tạo tập dữ liệu trang được hiển thị.
  10. In Bắt đầu cấu hình, chọn Bắt đầu với một tập dữ liệu duy nhất để Amazon Rekognition phân chia tập dữ liệu thành đào tạo và kiểm tra. Lưu ý rằng bạn có thể kết thúc với các mẫu thử nghiệm khác nhau trong mỗi lần lặp đào tạo mô hình, dẫn đến kết quả và chỉ số đánh giá hơi khác nhau.
  11. Chọn Nhập hình ảnh từ nhóm Amazon S3.
  12. In URI S3, hãy nhập vị trí bộ chứa S3 và đường dẫn thư mục. Cùng một bộ chứa S3 được cung cấp từ bước tiền xử lý được dùng để tạo cả hai bộ dữ liệu: Phát hiện phần mềm độc hại và Phân loại phần mềm độc hại. Bộ dữ liệu phát hiện phần mềm độc hại trỏ đến thư mục gốc (nghĩa là s3://malware-detection-training-{account-id}-{region}/) của bộ chứa S3, trong khi tập dữ liệu phân loại Phần mềm độc hại trỏ đến thư mục phần mềm độc hại (nghĩa là s3://malware-detection-training-{account-id}-{region}/malware) của thùng S3. Dữ liệu đào tạo
  13. Chọn Tự động gắn nhãn cho hình ảnh dựa trên thư mục.
  14. Chọn Tạo bộ dữ liệu. Trang bộ dữ liệu cho dự án của bạn sẽ mở ra.
  15. trên Mô hình tàu hỏa trang, chọn Mô hình tàu hỏa. Tên tài nguyên Amazon (ARN) cho dự án của bạn phải ở trong Chọn dự án hộp chỉnh sửa. Nếu không, hãy nhập ARN cho dự án của bạn.
  16. Trong tạp chí Bạn có muốn đào tạo mô hình của bạn? hộp thoại, chọn Mô hình tàu hỏa.
  17. Sau khi đào tạo hoàn tất, chọn tên của mô hình. Đào tạo kết thúc khi trạng thái mô hình là TRAINING_COMPLETED.
  18. Trong tạp chí mô hình chọn phần Sử dụng mô hình để bắt đầu sử dụng mô hình.

Để biết thêm chi tiết, hãy kiểm tra các nhãn tùy chỉnh của Amazon Rekognition Bắt đầu hướng dẫn.

Đánh giá mô hình

Khi các mô hình đào tạo hoàn tất, bạn có thể truy cập các chỉ số đánh giá bằng cách chọn Kiểm tra số liệu trên trang mô hình. Amazon Rekognition cung cấp cho bạn các số liệu sau: điểm F1, độ chính xác trung bình và khả năng thu hồi tổng thể, thường được sử dụng để đánh giá hiệu suất của các mô hình phân loại. Cái sau là số liệu trung bình trên số lượng nhãn.

Trong tạp chí Hiệu suất trên mỗi nhãn phần, bạn có thể tìm thấy giá trị của các số liệu này trên mỗi nhãn. Ngoài ra, để nhận các giá trị cho Tích cực Đúng, Tích cực Sai và Âm tính Sai, hãy chọn Xem kết quả kiểm tra.

Chỉ số mô hình phát hiện phần mềm độc hại

Trên bộ dữ liệu cân bằng gồm 199,750 hình ảnh có hai nhãn (lành tính và phần mềm độc hại), chúng tôi nhận được các kết quả sau:

  • Điểm F1 – 0.980
  • Độ chính xác trung bình – 0.980
  • Thu hồi tổng thể – 0.980

Chỉ số mô hình phát hiện phần mềm độc hại

Số liệu mô hình phân loại phần mềm độc hại

Trên bộ dữ liệu cân bằng gồm 130,609 hình ảnh với 11 nhãn (11 họ phần mềm độc hại), chúng tôi nhận được các kết quả sau:

  • Điểm F1 – 0.921
  • Độ chính xác trung bình – 0.938
  • Thu hồi tổng thể – 0.906

Số liệu mô hình phân loại phần mềm độc hại

Để đánh giá xem mô hình có hoạt động tốt hay không, chúng tôi khuyên bạn nên so sánh hiệu suất của mô hình với các tiêu chuẩn ngành khác đã được đào tạo trên cùng một bộ dữ liệu (hoặc ít nhất là tương tự). Thật không may, tại thời điểm viết bài này, không có cơ quan nghiên cứu so sánh nào giải quyết vấn đề này bằng cách sử dụng cùng một kỹ thuật và cùng một bộ dữ liệu. Tuy nhiên, trong cộng đồng khoa học dữ liệu, một mô hình có điểm F1 trên 0.9 được coi là hoạt động rất tốt.

Chi phí và hiệu suất

Do tính chất không có máy chủ của tài nguyên, tổng chi phí bị ảnh hưởng bởi lượng thời gian mà mỗi dịch vụ được sử dụng. Mặt khác, hiệu suất bị ảnh hưởng bởi lượng dữ liệu được xử lý và nguồn cấp kích thước tập dữ liệu huấn luyện cho Amazon Rekognition. Đối với bài tập ước tính chi phí và hiệu suất của chúng tôi, chúng tôi xem xét tình huống sau:

  • 20 triệu đối tượng được lập danh mục và xử lý từ bộ dữ liệu sorel.
  • 160,000 đối tượng được lập danh mục và xử lý từ Bộ dữ liệu máy học phần mềm độc hại PE.
  • Khoảng 240,000 đối tượng được ghi vào bộ chứa S3 đào tạo: 160,000 đối tượng phần mềm độc hại và 80,000 đối tượng lành tính.

Dựa trên kịch bản này, chi phí trung bình để tiền xử lý và triển khai các mô hình là 510.99 USD. Bạn sẽ bị tính thêm $4 USD/giờ cho mỗi giờ bạn sử dụng mô hình. Bạn có thể tìm thấy bảng phân tích chi phí chi tiết trong ước tính được tạo ra thông qua Máy tính định giá AWS.

Về mặt hiệu suất, đây là những kết quả từ phép đo của chúng tôi:

  • ~2 giờ để quy trình tiền xử lý hoàn tất
  • ~40 giờ để hoàn thành đào tạo mô hình phát hiện phần mềm độc hại
  • ~40 giờ để hoàn thành đào tạo mô hình phân loại phần mềm độc hại

Dọn dẹp

Để tránh phát sinh các khoản phí trong tương lai, dừng lạixóa các mô hình Amazon Rekognition và xóa các tài nguyên tiền xử lý thông qua tiêu diệt.sh script. Các tham số sau là bắt buộc để chạy tập lệnh thành công:

  • STACK_NAME - Tên ngăn xếp CloudFormation
  • AWS_REGION - Khu vực nơi giải pháp được triển khai
  • AWS_PROFILE - Cấu hình được đặt tên áp dụng cho lệnh AWS CLI

Sử dụng các lệnh sau để chạy ./malware_detection_deployment_scripts/destroy.sh kịch bản:

bash malware_detection_deployment_scripts/destroy.sh -s  -p
 -r 

Kết luận

Trong bài đăng này, chúng tôi đã trình bày cách thực hiện phát hiện và phân loại phần mềm độc hại bằng Amazon Rekognition. Các giải pháp tuân theo mô hình serverless, tận dụng các dịch vụ được quản lý để xử lý trước dữ liệu, điều phối và triển khai mô hình. Chúng tôi hy vọng rằng bài đăng này sẽ giúp bạn trong nỗ lực không ngừng chống lại phần mềm độc hại.

Trong một bài đăng trong tương lai, chúng tôi sẽ hiển thị trường hợp sử dụng thực tế của việc phát hiện phần mềm độc hại bằng cách sử dụng các mô hình được triển khai trong bài đăng này.


Giới thiệu về tác giả

Edvin HallvaxhiuEdvin Hallvaxhiu là Kiến trúc sư Bảo mật Toàn cầu Cấp cao với Dịch vụ Chuyên nghiệp của AWS và rất đam mê về an ninh mạng và tự động hóa. Anh ấy giúp khách hàng xây dựng các giải pháp an toàn và tuân thủ trên đám mây. Ngoài công việc, anh ấy thích đi du lịch và thể thao.

Rahul ShauryaRahul Shaurya là Kiến trúc sư dữ liệu chính với AWS Professional Services. Anh trợ giúp và hợp tác chặt chẽ với các khách hàng xây dựng nền tảng dữ liệu và ứng dụng phân tích trên AWS. Ngoài giờ làm việc, Rahul thích đi dạo cùng chú chó Barney của mình.

Bruno DheftoBruno Dhefto là Kiến trúc sư bảo mật toàn cầu với AWS Professional Services. Anh tập trung vào việc giúp khách hàng xây dựng kiến ​​trúc Bảo mật và Đáng tin cậy trong AWS. Ngoài công việc, anh quan tâm đến việc cập nhật công nghệ mới nhất và đi du lịch.

Nadim MajedNadim Majed là kiến ​​trúc sư dữ liệu trong các dịch vụ chuyên nghiệp của AWS. Anh sát cánh cùng khách hàng xây dựng nền tảng dữ liệu của họ trên AWS. Ngoài công việc, Nadim chơi bóng bàn và thích xem bóng đá/bóng đá.

Dấu thời gian:

Thêm từ Học máy AWS