Cấu trúc của PPDL dựa trên mã hóa an toàn

Một phần của tài liệu ĐB tính riêng tư cho mô hình DL (Trang 67)

bên trong không được tiết lộ cho bất kỳ bên nào khác bên ngoài vùng phủ. SLALOM sử dụng Môi trường thực thi đáng tin cậy (TEEs), môi trường này cô lập quy trình tính toán khỏi phần mềm không đáng tin cậy. Tính toán DNN được phân vùng giữa các bên đáng tin cậy và không đáng tin cậy. SLALOM chạy DNN trong bộ mã Intel SGX ủy quyền quá trình tính toán cho một GPU không đáng tin cậy. Điểm yếu của phương pháp này được cho là hạn chế hoạt động của CPU vì TEE không cho phép truy cập GPU. Một lỗ hổng do tấn công kênh phụ có thể xảy ra như được trình bày bởi Vanet al. Chiron cung cấp hệ thống hộp đen cho PPDL. Hệ thống che giấu dữ liệu đào tạo và cấu trúc mô hình từ nhà cung cấp dịch vụ. Nó sử dụng các vùng phủ SGX và hộp cát Ryoan. Vì SGX enclaves chỉ bảo vệ sự riêng tư của mô hình, hộp cát Ryoan được chọn ở đây để đảm bảo, ngay cả khi mô hình cố gắng làm rò rỉ dữ liệu, dữ liệu sẽ được lưu trữ bên trong hộp cát, ngăn chặn sự rò rỉ. Chiron cũng hỗ trợ quá trình đào tạo phân tán bằng cách thực thi nhiều enclaves trao đổi các tham số mô hình thông qua máy chủ. Chiron tập trung vào việc học được thuê ngoài bằng cách sử dụng một môi trường an toàn. Sự khác biệt chính giữa Chiron và Ohrimenko là việc thực thi mã. Chiron cho phép thực thi mã không đáng tin cậy để cập nhật mô hình và triển khai bảo vệ bằng cách sử dụng hộp cát để mã sẽ không bị rò rỉ dữ liệu ra bên ngoài vùng mã hóa. Mặt khác, Ohrimenko yêu cầu tất cả các mã bên trong vỏ bọc SGX phải công khai để đảm bảo rằng mã được tin cậy. Điểm yếu chính dựa trên giả định rằng mô hình không được tiếp xúc với các bên khác. Kết quả là, nếu tác nhân có thể truy cập vào mô hình được đào tạo, sẽ có sự rò rỉ dữ liệu, như Shokri chỉ raet al. Vấn đề rò rỉ này có thể được giải quyết bằng cách sử dụng thuật toán đào tạo dựa trên quyền riêng tư khác biệt. Bảng 3.4 hiển thị các tính năng của PPDL dựa trên vùng bảo mật đã được khảo sát.

Refer

ence Key concept

Learning

type Dataset

Chiro n

Combines SGX enclaves and Ryoan sandbox to

provide a black-box system for PPDL Server_b ased CIFAR ImageNet SLAL OM Utilizes atrusted execution environment to isolate computation Server_b ased -

processes

Bảng 3.4. Các tính năng của PPDL dựa trên mã hóa an toàn

3.5 PPDL dựa trên HYBRID

Ohrimenko đề xuất một nền tảng mã hóa an toàn dựa trên hệ thống SGX cho MPC an toàn. Nó tập trung vào học tập hợp tác, cung cấp dịch vụ dự đoán trên đám mây. Ohrimenko yêu cầu tất cả các mã bên trong SGX enclave phải được công khai để đảm bảo rằng mã đó được tin cậy. Điểm yếu của phương pháp này được khẳng định là do lỗ hổng cố hữu của nó đối với việc rò rỉ thông tin do tấn công GAN như được thể hiện bởi Hitajet al. Chase muốn đề xuất một khuôn khổ hợp tác riêng cho học máy. Ý tưởng chính là kết hợp MPC với DP an toàn cho phần riêng tư và tận dụng NN cho phần học máy. Điểm yếu của phương pháp này là giảm độ chính xác khi thực hiện trong một mạng lớn, cho thấy vấn đề về khả năng mở rộng. Ngoài ra, quyền riêng tư dữ liệu của nó chỉ có thể được đảm bảo nếu những người tham gia không thông đồng.

