Sự kết hợp giữa các POIs bởi tầng tích chập trong mạng CNN

Một phần của tài liệu (Luận án tiến sĩ) một số phương pháp tấn công phân tích điện năng tiêu thụ hiệu quả sử dụng kỹ thuật xử lý tín hiệu và học máy (Trang 124 - 135)

1 = (…, , +1

Để lối ra của tầng tích chập thứ hai có thể tạo ra được sự kết hợp giữa hai dải POIs trên thì trước hết độ dài của bộ lọc trong tầng tích chập này phải đủ lớn để bao được cả hai dải POIs trên. Khi đó, khi bộ lọc trượt đến vùng có chứa các dải POIs,

các đặc trưng lối ra tầng tích chập thứ hai được biểu diễn bởi (3.8).

+ 1 + 2

2=∑ . +∑ . +∑ .

=

= + +∑ .

2 = : + 1 = : + 2

Nếu ở tầng thứ nhất các POIs được phát hiện thì thành phần thứ 3 trong biểu thức (3.8) sẽ xấp xỉ bằng 0 và sẽ được viết lại thành (3.9).

=

2

Do các giá trị trọng số , ∈ , có thể nhận giá trị dương hoặc âm, nên , cũng có thể dương hoặc âm. Như vậy, lối ra tầng tích chập thứ hai có thể là tổng hoặc hiệu của các và . Lối ra này có dạng hàm kết hợp trong biểu thức(3.3) và do

đó thông tin ở lối ra của tầng tích chập thứ hai chứa thông tin kết hợp của các dải POIs.

Mặc dù thành phần thứ 3 trong (3.8) là nhỏ, tuy nhiên để mạng tránh ảnh hưởng đến

quá trình học các POIs kết hợp thì trong quá trình huấn luyện mạng CNN, thành phần này

được điều chỉnh gần về 0 hơn. Khi đó, kỹ thuật điều chỉnh 1 (L1-regulization) được đề

xuất sử dụng ở tầng tích chập thứ nhất nhằm mục đích tối thiểu thành phần thứ 3 trong

(3.8).

Mô-đun HO-SCA: Tầng tích chập thứ nhất có nhiệm vụ phát hiện các dải POIs của vết

điện năng tiêu thụ đầu vào. Tầng tích chập thứ hai có nhiệm vụ tổng hợp các POIs ở lối ra tầng tích chập thứ nhất để tạo ra các đặc trưng kết hợp giữa các POIs. Tuy nhiên, phép tích chập chỉ có tác dụng kết hợp tuyến tính giữa các điểm POIs lối vào của nó. Do đó, chỉ hàm hàm = ℓ0, − ℓ1, trong biểu thức (3.3) được tạo ra tại lối ra của tầng tích chập thứ hai làm các đặc trưng của vết. Để tạo ra hàm tích giữa các điểm POIs = ℓ0, × ℓ1, như trong biểu thức (3.4), một mô-đun tính toán được gọi là HO-SCA được thêm vào kiến trúc mạng CNN như được biểu diễn trên Hình3.4. Mô-đun HO-SCA có mục đích để tạo ra các đặc trưng là tích của các điểm POIs với các đầu vào và lối ra được mô tả bởi biểu thức (3.10). Lối ra của mô-đun HO-SCA được kết hợp cùng với các đặc trưng được tạo ra ở tầng tích chập thứ hai ở tầng FLATTEN và đưa vào các lớp nơ-ron ẩn phía sau để phục vụ cho quá trình phân lớp các vết điện năng tiêu thụ.

− = ([ 1,2, … , ]) = [ 1 2,1 3, … ,1 ,2 3, … , … −1 ]

3.3.1.2. Khối phân lớp vết điện năng tiêu thụ

Các đặc trưng kết hợp tạo ra bởi tầng tích chập thứ hai và HO-SCA sẽ được kết hợp lại với nhau ở tầng FLATTEN và được đưa vào tổng hợp ở phần mạng thực hiện chức năng phân lớp đó là các lớp nơ-ron ẩn. Cuối cùng là tầng đầu ra với số nơ-ron bằng với số lượng nhãn của vết điện năng tiêu thụ cần phân lớp.

Như vậy, kiến trúc bộ lớp CNNd bao gồm các tầng tích chập, lớp HO-SCA, tầng

FLATTEN và các lớp nơ-ron ẩn, và tầng đầu ra. Với các mạng nơ-ron tích chập, theo sau các tầng tích chập là các tầng POOL có tác dụng làm giảm kích thước đặc

trưng lối ra tầng tích chập [78]. Do đó, trong kiến trúc CNNd, sau mỗi tầng tích chập

là một tầng POOL với các tham số là kích thước và bước trượt là 2 [33].

Do mỗi kiến trúc phân lớp thường chỉ phù hợp và tối ưu cho một bài toán cụ thể nên ngoài việc thiết kế các bộ lọc phù hợp cho tầng tích chập, tạo các đặc trưng kết hợp phù hợp với bài toán phân lớp cho các vết của thiết bị mặt nạ thì các tham số còn lại của kiến trúc CNNd như số lượng bộ lọc, kích thước bộ lọc, số lượng tầng nơ-ron ẩn, số nơ-ron trong một tầng ẩn cũng cần được tối ưu. Hiện tại, chưa có giải pháp cụ thể nào để xác định các tham số trên, do đó luận án đề xuất sử dụng thuật toán tối ưu dựa trên hành vi săn mồi của bày sói (GWO) để xác định các tham số trên.

3.3.2. Tối ưu tham số cho mô hình phân lớp CNNd

Trong kiến trúc CNNd, số lượng các tầng của CNN đã được xác định, tuy nhiên

giá trị của các tham số của các tầng vẫn chưa được xác định. Bộ tham số của CNN

cần xác định { 1, 2, 3, 4, 1, 2} nằm trong một dải rộng. Việc lựa chọn một bộ các tham số trên để khi huấn luyện CNNd cho độ chính xác của việc phân lớp cao tương ứng với việc thử tổ hợp tất cả các tham số trên và lựa chọn bộ tham số cho kết quả tốt nhất. Do không gian các tham số lớn nên cần có một thuật toán tối ưu để tìm kiếm. Hiện nay, các thuật toán tối ưu dựa trên trí tuệ bày đàn được sử dụng thành công trong nhiều lĩnh vực trong đó có việc lựa chọn tham số cho các thuật toán học máy [79]. Do đó, luận án đề xuất sử dụng một thuật toán tối ưu dựa trên hành vi săn mồi của bày sói (GWO) để tìm kiếm bộ tham số tối ưu cho mạng CNNd.

GWO mô phỏng theo hành vi tồn tại và săn mồi của bầy sói xám. Hệ thống

phân cấp của loài sói xám được chia thành các cấp , , , . Con đầu đàn được gọi

là Alpha, dẫn đầu đàn, có nhiệm vụ quyết định về việc săn bắt, nơi ở. Cấp thứ hai trong phân cấp của những con sói xám là Beta. Các Beta là những con sói thường trong đàn dưới quyền Alpha nhưng cũng chỉ huy các con sói cấp thấp khác. Bậc thấp nhất trong bầy sói xám là Omega. Đó là những con sói yếu ớt và phải dựa vào các con sói khác trong đàn. Các con sói Delta phụ thuộc vào Alpha và Beta nhưng chúng trội hơn Omega. Chúng làm nhiệm vụ theo dõi ranh giới lãnh thổ và cảnh báo trong trường hợp có nguy hiểm, bảo vệ và đảm bảo an toàn cho bầy, chăm sóc

những con sói yếu, bị thương trong đàn. Ngoài hệ thống cấp bậc xã hội của sói, săn

mồi theo bầy còn là một hành vi xã hội đáng chú ý của sói. Theo Mirjalili [80] các giai đoạn chính của việc săn bắt con mồi là: khoanh vùng, rượt đuổi và tấn công con mồi khi nó ngừng di chuyển.

Trong giai đoạn khoanh vùng, bày sói cập nhật vị trí của chúng theo vị trí con

mồi và việc cập nhật vị trí có thể mô tả bởi biểu thức (3.11).

=| . ()− ()|

(3.11)

( +1)= ()− .⃗

Trong đó là vị trí lặp hiện tại, là véc-tơ vị trí của con mồi, là vị trí của sói xám. , là các vector hệ số, = 2 .1 − , = 2.2, với giảm tuyến tính trong từ 2 tới 0 trong suốt

quá trình lặp,1,2 là các vector ngẫu nhiên trong khoảng [0,1].

Để mô phỏng theo toán học cách săn mồi của sói xám, giả sử rằng Alpha, Beta và Delta có vị trí tốt hơn đối với vị trí của con mồi. Do đó, ba giải pháp đầu tiên thu được cho đến thời điểm này được coi là tốt nhất và yêu cầu các cá thể tìm kiếm khác (kể cả Omegas) cập nhật vị trí của chúng theo vị trí của các cá thể tìm kiếm tốt

nhất. Để mô tả hành vi này, Mirjalili [80] đề xuất các biểu thức trong (3.12).

= | 1 . − |; =|2. − |; =|3

( +1)=

Trong đó, 1, 2, 3 là vị trí của alpha, beta và delta.

Trong quá trình tấn công con mồi, những con sói xám kết thục cuộc săn bằng cách tấn công con mồi khi nó ngừng di chuyển. Để mô phỏng theo toán học cách tiếp cận con mồi chúng ta giảm giá trị của . Độ biến thiên của

giảm theo . Hay là một giá trị ngẫu nhiên trong khoảng [−2 , 2 ] trong đó được giảm từ 2 đến 0 trong quá trình

lặp. Khi các giá trị ngẫu nhiên của nằm trong [−1,1], vị trí tiếp theo của một cá thể tìm kiếm có thể ở bất kỳ vị trí

nào giữa vị trí hiện tại và vị trí của con mồi. Khi | | < 1 các con sói bắt buộc phải tấn công con mồi, nếu không thì

bầy sói sẽ tách ra để tìm kiếm để thăm dò rộng hơn.

Quá trình tìm tham số cho CNNd bởi thuật toán GWO được đề xuất dựa trên

thuật toán gốc GWO và được thể hiện bởiThuật toán 3.1.

Thuật toán 3.1: Thuật toán tìm tham số cho CNNd

Đầu vào:

- Số lượng tham số cần tìm: - Số lần lặp tối đa:

- Tập vết điện năng tiêu thụ được gán nhãn

Đầu ra:

- Bộ tham số tối ưu

1: Bắt đầu thuật toán:

2: Chia tập vết thành 02 tập: tập huấn luyện , tập kiểm tra ;

3: Khởi tạo bày sói: ( = 1, … ,);

4: Khởi tạo các tham số , và ;

5: (mỗi lời giảitrong bày sói) do

6: Thiết lập một mô hình CNN với các tham số là

7: Huấn luyện CNN với tập

8: Tính hàm mục tiêu của lời giải : sử dụng công thức (3.14)

9: xác phân lớp của CNN với tập .

10:

11: Đặtlà lời giải tốt nhất

12: Đặtlà lời giải tốt thứ hai

13: Đặtlà lời giải tốt thứ ba

14: while (số lần lặp <) do

15: for (mỗi lời giải trong bày sói) do

16: Cập nhật vị trí củatheo công thức (3.12)

17: Thiết lập một mô hình CNN với các tham số là

18: Huấn luyện CNN với tập

19: Tính hàm mục tiêu của lời giải : sử dụng công thức

20: chính xác phân lớp của CNN với tập .

21: end for 22: Cập nhật , , 23: Cập nhật , , 24: Tăng số lần lặp lên 1 25: End while 26:

Biểu diễn lời giải:

Các tham số của CNNd có ảnh hưởng lớn đến độ chính xác phân lớp của nó. Bộ

tham số của CNNd cần xác định { 1,2,3, 4,1, 2} nằm trong một dải rộng. Do đó, thuật toán GWO được sử dụng để xác định các tham số trên dựa trên hàm mục tiêu là độ chính xác của CNNd. Mỗi lời giải trong không gian tìm kiếm của bày sói chứa

6 giá trị tương ứng với các tham số của CNNd. Thuật toán GWO được áp dụng cho

các bài toán mà không gian tìm kiếm là liên tục cho mỗi cá thể. Mặt khác, các tham số của CNN là các giá trị rời rạc, do đó luận án sử dụng một hàm chuyển đổi để chuyển các vector số thực mô tả vị trí của mỗi cá thể trong không gian tìm kiếm

thành vector số nguyên bởi công thức (3.13).

= ⌊

Trong đó là số thực mô tả vị trí của , là vector số nguyên mô tả vị trị của , số cột của , và là giới hạn dưới và trên của không gian tìm kiếm.

Lựa chọn hàm mục tiêu:

Thuật toán tối ưu tìm tham số được bắt đầu với bước khởi tạo ở đó số lượng cá thể tìm kiếm được khởi tạo bởi một số ngẫu nhiên mô tả vị trí của nó. Số lượng các

vị trí tương ứng với số tham số của CNNd cần được tối ưu bởi GWO. Mỗi cá thể tìm

kiếm tương ứng với một lời giải chứa các giá trị là các tham số của CNN. Sau quá trình khởi tạo, các thế hệ mới của quần thể tìm kiếm đầu tiên được tạo ra trong quá trình lặp của thuật toán tìm kiếm. Để đánh giá hiệu quả của mỗi lời giải, một hàm mục tiêu cần được định nghĩa cho quá trình tối ưu. Trong phương pháp đề xuất, độ

chính xác phân lớp của CNNd trên tập kiểm tra theo công thức (3.14) được sử dụng

là hàm mục tiêu. Trong đó | | là số lớp cần phân loại, là tổng số vết thuộc lớp được

phân lớp đúng và là tổng số vết thuộc lớp được phân lớp sai.

=

Kết quả thực hiện: Kết quả thực nghiệm sử dụng GWO để tìm bộ tham số cho

CNNd với bộ dữ liệu ASCAD, trong đó có 45000 vết dùng trong pha huấn luyện,

Bảng 3.2. Tham số của CNNd cho bởi GWOSố bộ lọc tầng CONV1: 1 Số bộ lọc tầng CONV1: 1 Kích thước bộ lọc tầng CONV1: 2 Số bộ lọc tầng CONV2: 3 Kích thước bộ lọc tầng CONV2: 4 Số tầng tầng nơ-ron ẩn: 1 Số nơ-ron / tầng: 2 3.3.3. Đánh giá bộ phân lớp CNNd Phương pháp xây dựng Số tầng tích chập Mô-đun HO-SCA

Tầng đầu ra

Bảng 3.3 liệt kê kiến trúc và các tham số của một số bộ phân lớp sử dụng để phân lớp cho các vết điện năng tiêu thụ của thiết bị mặt nạ. CNNd có kiến trúc được xây dựng dựa trên đặc điểm dữ liệu đầu vào là các POIs của vết điện năng tiêu thụ và các tham số của nó được tối ưu bởi thuật toán GWO. Do đó, so với CNNP[50] và CNNz[52], CNNd được xây dựng theo nguyên tắc phù hợp hơn, các tham số được tối ưu thông qua thực nghiệm do đó có thể tăng được hiệu quả tấn công đối với bài toán tấn công cụ thể lên thiết bị mặt nạ. Hơn nữa, về mặt kiến trúc, CNNd có kiến trúc nhỏ hơn nhiều với CNNP và ở mức tương đương với CNNz.

Đề xuất phương pháp tấn công cho thiết bị có mặt nạ CNN-D

Thông qua việc xây dựng bộ phân lớp CNNd, luận án đề xuất áp dụng CNNd vào phương pháp tấn công mẫu sử cho thiết bị có phòng vệ bằng phương pháp mặt nạ gọi là CNN-D với các giả định tấn công và quy trình tấn công được mô tả dưới đây.

3.4.1. Các giả định tấn công

Khi thực hiện tấn công trên thiết bị có mặt nạ, một số giả định sau được đặt ra:

Đối với thiết bị cần tấn công:

- Người tấn công có thể điều khiển thiết bị hoạt động với tập bản rõ đầu vào và

biết được tập bản mã đầu ra. Đo được các vết điện năng tiêu thụ trong quá trình thiết bị hoạt động.

Đối thiết bị lập mẫu (thiết bị để mô hình điện năng tiêu thụ):

- Là bản sao của thiết bị cần tấn công

- Người tấn công có thể điều khiển thiết bị hoạt động với tập bản rõ đầu vào và

biết được tập bản mã đầu ra. Đo được các vết điện năng tiêu thụ trong quá trình thiết bị hoạt động.

- Người tấn công có thể xây dựng bộ mẫu cho các khóa của thiết bị. Điều này

có nghĩa người tấn công biết khóa của thiết bị mẫu và có thể thay đổi nó cho quá trình mã hóa.

- Người tấn công không biết chi tiết thuật toán mật mã được cài đặt như thế nào mà chỉ biết được thuật toán được cài đặt và sơ đồ mặt nạ có thể được sử dụng.

- Người tấn công không biết được thiết kế và giá trị của bộ phát số ngẫu nhiên

trong thiết bị. Điều này có nghĩa là người tấn công không biết được các giá trị mặt nạ được sử dụng trong thiết bị.

3.4.2. Quy trình tấn công

Sơ đồ tấn công mẫu sử dụng cho thiết bị có phòng vệ bằng mặt nạ dựa trên phương pháp tấn công mẫu chuẩn, được thực hiện thông qua hai pha chính là pha lập mẫu và pha tấn công như được mô tả trênHình 3.7.

Trong pha lập mẫu, người tấn công xây dựng mô hình điện năng tiêu thụ của

thiết bị mẫu bằng cách huấn luyện mô hình phân lớp CNNd cho các vết điện năng

tiêu thụ của thiết bị này. Việc này được thực hiện thông qua các bước như sau:

B1: Lựa chọn điểm tấn công hay giá trị trung gian của thuật toán mật mã để tấn công, ví dụ như lối

ra Sbox với giá trị trung gian tấn công là = ( ⊕ ), với là khóa của thiết bị mẫu.

B2: Xây dựng bộ dữ liệu huấn luyện: Sử dụng bản rõ làm đầu vào cho thiết bị mẫu để thực thi thuật toán mật mã. Trong quá trình thiết bị thực thi mã hóa tại điểm tấn công, thu thập các vết điện năng tiêu thụ ∈ , = 1, . . , . Các vết này được gán nhãn tương ứng là = ( ⊕ ); = 1, … , . Với thuật toán AES lối ra có giá trị là 1 byte, nên ∈ (0,1, … ,255).

B3: Bộ dữ liệu vết điện năng tiêu thụ được gán nhãn ở bước 2 được sử dụng để

Một phần của tài liệu (Luận án tiến sĩ) một số phương pháp tấn công phân tích điện năng tiêu thụ hiệu quả sử dụng kỹ thuật xử lý tín hiệu và học máy (Trang 124 - 135)

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

(152 trang)
w