Khóa luận Hệ thống phát hiện xâm nhập IDS – SNORT

MỤC LỤC

DANH MỤC HÌNH VẼ i

DANH MỤC BẢNG BIỂU ii

DANH MỤC TỪ VIẾT TẮT iii

MỞ ĐẦU iv

CHƯƠNG I 1

TỔNG QUAN VỀ BẢO MẬT 1

1.1. GIỚI THIỆU VỀ BẢO MẬT 1

1.1.1. Khái niệm 1

1.1.2. Tính an toàn của hệ thống mạng 2

1.2. NHỮNG NGUY CƠ VÀ MỐI ĐE DỌA ĐỐI VỚI BẢO MẬT 3

1.2.1. Các lỗ hổng loại C 4

1.2.2. Các lỗ hổng loại B 4

1.2.3. Các lỗ hổng loại A 5

1.3. CÁC PHƯƠNG PHÁP XÂM NHẬP HỆ THỐNG – BIỆN PHÁP PHÁT HIỆN VÀ NGĂN NGỪA 6

1.3.1. Phương thức ăn cắp thông tin bằng Packet Sniffer 6

1.3.2. Phương thức tấn công mật khẩu Password attack 7

1.3.3. Phương thức tấn công bằng Mail Relay 7

1.3.4. Phương thức tấn công hệ thống DNS 8

1.3.5. Phương thức tấn công Man-in-the-middle attack 8

1.3.6. Phương thức tấn công để thăm dò mạng 8

1.3.7. Phương thức tấn công lớp ứng dụng 9

1.3.8. Phương thức tấn công Virus và Trojan Horse 9

1.4. CÁC GIẢI PHÁP BẢO MẬT AN TOÀN CHO HỆ THỐNG 10

1.4.1. Bảo mật VPN (Virtual Private Network) 10

1.4.2. Firewall 12

1.4.3. Bảo mật bằng IDS (Hệ thống dò tìm và phát hiện xâm nhập) 13

CHƯƠNG II 15

HỆ THỐNG PHÁT HIỆN XÂM NHẬP IDS 15

2.1. GIỚI THIỆU VỀ IDS 15

2.1.1. Định nghĩa về IDS 15

2.1.2. Lợi ích của IDS 17

2.1.3. Phân biệt những hệ thống không phải là IDS 17

2.1.4. Kiến Trúc và nguyên lý hoạt động IDS 18

2.1.4.1. Thành phần của IDS 18

2.1.4.2. Nguyên lý hoạt động 19

2.1.4.3. Chức năng của IDS 20

2.2. PHÂN LOẠI IDS 22

2.2.1. Network based IDS – NIDS 22

2.2.2. Host based IDS – HIDS 24

2.3. CƠ CHẾ HOẠT ĐỘNG CỦA IDS 26

2.3.1. Mô hình phát hiện sự lạm dụng 26

2.3.2. Mô hình phát hiện sự bất thường 27

2.3.3. So sánh giữa hai mô hình 28

2.4. CÁCH PHÁT HIỆN KIỂU TẤN CÔNG THÔNG DỤNG CỦA IDS 29

2.4.1. Tấn công từ chối dịch vụ (Denial of Service attack) 29

2.4.2. Quét và thăm dò (Scanning và Probe) 29

2.4.3. Tấn công vào mật mã (Password attack) 30

2.4.4. Chiếm đặc quyền (Privilege-grabbing) 31

2.4.5. Cài đặt mã nguy hiểm (Hostile code insertion) 31

2.4.6. Hành động phá hoại trên máy móc (Cyber vandalism) 32

2.4.7. Tấn công hạ tầng bảo mật (Security infrastructure attack) 32

CHƯƠNG III 33

TRIỂN KHAI ỨNG DỤNG DÒ TÌM XÂM NHẬP TRÊN HỆ THỐNG WINDOW DỰA TRÊN SNORT 33

3.1. GIỚI THIỆU VỀ SNORT 33

3.2. KIẾN TRÚC SNORT 33

3.3. THÀNH PHẦN VÀ CHỨC NĂNG CỦA SNORT 34

3.3.1. Module giải mã gói tin (Packet Decoder) 35

3.3.2. Module tiền xử lý (Preprocessor) 35

3.3.3. Module phát hiện (Detection Engine) 37

3.3.4. Module log và cảnh báo (Logging and Alerting system) 38

3.3.5. Module kết xuất thông tin (output module) 38

3.4. BỘ LUẬT CỦA SNORT 39

3.4.1. Giới thiệu về bộ luật 39

3.4.2. Cấu trúc luật của Snort 40

3.4.2.1. Phần Header 42

3.4.2.2. Phần Option 46

3.5. CÁC CƠ CHẾ HOẠT ĐỘNG CỦA SNORT 50