Trong GAZELLE, HE được kết hợp với GC để đảm bảo quyền riêng tư và bảo mật trong môi trường MLaaS. Đối với thư viện HE, nó sử dụng nhiều dữ liệu theo lệnh đơn (SIMD) bao gồm phép cộng và nhân bản mã để cải thiện tốc độ mã hóa. Thuật toán Gazelle giúp tăng tốc quá trình tích chập và nhân ma trận. Một chuyển đổi tự động giữa HE và GC được thực hiện để dữ liệu được mã hóa có thể được xử lý trong NN. Đối với phần học sâu, nó thúc đẩy CNN bao gồm hai lớp tích hợp, hai lớp ReLU làm lớp kích hoạt, một lớp tổng hợp và một lớp được kết nối đầy đủ. Tác giả đã sử dụng bộ dữ liệu MNIST và CIFAR-10 trong quá trình thử nghiệm và thành công cho thấy rằng Gazelle vượt trội hơn một số kỹ thuật phổ biến như MiniONN và Cryptonets về thời gian chạy. Hơn nữa,to ngăn chặn một cuộc tấn công liên kết, Gazelle giới hạn số lượng truy vấn phân loại từ một máy khách. Giới hạn của GAZELLE được cho là chỉ hỗ trợ lược đồ tính toán của hai bên vì nó sử dụng mạch cắt xén để trao đổi an toàn giữa hai bên.

Ryffel giới thiệu một khung PPDL sử dụng tính năng học liên kết được xây dựng trên PyTorch. Học liên kết yêu cầu nhiều máy để đào tạo dữ

mô hình dự đoán được chia sẻ bằng cách sử dụng dữ liệu trong thiết bị của riêng họ. Tác giả kết hợp MPC an toàn với DP để xây dựng một giao thức cho phép học liên kết. Nhìn chung, cách tiếp cận được đề xuất có vấn đề chi phí do nút cổ chai trong thư viện cấp thấp, so với API python cấp cao. Cách tiếp cận được đề xuất dễ bị tấn công thông đồng nếu những người tham gia thông đồng với nhau.

CrypTFlow kết hợp các mã bảo mật với chia sẻ bí mật trong DNN để bảo mật quá trình học tập của tập dữ liệu ImageNet. Điểm yếu chính của CrypTFlow được cho là không hỗ trợ xử lý GPU. Do đó, chi phí tính toán trong quá trình đào tạo an toàn vẫn còn cao. Bảng 3.5 hiển thị các tính năng của PPDL dựa trên kết hợp đã được khảo sát.

Referen ce Key concept Learning type Dataset Ohrime nko Applies secure enclaves plaform

based for secure MPC Server_bas ed MNIST Chase Proposes a private collaboration framework by combining secure MPC with DP Server_assi sted MNIST GAZEL LE Combines HE with garbled circuit using SIMD Server_bas ed MNIST CIFAR_1 0 Ryffe1 Builds a new protocol for federate learning in PPDL Server_assi sted Boston Housing Pima Diabetes CrypTFl ow Combines secure enclave with secre

shring in DNN

Server_assi

sted ImageNet

Bảng 3.5. Các tính năng của PPDL dựa trên kết hợp

Trong chương 3 này đã nêu được phương pháp kết hợp giữa phương pháp PP cổ điển và mô hình DL. Bao gồm các phương pháp PPDL hiện đại nhất để đảm bảo tính riêng tư cho mô hình học sâu

CHƯƠNG IV: TRIỂN KHAI CÀI ĐẶT MÔ HÌNH

4.1 Mục tiêu, mô hình bài toán

4.1.1 Mục tiêu

Với sự phát triển công nghệ ngày nay có rất nhiều mô hình học máy ra đời với tính nhạy bén và có độ chính xác cao. Tuy nhiên bên cạnh đó còn một vấn đề mà chúng ta đáng phải quan tâm đó là đảm bảo tính riêng tư cho mô hình học máy. Trong phần này, sẽ nêu nên vấn đề trên với mô hình sử dụng là Deep Learning cho bài toàn phát hiện Spam Email. Mục tiêu nội dung bao gồm:

 Triển khai mô hình phát hiện spam email

 Triển khai thuật toán mã hóa đảm bảo tính riêng tư cho mô hình  Dự đoán phân loại thư rác thông qua mô hình đã xây dựng 4.1.2 Mô hình thuật toán

Trong mô hình phát hiện thư rác này điều mà ta cần hướng đến đó làm. Đảm bảo tính riêng tư, tính bí mật cho mô hình. Ta có thể hiểu như sau Với server tức là bên phía mô hình dự đoán sẽ không biết được đầu vào thật sự khi mà client gửi lên nhưng vẫn có thể dự đoán được chính xác. Đồng thời với client thì sẽ không biết được mô hình mà phía server đã sử dụng để dự đoán cho cái input mà client đã gửi cho server.

Ta có: w là giá trị weight bên phía mô hình server

X sẽ là giá trị đầu vào mà client gửi lên server

Nhiệm vụ mã hóa w bằng cách nhân w với một ma trận k bất kì có cùng kích thước với w để thu được giá trị W = w*k

