Các thuật toán và mô hình Machine Learning (ML) thu thập một lượng lớn dữ liệu và sử dụng nhận dạng mẫu để đưa ra dự đoán và điều chỉnh dựa trên dữ liệu đó. ML hỗ trợ chatbot, hệ thống đề xuất sản phẩm, xe tự lái và hỗ trợ ra quyết định trong các lĩnh vực y tế và tài chính. Do sự phổ biến của các công cụ và khuôn khổ như TensorFlow và PyTorch , các nhà phát triển hiện có thể thêm ML vào ứng dụng của họ với ít nỗ lực hơn. Trước khi bắt đầu Machine Learning, bạn nên biết về các cuộc tấn công mạng Machine Learning phổ biến nhất. Khi nghĩ về tính bảo mật của ứng dụng ML, bạn phải cân nhắc các lĩnh vực sau:
- Dữ liệu : Nếu dữ liệu của bạn bị hỏng theo bất kỳ cách nào, bạn sẽ không nhận được kết quả hữu ích đáng tin cậy từ các mô hình Machine Learning của mình.
- Ứng dụng : Khi một mô hình bị hỏng, ngay cả dữ liệu hoàn hảo nhất cũng đưa ra kết quả không chính xác.
- Đầu ra : Một ứng dụng chỉ tạo ra đầu ra mà nó được thiết kế để cung cấp. Việc thay đổi một ứng dụng để thực hiện các tác vụ khác với những gì nó được thiết kế để thực hiện là hành vi sử dụng sai mục đích của ứng dụng.
- Người dùng : Ngay cả khi tất cả các yếu tố bảo mật khác cho ứng dụng Machine Learning đều chính xác, người dùng vẫn có thể dễ dàng ngăn chặn các ứng dụng Machine Learning thông qua nhiều cách khác nhau, chẳng hạn như cố tình cung cấp dữ liệu đầu vào không hợp lệ hoặc hiểu sai dữ liệu đầu ra.
Hướng dẫn này thảo luận về các lỗ hổng bảo mật hàng đầu mà bạn có thể gặp phải trong một dự án Machine Learning. Một số lỗ hổng này là phổ biến đối với tất cả các dự án phát triển phần mềm, trong khi một số khác chỉ dành riêng cho các dự án Machine Learning.
Trốn tránh
Tấn công né tránh là vấn đề phổ biến nhất mà các ứng dụng Machine Learning phải đối mặt. Cuộc tấn công này tìm cách sửa đổi dữ liệu đầu vào để “lừa” các bộ phân loại ML. Ví dụ, một cuộc tấn công né tránh thành công có thể chèn một thuật toán độc hại vào ứng dụng của bạn để sửa đổi một chút hình ảnh, khiến nó bị thuật toán Machine Learning phân loại sai. Một cuộc tấn công né tránh tìm cách xâm nhập vào hệ thống theo những cách sau:
- Tệp đính kèm : Tệp đính kèm có thể chứa mã độc hại sẽ được thực thi ngay khi tệp được mở.
- Liên kết : Mã độc sẽ được thực thi ngay khi tài nguyên được liên kết trỏ tới được mở.
- Hình ảnh : Việc xem hình ảnh trong thiết lập email của người dùng có thể kích hoạt mã độc.
- Giả mạo : Tin tặc mạo danh một bên đáng tin cậy.
- Sinh trắc học : Sử dụng mã được thiết kế đặc biệt hoặc các kỹ thuật khác, kẻ tấn công sẽ mô phỏng biểu cảm khuôn mặt hoặc dấu vân tay để truy cập vào hệ thống.
- Mã được thiết kế đặc biệt : Có thể đào tạo mô hình máy học để làm nhiễu đầu ra của mô hình mục tiêu.
Ngộ độc
Một cuộc tấn công đầu độc được dàn dựng bằng cách đưa thông tin sai lệch vào luồng dữ liệu của ứng dụng, với mục đích tạo ra kết quả không chính xác. Có một số tình huống có thể xảy ra đầu độc. Sau đây là những tình huống phổ biến nhất:
- Sử dụng dữ liệu xấu trong quá trình đào tạo mô hình từ các nguồn không đáng tin cậy hoặc chưa được kiểm tra.
- Cung cấp lượng lớn thông tin đầu vào bị lệch hoặc có thành kiến sau khi đào tạo mô hình.
Kẻ tấn công thường thích ẩn mình trong trường hợp này vì mục tiêu không phải là hạ gục hệ thống. Thay vào đó, kẻ tấn công tìm cách thay đổi đầu ra theo cách có lợi cho kẻ tấn công theo một cách nào đó. Các bộ phân loại SVM thường là trọng tâm của các cuộc tấn công như vậy vì kẻ tấn công sử dụng chúng để thực hiện các nhiệm vụ như vẽ lại ranh giới chính trị hoặc bán hàng hoặc để tạo lợi thế cho một sản phẩm cụ thể trong chiến dịch bán hàng.
Suy luận
Nếu tin tặc xác định được bản ghi nào từ một tập dữ liệu được sử dụng để đào tạo mô hình Machine Learning, thông tin đó có thể được sử dụng để tìm lỗ hổng. Một cuộc tấn công suy luận sử dụng các kỹ thuật khai thác dữ liệu và phân tích để có được kiến thức về tập dữ liệu cơ bản. Trong hầu hết các trường hợp, kết quả tốt nhất đến từ các mô hình được trang bị quá mức. Quá mức xảy ra khi một mô hình Machine Learning tuân theo các điểm dữ liệu gốc quá cẩn thận. Điều này giúp tin tặc có thể truy vấn một điểm dữ liệu cụ thể một cách tương đối dễ dàng. Hiện tại, vectơ tấn công này chỉ hoạt động trên các mô hình học có giám sát và Mạng đối nghịch tạo sinh (GAN) .
Khi tin tặc gửi truy vấn đến mô hình, mô hình sẽ đưa ra dự đoán dựa trên mức độ tin cậy cho từng lớp mà mô hình hỗ trợ, cung cấp cho tin tặc những hiểu biết có giá trị về ứng dụng cơ bản. Phần tệ nhất của cuộc tấn công cụ thể này là nó thường được sử dụng để chống lại những người cụ thể và dữ liệu của họ , chẳng hạn như hồ sơ y tế của họ.
Trojan
Trojan sử dụng nhiều kỹ thuật khác nhau để tạo mã hoặc dữ liệu trông có vẻ hợp lệ, nhưng thực chất được thiết kế để chiếm quyền điều khiển ứng dụng hoặc thao túng các thành phần cụ thể của ứng dụng. Khái niệm sử dụng trojan chống lại ứng dụng đã cũ và được sử dụng chống lại các ứng dụng thuộc mọi loại. Tuy nhiên, trong trường hợp Machine Learning, trojan thường ẩn và tìm cách khám phá thêm về dữ liệu được ứng dụng Machine Learning sử dụng, thay vì thực hiện các tác vụ công khai hơn, chẳng hạn như xóa tệp. Có nhiều loại tấn công trojan, nhưng danh sách dưới đây chứa một số loại phổ biến nhất đối với Machine Learning:
- Backdoor : Tạo một backdoor trên máy tính mục tiêu mà hacker có thể sử dụng để điều khiển máy tính từ xa. Truy cập từ xa cho phép hacker thực hiện bất kỳ điều gì mong muốn, bao gồm tải xuống tập dữ liệu hoặc mô hình của bạn, làm hỏng tập dữ liệu hoặc khiến mô hình thực hiện theo cách không mong muốn.
- Banker : Tập trung vào chiến lược để có được hoặc thao túng thông tin tài chính. Khi xem xét khía cạnh Machine Learning của Trojan này, bạn phải nghĩ về các loại thông tin mà Trojan này có thể có được, chẳng hạn như suy luận thành viên, để có được dữ liệu hoặc trốn tránh, để có khả năng có được thông tin xác thực. Tuy nhiên, mục tiêu luôn là bằng cách nào đó thuyết phục người dùng tải xuống một tải trọng.
- Downloader : Nhắm mục tiêu vào các hệ thống đã bị xâm phạm và sử dụng chức năng của nó để tải xuống phần mềm độc hại bổ sung. Phần mềm độc hại này có thể là bất kỳ thứ gì, vì vậy hãy tìm kiếm bất kỳ loại hoạt động bất thường nào bao gồm bất kỳ phần nào trong hệ thống của bạn, bao gồm cả dữ liệu của bạn.
- Neural : Nhúng dữ liệu độc hại vào tập dữ liệu để tạo ra điều kiện mà hành động xảy ra dựa trên sự kiện, như một trình kích hoạt. Trong hầu hết các trường hợp, cuộc tấn công tập trung vào việc thay đổi trọng số của mạng nơ-ron để chỉ áp dụng cho một số nút nhất định. Loại Trojan này hiệu quả nhất đối với Mạng nơ-ron tích chập (CNN), mặc dù nghiên cứu hiện tại cho thấy bạn cũng có thể sử dụng nó đối với Mạng nơ-ron dài hạn (LSTM) và Mạng nơ-ron hồi quy (RNN).
Cửa sau
Kiểu tấn công này sử dụng các lỗ hổng hệ thống, ứng dụng hoặc luồng dữ liệu để truy cập vào hệ thống hoặc ứng dụng cơ bản mà không cần cung cấp thông tin xác thực bảo mật bắt buộc. Trọng tâm là bản thân mạng nơ-ron, thay vì các đầu vào được chuẩn bị đặc biệt. Mặc dù kiểu tấn công này dựa trên dữ liệu, nhưng nó tập trung vào việc làm hỏng mạng nơ-ron, giống như trường hợp của trojan. Kiểu tấn công cửa sau dựa vào việc kẻ tấn công sửa đổi dữ liệu đào tạo theo một cách nào đó để truy cập vào mô hình, thường là thông qua mạng nơ-ron cơ bản. Vì kiểu tấn công này rất tinh vi nên thường cần một ứng dụng riêng để định vị và loại bỏ nó.
Gián điệp
Một cuộc tấn công gián điệp liên quan đến việc đánh cắp dữ liệu được phân loại và nhạy cảm hoặc sở hữu trí tuệ để giành lợi thế trước một cá nhân, nhóm hoặc tổ chức. Về cơ bản, loại tấn công này liên quan đến việc lén lút do thám các hoạt động của một tổ chức để có được một kết quả cụ thể . Cuộc tấn công có thể kéo dài trong nhiều năm vì mục tiêu của kẻ tấn công là không bị phát hiện càng lâu càng tốt. Kết quả của cuộc tấn công thường cũng rất tinh vi, chẳng hạn như chuyển hướng một số, nhưng không phải tất cả, doanh số bán hàng sang một sản phẩm cụ thể. Hình thức tấn công này có thể nhắm mục tiêu vào dữ liệu và mô hình Machine Learning. Nó định vị dữ liệu bằng cách sử dụng các mô hình dự đoán để xem qua nhật ký để tìm các mẫu truy cập cụ thể.
Sự phá hoại
Phá hoại thực hiện các hành động cố ý và ác ý để phá vỡ các quy trình bình thường, do đó, ngay cả khi dữ liệu không bị hỏng, thiên vị hoặc bị hư hỏng theo một cách nào đó, các quy trình cơ bản cũng không tương tác với nó một cách chính xác. Thông thường, phá hoại có thể phát hiện được ở mức độ cao, nhưng tại thời điểm phát hiện, đã quá muộn để làm bất cứ điều gì về nó. Các tổ chức tài chính đặc biệt dễ bị phá hoại do lượng dữ liệu khổng lồ được sử dụng để tạo và quản lý các mô hình. Ngoài ra, phá hoại thường khó khắc phục vì dữ liệu cơ bản phải được khắc phục trước rồi mới xây dựng lại mô hình.
Gian lận
Gian lận xảy ra khi tin tặc dựa vào nhiều kỹ thuật khác nhau, chẳng hạn như lừa đảo hoặc liên lạc từ các nguồn không xác định, để phá hoại hệ thống, ứng dụng hoặc bảo mật dữ liệu theo cách bí mật. Mức độ truy cập này có thể cho phép sử dụng ứng dụng trái phép hoặc không được trả tiền và ảnh hưởng đến cách sử dụng kết quả, chẳng hạn như cung cấp dự đoán bầu cử sai. May mắn thay, có rất nhiều nghiên cứu đang chờ xử lý cũng sử dụng các kỹ thuật Machine Learning để phát hiện và giúp giảm thiểu gian lận .
Phần kết luận
Trước khi thêm ML vào dự án của bạn, bạn nên biết về các loại tấn công mạng thường nhắm vào các ứng dụng chạy bằng máy học. Trốn tránh, đầu độc và suy luận là một số loại tấn công phổ biến nhất nhắm vào các ứng dụng ML. Trojan, cửa hậu và gián điệp được sử dụng để tấn công mọi loại ứng dụng, nhưng chúng được sử dụng theo những cách chuyên biệt để chống lại máy học. Bây giờ bạn đã quen thuộc với các cuộc tấn công mạng cần chú ý, bạn có thể bắt đầu tạo ứng dụng chạy bằng máy học bằng cách cài đặt TensorFlow trên Ubuntu 20.04 .
Nguồn : https://www.linode.com/docs/guides/machine-learning-cyber-attacks/