LỜI CẢM ƠN
Lời đầu tiên tôi xin cảm ơn chân thành và sâu sắc nhất đến Thầy
TS. ĐINH ĐỨC ANH VŨ, Thầy đã dành rất nhiều thời gian hướng dẫn tôi
một cách tận tâm, sâu sát và giúp tôi vượt qua những thời điểm khó khăn nhất về
luận văn này.
Tiếp theo tôi xin gởi lời cám ơn chân thành và trân trọng nhất đến quý Thầy,
Cô ở HỌC VIỆN BƯU CHÍNH VIỄN THÔNG đã truyền đạt nhiều kiến thức quý
báu cho tôi trong suốt quá trình học tập tại đây.
Xin gởi lời cám ơn đến Thầy trưởng khoa CNTT TS. TRẦN CÔNG HÙNG,
TS. TÂN HẠNH, TS.VÕ VĂN KHANG đã có những góp ý hết sức quý báu cho bản
luận văn này.
Xin cảm ơn các bạn học, bạn hữu, đồng nghiệp đã có những góp ý và động
viên trong suốt thời gian qua, một người bạn, đã góp ý rất nhiều cho luận văn.
TP. Hồ Chí Minh, tháng 6-2012
Học viên thực hiện luận văn
ĐÀO ANH VŨ
- i -
LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của tôi, với sự hướng dẫn của
Thầy TS.ĐINH ĐỨC ANH VŨ. Các kết quả nêu trong luận văn là hoàn toàn trung
thực và chưa được công bố trong bất kỳ một công trình nào khác.
Học viên thực hiện luận văn
ĐÀO ANH VŨ
- ii -
MỤC LỤC
LỜI CẢM ƠN i
LỜI CAM ĐOAN ii
MỤC LỤC iii
DANH MỤC CÁC TỪ VIẾT TẮT iv
DANH MỤC CÁC HÌNH v
MỞ ĐẦU 9
CLI Cisco Command Line Interface
PCRE Perl Compatible Regular
Expressions
ISS hãng Internet Security Systems
RAID Recent Advances in Intrusion
Detection
PERL Perl Programming Language
- iv -
DANH MỤC CÁC HÌNH
Hình 0.1 Nhiệm vụ của một IDS 12
Hình 0.2 Biểu đồ thống kê hệ thống máy tính bị tấn công 13
Hình 1.1 Tình hình phát triển số lượng máy tính trên Internet 15
Hình 1.2 Malware mới xuất hiện mỗi tháng trong năm 2011 16
Hình 2.1 Intrustion Detection system activities 23
Hình 2.2 Intrustion Detection system infrastructure 24
Hình 2.3 Một ví dụ về hệ IDS. Chiều rộng mũi tên tỷ lệ thuận với lượng thông tin di
chuyển giữa các thành phần của hệ thống 25
Hình 2.4 Các thành phần chính của 1 hệ IDS 26
Hình 2.5 Mô hình triển khai Host-based IDS agent 27
Hình 2.6 Mô hình triển khai Network- Base IDS 29
Hình 2.7 Mô hình triển khai Sensor kiểu thẳng hàng 31
Hình 2.8 Mô hình triển khai Sensor kiểu thụ động 32
Hình 2.9 Mô hình triển khai Wireless IDS 34
Hình 2.10 Mô hình triển khai trên NBAS 36
Hình 2.11 Mô hình vị trí của Honeypot IDS 37
Hình 2.12 Cơ chế phát hiện sự lạm dụng 44
- v -
Hình 2.13 Cơ chế phát hiện sự không bình thường 45
Hình 3.1 Mô hình IPS 47
Hình 3.2 Promicious mode 51
Hình 6.21 Tạo mật mã truy cập oinkcode 93
Hình 6.22 Cập nhật rules tự động trong snort 95
Hình 6.23 Hệ thống rules trong snort đã cập nhật thành công 96
- vii -
DANH MỤC CÁC BẢNG
Bảng 2.1: So sánh giữa HIDS và NIDS 30
Bảng 5.1: Quy định các loại giao thức 74
Bảng 5.2: Các từ khóa lựa chọn flags liên quan đến TCP 75
Bảng 5.3: Các từ khóa lựa chọn Itype liên quan đến ICMP 75
Bảng 5.4: Các từ khóa lựa chọn Icode liên quan đến ICMP 76
- viii -
MỞ ĐẦU
Việc bùng nổ thông tin trên hệ thống mạng toàn cầu đem lại sự thuận lợi cho
con người. Giờ đây ta có thể tìm bất cứ thông tin gì trên Internet chỉ bằng vài từ
khóa. Song song với những thuận lợi chúng ta cũng phải đối mặt với nhiều thách
thức, một trong những thách thức đó là vấn đề virus, tấn công, xâm nhập.
Kỹ thuật phát hiện tấn công, xâm nhập ngày càng được chú trọng phát triển,
với phương pháp truyền thống là dựa vào mẫu tấn công, xâm nhập đã biết. Phương
pháp này cho thấy có nhiều hạn chế khi mà các cuộc tấn công mới xuất hiện mỗi
ngày một nhiều.
Theo mạng an toàn thông tin VSEC (The Vietnamese security network),
70% website tại việt nam có thể bị xâm nhập, trên 80% hệ thống mạng có thể bị
hacker kiểm soát. Điều này cho thấy chính sách về bảo mật của các hệ thống thông
tin của việt nam chưa được quan tâm và đầu tư đúng mức.
Trong bối cảnh đó, việc phát triển và sử dụng các hệ thống phát hiện xâm
nhập – IDS ngày càng trở nên phổ biến.
Nhiệm vụ của những IDS này là :
Hình 0. Nhiệm vụ của một IDS
Hệ thống phát hiện xâm nhập có 2 hướng tiếp cận chính là tiếp cận dựa trên phát
hiện bất thường và tiếp cận dựa trên dấu hiệu.
Vì vậy, cần có một hệ thống phòng thủ thật vững chắc có thể đứng vững trước các
cuộc tấn công mạng ngày càng gia tăng về quy mô lẫn kỹ thuật. Một hệ thống mạng
ngoài việc lắp đặt firewall để bảo vệ mạng còn cần trang bị hệ thống cảnh báo và
phòng chống xâm nhập thời gian thực để kịp thời ngăn chặn các cuộc tấn công có
nguy cơ làm tổn hại hệ thống mạng.
Có rất nhiều cách để thực hiện an toàn trên mạng như: phương pháp kiểm soát lối
vào, ngăn cản sự xâm nhập trái phép vào hệ thống cũng như kiểm soát tất cả các
thông tin gửi ra bên ngoài hệ thống, hay sử dụng phương pháp mã hoá dữ liệu trước
khi truyền, ký trước khi truyền,
Trong đề tài này chúng ta sẽ đi sâu tìm hiểu về hệ thống phát hiện xâm nhập trái
phép trên mạng (NIDS-Network Intrusion Detection System).
Đề tài : “xây dựng hệ thống phát hiện và phòng chống xâm nhập (NIDS)
mô phỏng trên phần mềm snort”.
Với những thành công trên và mặc dù đã rất cố gắng nhưng luận văn cũng
còn nhiều hạn chế do nhiều yếu tố như thời gian, kỹ thuật,… Hy vọng trong thời
gian tới tôi có nhiều điều kiện để tiếp tục phát triển luận văn này. Rất mong sự góp
ý của Quý Thầy Cô, đồng nghiệp, các anh/chị và các bạn hữu.
- 11 -
CHƯƠNG 1: TỔNG QUAN
1.1. Giới thiệu
Với sự phát triển nhanh chóng của hệ thống mạng toàn cầu, đến tháng
07/2010 đã có hơn 440 triệu host trên Internet (hình 1.1) [W1]; nhiều công cụ
hướng dẫn tấn công, xâm nhập hệ thống có sẵn trên Internet và dễ sử dụng hơn; sâu
máy tính, virus, spyware, Trojan horse,… với tốc độ xuất hiện mới rất nhanh
(hình 1.2) ; Những vấn đề trên làm cho an toàn hệ thống mạng được quan tâm hơn
bao giờ hết. Trong đó, phát hiện tấn công, xâm nhập được chú trọng nghiên cứu
nhiều nhất từ các nhà khoa học, an ninh mạng, điển hình là Hội nghị quốc tế RAID
(Recent Advances in Intrusion Detection) về phát hiện tấn công, xâm nhập mỗi năm
tổ chức đều đặn, và lần thứ 13 diễn ra tại Ottawa, Canada vào Semtemper 15-
17/2010 [W2] (lần 14 tại Menlo Park, California, September 20-21/2011).
để phòng chống xâm nhập mạng.
Chương 4: Triển khai hệ thống phát hiện xâm nhập
Trong chương 4 này trình bày cho chúng ta biết về phần mềm mã nguồn mở Snort,
các thành phần của snort và các chế độ hoạt động của nó.
Chương 5: Giới thiệu Snort rule
Chương 5 này giới thiệu cho chúng ta biết những thành phần của một rule
trong snort, từ đó dựa vào những thành phần này mà chúng ta có thể điều chỉnh
hoặc viết lại những rule cho phù hợp với hệ thống đang chạy, thêm một kênh hữu
ích cho người quản trị mạng nắm bắt được những bất thường, tấn công, virus dạng
hướng thời gian, diễn ra nhanh trên mạng của mình.
Chương 6: Thực nghiệm và đánh giá.
- 14 -
Đưa ứng dụng vào thực nghiệm và đánh giá kết quả phát hiện tấn công, xâm
nhập trong mạng LAN.
Quản lý phần mềm Snort bằng giao diện đồ họa, đồng thời có thể xem tín
hiệu cảnh báo thông qua giao diện web như: base, mail, tin nhắn sms qua điện thoại
di động. Có thể xuất ra report ngay trên web chúng ta có thể xem theo giờ, ngày,
tháng và in ra.
Trong chương này snort còn cho chúng ta cập nhật các rules tự động trong hệ
thống khi VRT sourcefire cập nhật những lỗ hỏng trên internet thì hệ thống chúng
ta cũng được cập nhật những rules mới này cho toàn hệ thống.
Chương 7: Kết luận và hướng phát triển
1.4. Những đóng góp của luận văn
- Đưa ra phương pháp xây dựng hệ thống phát hiện xâm nhập và phòng
chống xâm nhập mạng.
- Triển khai trên hệ thống mạng Lan của Trường Cao Đẳng Nghề Ispace.
- Tổng hợp, phân tích, đánh giá các phương pháp phát hiện tấn công và các
kỹ thuật phòng chống xâm nhập trái phép trên mạng.
- 15 -
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT TẤN CÔNG VÀ PHÁT
2.2.2. Phát hiện xâm nhập.
Phát hiện xâm 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 hay 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”. Việc xâm nhập có thể là xuất phát từ một kẻ tấn công nào đó
trên mạng Internet nhằm giành quyền truy cập hệ thống, hay cũng có thể là một
người dùng được phép trong hệ thống đó muốn chiếm đoạt các quyền khác mà họ
chưa được cấp phát [1].
2.2.3. Network IDS
Network IDS (NIDS) là các hệ thống phát hiện tấn công, nó có thể bắt giữ
các gói tin được truyền trên các thiết bị mạng (cả hữu tuyến và vô tuyến) và so sánh
chúng với cơ sở dữ liệu các tín hiệu [1],[2].
2.2.4. Host IDS
Host IDS (HIDS) được cài đặt như là một tác nhân trên máy chủ. Những hệ
thống phát hiện xâm nhập này có thể xem những tệp tin log của các trình ứng dụng
hoặc của hệ thống để phát hiện những hành động xâm nhập[1], [2].
2.2.5. Signature
Là dấu hiệu tìm thấy trong các gói tin, được sử dụng để phát hiện ra một
cuộc tấn công. Ví dụ ta có thể tìm thấy các dấu hiệu trong IP hearder, hearder của
tầng giao vận (TCP, UDP hearder) hoặc hearder tầng ứng dụng. Các nhà cung cấp
- 17 -
IDS cũng thường xuyên cập nhật những tín hiệu tấn công mới khi chúng bị phát
hiện ra [1].
2.2.6. Alert.
Là những lời thông báo ngắn về những hành động xâm nhập bất hợp pháp.
Alert có thể hiện ngay trên màn hình, khi đăng nhập hoặc bằng mail và bằng nhiều
cách khác. Alert cũng có thể được lưu vào file hoặc vào cơ sở dữ liệu để các chuyên
gia bảo mật có thể xem lại. Thông tin mà IDS thu được sẽ lưu lại trong file để người
quản trị có thể theo dõi những gì đang xảy ra trong hệ thống mạng. Chúng có thể
được lưu lại dưới dạng text hoặc dạng nhị phân [1].
2.2.7. False Alarm
khoảng thời gian. Sau khi đã xây dựng được tập các profile này, hệ IDS sử dụng
phương pháp thống kê để so sánh các đặc điểm của các hoạt động hiện tại với các
ngưỡng định bởi profile tương ứng để phát hiện ra những bất thường [1], [2].
Profile sử dụng bởi phương pháp này có 2 loại là static và dynamic. Static
profile không thay đổi cho đến khi được tái tạo, chính vì vậy dần dần nó sẽ trở nên
không chính xác, và cần phải được tái tạo định kỳ. Dynamic profile được tự động
điều chỉnh mỗi khi có các sự kiện bổ sung được quan sát, nhưng chính điều này
cũng làm cho nó trở nên dễ bị ảnh hưởng bởi các phép thử dùng kỹ thuật giấu
( evasion techniques). Ưu điểm chính của phương pháp này là nó rất có hiệu quả
trong việc phát hiện ra các mối nguy hại chưa được biết đến.
- 19 -
2.4.3. Phân tích trạng thái giao thức (Stateful protocol analysis)
Phân tích trạng thái protocol là quá trình so sánh các profile định trước của
hoạt động của mỗi giao thức được coi là bình thường với đối tượng quan sát từ đó
xác định độ lệch. Khác với phương pháp Abnomaly-base detection, phân tích trạng
thái protocol dựa trên tập các profile tổng quát cung cấp bởi nhà sản xuất theo đó
quy định 1 protocol nên làm và không nên làm gì. "Stateful" trong phân tích trạng
thái protocol có nghĩa là IDS có khả năng hiểu và theo dõi tình trạng của mạng, vận
chuyển, và các giao thức ứng dụng có trạng thái [1],[2].
Nhược điểm của phương pháp này là chiếm nhiều tài nguyên do sự phức tạp
trong việc phân tích và theo dõi nhiều phiên đồng thời. Một vấn đề nghiêm trọng là
phương pháp phân tích trạng thái protocol không thể phát hiện các cuộc tấn công
khi chúng không vi phạm các đặc tính của tập các hành vi chấp nhận của giao thức.
2.5. Cơ sở hạ tầng IDS
Nhiệmvụ chính của hệ thống IDS là phòng thủ máy tính bằng cách phát hiện
một cuộc tấn công và có thể đẩy lùi nó. Phát hiện tấn công thù địch phụ thuộc vào
số lượng và loại hành động thích hợp.
Hình 2.1. Intrustion Detection system activities
Công tác phòng chống xâm nhập đòi hỏi một sự kết hợp tốt được lựa chọn
của "mồi và bẫy" nhằm điều tra các mối đe dọa, nhiệm vụ chuyển hướng sự chú ý
Sensor là yếu tố cốt lõi trong một hệ thống IDS, có trách nhiệm phát hiện các
xâm nhập nhờ những cơ cấu ra quyết định đối với sự xâm nhập. Sensor nhận dữ liệu
thô từ ba nguồn thông tin chính : Cơ sở dữ liệu của IDS, syslog và audit trail .Các
thông tin này hỗ trợ cho quá trình ra quyết định sau này.
Hình 2.3. Một ví dụ về hệ IDS. Chiều rộng mũi tên tỷ lệ thuận với lượng thông
tin di chuyển giữa các thành phần của hệ thống.
Sensor được tích hợp với các thành phần chịu trách nhiệm thu thập dữ liệu -
một event generator. Dựa vào các chính sách tạo sự kiện, sensor xác định chế độ lọc
- 22 -
thông tin thông báo sự kiện. Các event generator (hệ điều hành, mạng, ứng dụng)
tạo ra một chính sách nhất quán tập các sự kiện có thể là log hoặc audit của các sự
kiện của hệ thống, hoặc các gói tin.
Hình 2.4. Các thành phần chính của 1 hệ IDS.
Các hệ thống IDS có thể được triển khai theo 2 hướng là tập trung và phân
tán. Một ví dụ cụ thể cho hướng triển khai tập trung là tích hợp IDS cùng với các
thành phần an ninh khác như firewall. Triển khai phân tán (distributed IDS bao
gồm nhiều hệ IDS trong 1 hệ thống mạng lớn, được kết nối với nhau nhằm nâng cao
khả năng nhận diện chính xác xâm nhập và đưa ra phản ứng thích hợp)[3][4].
2.7. Phân loại
2.7.1. HIDS
Được triển khai trên từng host,thôngthường là 1 software hoặc 1 agent, mục
tiêu là giám sát các tính chất cơ bản, các sự kiện liên quan đến các thành phần này
nhằm nhận diện các hoạt động khả nghi. Host-based IDSthường được triển khai trên
các host có tính chất quan trọng (public servers, sensitive data servers), hoặc 1 dịch
vụ quan trọng (trường hợp đặc biệt này được gọi là application-based IDS)[3].
Quá trình triển khai các agent HIDS thường đơn giản do chúng là một phần
mềm được cài đặt trực tiếp lên host. Application-based agent thường được triển
khai thẳng hàng ngay phía trước host mà chúng bảo vệ [3].
- 23 -
Hình 2.5. Mô hình triển khai Host-based IDS agent[3]
segment, phân tích mạng, các giao thức ứng dụng từ đó nhận diện các hoạt động
khả nghi. Thường được triển khai ở các biên mạng (Network Border).
- 25 -