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ương pháp triển khai honeypot theo nhu cầu một cách tự động

123 0 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ương pháp triển khai honeypot theo nhu cầu một cách tự động
Tác giả Ly Thai Minh
Người hướng dẫn THS. Do Hoang Hien
Trường học ĐẠI HỌC QUOC GIA TP. HO CHÍ MINH
Chuyên ngành An Toan Thong Tin
Thể loại Khoa luận tốt nghiệp
Năm xuất bản 2023
Thành phố TP. HO CHÍ MINH
Định dạng
Số trang 123
Dung lượng 85,3 MB

Nội dung

Từ đó, trong phạm vi đề tài nghiên cứu này, tác giả sẽ nghiên cứu, xây dựng một giải pháp triển khai honeypot theo nhu cầu một cách tự động và chuyển hướng lưu lượng truy cập độc hại phá

Trang 1

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH

TRUONG DAI HQC CONG NGHE THONG TIN

KHOA MANG MAY TINH VA TRUYEN THONG

LY THÁI MINH - 19521839

KHOA LUAN TOT NGHIEP

PHUONG PHAP TRIEN KHAI HONEYPOT THEO NHU

CAU MOT CACH TU DONG

A method for on-demand automated honeypot deployment

ki SU NGANH AN TOAN THONG TIN

GIANG VIEN HUONG DAN THS DO HOANG HIEN

TP HO CHÍ MINH, 2023

Trang 2

LỜI CẢM ƠN

Lời đầu tiên, tác giả xin chân thành gửi lời cảm ơn tới giảng viên đã hướng dẫn tác giả thực hiện dé tài này, Thạc sĩ Đỗ Hoàng Hiền, người đã tận tình hướng dẫn và chỉ bảo tác giả trong suốt thời gian vừa qua đề hoàn thành khóa luận tốt nghiệp này.

Tác giả cũng đồng thời gửi lời cảm ơn đến tất cả tác giả của các bài báo, những tác giả của các tài liệu hướng dẫn và những người đã tạo ra những công cụ mà tác giả đã

sử dụng trong suốt quá trình nghiên cứu và thực hiện khóa luận.

Và cuối cùng, tác giả xin gửi lời cảm ơn đến những ai đã và đang đọc báo cáo khóa luận tốt nghiệp này, tác giả hi vọng bài báo cáo khóa luận này hữu ích với tất cả những ai đang đọc hoặc tìm kiếm ý tưởng từ bài báo này.

Trang 3

MỤC LỤC

Chương 1 MỞ ĐẦU 222222222222222211212221111227111 2221112111 ce 1 1.1 Giới thiệu để tài 22222ccc2 2222 E222 21.1 re 1 1.2 Mục đích xây dựng đề tai ccccccccceccssssssesssssseessssseesssssseeessssuesesssseeeeessseeesssseess 2 1.3 Đối tượng và phạm vi nghiên cứu -¿2+z++222+++t+trxxzrrerrreccee 2 1.3.1 Đối tượng nghiên cứu

1.3.2 Phạm vi nghiên CỨU ¿+5 SEk2 SE ey 3

1.4 Cấu trúc khóa luận

Chuong2 CƠ SỞ LÝ THUYET VÀ CÁC NGHIÊN CỨU LIÊN QUAN 4 2.1 Cơ sở lý thuyết

2.1.1 Honeypot òĂ Sen HH 4 2.1.1.1 Khái niệm

2.1.1.2 Phá Hổaimm„ SP g.m , ninh 4 2.1.1.3 Lợi ích và rủi ro khi sử dung honeypOt - - eee 5 2.12 H hct NGh 6 2.1.3 Docker Swarm Bố 6 2.1.3.1 Khai niệm DocK€T - c3 vEstervrrrrrrrrrrerrrrrrrerrre 6

2.1.3.2 Khái niệm Docker SWarm scsts+xstsvvererrersrrrerserrre 7

2.1.3.3 Tính năng nổi bật của Docker Swarm -2:©s+5c+c+cc++ 7 2.1.3.4 Kiến trúc Swarm ss nnnhhrrrrrrrrrrirrirrirrrrrrrrrree 8

2.1.4 OVS — 9

2.1.4.1 Khái niệm OVS Sàn 9

2.1.4.2 Tinh năng nổi bật của OVS 222cc 2vccterErvrrerrrrrrrrer 10 2.1.4.3 Kiến trúc của OVS v.v 10

Trang 4

2.1.4.4 Các thành phần của OVS 2¿©22¿22++2Et2Ek2ExEErerkrerkrerrees 11

2.1.4.5 Xử lí gói tin trong OV ch HH ng He 13 2.1.4.6 Cac công cụ chính tương tác với OVS -Ă.ccsàeseeieeeee 14

2.1.5 0 15

