Đã có nhiều phương pháp đượcphát triển để đảm bảo cho hạ tầng mạng và giao tiếp trên Internet như: sử dụng firewall,encryption mã hóa, VPN mạng riêng ảo… trong đó có hệ thống phát hiện x
Trang 1BỘ TÀI NGUYÊN VÀ MÔI TRƯỜNG
TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI
BÁO CÁO NGHIÊN CỨU KHOA HỌC
Đề tài: Nghiên cứu giải pháp phát hiện xâm nhập trái phép cho máy tính
tham gia mạng
Chủ nhiệm đề tài: Trịnh Thị Lý
Hà Nội, Năm 2013
Trang 2BỘ TÀI NGUYÊN VÀ MÔI TRƯỜNG
TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI
BÁO CÁO NGHIÊN CỨU KHOA HỌC
Đề tài: Nghiên cứu giải pháp phát hiện xâm nhập trái phép cho máy tính
Trang 3Chương 1 LỜI CẢM ƠN
Trước hết tôi xin gửi lời cảm ơn tới các Cán bộ, Giảng viên Khoa Công nghệ Thôngtin, các Cán bộ, Giảng viên trong Trường Đại học Tài nguyên và Môi trường Hà Nội đã góp
ý và tận tình giúp đỡ tôi trong suốt quá trình thực hiện đề tài nghiên cứu khoa học này
Tôi xin lời cảm ơn sâu sắc tới Phòng Khoa học Công nghệ và Hợp tác Quốc tế TrườngĐại học Tài nguyên và Môi trường Hà Nội đã tận tình chỉ dẫn và cung cấp các tài liệu quýbài cho tôi trong suốt thời gian thực hiện đề tài nghiên cứu khoa học
Cuối cùng tôi xin dành một tình cảm biết ơn tới gia đình và bạn bè, những người đãluôn ở bên cạnh tôi, động viên, chia sẻ cùng tôi trong suốt thời gian thực hiện đề tài nghiêncứu khoa học “Nghiên cứu giải pháp phát hiện xâm nhập trái phép cho máy tính tham giamạng”
Trang 4MỤC LỤC
Trang
MỞ ĐẦU 1
Chương 1 TỔNG QUAN VỀ AN NINH MẠNG 1.1 Vấn đề an ninh bảo mật thông tin tại Việt Nam 2
1.1.1 Thực trạng và nguyên nhân 2
1.1.2 Giải pháp về mặt kỹ thuật 3
1.2 Những mối đe dọa 4
1.2.1 Mối đe dọa không có cấu trúc ( Untructured threat) 4
1.2.2 Mối đe dọa có cấu trúc ( Structured threat) 4
1.2.3 Mối đe dọa từ bên ngoài (External threat) 4
1.2.4 Mối đe dọa từ bên trong ( Internal threat ) 5
1.3 Các phương thức tấn công ( Attack methods) 5
1.3.1 Tấn công từ chối dịch vụ 5
1.3.2 Thăm dò (Reconnaisance) 9
1.3.3 Truy nhập (Access) 9
Chương 2 SƠ LƯỢC VỀ HỆ THỐNG IDS 2.1 Giới thiệu cơ bản về IDS 10
2.1.1 Định nghĩa 10
2.1.2 Chức năng 10
Trang 52.1.3 Phân loại 10
2.1.4 Hoạt động của IDS 15
2.1.5 Cấu trúc hệ thống IDS 15
2.1.6 Các phương pháp nhận diện 17
Chương 3 XÂY DỰNG MÔ HÌNH SẢN PHẨM 3.1 Giới thiệu về Snort 19
3.1.1.Các thành phần cơ bản của Snort: 19
3.1.2 File cấu hình 24
3.2 Cài đặt và cấu hình Snort 40
3.2.1 Các bước cài đặt và cấu hình 40
3.2.2 Các chế độ hoạt động 44
3.3 Mô hình bài toán 46
3.3.1 Bài toán 1 46
3.3.2 Bài toán 2 48
HKẾT LUẬN VÀ KIẾN NGHỊ 49
KẾT LUẬN VÀ KIẾN NGHỊ 50
TÀI LIỆU THAM KHẢO 51
Trang 6MỞ ĐẦU
Ngày nay với sự phát triển mạnh mẽ của công nghệ thông tin và truyền thông, mạngmáy tính đang trở thành một phương tiện điều hành thiết yếu trong mọi lĩnh vực hoạt độngcủa toàn xã hội Khả năng kết nối trên toàn thế giới đang mang lại thuận tiện cho tất cả mọingười, nhưng nó cũng tiềm ẩn những nguy cơ khó lường đe dọa tới mọi mặt của đời sống xãhội Việc mất trộm thông tin trên mạng gây ảnh hưởng đến tính riêng tư cho các cá nhân,những vụ lừa đảo, tấn công từ chối dịch vụ gây ảnh hưởng lớn đến hoạt động kinh doanhcho các công ty và gây phiền toái cho người sử dụng mạng máy tính…làm cho vấn đề bảomật trên mạng luôn là một vấn đề nóng hổi và thời sự ngay từ khi mạng máy tính mới được
ra đời
Bảo mật là một vấn đề lớn đối với tất cả các mạng trong môi trường doanh nghiệp ngàynay Hacker và Intruder (kẻ xâm nhập) đã nhiều lần thành công trong việc xâm nhập vàomạng công ty và đem ra ngoài rất nhiều thông tin giá trị Đã có nhiều phương pháp đượcphát triển để đảm bảo cho hạ tầng mạng và giao tiếp trên Internet như: sử dụng firewall,encryption (mã hóa), VPN (mạng riêng ảo)… trong đó có hệ thống phát hiện xâm nhập.Phát hiện xâm nhập là một tập những công nghệ và phương thức dùng để phát hiệnhành động khả nghi trên cả host và mạng Sử dụng phương thức phát hiện xâm nhập, bạn cóthể thu thập, sử dụng thông tin từ những loại tấn công đã biết để tìm ra một ai đó cố gắng tấncông vào mạng hay máy cá nhân Thông tin thu thập theo cách này có thể sử dụng làm chomạng chúng ta an toàn hơn, nó hoàn toàn hợp pháp Sản phẩm thương mại và mã nguồn mởđều sẵn có cho mục đích này
Do yêu cầu thực tế trên tôi lựa chọn đề tài nghiên cứu khoa học là: “Nghiên cứu giảipháp phát hiện xâm nhập trái phép cho máy tính tham gia mạng” Mục đích của đề tài là xâydựng một giải pháp phát hiện các xâm nhập trái phép và cảnh báo cho người quản trị hoặcchuyển đến các firewall cài đặt trong mạng
Trang 7Chương 2 TỔNG QUAN VỀ AN NINH MẠNG 2.1 Vấn đề an ninh bảo mật thông tin tại Việt Nam
2.1.1 Thực trạng và nguyên nhân
Hiện nay, việc phát triển công nghệ thông tin nhằm khai thác tối đa hiệu quả của nóvào công việc là một trong những nhiệm vụ quan trọng nhằm đi đến thành công của mỗidoanh nghiệp Lợi ích mà nó mang lại là rất lớn, nhưng bên cạnh đó, thiệt hại mà nó gây racũng khiến các doanh nghiệp gặp không ít những khó khăn trong vẫn đề bảo mật thông tin.Các doanh nghiệp Việt Nam vẫn chưa có sự đầu tư đúng mức về công nghệ bảo mật cũngnhư về con người Một số nguyên nhân sau mà các doanh nghiệp đang mắc phải đó là:
a) Sai lầm trong cách nghĩ, sự chủ quan trong hành động
Một số doanh nghiệp cho rằng thông tin trên website của họ không đáng giá, khôngthực sự quan trọng và cũng ít lượng truy cập nên không cần thiết phải làm bảo mật một cáchchuyên nghiệp
Nhân viên trong doanh nghiệp cũng chưa thực sự hiểu biết, hoặc chủ quan trong vấn đềbảo mật thông tin ví dụ viết password của hệ thống lên giấy dán lên tường, hoặc vô tìnhcung cấp thông tin này ở những nơi công cộng
b) Rụt rè trong vấn đề đầu tư vào cơ sở hạ tầng
Các doanh nghiệp nhận thấy rằng chi phí cho một hệ thống bảo mật là không hề nhỏ.Một hệ thống bảo mật toàn diện ứng dụng cho các doanh nghiệp quy mô nhỏ đã có thể lênđến cả trăm ngàn đo la Mỹ, cộng với cách nghĩ chủ quan như đã đề cập ở trên nên các doanhnghiệp vẫn còn lơ là thậm chí là bỏ qua trong vấn đề này
c) Nguồn nhân lực cho bảo mật, an ninh mạng chưa mạnh
Tại Việt Nam chưa có trường Đại học hoặc sau đại học đào tạo chuyên sâu về vấn đềnày Hầu hết những ai có khả năng hiện nay trong lĩnh vực này chủ yếu là tự học hỏi, rènluyện thực tế Những người có chứng chỉ bảo mật của nước ngoài còn quá ít và chưa hẳn đãđáp ứng được nhu cầu công việc cụ thể trên mạng Việt
Trang 82.1.2 Giải pháp về mặt kỹ thuật
a) Xây dựng hệ thống chống lại sự truy nhập trái phép – Firewall
Khi máy tính kết nối với Internet hay trong một môi trường mạng cục bộ, khi đó tất cảcác giao tiếp của mạng nội bộ với thế giới bên ngoài coi như bỏ ngỏ, mọi thông tin dữ liệutrên máy tính của mạng nội bộ không có sự bảo vệ, không có những chính sách bảo mật, cơhội bị mất hay thất thoát là điều không thể tránh khỏi Để hạn chế tình trạng này và cũng là
để góp phần làm tăng khả năng bảo mật thì việc xây dựng hệ thống tường lửa Firewall làđiều kiện không thể thiếu
Firewall là một kỹ thuật được tích hợp vào hệ thống mạng để chống lại sự truy cập tráiphép nhằm bảo vệ các nguồn thông tin nội bộ cũng như hạn chế sự xâm nhập vào hệ thốngcủa một số hacker hay gián điệp Firewall được miêu tả như là hệ thống phòng thủ baoquanh với các “chốt” kết nối để kiểm soát tất cả các luồng thông tin nhập xuất Firewall cóthể theo dõi và khóa truy cập tại các chốt này
Firewall có thể là thiết bị phần cứng hoặc chương trình phần mềm hoặc kết hợp cả hai.Trong mọi trường hợp, nó phải có ít nhất hai giao tiếp mạng, một cho mạng mà nó bảo vệ,một cho mạng bên ngoài Firewall có thể là gateway hoặc điểm nối liền giữa hai mạng,thường là một mạng riêng và một mạng công cộng như Internet
Nhược điểm của Firewall là:
Firewall không đủ thông minh như con người để có thể đọc hiểu từng loại thông tin
và phân tích nội dung tốt hay xấu của nó Firewall chỉ có thể ngăn chặn sự xâm nhập củanhững nguồn thông tin không mong muốn nhưng phải xác định rõ các thông số địa chỉ
Firewall không thể ngăn chặn một cuộc tấn công nếu cuộc tấn công này không điqua nó Một cách cụ thể, firewall không thể chống lại một cuộc tấn công từ một đường dial-
up, hoặc sự dò rỉ thông tin do dữ liệu bị sao chép bất hợp pháp lên đĩa mềm
Firewall cũng không thể chống lại các cuộc tấn công bằng dữ liệu Khi có một sốchương trình được chuyển theo thư điện tử, vượt qua firewall vào trong mạng được bảo vệ
và bắt đầu hoạt động ở đây
Firewall không thể làm nhiệm vụ rà quét virus trên các dữ liệu được chuyển qua nó.b) Xây dựng hệ thống phát hiện xâm nhập, truy nhập trái phép IDS
Trang 9Phát hiện xâm nhập là quá trình giám sát các sự kiện xảy ra trong một hệ thống máytính hoặc mạng và phân tích chúng để tìm ra các dấu hiệu của sự xâm nhập Các dấu hiệunày được định nghĩa là việc thực hiện các hành động bất hợp pháp hoặc vượt qua những cơchế bảo mật của máy tính hay của mạng Các vụ xâm nhập có thể là do kẻ tấn công truy cậpvào hệ thống từ Internet, do những người dùng hợp pháp của hệ thống muốn đạt được sựtruy cập vào các đặc quyền mà họ không được phép, do những người dùng hợp pháp làmdụng đặc quyền của họ Các hệ thống phát hiện xâm nhập là các sản phẩm cứng hoặc phầnmềm trợ giúp quá trình giám sát và phân tích xâm nhập
2.2 Những mối đe dọa
2.2.1 Mối đe dọa không có cấu trúc ( Untructured threat)
Hầu hết tấn công không có cấu trúc đều được gây ra bởi Script Kiddies (những kẻ tấncông chỉ sử dụng các công cụ được cung cấp, không có hoặc có ít khả năng lập trình) haynhững người có trình độ vừa phải Hầu hết các cuộc tấn công đó vì sở thích cá nhân, nhưngcũng có nhiều cuộc tấn công có ý đồ xấu
Mặc dù tính chuyên môn của các cuộc tấn công dạng này không cao nhưng nó vẫn làmột mối nguy hại lớn
2.2.2 Mối đe dọa có cấu trúc ( Structured threat)
Structured threat là các hành động cố ý, có động cơ và kỹ thuật cao Không như ScriptKiddes, những kẻ tấn công này có đủ kỹ năng để hiểu các công cụ, có thể chỉnh sửa các công
cụ hiện tại cũng như tạo ra các công cụ mới Động cơ thường thấy có thể vì tiền, hoạt độngchính trị, tức giận hay báo thù Các cuộc tấn công này thường có mục đích từ trước Cáccuộc tấn công như vậy thường gây hậu quả nghiêm trọng cho hệ thống Một cuộc tấn côngstructured thành công có thể gây nên sự phá hủy cho toàn hệ thống
2.2.3 Mối đe dọa từ bên ngoài (External threat)
External threat là các cuộc tấn công được tạo ra khi không có một quyền nào trong hệthống Người dùng trên toàn thế giới thông qua Internet đều có thể thực hiện các cuộc tấncông như vậy
Các hệ thống bảo vệ vành đai là tuyến bảo vệ đầu tiên chống lại external threat Bằngcách gia tăng hệ thống bảo vệ vành đai, ta có thể giảm tác động của kiểu tấn công này xuống
Trang 10tối thiểu Mối đe dọa từ bên ngoài là mối đe dọa mà các công ty thường phải bỏ nhiều tiền
và thời gian để ngăn ngừa
2.2.4 Mối đe dọa từ bên trong ( Internal threat )
Các cách tấn công từ bên trong được thực hiện từ một khu vực được tin cậy trongmạng Mối đe dọa này khó phòng chống hơn vì các nhân viên có thể truy cập mạng và dữliệu bí mật của công ty Mối đe dọa ở bên trong thường được thực hiện bởi các nhân viên bấtbình, muốn “quay mặt” lại với công ty Nhiều phương pháp bảo mật liên quan đến vành đaicủa mạng, bảo vệ mạng bên trong khỏi các kết nối bên ngoài, như là Internet Khi vành đaicủa mạng được bảo mật, các phần tin cậy bên trong có khuynh hướng bị bớt nghiêm ngặthơn Khi một kẻ xâm nhập vượt qua vỏ bọc bảo mật cứng cáp đó của mạng, mọi chuyện cònlại thường là rất đơn giản
Đôi khi các cuộc tấn công dạng structured vào hệ thống được thực hiện với sự giúp đỡcủa người bên trong hệ thống Trong trường hợp đó, kẻ tấn công trở thành structured internalthreat, kẻ tấn công có thể gây hại nghiên trọng cho hệ thống và ăn trộm tài nguyên quantrọng của công ty Structured internel threat là kiểu tấn công nguy hiểm nhất cho mọi hệthống
2.3 Các phương thức tấn công ( Attack methods)
2.3.1 Tấn công từ chối dịch vụ
Mục tiêu của cuộc tấn công từ chối dịch vụ là ngăn chặn người dùng hợp pháp sử dụngnhững dịch vụ mà họ thường nhận được từ các máy chủ Các cuộc tấn công như vậy thườngbuộc máy tính mục tiêu phải xử lý một số lượng lớn những thứ vô dụng, hy vọng máy tínhnày sẽ tiêu thụ tất cả các nguồn tài nguyên quan trọng Một cuộc tấn công từ chối dịch vụ cóthể được phát sinh từ một máy tính duy nhất (DoS), hoặc từ một nhóm các máy tính phân bốtrên mạng Internet (DDoS)
DoS có các hình thức cơ bản sau:
Smurf là một loại tấn công DoS điển hình Máy của attacker sẽ gởi rất nhiều lệnh pingđến một số lượng lớn máy tính trong một thời gian ngắn trong đó địa chỉ IP nguồn của góiICMP echo sẽ được thay thế bởi địa chỉ IP của nạn nhân Các máy tính này sẽ trả lại các gói
Trang 11ICMP reply đến máy nạn nhân Buộc phải xử lý một số lượng quá lớn các gói ICMP replytrong một thời gian ngắn khiến tài nguyên của máy bị cạn kiệt và máy sẽ bị sụp đổ.
Hình 1.1 Tấn công Smurf
DDoS (Distributed DoS) có cơ chế hoạt động:
Attackers thường sử dụng Trojan để kiểm soát cùng lúc nhiều máy tính nối mạng.Attacker cài đặt một phần mềm đặc biệt (phần mềm zombie) lên các máy tính này (máy tínhzombie) để tạo ra một đội quân zombie (botnet) nhằm tấn công DoS sau này trên máy nạnnhân Phát hành một lệnh tấn công vào các máy tính zombie để khởi động một cuộc tấn côngDoS trên cùng một mục tiêu (máy nạn nhân) cùng một lúc
Trang 12Hình 1.2 Tấn công DDoS bằng Zombie
Kiểu tấn công ping of death dùng giao thức ICMP Bình thường, ping được dùng đểkiểm tra xem một host có sống hay không Một lệnh ping thông thường có hai thông điệpecho request và echo reply
Tiến trình ping bình thường diễn ra như sau:
C:\>ping 192.168.10.10
Pinging 192.168.10.10 with 32 bytes of data:
Reply from 192.168.10.10: bytes=32 time=1ms TTL=150
Reply from 192.168.10.10: bytes=32 time=1ms TTL=150
Reply from 192.168.10.10: bytes=32 time=1ms TTL=150
Reply from 192.168.10.10: bytes=32 time=1ms TTL=150
Ping statistics for 192.168.10.10:
Trang 13Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 1ms, Maximum = 1ms, Average = 1ms
Khi tấn bằng Ping of Death, một gói tin echo được gửi có kích thước lớn hơn kíchthước cho phép là 65,536 bytes Gói tin sẽ bị chia nhỏ ra thành các segment nhỏ hơn, nhưngkhi máy đích ráp lại, host đích nhận thấy rằng là gói tin quá lớn đối với buffer bên nhận Kếtquả là hệ thống không thể quản lý nổi tình trạng bất thường này và sẽ reboot hoặc bị treo
Sử dụng thủ tục bắt tay của giao thức TCP để thực hiện việc tấn công Kẻ tấn công(máy A) gửi đi thật nhiều yêu cầu kết nối (SYN packet) đến máy nạn nhân (máy B) Theođúng thủ tục bắt tay, máy nạn nhân sẽ gửi lại ngần ấy yêu cầu kết nối tới máy A bằng góiSYN-ACK Lúc này máy nạn nhân sẽ làm lãng phí băng thông của nó Do A có ý định tấncông B nên sẽ không gửi trả lại B gói ACK để xác nhận kết nối Máy B rơi vào trạng tháiphải chờ các kết nối ko có thực của A Và khi B lãng phí băng thông cho kết nối với A đếnmột mức tới hạn nào đó, các yêu cầu kết nối hợp lệ khác đến sau sẽ không được B chấp nhậnnữa Số lượng băng thông của kiểu tấn công này là không lớn, mặc dù nếu vận dụng cách tấncông này được kết hợp thực hiện trên một tỉ lệ rất lớn máy tính thì cũng có thể ảnh hưởngđến băng thông của 1 máy chủ website
Trang 143.1.1 Thăm dò (Reconnaisance)
Reconnaissance là việc thăm dò và ánh xạ bản đồ hệ thống, dịch vụ hay điểm yếu mộtcách trái phép Nó cũng được biết như việc thu thập thông tin, và trong nhiều trường hợp làhành động xảy ra trước việc xâm nhập hay tấn công từ chối dịch vụ
Việc thăm dò thường được thực hiện bằng các công cụ hay câu lệnh có sẵn trên hệ điềuhành Ta có các bước cơ bản của việc thăm dò như sau:
Bước 1: Ping quét để kiểm tra bản đồ IP.
Bước 2: Sử dụng port scanner để kiểm tra dịch vụ và cổng mở trên IP đó, có nhiều
công cụ như vậy, như Nmap, SATAN,…
Bước 3: Truy vấn các cổng để xác định loại, phiên bản của ứng dụng, hệ điều hành Bước 4: Xác định điểm yếu tồn tại trên hệ thống dựa trên các bước trên
Một kẻ tấn công ban đầu thường rà quét bằng lệnh ping tới mục tiêu để xác định địa chỉ
IP nào còn tồn tại, sau đó quét các cổng để xác định xem dịch vụ mạng hoặc mạng nào cổngnào đang mở Từ những thông tin đó, kẻ tấn công truy vấn tới các port để xác định loại,version của ứng dụng và cả của hệ điều hành đang chạy Từ những thông tin tìm được, kẻtấn công có thể xác định những lỗ hổng có trên hệ thống để phá hoại
3.1.2 Truy nhập (Access)
Access là chỉ việc thao túng dữ liệu, truy nhập hệ thống hay leo thang đặc quyền tráiphép Truy nhập vào hệ thống là khả năng của kẻ xâm nhập để truy nhập vào thiết bị màkhông có tài khoản hay mật khẩu Việc xâm nhập đó thường được thực hiện bằng cách sửdụng các công cụ, đoạn mã hack nhằm tấn công vào điểm yếu của hệ thống hay ứng dụng.Trong một số trường hợp kẻ xâm nhập muốn lấy quyền truy nhập mà không thực sự cần lấytrộm thông tin, đặc biệt khi động cơ của việc xâm nhập là do thách thức hay tò mò
Phương thức xâm nhập rất đa dạng Phương thức đầu tiên là lấy mật mã của tàikhoản.Tài khoản và mật mã cũng có thể lấy được bằng các phương pháp nghe trộm từ bướcthăm dò như Man-In-The-Middle attack, cho phép kẻ xâm nhập dễ dàng thu được nhiềuthông tin Khi đã lấy được tài khoản, kẻ tấn công có thể vào hệ thống như người dùng hợppháp bình thường, và nếu tài khoản đó có đặc quyền lớn thì kẻ xâm nhập có thể tạo rabackdoor cho các lần xâm nhập sau
Trang 15Chương 4
SƠ LƯỢC VỀ HỆ THỐNG IDS
4.1 Giới thiệu cơ bản về IDS
4.1.1 Định nghĩa
IDS (Intrusion Detection System) là hệ thống giám sát lưu thông mạng (có thể là mộtphần cứng hoặc phần mềm), có khả năng nhận biết những hoạt động khả nghi hay nhữnghành động xâm nhập trái phép trên hệ thống mạng trong tiến trình tấn công (FootPrinting,Scanning, Sniffer…), cung cấp thông tin nhận biết và đưa ra cảnh báo cho hệ thống, nhàquản trị
IDS còn có thể phân biệt giữa những tấn công từ bên trong (từ những người trong côngty) hay tấn công từ bên ngoài (từ các Hacker) IDS phát hiện dựa trên các dấu hiệu đặc biệt
về các nguy cơ đã biết (giống như cách các phần mềm diệt virus dựa vào các dấu hiệu đặcbiệt để phát hiện và diệt virus) hay dựa trên so sánh lưu thông mạng hiện tại với baseline(thông số chuẩn được thiết lập sẵn trong hệ thống) để tìm ra các dấu hiệu khác thường.IDS được coi là công cụ bảo mật vô cùng quan trọng, nó được lựa chọn là giải phápbảo mật được bổ sung cho Firewall
Cảnh báo: Khi đã biết được các hoạt động bất thường của một (hoặc một nhóm)
truy cập nào đó, IDS sẽ đưa ra cảnh báo cho hệ thống và người quản trị
Trang 164.1.3 Phân loại
Base IDS (NIDS)
Hình 2.1 Mô hình NIDS
Hệ thống NIDS dựa trên mạng sử dụng bộ dò và bộ bộ cảm biến cài đặt trên toànmạ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ớinhữ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 thunhậ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 haydấ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ằmtìm ra biện pháp ngăn chặn những xâm nhập xa hơn NIDS là tập nhiều bộ cảm biến đượcđặt ở toàn mạng để theo dõi những gói tin trong mạng so sánh 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êngbiệ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ượngmạ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ạnghoạt động ở mức cao
*) Ưu điểm:
Trang 17- 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
*) Nhược điểm:
- Có thể xảy ra trường hợp báo động giả (false positive), tức không có xâm nhập màNIDS báo là có
- 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 đượcphá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ạinhữ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êmvà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ộtkí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ẫunhỏ 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ượngchồ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áihợ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ệuphâ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
Trang 18Chương 6 Host Based IDS (HIDS)
Hình 2.2 Mô hình 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ủ, IPS 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 thuthậ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 Thêm nữa là, hệ thống dựa trênmáy chủ 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) Không phải tất cả các cuộc tấn công được thực hiện qua mạng Bằngcách giành quyền truy cập ở mức vật lý (physical access) vào một hệ thống máy tính, kẻ xâmnhập có thể tấn công một hệ thống hay dữ liệu mà không cần phải tạo ra bất cứ lưu lượngmạng (network traffic) nào cả Hệ thống dựa trên máy chủ có thể phát hiện các cuộc tấncông mà không đi qua đường public hay mạng được theo dõi, hay thực hiện từ cổng điềukhiển (console), nhưng với một kẻ xâm nhập có hiểu biết, có kiến thức về hệ IDS thì hắn cóthể nhanh chóng tắt tất cả các phần mềm phát hiện khi đã có quyền truy cập vật lý Một ưuđiểm khác của IDS dựa trên máy chủ là nó có thể ngăn chặn các kiểu tấn công dùng sự phânmảnh Vì một host phải nhận và tái hợp các phân mảnh khi xử lí lưu lượng nên IDS dựa trênhost có thể giám sát chuyện này HIDS thường được cài đặt trên một máy tính nhất định
Trang 19Thay 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ênmộ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 trongvù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átcá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ặcnhững thay đổi khả nghi trên hệ thống file sẽ gây ra báo động
*) Ư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
*) Hạn chế
- 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ànhcô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
Trang 206.1.1 Hoạt động của IDS
Nhiệm vụ 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ộctấn công và có thể đẩy lùi nó Phát hiện vụ tấn công thù địch phụ thuộc vào số lượng và loạihành động thích hợp
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ú ý của kẻ xâm nhập từcác hệ thống cần bảo vệ sang các hệ thống giả lập là nhiệm vụ của 1 dạng IDS riêng biệt( Honeypot IDS), cả hai hệ thống thực và giả lập được liên tục giám sát và dữ liệu thu đượcđược kiểm tra cẩn thận (đây là công việc chính của mỗi hệ IDS) để phát hiện các cuộc tấncông có thể (xâm nhập) Một khi xâm nhập một đã được phát hiện, hệ thống IDS phát cáccảnh báo đến người quản trị về sự kiện này Bước tiếp theo được thực hiện, hoặc bởi cácquản trị viên hoặc bởi chính hệ thống IDS, bằng cách áp dụng các biện pháp đối phó (chấmdứt phiên làm việc, sao lưu hệ thống, định tuyến các kết nối đến Honeypot IDS hoặc sử dụngcác cơ sở hạ tầng pháp lý…) – tùy thuộc vào chính sách an ninh của mỗi tổ chức
Hình 2.3 Quá trình của ISD
6.1.2 Cấu trúc hệ thống IDS
Các thành phần cơ bản:
Trang 21Hình 2.4 Các thành phần của một IDS
Kiến trúc của hệ thống IDS bao gồm các thành phần:
Thành phần thu thập gói tin (information collection),
Thành phần phân tích gói tin (Detection),
Thành phần phản hồi (respontion) nếu gói tin đó được phát hiện là một tấn công củatin tặc
Trong ba thành phần này thì thành phần phân tích gói tin (bộ cảm biến) là quan trongnhất, thành phần bộ cảm biến đóng vai trò quyết định
Bộ cảm biến được tích hợp với thành phần sưu tập dữ liệu 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 Số chính sách này cùng vớithông tin chính sách có thể được lưu trong hệ thống được bảo vệ hoặc bên ngoài Trongtrường hợp nào đó, ví dụ khi luồng dữ liệu sự kiện được truyền tải trực tiếp đến bộ phân tích
mà không có sự lưu dữ liệu nào được thực hiện Điều này cũng lien quan một chút nào đóđến các gói mạng
6.1.3 Các phương pháp nhận diện
Các hệ thống IDS thường dùng nhiều phương pháp nhận diện khác nhau, riêng rẽ hoặc
Trang 22pháp nhận diện chính là: Signature-base Detection, Anormaly-base Detection và StatefulProtocol Analysis.
a) Nhận diện dựa vào dấu hiệu (Signature-base Detection)
Signature-base Detection sử dụng phương pháp so sánh các dấu hiệu của đối tượng
quan sát với các dấu hiệu của các mối nguy hại đã biết Phương pháp này có hiệu quả vớicác mối nguy hại đã biết nhưng hầu như không có hiệu quả hoặc hiệu quả rất ít đối với cácmối nguy hại chưa biết,các mối nguy hại sử dụng kỹ thuật lẩn tránh (evasion techniques),
hoặc các biến thể Signature-based Detection không thể theo vết và nhận diện trạng thái của
các truyền thông phức tạp
b) Nhận diện sự bất thường (Abnormaly-base Detection)
Abnormaly-base Detection so sánh định nghĩa của những hoạt động bình thường và đối
tượng quan sát nhằm xác định các độ lệch Một hệ IDS sử dụng phương pháp base detection có các profiles đặc trưng cho các hành vi được coi là bình thường, được pháttriển bằng cách giám sát các đặc điểm của hoạt động tiêu biểu trong một 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ê để sosá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
Anormaly-Profile sử dụng bởi phương pháp này có 2 loại là static và dynamic:
-Static profilekhô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à 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
c) 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ủamỗ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 Anomaly-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ôngnê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
Trang 23và 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.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ântí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íchtrạ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 đặctính của tập các hành vi chấp nhận của giao thức.
Trang 24Chương 7 XÂY DỰNG MÔ HÌNH SẢN PHẨM 7.1 Giới thiệu về Snort
Snort có thể thực hiện phân tích giao thức và tìm kiếm nội dung, từ đó phát hiện nhiềukiểu thăm dò và tấn công như buffer-overflow, stealth ports scanning, thăm dò SMB Đểlàm được điều này, Snort dùng một loại ngôn ngữ mô tả các quy tắc giao thông mạng mà nó
sẽ thu thập hoặc bỏ qua, cũng như sử dụng cơ chế phát hiện xâm nhập theo kiến trúcmodular plug-ins Nó cũng có khả năng cảnh báo tức thời, kết hợp với các cơ chế cảnh báosyslog, tập tin người dùng chỉ định, Unix socket hoặc Winpopup message
Snort có thể sử dụng với 4 kiểu chính:
Packet sniffer như tcpdump
Packet logger
Hệ thống phát hiện và phòng chống xâm nhập hoàn chỉnh
7.1.1 Các thành phần cơ bản của Snort:
Packet Decoder: Chuẩn bị gói cho việc xử lý
Preprocessor hay Input Plugin: Dùng để bình thường hóa tiêu đề giao thức, phát hiện
sự bất thường, tái hợp gói và tái hợp luồng TCP
Detection Engine: Áp dụng rules lên gói
Logging and Alerting System: Sinh thông điệp cảnh báo và ghi log file
Output Modules: Xử lý cảnh báo, ghi và sinh kết quả cuối cùng
Trang 25Hình 3.1 Mô hình các thành phần của Snort
Packet Decoder là một thiết bị (có thể là phần cứng hoặc là phần mềm) được gắn vàotrong hệ thống mạng, có chức năng lắng nghe tất cả các dữ liệu được trao đổi trên hệ thốngmạng, phân tích gói dữ liệu thô bắt được trên mạng và phục hồi thành gói dữ liệu hoàn chỉnh
ở lớp application, làm input cho hệ thống dectection engine
Vấn đề quan trọng đặt ra cho hệ thống này đó là tốc độ xử lý gói dữ liệu, nếu tốc độ xử
lý chậm sẽ làm cho hiệu năng của SNORT giảm sút do “nghe sót”
Hình 3.2 Packet Decoder
Preprocessors là những thành phần hay những plug-in được sử dụng cùng với IDS đểsắp xếp và thay đổi những gói dữ liệu trước khi detection engine thực hiện công việc tìmkiếm nếu gói dữ liệu đó là nguy hiểm Một vài preprocessor còn có thể thực hiện tìm ranhững dấu hiệu bất thường trong tiêu đề gói và sinh ra cảnh báo Preprocessor rất là quantrọng đối với IDS nhằm chuẩn bị những gói dữ liệu để phân tích cho việc thiết lập rule trong
Trang 26Hình 3.3 Preprocessor
Detection engine là thành phần quan trọng nhất trong hệ thống IDS Nó chịu tráchnhiệm phát hiện nếu có hành vi xâm nhập trong một gói Trong mô hình hệ thống sử dụng
Snort Detection Engine tận dụng những rule của Snort để làm việc này Những rule được
đọc trong cấu trúc dữ liệu bên trong hay buộc chặt chúng vào nơi mà chúng sẽ so khớp vớitất cả các gói Nếu một gói nào đó khớp với rule, hành động thích hợp sẽ sinh ra, chẳng hạngói đó sẽ bị hủy Những hành động đó có thể là ghi gói hay sinh cảnh báo
Detection Engine là một phần tiêu chuẩn thời gian (time-critical) của Snort Phụ thuộc
vào sức khỏe của hệ thống bạn và có bao nhiêu rule được định nghĩa, nó có thể tiêu tốn baonhiêu thời gian cho công việc đáp ứng các gói này Nếu lưu lượng trên hệ thống mạng củabạn là khá cao khi Snort làm việc trong chế độ NIDS, bạn có thể hủy những gói Sự vậnhành của Detection engine phụ thuộc vào các yêu tố sau:
Số rule trên đó
Sức khỏe của hệ thống trên đó có Snort đang chạy
Thông lượng bên trong đó
Sức vận hành trên mạng
Khi thiết kế một NIDS, bạn phải giữ tất cả hồ sơ kỹ thuật trong đó Nên nhớ rằng hệthống phát hiện có thể khảo sát tỉ mỉ và áp dụng rule trên nhiều phần của gói dữ liệu Nhữngphần này có thể là:
IP header của gói
Header lớp transport Header gồm: TCP, UDP, và những header lớp transport khác
Nó cũng có thể làm việc trên ICMP header
Trang 27 Header lớp application Nó gồm có: DNS header, FTP header, SNMP header, SMTPheader Bạn có thể phải sử dụng nhiều phương pháp trực tiếp tại header lớp application,chẳng hạn như tìm kiếm offset của dữ liệu.
Payload của dữ liệu Điều này giúp bạn tạo ra một rule dùng cho detection engine đểtìm một chuỗi bên trong dữ liệu
Detection Engine làm việc khác nhau trong mỗi phiên bản Snort khác nhau Trong tất
cả phiên bản Snort 1.x, detection engine ngừng xử lý trên gói đó khi một rule được so khớptrên gói đó Phụ thuộc vào rule, detection engine thực hiện những hành động thích hợp nhưghi log file hay sinh một cảnh báo Điều này có nghĩa là nếu một gói khớp với tiêu chuầnđược định nghĩa trong nhiều rule, chỉ rule đầu tiên được áp dụng vào gói đó mà không tìmkiếm sự so khớp khác Đây là một vấn đề Một rule thiếu trọn vẹn sẽ sinh ra một cảnh báokhông trọn vẹn, thâm chí nếu một rule khá đầy đủ (tương ứng với một cảnh báo tốt) có thểnằm sau rule trước nó Vấn đề này đã được sửa trong Snort phiên bản 2, tất cả các rule đềuđược so khớp vào một gói trước khi sinh một cảnh báo Sau khi so khớp tất cả các rule, rulenào trọn vẹn nhất sẽ được chọn để sinh cảnh báo
Detection engine trong Snort 2.0 đã được làm lại một cách hoàn chỉnh để nó so sánh tốthơn, phát hiện sớm hơn so với các phiên bản trước
Hình 3.4 Detection engine
Hệ thống Logging & Alerting dùng để thông báo cho quản trị mạng và ghi nhận lại cáchành động xâm nhập hệ thống Hiện tại có 3 dạng logging và 5 kiểu alerting Các dạng
Trang 28 Dạng Decoded: dạng log thô nhất, cho phép thực hiện nhanh, thích hợp với dân Pro.
Dạng nhị phân tcpdump: theo dạng tương tự như tcpdump và ghi vào đĩa nhanhchóng, thích hợp với những hệ thống đòi hỏi performance cao
Dạng cây thư mục IP: Sắp sếp hệ thống log theo cấu trúc cây thư mục IP, dễ hiểuđối với người dùng
Các dạng alerting:
Ghi alert vào syslog
Ghi alert vào trong file text
Gửi thông điệp Winpopup dùng chương trình smbclient
Full alert: ghi lại thông điệp alert cùng với nội dung gói dữ liệu
Fast alert: chỉ ghi nhận lại header của gói dữ liệu.Cách này thường dùng trong các
hệ thống cần performance cao
Mặc định tất cả những log file được lưu trong snort/log Bạn có thể sử dụng dòng lệnh
“–l” để thay đổi vị trí sinh log file hay cảnh báo Có nhiều lựa chọn dòng lệnh sẽ được thảo luận trong phần sau và chi tiết thông tin về cách ghi log file hay cảnh báo
Hình 3.5 Logging and Alerting System
Output modules hay plug-in thực hiện những hoạt động khác nhau phụ thuộc bạn muốnlưu kết quả sinh ra bởi logging và cảnh báo thế nào Về cơ bản, những modules này điều