i
ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
TẠ TUẤN DŨNG
NGHIÊN CỨU, XÂY DỰNG MỘT SỐ GIẢI PHÁP
VÀ PHẦN MỀM CẢNH BÁO, PHÁT HIỆN XÂM NHẬP
MẠNG, CHỐNG TRUY CẬP TRÁI PHÉP
Chuyên ngành: Khoa học máy tính
Mã số: 60.48.01
LUẬN VĂN THẠC SỸ
NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. HỒ VĂN CANH
Thái Nguyên - năm 2013
ii
MỤC LỤC
LỜI MỞ ĐẦU........................................................................................................................1
CHƯƠNG I: NGHIÊN CỨU VỀ CÁC HỆ THỐNG GIÁM SÁT, PHÁT HIỆN XÂM
NHẬP MẠNG MÁY TÍNH...................................................................................................3
1.1 Nghiên cứu nguyên tắc cơ bản và một số hình thái xâm nhập trái phép trên mạng ..........3
1.1.1 Các hình thái xâm nhập mạng trái phép...........................................................................3
1.1.2 Các biện pháp hoạt động xâm nhập máy tính...................................................................6
1.1.3 Thủ đoạn của hacker lấy mật khẩu đăng nhập.................................................................7
1.2 Nghiên cứu khái niệm về phần mềm IDS giám sát, phát hiện xâm nhập...............................7
3.4 Chạy chương trình Snort......................................................................................................61
3.4.1 Sniffer Mode..................................................................................................................61
3.4.2 Mode Packet Logger......................................................................................................61
3.4.3 Mode Network Inturusion Detection.............................................................................63
3.4.4 Hỗn hợp.........................................................................................................................65
3.5 Hình ảnh cài đặt chương trình và một số kết quả................................................................67
3.5.1 Hình ảnh cài đặt chương trình.......................................................................................67
3.5.2 Kết quả thực hiện một phiên giám sát an ninh..............................................................70
3.5.3 Kết quả kiểm tra khả năng phát hiện dấu hiệu xâm nhập của phần mềm.....................72
TÀI LIỆU THAM KHẢO....................................................................................................74
iv
LỜI CẢM ƠN
Đầu tiên tôi xin gửi lời cảm ơn chân thành tới các thầy, cô giáo trường
Đại học Công Nghệ Thông Tin và Truyền Thông – Đại Học Thái Nguyên
cùng các thầy cô giáo thuộc Viện Công nghệ thông tin – Đại học Quốc gia Hà
Nội đã nhiệt tình giảng dạy và truyền đạt kiến thức cho tôi trong thời gian học
tập.
Tôi xin gửi lời cảm ơn sâu sắc tới thầy Hồ Văn Canh, người đã định
hướng, hướng dẫn và hỗ trợ tôi rất nhiều để hoàn thành luận văn này.
Tôi xin gửi lời cảm ơn tới các anh chị đồng nghiệp và cảm ơn bạn bè
cùng khóa, cùng trường đã nhiệt tình hỗ trợ trong thời gian tôi làm luận văn.
Mặc dù đã rất cố gắng hoàn thành luận văn này, xong luận văn sẽ khó
tránh khỏi những thiếu sót. Tôi rất mong nhận được sự nhận xét, góp ý, tận
tình chỉ bảo từ các thầy, cô.
Một lần nữa, tôi xin chân thành cảm ơn!
TÁC GIẢ LUẬN VĂN
IPS
Intrusion Prevention Systems
DoS
Denial of Services
LAN
Local Area Network
GUI
Graphical User Interface
NIDS
Mode Network Inturusion Detection
CSDL
Cơ sở dữ liệu
SMB
Server Message Block
OS
thế giới, đó là hệ thống phần mềm giám sát, cảnh báo đối với các tấn công,
xâm nhập trái phép vào hệ thống mạng. Trong những năm gần đây, các vụ tấn
công ngày càng tăng lên về số lượng và mức độ nghiêm trọng thì các hệ thống
phát hiện xâm nhập là sự bổ sung cần thiết và kịp thời cho hệ thống thiết bị an
ninh mạng đã có.
Hiện nay, trên thế giới có rất nhiều sản phẩm giám sát an ninh mạng
(IDS) ở mức công nghiệp (Enterprise-level) – hệ IPS (Intrusion Prevention
Systems) có khả năng tích hợp nhiều chức năng: Phát hiện xâm nhập
(detection), giám sát (monitoring) và ngăn chặn (blocking). Nhiều hệ thống
phần mềm được tích hợp vào các thiết bị máy tính chuyên dụng có cấu trúc
rack-mount để cắm trực tiếp vào các tủ mạng và chạy theo chế độ thời gian
thực. Một số hệ thống còn tích hợp luôn với firewall. Đa phần các sản phẩm
loại này là của Mỹ có chất lượng và tính năng đảm bảo an toàn cao. Tuy
2
nhiên, giá của các hệ thống thiết bị này rất cao thông thường từ 25.000 USD
đến 35.000 USD. Vì vậy, tại Việt Nam, chỉ có một số cơ quan, đơn vị lớn về
ứng dụng công nghệ thông tin mua các sản phẩm bảo vệ an ninh này để sử
dụng bảo vệ mạng máy tính của mình.[4]
Xuất phát từ nhu cầu trên, để xây dựng và triển khai được một hệ phần
mềm giám sát IDS đủ mạnh, nhưng lại tiết kiệm được chi phí, phù hợp với
các tổ chức, đơn vị có quy mô vừa và nhỏ, tôi đã nghiên cứu và lựa chọn giải
pháp phần mềm nguồn mở cho hệ thống giám sát an ninh mạng IDS. Sau một
thời gian nghiên cứu, triển khai với sự cộng tác, giúp đỡ của bạn bè, cơ quan
đồng nghiệp, và đặc biệt là sự hướng dẫn của thầy giáo – Tiến sĩ Hồ Văn
Canh, tôi đã triển khai thành công hệ phần mềm giám sát, phát hiện xâm nhập
mạng, chống truy cập trái phép, được tích hợp vào hệ thống mạng riêng tại
Trung tâm Công nghệ thông tin và Truyền thông Thái Nguyên. Kết quả là khả
truy cập hệ thống. Những đặc quyền này sẽ dẫn đến những vi phạm về tính
khả dụng, tính tin cậy và tính toàn vẹn của thông tin.
1.1.1 Các hình thái xâm nhập mạng trái phép
1.1.1.1 Quét, thăm dò hệ thống
Thông qua hoạt động quét, thăm dò hệ thống, kẻ tấn công có thể biết
được nhiều thông tin về hệ thống như:
- Cấu hình mạng mục tiêu
- Loại lưu lượng được phép đi qua firewall
4
- Các máy có mặt trên mạng
- Hệ điều hành đang sử dụng trên từng máy đang chạy
- Phần mền máy chủ dịch vụ trên các máy đang chạy
- Số hiệu phiên bản phần mềm….
Ngoài ra kẻ tấn công có thể biết thêm nhiều thông tin khác nếu máy
đang chạy có nhiều sơ hở hoặc lỗ hổng bảo mật. Các dạng thông tin nhạy cảm
như tên account, account default, mật khẩu yếu, nguồn thông tin chia sẻ…
những thông tin này có lợi cho việc khai thác, tấn công mạng của kẻ xâm
nhập. Về mặt pháp lý thì hành động quét, thăm dò mạng là một hành động
hợp pháp. Trên mạng Internet có nhiều người quét, thăm dò chỉ vì mục đích
khai thác tài nguyên miễn phí từ Internet. Ngoài ra quét, thăm dò cũng còn có
mục đích có lợi là cho phép người quản trị an ninh mạng phân tích các điểm
yếu về bảo mật để khắc phục.
Mặt trái của hoạt động này đó là kẻ tấn công lợi dụng những kết quả
phân tích thu được để thực hiện xâm nhập thực sự vào hệ thống.[4]
1.1.1.2 Tấn công từ chối dịch vụ
Tấn công từ chối dịch vụ chia làm hai loại chính: khai thác lỗ hổng và
tấn công ngập lụt (flooding). Tấn công từ chối dịch vụ là cuộc tấn công khai
Tấn công từ bên ngoài vào và tấn công từ trong nội bộ. Kẻ tấn công từ ngoài
mạng là người tấn công từ phía bên ngoài, ví dụ sử dụng spam để gửi thư điện
tử. Họ có thể vượt qua bức tường lửa để tấn công vào các máy tính của mạng
bên trong. Những kẻ tấn công từ bên ngoài thông thường là từ mạng Internet,
trực tiếp thâm nhập bằng đường vật lý hoặc thông qua các bạn hàng trên
mạng có liên hệ đến mạng nội bộ. Kẻ xâm nhập bên trong mạng là những
người sử dụng mạng chính thức bên trong. Những người này có thể là những
user tạo cho người khác mất quyền truy nhập mạng hoặc chiếm quyền truy
nhập hoặc chiếm quyền sử dụng mạng của người khác. Theo số liệu của cơ
6
quan an ninh mạng EU thì 80% các vụ vi phạm về an ninh mạng là từ những
kẻ xâm nhập từ bên trong mạng.[2]
1.1.2 Các biện pháp hoạt động xâm nhập máy tính
Xâm nhập vật lý: là những kẻ xâm nhập bằng phương pháp sử dụng bàn
phím máy tính của nạn nhân để đăng nhập mạng, thay hoặc lấy cắp các thiết
bị đĩa từ lưu dữ liệu trên máy tính.
Xâm nhập thông qua lỗ hổng của phần mềm: Lỗ hổng phần mềm
được phân loại như sau:
Lỗ hổng do tràn bộ đệm:
Phần lớn các lỗ hổng về an ninh là do tràn bộ đệm. Lỗi này đều do hầu
hết các hệ điều hành, các phần mềm quản trị cơ sở dữ liệu, thậm chí có trong
một vài phiên bản của hệ điều hành UNIX được đánh giá là hệ điều hành
công nghiệp an toàn nhất hiện nay. Một trong những thí dụ tràn bộ đệm được
coi là điển hình nhất mà không ai nghĩ đến đó là lỗi tràn bộ đệm sinh ra do tên
user. Thông thường tên user trên mạng cũng chỉ được thiết lập tối đa 256 ký
tự hoặc số là cùng. Ít ai nghĩ ra được điều gì sẽ xẩy ra nếu tên đó dài hơn 256
ký tự có kèm theo mã code để thực hiện trên máy chủ. Thông qua thủ đoạn
Các hệ thống phát hiện xâm nhập (IDS) là những hệ thống phần mềm
hoặc phần cứng thực hiện tự động hóa quá trình giám sát các sự kiện xảy ra
trong hệ thống mạng máy tính; phân tích các sự kiện đó để nhận biết những
vấn đề liên quan đến an ninh mạng. Trong những năm gần đây, khi các vụ tấn
công ngày càng tăng lên về số lượng và mức độ nghiêm trọng thì các hệ thống
phát hiện xâm nhập là sự bổ sung cần thiết và kịp thời cho hệ thống thiết bị an
ninh mạng đã có.
Phát hiện xâm nhập là một quá trình giám sát các sự kiện diễn ra ở một
hệ thống máy tính hoặc một mạng máy tính và phân tích chúng để tìm ra các
8
xâm nhập làm tổn hại đến độ tin cậy, tính toàn vẹn và khả năng hoạt động của
hệ thống hoặc để vượt qua cơ chế kiểm soát an ninh của hệ thống máy tính.
Những kẻ tấn công thường xâm nhập mạng từ bên ngoài Internet hoặc mạng
công cộng hoặc chính là những người sử dụng trong chính mạng đó đã sử
dụng trái phép quyền sử dụng được cấp cho họ. Các hệ thống phát hiện xâm
nhập là các phần mềm hoặc các sản phẩm phần cứng thực hiện việc tự động
giám sát và phân tích quá trình này.
Việc phát hiện xâm nhập cho phép các cơ quan bảo vệ hệ thống mạng
máy tính khỏi các mối đe dọa thường xuyên khi mạng máy tính đang vận
hành nhằm bảo vệ an toàn cho các hệ thống thông tin và dữ liệu. Với ý nghĩa
đó, vấn đề đặt ra cho công tác đảm bảo an ninh mạng máy tính không phải là
có nên hay không nên sử dụng IDS mà là sử dụng đặc điểm và tính năng nào
của IDS cho phù hợp với yêu cầu của công tác bảo vệ an ninh mạng. Sau đây
là những tính năng cơ bản nhất của một hệ thống phát hiện xâm nhập.
Hình sau đây giới thiệu một mô hình tổng quát của hệ thống giám sát an
ninh mạng:
đến 2000 dòng và 64.000 kết nối cùng một lúc. Hệ IDS Snort sử dụng hàm
stream4Preprocessor đảm bảo tính năng statefull cho hệ thống. Ngoài ra, tính
năng statefull còn cho phép hệ thống IDS khả năng xác định được hệ điều
hành của máy xâm nhập và các gói tin vượt ra khỏi phạm vi kiểm soát thông
11
thường (out of state). Chương trình quét thăm dò cổng mạng NMAP cũng có
khả năng tương tự.
Giống như các phần mềm bắt các gói tin khác, hệ thống IDS có khả năng
thu thập mọi thông tin trong quá trình “bắt tay ba lần” của một kết nối TCP và
lưu chúng vào bảng trạng thái kết nối của máy chủ và máy tấn công. Những
thông tin đó là: địa chỉ IP, địa chỉ MAC, các cờ trạng thái kết nối như SYN,
ACK và FIN. Hệ thống IDS còn thông báo kịp thời những tín hiệu sai lệch
trong quá trình bắt tay. Ví dụ hệ IDS Snort có khả năng phát hiên kỹ thuật “
Stealth FIN scan” của chương trình quét cổng NMAP. Kỹ thuật này được áp
dụng để phát hiện những cổng đóng của máy chủ (closed port).
Luật giám sát an ninh và bộ phần mềm phát hiện xâm nhập
Luật giám sát an ninh thông thường được tạo dưới dạng text để tiện cho
việc sửa đổi, cập nhập bổ sung và được lưu trong một thư mục riêng, các tệp
luật được phân theo nhóm. Ví dụ tệp ftp. rules chuyên lưu các dấu hiệu xâm
nhập dịch vụ FTP, http.rules chuyên lưu các dấu hiệu tấn công đối với dịnh vụ
web. Hệ thống giám sát an ninh sẽ so sánh nội dung các gói tin với các dấu
hiệu đã biết trong các dòng của tệp luật và làm kết xuất các phản ứng của hệ
thống một khi có dấu hiệu trùng khớp.
Hệ giám sát an ninh mạng IDS sử dụng danh sách kết nối 3 chiều (3D)
và thuật toán so sánh nội dung Boyer-Moore.
Luật giám sát an ninh mạng được phân chia thành 4 loại tương ứng với 4
loại giao thức:
tính năng cơ bản sau:
- Phòng ngừa các hoạt động bất thường bằng việc gia tăng khả năng phát
hiện các nguy cơ và xử phạt kẻ tấn công hoặc lạm dụng quyền sử dụng hệ
thống vượt qua phạm vi cho phép.
13
- Phát hiện các cuộc tấn công hoặc những vi phạm chế độ an ninh do các
biện pháp khác không ngăn chặn được. Kẻ tấn công thường sử dụng những kỹ
thuật được phổ biến rộng rãi trên mạng Internet để xâm nhập mạng, đặc biệt
là đối với các mạng nối trực tuyến với mạng công cộng. Điều này thường hay
xảy ra khi trong mạng máy tính có các thiết bị mạng, thiết bị máy tính chưa
khắc phục các lỗ hổng an toàn, chưa kịp cài đặt các bản vá phần mềm cần
thiết (service pack) hoặc trong môi trường mạng có quá nhiều chủng loại phần
mềm và phần cứng mà bản thân người quản trị an ninh không kiểm soát nổi.
Một trong những lý do quan trọng khác tạo điều kiện cho kẻ tấn công là lỗi
cấu hình và sử dụng hệ thống của cả người quản trị mạng cũng như người sử
dụng mạng.
- Phát hiện và xử lý các khởi đầu của các cuộc tấn công, thông thường là
các hoạt động thăm dò mạng (doorknob ratting). Khi đối phương tấn công
một hệ thống mạng, chúng thường sử dụng bước thăm dò cấu trúc mạng, các
dịch vụ cho phép sử dụng trên mạng và các lỗ hổng an ninh nếu có. Trên cơ
sở phân tích những kết quả thu nhận được qua bước thăm dò, kẻ tấn công có
thể tìm kiếm khe hở xâm nhập mạng một cách tối ưu nhất. Nếu không áp
dụng IDS thì khả năng phát hiện các cuộc thăm dò là rất ít và kẻ tấn công tự
do phân tích toàn bộ hệ thống mạng nhằm phát hiện chỗ yếu để làm cơ sở cho
các bước tiếp theo của cuộc tấn công.
Khi được bổ sung thêm IDS để giám sát toàn bộ hoạt động, IDS sẽ quan
sát việc quét thăm dò mạng, xác định những dấu hiệu đáng nghi vấn và cảnh
ra chưa. Các nguồn thông tin này có thể đưa ra từ các cấp độ khác nhau của
hệ thống: mức mạng, mức host, mức ứng dụng.
Phân tích (Analysis): Đó là việc tổ chức, nắm chắc các sự kiện rút ra từ
nguồn thông tin, trên cơ sở đó có thể xác định được các vụ xâm nhập đã và
đang xảy ra. Hai phương pháp phân tích thường gặp nhất là: phương pháp
15
phân tích theo phát hiện sử dụng trái phép (misuse delection) và phương pháp
phân tích theo phát hiện bất thường (anomaly delection).
Đối phó (Response): Đây là thành phần chức năng thứ ba là tập hợp các
biện pháp hành động mà hệ thống phát hiện xâm nhập sẽ đối phó một khi nó
phát hiện có xâm nhập. Biện pháp hành động được phân làm 2 loại: biện pháp
chủ động và biện pháp bị động. Biện pháp chủ động là biện pháp mà hệ thống
IDS tự động can thiệp vào một phần nào đó của hệ thống nhằm ngăn chặn tức
thời cuộc xâm nhập. Biện pháp bị động là biện pháp thông báo, cảnh báo cho
người quản trị an ninh và những người có trách nhiệm biết những phát hiện về
sự xâm nhập để họ xử lý. [2]
1.2.4.1 Thu lượm các tài nguyên thông tin
Một trong những cách thông thường để phân loại hệ thống IDS là dựa
vào phương pháp thu lượm nguồn thông tin. Một số loại IDS phân tích các
gói tin trên các phân đoạn của mạng LAN để xác định kẻ tấn công. Một số
IDS khác lại dựa vào các nguồn thông tin từ các nhật ký (log) của hệ điều
hành hoặc từ các nhật ký phần mềm ứng dụng sinh ra để phát hiện xâm nhập.
Các IDS dựa trên phương pháp thu lượm nguồn thông tin theo cách thứ nhất
gọi là các IDS trên nền mạng (Network-based IDS). Các IDS dựa trên phương
pháp thu lượm nguồn thông tin theo cách thứ hai gọi là các IDS trên nền host
(Host-based IDS).
Hệ thống các IDS trên nền mạng (Network Base IDS) [5] [6] [8]
+ Tránh DoS ảnh hưởng tới một host nào đó.
+ Có khả năng xác định lỗi ở tầng Network (trong mô hình OSI).
+ Độc lập với OS.
Nhược điểm của IDS trên nền mạng:
- Hệ thống này sẽ gặp khó khăn khi xử lý tất cả các gói tin trong một
mạng lớn do không thể xử lý lưu lượng lớn gói tin trong thời gian cho phép.
Để khắc phục sự bất cập này, một số nhà thiết kế đề xuất giải pháp triển khai
IDS hoàn toàn dựa trên phần cứng. Một số sản phẩm thương mại theo hướng
này đã xuất hiện trên thị trường, ví dụ sản phẩm IDS Dragon của công ty
Security Wizards, Proventia A, G Series của hãng ISS.
- Nhiều đặc tính của IDS dựa trên nền mạng không áp dụng được đối với
mạng chuyển mạch tiên tiến. Các chuyển mạch chia nhỏ các mạng thành
nhiều phân đoạn mạng nhỏ và đưa ra các liên kết dành riêng giữa các host
dùng chung trong một chuyển mạch. Hầu hết các chuyển mạch không có một
cổng giám sát chung và hạn chế phạm vi giám sát của sensor chỉ còn cho một
máy. Chính vì vậy khi cắm các thiết bị chuyển mạch như vậy thì hệ thống
này không thể giám sát tất cả mọi lưu lượng đi qua thiết bị chuyển mạch.
- Một số hệ IDS gặp phải trục trặc khi ứng phó với các cuộc tấn công
dùng cách phân mảnh gói tin. Quá trình xử lý hợp phân mảnh các gói tin loại
này làm cho hệ thống IDS trở nên bất ổn định.
Các hệ thống IDS trên nền host (Host Base IDS) [5] [6] [8]
Các hệ thống IDS trên nền host hoạt động dựa vào những thông tin thu
thập được trong hệ thống máy tính. Những thông tin do hệ điều hành máy tính
thu nhận cho phép IDS trên nền host phân tích các hoạt động tấn công với độ
tin cậy và chính xác cao, xác định các tiến trình và người sử dụng nào liên
quan đến cuộc tấn công cụ thể lên hệ điều hành. Hơn nữa, khác với IDS trên
18