2.1.5.1 Giới thiệu về SnOrt :-©2¿©52©2++2xt2Et2E2EEEExerkrrkrrrkerxerrerree 15 2.1.5.2 Kiến trúc của SnOFI -ccccccckrrrtEktrtrrrkrrrtrtrrerrrirerrrrree 15 2.1.5.3 Kha năng của SNOIẨ - <1 HH He 18 2.1.5.4 Lut Snort cc i cccccsscccccesessseeeceeesssseeeccesesssseececeesssseeceeesesseeeeeees 18 2.2 Các nghiên cứu én Qua11 - 5 5 25 223 331 1991 1 1 vn ng ng nưệt 20 Chương 3 PHƯƠNG PHAP DE XUẤT -©5++cx+©csce: 22 3.1 Mô hình tổng quan ¿- 292252 +E+E£EE£EEEEEEEEEEEEEEEEEEEEEEErkrrkrrkrrkee 22 “PA Ha OE (/ đầ x .ẻ.ẻố 23

SN: (2/2/2218,.27 24

3.3.1 Phương pháp triển khai honeypot theo nhu cầu 24

3.3.2 Phương pháp triển khai honeypot tự động dựa trên tệp cấu hình 25

3.4 Virfual SVIÍCH Ă Ăn HH KH HH, 25 ` (.(‡{4 26

3.6 9690 27

3.7 Cách hoạt động của mô hình và mối liên hệ giữa các thành phan trong mô

hình 28

3.8 Phương pháp chuyên hướng lưu lượng truy cập đến honeypot khi phát hiện

Chương 4 TRIÊN KHAI DE TÀI ¿522 E+EE+EE£EE+EE2EE+EerEerkerkersrree 31

4.1 Mô hình triển khai - 2-5: St St Set SE SE+E+E+EEESEEEEEEEEEEEEEEEErErErErrrrrrrrsrsrses 31

Trang 5

4.2 Các bước triển khai -:-c cac St tt S323 13955555555E15113 5111515115555 Exe 32

4.2.1 Triển khai $erwer + cc+ccctsEEktErkttrrrtrrrrsrrrrrrrre 324.2.2 Triển khai Honeypot cÌu$f€F - -©5+ 52 5c+ce+E++E+Es£terterkersereee 334.2.3 Triển khai Ñoufer -c-cccccccsccessrrrsrrrrsrrrrsrrre 34

4.2.4 Triển khai router-Outside cccceccsccsscssssssssessesseesessessessssessessessessessesssees 34

4.2.1 Triển khai rowfer-inside cccccccccsscrisrrrrsrrrrrrree 354.2.2 Triển khai thay đổi luồng lưu lượng truy cập -: 36

4.2.3 Triển khai Snort -cc:222++tcEEttrtrrrtrtrrrtrrrrrtrrrrrres 36

A424, Lut Smrt nh aA3äđ 37

4.2.4.1 Luật cho kịch bản thử nghiệm ICMP flood - - -: 37 4.2.4.2 Luật cho kịch bản thử nghiệm quét Nmap - - «+ 38 4.2.4.3 Luật cho kịch bản thử nghiệm time-based SQL injection 42

4.2.4.4 Luật cho kịch bản thử nghiệm thực thi lệnh backdoor VSFTPD

Trang 6

5.1.1.3 Kịch bản thử nghiệm 3: Xóa bỏ honeypot được chỉ định khỏi [;[71/1217102051711/20E000nnn8noo 55

5.1.1.4 Kịch ban thử nghiệm 4: Phục hồi trang thái mặc định của honeypotđược chỉ định trong Honeypot CÏHSf€F cv EEviEtsekkserrserrerrrrrre 585.1.2 Kịch ban thử nghiệm tan 0077 61

5.1.2.1 Kịch bản thử nghiệm 5: ICMP flood ou ce eeceeseeseeseeeteeeeeeeeeeens 62 5.1.2.2 Kịch bản thử nghiệm 6: Quét Nmap - 5c S< << <+scsses 66 5.1.2.3 Kich bản thử nghiệm 7: Time-based SQL injJection 71 5.1.2.4 Kịch ban thử nghiệm 8: Thực thi lệnh backdoor VSFTPD v2.3.475

5.1.2.5 Kịch bản thử nghiệm 9: Thực thi lệnh backdoor UnrealIRCD 3.2.8.1

80

5.1.2.1 Kịch bản thử nghiệm 10: Thực hiện nhiều loại tấn công cùng một

thời điểm: Thực thi lệnh backdoor VSFTPD v2.3.4 và thực thi lệnh backdoor

UnrealIRC DAB’ 8 Smt Wem th 7x: nh Še- 85

5.2.1.1 Đánh gia kịch ban thử nghiệm 4: Phuc hồi trạng thái mặc định của

honeypot được chỉ định trong Honeypot CÏILSf€F S-ccS« se sessessersee 92

5.2.2 Đánh giá kịch bản thử nghiệm tấn công : 2 c5z5cs++ 92

Trang 7

5.2.2.1 Đánh giá kịch bản thử nghiệm 5: ICMP flood - 93 5.2.2.2 Đánh giá kịch bản thử nghiệm 6: Quét Nmap - - 95 5.2.2.3 Đánh giá kịch bản thử nghiệm 7: Time-based SQL injection 95

5.2.2.4 Đánh giá kịch ban thử nghiệm 8: Thực thi lệnh backdoor VSFTPD v2.3.4 96

5.2.2.5 Đánh giá kịch ban thử nghiệm 9: Thực thi lệnh backdoor UnrealIRCD 652.0001177 = 97

5.2.2.1 Đánh giá kịch bản thử nghiệm 10: Thực hiện nhiều loại tan công

cùng một thời điểm: Thực thi lệnh backdoor VSFTPD v2.3.4 và thực thi lệnh

backdoor UnrealIRCD 3.2.8.1 -c 1 c1 1112 3111 1111111115111 kve 98

5.2.3 _ Đánh giá hiệu năng của máy KLTN khi triển khai honeypot để nhậnxét kha năng mở rộng của hệ thống 2 2 2s ++£E£+E£+£E+EEtzxzrezrxees 100

Chương 6 KÉT LUẬN VÀ HƯỚNG PHÁT TRIEN - s-sz- 104

6.1 Kết qua dat 0i0:92Z 8 3 5n, PS: nh 104

62 KếtluậnẨN — Ó v.v ss se 104

6.3 Hướng phát triển tương lai - + ++2++E£+E£+E££E£EEEEEeEEeEkrrerrerrred 105Chương 7 TÀI LIEU THAM KHẢO -:-5¿©2++c+++cx+rxerxeerxesrxerred 106

Trang 8

DANH MỤC HÌNH

Hình 1: Ví dụ về mô hình áp dụng honeypOt - + 2 + 22 2+s£+E+zx+£x+rxzrzrszes 2Hình 2: Hình minh hoạ kiến trúc Swarm ¿s+s+St+k+E+EEE+E+EeEEEE+EeEErEzEerreseee 8

Hình 3: Hình minh hoạ tương tác giữa nút manager và nut worker trong Swarm 9

Hình 4: Hình minh hoạ kiến trúc tổng quan của OVS 2-5 ©c++cs+cx+rxczez 10Hình 5: Hình minh hoa mối liên quan giữa các thành phan trong OVS 11Hình 6: Minh hoa mối liên hệ giữa OVS và các thành phan khác trong máy chủ 12

Hình 7: Hình minh hoạ cách OVS xử If gỐI tin - SSĂSSSSsseeeeesre 13

Hình 8: Hình minh hoa các công cụ và tương tác giữa chúng với các thành phần của

0 14

Hình 9: Kiến trúc của Snort qua mô hình vòng đời của một gói tin khi đi qua Snort

¬ Ô €ÔỐŒốỐỐốỐố hố 16

Hình 10: Cấu trúc của một luật SnOrt - ::©2+:++2+++2£+vvtrrxvvsrrrrvrsrrrerrre 19

Hình 11: Mô hình tổng quan hệ thống honeypot của phương pháp đề xuất 23

Hình 12: Luéng lưu lượng truy cập bình thường 2-2 2 2+ +x+£x+zs+zszs+2 28Hình 13: Luéng lưu lượng truy cập khi một cuộc tan công diễn ra 29Hình 14: Mô hình triển khai 2-2 2: +£2S£+2E£2EE£2EE£EEE+EEESEEEEEEEEeerkesrkerresree 31

Hình 15: Đặc trưng của thực thi lệnh backdoor VSFTPD v2.3.4 - 43

Hình 16: Đặc trưng của thực thi lệnh backdoor UnrealIRCD 3.2.8.1 44

Hình 17: Mô hình triển khai của giải pháp 2-2 2 z+z+x+xerxerxerxersxee 48

Hình 18: Thông tin Honeypot cluster dang được triển khai trong kịch bản thử nghiệm

Hình 21: Honeypot cluster sau khi thêm toàn bộ honeypot trong danh sách 50

Hình 22: Bốn cửa số giám sát tình hình mạng nội bộ trong kịch bản thử nghiệm 1 51Hình 23: Attacker ping đến Server dé kiểm tra kết nối . ¿- ¿25+ 51

Trang 9

Hình 24: Lưu lượng truy cập tai S€TVT - - 5 + TH HH HH giết 52

Hình 25: Thông tin Honeypot cluster đang được triển khai trong kịch bản thử nghiệm

Hình 26: Chỉnh sửa tệp cấu hình honeypot.conf dé triển khai thêm honeypot HTTP

vào Honeypot CÏUSf€T - - c1 111 TH TH HH HH nh 52

Hình 27: Kết quả thực thi tệp auto.bash dé triển khai thêm honeypot HTTP vào

Honeypot cluster một cách tự động, - - + +11 ngàng it 53

Hình 28: Honeypot cluster sau khi thêm honeypot HTTP eee 53

Hình 29: Bốn cửa số giám sát tình hình mạng nội bộ trong kịch bản thử nghiệm 2 54

Hình 30: Attacker ping S€TV€T Án HT TH HH HH 55

Hình 31: Luu lượng truy cập tai S€TV€T - c1 3S 3v vn ng ng rưy 55

Hình 32: Thông tin Honeypot cluster đang được triển khai trong kịch bản thử nghiệm

Hình 33: Chỉnh sửa tệp cấu hình honeypot.conf dé xóa bỏ honeypot HTTP khỏi

Honeypot CÏUSf€T G1 2001910111 ng TH TH HH nh 56

Hình 34: Kết quả thực thi tệp auto.bash để xóa bỏ honeypot HTTP khỏi HoneypotCluster một cách tự đỘng - ¿+ - + 1112111111211 1 211111911111 111 1 ng ng ng rệt 56

Hình 35: Honeypot cluster sau khi xóa honeypot HTTTP «+ +s«<++ss-++sss+ 56

Hình 36: Bốn cửa số giám sát tình hình mạng nội bộ trong kịch bản thử nghiệm 3 57

Hình 37: Attacker ping S€TV€T - cà TT TH HH TH Hưng già 57

Hình 38: Lưu lượng truy cập tai S€TV€T - -c S ST ng ng ng re 58

Hình 39: Thông tin Honeypot cluster đang được trién khai trong kịch bản thử nghiệm

Hình 40: Nội dung tệp câu hình honeypot.conf dé khôi phục trạng thái mặc định của

toàn bộ honeypot trong Honeypot CÏUS€T - 55 2 cess SE rtrey 59

Hình 41: Kết quả thực thi tệp auto.bash dé khôi phục trạng thái mặc định của toàn bộhoneypot trong Honeypot cluster một cách tự động ¿s5 c + s+cssersxs 59

Hình 42: Honeypot cluster sau khi khôi phục trang thái mặc định cua toàn bộ 090/12/900000077Ề 60

Trang 10

Hình 43: Bốn cửa số giám sát tình hình mạng nội bộ trong kịch bản thử nghiệm 4 60

Hình 44: Attacker ping S€TV€T s1 HH HH nh 61

Hình 45: Lưu lượng truy cập tại S€TV€T - - 5s HH HH HH rưệt 61

Hình 46: Luéng lưu lượng truy cập bình thường -2- 2 2 x+2z£+£z+zxerxezez 61

Hình 47: Luồng lưu lượng truy cập khi phát hiện tắn công - 62

Hình 48: Những honeypot được triển khai trong Honeypot cluster trong kịch bản tan

CONG ICMP 8199:0011 62

Hình 49:Màn hình giám sát trước khi cuộc tan công ICMP flood diễn ra 63Hình 50: Lưu lượng truy cập tai S€TV€T c1 S3 TT HH ng re, 64

Hình 51: Lưu lượng truy cập tại honeypot HT”TTP - + sssc + csskrreeseersrersee 64

Hình 52: Attacker thực hiện tan công ICMP flood đến Server - 5: 5+ 64

Hình 53: Màn hình giám sát sau khi cuộc tấn công diễn ra - 5-5 s2 65

Hình 54: Lưu lượng truy cập tat S€TV€T G1121 ng ngàng 66

Hình 55: Lưu lượng truy cập tai honeypot HÏT”[P - «+ csx£eseeeeesersessessee 66

Hình 56: Kết quả Attacker tan công ICMP flood Server -¿csz s52 66Hình 57: Những honeypot được triên khai trong Honeypot cluster trong kịch bản quét

NIM AD ỚỚN" Ố h.Ẻ ,ềẺẺẻẺ ếể “ 66

Hình 58:Man hình giám sát trước khi quét Nmap diễn ra - 2 255: 67

Hình 59: Lưu lượng truy cap tại S€TV€T G119 nh Hy 68

Hình 60: Lưu lượng truy cập tại honeypot HTTP eee sec seeeeeeserserserske 68

Hình 61: Attacker thực hiện quét Server bằng Nmap 2-52 ©522522 s2 68Hình 62: Màn hình giám sát sau khi cuộc tấn công diễn ra - 5 52 52 69

Hình 63: Lưu lượng truy cập tại Š€TV€T .- Gv HH ng rên 69

Hình 64: Lưu lượng truy cập tại honeypot HTTP eee sex seeeeeesersersesske 70

Hình 65: Kết qua Attacker thực hiện quét Server bằng Nmap - 70Hình 66: Những honeypot được triển khai trong Honeypot cluster trong kịch bản thử

nghiệm time-based SQL injection eee 5 5 1611931 911 91 911 ng ng ng giết 71

Hình 67:Man hình giám sát trước khi cuộc tan công time-based SQL injection diễn

Trang 11

Hình 68: Lưu lượng truy cập tại S€TVT 5 5 ng HH HH giết 72

Hình 69: Lưu lượng truy cập tại honeypot Metasploitable2 - -« «+s«2 73Hình 70: Attacker thực hiện tan công time-based SQL injection 73Hình 71: Màn hình giám sát sau khi cuộc tấn công diễn ra . :- 5+ 73

Hình 72: Lưu lượng truy cập tai Server - -.- cà St *S vn Hy giết 74

Hình 73: Lưu lượng truy cập tai honeypot Metasploitable2 - ‹ «++-<s++ 74

Hình 74: Kết qua Attacker thực hiện tan công time-based SQL injection lần 1 74

Hình 75: Lưu lượng truy cập tai honeypot Metasploitable2 - -« «+<«+ 75

Hình 76: Những honeypot được triển khai trong Honeypot cluster trong kịch bản tan

công thực thi lệnh backdoor VSFTPD v2.3 4 .- 5 5s + ng ng kg 75

Hình 77:Màn hình giám sát trước khi cuộc tấn công thực thi lệnh backdoor VSFTPD

Hình 78: Lưu lượng truy cập tại S€TV€T G112 kg ng ngàng 76 Hình 79: Lưu lượng truy cập tai honeypot FTÌP - «sxcsxcseeeeeeeeserserserske 77

Hình 80: Sử dung mô-đun exploit/unix/ftp/vsftpd_234_backdoor 77

Hình 81: Thiết lập thông số cho mô-đun exploit/unix/fip/vsftpd_ 234 backdoor vàtiến hành khai thác - -++V+++2EEkE 22k 78Hình 82: Màn hình giám sát sau khi cuộc tấn công diễn ra 5s s2 78

Hình 83: Lưu lượng truy cập tại S€TV€T - Gv kg ng Hy 79

Hình 84: Lưu lượng truy cập tại honeypot FTTP sen rrkt 79

Hình 85: Kết qua Attacker thực hiện thực thi lệnh backdoor VSFTPD v2.3.4 lần 1

—- 79

Hình 86: Kết qua Attacker thực hiện thực thi lệnh backdoor VSFTPD v2.3.4 lần 2 và

bi 80

Hình 87: Những honeypot được triển khai trong Honeypot cluster trong kịch bản thực

thi lệnh backdoor UnrealIRCD 3.2.8.1 + 111111115251 1111185551112 80

Hình 88: Màn hình giám sát trước khi cuộc tấn công thực thi lệnh backdoor

UnrealIRCD 3.2.8.1 diễn ra - ¿c5 + + 211323231818 E3E5E5EEEEEEE5E511E11E1EEEEEE 1E Eeree 81

Hình 89: Lưu lượng truy cap tại S€TV€T -cc 1H SH HH TH ng ng 81

Trang 12

Hình 90: Lưu lượng truy cập tại honeypot Metasploitable2 - -« «+2 82

Hình 91: Sử dụng mô-đun exploit/unix/irc/unreal_ircd_3281_backdoor 82

Hình 92: Thiết lập thông số cho mô-đun exploit/unix/irc/unreal_ircd_3281_backdoor

và tiến hành khai thác -. -++¿++2©++++ttEEEkttrEEEkrtttErrrttirrrrriirrrriirrrrrieg 82

Hình 93: Màn hình giám sát sau khi cuộc tan công diễn ra -:- + 83

Hình 94: Lưu lượng truy cập tại Š€TV€T - c cv HH HH TH ng net 83

Hình 95: Lưu lượng truy cập tại honeypot Metasploitable2 - -« «+2 84

Hình 96: Kết quả Attacker thực hiện tấn công thực thi lệnh backdoor UnrealIRCD3.2.8.1 đến Server lần l +2+cctth nh He 84

Hình 97: Kết qua Attacker thực hiện tan công thực thi lệnh backdoor UnrealIRCD

kznn ca 84

Hình 98: Lưu lượng truy cập tai honeypot MetasploItable2 - « «++sss++ 85

Hình 99: Những honeypot được triển khai trong Honeypot cluster trong kịch bản thựchiện nhiều loại tắn công cùng một thời điỀm -¿- 2¿+¿2+2+++£x++zxzseersz 85

Hình 100: Màn hình giám sát trước khi 2 cuộc tan công diễn ra - -.: - 86

Hình 101: Màn hình giám sát sau khi 2 cuộc tấn công diễn ra - 87

Hinh 102: Tan công thực thi lệnh backdoor VSFTPD v2.3.4 lần 1 trong kich ban 10

Hình 106: Lưu lượng truy cập tai honeypot (trong Honeypot cluster) khi Attacker tan

công ICMP flood Server với 10000 gói tIn 5 5 2+ +1 net 93

Hình 107: Hiệu năng máy KLTN khi triển khai toàn bộ hệ thống một cách toàn diện(toàn bộ honeypot) và 4 cửa số giám sát đều bật ¿+ s+cs+czezeereee 101Hình 108: Biểu đồ tài nguyên CPU trước và sau khi tắt cửa số giám sát I 102

Trang 13

Hình 109: Biéu đồ tài nguyên CPU trước và sau khi tắt cửa sô giám sát 2Hình 110: Biéu đồ tài nguyên CPU trước và sau khi tắt cửa số giám sát 3Hình 111: Biéu đồ tài nguyên CPU trước và sau khi tắt cửa s6 giám sát 4

Trang 14

DANH MỤC BANG

Bang 1: Thông tin hệ thống của máy ảo KL/TN - 2 2 2+s+x+£E+£x+z+zzszse2 32Bảng 2: Bảng thông tin tổng quan về các kịch bản thử nghiệm sẽ được thực hiện 47Bảng 3: Bảng danh sách honeypot trong tệp cấu hình -¿- ¿s22 89Bang 4: Bang đánh giá thời gian cần thiết dé triển khai mới từng honeypot trong tệp

cấu hình -+2©+++++t222211111t.12.T.1 1 HH He 90

Bảng 5: Bảng đánh giá thời gian cần thiết để triển khai thêm từng honeypot trong tệpcấu hình vào Honeypot €ÏUS{€T ¿- ¿+ SE £+E£+E££E£EE£EESEEEEEEEEEEEEEErEerkrrkrrkrree 91Bảng 6: Bảng đánh giá thời gian cần thiết để xóa bỏ từng honeypot trong tệp cau hình

khỏi Honeypot cluster «11 1 1 vn TT TH TH Hà HH HH TH rệt 91

Bang 7: Bang đánh giá thới gian phục hồi trang thái mặc định của từng honeypottrong tệp cau hình khi đang được triển khai trong Honeypot cluster 92Bang 8: Bang thống kê độ trễ phản hồi của phương pháp đề xuất đối với kịch bản thử

Bảng 13: Bang thống kê độ trễ phản hồi của phương pháp đề xuất đối với kịch bản

ther nghiM 10 eee 99

Bang 14: Bang thống kê một vai chi số về hiệu năng khi thực hiện triển khai containertại máy KLTN một cách toàn diện (toàn bộ honeypot) và 4 cửa số giám sat đều bật

Trang 15

DANH MỤC TU VIET TAT

CPU: Central Processing Unit — đơn vị xử lý trung tâm

FTP: File Transfer Protocol — giao thức truyền tập tin

ICMP: Internet Control Message Protocol — giao thức thông báo kiểm soát Internet

IP: Internet Protocol — giao thức Internet

OVS: Open vSwitch

SQL: Structured query language — ngôn ngữ truy van có cầu trúc

TCP: Transmission Control Protocol — giao thức điều khiển truyền dẫn

UDP: User Datagram Protocol — giao thức gói dữ liệu người dùng

Trang 16

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

Trong những năm qua, nhiều giải pháp honeypot đã được đề xuất nhưng chúng đều gặp phải một nhược điểm lớn khi nói đến khả năng triển khai [1] Tất cả chúng đều

có dạng tập lệnh độc lập hoặc tập hợp các thành phần phần mềm cần được triển khai

và giám sát theo cách thủ công Điều này làm cho honeypot trở nên thiếu hap dẫn đối với người quản trị.

Từ đó, trong phạm vi đề tài nghiên cứu này, tác giả sẽ nghiên cứu, xây dựng một giải pháp triển khai honeypot theo nhu cầu một cách tự động và chuyển hướng lưu lượng truy cập độc hại phát hiện được đến honeypot Tác giả sẽ đề xuất kịch bản thử nghiệm

mà kẻ tấn công sẽ được chuyển hướng tới honeypot bảo vệ mục tiêu thực sự khỏi sự tan công.

Khóa luận này đề xuất phương pháp sử dụng tệp câu hình cùng với chế độ Swarm của Docker dé triển khai honeypot theo nhu cầu một cách tự động và đề xuất phương pháp dùng OVS đề chuyển hướng lưu lượng truy cập độc hại phát hiện được đến

honeypot.

Kết quả cho thấy, phương pháp được đề xuất trong khóa luận là chính xác: Sử dụng tệp cấu hình cùng với chế độ Swarm của Docker có thê triển khai honeypot theo nhu cầu một cách tự động, dùng OVS có thé thực hiện chuyền hướng lưu lượng truy cập độc hại phát hiện được đến honeypot.

Trang 17

Chương 1 MỞ DAU

1.1 Giới thiệu đề tài

Trong những năm vừa qua, nhiều giải pháp bảo mật đã được phát triển nhằm phát hiện, phòng chống các cuộc tắn công vào hệ thống công nghệ thông tin mà các công

ty, tổ chức đang phải đối mặt Cụ thể là tường lửa với chức năng bảo vệ, ngăn chặn các hoạt động của kẻ tan công, hệ thống phát hiện xâm nhập nhằm phát hiện các xâm nhập, cũng như có các hành động phòng chống lại các xâm nhập đó như hệ thống ngăn chặn xâm nhập, hoặc giảm thiểu ảnh hưởng của các cuộc xâm nhập Tuy nhiên, với sự phát triển của tội phạm công nghệ thông tin, việc phạm tội ngày càng đa dạng

về cả số lượng và phương thức thì hệ thống phát hiện xâm nhập dựa trên các dấu hiệu được định nghĩa trước sẽ không thé phát hiện ra vì trong cơ sở dữ liệu của tường lửa, IDS không có dấu hiệu dé nhận ra các tấn công này Do đó, để bảo vệ hệ thống mạng, người quản trị cần liên tục cập nhật thông tin về các lỗ hong, các phương thức của kẻ tan công Ngày nay, nhiều tô chức phi lợi nhuận, giáo dục sử dụng hệ thống gọi là honeypot để nghiên cứu về chiến lược, cách thức của các nhóm tin tặc để chống lại

họ.

Honeypot là một cơ chế an ninh mạng tạo sẵn các mục tiêu tấn công để thu hút kẻ tắn công tránh xa các mục tiêu hợp pháp Honeypot thu thập thông tin tình báo về danh tính, phương pháp và động cơ của kẻ tắn công Thông tin tình báo thu thập được từ honeypot rất hữu ích trong việc giúp các tổ chức phát triển và nâng cao chiến lược an ninh mạng nhằm đối phó với các mối đe dọa trong tương lai và xác định các điểm mù tiềm 4n trong kiến trúc, thông tin và an ninh mạng hiện có.

Trang 18

Honeypot

Hình 1: Ví dụ về mô hình áp dung honeypot Hình | là mô hình áp dung honeypot cho máy chủ và máy chủ web đề bảo vệ hai máy chủ vì hai máy chủ này nằm ở khu vực nhạy cảm do được công khai với mạng bên

ngoài.

1.2 Mục đích xây dựng dé tai

Đề tài nghiên cứu này sẽ giúp xây dựng một giải pháp triển khai honeypot theo nhu cầu một cách tự động và chuyền hướng lưu lượng truy cập độc hại phát hiện được đến honeypot nhằm phát hiện các cuộc tấn công mạng và tận dụng tài nguyên hệ thống Từ đó, chúng ta có thé đưa ra giải pháp bảo mật một cách tốt nhất có thể.

Nghiên cứu này góp phan hỗ trợ cho hệ thống mạng trong tương lai khi nó có thé

được ứng dụng rộng rãi.

1.3 Đối tượng và phạm vi nghiên cứu

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

Với mục địch xây dựng một giải pháp triển khai honeypot theo nhu cầu một cách tự động và chuyền hướng lưu lượng truy cập độc hại phát hiện được đến honeypot, đề tài nghiên cứu này gồm 3 đối tượng:

— Hệ thống honeypot.

— Công cụ hỗ trợ triển khai honeypot tự động.

— Công cụ hỗ trợ điều hướng lưu lượng truy cập.

Trang 19

1.3.2 Phạm vi nghiên cứu

Với mục đích xây dựng một giải pháp triển khai honeypot theo nhu cầu một cách tự động và chuyển hướng lưu lượng truy cập độc hại phát hiện được đến honeypot, phạm

vi nghiên cứu của đề tài nghiên cứu này bao gồm:

— Tìm hiểu cách thức hoạt động và triển khai tự động của honeypot.

— Xây dựng phương pháp để triển khai honeypot theo nhu cầu một cách tự động.

— Xây dựng cơ chế chuyền hướng lưu lượng truy cập đến honeypot được tao.

— Xây dựng kịch ban dé thử nghiệm phương pháp đã đề xuất và đánh giá hệ thống

dựa trên kết quả thử nghiệm.

1.4 Cấu trúc khóa luận

Nội dung báo cáo khóa luận gồm 7 chương, cung cấp lần lượt từng phần kiến thức để người đọc có thé hiểu được những gì tác giả đang nghiên cứu và thực hiện:

Chương 1: Mớ đầu: Giới thiệu về dé tài, mục đích xây dựng đề tài, đối tượng và phạm vi nghiên cứu của đề tài, cầu trúc của khóa luận.

Chương 2: Cơ sở lý thuyết và các nghiên cứu liên quan: Cơ sở lý thuyết cho phương pháp giải quyết van đề được dé xuất trong khóa luận.

Chương 3: Phương pháp đề xuất: Đề xuất phương pháp giải quyết vấn dé trong khóa luận.

Chương 4: Triển khai đề tài: Triển khai đề tài khóa luận dựa trên phương pháp

đã đề xuất.

Chương 5: Thực nghiệm và đánh giá: Thực nghiệm triển khai đề tài khóa luận

và các kịch bản thử nghiệm Đánh giá triển khai đề tài dựa trên kết quả triển khai

và kết quả các kịch bản thử nghiệm.

Chương 6: Kết luận và hướng phát triển: Trình bày những điều đã làm trong khóa luận, kết quả đạt được, những đóng góp mới và những dé xuất mới cho khóa luận.

Chương 7: Tài liệu tham khảo: Danh mục tài liệu tham khảo được sử dụng trong khóa luận.

Trang 20

Chương 2 CƠ SỞ LÝ THUYET VÀ CÁC NGHIÊN CỨU LIEN QUAN

2.1 Cơ sở lý thuyết

2.1.1 Honeypot

Thuật ngữ “honeypot” được Lance Spitzner nhắc đến lần đầu vào 04/08/1999, trong

“To Buil a Honeypot” [2] Lance Spitzner là một trong những người thành lập dự án

honeynet Dự án này nghiên cứu các hành vi, kỹ thuật tắn công của tin tặc dé có các biện pháp ngăn chặn tấn công kịp thời.

2.1.1.1 Khái niệm

Honeypot (được hiéu theo nghĩa tiếng Việt là bẫy mật) là một loại cam bay, mdi nhử.

Nó là một hệ thống có nhiều lỗ hỗng nhằm thu hút các cuộc tấn công mạng từ tin tặc.

Nó bắt chước mục tiêu của tin tặc và sử dụng sự xâm nhập của tin tặc để thu thập thông tin về tội phạm mạng và cách chúng hoạt động hoặc đánh lạc hướng tội phạm

mạng khỏi các mục tiêu khác.

Vi dụ: Hệ thống honeypot chạy Microsoft Exchange Server với dữ liệu giả dé theo dõi hoạt động khai thác các lỗ hông đã được công bó, phát hiện các lỗ hồng mới

2.1.1.2 Phan loại Phân loại honeypot theo mức độ tương tác

Theo mức độ tương tác, honeypot được chia làm hai loại chính: Honeypot tương tác

thấp và honeypot tương tác cao.

— Honeypot tương tác cao: Đây là kiểu honeypot phức tạp Honeypot tương tác

cao là các dịch vụ, ứng dụng và hệ điều hành thực Loại này có khả năng thu thập thông tin cao nhưng rủi ro cao, tốn chỉ phí và thời gian để vận hành và bảo đưỡng.

— Honeypot tương tác thấp: Đây là kiểu honeypot đơn giản, sử dụng ít tài nguyên.

Honeypot tương tác thấp tạo bản sao giả mô phỏng theo các dịch vụ, ứng dụng và

hệ điều hành Loại này dễ triển khai và bảo trì nhưng bị giới hạn về dịch vụ.

Một vài ví dụ về honeypot tương tác thấp:

Trang 21

— Honeyd: Honeyd thuộc loại honeypot tương tác thấp có thé gia lập nhiều hệ điều

hành khác nhau cùng một lúc Nhược điểm của Honeyd là không thé cung cấp một hệ điều hành thật và không có cơ chế cảnh báo khi phát hiện xâm nhập.

— BackOfficer Friendly (gọi tắt là BOF): BackOfficer Friendly là một trong

những loại honeypot dé sử dụng nhất nhưng chỉ tương tác được với một số dịch

vụ đơn giản như FTP, Telnet, SMTP

— Specter: Specter thuộc loại honeypot tuong tac thap được gia lập trên 14 cổng, có

thể cảnh báo và quản lý từ xa Specter bị giới hạn số dich vụ giống với BackOfficer Friendly.

Phân loại honeypot theo mục đích sử dụng

Theo mục đích sử dụng, honeypot đượcchia làm nhiều loại tùy thuộc vào mục đích

sử dụng như honeypot thư rác, honeypot cơ sở dữ liệu, honeypot phần mềm độc hại

và nhiều honeypot khác.

— Honeypot thư rác: Honeypot thu rác chèn một địa chỉ thư điện tử giả vào một

trường ân mà người dùng thông thường không tìm thấy nhưng các công cụ thu

thập dữ liệu có thé tìm ra Địa chi thư điện tử này là một cái bay chi để nhận thư

điện tử rác Khi những thư điện tử rác được gửi vào địa chỉ này dữ liệu sẽ được

phân tích và thu thập đề đưa vào bộ lọc nhằm ngăn chặn người dùng nhận được

những thư điện tử tương tự.

— Honeypot cơ sở dữ liệu: Honeypot cơ sở dữ liệu là một bộ dữ liệu giả, có lỗ hong.

Nó được tạo ra dé dẫn dụ và theo dõi những cuộc tấn công liên quan đến việc khai thác cơ sở dữ liệu.

— Honeypot phần mềm độc hai: Honeypot phần mềm độc hại thường được sử dụng

bởi các công ty chuyên về bảo mật, các chuyên gia nghiên cứu mã độc với mục

đích phát hiện mã độc.

— Honeypot nhện: Honeypot nhện tạo những trang web, liên kết mà chi các trình

thu thập dữ liệu web (trình thu thập thông tin) có thể truy cập Sau đó, honeypot nhện dùng thông tin thu thập được để chặn các trình thu thập dtr liệu web (trình thu thập thông tin) độc hại.

2.1.1.3 Loi ích và rủi ro khi sử dung honeypot Những lợi ích khi sử dụng honeypot

— Phân tích dé dàng: Kẻ tn công bị giới hạn lưu lượng truy cập trong honeypot

nên nhóm an ninh mạng không phải tách các tác nhân độc hại khỏi lưu lượng truy cập hợp pháp Lưu lượng truy cập trong honeypot đều là độc hại Do đó, nhóm an ninh mạng có thé tập trung phân tích hành vi của tội phạm mạng Từ đó:

o Theo dõi được quá trình và kỹ thuật mà những kẻ tan công sử dụng.

o Thu thập thông tin về những kẻ tấn công.

n

Trang 22

o Đưa ra biện pháp phòng thủ dựa trên thông tin thu được.

o_ Đánh lạc hướng, làm mat thời gian những kẻ tấn công.

o Giúp phát hiện sớm những nguy cơ tiềm an.

— Tiến hóa liên tục: Honeypot thu thập thông tin một cách liên tục, ghi lại các cuộc

tan công và cách chúng phát triển theo thời gian Điều đó mang đến cơ hội thay

đi, cải tiến các biện pháp an ninh dé phù hợp với nhu cầu của bối cảnh.

— Nhận dạng mối đe dọa nội bộ: Honeypot có thé xác định cả các mối de doa bảo

mật bên trong và bên ngoài Tuy nhiều honeypot tập trung vào những rủi ro đến

từ bên ngoài của tổ chức nhưng một số honeypot có thê thu hút các tác nhần bên trong đang có truy cập vào dit liệu, thông tin nhạy cảm của tô chức.

Những rủi ro khi sử dung honeypot

— Cấu hình sai: Honeypot không được bảo mật tốt có thé bị lợi dung dé tan công

vào hệ thống thật của tổ chức.

— Triển khai cô lập: Honeypot được triển khai một cách cô lập nên sẽ không đảm

bảo hiệu quả trước một số méi de doa và rủi ro

— Bị phát hiện: Tội phạm mạng cũng có thé sử dụng honeypot giống như các tô

chức Do đó, honeypot vẫn có thê bị những kẻ tan công có kinh nghiệm phát hiện

Nếu honeypot bị phát hiện, kẻ tấn công có thể cung cấp thông tin sai lệch cho

honeypot gây nhằm lẫn cho quá trình phân tích nhằm đánh lạc hướng.

dụng chưa kể việc không đồng nhất giữa các môi trường trên nhiều máy chủ khác

nhau Docker được ra đời dé giải quyết van dé này

2.1.3.1 Khai niệm Docker

Docker là một nền tang cho nhà phát triển và quản trị viên hệ thong dé phát triển,triển khai và khởi chạy ứng dụng với container Container là môi trường độc lập vàtách biệt dé khởi chạy và phát triển ứng dụng Khi cần triển khai lên bat kì máy chủnào chỉ cần khởi chạy Docker container thì ứng dụng sẽ được khởi chạy ngay lập tức

Trang 23

2.1.3.2 Khai niệm Docker Swarm

Trong quá trình phát triển, quan lí, thay đổi quy mô, triển khai dự án, một dự án nhỏchỉ cần chạy một máy chủ nên không có vấn đề gì cả Tuy nhiên, khi dự án đó cầnthêm nhiều máy chủ hoặc rất nhiều máy chủ, chúng ta khó có thể quản lí, thay đổiquy mô và cũng không thể nào dùng lệnh để triển khai lên từng máy chủ vì điều đó

rất vất vả và vì mỗi máy chủ không hoàn toàn giống nhau về môi trường nên có thê

gặp lỗi trong quá trình triển khai Do đó, Docker đã phát triển Docker Swarm đề hỗtrợ việc phát triển, quản li, thay đổi quy mô, triển khai dự án bang công nghệ container

hóa.

Docker Swarm là một công cụ được sử dụng dé thiết lập và triển khai một cụm gồmmột hoặc nhiều nút được chạy trên các ứng dụng Docker Docker Swarm có nhữngtính năng dé hỗ trợ điều phối và quản lí cum khi các container trong cụm chạy trênmôi trường phân tán và đảm bảo các container trong một cụm hoạt động ồn định

2.1.3.3 Tính năng nỗi bật của Docker Swarm

Quản lý cụm tích hợp với Docker Engine: Quan lí cụm với Docker Engine bằngviệc sử dụng Docker Engine CLI đề tạo Swarm

Khám pha dịch vu: Swarm manager gán mỗi dịch vụ một hệ thống phân giải tênmiễn duy nhất và có thé truy van được thông qua hệ thong phân giải tên miền này

Bảo mật theo mặc định: Các dịch vụ giao tiếp với nhau thông qua giao thức bảo mậttầng vận chuyền

Cập nhật liên tục: Swarm cập nhật image của dịch vụ một cách hoàn toàn tự động

và có thé quay trở lại phiên bản trước đó bat cứ lúc nào

Cân bằng tải: Có thể công khai các cổng cho các dịch vụ tới cân bằng tải để giao

tiếp với bên ngoài

Hòa giải trạng thái mong muốn: Khắc phục sự cố khi các bản sao của dịch vụ ởtính trạng không mong muốn Ví dụ: Một vài bản sao của một dịch vụ bị sập, Swarm

Trang 24

manager sẽ tạo một sô lượng bản sao mới băng với sô lượng bản sao bị sập và phân

phôi các bản sao này đên cho nút worker.

Mạng đa máy chủ: Chỉ định mạng phủ cho các dịch vụ của mình Nút manager sẽ

tự động gán địa chỉ IP cho các container trong mạng phủ khi nó khởi tạo và cập nhật ứng dụng.

Thiết kế phi tập trung: Docker Swarm được thiết kế dạng phân cấp Thay vì xử lí

sự khác biệt giữa các vai trò của nút tại thời điểm triển khai, Docker Engine xử lí bất

kì chuyên môn hoá nào khi thực hiện Hai loại nút có thé triển khai: Manager và

Kiên trúc của Docker Swarm bao gôm nút manager và nút worker Có thê khai báo

trang thái mong muôn của nhiêu dịch vụ chạy trong Swarm băng cách sử dụng tệp

YAML.

Oy ⁄ mỊ | | [II] (wi)

SS Se >5 ES si

Hình 2: Hình minh hoạ kiến trúc Swarm

Trong Hình 2 và Hình 3, kiến trúc Swarm bao gồm các thành phần cơ bản như:

— Swarm: Một cụm của một hoặc nhiều Docker Engine đang chạy (cu thé ở đây là

các nút) trong chê độ Swarm Thay vì chạy các container băng câu lệnh một cách

Trang 25

riêng lẻ và không có tổ chức thì chế độ Swarm sẽ phân bồ và quản lý các bản sao

của dịch vụ tới các nút.

— Nút: Một nút là một máy vật lý hoặc máy ảo đang chạy Docker Engine trong chế

độ Swarm Nút gồm hai loại: Nút manager và nút worker

o Nút manager: Nút định nghĩa dịch vụ Nó quản ly và điều phối các bản

sao của dịch vụ đến nút worker Mặc định, nút manager cũng được xem là

nút worker.

o Nút worker: Nút nhận và thực thi các ban sao từ nút manager.

— Dịch vụ: Một dịch vụ xác định image của container và số lượng các bản sao mong

muốn khởi chạy trong Swarm

( Docker

Daemon

‘Swarm Node Swarm Node

Một số hoạt động cơ bản của Docker Swarm trong Hình 3: Nút manager gửi nhiệm

vụ đến nút worker có trong cụm Nút worker chấp nhận, thực thi nhiệm vụ từ nút

manager đồng thời báo cáo trạng thái của nhiệm vụ đến nút manager

2.1.4 OVS

2.1.4.1 Khai niệm OVS

OVS là một dự án phần mềm switch mã nguồn mở về chuyên mạch ảo đa lớp Mụcđích chính của OpenvSwitch là cung cấp chuyển mạch đa lớp cho môi trường ảo hóaphần cứng

OVS thường được sử dụng dé kết nối các máy ảo, container trong một máy chủ

Trang 26

2.1.4.2 Tinh năng nỗi bat của OVSOVS gồm nhiều tính năng nổi bật như:

— Gắn thẻ mạng cục bộ ảo và 802.1q trunking

— Hỗ trợ giao thức đường ham

— Hỗ trợ giao thức kiểm soát tập hợp liên kết

— _ Hỗ trợ kiểm soát chat lượng dịch vụ

— Hỗ trợ xuất luồng

2.1.4.3 Kién trúc của OVS

ovsdb-server ovs-vswitchd

“er Management Protocol (6632/TCP)

4= OpenFlow (6633/TCP) OVS Kernel Module

== Netlink

Hình 4: Hình minh hoa kiến trúc tong quan của OVS

Ba thành phần chính của OVS (được minh họa trong Hình 4):

— ovs-vswitchd:

oO vswitchd là OVS daemon chạy trong không gian người dùng

ovs-vswitchd thực hiện chuyên đổi các luồng chuyển mạch

o Công cụ tương tác: ovs-dpctl, ovs-appctl, ovs-ofctl, sFlow Trend.

— ovsdb-server:

o ovsdb-server là máy chủ cơ sở dữ liệu cua OVS chạy trong không gian người

dùng.

o Công cụ tương tác: ovs-vsctl, ovsdb-client.

— Mô-đun nhân OVS (đường dẫn dữ liệu): Là mô-đun thuộc không gian nhân,

thực hiện công việc chuyền tiếp gói tin

10

Trang 27

2.1.4.4 Cac thành phan của OVS

vswitchd

vswitchd là daemon của OVS chạy trong không gian người dùng Nó đọc cấu hình

của OVS từ ovsdb-server thông qua kênh giao tiếp giữa các quá trình và đây cauhình xuống cầu nối (là các thực thể của thư viện ofproto) Nó cũng đầy trạng thái và

thông tin thông kê từ câu nôi vào trong cơ sở dữ liệu.

Hình 5: Hình minh hoạ mối liên quan giữa các thành phan trong OVS

Từ Hình 5, vswitchd giao tiếp với:

— “Thế giới bên ngoài” sử dụng OpenFlow

— ovsdb-server sử dung giao thức cơ sở dữ liệu Open vSwitch.

— Nhân thông qua netlink.

— Hệ thông thông qua giao diện trừu tượng là netdev.

ovsdb

Những cấu hình tạm thời (ví dụ như luồng) được lưu trong đường dẫn dữ liệu vàvswitchd Những cấu hình bền vững sẽ được lưu trữ trong ovsdb và vẫn lưu giữ khisau khi khởi động lại hệ thống Các cấu hình này bao gồm cấu hình về cau nối, công,giao diện như trong Hình 6.

ovsdb-server cung cap giao diện gọi thủ tục từ xa tới ovsdb ovsdb-server đóng vai

trò như một máy chủ sao lưu hoặc như một máy chủ hoạt động.

11

Trang 28

luồng OpenFlow Hiệu năng cao đạt được ở đây là vì thực tế hầu hết các gối tin sẽ

khớp với luồng tại đường dẫn dữ liệu và do đó sẽ được xử lý trực tiếp tại không gian

nhân.

Nếu gói tin khớp với một luồng đã tồn tại, đường dẫn dữ liệu sẽ thực thi các hành

động trên gói tin nhận được Nếu gói tin không khớp với bất kì luồng nào, gói tin sẽđược chuyền lên ovs-vswitchd Nếu khớp với luồng tại vswitchd thành công thi nó

sẽ gửi gói tin lại cho đường dẫn dữ liệu kèm theo các hành động tương ứng dé xử lýgói tin đồng thời thực hiện lưu trữ lại luồng đó vào đường dẫn dữ liệu dé đường dẫn

dữ liệu xử lý những gói tin cùng loại đến tiếp sau

Phân loại đường dẫn dữ liệu mà OVS hỗ trợ:

— Linux upstream: Linux upstream là đường dẫn dữ liệu được triển khai bởi

mô-đun của nhân đi cùng với bản phát hành Linux.

— Cây Linux OVS: Cây Linux OVS là đường dẫn dữ liệu được triển khai bởi

mô-đun của nhân phát hành cùng với cây mã nguồn của OVS Một số tính năng củamô-đun này có thể không hỗ trợ với các phiên bản nhân cũ Khi đó, phiên bản nhân Linux tối thiểu sẽ được đưa ra dé tránh bị biên dịch lỗi.

— Đường dẫn dữ liệu không gian người dùng: Đường dẫn dữ liệu cho phép xử lý

và chuyên tiếp gói tin ở không gian người dùng.

12

Trang 29

— Hyper-V: Hyper-V còn gọi là đường dẫn dữ liệu Window.

2.1.4.5 Xử lí gói tin trong OVS

Hình 7: Hình minh hoạ cách OVS xử lí gói tin

Bộ điều khiển OpenFlow chịu trách nhiệm hướng dẫn cho đường dẫn dữ liệu biết làmsao xử lý các loại gói khác nhau, hay còn gọi là luồng Một luồng mô tả hành động

mà đường dẫn dữ liệu thực hiện để xử lý các gói tin của cùng một loại như thế nào,hay còn được gọi là hành động Các kiểu hành động bao gồm chuyền tiếp tới công

khác, thay đối thẻ vlan, Quá trình tìm kiếm luồng khớp với gói tin nhận được gọi là

so khớp luồng

Nhằm mục đích đạt hiệu năng tốt, một phần của luồng được lưu trữ trong đường dẫn

dữ liệu, và phân còn lại ở vswitchd.

Một gói tin đi vào đường dẫn dữ liệu OVS sau khi nó được nhận trên một thẻ mạng.

Nếu gói tin khớp với luồng nào đó trong đường dẫn dữ liệu thì đường dẫn dữ liệu sẽthực thi hành động tương ứng mô tả trong luồng Nếu không khớp với bất kỳ luồngnào, đường dẫn dữ liệu sẽ gửi gói tin lên vswitchd và tiến trình so khớp luồng khácđược xử lý tại đây Sau khi vswitchd xác định làm sao dé xử lý gói tin, nó gửi trả gói

13

Trang 30

tin lại cho đường dẫn dữ liệu cùng với yêu cầu xử lý Đồng thời, vswitchd cũng yêu

cầu đường dẫn dữ liệu lưu trữ lại luồng dé xử lý các gói tin tương tự sau đó

ovs-vsctl: Tiện ích chính sử dụng dé quản lý các switch, nó tương tác với

ovsdb-server để lưu cấu hình vào cơ sở dữ liệu của OVS ovs-vsctl thực hiện truy vấn và ápdụng các thay đổi vào cơ sở dữ liệu tùy thuộc vào lệnh được thực hiện ovsdb-servergiao tiếp với ovs-vswitchd qua giao thức cơ sở dữ liệu OVS Nếu ovs-vsctl áp dụngbat kì thay đổi nào thì mặc định nó sẽ đợi ovs-vswitchd kết thúc việc tái cấu hình lại

switch.

appctl: Công cụ dé quan lý vswitchd Nó gửi một số lệnh nội bộ tới vswitchd dé thay đối một số cau hình và in ra phản hồi từ ovs-vswitchd ovs-vswitchdđồng thời cũng lưu lại các cấu hình này vào cơ sở đữ liệu bằng việc tương tác với

ovs-ovsdb-server thông qua Unix domain socket.

14

Trang 31

ovs-dpctl: Khi ta cần quản lý đường dẫn dữ liệu trong nhân trực tiếp mà ovsdb-server

không thé thực hiện, ta có thé sử dụng ovs-dpctl tương tác với ovs-vswitchd dé quan

lý đường dẫn dữ liệu trong không gian nhân trực tiếp mà không cần cơ sở dữ liệu

ovsdb-client và ovsdb-tool: Sử dụng ovsdb-client khi can giao tiếp với ovsdb-server

dé thực hiện một số thao tác với cơ sở dữ liệu Sử dụng ovsdb-tool khi cần xử lý cơ

sở dữ liệu trực tiếp không thông qua ovsdb-server

ovs-ofctl và sFlowTrend: OVS có thé được quản trị và giám sát bởi một bộ điềukhiển từ xa OVS hỗ trợ cả sFlow và OpenFlow sFlow là giao thức dé lấy mẫu gói

tin và giám sát OpenFlow là giao thức dé quản lý bảng luồng của switch, cầu nốihoặc thiết bị Với ovs-ofctl, ta có thé sử dụng OpenFlow đề kết nối với switch, thựchiện giám sát và quản trị từ xa sFlowTrend không phải là thành phần của OVS mà

là phần mềm độc lập hỗ trợ giám sát sử dụng sFlow

2.1.5 Snort

2.1.5.1 Giới thiệu về Snort

Snort [3] là phần mềm hệ thống phát hiện và ngăn chặn xâm nhập được phát triển bởiMartin Roesh dưới dang mã nguồn mở

Snort là một hệ thong phát hiện và ngăn chặn xâm nhập dựa vào mạng mã nguồn mở,với phân loại là hệ thong phát hiện và ngăn chặn xâm nhập dựa vào mang dựa trênchữ ký Snort ban đầu được xây dựng trên nền Unix nhưng sau đó phát triển sang cácnền tảng khác Snort được đánh giá rất cao về khả năng phát hiện xâm nhập TuySnort miễn phí nhưng nó lại có rất nhiều khả năng tuyệt vời Với kiến trúc mô-đun,

người dùng có thé tự tăng cường tính năng cho hệ thống Snort của minh Snort có thé

chạy trên nhiều hệ thống như Windows, Linux, OpenBSD, FreeBSD, Solaris

2.1.5.2 Kiến trúc của SnortSnort bao gồm nhiều thành phần, mỗi phần có một chức năng riêng biệt:

— Mô-đun giải mã gói tin.

— Mô-đun tiên xử lí.

15

Trang 32

— Mô-ẩđun phát hiện.

— Mô-đun nhật ky và cảnh báo.

— Mô-đun kết xuât thông tin.

Hình 9: Kiến trúc của Snort qua mô hình vòng đời của một gói tin khi di qua Snort

Khi Snort hoạt động, nó sẽ lắng nghe tat cả các gói tin di chuyển qua nó Các gói tinsau khi bị bắt sẽ được đưa vào mô-đun giải mã Tiếp theo sẽ vào mô-đun tiền xử lí vàrồi mô-đun phát hiện Tại đây, tuỳ vào việc có phát hiện được xâm nhập hay không

mà gói tin có thê được thông qua hoặc đưa vào mô-đun nhật ký và cảnh báo xử lí.Khi các cảnh báo được xác định, mô-đun kết xuất thông tin sẽ thực hiện việc đưa ra

cảnh báo theo đúng định dạng mong muốn

Mô-äun giải mã gói tin

Snort chỉ sử dụng thư viện pcap đề bắt mọi gói tin trên mạng lưu thông qua hệ thống

Một gói tin sau khi được giải mã sẽ được đưa tiếp vào mô-đun tiền xử lí

Mô-đun tiền xử lí

Mô-đun này rất quan trọng đối với bat kì hệ thống nao dé có thể chuẩn bị gói dữ liệu

đưa vào cho mô-đun phát hiện phân tích Ba nhiệm vụ chính như sau:

16

Trang 33

— Kết hợp lại các gói tin: Khi một đữ liệu lớn được gửi đi, thông tin sẽ không đóng

gói toàn bộ vào một gói tin mà thực hiện phân mảnh, chia thành nhiều gói tin rồi mới gửi đi Khi Snort nhận được các gói tin này, nó phải thực hiện kết nối lại để

có gói tin ban đầu Mô-đun tiền xử lý giúp Snort có thể hiểu được các phiên làm

việc khác nhau.

— Giải mã và chuẩn hóa giao thức: Công việc phát hiện xâm nhập dựa trên dâu

hiệu nhận dạng nhiều khi thất bại khi kiểm tra các giao thức có dit liệu có thé được

biểu diễn dưới nhiều dạng khác nhau Ví dụ: Một máy chủ web có thé nhận nhiềudạng địa chỉ web: Dia chi web viết dưới dạng hexa/unicode, địa chỉ web chấpnhận dấu “/” hay “\” Nếu Snort chỉ thực hiện đơn thuần việc so sánh dữ liệu với

dau hiệu nhận dạng sẽ xảy ra tình trạng bỏ sót hành vi xâm nhập Do vậy, một sỐ Mô-đun tiền xử lý của Snort phải có nhiệm vụ giải mã và chỉnh sửa, sắp xếp lại

các thông tin đầu vào.

— Phát hiện các xâm nhập bắt thường: Các plugin dạng này thường dé xử lý với

các xâm nhập không thê hoặc rất khó phát hiện bằng các luật thông thường Phién

ban hiện tai cua Snort có đi kèm hai plugin giúp phát hiện xâm nhập bất thường

đó là portscan và bo (backoffice) Portscan dùng để đưa ra cảnh báo khi kẻ tấn

công thực hiện quét công dé tìm lỗ hồng Bo dùng dé đưa ra cảnh báo khi hệ thống

nhiễm trojan backoffice.

Mô-dun phat hiện

Đây là mô-đun quan trọng nhất của Snort Nó chịu trách nhiệm phát hiện các dấu hiệu

xâm nhập Mô-đun phát hiện sử dụng các luật được định nghĩa trước đó (do quản trị

viên định nghĩa) dé so sánh với dữ liệu thu thập được, từ đó xác định xem có xâm

nhập xảy ra hay không.

Một van dé quan trọng đối với mô-đun phát hiện và van dé thời gian xử lí gói tin: một

IDS thường nhận rất nhiều gói tin và bản thân nó cũng có rất nhiều luật xử lí Khi lưulượng truy cập quá lớn có thé xảy ra việc bỏ sót hoặc không phản hồi đúng lúc Khanăng xử lí của mô-đun phát hiện phụ thuộc nhiều vào yêu tố: Số lượng luật, tốc độ hệ

thống, băng thông mạng

Một mô-đun phát hiện có khả năng tách các phần của gói tin ra và áp dụng luật lên

từng phần của gói tin:

— IP.

— Tiêu dé ở tang vận chuyên: TCP, UDP.

— Tiêu dé ở tang ứng dụng: Hệ thống phân giải tên miễn, giao thức truyền siêu văn

bản, giao thức truyền tập tin

17

Trang 34

— Phan tải của gói tin.

Do các luật của Snort được đánh số thứ tự ưu tiên nên một gói tin khi bi phát hiện bởi

nhiêu luật khác nhau, cảnh báo được đưa ra theo luật có mức ưu tiên cao nhât.

Mô-đun nhật ký và cảnh báo

Tuy thuộc vào mô-đun phát hiện có nhận dạng được xâm nhập hay không mà gói tin

có thé bị ghi nhật ký hay đưa ra cảnh báo Các tệp nhật ký là các tệp dit liệu có théghi dưới nhiều định dạng khác nhau như tcpdump

Mô-đun kết xuất thông tin

Mô-đun này thực hiện các thao tác khác nhau tuy thuộc vào việc cấu hình lưu kết quảxuất ra như thế nào

— Ghi nhật ký.

— Ghi nhật ký hệ thông.

— Ghi cảnh báo vào cơ sở dữ liệu.

— Tạo tệp nhật ký ngôn ngữ đánh dâu mở rộng.

— Câu hình lại bộ định tuyên, tường lửa.

— Gửi các cảnh báo được gói trong gói tin sử dụng giao thức quan ly mạng đơn giản.

2.1.5.3 Kha năng của Snort Snort có các khả năng như sau:

— Phân tích lưu lượng truy cập theo thời gian thực.

— Ghi nhật ký các gói tin.

— Phân tích giao thức, tìm kiếm, so khớp nội dung

— Phát hiện tan công hoặc do thám dựa trên các luật và các thông tin phân tích được

2.1.5.4 Luật Snort

Luật của Snort định nghĩa các sự kiện, điêu kiện mà Snort cân quan tâm Ví dụ như

một tân công, và hành động nên thực hiện khi sự kiện xảy ra.

18

Trang 35

| Rule header BH

action protocol srclP srcport -> dstIP dst port ( Rule options )

| IP, port dich của traffic (cụ thé hoặc any)

i chiều đi của traffic (1 chiều -> hoặc 2 chiều <->)

| Ông IP, port nguồn của traffic (giá trị cụ thể hoặc any cho tắt cả)

e loại traffic (giao thức):

TCP, UDP, UCMP hay IP

¬=e hành động Snort cần thực hiện (alert, drop, log )

Hình 10: Cầu trúc của một luật Snort

Tùy chọn luật

Là phần trọng tâm trong khả năng phát hiện tấn công của Snort Chia làm nhiều tùychọn, quan trọng nhất là các tùy chọn phát hiện dùng dé phát hiện tan công Các tùy

chọn phân cách nhau bằng dấu “;” Mỗi tùy chọn có dạng

key: tham số 1[, tham số 2]

Vi dụ về một luật trong Snort: Snort phát thông điệp cảnh báo “ICMP detected” khiphát hiện có bat kì gói tin của máy nào ping tới 192.168.1.1

alert icmp any any -> 192.168.1.1 any (msg: “ICMP detected”;

sid: 100001)

Trong luật trên,

— Đặc điểm của lưu lượng truy cập:

o Giao thức: ICMP.

o_ Nguồn: Tất cả IP và cổng (bên trái dấu mũi tên)

o_ Dich: Tat cả các cổng của 192.168.1.1 (bên phải dấu mũi tên)

Trang 36

2.2 Các nghiên cứu liên quan

Trong quá trình nghiên cứu và phát triển, nhiều dự án về honeypot đã được thực hiện

Các dự án honeypot mã nguồn mở khác nhau [4] cung cấp các khả năng khác nhau:

— Xu hướng tan công ứng dụng web ngày càng tăng đã làm phát sinh các honeypot

liên quan: Django-admin-honeypot [5] lưu trữ các trang đăng nhập sai dé lưu ý

bat kỳ dấu hiệu độc hai nào

— Nodepot [6] (một honeypot NodeJS) và StrutsHoneypot [7] nhắm mục tiêu cụ thé

đến những kẻ tấn công đang tìm cách khai thác dịch vụ Apache Struts.

— Một số honeypot khác nhằm mục đích thu hút kẻ tan công dang tim cách nhắm

mục tiêu vào các thiết bị vật lý: ADBHoney [8] [9] mô phỏng Android chạy

Android Debug Bridge.

— KFSensor [10] [11] là một honeypot có độ trung thực (hay độ chân that) từ thấp

đến trung bình dành cho Windows, cung cấp nhiều dịch vụ chạy trên nhiều công

và thậm chí trên nhiều địa chỉ IP khác nhau.

— SIREN [12] hoạt động tương tự cho các hệ thống Linux, bao gồm cả hệ thống

ARM và có sẵn dưới dạng mã nguồn mở.

— HADES [13], được phát triển bởi Phòng thí nghiệm quốc gia Sandia (Sandia

National Laboratories), là một nền tảng honeynet quy mô lớn có khả năng bắt chước các mạng và hệ thống lớn, bao gồm khả năng phản chiếu toàn bộ mang và chuyên đổi nhanh chóng.

Các tác giả [1] đã đề xuất HoneyChart, một khuôn khổ cho honeypot tận dụngKubernetes dé tạo các mẫu honeypot từ các môi trường ảo hóa hiện có và triển khaicác honeypot phù hợp dựa trên các địch vụ mong muốn HoneyChart cho phép triểnkhai các honeypot được đóng gói trong container nhanh chóng và tự động.

Các tác giả [14] đề xuất các khả năng mới cho hệ thống thử nghiệm đánh lừa qua

mang dé thực hiện việc khởi tao honeypot theo nhu cau đối với hệ thống honeypot có

it tài nguyên Điều này cho phép các tài nguyên của honeypot được dùng một cáchlinh hoạt dé đáp ứng với các hành động đối kháng được phát hiện Trong [14], các

tác giả đã thực hiện một nghiên cứu và phân tích hiệu suất của hệ thống thử nghiệm

đánh lừa qua mạng khi được đặt nội tuyến trên mạng Họ cũng sử dụng hệ thống thửnghiệm đánh lừa qua mạng dé chuyền hướng lưu lượng truy cập đến các honeynetkhác nhau Họ cho thấy rằng các cơ chế mà họ dé xuất có thé được sử dụng vì độ trễ

là không đáng chú ý Ngoài ra, các tác giả [14] cho thấy rằng các lần quét máy chủ

20

Trang 37

được chỉ định của Nmap có thé bị can trở trong quá trình quét, các đầu dò được gửiđến honeypot thay vì mục tiêu thực sự.

21

Trang 38

Chương 3 PHƯƠNG PHÁP DE XUẤT

Theo những nghiên cứu đã trình bày ở phần 2.2, các nghiên cứu này được nghiên cứumột cách riêng lẻ Do đó, trong phần này, tác giả sẽ đề xuất một giải pháp giải quyếtvân đề triển khai cụm honeypot (gồm một hoặc nhiều loại honeypot) theo nhu cầu

một cách tự động và chuyên hướng lưu lượng truy cập độc hại phát hiện được đến

các honeypot trong cụm honeypot.

Đề giải quyết van đề triển khai cụm honeypot theo nhu cầu một cách tự động, tác giảđưa ra giải pháp như sau:

— Sử dụng tệp cấu hình dé thực hiện triển khai theo nhu cầu Dùng tệp cấu hình là

phương pháp phô biến và được dùng nhiều vì tính thuận tiện, dé dàng, độc lập và

không phụ thuộc vào bất kỳ công cụ nào khác.

— Sử dụng công nghệ Docker container đề triển khai các loại honeypot khác nhau

vì công nghệ container không phụ thuộc vào môi trường triển khai và có thể triển khai một cách nhanh chóng.

— Tập hợp các lệnh cần thiết dé trién khai cum honeypot vào các tệp lệnh dé thực

hiện triển khai tự động Điều này giúp thực hiện các công việc cần thiết một cách

linh hoạt, nhanh chóng và thuận tiện.

Để giải quyết van đề chuyên hướng lưu lượng truy cập đến honeypot trong cụmhoneypot khi phát hiện tân công, tác giả đưa ra giải pháp như sau:

— Sử dụng công nghệ IDS đề phát hiện lưu lượng truy cập độc hại Công nghệ IDS

là công nghệ vô cùng nổi tiếng và chuyên dụng dé phát hiện lưu lượng truy cập

độc hại.

— KhiIDS phát hiện lưu lượng truy cập độc hại, OVS sẽ định luồng lưu lượng truy

cập đên honeypot phù hợp trong cụm honeypot.

3.1 Mô hình tổng quan

Trước khi đề xuất phương pháp, tác giả sẽ đưa ra một mô hình tổng quan cho việc áp

dụng phương pháp.

22

Trang 39

Attacker IDS

(Router)

Honeypot cluster

|

Hình 11: Mô hình tổng quan hệ thong honeypot của phương pháp dé xuất

Mô hình Hình 11 gồm các thành phần: Server, Honeypot cluster, Virtual switch, IDS

(Router), Controller.

— Server: Server là may chủ chứa ứng dung, dịch vụ mà ta muốn bao vệ

— Honeypot clutser: Honeypot cluster là cum honeypot ta muôn triên khai đê bảo

vệ cho Server.

— Virtual switch: Virtual switch là cầu nỗi liên kết Router, Server va Honeypot

cluster Lưu trữ và áp dụng luồng được chi định

— IDS (Router): IDS là hệ thong dé phát hiện lưu lượng truy cập độc hại di đến

Server Router đóng vai trò là bộ định tuyến giữa các lớp mạng: Lớp mạng của

Attacker, lớp mạng của Server, Honeypot cluster và lớp mang cua Controller.

— Controller: Controller là bộ điều khiển luồng Định luồng tai Virtual switch.

3.2 Server

Server là máy chủ có chứa dich vụ mà ta muôn bảo vệ Server dong vai trò là nan

nhân trong các cuộc tân công Dé thuận tiện cho việc nghiên cứu, tác gia sẽ triên khai một Server có nhiêu ứng dụng, dịch vụ Server được tác giả triên khai thông qua Docker container.

23

Trang 40

3.3 Honeypot cluster

Honeypot cluster là cum honeypot mà tác giả muốn trién khai Honeypot cluster cóchức năng thay thé Server nhận tac động từ các cuộc tan công Honeypot cluster baogom một hoặc nhiều honeypot muốn triển khai theo nhu cầu một cách tự động

3.3.1 Phương pháp triển khai honeypot theo nhu cầu

Có nhiều phương pháp có thể áp dụng trong phần này như: Sử dụng một trang web

dé lựa chọn, sử dụng một ứng dụng dé lựa chọn, sử dụng một tệp cấu hình Trongkhóa luận này, tác giả chọn phương pháp sử dụng tệp cấu hình Như vậy, khi tác giả

triển khai Honeypot cluster, tác giả sẽ đọc tệp câu hình và khởi tạo theo những gi đã

cầu hình trong tệp

Trong tệp này, tác giả sẽ đưa vào cau hình cho những honeypot có thé được triểnkhai Mỗi cấu hình là một dòng trong tệp ứng với một honeypot Các đòng cấu hìnhnày đều phải có một định dạng chung như sau:

<tên dich vụ của Swarm>:<số lượng bản sao>:<tén image>:<thé

image>:<nhu cầu triển khai>

Trong đó,

— <tên dich vụ của Swarm>: Đặt tên cho honeypot ta sắp tạo Ví dụ: FTP, SMB

Cấu hình này có thê thay đổi và không ảnh hưởng nhiều đến việc triển khai Nó

chỉ có tác dụng cho việc dễ dàng nhận biết dịch vụ honeypot mà ta đang triển khai

ở chế độ Swarm (phục vụ triển khai tự động).

— <số lượng bản sao>: Số lượng bản sao của honeypot được tạo ra Cau hình này

mặc định bang 1 và không nên thay đồi

— <tên image>:<thé image>: Image nguồn cho honeypot được tao Cấu hình nay

được có thé thay đối nếu có image khác phù hợp với ngữ cảnh triển khai hơn

— <nhu cầu triển khai>: Chỉ có hai lựa chọn cho cấu hình này lay van.

o y (viết tat của yes) nghĩa là có

o n (viết tắt của no) nghĩa là không

Các honeypot tác giả chọn là các dịch vụ hoặc ứng dụng phiên bản cũ hoặc có chứa

các 16 hông và được đóng gói thành các image cua Docker.

24

Ngày đăng: 02/10/2024, 03:33

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w