1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp An toàn thông tin: Phát hiện lỗ hổng bảo mật hợp đồng thông minh dựa trên học tiếp cận đa thể thức

87 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Phát hiện lỗ hổng bảo mật hợp đồng thông minh dựa trên học tiếp cận đa thể thức
Tác giả Le Cong Trinh, Tran Nguyen Minh Triet
Người hướng dẫn TS. Pham Van Hậu, ThS. Ngữ Khánh Khoa
Trường học Đại học Công nghệ Thông tin - ĐHQG TP.HCM
Chuyên ngành Kỹ sư ngành An toàn thông tin
Thể loại khóa luận tốt nghiệp
Năm xuất bản 2024
Thành phố TP.HCM
Định dạng
Số trang 87
Dung lượng 81,03 MB

Nội dung

Để giải quyết các vấn đề này, Kushwaha và cộng sự [13] đã thực hiện một cuộc khảo sát về các lỗ hong trong hợp đồng thông minh vàcung cấp tổng quan về các công cụ hiện có để phát hiện và

Trang 1

LE CONG TRINH - 19522404

TRAN NGUYEN MINH TRIET - 19522398

KHOA LUAN TOT NGHIEP

PHAT HIEN LO HONG BAO MAT HGP DONG

THONG MINH DUA TREN TIEP CAN DA THE

THUC

MULTIMODAL LEARNING-BASED APPROACH FOR

VULNERABILITY DETECTION ON SMART CONTRACT

KY SU NGANH AN TOAN THONG TIN

GIANG VIEN HUGNG DAN:

TS Pham Van Hậu

ThS NGÔ KHANH KHOA

TP.H6 Chi Minh - 2024

Trang 2

LỜI CẢM ƠN

Trong quá trình nghiên cứu và hoàn thành khóa luận, nhóm đã nhận được sự

định hướng, giúp đỡ, các ý kiến đóng góp quý báu và những lời động viên của

các giáo viên hướng dẫn và giáo viên bộ môn Nhóm xin bày tỏ lời cảm ơn tới

thầy Ngô Khánh Khoa, thầy Phạm Văn Hậu đã tận tình trực tiếp hướng dẫn,

giúp đỡ trong quá trình nghiên cứu.

Nhóm xin gửi lời cảm ơn đến gia đình và bạn bè đã động viên, đóng góp ý

kiến trong quá trình làm khóa luận

Nhóm cũng chân thành cảm ơn các quý thầy cô trường Đại học Công nghệ

Thông tin - ĐHQG TP.HCM, đặc biệt là các thầy cô khoa Mạng máy tính và

Truyền thông, các thầy cô thuộc bộ môn An toàn Thông tin đã giúp đỡ nhóm.

Lê Công Trình Trần Nguyễn Minh Triết

Trang 3

MUC LUC

LỜI CẢM ƠN eee i

MỤC LUC 000000000022 ii

DANH MỤC CÁC KÝ HIỆU, CAC CHU VIET TAT v

DANH MỤC CÁC HÌNH VE vi

DANH MUC CAC BANG BIEU vii

MỞ DAU ee 1 CHƯƠNG 1 TONG QUAN 2 11 Giới thiéu van dé 2 v2 2 1.2 Giới thiệu những nghiên cứu liên quan 3

1.2.1 Trình phát hiện lỗ hong hợp đồng thông minh 3

1.2.2 Phương pháp Hoc Máy 5

1.2.3 Phương phấp Hoc Sâu 6

1.2.4 Mô hình học sâu đa phương thức ĩ 1.2.5 Học chuyển tiếp ee 10 1.3 Tính ứng dụng 2.202.000.0000 00000 12 1.4 Những thách thức Ặ Ặ Q Q Q Q Q sa 12 1.5 Mục tiêu, đối tượng, và phạm vi nghiên cứu 13

15.1 Mục tiêu nghiên cỨUu ẶẶẶVSỒ.c 13 1.5.2 Đối tượng nghiên cứu 14

15.3 Pham vi nghiên ctu Ặ.Ặ ẶẶ So 14 1.5.4 Cấu trúc khóa luận tốt nghiệp - 14

CHƯƠNG 2 CƠ SỞ LÝ THUYET 16 2.1 Hợp đồng thông mỉinh 16

2.1.1 Ngôn ngữ Solidity cv 16

Trang 4

2.1.2 Các lỗ hồng trong hợp đồng thông minh 18

2.2_ Các mô hình học sâu sử dung 19

2.2.1 Tổng quan về học sâu (Deep Learning) 19

2.2.2 Bidirectional Long Short Term Memory(Bi-LSTM) 19 2.2.3 Bidirectional Encoder Representations from Transformers

(BERT) 2 0.2.0 00200000 2c ee 22

2.2.4 Graph Attention Network (GAT) 25

2.3 Mô hình hoc sâu da phương thức (Multimodal Learning) 29

2.4 Học chuyển tiếp (Transfer Learning) 31

CHƯƠNG 3 PHƯƠNG PHAP THIET KE 35

3.1 Tổng quanm6ohinh 0.2.0 0.000 35

3.2 Thành phan chi tiết và luồng xửlý - 36

3.2.1 Bidirectional Encoder Representations from Transformers