Lúc này giá trị W đã được mã hóa và sẽ gửi về client. Client sẽ mã hóa giá trị đầu vào X bằng cách nhân với một véc tơ t bất kì để thu được x

= X*t là giá trị input nhiễu. Sau đó client sẽ nhân giá trị nhiễu là x với W

nhận bên server sau đó gửi lại cho server.

Server nhận được Wx từ client sẽ tiến hành nhân với khóa k nghịch đảo để thu được giá trị wx thực. Từ đó ta có một mô hình mới với giá trị w đã được mã hóa đảm bảo được tính riêng tư cho mô hình.

Dựa vào thuật toán trên ta sẽ tiến hành thực nghiệm với mô hình phát hiện phân loại thư rác sử dụng mô hình giữa client và server.

4.2. Cài đặt mô hình

4.2.1 Chuẩn bị

Trong phần này sẽ thực hiện xây dựng cài đặt mô hình sử dụng python làm ngôn ngữ lập trình chính.

Một số thư viện học máy phổ biến như: tensorflow, keras, sklearn. Các thư viện hỗ trợ khác: pandas, numpy, matplotlib, ...

Sử dụng tập dữ liệu dataset của Kaggle được phát hành năm 2019. Tập dữ liệu có số lượng spam lên tới 29% trên tập dữ liệu.

Hình 4.1. Tập dữ liệu Spam/ham

Sử dụng hàm data.head() gọi ra n hàng đầu tiên cho đối tượng dựa trên vị trí của nó. Với n có giá trị mặc định là 5 tức là 5 dòng đầu tiên. Như vậy có thể xem nhanh đối tượng trong đó thuộc spam hay không

Ta có thể viết như sau:

Hình 4.2. Dữ liệu của 5 dòng đầu tiên

Để một mô hình có thể học được và dự đoán được đoạn văn bản có phải là thư rác hay không thì điều cốt lõi trong bộ dữ liệu của chúng ta cần phải có đó chính là thư rác và các đoạn văn không phải thư rác. Bộ dữ liệu của chúng ta xây dựng bao gồm 2 yếu tố trên. Dưới đây là biểu đồ thể hiện tỉ lệ giữa các email spam và not spam

Hình 4.3. Biều đồ thể hiện tỉ lệ Spam/ham trong bộ dữ liệuBước tiếp theo của chúng ta là tạo ra một Wordcloud bao gồm các từ Bước tiếp theo của chúng ta là tạo ra một Wordcloud bao gồm các từ thường xuyên xuất hiện trong email spam

Hình 4.4. Wordcloud với các từ thường xuyên xuất hiện trong email spamCũng tương tự như email spam chúng ta cần xây dựng một wordcoud Cũng tương tự như email spam chúng ta cần xây dựng một wordcoud để lưu trữ các từ không xuất hiện trong spam email

4.2.2 Xây dựng mạng, huấn luyện và triển khai mô hìnhMô hình chung cho mạng LSTM Mô hình chung cho mạng LSTM

Hình 4.6. Mô hình sử dụng mạng LSTM

Xây dựng mô hình với mạng LSTM đầu tiên chúng ta cầm import các thư viện, các lớp liên quan cần thiết

Sử dụng mạng LSTM bao gồm các lớp trong đó lớp đầu vào là lớp embedding

Hình 4.7. Mạng LSTM phân loại thư rác

Sau khi xây dựng được model chúng ta tiến hành training model với số lần training là 30 ta thu được các giá trị như sau

Hình 4.8. Các giá trị sau khi training model

Việc sử dụng mạng LSTM trong xử lý phân loại thư rác tuy model của chúng ta có độ chính xác tương đối tối với giá trị accuracy tương ứng là 0.991. Tuy nhiên vẫn có những khả năng sai lệch nhỏ và nó được thể hiện với mô hình dưới đây

4.3 Áp dụng thuật toán mã hóa đảm bảo tính riêng tư cho mô hình

Trong phần này chúng ta sẽ triển khai thuật toán mã hóa dữ liệu đầu vào cho mô hình phát hiện email spam. Như đã nêu ở phần trước, thì mô hình của chúng ta sử dụng là mạng LSTM với lớp đầu là lớp embedding

Hình 4.11. Cấu trúc model phát hiện email spam

Nhiệm vụ bây giờ là cần mã hóa lớp embedding trong mô hình này. Với mô hình giữa client và server tạo nhiễu weight bên phía server để khi mà gửi về client sẽ không bị lộ weight

Hình 4.12 Tạo nhiễu cho weight cho server

Bằng các nhân khóa k bất kì với weight ta sẽ thu được giá trị weight trước và sau khi tạo nhiễu

