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 2LỜ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 3MỤ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 42.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 54.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 65.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 75.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 8DANH 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 9Hì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 10Hì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 11Hì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 12Hì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 13Hì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 14DANH 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 15DANH 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 16TÓ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 17Chươ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 18Honeypot
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 191.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 20Chươ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 22o Đư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 232.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 24manager 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 25riê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 262.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 272.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 28luồ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 30tin 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 31ovs-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 362.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 38Chươ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 39Attacker 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 403.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