(BERRY #@@ >v -_| / 36

3.2.2 Bidirectional Long Term Short Memory (Bi-LSTM) 38

3.2.3 Graph Attention Network (GAT) 40

3.2.4 Mô hình học sâu đa phương thức 43

4.1.6 Chỉsố đánh giá 00000 eee 58

Trang 5

4.2 Kết quả thực nghiệm 0.0.0 0.00000 60

4.2.1 Kết quả thực nghiệm mô hình MatiVuln 60

4.2.2 So sánh MatiVuln và mô hình Multimodal khác 61 4.2.3 Khả năng Transfer Learning 63

Trang 6

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIET TAT

H; Các lớp H thứ ¡.

W; weight của lớp i.

b; bias vector của lớp i.

ReLU(z) ham Rectified Linear Unit.

Sigmoid(z) ham Sigmoid.

BatchNorm(z) hàm chuẩn hoá dữ liệu.

Dropout(z,r) ham Dropout với tỉ lệ dropout là r.

Trang 7

DANH MỤC CÁC HÌNH VE

Hình 1.1 Tổng quan mô hình của Deng và cộng sự 8

Hình 1.2 Tổng quan mô hình của Li và cộng sự 9

Hình 21 Tổng quan mô hình BiLSTM 20

Hình 2.2 Tổng quan mô hình BERT - 24

Hình 23 So đồ xử lý đầu vào của BERT 24

Hình 24 Tổng quan mô hình Graph Attention Network (GAT) 26

Hình 25 Tổng quan về Transfer Learning - 31

Hình 3.1 Kiến trúc của mô hình MatiVuln 36

Hình 3.2 Mô hình codeBERT dùng cho Feature Extraction 37

Hình 3.3 Mô hình Bi-LSTM dùng cho Feature Extraction 38

Hình 3.4 Mô hình GAT dùng cho Feature Extraction 41

Hình 4.1 So đồ cách Dataset được taora 00000% 48 Hình 4.2 Hợp đồng trước khi xử lý làm sạch 52

Hình 43 Hop đồng sau khi xử lý làm sạch 53

Hình 44 Công cụ Slther so 55 Hình 4.5 Cú pháp lệnh Slither để xuất raCFG 56

Hình 4.6 Mẫu các file dot của một hợp đồng thông minh 56

Hình 4.7 Thống kê dữ liệu trong Dataset Prime-SmartVul 57

Hình 4.8 Tỉ lệ các 16 hong trong Prime-SmartVul 58

Hình 4.9 Kết quả thực nghiệm mô hình MatiVuln 60

Hình 4.10 Kết quả thực nghiệm mô hình MatiVuln2 61

Hình 4.11 So sánh giữa mô hình Deng’s Research và MatiVuln 62

Hình 4.12 So sánh giữa mô hình Smarter và MatiVuln trên 4 đến 8 nhãn 64

Trang 8

Hình 4.13 So sánh giữa mô hình Smarter và MatiVuln trên 5 đến 8 nhãn 65

Hình 4.14 So sánh giữa mô hình Smarter và MatiVuln trên 6 đến § nhãn 66 Hình 4.15 So sánh giữa mô hình Smarter và MatiVuln trên 7 đến 8 nhãn 67

Trang 9

DANH MUC CAC BANG BIEU

Bảng 4.1 Bảng chuẩn hoá opcode 54Bảng 4.2 Bảng so sánh MatiVuln và các mô hình nghiên cứu liên quan 61

Trang 10

TÓM TẮT KHÓA LUẬN

Tính cấp thiết của đề tài nghiên cứu:

Trong những năm gần đây, với sự phát triển của công nghệ Blockchain, sự

xuất hiện của các đồng tiền ảo cũng tăng lên Giao dịch giữa các đồng tiền này càng nhiều, dẫn đến sự xuất hiện của hợp đồng thông minh Tuy nhiên, hợp

đồng thông minh chứa các lỗi bảo mật tiềm tàng, dẫn đến các cuộc tấn công có

thể gây thiệt hại lớn cho người dùng và doanh nghiệp DAO là cuộc tấn công

đầu tiên diễn ra vào năm 2016 đã gióng hồi chuông cảnh tỉnh đối với người dùng

và các nhà nghiên cứu bảo mật Nhiều phương án phát hiện 16 hồng hợp đồng

thông minh đã được đưa ra như phân tích tĩnh, phân tích động, và gần đây nhất

là sử dụng các thuật toán học máy, các phương pháp học tăng cường, học sâu

và đa phương thức.

Sau khi nghiên cứu hướng sử dụng mô hình học máy đa phương thức Chúng

tôi nhận thấy rằng đây là một hướng đi có nhiều tiềm năng và mới mẻ Việc ứng

dụng học máy đa phương thức hiệu quả trong việc nhận diện mẫu, phù hợp cho

việc phát hiện lỗ hổng hợp đồng thông minh Tuy nhiên, chưa có nhiều nghiên

cứu xuất hiện và tính ứng dụng chưa cao Vì vậy, chúng tôi quyết định đề xuất

một mô hình học máy đa phương thức có khả năng phát hiện lỗ hổng hợp đồng

thông minh tốt hơn.

Trang 11

CHƯƠNG 1 TONG QUAN

Chương này giới thiệu về van đề va các nghiên cứu liên quan Đồng thời,

trong chương này chúng tôi cũng trình bày phạm vi và cau trúc của Khóa luận.

1.1 Giới thiệu vẫn đề

Trong thời đại công nghệ 4.0, Blockchain đã trở thành một từ khóa phổ biến

với nhiều ứng dụng đa dạng, từ các mục đích tốt đẹp cho đến những mục tiêu

không mong muốn Một trong những ứng dụng nổi bật nhất của Blockchain làcác hợp đồng thông minh (smart contracts), được triển khai chủ yếu trên nềntảng Ethereum và lập trình bằng ngôn ngữ Solidity Mặc dù mới được phát triển,Solidity vẫn tồn tại nhiều lỗ hổng bảo mật đã được Zou và cộng sự [31] chỉ ra

Khi triển khai trên hệ thống Blockchain, các hợp đồng thông minh thườngthực hiện giao dịch liên quan đến tiền mã hóa (cryptocurrency), cu thể là ether(ETH) Tính không thé thay đổi và công khai của Blockchain khiến các lỗ hồngbao mật trong hợp đồng thông minh trở nên nguy hiểm, vì kẻ tấn công có thélợi dụng những lỗ hong này để xâm phạm tài sản của cá nhân va tổ chức, dedoa sự ổn định của hệ sinh thái Blockchain

Một ví dụ điển hình về mức độ nghiêm trọng của các lỗ hồng bảo mật là

cuộc tấn công DAO [17], gây thiệt hại lên đến 50 triệu USD, được trình bày bởi

Mehar và các cộng sự Để giải quyết các vấn đề này, Kushwaha và cộng sự [13]

đã thực hiện một cuộc khảo sát về các lỗ hong trong hợp đồng thông minh vàcung cấp tổng quan về các công cụ hiện có để phát hiện và phân tích những lỗhồng này, như Oyente [16], Slither [6], Conkas [26], Mythril [2], va Securify [24].Các công cụ này sử dụng phương pháp phân tích tĩnh hoặc động nhưng có thể

bỏ sót một số luồng thực thi, dẫn đến kết quả âm tính giả (false negatives) và

Trang 12

tiêu tốn thời gian lớn.

Sự xuất hiện của các phương pháp học máy (machine learning - ML) trong

việc phát hiện lỗ hong bảo mật đã mở ra những hướng đi mới Các công cụ như

ESCORT của Lutz [15], ContractWard của Wang [27], và nghiên cứu của Qian [19] đã chứng minh hiệu qua của phương pháp nay Phương pháp hoc máy đã

cải thiện hiệu suất so với phân tích tĩnh và động, như nghiên cứu của Jiang và

cộng sự [10] chỉ ra Tuy nhiên, các nghiên cứu hiện tại thường chỉ sử dụng một

loại đặc trưng duy nhất của hợp đồng thông minh làm đầu vào cho mô hình học

mấy.

Những nghiên cứu gần đây đã khám phá việc sử dụng các mô hình học sâu

đa phương thức để phát hiện 16 hổng trong hợp đồng thông minh, như mô hình

AT đa phương thức của Yang [11], và mô hình lai HyMo của Chen [12], kết hợp phân tích tĩnh và động Những mô hình này đã cho thấy hiệu suất vượt trội trên nhiều tập dữ liệu thử nghiệm.

Nhận thấy tiềm năng của các mô hình đa phương thức, chúng tôi quyết

định xây dựng công cụ phát hiện lỗ hồng hợp đồng thông minh mang tên

VulnSenseGen2 Công cụ này sử dụng ba loại đặc trưng chính của hợp đồng

thông minh: mã nguồn, opcode va CFG từ bytecode Các đặc trưng nay lần lượt

được xử lý bởi các mô hình BERT, BiLSTM va Graph Neural Network (GNN).

Kết quả từ các mô hình này được kết hợp để tạo ra một kết quả duy nhất, giúpVulnSenseGen2 nhận diện hiệu quả các lỗ hong Reentrancy, Arithmetic và các

16 hong khác tai Phan 2.1.2

1.2 Giới thiệu những nghiên cứu liên quan

1.2.1 Trinh phát hiện lỗ hổng hợp đồng thông minh

Các trình phát hiện lỗ hổng hợp đồng thông minh được ra mắt kể từ sau

DAO [17] nhằm chống lại các cuộc tấn công lên các hợp đồng thông minh trong

tương lai Một số công cụ sử dụng kỹ thuật Symbolic Execution, một kỹ thuật

Trang 13

phân tích tĩnh trong đó các giá trị đầu vào của chương trình được biểu diễn dướidạng các biến tượng trưng, nhằm kiểm tra các đường dẫn và điều kiện lỗi

Oyente [16] là công cụ phát hiện lỗ hổng hợp đồng thông minh bằng phân

tích tĩnh đầu tiên Được phát triển bởi Lợi Lưu và ban học tại Dai học Quốc gia

Singapore Oyente sử dụng kỹ thuật phân tích symbolic execution trên code dé phát hiện lỗ hổng, nhưng hạn chế của Oyente là chỉ có thể phát hiện

Byte-được 4 loại lỗi (re-entrancy, conditional contention, timestamp dependency và

unhandled exceptions).

Một cong cu khác là Slither [6], Slither là framework phân tích lỗ hong hợpđồng thông minh Solidity và Vyper được phát triển bởi Trail of Bits Slither cóthể phát hiện được nhiều loại 16 hong khác nhau, đánh dấu dòng lỗi và nhiềutính năng khác

Conkas [26] là một công cu phân tích lỗ hong hợp đồng khác được phát triểnbởi Nuno Veloso Conkas có thể phát hiện được 5 loại lỗi khác nhau (arithmetics,

re-entrancy, time manipulation, transaction ordering reference, unchecked low

call) Conkas còn hỗ trợ mở rộng module.

Mythril [2] là công cu phân tích lỗ hong cho Ethereum smart contract Đượcphát triển bởi công ty Consensys và giới thiệu lần đầu vào năm 2018 tại hội nghịHITB Security Mythril có khả năng phân tích một loạt các lỗ hồng trên hợp

đồng thong minh như arithmetic, access control, re-entrancy, và nhiều lỗi khác.

Securify [24] là công cụ phát hiện lỗ hổng hợp đồng thông minh Solidityđược phát triển bởi ICE Center của đại học ETH Zurich Securify phát hiện

lỗ hổng hợp đồng thông minh thông qua Bytecode, hoặc Source code sau khi

được compile sang Bytecode Securify có thể phát hiện được 18 loại lỗ hong khác

nhau.

Tổng kết, các công cụ trên có một số khả năng phát hiện nhất định, với số

lượng lỗi phát hiện khác nhau Tuy nhiên, các công cụ này có hiệu suất chưa

cao, đối với các hợp đồng thông minh lớn, cũng như là số lượng lỗi phát hiện

còn hạn chế, việc mở rộng lỗi có thể gặp khó khăn vì số lượng lỗi mới có thể

Trang 14

xuất hiện nhiều và sự thay đổi nhanh chóng của các phiên bản Solidity Do đó,các phương pháp mới như học máy, học chuyển tiếp giúp cho việc phát hiện các

lỗ hổng hợp đồng thông minh nên được triển khai trong tương lai.

1.2.2 Phương pháp Hoc Máu

Phương pháp học máy đã được áp dụng rộng rãi trong việc phát hiện lỗ hổng

bảo mật của hợp đồng thông minh, mang lại hiệu quả cao nhờ khả năng tự động

học và cải thiện từ dữ liệu Dưới đây là một số công trình nghiên cứu tiêu biểu

trong lĩnh vực này.

Nghiên cứu của Tikhomirov et al [23] đã áp dụng mô hình hoc máy với thuật

toán cây quyết định (Decision Tree) và rừng ngẫu nhiên (Random Forest) để

phân loại các hợp đồng thông minh theo mức độ rủi ro bảo mật Các tác giả đã

sử dụng một tập dữ liệu lớn chứa các hợp đồng thông minh với các nhãn rủi ro

khác nhau để huấn luyện mô hình Nghiên cứu này nhân mạnh tầm quan trọngcủa việc kết hợp phân tích tinh (static analysis) với học máy dé đạt được kết

quả tốt nhất Kết quả thí nghiệm cho thấy thuật toán rừng ngẫu nhiên có độ chính xác cao và thời gian huấn luyện nhanh chóng, đồng thời giúp phát hiện

sớm các 16 hong tiềm an trong hợp đồng thông minh

Một hướng nghiên cứu khác được thực hiện bởi Tsankov et al [24] đã đề xuất

việc sử dụng học máy không giám sát (unsupervised learning) để phát hiện các

lỗ hồng bảo mật mới và chưa được biết đến Phương pháp này dựa trên việc

phân cụm (clustering) các đặc trưng của hợp đồng thông minh và xác định các hợp đồng có hành vi bất thường Các kết quả thí nghiệm cho thấy phương pháp

nay có khả năng phát hiện các lỗ hong bảo mật mới một cách hiệu quả Nghiêncứu này cung cấp một cách tiếp cận mới trong việc phát hiện lỗ hong bảo mật,đặc biệt là những lỗ hồng chưa được công bố hoặc chưa có trong cơ sở dữ liệu

Gan đây, nghiên cứu của Dika et al [5] đã 4p dung mô hình học tăng cường

(reinforcement learning) để tối ưu hóa quá trình kiểm tra bảo mật của hợp đồng thong minh Phương pháp này sử dụng một tác nhân (agent) để tự động tim

Trang 15

xử lý và tối ưu hóa tài nguyên.

Nghiên cứu của Sanjay Rawat et al [21] đã kết hợp phân tích tĩnh và phan

tích động với học máy để phát hiện lỗ hồng bảo mật Phương pháp này sử dụngphân tích tĩnh để trích xuất các đặc trưng ban đầu từ mã nguồn hợp đồng thôngminh và sau đó sử dung phân tích động để kiểm tra các đặc trưng này trong

quá trình thực thi Kết hợp với các thuật toán học máy như SVM và XGBoost,

nghiên cứu này đã cho thấy hiệu quả cao trong việc phát hiện các lỗ hổng phức

tạp và khó phát hiện bằng các phương pháp truyền thống.

Tổng kết, các phương pháp học máy đã chứng minh được tiềm năng lớn trongviệc phát hiện lỗ hổng bảo mật của hợp đồng thông minh Tuy nhiên, vẫn còn

nhiều thách thức cần được giải quyết như việc xử lý dữ liệu không đồng nhất,

cải thiện độ chính xác và khả năng phát hiện các lỗ hong mới Các nghiên cứu

tiếp theo nên tập trung vào việc kết hợp các kỹ thuật học máy với các phương

pháp khác để đạt được hiệu quả cao hơn Ngoài ra, việc phát triển các phương

pháp học máy mới và tối wu hóa các phương pháp hiện có cũng là một hướng

nghiên cứu quan trọng để nâng cao khả năng bảo mật của hợp đồng thông minh

1.2.3 Phương phóp Học Sâu

Phương phấp học sâu (deep learning) đã được 4p dụng thành công trong

nhiều lĩnh vực, bao gồm cả phát hiện lỗ hổng bảo mật trong hợp đồng thôngminh Dưới đây là một số công trình nghiên cứu nổi bật trong lĩnh vực này.

Một trong những công trình nổi bật là của Luu et al [1] đã sử dụng mô hìnhhọc sâu để phát hiện lỗ hổng bảo mật trong hợp đồng thông minh Mô hình này

dựa trên việc trích xuất các đặc trưng từ mã nguồn của hợp đồng thông minh

Trang 16

và áp dụng mang nơ-ron tích chap (Convolutional Neural Network - CNN) đểphát hiện các mẫu lỗ hồng bảo mật Cu thể, mô hình được huấn luyện với dữliệu từ nhiều loại lỗ hổng khác nhau, bao gồm reentrancy và integer overflow.

Kết quả cho thấy phương pháp này có độ chính xác cao trong việc phát hiện các

lỗ hồng, đồng thời giảm thiểu số lượng báo động giả (false positives) Nghiêncứu này đánh dau một bước tiến quan trọng trong việc áp dụng học sâu để tăng

cường bảo mật cho hợp đồng thông minh.

Gan đây, nghiên cứu của Wu et al [29] trong bài nghiên cứu đã 4p dụng mô

hình học sâu với kiến trúc mạng nơ-ron chuyển đổi (Transformer) để phát hiện

lỗ hồng bảo mật trong hợp đồng thông minh Phương pháp này sử dụng cáctầng mã hóa (encoder layers) của mang Transformer để học các đặc trưng phức

tạp từ mã nguồn hợp đồng thong minh Kết quả thí nghiệm cho thấy mô hình

Transformer không chỉ phát hiện 16 hổng bảo mật một cách chính xác mà còn cókhả năng giải thích được các quyết định của mô hình, giúp các nhà phát triểnhiểu rõ hơn về các lỗ hồng tiềm ẩn trong mã nguồn của họ.

Tổng kết, các phương pháp học sâu đã cho thấy tiềm năng to lớn trong việcphát hiện lỗ hổng bảo mật của hợp đồng thông minh Với khả năng học từ dữ

liệu phức tạp và trích xuất các đặc trưng sâu, các mô hình học sâu đã giúp cải

thiện đáng kể độ chính xác và hiệu quả của quá trình phát hiện lỗ hồng Tuy

nhiên, cũng giống như các phương pháp học máy khác, học sâu cũng đối mặt

với những thách thức liên quan đến xử lý dữ liệu không đồng nhất, tối ưu hóa

mô hình và khả năng phát hiện các lỗ hổng mới Các nghiên cứu tương lai nêntập trung vào việc kết hợp học sâu với các phương pháp khác để đạt được kết

quả tốt hơn và mở rộng phạm vi ứng dụng của học sâu trong lĩnh vực bảo mật hợp đồng thông minh.

1.2.4 Mô hành học sâu đa phương thức

Phát hiện lỗ hồng bảo mật trong hợp đồng thông minh là một thách thức

lớn trong lĩnh vực an ninh mạng và blockchain Gần đây, các phương pháp học

Trang 17

sâu đa phương thức (Multimodal) đã được áp dụng để nâng cao hiệu quả và độchính xác trong việc phát hiện lỗ hổng bảo mật Các phương pháp này kết hợpnhiều loại đặc trưng và thông tin từ các nguồn khác nhau để xây dựng mô hình

mạnh mẽ hơn.

Trong bài nghiên cứu [3] của Deng và cộng sự, các tác giả đã đề xuất một

phương pháp phát hiện lỗ hổng bảo mật trong hợp đồng thông minh dựa trên

học sâu và kết hợp quyết định đa phương thức Phương pháp này sử dụng nhiều loại đặc trưng khác nhau từ mã nguồn hợp đồng thông minh, bao gồm cả các

đặc trưng tĩnh và động Cụ thể, các đặc trưng tĩnh được trích xuất từ mã nguồn

Modality Features Extraction Decision

Hình 1.1: Tổng quan mô hành của Deng va cộng sự

hợp đồng thông minh thông qua phân tích mã nguồn và các đặc trưng động được thu thập từ quá trình thực thi hợp đồng Sau đó, các đặc trưng này được

đưa vào một mô hình học sâu (Hình 1.1), trong đó mỗi loại đặc trưng được

xử lý bởi một mạng nơ-ron riêng biệt Các kết quả đầu ra từ các mạng nơ-ron

này sau đó được kết hợp thông qua một cơ chế kết hợp quyết định để đưa ra

dự đoán cuối cùng về 16 hồng bảo mật Kết quả thí nghiệm của Deng và cộng

sự cho thấy phương pháp này có độ chính xác cao và khả năng phát hiện các

lỗ hồng bảo mật phức tạp Việc kết hợp các loại đặc trưng khác nhau giúp mô

Trang 18

hình học được nhiều thông tin hơn từ dữ liệu, từ đó cải thiện khả năng phát

hiện 16 hong.

Bài nghiên cứu [14] của Li và cộng sự cũng tập trung vào việc phát hiện

lỗ hồng bảo mật trong hợp đồng thông minh thông qua kết hợp đặc trưng đa

phương thức và học sâu Các tác giả đã đề xuất một phương pháp sử dụng các

loại đặc trưng khác nhau từ mã nguồn và các thông tin liên quan để xây dựng

mô hình phát hiện lỗ hồng

Phương pháp này sử dụng một kỹ thuật gọi là kết hợp đặc trưng đa phương thức, trong đó các đặc trưng từ mã nguồn, thông tin ngữ cảnh và các đặc trưng

thực thi được trộn lẫn với nhau Sau đó, các đặc trưng này được đưa vào một

mô hình học sâu để phân tích và phát hiện 16 hổng bảo mật Mô hình học sâunày được thiết kế để học các đặc trưng phức tạp và tìm ra các mẫu lỗ hồng từ

di liệu đầu vào (Hình 1.2).

——> | POP PUSHI 0X1 ==< amet decision |———>

— PUSHI 0X0 DUP2 training

SWAPI STOP

Solidity SWAPI STO! EVM Ss EVMO- Opcodes embedding ` Report coal ¬

Truffle idae insertion Dynamic- om

Hình 1.2: Tong quan mô hành của Li va cộng sự

Li và cộng sự đã thử nghiệm phương phấp này trên một tập dữ liệu lớn chứacác hợp đồng thông minh với nhiều loại lỗ hong khác nhau Kết quả cho thấy

phương pháp của họ có hiệu suất cao trong việc phát hiện 16 hổng và vượt trội

so với các phương pháp truyền thống Sự kết hợp các đặc trưng đa phương thức

giúp mô hình học sâu có cái nhìn toàn diện hơn về dữ liệu, từ đó tăng cường

khả năng phát hiện lỗ hồng

Trang 19

1.2.5 Học chuyén tiép

Học chuyển tiếp (hay còn gọi là Transfer Learning) là một kỹ thuật trong học

máy mà kiến thức thu thập được từ lần huấn luyện trước của mô hình được áp dụng lại và mở rộng cho một mô hình khác, nhằm cải thiện hiệu suất của mô

hình mới Kỹ thuật này đặc biệt hữu ích khi lượng dit liệu huấn luyện cho nhiệm

vụ mới là hạn chế, cho phép mô hình tận dụng kiến thức đã học từ các nhiệm

vụ trước đó [18, §Ì.

Một trong những lợi ích chính của học chuyển tiếp là khả năng tái sử dụng

các đặc trưng đã học từ một mô hình đã được huấn luyện trước đó trên một tập dữ liệu lớn và đa dạng Diều này giúp tiết kiệm thời gian và tài nguyên so

với việc huấn luyện mô hình từ đầu Hơn nữa, học chuyển tiếp thường dẫn đến

hiệu suất tốt hơn, đặc biệt là trong các tình huống mà dit liệu mới không đủ lớn

để huấn luyện một mô hình sâu từ đầu

Học chuyển tiếp thường được thực hiện qua hai phương pháp chính: Trích

xuất đặc trưng (Feature Extraction) và Thích nghỉ miền (Domain

Adaptation).

Trích xuất đặc trưng (Feature Extraction): Trong phương pháp này,

các đặc trưng đã được học từ mô hình huấn luyện trước đó được sử dụng làm đầu vào cho mô hình mới Các mô hình đã được huấn luyện trên tập dữ liệu lớn

và đa dạng có thể học được các đặc trưng tổng quát hữu ích Khi áp dụng cho

nhiệm vụ mới, chỉ cần trích xuất các đặc trưng này và đưa vào mô hình mới mà không cần phải huấn luyện lại toàn bộ mô hình Ví dụ, trong xử lý ngôn ngữ

tự nhiên (NLP), các mô hình như BERT [4], GPT [20] đã được huấn luyện trên

khối lượng văn bản lớn, có thể được sử dụng để trích xuất các đặc trưng từ dữ

liệu văn bản của nhiệm vụ mới Điều này giúp tiết kiệm thời gian và tài nguyên, đồng thời cải thiện hiệu suất của mô hình mới nhờ vào các đặc trưng phong phú

đã được học từ tập dữ liệu lớn ban đầu.

Một ví dụ cụ thể là trong thị giác máy tính, mô hình ResNet |9] đã được

Trang 20

huấn luyện trên tap dữ liệu ImageNet, chứa hang triệu hình ảnh với hàng ngàn

nhãn khác nhau Các đặc trưng được trích xuất từ ResNet có thể được sử dụng

để giải quyết các nhiệm vụ thị giác khác như phân loại ảnh y khoa, phát hiện

đối tượng hoặc nhận dạng khuôn mặt chỉ với một lượng nhỏ dữ liệu được dán

nhãn mới.

Thích nghỉ miền (Domain Adaptation): Thích nghỉ miền là phương phápđiều chỉnh mô hình để thích ứng với sự khác biệt giữa các miền dữ liệu khácnhau Khi một mô hình đã được huấn luyện trên một miền dữ liệu cụ thể, việc

áp dụng nó trực tiếp vào một miền dữ liệu khác có thể không đạt hiệu suất cao

Thích nghi miền bao gồm việc tỉnh chỉnh (fine-tuning) mô hình với một số lượng

nhỏ dữ liệu từ miền mới hoặc điều chỉnh cấu trúc mô hình để phù hợp với đặcđiểm của miền mới Diều này giúp mô hình học được các đặc trưng riêng biệt

của dữ liệu trong miền mới mà vẫn tận dụng được kiến thức từ miền cũ.

Một ví dụ phổ biến của học chuyển tiếp trong thích nghi miền là việc thay đổi

cấu trúc đầu ra của mô hình để phù hợp với nhiệm vụ mới Giả sử mô hình ban

đầu được huấn luyện để phân loại 4 nhãn, sau đó chúng tôi có thể tinh chỉnh

mô hình để phân loại 8 nhãn cho nhiệm vụ mới Diều này bao gồm việc thêm

các lớp fully connected mới vào mô hình hiện tại và huấn luyện lại mô hình với

dữ liệu mới Phương pháp này đã được chứng minh hiệu quả trong nhiều lĩnh

vực, chang han nhu chuyén đổi mô hình nhận diện chữ viết tay từ một ngôn

ngữ này sang một ngôn ngữ khác [23].

Ngoài ra, thích nghi miền còn được áp dụng trong các bài toán như dịch máy,

nơi mô hình đã được huấn luyện trên một cặp ngôn ngữ có thể được tinh chỉnh

để dịch giữa một cặp ngôn ngữ mới Điều này không chỉ cải thiện chất lượngdịch mà còn giảm thiểu thời gian huấn luyện cần thiết [30]

Học chuyển tiếp đã chứng minh được hiệu quả trong nhiều lĩnh vực khác

nhau, từ thị giác máy tính, xử lý ngôn ngữ tự nhiên đến y học và nhiều lĩnh vực khác Kỹ thuật này không chỉ giúp tiết kiệm thời gian và tài nguyên mà còn

giúp cải thiện hiệu suất của mô hình bằng cách tận dụng kiến thức đã học từ

Trang 21

các nhiệm vụ trước đó Các nghiên cứu đã chỉ ra rằng học chuyển tiếp có thể

giúp các mô hình đạt được hiệu suất vượt trội ngay cả khi dữ liệu huấn luyện

cho nhiệm vụ mới là hạn chế.

1.3 Tính ứng dụng

Mô hình do nhóm đề xuất có nhiều tính năng quan trọng và thiết thực:

e Bảo vệ tài sản số: Hợp đồng thông minh thường được sử dụng để quan lý

các tài sản số như tiền điện tử, tài sản kỹ thuật số và các tài sản ảo khác.

Việc phát hiện và phòng tránh lỗ hồng giúp bảo vệ tài sản của người dùngkhỏi các cuộc tấn công và khai thác lỗ hổng, đảm bảo tính an toàn và tin

cậy của hệ thống.

e Nâng cao bảo mật cho hệ thống blockchain: Hợp đồng thông minh là

một phần không thể thiếu của các hệ thống blockchain hiện đại Việc tăng

cường bảo mật cho hợp đồng thông minh góp phần nâng cao mức độ bảo

mật tổng thể cho toàn bộ hệ thống blockchain, làm giảm rủi ro bị tấn công

và tăng cường sự tin tưởng của người dùng.

e Tăng cường hiệu quả quản lý và vận hành: Mô hình phát hiện và

phòng tránh lỗ hổng giúp các nhà phát triển và quản lý hệ thống phát hiện

sớm các van đề bảo mật, từ đó đưa ra các biện pháp khắc phục nhanh chóng Điều này giúp nâng cao hiệu quả quản lý và vận hành hệ thống,

giảm thiểu thời gian và chi phí phát sinh do các sự cố bảo mật.

1.4 Những thách thức

Hợp đồng thông minh là một công nghệ mới trong những năm gần đây, nên

việc phát hiện lỗ hồng trên hợp đồng thông minh có nhiều thách thức:

e Da dạng lỗ hồng: Hợp đồng thông minh có thể chứa nhiều loại lỗ hổng

Trang 22

khác nhau, từ các lỗ hồng về logic đến các lỗ hồng liên quan đến kiểm soáttruy cập Mỗi loại lỗ hổng đòi hỏi các phương pháp phát hiện và phòng

tránh riêng biệt.

e Tinh phức tạp của mã nguồn: Mã nguồn có thể phức tạp và khó kiểm

tra toàn diện, đặc biệt là khi hợp đồng có nhiều chức năng và tương tác với

nhiều thành phần khác nhau.

e Thiếu công cụ và phương pháp kiểm tra: Mặc dù đã có nhiều công

cụ và phương pháp kiểm tra bảo mật hợp đồng thông minh, nhưng, cácphương pháp phát hiện lỗ hong hợp đồng thông minh vẫn còn nhiều hanchế về khả năng phát hiện và phòng tránh các lỗ hổng mới xuất hiện

e Tấn công tỉnh vi: Các cuộc tấn công trên các lỗ hổng hợp đồng thông

minh ngày càng tinh vi và phức tạp hơn, sử dụng nhiều kỹ thuật để chegiấu và khai thác lỗ hong hơn Điều này đặt ra thách thức lớn cho việc phat

hiện và phòng tránh lỗi bảo mật hợp đồng thông minh ngày càng khó khăn

hơn.

Việc vượt qua những thách thức này đòi hỏi sự kết hợp của nhiều kỹ thuật tiên

tiến, do đó, các nghiên cứu được phát triển nhằm phát hiện lỗ hổng hợp đồng

thông minh Nhiều phương pháp như phân tích tĩnh, phân tích động mã nguồn,

áp dụng học máy và trí tuệ nhân tạo ra đời nhằm phục vụ cho mục đích trên.

1.5 Mục tiêu, đối tượng, và phạm vi nghiên cứu

1.5.1 Mục tiêu nghiên cứu

Nhóm đề xuất nghiên cứu đề tài này nhằm đưa ra mô hình phát hiện và

phòng tránh các lỗ hong hợp đồng thông minh một cách hiệu qua và chính xác

Mô hình không chỉ tập trung vào các lỗ hồng đã biết trước đó mà còn có khảnăng mở rộng để nhận diện các lỗ hồng mới hơn, giúp đảm bảo hệ thống luôn

Trang 23

được cập nhật và bảo vệ trước những cuộc tấn công mới nhất có thể xảy ra

Việc phát hiện sớm và cập nhật kịp thời sẽ giúp bảo vệ tài sản và thông tin của

người dùng, đồng thời nâng cao sự tin tưởng vào các công nghệ blockchain và hợp đồng thông minh.

1.5.2 Đối tượng nghiên cứu

Đối tượng nghiên cứu:

e Hợp đồng thông minh

e Các lỗ hồng hợp đồng thông minh

e Mô hình học sâu đa phương thức, Học chuyển tiếp

1.5.3 Pham vi nghién cứu

Hợp đồng thong minh được triển khai trên Ethereum Network và được viết

bằng ngôn ngữ lập trình Solidity Phát hiện 8 loại nhãn bao gồm Reentrancy,

Arithmetic, Access Control, Denial Sevice, Front Running, Unchecked Low-level

Call, Time manipulation và nhãn Other Nghiên cứu sử dung mô hình hoc sâu

đa phương thức làm thành phân chính để xử lý các dữ liệu đầu vào là hợp đồngthông minh và đưa ra các dự đoán khả năng hợp đồng thông minh có các 16hỗng nào Mở rộng mô hình với học chuyển tiếp

1.5.4 Cấu trúc khóa luận tốt nghiệp

Chúng tôi xin trình bày nội dung của Luận án theo cấu trúc như sau:

e Chương 1: Giới thiệu tổng quan về đề tài của Khóa luận và những nghiên

cứu liên quan.

e Chương 2: Trình bay cơ sở lý thuyết và kiến thức nền tang liên quan đến

đề tài.

Trang 24

e Chương 3: Trình bày mô hình phát hiện lỗ hổng hợp đồng thông minh

e Chương 4: Trình bày thực nghiệm và đánh giá.

e Chương 5: Kết luận và hướng phát triển của đề tài

Trang 25

CHƯƠNG 2 CƠ SỞ LÝ THUYET

Chương này trình bày cơ sở lý thuyết của nghiên cứu: Bao gồm hợp đồng

thông minh, ngôn ngữ Solidity, các lỗ hổng trong hợp đồng thông minh, các môhình học sâu đã sử dụng, mô hình học sâu đa phương thức và học chuyển tiếp

2.1 Hợp đồng thông minh

Hợp đồng thông minh là một đoạn chương trình máy tính hoặc giao thức giao

dịch được thiết kế để nhằm tự động hoá, tuỳ chỉnh và ghi nhận sự kiện theođiều khoản được ghi trong hợp đồng Hợp đồng thông minh có thể được viếtbằng nhiều ngôn ngữ khác nhau và có thể sử dụng trên nhiều nền tảng khác,nhưng phổ biến là Ethereum.

Mục đích của hợp đồng thông minh là giảm phụ thuộc vào bên trung gian,

chi phi phát sinh va thất thoát do lừa đảo Dong thời giảm thiểu các giao dịch

xấu hoặc vô tình nhầm lẫn.

2.1.1 Ngôn ngữ Solidity

Ngôn ngữ Solidity là ngôn ngữ lập trình được thiết kế để lập trình hợp đồng

thông minh chạy trên nền tảng Etherereum Virtual Machine hoặc các Virtual

Machine khác tương thích Solidity hoạt động trên nhiều nền tảng Blockchain khác nhau, đáng chú ý nhất là Ethereum Solidity được đề xuất và thiết kế vào

năm 2014 bởi Gavin Wood và sau đó được phát triển bởi đội ngũ dự án Solidity

của Ethereum, với Christian Reitwiessner dẫn đầu.

Trang 26

2.1.1.1 Source Code

Source Code là mã nguồn của hợp đồng thông minh, là ngôn ngữ bac cao.

Có nhiều ngôn ngữ được dùng để viết hợp đồng thông minh như Rust, Vyper,

và tiêu biểu nhất là Solidity Source code được triển khai giúp tự động hoá các

giao dịch diễn ra trên các Blockchain Network Source Code thường không công

khai, mà được triển khai trên các blockchain network dưới dạng Bytecode, nhằm

tránh rò ri mã nguồn.

2.1.1.2 Bytecode

Bytecode là dạng mã trung gian giữa mã nguồn cấp cao và mã máy Khi

hợp đồng thông minh được biên soạn bằng ngôn ngữ lập trình (như Solidity),

hợp đồng thông minh cần phải được chuyển đổi thành các Bytecode để có thể

chạy trên Ethereum Virtual Machine (EVM) thông qua các trình biên dịch như

Solidity Compiler (hay gọi tắt là solc) của Solidity, thành các Opcode Sau đó, các Bytecode này sẽ được đưa lên blockchain Ethereum và trở thành một phan

của mạng lưới hợp đồng thông minh Từ đó, các Bytecode nay không chi là đại diện của mã nguồn hợp đồng thông minh mà còn chứa cả các chỉ dẫn cần thiết

để thực thi hợp đồng thông minh trên mạng lưới Ethereum

Việc chuyển mã nguồn thành Bytecode giúp cho hợp đồng thông minh trởnên an toàn hơn, tránh được các lỗ hong bảo mật không mong muốn, đồng thờitránh rò rỉ mã nguồn.

Trang 27

vai trò là cầu nối giữa máy tính và ngôn ngữ cấp cao, giúp cho máy tính thực

hiện chính xác các chỉ dẫn đã được quy định trong mã nguồn.

Opcode có được khi biên dịch mã nguồn của hợp đồng thông minh thành các Bytecode, sau đó, các trình biên dịch như solc (đã đề cập tại 2.1.1.2) biên dịch

các Bytecode này thành Opcode Các Opcode sau đó được EVM hiểu và thực

thi chính xác như mã nguồn quy định.

2.1.2 Các lỗ hổng trong hợp đồng thông minh

Hợp đồng thông minh là một chương trình nên việc có lỗ hổng là điều thôngthường Hợp đồng thông minh có nhiều lỗ hổng mà các attacker có thể tận dụng

và khai thác nhằm thu lại lợi nhuận bất chính, hoặc phá hoại các hoạt độngkinh doanh Ở khoá luận này, chúng tôi sẽ tập trung vào các lỗ hồng sau trênhợp đồng thông minh:

e Reentrancy (re) là một dạng lỗi khiến contract thực thi mã độc được đưa

vào từ bên ngoài Điều này xảy ra khi contract gọi một contract bên ngoài

và contract ngoài gọi về contract gốc, gây ra vòng lặp vô tận và giúp cho

attacker có thể lay tiền trong tài sản

e Arithmetic (ar), hay cụ thể hơn là Underflow và Overflow Là một dạng

lỗi xảy ra khi dữ liệu tính toán (hoặc dữ liệu nhập vào) lớn hơn so với mức

lưu trữ tối đa của bộ nhớ Khiến cho dữ liệu trả về bị sai và xảy ra các hành

vi không mong muốn trên smart contract.

e Access Control (ac) là một dạng lỗi xảy ra khi developer không kiểm

soát kỹ lưỡng truy cập giữa các hàm của contract, dan đến nhiều truy cập

trái phép làm thay đổi trạng thái của hợp đồng thông minh hoặc rút hết

quỹ trong contract.

e Denial Sevice (dos) là lỗi tấn công mà trong đó, attacker tận dụng các

lỗi lập trình contract khiến cho giao dịch trên contract bị tê liệt, khiến cho

Trang 28

người dùng không thể truy cập, dẫn đến thiệt hại về tài sản

e Front Running (fr) là dang lỗ hồng cho phép attacker lợi dụng việc biết

trước được giao dịch đang trong hàng chờ nhằm thực hiện giao dịch trước

để kiếm lợi nhuận cho riêng mình Lỗi này thường xuất hiện trên các hệ

thống phi tập trung (decentralized) như Ethereum, nơi giao dịch được thực

hiện theo thứ tự dựa trên thời gian trong mempool.

e Unchecked Low-level Call (unc) là lỗ hồng trên các hàm gọi có trong

hợp đồng thông minh, trong đó các giao dịch thất bại thay vì hoàn thao tác

lại ban đầu, giao dịch đó vẫn được thực hiện.

e Time manipulation (tm) là 16 hổng thường thay trong Ethereum vì tính

logic nhạy với thời gian Lỗ hong này cho phép attacker lạm dụng thời gian

mở và đóng của 1 phiên giao dịch để giành lợi thế một cách không công

bằng.

2.2 Các mô hình học sâu sử dụng

2.2.1 Tổng quan vé học sâu (Deep Learning)

Học sâu (hay còn gọi là Deep Learning), là một nhánh nhỏ hơn của học máy.

Học sâu xử lý dữ liệu giống như cách não bộ con người hoạt động, bằng cách

xử lý các thông tin được đưa vào như hình ảnh, văn bản, âm thanh và các dạng

dữ liệu khác, sau đó các mạng lưới nơ-ron (neural) của mô hình sinh dữ liệu và được đưa vào dự đoán với độ chính xác cao.

2.2.2 Bidirectional Long Short Term Memory(Bi-LSTM)

BiLSTM (Bidirectional Long Short-Term Memory) là một mô hình mang

neural nổi bật, được thiết kế dé xử ly dữ liệu chuỗi với khả năng kết hợp hai

mô hình LSTM, một theo hướng thuận va một theo hướng ngược Điều này cho

Trang 29

phép BiLSTM xử lý thông tin từ cả hai phía của chuỗi đầu vào, mang lại cái

nhìn toàn diện hơn về dữ liệu.

LSTM (Long Short-Term Memory) là một biến thể của mạng nơ-ron hồi quy(RNN), được thiết kế để khắc phục van đề biến mất gradient khi huấn luyệnmang neural trên các chuỗi dữ liệu dài LSTM sử dụng một bộ nhớ nội tai để

lưu trữ thông tin quan trọng từ quá khứ và áp dụng các cơ chế cập nhật thông

tin (gọi là cổng) để điều chỉnh việc lưu trữ và truy cập bộ nhớ này

Trong mô hình BiLSTM, chuỗi đầu vào được chia thành các thành phần riêng lẻ và truyền qua hai mạng LSTM: một mạng xử lý chuỗi từ trái sang phải

(LSTM thuận) va một mạng xử lý chuỗi từ phải sang trái (LSTM ngược) Điều

này cho phép BiLSTM hoc được các mối quan hệ giữa các thành phần trong

chuỗi không chỉ theo hướng thời gian mà còn theo hướng ngược lại Hình 2.1

dưới đây thể hiện tổng quan về các lớp của mô hình BiLSTM, với đầu vào từ

lớp input được lan truyền vào hai mạng LSTM: forward và backward.

Hình 2.1: Tổng quan mô hành BiLSTM

Các công thức cho mạng LSTM thuận và LSTM nghịch được trình bày như

sau:

Trang 30

1 Cổng Quên (Forget Gate):

e Input: 2; (đầu vào tai thời điểm t), h¿_¡ (trạng thái an tại thời điểm

e Output: ø¿ (giá trị của cong đầu ra)

e Công thức: o; = o(Wo- [hi-1, ¿| + bạ)

4 Cổng Trạng Thái (Cell Gate):

Trang 31

e Input: z¿, h¿_1

e Output: ñ; (trạng thái an)

e Công thức: h; = o¿ - tanh(c;)

Các công thức trong mạng LSTM nghịch tương tự như trong mạng LSTM

thuận, nhưng với các trọng số và bias riêng (ký hiệu bằng W’ và 0’).

Khi áp dụng mạng BiLSTM, đầu ra của mỗi bước thời gian sẽ bao gồm thông

tin từ cả hai mô hình LSTM, góp phần tăng cường sự hiểu biết về mối quan hệ

giữa các thành phần trong chuỗi BiLSTM có khả năng nhìn thấy cả quá khứ

và tương lai của mỗi thành phần trong chuỗi, làm tăng khả năng dự đoán chính

e Phân loại văn bản

Nhờ khả năng xử lý thông tin chuỗi theo hai hướng, BiLSTM đã giúp cải

thiện đáng kể hiệu suất của nhiều bài toán trong các lĩnh vực này

Tóm lại, BiLSTM là một mô hình mang neural mạnh mẽ cho việc xử lý dữ

liệu chuỗi Khả năng kết hợp thông tin từ cả hai phía của chuỗi giúp BiLSTM

nắm bắt được các mối quan hệ phức tạp và đưa ra dự đoán chính xác hơn Điều

nay làm cho BiLSTM trở thành một công cụ hữu ích trong nhiều ứng dụng liên

quan đến dữ liệu chuỗi.

2.2.3 Bidirectional Encoder Representations from Transformers (BERT)

BERT (hay còn gọi là Bidirectional Encoder Representations from

Trans-formers) là mô hình deep learning được tạo ra bởi Google, dựa trên Transformer,

Trang 32

trong đó, các Encoder liên kết lại với nhau BERT thường được dùng huấn luyện

cho xử lý ngôn ngữ tự nhiên như masked language modeling (MLM) và next

sentence prediction (NSP) Điểm nổi bật là BERT có thể doc được văn bản theo

cả hai chiều trái phải, giúp việc hiểu ngữ cảnh của câu tốt hơn

BERT có kiến trúc mô hình như sau:

e Tổng cong 340 triệu tham số

BERT xử lý đầu vào bang cách sau:

e Token Embeddings: Các từ trong câu được chuyển thành một không gian

vector nhiều chiều, sau đó, BERT sử dung một bộ từ vựng cố định và ánh

xạ từng từ thành một vector duy nhất và chuyển các từ trong câu thành số

để giúp mô hình hiểu và xử lý được

e Segment Embeddings: Dé giúp mô hình phân biệt được ranh giới giữa

các câu, BERT sử dụng segment embeddings Các từ trong cùng một phan

của câu sẽ được đánh dấu, điển hình là 0, đối với phần đầu tiên, và các từthuộc phần câu phía sau sẽ được đánh số 1 và số thay đổi cho tới khi hết

câu.

Trang 33

Start/End sa |

| (cis) |Í Tok 1 | [ TokN lÍ (SEP] lÍ Tok 1 | [ TokM |

Masked Sentence A Masked Sentence B Question Paragraph

= +

Unlabeled Sentence A and B Pair Question Answer Pair

Pre-training Fine-Tuning

Hình 2.2: Tổng quan mô hành BERT

e Positional Embeddings: Để giúp mô hình biết được vị trí các từ trong

câu, cũng như các mối quan hệ giữ vị trí các từ trong câu, BERT sử dụng

Positional Embeddings để đánh số các từ theo vị trí, với chữ đầu tiên là 0

và đi tiếp cho tới từ thứ n-1 trong câu (với n là độ dài của câu).

Input as | | my | do | Í is | cute Ì [SEP] he | likes | play IEm=

Hình 2.3: So đồ rử ly đầu uào của BERT

Như đã đề cập ở phần trên, BERT thường được sử dụng cho hai công việc huấn

luyện, đó là Masked Language Modeling (MLM) va Next Sentence Prediction

(NSP):

e Masked Language Modeling: Trong quá trình huấn luyện, BERT sử

dụng kỹ thuật masked language modeling (MLM) Một số từ trong câu sẽ

được thay thé bằng một token [MASK] dé che đi từ đó, và BERT có nhiệm

Trang 34

vụ phải đoán ra được từ khoá đã bị che này Việc này giúp BERT hiểu đượcngữ cảnh các từ trong câu.

e Next Sentence Predicting: BERT có thể sử dụng kỹ thuật đoán câu tiếp

theo (next sentence prediction, viết tắt là NSP) O kỹ thuật này, BERT sẽđược nhận đầu vào là hai câu, sau đó, BERT phải quyết định xem câu thứ hai có phải là câu tiếp theo của câu thứ nhất trong văn bản gốc hay không.

BERT thường được ứng dụng vào cac việc sau:

e Phân loại văn bản (Text Classification): Xác định chủ đề hoặc ý nghĩa

chính của một đoạn văn bản.

e Trả lời câu hỏi (Question Answering): Tìm câu trả lời chính xác từ

một đoạn văn bản dai.

e Dịch máy (Machine Translation): Dịch văn bản từ ngôn ngữ này sang

ngôn ngữ khác.

e Phân tích cảm xúc (Sentiment Analysis): Xác định cảm xúc hoặc thái

độ của người viết trong văn bản.

e Tóm tắt văn bản (Text Summarization): Tóm tắt nội dung một văn

bản dài.

e Phân tích mã nguồn (Code analysis): Hiểu và phân tích mã nguồn,

điển hình là mô hình CodeBERT được phát triển từ BERT.

2.2.4 Graph Attention Network (GAT)

Graph Attention Network (GAT) là một mô hình mang neural tiên tiến được

thiết kế để xử ly dit liệu dang đồ thị Đặc trưng nổi bật của GAT là khả năng

áp dụng cơ chế tự chú ý (attention mechanism) để gán trọng số khác nhau cho

các đỉnh lân cận dựa trên tầm quan trọng của chúng Điều này giúp GAT học

Trang 35

được các biểu diễn nút phong phú hơn và cải thiện hiệu suất trong nhiều bài

toán liên quan đến đồ thị như phân loại nút, dự đoán liên kết và phân loại đồ

thị.

Mang neural đồ thi (Graph Neural Networks - GNNs) đã trở thành một công

cụ quan trọng trong học máy và trí tuệ nhân tạo để xử lý dữ liệu đồ thị Tuy

nhiên, một hạn chế của các GNN truyền thống là chúng không xem xét mức

độ quan trọng khác nhau của các nút lân cận GAT giải quyết vấn đề này bằng

cách áp dụng cơ chế tự chú ý, cho phép mạng tập trung vào các phần quan trọng

của đồ thị trong quá trình học.

GAT bao gồm nhiều lớp tự chú ý, trong đó mỗi lớp bao gồm các head tự chú

ý Mỗi head tự chú ý tính toán trọng số chú ý cho từng cặp đỉnh lân cận và sau

đó tổng hợp các đặc trưng của các đỉnh này để tạo ra đặc trưng mới cho đỉnh

Graph Attention Layer I L2 L]

Hình 2.4: Tổng quan mô hành Graph Attention Network (GAT)

Cho đồ thị G = (V,E) với V là tập hợp các đỉnh và # là tập hợp các cạnh Đặc trưng của mỗi đỉnh v € V được ký hiệu là h„ Cơ chế tự chú ý trong GAT

hoạt động như sau:

Trọng số chú ý giữa hai đỉnh i và j được tính toán dựa trên đặc trưng của

Trang 36

chúng:

ei; = LeakyReLU (a'[Wh; || Wh;])

trong đó a là vector trọng số chú ý học được, W là ma trận trọng số hoc được,

và || là phép nối vector.

Hệ Số Chú Ý: Hệ số chú ý được chuẩn hóa qua các đỉnh lân cận bằng cách

sử dụng hàm softmax:

Đặc trưng mới của đỉnh i được tính bằng cách tổng hợp đặc trưng của các

đỉnh lân cận đã được trọng số hóa:

hi =O » aij Wh;

JEN (i)

trong đó ø là ham kích hoạt (activation function).

Quy trình huấn luyện GAT bao gồm các bước sau:

1 Chuẩn bị dữ liệu: Dữ liệu đồ thị được chuẩn bị, bao gồm các đặc trưng

nút và các cạnh.

2 Xây dựng mô hình: Mô hình GAT được xây dựng với số lượng lớp và số

lượng head tự chú ý thích hợp.

3 Khởi tạo trọng số: Các trọng số của mô hình được khởi tạo ngẫu nhiên

4 Tính toán trọng số chú ý: Trọng số chú ý giữa các đỉnh lân cận được

tính toán.

5 Cập nhật đặc trưng nút: Dac trưng của các nút được cập nhật dựa trên

trọng số chú ý.

6 Tối ưu hóa mô hình: Mô hình được tối ưu hóa bằng cách sử dụng thuật

toán gradient descent.

Trang 37

7 Đánh giá mô hình: Mô hình được đánh giá dựa trên các chỉ số như độ

chính xác, độ nhạy và độ đặc hiệu.

GAT đã chứng minh hiệu quả trong nhiều bài toán liên quan đến đồ thị:

e Phân Loại Nút: Dự đoán nhãn của các nút trong một đồ thị dựa trên cấu

e Sinh Hoc: Dự doán các tương tac giữa protein và phân loại các loại bệnh

dựa trên dữ liệu đồ thi.

e Hệ Thống Khuyến Nghị: Cải thiện hệ thống khuyến nghị bằng cách

phân tích mối quan hệ giữa người dùng và sản phẩm

Graph Attention Networks (GAT) là một công cụ mạnh mẽ và linh hoạt dé

xử lý dit liệu đồ thị Bằng cách sử dung cơ chế tự chú ý, GAT có khả năng học

được các biểu diễn phong phú và hiệu quả từ dữ liệu đồ thị, giúp cải thiện hiệu

suất trong nhiều bài toán và ứng dụng thực tế Khả năng này đã mở ra nhiều

hướng nghiên cứu mới và ứng dụng trong nhiều lĩnh vực khác nhau, từ mạng xã

hội đến sinh học và hệ thống khuyến nghị.

Trang 38

2.3 Mô hình học sâu đa phương thức (Multimodal

Learn-ing)

Mô hình học sâu đa phương thức (hay con gọi là Multimodal Learning), là

một dạng học sâu sử dụng nhiều luồng dữ liệu khác nhau, bằng cách kết hợp các thông tin từ các luồng dữ liệu khác nhau được đưa vào mô hình nhằm cho ra kết quả dự đoán tốt hơn Mô hình học sâu đa phương thức (Multimodal Learning)

là một phương pháp học sâu tiên tiến, sử dụng nhiều luồng dữ liệu khác nhau nhằm nâng cao hiệu quả dự đoán của các hệ thống học máy Da phương thức

trong học sâu được hiểu là sự kết hợp và tích hợp thông tin từ các nguồn dữliệu đa dang, chang hạn như văn bản, hình ảnh, 4m thanh, video, và các dữ liệu

cảm biến khác.

Học sâu đa phương thức không chỉ đơn thuần là xử lý từng loại đữ liệu một cách riêng lẻ mà còn liên kết chúng một cách có hệ thống và đồng bộ Ví dụ,

trong việc phát hiện 16 hong bảo mật hợp đồng thông minh, việc kết hợp dữ liệu

văn bản từ các đoạn mã nguồn, dữ liệu hình ảnh từ biểu đồ luồng điều khiển,

và dữ liệu âm thanh từ các hội nghị bàn luận về bảo mật có thể cung cấp mộtcái nhìn toàn diện hơn về các lỗ hổng tiềm ẩn

Mục tiêu chính của mô hình học sâu đa phương thức là khai thác được các

đặc điểm nổi bật và thông tin bổ sung từ mỗi loại dữ liệu, từ đó tăng cường khảnăng dự đoán của mô hình Một trong những thách thức lớn của mô hình này

là việc làm thế nào để hợp nhất các loại dữ liệu khác nhau một cách hiệu quả,

đồng thời duy trì được tính toàn vẹn và đặc trưng của từng loại dữ liệu.

Quá trình học sâu đa phương thức thường bao gồm các bước chính như sau:

e Tiền xử lý dữ liệu: Các dữ liệu từ các nguồn khác nhau cần được tiền

xử lý để đưa về dạng chuẩn hóa Điều này có thể bao gồm việc làm sạch dữliệu, chuyển đổi định dạng, và trích xuất đặc trưng cơ bản

e Mã hóa đặc trưng: Mỗi loại dữ liệu được mã hóa thành các đặc trưng

Trang 39

(features) thông qua các mô hình học sâu tương ứng, chang hạn như CNN

cho hình ảnh, RNN cho chuỗi thời gian, và Transformer cho văn bản.

e Kết hợp đặc trưng: Các đặc trưng được mã hóa từ các nguồn dữ liệu

khác nhau sẽ được hợp nhất thông qua các kỹ thuật như concatenation,

attention mechanism, hoặc các phương pháp học sâu khác.

e Học va dự đoán: Mô hình học sâu sẽ được huấn luyện trên các đặc trưng

hợp nhất để học cách dự đoán kết quả dựa trên sự kết hợp thông tin từ

nhiều nguồn dữ liệu Quá trình huấn luyện này thường đòi hỏi sự điều chỉnh

kỹ lưỡng về các siêu tham số và cấu trúc mô hình.

e Đánh giá và cải thiện: Sau khi huấn luyện, mô hình sẽ được đánh giá

trên bộ dữ liệu kiểm tra để xác định hiệu quả của nó Các kết quả đánh giá

sẽ được sử dụng để cải thiện và tinh chỉnh mô hình

Một ví dụ cụ thể về mô hình học sâu đa phương thức trong việc phát hiện lỗhong bảo mật hợp đồng thông minh có thể là nghiên cứu của Deng và cộng sự

(2023) Trong nghiên cứu này, các tác giả đã sử dụng phương pháp học sâu kết

hợp với các quyết định hợp nhất từ nhiều mô hình để phát hiện các 16 hổng bao

mật Tương tự, nghiên cứu của Li và cộng sự [14] cũng áp dụng phương pháp

học sâu đa phương thức bằng cách kết hợp các đặc trưng từ nhiều loại dữ liệu

để cải thiện khả năng phát hiện lỗ hồng

Như vậy, mô hình học sâu đa phương thức là một hướng đi đầy hứa hẹn trong

việc xử lý và khai thác các nguồn dữ liệu phức tạp và đa dạng, đặc biệt là trong

lĩnh vực phát hiện lỗ hong bảo mật hợp đồng thông minh Việc sử dụng nhiều

luồng dữ liệu không chỉ giúp mô hình học sâu đạt được hiệu quả dự đoán cao hơn ma còn cung cấp những góc nhìn đa chiều và toàn diện hơn về van đề nghiên

cứu.

Trang 40

2.4 Hoc chuyén tiép (Transfer Learning)

Hoc chuyén tiép (Transfer Learning) là một kỹ thuật trong lĩnh vực học

máy và trí tuệ nhân tạo, trong đó một mô hình được huấn luyện trên một tác

vụ cụ thể có thể được điều chỉnh hoặc áp dụng lại cho một tác vụ khác có liên

quan (Hình 2.5 Thay vì huấn luyện một mô hình từ đầu cho từng tác vụ riêng

biệt, học chuyển tiếp cho phép sử dụng kiến thức đã học từ một tác vụ (nguồn)

để cải thiện hiệu suất trên một tác vụ khác (đích) Học chuyển tiếp là một công

cụ mạnh mẽ trong học máy và trí tuệ nhân tạo, giúp tăng cường khả năng của

mô hình và tối wu hóa quy trình huấn luyện Kỹ thuật này đã mở ra nhiều cơ hội mới và đóng góp quan trọng trong nhiều lĩnh vực nghiên cứu và ứng dụng.

Transfer Learning

Pretrained |—> Network New Data

Training Su T asidation Data

| Prepare New Data |

Hình 2.5: Tổng quan vé Transfer Learning

Nguyén Ly Hoat Déng

Trong học chuyển tiếp, mô hình được huấn luyện ban đầu trên một tác vu

nhất định và trên một tập dữ liệu lớn, nhằm khởi tạo các tham số cho việc huấn luyện cho tác vụ đích Sau đó, mô hình ban đầu được giữ lại, và mở rộng cho mục đích huấn luyện tác vụ đích, tác vụ đích sẽ có lượng dữ liệu nhỏ hơn Với quá trình huấn luyện mở rộng này, mô hình sẽ tận dụng lại được các đặc trưng chung trong mô hình gốc, đồng thời tăng tốc độ huấn luyện và cải thiện độ chính

xác.

Ngày đăng: 08/12/2024, 15:12