Hình ảnh giá trị weight trước khi tạo nhiễu và sau khi tạo nhiễu. Lúc này server đã bảo đảm được tính riêng tư cho mô hình khi mà giá trị weight đã được nhân với khóa k, client sẽ không thể biết được mô hình mà server dùng để dự đoán giá trị input của mình.

Bên phía client chúng ta cần tạo nhiễu cho input bằng cách nhân với một véc tơ bất kì sau đó gửi về server

Hình 4.113 Giá trị đầu vào trước và sau khi được làm nhiễu

Sau khi client gửi input về phía server. Server sẽ nhận được giá trị XW đã mã hóa. Với X là input từ client và W là weight từ phía server. Lúc này server sẽ tiến hành nhân khóa k nghịch đảo để thu được XW thực. Đồng thời thì client đã đảm bảo được tính bí mật cho input khi mà server không biết được input thực của client. Với sự thay đổi nhỏ khi làm nhiễu input từ client thì server vẫn có thể dự đoán được chính xác input mà client gửi.

4.4 Thử nghiệm dự đoán mô hình

Áp dụng thuật toán trên trong phần 4.3 vào việc dự đoán một đoạn văn bản có phải là spam hay không. Trong phần này sẽ sử dụng streamlit với python để chạy chương trình phân loại thư rác. Chúng ta sẽ dự đoán với đoạn văn bản spam và đoạn văn không chứa spam để xem kết quả

Hình 4.14. Hình ảnh dự đoán đoạn phân loại thư rác

Hình 4.15. Hình ảnh đoạn văn bản là một spam

4.5. Kết quả và đánh giá

Trong chương này đã tiến hành cài đặt chứng minh được tính hiệu quả của DL trong phát hiện hiểm email spam. Đảm bảo được tính riêng tư cho mô hình phát hiện spam cũng như duy trì được sự ổn định của accuracy khi áp dụng thuật toán mã hóa để đảm bảo tính riêng tư cho mô hình DL

KẾT LUẬN

Trong bốn chương của đồ án trình bày ở trên đã thể hiện được rằng những mục tiêu đặt ra khi thực hiện đồ án đều đã đạt được. Cụ thể:

Chương 1 Đã giới thiệu được tổng quan Machine learning, Deep learning, một số mạng nơ ron trong deep learning.

Chương 2 Nêu được các ứng dụng của DL trong phát hiện hiểm họa ATTT.

Chương 3 Đã giới thiệu được các giải pháp để đảm bảo tính riêng tư cho mô hình học máy.

Chương 4 Đã tiến hành cài đặt chứng mình phương pháp được sử dụng DL với mô hình phát hiện spam cũng như sử dụng mã hóa làm nhiễu đầu vào để bảo vệ tính riêng tư cho mô hình. Qua mô hình trên cũng đánh giá được tính hiệu quả của việc ứng dụng deep learning trong bảo vệ tính riêng tư của mô hình học máy. Dù vậy, vẫn còn một số vấn đề liên quan đến xử lí dữ liệu, thiết kế, tối ưu mô hình.

TÀI LIỆU THAM KHẢO

[1] S. Mukkamala, A. Sung, A. Abraham, Cyber security challenges: Designing efficient intrusion detection systems and antivirus tools, Vemuri, V. Rao, Enhancing Computer Security with Smart Technology. (Auerbach, 2006) (2005) 125–163.

[2] A.L. Buczak, E. Guven, A survey of data mining and machine learning methods for cyber security intrusion detection, IEEE Communications Surveys & Tutorials 18 (2) (2016) 1153–1176, doi:10.1109/COMST.2015.2494502.

[3] P. Faruki, A. Bharmal, V. Laxmi, V. Ganmoor, M.S. Gaur, M. Conti, M. Ra-jarajan, Android security: A survey of issues, malware penetration, and de-fenses, IEEE Communications Surveys & Tutorials 17 (2) (2015) 998–1022, doi:10.1109/COMST.2014.2386139.

[4] Y. Ye, T. Li, D. Adjeroh, S.S. Iyengar, A survey on malware detection using data mining techniques, ACM Computing Surveys (CSUR) 50 (3) (2017) 1–40, doi:10.1145/3073559.

[5] D. Kwon, H. Kim, J. Kim, S.C. Suh, I. Kim, K.J. Kim, in: A survey of deep learning-based network anomaly detection, Cluster Computing, 2017, pp. 1– 13, doi:10.1007/s10586-017-1117-8.

[6] E. Aminanto, K. Kim, Deep learning in intrusion detection system: An overview, in: Proceedings of the 2016 International Research

Một phần của tài liệu ĐB tính riêng tư cho mô hình DL (Trang 67)

Tải bản đầy đủ (DOCX)

(85 trang)
w