3.6. DEMO 50

3.6.1. GIỚI THIỆU KỊCH BẢN 50

3.6.1.1. Mô tả kịch bản 50

3.6.1.2. Đặt ra giải pháp 51

3.6.1.3. Yêu cầu 52

3.6.2. THỰC HIỆN 53

3.6.2.1. Cài đặt và cấu hình 53

3.6.2.2. Download Snort: 53

3.6.2.3. Cài đặt Snort 54

3.6.2.4. Sử dụng Snort: 58

KẾT LUẬN 69

TÀI LIỆU THAM KHẢO 71

 

 

doc81 trang | Chia sẻ: maiphuongdc | Lượt xem: 9372 | Lượt tải: 3download
Bạn đang xem trước 20 trang tài liệu Khóa luận Hệ thống phát hiện xâm nhập IDS – SNORT, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ến để hiểu rõ hơn kiến trúc của hệ thống phát hiện xâm nhập là như thế nào. Bộ cảm biến được tích hợp với thành phần là sưu tập dữ liệu và một bộ tạo sự kiện. Cách sưu tập này được xác định bởi chính sách tạo sự kiện để định nghĩa chế độ lọc thông tin sự kiện. Bộ tạo sự kiện (hệ điều hành, mạng, ứng dụng) cung cấp một số chính sách thích hợp cho các sự kiện, có thể là một bản ghi các sự kiện của hệ thống hoặc các gói mạng. Vai trò của bộ cảm biến là dùng để lọc thông tin và loại bỏ dữ liệu không tương thích đạt được từ các sự kiện liên quan với hệ thống bảo vệ, vì vậy có thể phát hiện được các hành động nghi ngờ. Bộ phân tích sử dụng cơ sở dữ liệu chính sách phát hiện cho mục này. Ngoài ra còn có các thành phần: dấu hiệu tấn công, profile hành vi thông thường, các tham số cần thiết (ví dụ: các ngưỡng). Thêm vào đó, cơ sở dữ liệu giữ các tham số cấu hình, gồm có các chế độ truyền thông với module đáp trả. Bộ cảm biến cũng có cơ sở dữ liệu của riêng nó, gồm dữ liệu lưu về các xâm phạm phức tạp tiềm ẩn (tạo ra từ nhiều hành động khác nhau). Nguyên lý hoạt động Intrustion Monitoring Prevention Simulation Analysis Respose Intruction detection Notification Hình 2.3. Hoạt động của IDS Quá trình phát hiện có thể được mô tả bởi các yếu tố cơ bản nền tảng sau: Thu thập thông tin (information source): Kiểm tra tất cả các gói tin trên mạng (Intrustion Montorring). Sự phân tích (Analysis): Phân tích tất cả các gói tin đã thu thập để cho biết hành động nào là tấn công (Intruction detection). Xuất thông tin cảnh báo (response): hành động cảnh báo cho sự tấn công được phân tích ở trên nhờ bộ phận (thông báo - Notification). Khi một hành động xâm nhập được phát hiện, IDS đưa ra các cảnh báo đến các quản trị viên hệ thống về sự việc này. Bước tiếp theo được thực hiện bởi các quản trị viên hoặc có thể là bản thân IDS bằng cách lợi dụng các tham số đo bổ sung (các chức năng khóa để giới hạn các session, backup hệ thống, định tuyến các kết nối đến bẫy hệ thống, cơ sở hạ tầng hợp lệ,…) – theo các chính sách bảo mật của các tổ chức. Một IDS là một thành phần nằm trong chính sách bảo mật. Giữa các nhiệm vụ IDS khác nhau, việc nhận ra kẻ xâm nhập là một trong những nhiệm vụ cơ bản. Nó cũng hữu dụng trong việc nghiên cứu mang tính pháp lý các tình tiết và việc cài đặt các bản vá thích hợp để cho phép phát hiện các tấn công trong tương lai nhằm vào các cá nhân cụ thể hoặc tài nguyên hệ thống. Phát hiện xâm nhập đôi khi có thể đưa ra các báo cảnh sai, ví dụ những vấn đề xảy ra do trục trặc về giao diện mạng hoặc việc gửi phần mô tả các tấn công hoặc các chữ ký thông qua mail. Chức năng của IDS Những đe dọa đối với an ninh mạng ngày càng trở nên cấp thiết đã đặt ra câu hỏi cho các nhà an ninh mạng chuyên nghiệp có nên sử dụng hệ thống phát hiện xâm nhập trừ khi những đặc tính của hệ thống phát hiện xâm nhập và hữu ích cho họ, bổ sung những điểm yếu của hệ thống khác…IDS có được chấp nhận là một thành phần thêm vào cho hệ thống an toàn không vẫn là câu hỏi của nhiều nhà quản trị hệ thống. Có nhiều tài liệu giới thiệu về những chức năng mà IDS đã làm được và đây là vài lý do đưa ra tại sao chon IDS: Bảo vệ tính toàn vẹn (integrity) của dữ liệu, bảo đảm sự nhất quán của dữ liệu trong hệ thống. Các biện pháp đưa ra ngăn chặn được việc thay đổi bất hợp pháp hoặc phá hoại dữ liệu. Bảo vệ tính bí mật, giữ cho thông tin không bị lộ ra ngoà i. Bảo vệ tính khá dụng, tức là hệ thống luôn sẵn sàng thực hiện yêu cầu truy nhập thông tin của người dùng hợp pháp. Bảo vệ tính riêng tư, tức là đảm bảo cho người sử dụng khai thác tài nguyên của hệ thống theo đúng chức năng, nhiệm vụ đã được phân cấp. Cung cấp thông tin về sự xâm nhập, đưa ra những chính sách đối phó, khôi phục, sửa chữa.. Nói tóm lại có thể tóm tắt IDS như sau: Chức năng quan trọng nhất là: giám sát – cảnh báo – bảo vệ. Giám sát: lưu lượng mạng và các hoạt động khả nghi. Cảnh báo: báo cáo về tình trạng mạng cho hệ thống và nhà quản trị. Bảo vệ: dùng những thiết lập mặc định và các cấu hình từ nhà quản trị mà có những hành động thiết thực để chống lại kẻ xâm nhập và phá hoại. Chức năng mở rộng: Phân biệt: tấn công bên trong và tấn công từ bên ngoài. Phát hiện: những dấu hiệu bất thường dựa trên những gì đã biết hoặc nhờ vào sự so sánh thông lượng mạng hiện tại với baseline. Khi IDS chạy một thời gian sẽ đưa ra được những điểm yếu đó là điều hiển nhiên. Việc đưa ra những điểm yếu đó nhằm đánh giá chất lượng việc thiết kế mạng cũng như cách bố trí bảo vệ phòng thủ của các nhà quản trị mạng. PHÂN LOẠI IDS Cách thông thường nhất để phân loại các hệ thống IDS là dựa vào đặc điểm của nguồn dữ liệu thu thập được. Trong trường hợp này, các hệ thống IDS được chia thành các loại sau: Network-based IDS (NIDS): Sử dụng dữ liệu trên toàn bộ lưu thông mạng, cùng với dữ liệu kiểm tra từ một hoặc một vài máy trạm để phát hiện xâm nhập. Host-based IDS (HIDS): Sử dụng dữ liệu kiểm tra từ một máy trạm đơn để phát hiện xâm nhập. Network based IDS – NIDS Hệ thống IDS dựa trên mạng sử dụng bộ dò và bộ bộ cảm biến cài đặt trên toàn mạng. Những bộ dò này theo dõi trên mạng nhằm tìm kiếm những lưu lượng trùng với những mô tả sơ lược được định nghĩa hay là những dấu hiệu. Những bộ bộ cảm biến thu nhận và phân tích lưu lượng trong thời gian thực. Khi ghi nhận được một mẫu lưu lượng hay dấu hiệu, bộ cảm biến gửi tín hiệu cảnh báo đến trạm quản trị và có thể được cấu hình nhằm tìm ra biện pháp ngăn chặn những xâm nhập xa hơn. NIPS là tập nhiều sensor được đặt ở toàn mạng để theo dõi những gói tin trong mạng so sánh với với mẫu đã được định nghĩa để phát hiện đó là tấn công hay không. Được đặt giữa kết nối hệ thống mạng bên trong và mạng bên ngoài để giám sát toàn bộ lưu lượng vào ra. Có thể là một thiết bị phần cứng riêng biệt được thiết lập sẵn hay phần mềm cài đặt trên máy tính. Chủ yếu dùng để đo lưu lượng mạng được sử dụng. Tuy nhiên có thể xảy ra hiện tượng nghẽn cổ chai khi lưu lượng mạng hoạt động ở mức cao Hình 2.4. Mô hình Network based IDS - NIDS Ưu điểm Quản lý được cả một network segment (gồm nhiều host). “Trong suốt” với người sử dụng lẫn kể tấn công Cài đặt và bảo trì đơn giản, không ảnh hưởng tới mạng. 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 (Operating System) Nhược điểm Có thể xảy ra trường hợp báo động giả. Không thể phân tích các traffic đã được encrypt (vd: SSL, SSH, IPSec…).. NIDS đòi hỏi phải được cập nhật các signature mới nhất để thực sự an toàn Có độ trễ giữa thời điểm bị attack với thời điểm phát báo động. Khi báo động được phát ra, hệ thống có thể đã bị tổn hại. Không cho biết việc attack có thành công hay không. Một trong những hạn chế là giới hạn băng thông. Những bộ dò mạng phải nhận tất cả các lưu lượng mạng, sắp xếp lại những lưu lượng đó cũng như phân tích chúng. Khi tốc độ mạng tăng lên thì khả năng của đầu dò cũng vậy. Một giải pháp là bảo đảm cho mạng được thiết kế chính xác để cho phép sự sắp đặt của nhiều đầu dò. Khi mà mạng phát triển, thì càng nhiều đầu dò được lắp thêm vào để bảo đảm truyền thông và bảo mật tốt nhất. Một cách mà các hacker cố gắng nhằm che đậy cho hoạt động của họ khi gặp hệ thống IDS dựa trên mạng là phân mảnh những gói thông tin của họ. Mỗi giao thức có một kích cỡ gói dữ liệu giới hạn, nếu dữ liệu truyền qua mạng lớn hơn kích cỡ này thì gói dữ liệu đó sẽ được phân mảnh. Phân mảnh đơn giản chỉ là quá trình chia nhỏ dữ liệu ra những mẫu nhỏ. Thứ tự của việc sắp xếp lại không thành vấn đề miễn là không xuất hiện hiện tượng chồng chéo. Nếu có hiện tượng phân mảnh chồng chéo, bộ cảm biến phải biết quá trình tái hợp lại cho đúng. Nhiều hacker cố gắng ngăn chặn phát hiện bằng cách gởi nhiều gói dữ liệu phân mảnh chồng chéo. Một bộ cảm biến sẽ không phát hiện các hoạt động xâm nhập nếu bộ cảm biến không thể sắp xếp lại những gói thông tin một cách chính xác. Host based IDS – HIDS Bằng cách cài đặt một phần mềm trên tất cả các máy tính chủ, IDS dựa trên máy chủ quan sát tất cả những hoạt động hệ thống, như các file log và những lưu lượng mạng thu thập được. Hệ thống dựa trên máy chủ cũng theo dõi OS, những cuộc gọi hệ thống, lịch sử sổ sách (audit log) và những thông điệp báo lỗi trên hệ thống máy chủ. Trong khi những đầu dò của mạng có thể phát hiện một cuộc tấn công, thì chỉ có hệ thống dựa trên máy chủ mới có thể xác định xem cuộc tấn công có thành công hay không. HIDS thường được cài đặt trên một máy tính nhất đinh. Thay vì giám sát hoạt động của một network segment, HIDS chỉ giám sát các hoạt động trên một máy tính. HIDS thường được đặt trên các host xung yếu của tổ chức, và các server trong vùng DMZ - thường là mục tiêu bị tấn công đầu tiên. 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 entry của Registry. Mức độ sử dụng CPU. Kiểm tra tính toàn vẹn và truy cập trên hệ thống file. Một vài thông số khác. Các thông số này khi vượt qua một ngưỡng định trước hoặc những thay đổi khả nghi trên hệ thống file sẽ gây ra báo động. Hình 2.5. Mô hình Host based IDS – HIDS Ưu điểm Có khả năng xác đinh user liên quan tới một event. HIDS có khả năng phát hiện các cuộc tấn công diễn ra trên một máy, NIDS không có khả năng này. Có thể phân tích các dữ liệu mã hoá. Cung cấp các thông tin về host trong lúc cuộc tấn công diễn ra trên host này. Nhược điểm Thông tin từ HIDS là không đáng tin cậy ngay khi sự tấn công vào host này thành công. Khi OS bị "hạ" do tấn công, đồng thời HIDS cũng bị "hạ". HIDS phải được thiết lập trên từng host cần giám sát . HIDS không có khả năng phát hiện các cuộc dò quét mạng (Nmap, Netcat…). HIDS cần tài nguyên trên host để hoạt động. HIDS có thể không hiệu quả khi bị DOS. CƠ CHẾ HOẠT ĐỘNG CỦA IDS Có hai cách tiếp cận cơ bản đối với việc phát hiện và phòng chống xâm nhập là: Phát hiện sự lạm dụng (Misuse Detection Model): Hệ thống sẽ phát hiện các xâm nhập bằng cách tìm kiếm các hành động tương ứng với các kĩ thuật xâm nhập đã được biết đến (dựa trên các dấu hiệu - signatures) hoặc các điểm dễ bị tấn công của hệ thống. Phát hiện sự bất thường (Anomaly Detection Model): Hệ thống sẽ phát hiện các xâm nhập bằng cách tìm kiếm các hành động khác với hành vi thông thường của người dùng hay hệ thống. Mô hình phát hiện sự lạm dụng Phát hiện sự lạm dụng là phát hiện những kẻ xâm nhập đang cố gắng đột nhập vào hệ thống mà sử dụng một số kỹ thuật đã biết. Nó liên quan đến việc mô tả đặc điểm các cách thức xâm nhập vào hệ thống đã được biết đến, mỗi cách thức này được mô tả như một mẫu. Hệ thống phát hiện sự lạm dụng chỉ thực hiện kiểm soát đối với các mẫu đã rõ ràng. Mẫu có thể là một xâu bit cố định (ví dụ như một virus đặc tả việc chèn xâu),…dùng để mô tả một tập hay một chuỗi các hành động đáng nghi ngờ. Một hệ thống phát hiện sự lạm dụng điển hình sẽ liên tục so sánh hành động của hệ thống hiện tại với một tập các kịch bản xâm nhập để cố gắng dò ra kịch bản đang được tiến hành. Hệ thống này có thể xem xét hành động hiện tại của hệ thống được bảo vệ trong thời gian thực hoặc có thể là các bản ghi kiểm tra được ghi lại bởi hệ điều hành. Các hệ thống phát hiện sự lạm dụng thế hệ đầu tiên sử dụng các luật (rules) để mô tả những gì mà các nhà quản trị an ninh tìm kiếm trong hệ thống. Một lượng lớn tập luật được tích luỹ dẫn đến khó có thể hiểu và sửa đổi bởi vì chúng không được tạo thành từng nhóm một cách hợp lý trong một kịch bản xâm nhập. Để giải quyết khó khăn này, các hệ thống thế hệ thứ hai đưa ra các biểu diễn kịch bản xen kẽ, bao gồm các tổ chức luật dựa trên mô hình và các biểu diễn về phép biến đổi trạng thái. Điều này sẽ mang tính hiệu quả hơn đối với người dùng hệ thống cần đến sự biểu diễn và hiểu rõ ràng về các kịch bản. Hệ thống phải thường xuyên duy trì và cập nhật để đương đầu với những kịch bản xâm nhập mới được phát hiện. Mô hình phát hiện sự bất thường Dựa trên việc định nghĩa và mô tả đặc điểm của các hành vi có thể chấp nhận của hệ thống để phân biệt chúng với các hành vi không mong muốn hoặc bất thường, tìm ra các thay đổi, các hành vi bất hợp pháp. Như vậy, bộ phát hiện sự không bình thường phải có khả năng phân biệt giữa những hiện tượng thông thường và hiện tượng bất thường. Ranh giới giữa dạng thức chấp nhận được và dạng thức bất thường của đoạn mã và dữ liệu lưu trữ được định nghĩa rõ ràng (chỉ cần một bit khác nhau), còn ranh giới giữa hành vi hợp lệ và hành vi bất thường thì khó xác định hơn. So sánh giữa hai mô hình Bảng 1.1. So sánh 2 mô hình phát hiện Phát hiện sự lạm dụng (Misuse Detection Model) Phát hiện sự bất thường (Anomaly Detection Model) Bao gồm: - Cơ sở dữ liệu các dấu hiệu tấn công. - Tìm kiếm các hành động tương ứng với các kĩ thuật xâm nhập biết đến (dựa trên dấu hiệu - signatures). Bao gồm: - Cơ sở dữ liệu các hành động thông thường. - Tìm kiếm độ lệch của hành động thực tế so với hành động thông thường. Hiệu quả trong việc phát hi.ện các dạng tấn công hay các biến thể của các dạng tấn công đã biết. Không phát hiện được các dạng tấn công mới. Hiệu quả trong việc phát hiện các dạng tấn công mới mà một hệ thống phát hiện sự lạm dụng bỏ qua. Dễ cấu hình hơn do đòi hỏi ít hơn về thu thập dữ liệu, phân tích và cập nhật. Khó cấu hình hơn vì đưa ra nhiều dữ liệu hơn, phải có được một khái niệm toàn diện về hành vi đã biết hay hành vi được mong đợi của hệ thống Đưa ra kết luận dựa vào phép so khớp mẫu (pattern matching). Đưa ra kết quả dựa vào độ lệch giữa thông tin thực tế và ngưỡng cho phép). Có thể kích hoạt một thông điệp cảnh báo nhờ một dấu hiệu chắc chắn, hoặc cung cấp dữ liệu hỗ trợ cho các dấu hiệu khác. Có thể hỗ trợ việc tự sinh thông tin hệ thống một cách tự động nhưng cần có thời gian và dữ liệu thu thập được phải rõ ràng. Để có được một hệ thống phát hiện xâm nhập tốt nhất ta tiến hành kết hợp cả hai phương pháp trên trong cùng một hệ thống. Hệ thống kết hợp này sẽ cung cấp khả năng phát hiện nhiều loại tấn công hơn và hiệu quả hơn. CÁCH PHÁT HIỆN KIỂU TẤN CÔNG THÔNG DỤNG CỦA IDS Tấn công từ chối dịch vụ (Denial of Service attack) Denial of service (DoS) attack có mục đích chung là đóng băng hay chặn đứng tài nguyên của hệ thống đích. Cuối cùng, mục tiêu trở nên không thể tiếp cận và không thể trả lời. DoS tấn công vào các mục tiêu bao gồm 3 dạng là mạng, hệ thống và ứng dụng. Phá hoại Network: kiểu tấn công SYN flood là một dạng tấn công từ chối dịch vụ, kẻ tấn công sẽ gửi các gói tin kết nối SYN đến hệ thống… Phá hoại hệ thống: bao gồm thiết bị như Ping of Death, Teardrop.. các kiểu tấn công nhằm lợi dụng lỗ hổng trên hệ điều hành nhằm phá hoại, gây quá tải hệ thống. Sự kiện này có thể xảy ra bằng cách gửi gói tin có định dạng khác thường tới hệ thống và thiết bị, chúng có thể được tạo ra bằng các công cụ tấn công được lập trình trước. Phá hoại ứng dụng: bằng cách lợi dụng điểm yếu trên ứng dụng, cơ sở dữ liệu, email, trang web,… Ví dụ như một email rất dài hay một số lượng email lớn có thể gây quá tải cho server của các ứng dụng đó. Giải pháp của IDS: Một firewall dạng proxy rất hiệu quả để ngăn chặn các gói tin không mong muốn từ bên ngoài, tuy nhiên Network IDS có thể phát hiện được các tấn công dạng gói tin. Quét và thăm dò (Scanning và Probe) Bộ quét và thăm dò tự động tìm kiếm hệ thống trên mạng để xác định điểm yếu. Tuy các công cụ này được thiết kế cho mục đích phân tích để phòng ngừa, nhưng hacker có thể được sử dụng để gây hại cho hệ thống. Các công cụ quét và thăm dò như: SATAN, ISS Internet Scanner…. Việc thăm dò có thể được thực hiện bằng cách ping đến hệ thống cũng như kiểm tra các cổng TCP và UDP để phát hiện ra ứng dụng có những lỗi đã được biết đến. Vì vậy các công cụ này có thể là công cụ đắc lực cho mục đích xâm nhập. Giải pháp của IDS: Network-based IDS có thể phát hiện các hành động nguy hiểm trước khi chúng xảy ra. Host-based IDS cũng có thể có tác dụng đối với kiểu tấn công này, nhưng không hiệu quả bằng giải pháp dựa trên mạng. Tấn công vào mật mã (Password attack) Có 3 phương thức tiếp cận đối với kiểu tấn công Passwork attack. Kiểu dễ nhận thấy nhất là ăn trộm mật mã, mang lại quyền hành cho kẻ tấn công có thể truy nhập tới mọi thông tin tại mọi thành phần trong mạng. Ví dụ về trộm mật mã: như nghe trộm mật mã gửi trên mạng, gửi thư, chương trình có kèm keylogger, trojan cho người quản trị. Đoán hay bẻ khóa mật mã là phương thức tiếp cận được gọi là brute force bằng cách thử nhiều mật mã để mong tìm được mật mã đúng. Với bẻ khóa, kẻ tấn công cần truy nhập tới mật mã đã được mã hóa, hay file chứa mật mã đã mã hóa, kẻ tấn công sử dụng chương trình đoán nhiều mã với thuật toán mã hóa có thể sử dụng được để xác định mã đúng. Với tốc độ máy tính hiện nay, việc bẻ khóa là rất hiệu quả trong trường hợp mật mã là từ có nghĩa (trong từ điển), bất cứ mã nào nhỏ hơn 6 ký tự, tên thông dụng và các phép hoán vị. Ví dụ đoán và bẻ khóa như: đoán từ tên, các thông tin cá nhân, từ các từ thông dụng (có thể dùng khi biết username mà không biết mật mã), sử dụng tài khoản khách rồi chiếm quyền quản trị; các phương thức tấn công như brute force, đoán mật mã đã mã hóa từ các từ trong từ điển… Giải pháp của IDS: Một Network-based IDS có thể phát hiện và ngăn chặn cố gắng đoán mã (có thể ghi nhận sau một số lần thử không thành công), nhưng nó không có hiệu quả trong việc phát hiện truy nhập trái phép tới file đã bị mã hóa. Trong khi đó Host-based IDS lại rất có hiệu quả trong việc phát hiện việc đoán mật mã cũng như phát hiện truy nhập trái phép tới file chứa mật mã. Chiếm đặc quyền (Privilege-grabbing) Khi kẻ tấn công đã xâm nhập được vào hệ thống, chúng sẽ cố chiếm quyền truy nhập. Khi thành công, chúng đã chiếm được hệ thống. Trong hệ điều hành UNIX, điều này nghĩa là trở thành “root”, ở Windows NT là “Administrator”, trên NetWare là “Supervisor”. Dưới đây là một số kỹ thuật thường dùng cho việc chiếm đặc quyền: Đoán hay bẻ khóa của root hay administrator Gây tràn bộ đệm Khai thác Windows NT registry Truy nhập và khai thác console đặc quyền Thăm dò file, scrip hay các lỗi của hệ điều hành và ứng dụng. Giải pháp của IDS: Cả Network và Host-based IDS đều có thể xác định việc thay đổi đặc quyền trái phép ngay lập tức, ở cấp phần mềm, do việc đó xảy ra trên thiết bị chủ. Cài đặt mã nguy hiểm (Hostile code insertion) Một số loại tấn công có thể cài đặt mã nguy hiểm vào hệ thống. Mã này có thể lấy trộm dữ liệu, gây từ chối dịch vụ, xóa file, hay tạo backdoor cho lần truy nhập trái phép tiếp theo. Ta có một số ví dụ về việc cài đặt mã nguy hiểm sau: Virus: chương trình hay đoạn mã mà khi thực thi sẽ dẫn đến một số hành động tự động, có hoặc không có hại, nhưng luôn dẫn đến việc tạo ra bản sao của file hệ thống, file của ứng dụng hay dữ liệu. Trojan Horse: một chương trình hay đoạn mã mà khi thực thi sẽ dẫn đến một số hành động tự động, thường có hại, nhưng không có mục đích nhân bản. Thường thì Trojan Horse được đặt tên hay mô tả như một chương trình mà người ta muốn sử dụng, nhưng thưc tế chúng kích hoạt các hành động có thể dẫn đến hỏng file hay hệ thống. Giải pháp của IDS: Cài đặt các phần mềm bảo mật có tác dụng chống virus và các đoạn mã nguy hiểm lên gateway, server và workstation là phương pháp hiệu quả nhất để giảm mức độ nguy hiểm. Hành động phá hoại trên máy móc (Cyber vandalism) Hành động phá hoại trên máy móc bao gồm: thay đổi trang web, xóa file, phá block khởi động và chương trình hệ điều hành, format ổ đĩa. Giải pháp của IDS: Đối với giải pháp của Host-based IDS, cài đặt và cấu hình cẩn thận có thể xác định được tất cả các vấn đề liên quan đến cyber vandalism. Network-based IDS thì có thể sử dụng dấu hiệu tấn công được định nghĩa trước để phát hiện chính xác việc truy nhập trái phép vào hệ điều hành, ứng dụng cũng như xóa file và thay đổi trang web. Tấn công hạ tầng bảo mật (Security infrastructure attack) Có nhiều loại tấn công can thiệp vào việc điều khiển cơ bản của cơ sở hạ tầng bảo mật, như tạo tường lửa trái phép, chỉnh sửa tài khoản của người dùng hay router, hay thay đổi quyền của file. Tấn công vào cơ sở hạ tầng cho phép kẻ xâm nhập có thêm quyền truy nhập hay tạo thêm nhiều đường xâm nhập vào hệ thống hay mạng. Giải pháp của IDS: Host-based IDS có thể bắt giữ các cuộc đăng nhập mà thực hiện những hành động như đưa thêm tài khoản có đặc quyền, hay router và firewall bị thay đổi một cách đáng nghi. CHƯƠNG III TRIỂN KHAI ỨNG DỤNG DÒ TÌM XÂM NHẬP TRÊN HỆ THỐNG WINDOW DỰA TRÊN SNORT GIỚI THIỆU VỀ SNORT Snort là một kiểu IDS (Instruction Detection System). Nói ngắn gọn IDS là một hệ thống được cài đặt trên mạng (hay máy tính) của bạn và nhiệm vụ của nó là giám sát những gói tin vào ra hệ thống của bạn. Nếu một cuộc tấn công được phát hiện bởi snort thì nó có thể phản ứng bằng nhiều cách khác nhau phụ thuộc vào cấu hình mà bạn thiết lập, chẳng hạn như nó có thể gởi thông điệp cảnh báo đến nhà quản trị hay loại bỏ gói tin khi phát hiện có sự bất thường trong các gói tin đó. Snort là một sản phẩm được phát triển dưới mô hình mã nguồn mở. Tuy Snort miễn phí nhưng nó lại có rất nhiều tính năng tuyệt vời mà không phải sản phẩm thương mại nào cũng có thể có được. Với kiến trúc thiết kế theo kiểu module, người dùng có thể tự tăng cường tính năng cho hệ thống Snort của mình bằng việc cài đặt hay viết thêm mới các module. Cơ sở dữ liệu luật của Snort đã lên tới 2930 luật và được cập nhật thường xuyên bởi một cộng đồng người sử dụng. Snort có thể chạy trên nhiều hệ thống nền như Windows, Linux, OpenBSD, FreeBSD, NetBSD, Solaris, HP-UX, AIX, IRIX, MacOS.. KIẾN TRÚC SNORT Snort bao gồm nhiều thành phần, với mỗi phần có một chức năng riêng. Các phần chính đó là: Module giải mã gói tin (Packet Decoder) Module tiền xử lý (Preprocessors) Module phát hiện (Detection Engine) Module log và cảnh báo (Logging and Alerting System) Module kết xuất thông tin (Output Module) Kiến trúc của Snort được mô tả trong hình sau: Hình 3.1. Mô hình kiến trúc hệ thống Snort Khi Snort hoạt động nó sẽ thực hiện việc lắng nghe và thu bắt tất cả các gói tin nào di chuyển qua nó. Các gói tin sau khi bị bắt được đưa vào Môđun Giải mã gói tin. Tiếp theo gói tin sẽ được đưa vào môđun Tiền xử lý, rồi môđun Phát hiện. Tại đây tùy theo việc có phát hiện được xâm nhập hay không mà gói tin có thể được bỏ qua để lưu thông tiếp hoặc được đưa vào module Log và cảnh báo để xử lý. Khi các cảnh báo được xác định thì module Kết xuất thông tin sẽ thực hiện việc đưa cảnh báo ra theo đúng định dạng mong muốn. Sau đây ta sẽ đi sâu vào chi tiết hơn về cơ chế hoạt động và chức năng của từng thành phần. THÀNH PHẦN VÀ CHỨC NĂNG CỦA SNORT Hình 3.2. Thành phần hệ thống của Snort Module giải mã gói tin (Packet Decoder) Chuyển những gói tin bắt được thành những cấu trúc và những định danh liên kết những tầng giao thức. Sau đó, nó làm ở tầng tiếp theo, mã hóa IP " TCP hay UDP hay loại giao thức khác "lấy những thông tin hứu ích như những cổng và những địa chỉ…Snort sẽ cảnh báo nếu nó tìm thấy những header không đúng cấu trúc, chiều dài TCP bất thường. Module tiền xử lý (Preprocessor) Hình 3.3. Bộ tiền sử lý Module tiền xử lý là một module rất quan trọng đối với bất kỳ một hệ thống IDS nào để có thể chuẩn bị gói dữ liệu đưa và cho module Phát hiện phân tích. Ba nhiệm vụ chính của các môđun loại này là: Kết hợp lại các gói tin: Khi một lượng dữ 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à phải thực hiện việc phân mảnh, chia gói tin ban đầu 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 việc ghép nối lại để có được dữ liệu nguyên dạng ban đầu, từ đó mới thực hiện được các công việc xử lý tiếp. Như ta đã biết khi một phiên làm việc của hệ thống diễn ra, sẽ có rất nhiều gói tin đuợc trao đổi trong phiên đó. Một gói tin riêng lẻ sẽ không có trạng thái và nếu công việc phát hiện xâm nhập chỉ dựa hoàn toàn vào gói tin đó sẽ không đem lại hiệu quả cao. 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 bị thất bại vì khi kiểm tra các giao thức thì dữ liệu có thể được thể hiện dưới nhiều dạng khác nhau. Ví dụ: một web server có thể chấp nhận nhiều dạng URL như URL được viết dưới dạng mã hexa/Unicode, URL chấp nhận cả dấu \ hay / hoặc nhiều ký tự này liên tiếp cùng lúc. Chẳng hạn ta có dấu hiệu nhận dạng “scripts/iisadmin”, kẻ tấn công có thể vượt qua được bằng cách tùy biến các yêu cấu gửi đến web server như sau: “scripts/./iisadmin” “scripts/examples/../iisadmin” “scripts\iisadmin” “scripts/.\iisadmin” Hoặc thực hiện việc mã hóa các chuỗi này dưới dạng khác. Nếu Snort chỉ thực hiện đơn thuần việc so sánh dữ liệu với dấu hiệu nhận dạng sẽ xảy ra tình trạng bỏ sót các hành vi xâm nhập. Do vậy, một số module 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 này để thông tin khi đưa đến module phát hiện có thể phát hiện được mà không bỏ sót. Hiện nay Snort đã hỗ trợ việc giải mã và chuẩn hóa cho các giao thức: telnet, http, rpc, arp. Phát hiện các xâm nhập bất thường: Các module tiề

Các file đính kèm theo tài liệu này:

  • docNoi dung KLTN-Kimtuyen.doc