HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN 1
ĐỒ ÁN
TỐT NGHIỆP ĐẠI HỌC
ĐỀ TÀI:
NGHIÊN CỨU XÂY DỰNG MÔ HÌNH PHÁT
HIỆN TẤN CÔNG, ĐỘT NHẬP MẠNG DỰA
TRÊN ĐỐI SÁNH CHUỖI
Giảng viên hướng dẫn : TS. HOÀNG XUÂN DẬU
Sinh viên thực hiện: VŨ DUY KHÁNH
Lớp : D09HTTT3
Khoá : 2009-2014
Hệ : Chính quy
Hà Nội, tháng … /2013
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC MỞ ĐẦU
VŨ DUY KHÁNH – D09HTTT3 I
MỞ ĐẦU
Trong lĩnh vực an ninh mạng, việc phát hiện và ngăn chặn tấn công, đột nhập là vấn
đề quan trọng, thu hút nhiều sự chú ý của các nhà nghiên cứu và cộng đồng do các dạng
tấn công, đột nhập trái phép ngày càng phát triển mạnh và gây nhiều thiệt hại. Phát hiện
tấn công đột nhập mạng thường gặp nhiều khó khăn, thách thức do yêu cầu phải thu thập,
xử lý và phân tích một lượng rất lớn dữ liệu các gói tin thu thập trên mạng. Vấn đề nâng
cao hiệu năng xử lý và tính chính xác của phát hiện tấn công, đột nhập đã và đang được
nghiên cứu.
Một trong những hướng giải quyết có hiệu quả cho vấn đề này là ứng dụng kỹ thuật
phân tích sâu gói tin nhằm phát hiện sớm những dấu hiệu tấn công, đột nhập vào hệ thống
mạng. Trong kỹ thuật phân tích sâu gói tin, các giải thuật đối sánh chuỗi là yếu tố đóng
vai trò quyết định tới tính chính xác và tốc độ xử lý của hệ phát hiện tấn công, đột nhập
mạng. Đặc biệt, với những mạng có lưu lượng gói tin lớn, tính tối ưu của thuật toán đối
sánh chuỗi càng trở nên quan trọng, được ví như chìa khóa để giải quyết bài toán phát
hiện đột nhập.
Hiện nay, nhiều hệ thống phát hiện tấn công, đột nhập đã được phát triển và triển khai.
Bên cạnh đó, các giải thuật đối sánh chuỗi tiên tiến cũng được nghiên cứu và phát triển và
tích hợp vào hệ thống phát hiện đột nhập. Mỗi thuật toán đều có những ưu-nhược điểm
riêng và phát huy hiệu quả trong một miền ứng dụng cụ thể. Trong phạm vi kiến thức đại
học, đồ án này sẽ tập trung nghiên cứu xây dựng mô hình phát hiện tấn công, đột nhập
mạng dựa trên đối sánh chuỗi. Trên cơ sở nghiên cứu, phân tích hiệu năng , đồ án sẽ lựa
chọn giải thuật đối sánh chuỗi phù hợp để tích hợp vào hệ thống phát hiện đột nhập mạng
đang khảo sát.
Đồ án gồm ba chương với nội dung như sau:
Chương I: Tổng quan về phát hiện đột nhập mạng
Giới thiệu tổng quan về an toàn thông tin, các dạng tấn công, đột nhập và biện phát
phát hiện tấn công, đột nhập mạng.
Chương II: Các giải thuật đối sánh chuỗi và ứng dụng trong phát hiện đột
nhập mạng
Giới thiệu tổng quan về kỹ thuật đối sánh chuỗi, nghiên cứu các giải thuật đối sánh
chuỗi thông dụng và ứng dụng của đối sánh chuỗi trong phát hiện tấn công, đột
nhập mạng.
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC MỞ ĐẦU
VŨ DUY KHÁNH – D09HTTT3 II
Chương III: Xây dựng mô hình phát hiện đột nhập mạng dựa trên đối sánh
chuỗi
Trình bày việc xây dựng mô hình phát hiện đột nhập mạng dựa trên kỹ thuật đối
sánh chuỗi đã nghiên cứu ở chương II, tiến hành cài đặt thử nghiệm mô hình và
cung cấp một số kết quả thử nghiệm ban đầu.
Nhìn chung, đồ án đã trình bày tổng quan về phát hiện đột nhập mạng và ứng dụng
của thuật toán đối sánh chuỗi trong phát hiện tấn công, đột nhập mạng. Đồng thời, đồ án
cũng nêu chi tiết một số giải thuật đối sánh chuỗi và so sánh hiệu năng của các thuật toán.
Cuối cùng, đồ án đã nghiên cứu xây dựng mô hình phát hiện đột nhập dựa trên đối sánh
chuỗi và tiến hành một vài thử nghiệm ban đầu. Tuy nhiên, do thời gian hạn hẹp và kiến
thức còn nhiều hạn chế, đồ án không tránh khỏi thiếu sót. Rất mong thầy cô và các bạn
quan tâm tới vấn đề này góp ý, chia sẻ để em có thể hoàn thiện kiến thức của mình.
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC LỜI CẢM ƠN
VŨ DUY KHÁNH – D09HTTT3 III
LỜI CẢM ƠN
Lời đầu tiên, em xin gửi lời cảm ơn chân thành tới Tiến sĩ Hoàng Xuân Dậu, người
thầy đã nhiệt tình hướng dẫn, chỉ bảo em trong suốt quá trình thực hiện đồ án. Nhờ những
định hướng và sự quan tâm của thầy, em đã có thêm nhiều động lực để hoàn thành tốt đồ
án. Điều quan trọng nhất, quãng thời gian làm việc cùng thầy đã giúp em hiểu thêm rất
nhiều điều, đặt những viên gạch đầu tiên cho tương lai của em sau này.
Em cảm ơn các thầy cô trong khoa Cơ bản, khoa Viễn thông, đặc biệt là các thầy
cô trong khoa Công nghệ thông tin đã dạy dỗ em trong những năm tháng vừa qua. Bên
cạnh việc truyền đạt những kiến thức quý báu, thầy cô còn cho em những bài học làm
người đầy ý nghĩa.
Tôi xin gửi lời cảm ơn tới đơn vị thực tập, nơi đã tạo điều kiện cho tôi tiếp cận
kiến thức thực tế, giúp tôi hình thành khả năng nghiên cứu độc lập và trưởng thành hơn
trong suy nghĩ.
Con cảm ơn bố mẹ, gia đình - những người đã luôn tin tưởng, động viên con trong
suốt quãng thời gian học tập. Sự chăm sóc và lòng tin của bố mẹ chính là động lực lớn
nhất giúp con vượt qua những giới hạn của bản thân để có được ngày hôm nay.
Sau cùng, tôi muốn gửi lời cảm ơn tới những người bạn, những người ở cạnh tôi
những lúc khó khăn. Tôi sẽ không bao giờ quên sự giúp đỡ chân thành bạn bè đã dành
cho tôi trong những năm tháng qua.
Xin chân thành cảm ơn!
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NHẬN XÉT, ĐÁNH GIÁ, CHO ĐIỂM
VŨ DUY KHÁNH – D09HTTT3 IV
NHẬN XÉT, ĐÁNH GIÁ, CHO ĐIỂM
(Của Người hướng dẫn)
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
Điểm: …………………….………(bằng chữ: … …………… ….)
Đồng ý/Không đồng ý cho sinh viên bảo vệ trước hội đồng chấm đồ án tốt nghiệp?.
…………, ngày tháng năm 20
CÁN BỘ- GIẢNG VIÊN HƯỚNG DẪN
(ký, họ tên)
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC MỤC LỤC
VŨ DUY KHÁNH – D09HTTT3 V
MỤC LỤC
MỞ ĐẦU I
LỜI CẢM ƠN III
NHẬN XÉT, ĐÁNH GIÁ, CHO ĐIỂM IV
DANH MỤC CÁC BẢNG, SƠ ĐỒ, HÌNH VIII
KÍ HIỆU CÁC CỤM TỪ VIẾT TẮT IX
CHƯƠNG 1: TỔNG QUAN VỀ PHÁT HIỆN ĐỘT NHẬP MẠNG 1
1.1. Các vấn đề của an toàn thông tin và các biện pháp đảm bảo an toàn cho hệ
thống và mạng 1
1.1.1. Các yêu cầu về đảm bảo an toàn cho hệ thống và mạng 1
1.1.2. Các dạng tấn công và đột nhập mạng thường gặp 2
1.1.2.1. Các kiểu tấn công bằng phần mềm phá hoại 2
1.1.2.2. Các kiểu tấn công tài nguyên mạng 5
1.1.3. Các biện pháp phòng chống tấn công và đột nhập 7
1.1.3.1. Các nguyên tắc an toàn hệ thống 7
1.1.3.2. Các biện pháp ngăn chặn tấn công, đột nhập 8
1.1.3.3. Các biện pháp phát hiện tấn công, đột nhập 10
1.2. Phân loại các biện pháp phát hiện đột nhập 10
1.2.1. Phân loại dựa trên nguồn dữ liệu 10
1.2.2. Phân loại dựa trên kỹ thuật phát hiện 12
1.3. Phát hiện tấn công, đột nhập mạng 12
1.3.1. Khái quát về phát hiện tấn công, đột nhập mạng 12
1.3.1.1. Mô hình phát hiện đột nhập mạng 12
1.3.1.2. Các kỹ thuật sử dụng trong phát hiện tấn công, đột nhập mạng 13
1.3.2. Giới thiệu một số hệ thống phát hiện tấn công, đột nhập mạng 14
1.4. Hướng tiếp cận của đồ án 15
1.5. Kết chương 15
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC MỤC LỤC
VŨ DUY KHÁNH – D09HTTT3 VI
CHƯƠNG 2: CÁC GIẢI THUẬT ĐỐI SÁNH CHUỖI VÀ ỨNG DỤNG TRONG PHÁT
HIỆN ĐỘT NHẬP MẠNG 16
2.1. Giới thiệu về đối sánh chuỗi và ứng dụng 16
2.1.1. Khái quát về đối sánh chuỗi 16
2.1.1.1. Khái niệm đối sánh chuỗi 16
2.1.1.2. Các cách tiếp cận 17
2.1.1.3. Phân loại kỹ thuật đối sánh chuỗi 17
2.1.2. Ứng dụng của đối sánh chuỗi 18
2.2. Các giải thuật đối sánh chuỗi 19
2.2.1. Các giải thuật đối sánh chuỗi thông dụng 19
2.2.1.1. Thuật toán đối sánh chuỗi sơ khai – Naïve string matching 19
2.2.1.2. Thuật toán Knuth-Morris-Pratt (KMP) 24
2.2.1.3. Thuật toán Boyer-Moore (BM) 29
2.2.1.4. Thuật toán Boyer-Moore-Horspool (BMH) 36
2.2.2. Đánh giá ưu nhược điểm của các giải thuật đối sánh chuỗi 40
2.3. Ứng dụng của đối sánh chuỗi trong phát hiện đột nhập mạng 42
2.3.1. Phát hiện và ngăn chặn tấn công, đột nhập 42
2.3.2. Phát hiện và ngăn sự lây lan của virus và các phần mềm độc hại 44
2.3.3. Lọc các URL 44
2.4. Kết chương 45
CHƯƠNG 3: XÂY DỰNG MÔ HÌNH PHÁT HIỆN ĐỘT NHẬP MẠNG DỰA TRÊN
ĐỐI SÁNH CHUỖI 46
3.1. Mô hình phát hiện đột nhập mạng dựa trên đối sánh chuỗi 46
3.1.1. Kiến trúc chung của hệ thống phát hiện đột nhập 46
3.1.2. Mô hình phát hiện đột nhập mạng dựa trên đối sánh chuỗi 47
3.1.3. Ứng dụng các giải thuật đối sánh chuỗi tiên tiến 48
3.2. Cài đặt thử nghiệm mô hình 48
3.2.1. Giới thiệu hệ thống phát hiện đột nhập Snort 48
3.2.1.1. Tổng quan về Snort 48
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC MỤC LỤC
VŨ DUY KHÁNH – D09HTTT3 VII
3.2.1.2. Các thành phần của Snort 49
3.2.2. Tích hợp giải thuật đối sánh chuỗi tiên tiến vào Snort phục vụ phân tích sâu các
gói tin 52
3.3. Một số kết quả thử nghiệm 53
3.3.1. Kết quả thử nghiệm hiệu năng các giải thuật đối sánh chuỗi 53
3.3.1.1. Tập dữ liệu thử nghiệm 53
3.3.1.2. Tiền xử lý dữ liệu 54
3.3.1.3. Kết quả thử nghiệm 54
3.3.1.4. Đánh giá kết quả 57
3.3.2. Một số kịch bản thử nghiệm phát hiện tấn công, đột nhập với Snort 57
3.3.2.1. Kịch bản thử nghiệm 57
3.3.2.2. Kết quả thử nghiệm 58
3.4. Kết chương 60
KẾT LUẬN 61
DANH MỤC TÀI LIỆU THAM KHẢO 62
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC DANH MỤC CÁC BẢNG, SƠ ĐỒ, HÌNH
VŨ DUY KHÁNH – D09HTTT3 VIII
DANH MỤC CÁC BẢNG, SƠ ĐỒ, HÌNH
Bảng 2.1. Tổng hợp đặc điểm các thuật toán đối sánh chuỗi cơ bản 41
Bảng 3.1. Tập dữ liệu thử nghiệm hiệu năng thuật toán đối sánh chuỗi 54
Bảng 3.2. Kết quả so sánh hiệu năng các thuật toán đối sánh chuỗi với tập dữ liệu 5866 gói tin
TCP 55
Bảng 3.3. Kết quả so sánh hiệu năng các thuật toán đối sánh chuỗi với tập dữ liệu 11214 gói
tin TCP 55
Bảng 3.4. Kết quả so sánh hiệu năng các thuật toán đối sánh chuỗi với tập dữ liệu 20981 gói
tin TCP 56
Hình 1.1. Các chương trình phá hoại 3
Hình 1.2. Quá trình trao đổi thông tin trên mạng 5
Hình 1.3. Tấn công gián đoạn 5
Hình 1.4. Tấn công nghe trộm 6
Hình 1.5. Tấn công thay đổi 6
Hình 1.6. Tấn công giả mạo 7
Hình 1.7. Các lớp bảo vệ ngăn chặn tấn công, đột nhập 8
Hình 1.8. Tường lửa 9
Hình 1.9. Hệ thống Host Based IDS 11
Hình 1.10. Triển khai NIDS trong hệ thống thực tế 12
Hình 1.11. Mô hình phát hiện đột nhập mạng tổng quát 13
Hình 2.1. Mismatch trong Boyer-Moore 30
Hình 2.2. Good-Suffic shift (u xuất hiện lại trong P) 31
Hình 2.3. Good-Suffix shift (u không xuất hiện trong P) 32
Hình 2.4. Bad-Character shift (T[s+j] xuất hiện trong P) 32
Hình 2.5. Bad-Character shift (T[s+j] không xuất hiện trong P) 32
Hình 2.6. Thuật toán Boyer-Moore-Horpool (T[s+m-1] xuất hiện trong P) 36
Hình 2.7. Thuật toán Boyer-Moore-Horpool (T[s+m-1] không xuất hiện trong P) 37
Hình 2.8. So sánh giữa Boyer-Moore và Boyer-Moore-Horspool 42
Hình 2.9. Giai đoạn kiểm tra của phương pháp phát hiện đột nhập dựa trên dấu hiệu 43
Hình 2.10. Giai đoạn kiểm tra của phương pháp phát hiện đột nhập dựa trên bất thường 43
Hình 3.1. Kiến trúc chung của hệ thống phát hiện đột nhập 46
Hình 3.2. Cấu trúc hệ NIDS dựa trên đối sánh chuỗi 47
Hình 3.3. Hệ thống phát hiện đột nhập mạng với Snort 49
Hình 3.4. Các thành phần của Snort 49
Hình 3.5. Biểu đồ so sánh hiệu năng thuật toán đối sánh chuỗi với tập dữ liệu 5866 gói tin
TCP 55
Hình 3.6. Biểu đồ so sánh hiệu năng thuật toán đối sánh chuỗi với tập dữ liệu 11214 gói tin
TCP 56
Hình 3.7. Biểu đồ so sánh hiệu năng thuật toán đối sánh chuỗi với tập dữ liệu 20981 gói tin
TCP 56
Hình 3.8. Snort phát hiện ra tấn công UDP flood 59
Hình 3.9. Snort phát hiện ra tấn công Ping flood 59
Hình 3.10. Snort phát hiện tấn công Port Scan 60
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC KÍ HIỆU CÁC CỤM TỪ VIẾT TẮT
VŨ DUY KHÁNH – D09HTTT3 IX
KÍ HIỆU CÁC CỤM TỪ VIẾT TẮT
Từ viết tắt
Nghĩa tiếng Anh
Nghĩa tiếng Việt
BM
Boyer-Moore algorithm
Thuật toán Boyer-Moore
BMH
Boyer-Moore-Horspool
algorithm
Thuật toán Boyer-Moore-
Horspool
DPI
Deep Packet Inspection
Sự phân tích sâu gói tin
HIDS
Host Based Intrusion Detection
System
Hệ thống phát hiện đột nhập dựa
trên host
IDS
Intrusion Detection System
Hệ thống phát hiện đột nhập
KMP
Knuth – Morris – Pratt
algorithm
Thuật toán Knuth - Morris - Pratt
NIDS
Network Based Intrusion
Detection System
Hệ thống phát hiện đột nhập dựa
trên mạng
P
Pattern
Chuỗi mẫu
T
Text
Chuỗi văn bản
TCP
Transmission Control Protocol
Một giao thức truyền thông tin
cậy của tầng giao vận
UDP
User Datagram Protocol
Một giao thức truyền thông không
tin cậy của tầng giao vận
URL
Uniform Resource Locator
Chuỗi ký tự tham chiếu tới một
nguồn tài nguyên trên mạng
(thường là địa chỉ trang Web)
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC CHƯƠNG 1
VŨ DUY KHÁNH – D09HTTT3 1
CHƯƠNG 1: TỔNG QUAN VỀ PHÁT HIỆN ĐỘT NHẬP MẠNG
Chương này sẽ giới thiệu tổng quan về các vấn đề của an toàn cho hệ thống thông
tin và mạng. Thông qua việc phân tích các yêu cầu bảo mật, các dạng tấn công, đột
nhập mạng thường gặp, chương đưa ra các biện pháp chung giúp phòng chống tấn
công/ đột nhập. Tiếp theo là phần trình bày các biện pháp phát hiện tấn công, đột nhập.
Chương sẽ đi sâu vào phân tích các phương pháp phát hiện tấn công, đột nhập mạng
và giới thiệu về hệ thống phát hiện đột nhập mạng Snort. Cuối cùng là phần mô tả bài
toán được giải quyết trong đồ án này.
1.1. Các vấn đề của an toàn thông tin và các biện pháp đảm bảo an toàn cho hệ
thống và mạng
1.1.1. Các yêu cầu về đảm bảo an toàn cho hệ thống và mạng
Để một hệ thống thông tin hay một hệ thống mạng được bảo đảm an toàn, những
yêu câu cơ bản sau đây cần được thỏa mãn:
Tính xác thực (Authentication): Xác thực là hành động nhằm chứng thực một
người nào đó đúng với “danh xưng” mà người đó tự nhận. Tính xác thực giúp hệ
thống đảm bảo danh tính của các bên đang tham gia vào quá trình truyền tin, nghĩa
là đảm bảo các thông điệp được gửi từ những nguồn đáng tin cậy. Chúng ta có thể
kể đến một số phương pháp xác thực cơ bản như sử dụng thông tin người dùng biết
(mật khẩu, số PIN-Personal Identification Number hoặc câu hỏi bí mật), thông tin
được người dùng sở hữu vật lý (Smart Card), thông tin sinh trắc học (vân tay,
giọng nói…).
Tính phân quyền (Authorization): Phân quyền là hành động nhằm giới hạn
quyền truy cập/sử dụng của các đối tượng đối với tài nguyên hệ thống. Tính phân
quyền giúp hệ thống kiểm soát được quyền hạn truy cập tài nguyên đối với từng
nhóm người dung. Một số kiểu phân quyền thường gặp như: quyền đọc/ghi dữ liệu,
quyền chỉnh sửa dữ liệu, quyền thực thi chương trình…
Kiểm soát truy cập (Access Control): Kiểm soát truy cập là khả năng giới hạn và
kiểm soát các luồng truy cập tới máy chủ hoặc ứng dụng. Việc kiểm soát truy cập
giúp hệ thống ngăn chặn các truy cập trái phép tới hệ thống và hạn chế quyền truy
cập đối với từng cá nhân/nhóm người dùng cụ thể. Kiểm soát truy cập có thể được
áp dụng cho các tài nguyên vật lý (các thiết bị phần cứng) hoặc tài nguyên logic
(các tài nguyên số của hệ thống).
Tính bí mật (Confidentiality): Tính bí mật đảm bảo thông tin trong hệ thống
không bị truy cập trái phép từ đối tượng bất hợp pháp. Đối tượng truy cập trái phép
có thể là người dùng hoặc là một chương trình (virus, worm…). Tính bí mật của hệ
thống thông tin có thể được thực hiện dựa vào phần cứng (thiết bị lưu trữ) và phần
mềm (các kỹ thuật mã hóa).
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC CHƯƠNG 1
VŨ DUY KHÁNH – D09HTTT3 2
Tính toàn vẹn dữ liệu (Data Integrity): Tính toàn vẹn dữ liệu đảm bảo sự nguyên
vẹn của thông tin trong quá trình truyền thông hoặc trong quá trình lưu trữ dữ liệu.
Các biện pháp thực hiện tính toàn vẹn bao gồm kiểm soát môi trường lưu trữ dữ
liệu ở thiết bị đầu cuối, kiểm soát truy cập chặt chẽ, xác thực nghiêm ngặt đối với
các đối tượng được phép truy cập tới dữ liệu. Ví dụ: các thông tin tài chính quan
trọng trong công ty chỉ được phép sửa đổi bởi kế toán trưởng hoặc giám đốc và
không được phép bị sửa đổi trong quá trình truyền thông.
Tính chống chối bỏ (Nonrepudiation): Tính chống chối bỏ giúp ngăn chặn việc
đối tượng phủ nhận việc đã thực hiện một hành động nào đó đối với hệ thống.
Chẳng hạn trong thương mại điện tử, khi một giao dịch đã hoàn thành, cả bên mua
và bên bán không thể chối bỏ việc tham gia vào giao dịch. Một trong những giải
pháp hiệu quả để giải quyết vấn đề này là chữ ký điện tử.
Tính sẵn sàng (Availability): Tính sẵn sang đảm bảo thông tin và các nguồn tài
nguyên trong hệ thống luôn khả dụng đối với người dùng hợp pháp. Các yêu cầu từ
phía người dùng cần được đáp ứng kịp thời, dịch vụ cung cấp không bị gián
đoạn… Trong thời đại ngày nay, nhiều thông tin chỉ có giá trị trong một khoảng
thời gian rất ngắn. Do vậy, tính sẵn sàng trở thành một trong những yêu cầu tối
quan trọng đối với hệ thống thông tin.
1.1.2. Các dạng tấn công và đột nhập mạng thường gặp
Tấn công (attack) hay đột nhập (intrusion) vào một hệ thống thông tin hoặc một hệ
thống mạng là sự vi phạm chính sách an toàn, bảo mật của hệ thống đó. Tấn công
mạng có thể phân chia thành tấn công chủ động (DoS, DDoS) và bị động (Port
Scanner, Packet Sniffer), tấn công mật khẩu, mã nguồn (Back Door, Virus, Trojan,
Worm), tấn công vào các hệ mã hóa (khai thác các khóa mật mã yếu)… Tuy nhiên, tựu
chung lại, các dạng tấn công kể trên vẫn xuất phát từ hai hình thức cơ bản: tấn công
bằng phần mềm phá hoại và tấn công vào tài nguyên mạng.
1.1.2.1. Các kiểu tấn công bằng phần mềm phá hoại
Phần mềm phá hoại (malware) còn được gọi là phần mềm độc hại, phần mềm ác
tính. Đây là một loại phần mềm do các tin tặc hoặc chỉ đơn giản là những kẻ nghịch
ngợm tạo ra nhằm gây hại cho các máy tính. Tùy theo mục đích và cách thức tấn công,
mã độc có thể gây tác hại từ chỗ hiển thị các cửa sổ gây phiền toái cho người sử dụng
cho tới việc chiếm quyền điều khiển máy tính, thậm chí tự động lây lan sang các máy
tính khác trong mạng…[19]
Phần mềm phá hoại thường được ẩn trong một phần mềm hữu ích, đáp ứng những
nhu cầu của người dùng và được người dùng chủ động tải về cài đặt trong máy. Tuy
nhiên, việc thực hiện các chức năng mong muốn chỉ là “lớp vỏ” che đậy những hành vi
xâm phạm của các đoạn mã độc. Bên cạnh đó, một số mã độc khác lại xâm nhập vào
máy tính một cách bí mật và âm thầm thực hiện những thao tác phá hoại hệ thống.
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC CHƯƠNG 1
VŨ DUY KHÁNH – D09HTTT3 3
Một cách tổng quát, phần mềm phá hoại có thể được chia thành hai loại: phần mềm
phá hoại phụ thuộc chương trình chủ và phần mềm phá hoại độc lập với chương trình
chủ (Hình 1.1).
Hình 1.1. Các chương trình phá hoại
Trapdoor: Trapdoor còn được gọi là Backdoor, là “cửa sau” để vào chương trình
phần mềm. Như vậy, một Backdoor của một hệ thống máy tính sẽ cho phép đối
tượng bỏ qua các kiểm tra an ninh thông thường, truy cập trái phép vào hệ thống và
không hề bị phát hiện. Trong thực tế, Backdoor vẫn thường được tạo ra bởi các lập
trình viên trong quá trình phát triển phần mềm. Tuy nhiên, nếu các sau khi hoàn
thiện sản phẩm các backdoor này vẫn tồn tại, tin tặc có thể lợi dụng chính những lỗ
hổng này để xâm nhập vào hệ thống.[23]
Logic bomb: Logic Bomb là một đoạn mã được cố ý đưa vào hệ thống phần mềm,
thực hiện những hành động phá hoại khi một hoặc một vài điều kiện nhất định
được đáp ứng.[27] Có một điểm cần chú ý, bom logic được tạo ra để thực hiện chức
Phần mềm phá hoại
Phần mềm phá hoại
phụ thuộc chương
trình chủ
Phần mềm phá hoại độc
lập với chương trình chủ
Trapdoor
Virus
Logic
Bomb
Trojan
Horse
Worm
Botnet
Phần mềm có khả năng
tự nhân bản
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC CHƯƠNG 1
VŨ DUY KHÁNH – D09HTTT3 4
năng phá hoại hệ thống thông tin. Do vậy, chúng ta không nên nhầm lẫn bom logic
với chương trình được người lập trình viết ra có chủ đích nhằm vô hiệu hóa một số
chức năng nhất định của hệ thống vào những thời điểm cụ thể (không mang yếu tố
phá hoại).
Virus: Virus là chương trình hay đoạn mã được thiết kế để bám vào một chương
trình chủ và có khả năng tự nhân bản, sao chép chính nó vào các đối tượng lây
nhiễm khác (file, ổ đĩa máy tính…). Virus có thể lây lan thông qua việc người dùng
mở file, thực thi chương trình, mở ổ đĩa… Các nguồn lây nhiễm virus chủ yếu là
thiết bị di động (USB, thẻ nhớ) và mạng Internet (tải file về máy tính). Theo thời
gian, các chương trình virus ngày càng phát triển. Từ chỗ chỉ là các chương trình
nhỏ thực hiện các trò đùa, virus ngày nay chủ yếu hướng tới việc phá hoại hoặc lấy
cắp thông tin cá nhân nhạy cảm của người dùng hoặc tổ chức. Virus thường nhắm
tới các mục tiêu là những hệ điều hành phổ thông, đặc biệt là hệ điều hành
Windows – hệ điều hành có thị phần áp đảo, được sử dụng nhiều nhất trên thế
giới.[22]
Worm: Worm (sâu máy tính) là một chương trình máy tính độc lập có khả năng tự
nhân bản giống virus máy tính. Thông thường, Worm sử dụng một mạng máy tính
để lây lan và dựa trên lỗ hổng an ninh để xâm nhập mục tiêu. Nhiều sâu được thiết
kế chỉ có chức năng lây lan trên mạng, không hề phá hoại những vật thể mà nó “đi
qua” (sâu Morris và Mydoom). Mục đích chúng hướng tới là tiêu thụ lượng lớn
băng thông mạng, gây gián đoạn kết nối giữa các máy tính. Tuy nhiên, một số sâu
khác lại chứa mã độc bên trong. Bên cạnh hành động lây lan, chúng còn có chức
năng phá hoại hệ thống. Những sâu này có thể xóa các tập tin trên hệ thống máy
chủ (ExploreZip), mã hóa tập tin hoặc tự động gửi tài liệu qua email. Đặc biệt, một
dạng mã độc rất phổ biến trong Worm cho phép tạo ra Backdoor trong các máy
tính, cho phép tạo ra những máy tính Zombie dưới sự điều khiển của tin tặc.[30]
Trojan Horse: Trojan Horse, hay còn được gọi là Trojan, là một loại phần mềm
độc hại, có chức năng hủy hoại tương tự virus máy tính. Tuy nhiên, khác với virus,
Trojan không có khả năng tự sao chép mã độc. Mục đích của Trojan thường là tạo
các Backdoor cho phép truy cập trái phép vào máy tính. Không những thế, một số
Trojan còn có chức năng ăn cắp thông tin hoặc gây tổn hại cho hệ thống máy tính
bị xâm nhập. Trojan thường ẩn dưới bóng một phần mềm tưởng như vô hại (chẳng
hạn các ứng dụng, trò chơi) . Sau khi được cài đặt vào máy tính, nó sẽ âm thầm
thực hiện những thao tác người dùng không mong muốn.[20]
Botnet: Botnet (ghép giữa Robot và Network) là tập hợp các chương trình có khả
năng giao tiếp với các chương trình tương tự thông qua Internet nhằm thực hiện
nhiệm vụ nhất định. Các Botnet có thể được sử dụng để phát tán thư rác hoặc tham
gia vào cuộc tấn công từ chối dịch vụ.[15]
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC CHƯƠNG 1
VŨ DUY KHÁNH – D09HTTT3 5
1.1.2.2. Các kiểu tấn công tài nguyên mạng
Trong hệ thống thông tin, mạng máy tính đóng vài trò rất quan trong. Nó là phương
tiện kết nối các thành phần bên trong hệ thống lại với nhau cũng như kết nối hệ thống
với thế giới bên ngoài. Chính bởi tầm quan trọng đó, tài nguyên mạng thường là mục
tiêu được nhắm tới bởi các tin tặc. Những kẻ xấu có thể tấn công vào đường truyền,
tấn công vào gói tin trong quá trình truyền thông hoặc có thể tấn công thẳng vào tài
nguyên thông tin trong hệ thống.
Hình 1.2. Quá trình trao đổi thông tin trên mạng
Quá trình truyền thông trên mạng có thể bị kẻ xấu khai thác theo các phương pháp
tấn công sau:
Tấn công gián đoạn (Interruption) : Đây là phương pháp tấn công lên tính khả
dụng của hệ thống. Kẻ xấu có thể sử dụng một số phương pháp tấn công từ chối
dịch vụ như Smurf, Ping of Death, Tear Drop, SYN Attack… để làm ngập (flood)
băng thông mạng, khiến hệ thống không còn khả năng đáp ứng yêu cầu (request)
của những người dùng hợp pháp.
Hình 1.3. Tấn công gián đoạn
Tấn công nghe trộm (Interception) : Đây là dạng tấn công nhằm vào tính bảo
mật của hệ thống. Cách thức tấn công này không hướng trực diện vào các máy tính
đầu cuối (host) mà mục tiêu của nó chính là dữ liệu truyền thông giữa các máy
tính. Chính bởi hành vi xâm phạm kiểu này chỉ âm thầm bắt giữ các gói tin trên
đường truyền, không thay đổi nội dung gói tin, không làm nghẽn băng thông
mạng… nên cả bên gửi và bên nhận rất khó phát hiện. Phương pháp tấn công tiêu
biểu của dạng này là Sniffing kết hợp với một số phương pháp tấn công dò cổng
(port scanning) để phát hiện cổng nào đang được sử dụng.
Bên gửi
Bên
gửi
Bên
nhận
Bên
nhận
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC CHƯƠNG 1
VŨ DUY KHÁNH – D09HTTT3 6
Hình 1.4. Tấn công nghe trộm
Tấn công thay đổi (Modification) : Đây là dạng tấn công nhằm vào tính toàn vẹn
dữ liệu của hệ thống. Kẻ tấn công sẽ tạo các kết nối độc lập tới cả bên gửi và bên
nhận, nhưng vẫn khiến cho các bên truyền thông tin rằng họ đang trao đổi trực tiếp
với nhau. Tin tặc có thể đọc được các thông điệp của bên gửi, thay đổi chúng trước
khi gửi cho bên nhận. Như vậy, toàn bộ cuộc nói chuyện có thể bị điều khiển theo
ý của kẻ tấn công. Một trong những ví dụ tiêu biểu cho tấn công dạng này là hình
thức tấn công “Man in the middle”.
Hình 1.5. Tấn công thay đổi
Tấn công giả mạo (Fabrication) : Đây là hình thức tấn công vào tính xác thực của
hệ thống. Kẻ xấu mạo danh một người nào đó để gửi thông điệp tới một người
khác, giả mạo địa chỉ IP của một máy nào đó để truyền thông với máy tính khác
với mục đích xấu (đánh cắp thông tin nhạy cảm, lừa đảo…)
Bên
gửi
Bên
gửi
Bên
nhận
Bên trung
gian
Bên
nhận
Bên trung
gian
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC CHƯƠNG 1
VŨ DUY KHÁNH – D09HTTT3 7
Hình 1.6. Tấn công giả mạo
1.1.3. Các biện pháp phòng chống tấn công và đột nhập
Để bảo vệ hệ thống trước các cuộc tấn công, đột nhập mạng xảy ra ngày một nhiều
với những diễn biến phức tạp, chúng ta cần đề ra những biện pháp phòng chống hiệu
quả. Một trong những biện pháp hữu hiệu nhật là phân chia mức độ bảo mật và xây
dựng các hệ thống phát hiện đột nhập.
1.1.3.1. Các nguyên tắc an toàn hệ thống
Nguyên tắc đầu tiên, không có phương pháp bảo mật nào hoàn hảo. Việc một tin
tặc tìm ra cách vượt qua chế độ bảo mật tiên tiến chỉ còn là vấn đề thời gian. Bởi vậy,
để tăng cường độ an toàn, tin cậy cho hệ thống thông tin, chúng ta cần thiết lập nhiều
lớp cơ chế bảo vệ để chúng có thể hỗ trợ lẫn nhau chống lại các cuộc tấn công, xâm
nhập.
Nguyên tắc thứ hai, bất kỳ đối tượng nào trong hệ thống cũng chỉ được phép sở
hữu một số quyền hạn nhất định đối với tài nguyên hệ thống, tài nguyên mạng. Nếu
một đối tượng có toàn quyền đối với hệ thống bị tin tặc chiếm quyền điều khiển, điều
này sẽ mang lại những hậu quả vô cùng tai hại.
Nguyên tắc thứ ba, chúng ta nên tạo ra một “cửa khẩu”, bắt buộc những thông tin
đi vào hoặc đi ra khỏi hệ thống phải qua “cửa khẩu” này. Những biện pháp kiểm soát
an ninh chặt chẽ sẽ được triển khai ngay tại “cửa ngõ” của hệ thống.
Nguyên tắc thứ tư, một hệ thống thông tin luôn có điểm yếu nhất. Kẻ tấn công luôn
cố gắng tìm ra điểm yếu của hệ thống và khai thác những lỗ hổng an ninh này. Do vậy,
hệ thống thông tin cần được định kỳ rà soát, phát hiện những điểm yếu và kịp thời gia
cố những “kẽ hở” này.
Nguyên tắc thứ năm, các hệ thống khác nhau cần áp dụng đa dạng các phương
pháp bảo vệ. Điều này giúp ngăn chặn nguy cơ sau khi tin tặc xâm nhập vào hệ thống
đầu tiên, chúng có thể dễ dàng tấn công các hệ thống còn lại.
Bên
gửi
Bên
nhận
Bên trung
gian
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC CHƯƠNG 1
VŨ DUY KHÁNH – D09HTTT3 8
1.1.3.2. Các biện pháp ngăn chặn tấn công, đột nhập
Như đã nói ở phía trên, không tồn tại một giải pháp an toàn tuyệt đối trong an ninh
mạng. Do đó, hệ thống cần được sử dụng đồng thời nhiều mức bảo vệ khác nhau, tạo
thành nhiều lớp rào chắn đối với các hoạt động tấn công, xâm nhập. Thông thường,
các biện pháp ngăn chặn đột nhập được triển khai theo mô hình 1.7 dưới đây:
Mức
độ
bảo
vệ
Hình 1.7. Các lớp bảo vệ ngăn chặn tấn công, đột nhập
a. Tường lửa
Tường lửa (Firewall) là thiết bị phần cứng hoặc phần mềm có nhiệm vụ giám sát
các luồng dữ liệu vào/ra hệ thống, ngăn chặn các kết nối vi phạm chính sách an ninh
của hệ thống thông tin. Do bản chất của tường lửa là “thiết bị bảo vệ vùng biên”
(Border Protection Device - BPD), nó chỉ có tác dụng ngă chặn các cuộc tấn công từ
bên ngoài hệ thống chứ không thể phát hiện các xâm nhập từ bên trong.[21]
Tường lửa
Bảo vệ vật lý
Điều khiển truy cập
Mã hóa dữ liệu
Xác thực
THÔNG TIN
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC CHƯƠNG 1
VŨ DUY KHÁNH – D09HTTT3 9
Hình 1.8. Tường lửa
Có hai loại tường lửa thông dụng là tường lửa bảo vệ và tường lửa ngăn chặn.
Tường lửa bảo vệ có tác dụng bảo vệ an ninh cho hệ thống mạng cục bộ, tránh sự xâm
nhập, tấn công từ bên ngoài. Bên cạnh đó, tường lửa ngăn chặn thường được triển khai
để kiểm duyệt những nội dung truyền từ hệ thống nội bộ ra bên ngoài.
b. Bảo vệ vật lý
Bảo vệ vật lý là phương pháp ngăn chặn các truy cập vật lý trái phép vào hệ thống.
Chẳn hạn, những người không có quyền hạn không được phép vào phòng đặt máy chủ,
máy tính quan trọng được đặt ổ khóa
c. Mã hóa dữ liệu
Mã hóa dữ liệu là phương pháp biến thông tin (hình ảnh, văn bản…) từ định dạng
bình thường sang dạng thông tin không thể hiểu được nếu không có phương tiện giải
mã. Quá trình ngược lại với mã hóa gọi là giải mã.[17]
d. Xác thực
Xác thực là phương pháp bảo vệ được triển khai phổ biến vì tính đơn giản và hiệu
quả. Có nhiều phương pháp xác thực, tuy nhiên, phương pháp được sử dụng rộng rãi
nhất là xác thực dựa trên mật khẩu. Mỗi người trước khi sử dụng hệ thống sẽ phải
đăng ký một tài khoản và mật khẩu. Để sử dụng hệ thống, người dùng sẽ đăng nhập
vào tài khoản của mình và truy cập tới các tài nguyên được cấp phép. Tuy nhiên, trên
thực tế, mật khẩu cá nhân có thể bị rò rỉ nếu người dùng không giữ cẩn thận. Điều này
khiến cho lớp an ninh xác thực bị vô hiệu hóa hoàn toàn. Để tăng cường khả năng bảo
vệ, các hệ thống lớn thường yêu cầu người dùng định kỳ thay đổi mật khẩu của mình.
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC CHƯƠNG 1
VŨ DUY KHÁNH – D09HTTT3 10
e. Điều khiển truy cập
Điều khiển truy cập là lớp bảo vệ trong cùng của hệ thống. Mỗi đối tượng trong hệ
thống sẽ được gán một số quyền nhất định đối với file và tài nguyên hệ thống. Dựa vào
những quyền này, điều khiển truy quyết định một đối tượng được phép truy cập vào
file/tài nguyên hệ thống hoặc bị từ chối.
1.1.3.3. Các biện pháp phát hiện tấn công, đột nhập
Ở phần trên, chúng ta đã xem xét các giải pháp để ngăn chặn tấn công, đột nhập
mạng. Trong trường hợp kẻ xấu vượt qua các lớp bảo vệ được thiết lập và đột nhập
thành công vào hệ thống hoặc các tác nhân gây hại đến từ bên trong hệ thống, chúng ta
cần có biện pháp phát hiện những tấn công, đột nhập dạng này.
Một trong những giải pháp hiệu quả để phát hiện tấn công, đột nhập mạng là sử
dụng hệ thống phát hiện đột nhập (IDS). Phát hiện đột nhập là tiến trình theo dõi các
sự kiện xảy ra trên một hệ thống máy tính hoặc hệ thống mạng, phân tích chúng để tìm
ra các dấu hiệu xâm nhập bất hợp pháp. Xâm nhập bất hợp pháp có thể được hiểu là sự
nỗ lực tìm mọi cách để vượt qua các cơ chế bảo mật của hệ thống, xâm phạm tới tính
bí mật, tính toàn vẹn, tính chống chối bỏ… Việc đột nhập có thể được thực hiện từ một
đối tượng ở bên ngoài hệ thống hoặc một người dùng được phép nằm trong hệ thống.
1.2. Phân loại các biện pháp phát hiện đột nhập
Có hai cách chính để phân loại các biện pháp phát hiện đột nhập là phân loại dựa
trên nguồn dữ liệu và phân loại dựa trên kỹ thuật phát hiện.
1.2.1. Phân loại dựa trên nguồn dữ liệu
Dựa trên nguồn dữ liệu, chúng ta có thể chia phương pháp phát hiện đột nhập thành
hai nhóm là phương pháp phát hiện đột nhập dựa trên thiết bị đầu cuối và phương pháp
phát hiện đột nhập dựa trên mạng. Đại diện cho hai nhóm phương pháp này là hai hệ
thống phát hiện đột nhập:
Hệ thống phát hiện đột nhập dựa trên thiết bị đầu cuối (Host Based IDS -
HIDS)
HIDS là hệ thống phát hiện đột nhập được cài đặt cục bộ trên một máy tính nhất
đinh. Thay vì giám sát hoạt động của một vùng mạng. HIDS thường được đặt trên
các host quan trọng, và các server trong vùng DMZ thường là mục tiêu bị tấn công
đầu tiên. Ngoài ra, HIDS có thể ghi nhận những việc mà người tấn công đã làm
trên máy chủ bị tấn công (compromised host). Nhiêm vụ chính của HIDS là giám
sát các thay đổi trên hệ thống, bao gồm các tiến trình, các thanh ghi, mức độ sử
dụng CPU, các luồng truy cập tới file hệ thống… Khi các giá trị này vượt quá một
ngưỡng định trước hoặc có những thay đổi khả nghi, hệ thống HIDS sẽ phát ra
cảnh báo gửi tới hệ thống khác (có chức năng xử lý chuyên biệt) hoặc gửi trực tiếp
tới người quản trị.
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC CHƯƠNG 1
VŨ DUY KHÁNH – D09HTTT3 11
Hình 1.9. Hệ thống Host Based IDS
Hệ thống phát hiện đột nhập dựa trên mạng (Network Based IDS - NIDS)
NIDS là hệ thống phát hiện xâm nhập có tác dụng phát hiện những truy cập trái
phép vào mạng máy tính bằng cách phân tích lưu lượng truy cập trên mạng. Hệ
thống NIDS sẽ giám sát lưu lượng tại các điểm được chọn trên một mạng hoặc tập
hợp các mạng được kết nối với nhau. NIDS có chức năng kiểm tra các gói dữ liệu
trong thời gian thực hoặc gần với thời gian thực, tìm cách phát hiện mô hình xâm
nhập. NIDS có thể giám sát các giao thức ở tầng ứng dụng (application level), tầng
giao vận (transport level) hoặc tầng mạng (network level).[5]
Một NIDS điển hình bao gồm một số bộ cảm biến (sensor) có nhiệm vụ theo
dõi lưu lượng gói tin, một hoặc nhiều máy chủ cho các chức năng quản lý NIDS và
một hoặc nhiều bàn giao tiếp (console) cung cấp giao diện cho người quản trị. Việc
phân tích lưu lượng để phát hiện ra xâm nhập có thể được thực hiện tại các bộ các
biển, tại máy chủ quản lý hoặc kết hợp cả hai.
Trong một hệ thống thông tin hoặc hệ thống mạng thực tế, các cảm biến NIDS
có thể được triển khai theo nhiều cách khác nhau. Hình 1.10 dưới đây sẽ mô tả
phương án triển khai NIDS cho một hệ thống điển hình.
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC CHƯƠNG 1
VŨ DUY KHÁNH – D09HTTT3 12
Hình 1.10. Triển khai NIDS trong hệ thống thực tế
1.2.2. Phân loại dựa trên kỹ thuật phát hiện
Dựa trên kỹ thuật phân tích dữ liệu, chúng ta có thể chia phương pháp phát hiện đột
nhập thành hai loại:
Phát hiện đột nhập dựa trên dấu hiệu (signature-based): Đây là phương pháp
phát hiện đột nhập dựa trên những dấu hiệu đã biết, thông qua đó phát hiện hành vi
đột nhập. Để triển khai kỹ thuật này, chúng ta phải duy trì một cơ sở dữ liệu về các
dấu hiệu (signature database). Các thông tin về hệ thống sẽ được thu thập thông
qua giám sát lưu lượng mạng, nhật ký hệ thống và so sánh với tập dấu hiệu có sẵn
trong cơ sở dữ liệu. Để tăng cường tính năng phát hiện của hệ thống, cơ sở dữ liệu
này phải thường xuyên được cập nhật mỗi khi xuất hiện dạng tấn công/đột nhập
mới.
Phát hiện đột nhập dựa trên bất thường (Anomaly-based): Đây là phương pháp
phát hiện đột nhập bằng cách phân tích các đặc điểm, hành vi của hệ thống và so
sánh với các hoạt động thông thường. Nếu thấy các dấu hiệu hiện tại không phù
hợp với các hoạt động thông thường, hệ thống ghi nhận sự bất thường và đưa ra
cảnh báo về tấn công/đột nhập. Có nhiều cách thức phát hiện bất thường, một số
phương pháp tiêu biểu là phát hiện bất thường dựa trên ngưỡng, dựa trên thống kê
hoặc dựa trên mô hình Markov…
1.3. Phát hiện tấn công, đột nhập mạng
1.3.1. Khái quát về phát hiện tấn công, đột nhập mạng
1.3.1.1. Mô hình phát hiện đột nhập mạng
Mô hình phát hiện đột nhập mạng tổng quát được biểu diễn trên hình 1.11.
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC CHƯƠNG 1
VŨ DUY KHÁNH – D09HTTT3 13
Hình 1.11. Mô hình phát hiện đột nhập mạng tổng quát
Trong mô hình này, trung tâm của mô hình phát hiện xâm nhập mạng là hệ thống
NIDS được kết nối tới một cơ sở dữ liệu. Ngày nay, hầu hết các hệ thống phát hiện đột
nhập mạng (NIDS) có hỗ trợ các giải pháp để ghi nhật ký lưu lượng mạng (historical
network flows). Tuy nhiên, giải pháp này rất tốn kém, hiệu quả hạn chế và thiếu tính
linh hoạt. Các mô hình phát hiện đột nhập hiện đại thường sử dụng một hệ quản trị cơ
sở dữ liệu quan hệ (RDBMS) chuyên biệt để ghi lại dữ liệu lịch sử (historical flow),
giúp hệ thống NIDS có thể tập trung toàn bộ tài nguyên cho việc phát hiện xâm nhập.
Cơ chế hoạt động của mô hình phát hiện đột nhập mạng có thể được hình dung như
sau: NIDS nhận được luồng dữ liệu mạng từ các bộ định tuyến nội bộ (internal routers)
của doanh nghiệp, xử lý chúng và sinh ra cảnh báo. Trong quá trình đó, các dữ liệu
tóm tắt về lịch sử phát hiện vẫn được duy trì ghi vào cơ sở dữ liệu để phục vụ cho quá
trình phân tích (forensic analysis) sau này.
1.3.1.2. Các kỹ thuật sử dụng trong phát hiện tấn công, đột nhập mạng
Để phát hiện tấn công/đột nhập mạng, chúng ta có thể áp dụng nhiều kỹ thuật xử lý
dữ liệu khác nhau. Tùy thuộc vào miền ứng dụng và đối tượng dữ liệu cụ thể, các kỹ
thuật sẽ được linh hoạt sử dụng sao cho đạt hiệu quả phát hiện cao nhất.
Kỹ thuật phân tích thống kê: Đây là một trong những phương pháp thường được
sử dụng trong các hệ phát hiện đột nhập. Các hành vi thông thường của người dùng
hoặc hệ thống như số lần đăng nhập/đăng xuất, số tập tin truy cập trong một
khoảng thời gian… sẽ được hệ thống lưu lại trong cơ sở dữ liệu. Dựa vào những dữ
liệu này, khi hệ thống/người dùng có hành vi lạ, các giá trị vượt khỏi ngưỡng thông
thường, hệ thống sẽ có những phản ứng kịp thời.
Kỹ thuật học máy (Machine Learning): Đây là kỹ thuật cho phép các hệ thống
“học” tự động từ dữ liệu lịch sử để giải quyết những vấn đề cụ thể.[16] Trong phát
hiện tấn công/đột nhập mạng, kỹ thuật học máy giúp hệ thống có thể đưa ra những
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC CHƯƠNG 1
VŨ DUY KHÁNH – D09HTTT3 14
suy luận, dự đoán cho những tình huống khác với các mẫu dữ liệu huấn luyện. Để
kỹ thuật học máy phát huy hiệu quả, tăng độ chính xác cho các phán đoán, hệ
thống cần được huấn luyện với một lượng lớn các dữ liệu lịch sử.
Kỹ thuật mạng nơ-ron (Neural Network): Mạng nơ-ron là một mô hình tính toán
được xây dựng dựa trên mạng nơ-ron sinh học. Mạng có thể được sử dụng để mô
hình hóa các mối quan hệ phức tạp giữa dữ liệu đầu vào và kết quả, cho phép phát
hiện ra những xu hướng mà con người cũng như các kỹ thuật máy tính khác không
thể phát hiện ra.[18] Áp dụng trong phát hiện đột nhập, kỹ thuật mạng nơ-ron
thường được sử dụng để phân tích và dự đoán hành vi người dùng trong hệ thống.
Kỹ thuật đối sánh chuỗi (String Matching): Đối sánh chuỗi là một kỹ thuật cho
phép tìm sự xuất hiện của một chuỗi mẫu (pattern) cho trước trong một chuỗi văn
bản (text). Đây là kỹ thuật được áp dụng rất nhiều trong thực tế. Đối với lĩnh vực
phát hiện xâm nhập mạng, kỹ thuật đối sánh chuỗi chính xác được sử dụng để tìm
kiếm sự xuất hiện của các dấu hiệu cho trước (thường là các nguy cơ xuất hiện đột
nhập) trong hệ thống. Từ đó, hệ thống đưa ra cảnh báo tới người dùng và kịp thời
có những hành động ngăn chặn xâm nhập. Một trong những ứng dụng hiệu quả của
đối sánh chuỗi trong phát hiện đột nhập là kỹ thuật phân tích sâu gói tin (DPI –
Deep Packet Inspection).
1.3.2. Giới thiệu một số hệ thống phát hiện tấn công, đột nhập mạng
Để phát hiện những cuộc tấn công/đột nhập mạng trái phép và kịp thời có những
hành động ngăn chặn, một trong những giải pháp hữu hiệu là sử dụng hệ thống phát
hiện xâm nhập mạng (NIDS). Trong rất nhiều hệ IDS chuyên dụng, chúng ta có thể kể
đến một số hệ thống phát hiện đột nhập nổi tiếng như Snort, Bro và Suricata.
a. Snort
Snort là một hệ thống phát hiện đột nhập mạng (NIDS) được tạo ra bởi Martin
Roesch vào năm 1998. Snort được phát triển dưới dạng phần mềm mã nguồn mở, có
khả năng thực hiện phân tích lưu lượng mạng trong thời gian thực và ghi nhật ký các
gói tin IP. Với các tính năng phân tích giao thức, tìm kiếm nội dung, Snort có thể được
sử dụng để phát hiện các cuộc thăm dò và tấn công mạng. Chi tiết về Snort sẽ được
trình bày trong chương 3.
b. Bro
Bro là hệ thống NIDS mã nguồn mở, dựa trên Unix. Nó giám sát lưu lượng mạng ở
chế độ thụ động (passively) và tìm kiếm những hành vi đáng ngờ. Bro được phát triển
bởi Vern Paxson (trong nhóm nghiên cứu mạng tại Lawrence Berkley National Lab)
và viện khoa học máy tính quốc gia vào năm 1998. Bro có khả năng thực hiện phân
tích nhiều lớp (multi-layer), giám sát hành vi, thực thi chính sách an ninh, phát hiện
xâm nhập và ghi nhật ký các hoạt động mạng. Bro phát hiện đột nhập trước tiên dựa
trên sự phân tích lưu lượng mạng để rút ra ngữ nghĩa ở mức ứng dụng (application-
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC CHƯƠNG 1
VŨ DUY KHÁNH – D09HTTT3 15
level semantic). Sau đó, so sánh hành vi với các mẫu nghi ngờ. Bro cho phép phát hiện
các cuộc tấn công và các hành vi bất thường bên trong hệ thống (chẳng hạn, máy tính
kết nối tới các dịch vụ nhất định hoặc các nỗ lực kết nối bị thất bại).[3]
c. Suricata
Suricata là hệ thống phát hiện đột nhập mạng mã nguồn mở có hiệu năng cao, được
phát triển bởi Open Information Security Foundation (OISF) - một tổ chức phi lợi
nhuận. Phiên bản thử nghiệm của Suricata được phát hành vào tháng 12 năm 2009,
phiên bản chính thức được phát hành vào tháng 7 năm 2010. Do ra đời sau, Suricata có
cấu trúc tương tự như Snort. Nó hoạt động dựa trên các dấu hiệu và thậm chí còn sử
dụng tập luật của Snort.
Một trong những điểm mạnh của Suricata là tính đa luồng. Điều này cho phép hệ
thống dễ dàng hoạt động ở môi trường mạng lưu lượng lớn mà không cần lược bớt tập
luật.[13]
1.4. Hướng tiếp cận của đồ án
Trên cơ sở nghiên cứu về các phương pháp tấn công mạng và hệ thống phát hiện
đột nhập mạng và các giải thuật đối sánh chuỗi, đồ án xây dựng và cài đặt thử nghiệm
mô hình phát hiện đột nhập mạng dựa trên đối sánh chuỗi.
Với dữ liệu đầu vào là các gói tin offline, đồ án xây dựng chương trình giải mã gói
tin, lọc ra phần dữ liệu (payload) để tiếp tục làm đầu vào thử nghiệm hiệu năng của các
thuật toán đối sánh chuỗi. Chương trình giải mã gói tin và đánh giá hiệu năng thuật
toán được cài đặt trên hệ điều hành mã nguồn mở Linux.
Cuối cùng, đồ án thử nghiệm tích hợp thuật toán đối sánh chuỗi tiên tiến vào hệ
thống phát hiện đột nhập mạng Snort (thay thế cho thuật toán hiện có trong Snort) và
cài đặt Snort trên hệ điều hành Linux. Tiếp theo, đồ án xây dựng các luật cho Snort
giúp phát hiện một số kịch bản tấn công/đột nhập mạng.
1.5. Kết chương
Chương 1 đã giới thiệu tổng quan về phát hiện đột nhập mạng. Trong đó, chương
nêu rõ yêu cầu đối với một hệ thống thông tin an toàn. Từ đó, chương đưa ra năm
nguyên tắc an toàn hệ thống và các biện pháp ngăn chặn tấn công/đột nhập. Về các
giải pháp phát hiện tấn công/đột nhập, chương chú trọng vào các giải pháp phát hiện
tấn công/đột nhập mạng.
Đối với bài toán được giải quyết trong đồ án, chương đưa ra hướng tiếp cận về phát
hiện đột nhập mạng dựa trên kỹ thuật đối sánh chuỗi hiệu năng cao, giúp giảm thời
gian xử lý gói tin, tránh tình trạng “nghẽn cổ chai” khi lưu lượng mạng tăng cao. Chi
tiết về các giải thuật đối sánh chuỗi sẽ được trình bày ở chương tiếp theo.