Phát hiện tấn công, xâm nhập trái phép vào các hệ thống máy tính và mạng thường được sử dụng như lớp phòng vệ thứ 2 trong mô hình “Phòng vệ nhiều lớp có chiều sâu” trong việc đảm bảo an toàn cho các hệ thống máy tính và mạng. Nhiều kỹ thuật đã được nghiên cứu và triển khai trong hiện tấn công, xâm nhập mạng, như phát hiện dựa trên phân tích lưu lượng mạng, phát hiện dựa trên phân tích header gói tin và phát hiện dựa trên phân tích sâu gói tin (Deep Packet Inspection).
Trang 1LỜI CẢM ƠN
Với lòng kính trọng và biết ơn sâu sắc, em xin chân thành cảm ơn cácthầy cô giáo tại trường Học viện kỹ thuật Mật mã về sự dạy bảo của thầy côtrong quá trình em học tại trường
Em xin đặc biệt cảm ơn Giảng viên TS Hoàng Xuân Dậu, KhoaCông nghệ thông tin I, Học viện Công nghệ Bưu Chính Viễn Thông, người đãhướng dẫn trực tiếp, chỉ bảo tận tình cho em Đồ án này sẽ khó có thể hoànthành nếu thiếu sự giúp đỡ, khuyến khích và những ý kiến đóng góp quýbáu của thầy
Cảm ơn bố mẹ, em gái, bạn bè và các bạn trong lớp ATTT8C đã luônbên cạnh cổ vũ, động viên tinh thần để em có thể vượt qua mọi khó khăn
Đồ án được thực hiện trong thời gian ngắn, mặc dù cố gắng tìm hiểunhưng do kiến thức có hạn nên chắc chắn vẫn còn nhiều thiếu sót Rất mongthầy cô góp ý để đồ án được hoàn hiện hơn
Cuối cùng, em xin kính chúc các thầy, cô và gia đình luôn luôn mạnhkhỏe và thành công hơn nữa trong sự nghiệp cao quý
Xin chân thành cảm ơn
Hà Nội, tháng 5 năm 2016 Sinh viên thực hiện
Trang 2
MỤC LỤC
Trang 3DANH MỤC KÝ HIỆU VÀ VIẾT TẮT
ISP Internet Service Provider
CERT Computer Emergency Response TeamCSRF Cross Site Request Forgery
DDoS Distributed Denial of Service
HIDS Host Based Intrusion Detection SystemIDES Intrusion Detection Expert System
IDS Intrusion Detection System
IPS Intrusion Prevention System
NIDS Network-Based intrusion detection system
TCP Transmission Control Protocol
Trang 4DANH MỤC HÌNH VẼ, BẢNG
Trang 5LỜI NÓI ĐẦU
Phát hiện tấn công, xâm nhập trái phép vào các hệ thống máy tính vàmạng thường được sử dụng như lớp phòng vệ thứ 2 trong mô hình “Phòng vệnhiều lớp có chiều sâu” trong việc đảm bảo an toàn cho các hệ thống máy tính
và mạng Nhiều kỹ thuật đã được nghiên cứu và triển khai trong hiện tấncông, xâm nhập mạng, như phát hiện dựa trên phân tích lưu lượng mạng, pháthiện dựa trên phân tích header gói tin và phát hiện dựa trên phân tích sâu góitin (Deep Packet Inspection) Kỹ thuật phát hiện dựa trên phân tích sâu gói tin
có nhiều ưu điểm, đặc biệt trong phát hiện sự lây lan của các phần mềm độchại, như sâu mạng Do vậy, việc tiếp tục nghiên cứu và triển khai mô hìnhphát hiện xâm nhập mạng dựa trên phân tích sâu gói tin là cần thiết
Vì vậy em chọn đề tài “Phát hiện xâm nhập mạng dựa trên phân tích sâu gói tin” Trên cơ sở phân tích các gói tin TCP/IP truyền trên mạng, các
dạng tấn công, xâm nhập mạng, đồ án này đã được thực hiện với những nộidung chính như sau:
Chương 1 Tổng quan phát hiện, xâm nhập mạng: Chương này trình
bày một cách tổng quan về các loại tấn công, xâm nhập mạng thường gặp;Khái quát về phát hiện xâm nhập, các hệ thống phát hiện xâm nhập: phân loại,các kỹ thuật phát hiện xâm nhập Từ đó, đồ án đưa ra hướng tiếp cận giảiquyết bài toán xây dựng hệ thống phát hiện xâm nhập
Chương 2 Phân tích sâu gói tin dựa trên n-gram và ứng dụng trong phát hiện xâm nhập mạng: Nội dung chương này trình bày cơ sở lý
thuyết được áp dụng vào quá trình xây dựng mô hình bao gồm: cơ sở lýthuyết về phân tích sâu gói tin, thuật toán Mahalanobis và ứng dụng thuậttoán học máy tăng dần
Chương 3 Cài đặt và thử nghiệm: Chương này tập trung vào phương
pháp kết hợp các cơ sở lý thuyết nghiên cứu trong chương 2 áp dụng vào quátrình xây dựng mô hình phát hiện mô hình đột nhập Dựa trên kết quả cài đặtthử nghiệm, đồ án đưa ra những đánh giá, nhận xét cho mô hình
Mặc dù em đã nỗ lực hoàn thành đề tài này nhưng do còn những hạnchế về thời gian và hiểu biết của bản thân nên không tránh khỏi những thiếu
Trang 6sót Vì vậy, em mong nhận được sự góp ý của các thầy cô và các bạn để phục
vụ thêm cho công tác học tập và nghiên cứu của mình trong tương lai
Trang 7CHƯƠNG 1: TỔNG QUAN VỀ PHÁT HIỆN
XÂM NHẬP MẠNG
Chương 1 trình bày khái quát về tấn công, xâm nhập mạng, các biệnpháp phòng chống và các kỹ thuật phát hiện xâm nhập mạng Cụ thể, phầnđầu đồ án đưa ra một số khái niệm về mối đe dọa, điểm yếu, tấn công, cáccông cụ hỗ trợ tấn công, các dạng tấn công phá hoại, các dạng phần mềm độchại Từ đó đưa ra các biện pháp chung phòng chống tấn công mạng Phần tiếptheo trong chương này sẽ trình bày về các kỹ thuật phát hiện tấn công, xâmnhập mạng, phân loại các hệ thống phát hiện đột nhập đã và đang được ápdụng trong thực tế Cuối cùng là phần đặt vấn đề và đưa ra hướng giải quyếtbài toán trong đồ án này
1.1 Khái quát về tấn công mạng và các biện pháp phòng chống
1.1.1 Khái quát về mối đe dọa, điểm yếu và tấn công
1.1.1.1 Mối đe dọa
Mối đe dọa (Threat) là bất kỳ một hành động nào có thể gây hư hại đếncác tài nguyên hệ thống (gồm phần cứng, phần mềm, CSDL, các file, dữliệu,hoặc hạ tầng mạng vật lý, …) Các mối đe dọa thường gặp bao gồm :+ Phần mềm độc hại
+ Hư hỏng phần cứng hoặc phần mềm
+ Kẻ tấn công ở bên trong
+ Mất trộm các thiết bị
+ Kẻ tấn công ở bên ngoài
+ Tai họa thiên nhiên
+ Gián điệp công nghiệp
+ Khủng bố phá hoại
Trên thực tế, không phải tất cả các mối đe dọa là độc hại Một số mối đedọa là cố ý, nhưng một số khác có thể chỉ là ngẫu nhiên, hoặc vô tình
Trang 8+ Lỗi tràn bộ đệm (buffer overflows)
+ Không kiểm tra đầu vào (unvalidated input)
+ Các vấn đề với điều khiển truy cập (access-control problems)
+ Các điểm yếu trong xác thực, trao quyền (weaknesses in
authentication, authorization)
+ Các điểm yếu trong các hệ mật mã (weaknesses in cryptographicpractices)
1.1.1.4 Quan hệ giữa các mối đe dọa và lỗ hổng
Các mối đe dọa thường khai thác một hoặc một số lỗ hổng đã biết đểthực hiện các cuộc tấn công phá hoại Nếu tồn tại một lỗ hổng trong hệ thống,
sẽ có khả năng một mối đe dọa trở thành hiện thực Không thể triệt tiêu đượchết các mối đe dọa, nhưng có thể giảm thiểu các lỗ hổng, qua đó giảm thiểukhả năng bị tận dụng để tấn công Một cuộc tấn công (attack) vào hệ thốngmáy tính hoặc các tài nguyên mạng được thực hiện bằng cách khai thác các lỗhổng tồn tại trong hệ thống Có thể kết luận như sau:
Tấn công = Mối đe dọa + Lỗ hổng
1.1.2 Phân loại tấn công, xâm nhập
Dựa trên hình thức tấn công, có hai kiểu tấn công là: Tấn công chủ động
và tấn công thụ động Tấn công chủ động (Active attacks) liên quan đến việcsửa đổi dữ liệu trên đường truyền, sửa đổi dữ liệu trong file, giành quyền truynhập trái phép vào máy tính hoặc hệ thống mạng Tấn công chủ động là một
Trang 9đột nhập (intrusion) về mặt vật lý Ngược lại, tấn công thụ động (Passiveattacks) thường không gây ra thay đổi trên hệ thống, mà thực ở dạng nghetrộm hoặc giám sát lưu lượng trên đường truyền.
Có thể chia các dạng tấn công, xâm nhập thành 4 loại chính như sau :
• Giả mạo (Fabrications): Giả mạo thông tin thường để đánh lừa ngườidùng thông thường
• Chặn bắt (Interceptions): Liên quan đến việc nghe trộm trên đườngtruyền và chuyển hướng thông tin để sử dụng trái phép
• Gây ngắt quãng (Interruptions): Gây ngắt kênh truyền thông ngăn cảnviệc truyền dữ liệu
• Sửa đổi (Modifications): Liên quan đến việc sửa đổi thông tin trênđường truyền hoặc sửa đổi dữ liệu file
1.1.3 Các dạng tấn công điển hình
1.1.3.1 Tấn công vào mật khẩu
Tấn công vào mật khẩu là dạng tấn công nhằm đánh cắp mật khẩu vàthông tin tài khoản nhằm vượt qua các bước xác thực của hệ thống, giả mạo
và lợi dụng đặc quyền của nạn nhân Tên người dùng và đặc biệt là mật khẩunếu không được mã hóa có thể bị đánh cắp trên đường truyền từ máy kháchđến máy chủ, cũng có thể bị đánh cắp thông qua các dạng tấn công XSS hoặcSocial Engineering (lừa đảo, bẫy người dùng cung cấp thông tin) Nếu kẻ tấncông có tên người dùng và mật khẩu, hắn có thể đăng nhập vào tài khoản vàthực hiện các thao tác như người dùng bình thường
Các dạng tấn công vào mật khẩu:
• Tấn công dựa trên từ điển (Dictionary attack): Là dạng tấn công vàothói quen người dùng thường có xu hướng sử dụng mật khẩu là các từ
có nghĩa, đơn giản thường có sẵn trong từ điển cho dễ nhớ Kẻ tấn công
sẽ thử tất cả các trường hợp có trong từ điển để nhanh chóng tìm ra mậtkhẩu chính xác.[2]
• Tấn công vét cạn (Brute force attacks): Là dạng tấn công sử dụng tổhợp các ký tự và thử tự động Phương pháp này thường sử dụng với các
Trang 10mật khẩu đã được mã hóa Kẻ tấn công sử dụng tổ hợp ký tự, sau đó mãhóa với cùng thuật toán hệ thống sử dụng, và so sánh chuỗi mã hóa vớichuỗi mà mật khẩu thu thập được Nếu hai bản mã trùng nhau thì tổhợp ký tự là mật khẩu đúng.[1].
• Tấn công kết hợp: Là phương pháp sử dụng cả tấn công từ điển và tấncông vét cạn Kẻ tấn công thường sử dụng phương pháp này khi đã biếtđược một số thông tin về nạn nhân như: Tên, ngày sinh của các thànhviên trong gia đình, tên vật nuôi, biển số xe,… nhằm tiết kiệm thờigian
1.1.3.2 Tấn công chèn mã độc
Tấn công chèn mã độc (Malicious Code Injection) là dạng tấn công rấtphổ biến, lợi dụng các lỗ hổng về lập trình hoặc cấu hình hệ thống khi khôngkiểm tra (hoặc kiểm tra yếu) dữ liệu đầu vào Kẻ tấn công có thể chèn mã độcvào dữ liệu nhập và thực thi chúng trên hệ thống nạn nhân Các dạng tấn côngchèn mã độc có thể gồm tấn công tràn bộ đệm, tấn công lợi dụng lỗi khôngkiểm tra đầu và một số dạng tấn công chèn mã khác
a) Tấn công tràn bộ đệm (Buffer Overflow) là một điều kiện bất thường khi
một tiến trình lưu dữ liệu vượt ra ngoài biên của một bộ nhớ đệm cóchiều dài cố định Kết quả là dữ liệu đó sẽ được ghi đè lên các vị trí bộnhớ liền kề [1] Các lỗi tràn bộ đệm là lỗi lập trình có thể gây ra mộtngoại lệ truy nhập bộ nhớ máy tính và chương trình bị kết thúc, hoặc khingười dùng có ý phá hoại, họ có thể lợi dụng lỗi này để phá vỡ an ninh hệthống Tuy nhiên, không phải tất cả các lỗi tràn bộ đệm có thể bị khaithác bởi kẻ tấn công
b) Tấn công lợi dụng lỗi không kiểm tra đầu vào có 2 dạng chính : Tấn công
chèn mã SQL (SQL Injection) và tấn công script kiểu XSS, CSRF
Tấn công chèn mã SQL là kỹ thuật cho phép kẻ tấn công chèn mã SQLvào dữ liệu gửi đến máy chủ và đoạn mã được thực thi trên máy chủ cơ sở dữliệu SQL Injection cho phép kẻ tấn công có thể vượt qua các bước xác thựcngười dùng, đánh cắp hoặc thay đổi thông tin trong cơ sở dữ liệu, thậm chí làchiếm quyền điều khiển hệ thống
Trang 11Tấn công script kiểu XSS, CSRF là dạng tấn công phổ biến nhất vào cácứng dụng web XSS là dạng tấn công mà trong đó, kẻ tấn công lợi dụng các lỗhổng của các ứng dụng web để có thể lưu các đoạn mã thực thi (script) trênserver, khi nạn nhân truy cập đến server, đoạn mã độc sẽ thực thi trên trìnhduyệt của nạn nhân [1] Với cách tấn công này kẻ tấn công có thể đánh cắpthông tin nhạy cảm của người dùng, dẫn người dùng đến trang web giả mạo,ghi phím gõ, cấu hình router, CSRF là kỹ thuật tấn công bằng cách sử dụngquyền chứng thực của người dùng đối với một website CSRF là kỹ thuật tấncông vào người dùng, dựa vào đó tin tặc có thể thực thi những thao tác phảiyêu cầu sự chứng thực Hiểu một cách đơn giản, đây là kỹ thuật tấn công dựavào mượn quyền trái phép.
c) Một số dạng tấn công chèn mã khác: Ngoài ra còn có rất nhiều các kỹ
thuật tấn công chèn mã độc khác như: PHP Injection, File Injection, …Bất kì một chương trình, ứng dụng hay hệ thống yêu cầu dữ liệu đầu vàođều có thể tồn tại lỗ hổng kẻ tấn công có thể lợi dụng để thực hiện cáccuộc tấn công chèn mã độc
1.1.3.3 Tấn công từ chối dịch vụ
Tấn công từ chối dịch vụ (DoS - Denial of Service Attacks)[1] là dạngtấn công cản trở người dùng hợp pháp truy nhập các tài nguyên hệ thống Có
2 loại tấn công DoS chính là :
• Tấn công logic (Logic attacks) là dạng tấn công dựa vào các lỗi phầnmềm làm dịch vụ ngừng hoạt động hoặc làm giảm hiệu năng hệthống
• Tấn công gây ngập lụt (Flooding attacks) là dạng tấn công mà trong
đó kẻ tấn công gửi một lượng lớn yêu cầu gây cạn kiệt tài nguyên hệthống hoặc băng thông đường truyền mạng
1.1.3.4 Tấn công từ chối dịch vụ phân tán
Tấn công từ chối dịch vụ phân tán (DDoS - Distributed Denial of ServiceAttacks) là một loại tấn công DoS đặc biệt, có liên quan đến việc gây ngập lụtcác máy nạn nhân với một lượng rất lớn các yêu cầu kết nối giả mạo DDoS
Trang 12khác DoS ở phạm vi tấn công Kẻ tấn công chiếm quyền điều khiển hàng trămthậm chí hàng ngàn máy tính trên mạng Internet, sau đó cài các chương trìnhtấn công tự động (Automated agents, còn gọi là zombies hay bots) lên cácmáy này Tiếp theo kẻ tấn công ra lệnh cho các Automated agents đồng loạttạo các yêu cầu giả mạo gửi đến các máy nạn nhân Lượng yêu cầu giả mạo
có thể rất lớn và đến từ rất nhiều nguồn khác nhau nên rất khó đối phó và lầnvết để tìm ra kẻ tấn công Hình 1.1 minh họa một mô hình tấn công DDoS
Hình 1.1 : Mô hình tấn công DDoS
1.1.3.5 Tấn công giả mạo địa chỉ
Tấn công giả mạo địa chỉ IP (IP Spoofing): Là dạng tấn công trong đó kẻtấn công sử dụng địa chỉ IP giả, thường để đánh lừa máy nạn nhân để vượtqua các hàng rào kiểm soát an ninh thông thường Nếu kẻ tấn công giả địa chỉ
IP là địa chỉ cục bộ của mạng LAN, hắn có thể có nhiều cơ hội đột nhập vàocác máy khác trong mạng LAN do chính sách kiểm soát an ninh với các máytrong mạng LAN thường được giảm nhẹ Nếu router hoặc firewall của mạngkhông được cấu hình để nhận ra IP giả mạo của mạng LAN nội bộ kẻ tấncông có thể thực hiện
Trang 131.1.3.6 Tấn công nghe trộm
Tấn công nghe trộm là dạng tấn công sử dụng thiết bị phần cứng hoặcphần mềm, lắng nghe trên card mạng, hub hoặc router để bắt các gói tin dùngcho phân tích về sau Kẻ tấn công bí mật, âm thầm thu thập thông tin, lắngnghe các gói tin trên đường truyền Các công cụ thường được sử dụng như :các công cụ rà quét, các công cụ bắt gói tin trên đường truyền, spyware,keylogger, [2] Mô hình tấn công nghe trộm được mô tả như Hình 1.2
Hình 1.2 : Môt mô hình của dạng tấn công nghe trộm
1.1.3.7 Tấn công kiểu người đứng giữa
Tấn công người đứng giữa (Man in the middle) thường lợi dụng quátrình chuyển gói tin đi qua nhiều trạm (hop) thuộc các mạng khác nhau Kẻtấn công chặn bắt các thông điệp giữa 2 bên tham gia truyền thông và chuyểnthông điệp lại cho bên kia Dạng tấn công này thường được sử dụng để đánhcắp thông tin Mô hình tấn công kiểu người đứng giữa trong Hình 1.3
Trang 14Hình 1.3: Mô hình tấn công kiểu người đứng giữa
1.1.3.8 Tấn công kiểu Social Engineering (Kỹ thuật xã hội)
Tấn công kiểu Social Engineering là dạng tấn công sử dụng các kỹ thuật
xã hội đã thuyết phục người dùng tiết lộ thông tin truy nhập hoặc các thôngtin có giá trị cho kẻ tấn công Kẻ tấn công có thể giả danh làm người có vị trícao hơn so với nạn nhân để có được sự tin tưởng Kẻ tấn công có thể mạonhận là người được ủy quyền của người có thẩm quyền để yêu cầu các nhânviên tiết lộ thông tin về cá nhân, tổ chức Kẻ tấn công cũng có thể lập trangweb giả để đánh lừa người dùng cung cấp các thông tin cá nhân và thông tintài khoản, thẻ tín dụng,…[2]
1.1.3.9 Phần mềm độc hại
Trang 15Hình 1.4 : Các dạng phần mềm độc hại
a) Backdoor (Cửa hậu) thường được các lập trình viên tạo ra, dùng để
gỡ rối và test chương trình Cửa hậu thường cho phép truy nhập trựctiếp vào hệ thống mà không qua các thủ tục kiểm tra an ninh thôngthường.[1] Khi cửa hậu được lập trình viên tạo ra để truy nhập hệthống bất hợp pháp, nó trở thành một mối đe doạ đến an ninh hệthống Rất khó phát hiện ra cửa hậu vì nó thường được thiết kế và càiđặt khéo léo, cửa hậu chỉ được kích hoạt trong một ngữ cảnh nào đó
b) Logic bombs (Bom logic) thường được “nhúng” vào các chương trình
bình thường và thường hẹn giờ để “phát nổ” trong một số điều kiện
cụ thể Điều kiện để bom “phát nổ” có thể là sự xuất hiện hoặc biếnmất của các files cụ thể Một ngày nào đó, hoặc một ngày trong tuần.Khi “phát nổ” bom logic có thể xoá dữ liệu, files, tắt cả hệ thống
Ví dụ: Quả bom logic do Tim Lloyd cài lại đã “phát nổ” tại công tyOmega Engieering vào ngày 30/7/1996, 20 ngày sau khi Tim Lloyd bị
sa thải Bom logic này đã xoá sạch các bản thiết kế và các chươngtrình, gây thiệt hại khoảng 10 triệu USD Tim Lloyd bị phạt 2 triệuUSD và 41 tháng tù
c) Trojan horses (lấy tên theo tích “Con ngựa thành Troy”) là phần mềm
chứa mã độc, thường giả danh những chương trình có ích, nhằm lừangười dùng kích hoạt chúng Trojan horses thường được sử dụng đểthực thi gián tiếp các tác vụ, mà tác giả của chúng không thể thựchiện trực tiếp do không có quyền truy nhập.[2] Ví dụ, trong một hệthống nhiều người dùng, một người dùng có thể tạo ra một trojan độilốt một chương trình hữu ích đặt ở thư mục chung Khi trojan nàyđược thực thi bởi một người dùng khác, nó sẽ cho phép tất cả cácngười dùng truy nhập vào các files của người dùng đó
d) Zombie là một chương trình được thiết kế để giành quyền kiểm soát
một máy tính có kết nối Internet, và sử dụng máy tính bị kiểm soát đểtấn công các hệ thống khác Các zombies (còn được gọi là bots)thường được dùng để tấn công DDoS các máy chủ hoặc website lớn.Tin tặc sử dụng zombie để chiếm quyền điều khiền một lượng rất lớn
Trang 16máy tính, hình thành mạng máy tính ma (botnet) sử dụng cho gửispam mails và tấn công DDoS Rất khó để lần vết và phát hiện ra tácgiả tạo ra và điều khiển các zombies.
e) Virus là một chương trình có thể “nhiễm” vào các chương trình khác,
bằng cách sửa đổi các chương trình này Nếu các chương trình đã bịsửa đổi chứa virus được kích hoạt thì virus sẽ tiếp tục “lây nhiễm”sang các chương trình khác Giống như virus sinh học, virus máy tínhcũng có khả năng tự nhân bản, tự lây nhiễm sang các chương trìnhkhác mà nó tiếp xúc Có nhiều con đường lây nhiễm virus: Sao chépfile, email, gọi các ứng dụng và dịch vụ qua mạng, Virus có thểthực hiện được mọi việc mà một chương trình thông thường có thểthực hiện Khi đã lây nhiễm vào một chương trình, virus tự độngđược thực hiện khi chương trình này chạy.[2]
f) Sâu (Worms) là chương trình có khả năng tự lây nhiễm từ máy này
sang máy khác mà không cần sự trợ giúp của người dùng (khácviruses) Khi sâu lây nhiễm vào một máy, nó sử dụng máy này làm
“bàn đạp” để tiếp tục tấn công các máy khác Các sâu trên mạng sửdụng kết nối mạng để lây lan từ máy này sang máy khác Khi sâuhoạt động, nó tương tự virus
1.1.4 Các biện pháp phòng chống
Với các hình thức tấn công rất đa dạng, một hệ thống đảm bảo an toànyêu cầu phải có phòng vệ nhiều lớp theo chiều sâu (Defence in Depth), tức làtạo ra nhiều lớp bảo vệ, kết hợp tính năng tác dụng của mỗi lớp nhằm đảmbảo an toàn tối đa cho hệ thống và mạng Các biện pháp đảm bảo an toànthường được sử dụng kết hợp bao gồm:
+ Mã hóa dữ liệu (Data Encryption): Là phương pháp chuyển đổi dữ liệu
từ dạng thông thường sang dạng không thể đọc được Quá trình ngược lại với
mã hóa là giải mã
+ Bảo vệ vật lý (Physical): Là biện pháp giới hạn đối tượng tiếp cận với
các thiết bị vật lý của hệ thống Thiết lập các vùng giới hạn, khóa cửa, tổ chứcđội bảo vệ, lắp đặt hệ thống giám sát, báo động, …
Trang 17+ Đào tạo con người: Là một trong các biện pháp quan trọng nhất Hầu
hết các sự cố xảy ra đều do sự bất cẩn của con người vì vậy cần tổ chức đàotạo các kỹ năng đảm bảo an toàn thông tin, xây dựng ý thức, gán trách nhiệmcho các nhân viên,
+ Điều khiển truy cập (Access Control): Mỗi đối tượng trong hệ thống sẽ
có những quyền truy cập khác nhau đến một số tài nguyên nhất định (file, thưmục, tài nguyên vật lý, …) Dựa vào những quyền này, hệ thống sẽ cho phépmột đối tượng truy cập đến tài nguyên hệ thống hoặc là từ chối
+ Xác thực (Authentication):Là quá trình xác định một đối tượng có hợp
lệ hay không Các yếu tố thường dùng để xác thực người dùng : “Thông tinngười dùng sở hữu”, “Thông tin người dùng biết” và “Thông tin thuộc vềngười dùng”
+ Lọc thông tin (Filter): Là phương pháp theo dõi, phát hiện kịp thời các
dữ liệu, tiến trình không hợp lệ Phương pháp này giúp phát hiện, ngăn chặnsớm các cuộc tấn công, giảm tải cho hệ thống Các công cụ được sử dụng phổbiến như : Tường lửa (firewall), chương trình diệt virus (anti-virus), hệ thốngphát hiện và ngăn chặn tấn công, xâm nhập (IDS/IPS), …
1.2 Phát hiện tấn công, xâm nhập mạng
1.2.1 Khái quát về phát hiện tấn công, xâm nhập mạng
Hệ thống phát hiện tấn công, xâm nhập (Intrusion Detection System IDS) là hệ thống phần cứng hoặc phần mềm có chức năng phát hiện và cảnhbáo đối với bất kỳ sự xâm nhập bất hợp pháp nào từ bên ngoài vào một hệthống.[3] Khác với tường lửa, IDS không thực hiện các thao tác ngăn chặntruy xuất mà chỉ theo dõi các hoạt động trên mạng để tìm ra các dấu hiệu củatấn công và cảnh báo Kiến trúc thông thường của một hệ thống IDS gồm 3thành phần chính như minh họa trên Hình 1.5
Trang 18-Hình 1.5: Kiến trúc thông thường của IDS.
• Thành phần thu thập thông tin: Thành phần này sẽ thu thập tất cả cácthông tin liên quan như: Gói tin truyền trong mạng, lưu lượng mạng,các log file hay các hành vi của hệ thống, thông tin của hệ thống(CPU, bộ nhớ, …) Thông thường các gói tin có địa chỉ không phảicủa một card mạng thì sẽ bị card mạng đó huỷ bỏ nhưng card mạngcủa IDS được đặt ở chế độ thu nhận tất cả Tất cả các gói tin quachúng đều được sao lưu, xử lý, phân tích đến từng trường thông tin
Bộ phận thu thập gói tin sẽ đọc thông tin từng trường trong gói tin,xác định chúng thuộc kiểu gói tin nào, dịch vụ gì Các thông tin nàyđược chuyển đến thành phần phân tích phát hiện tấn công
• Thành phần phân tích thông tin: Thành phần này chứa bộ cảm biếnđóng vai trò quyết định của IDS Vai trò của bộ cảm biến là dùng đểlọc thông tin và loại bỏ những thông tin dữ liệu không tương thích đạtđược từ các sự kiện liên quan tới hệ thống bảo vệ, vì vậy có thể pháthiện được các hành động nghi ngờ Thông tin sẽ được xử lý về dạngchuẩn, sau đó hệ thống sẽ quyết định trạng thái hiện tại có phải là tấncông hay không Giám sát các thành phần, là bộ phận xử lí chính củaIDS, nhận các sự kiện từ các bộ phận thu thập thông tin Các sự kiệnnày được tập hợp lại và sinh ra các cảnh báo
• Thành phần cảnh báo: Là bộ giải quyết nhận các báo cáo nghi ngờ từthành phần phân tích thông tin và quyết định phản ứng thích hợp –ghi log, thay đổi hành vi của các bộ phận cấp thấp hơn, cấu hình lạibiện pháp an ninh khác và thông báo cho người điều hành Từ kết quảcủa giai đoạn trước, thành phần này sẽ quyết định hình thức phản hồi
có thể là gửi cảnh báo đến bộ phận ngăn chặn, thông báo tới ngườiquản trị hoặc ghi log file
1.2.2 Phân loại phát hiện tấn công, xâm nhập mạng
Có thể phân loại phát hiện tấn công, xâm nhập mạng theo 2 cách: Phânloại dựa trên nguồn dữ liệu và phân loại dựa trên kỹ thuật phát hiện Dựa trênnguồn dữ liệu, có thể chia các hệ thống phát hiện xâm nhập thành 2 loại: Hệ
Trang 19thống phát hiện xâm nhập cho host (Host-Based IDS, hoặc HIDS) và hệ thốngphát hiện xâm nhập cho mạng (Network-Based IDS, hoặc NIDS) Dựa trênphương pháp xử lý dữ liệu, có thể chia các kỹ thuật phát hiện thành 2 loạichính: Phát hiện dựa trên dấu hiệu hoặc chữ ký (Signature-Based) và pháthiện dựa trên bất thường (Anomaly-Based).
1.2.2.1 Phân loại IDS dựa trên nguồn dữ liệu
a) HIDS (Host-based intrusion detection system)
HIDS được cài đặt trên một host để theo dõi tính trạng hoạt động hoặccác hành vi xâm nhập vào chính host này Nó cung cấp các báo cáo đều đặntheo thời gian của bất kỳ sự thay đổi nào ở máy tính này từ tác động bên tronghay bên ngoài HIDS không giám sát hoạt động của cả một vùng mạng màthường được đặt trên các host quan trọng hay các server trong vùng DMZ(Demilitarized Zone) HIDS thu thập, phân tích các lời gọi hệ thống, sự thayđổi các file hệ thống, các tiến trình, mức độ sử dụng CPU, … Khi các giá trịnày vượt quá ngưỡng cho phép hoặc có dấu hiệu bất thường, HIDS sẽ sinh ra
cảnh báo Mô hình hệ thống các HIDS trong mạng minh họa trên Hình 1.6
Hình 1.6 : Mô hình hệ thống các HIDS trong mạng
Trang 20HIDS giám sát các hoạt động trên host và có thể dễ dàng phát hiện cáctấn công local-to-local hoặc tấn công local-to-root, bởi chúng có một kháiniệm rõ ràng về thông tin nội bộ phù hợp Cũng vậy, công cụ phát hiện dịthường có độ bao phủ tốt hơn đối với các vấn đề bên trong vì khả năng pháthiện của chúng được dựa vào mẫu hành vi thông thường của người dùng
Lợi thế của HIDS:
- Có khả năng xác định user liên quan tới một sự kiện (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, NIDSkhô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 tronglúc cuộc tấn công diễn ra trên host này
- HIDS cần tài nguyên trên host để hoạt động
b) NIDS (Network-Based intrusion detection system)
NIDS là hệ thống phát hiện đột nhập phân tích lưu lượng mạng được lấy
từ các hub, switch đã được cấu hình cổng theo dõi hoặc các nút mạng Môhình hệ thống NIDS minh họa trên Hình 1.7 NIDS theo dõi lưu lượng truycập đến và đi của tất cả các thiết bị trong phân đoạn mạng giám sát NIDSkhông thể phân tích các dữ liệu mã hóa Các thông tin có được từ việc giámsát hoạt động mạng như: Địa chỉ IP nguồn - đích, cổng nguồn – đích của cácgiao dịch TCP/UDP, các gói tin ICMP (Internet control message protocol) vớithông điệp không tìm thấy trạm đích, các máy chủ và dịch vụ đang được sửdụng trong mạng … Từ đó hệ thống phát hiện tấn công đột nhập có thể đưa racác cảnh báo, ví dụ: Máy trạm trong mạng có địa chỉ không được xác thực,máy trạm cố gắng sử dụng dịch vụ không được xác thực, máy trạm cố gắngkết nối tới một máy trạm cụ thể khác trong hoặc ngoài mạng …
Trang 21- NIDS ngoài luồng (out-stream): Không can thiệp trực tiếp vào luồng dữ liệu
mà chỉ sao chép phần dữ liệu của luồng và phân tích, phát hiện các dấu hiệucủa sự xâm nhập, tấn công
- NIDS trong luồng (in-stream): Nằm trước bức tường lửa, luồng dữ liệu phải
đi qua NIDS trước, có thêm chức nǎng chặn lưu thông
Hình 1.7: Mô hình hệ thống các NIDS trong mạng Lợi thế của NIDS:
+ Quản lý được cả một network segment (gồm nhiều host)
+ 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 Open SystemsInterconnection), độc lập với hệ điều hành
Hạn chế của NIDS:
+ Có thể xảy ra trường hợp báo động giả (false positive), tức không có xâmnhập mà NIDS báo là có xâm nhập
+ NIDS đòi hỏi phải được cập nhật các chữ ký mới nhất để thực sự an toàn
Có độ trễ giữa thời điểm bị tấn công 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
+ Hạn chế về giới hạn băng thông
Trang 22+ Tin tặc có thể tấn công bằng cách chia nhỏ dữ liệu ra để xâm nhập vào hệthống
+ Không cho biết việc tấn công có thành công hay không
1.2.2.2 Phân loại IDS dựa trên kỹ thuật phân tích dữ liệu
a) Phát hiện đột nhập dựa trên dấu hiệu (Signature-based)
Đây là phương pháp phát hiện đột nhập dựa trên những dấu hiệu đã biết.Các hệ thống IDS dạng này yêu cầu phải có cơ sở dữ liệu các dấu hiệu(Signature Database), đóng vai trò là mẫu so sánh khi IDS thu thập các thôngtin của hệ thống và mạng.[3] Độ chính xác của IDS phụ thuộc rất lớn vào cơ
sở dữ liệu Cơ sở dữ liệu phải luôn được cập nhập mỗi khi xuất hiện dạng tấncông mới, do đó hệ thống IDS sẽ không thể phát hiện các cuộc tấn công mớinếu cơ sở dữ liệu chưa được cập nhật
b) Phát hiện đột nhập dựa trên sự bất thường (Anomaly-based)
Đây là phương pháp phát hiện đột nhập bằng cách phân tích các đặcđiểm, hành vi của hệ thống và so sánh với các hoạt động thông thường của hệthống Nếu các hoạt động hiện tại không phù hợp với các hoạt động bìnhthường của hệ thống, IDS sẽ xác định là bất thường và gửi đi cảnh báo.[3].Một số kỹ thuật phát hiện bất thường như dựa trên ngưỡng, dựa trên thống kê,
sử dụng mô hình Markov, … Hệ thống phát hiện đột nhập dựa trên bất thường
có thể phát hiện được cả những dạng tấn công mới chưa từng xuất hiện trước
đó nhưng cũng dễ đưa ra cảnh báo nhầm
1.2.3 Các kỹ thuật phát hiện tấn công, xâm nhập mạng
Ngày nay có nhiều các kỹ thuật xử lý dữ liệu được áp dụng trong các
hệ thống phát hiện tấn công, xâm nhập Các kỹ thuật này có thể được sử dụngđơn lẻ hoặc kết hợp với nhau một cách linh hoạt nhằm đạt được kết quả tối ưunhất Trong phần này đồ án sẽ giới thiệu một số kỹ thuật phổ biến trong các
hệ thống phát hiện tấn công, xâm nhập hiện nay
1.2.3.1 Kỹ thuật đối sánh mẫu (Pattern Matching)
Trong phương pháp phát hiện xâm nhập mạng dựa trên đối sánhmẫu[11]., các mẫu tấn công và đột nhập được mô hình hoá, sau đó chúng
Trang 23được đối sánh các thông tin trên tiêu đề gói tin và nội dung gói tin để xác địnhtấn công, đột nhập Phương pháp này cũng có thể được sử dụng trong hệthống phát hiện xâm nhập dựa trên máy trạm thông qua việc ghép các từ đạidiện cho chuỗi các lời gọi hàm Với việc các dạng tấn công mới liên tục xuấthiện các loại mới dưới nhiều hình thức khác nhau nên số lượng mẫu trở nênrất lớn làm tăng chi phí tính toán khi đối sánh mẫu Để giải quyết hạn chế này,Abbes[11] đề xuất phương pháp kết hợp cách tiếp cận lý thuyết phân tíchgiao thức với kỹ thuật đối sánh truyền thống để cải thiện hiệu suất của kỹthuật đối sánh mẫu khi tìm kiếm dấu hiệu tấn công được sử dụng Việc phântích, kiểm tra mẫu được thực hiện trên phần tiêu đề của các gói dữ liệu hơn làtrong toàn bộ gói dữ liệu và nó được thực hiện thông qua việc xây dựng mộtcây quyết định Ưu điểm lớn nhất của phương pháp này làm giảm không giantìm kiếm các mẫu và tăng tốc độ đối sánh.
1.2.3.2 Kỹ thuật dựa trên tập luật
Hệ thống phát hiện xâm nhập dựa trên tập luật là một trong những kỹthuật đầu tiên sử dụng để phát hiện sự lạm dụng Các chuyên gia mã hóa cáckịch bản xâm nhập như là một bộ các quy tắc Một luật được kích hoạt trongquá trình xử lý đối sánh luật được báo cáo như một tấn công, xâm nhập Ví dụ
về các hệ thống dựa trên tập luật bao gồm: Hệ thống đa cảnh báo phát hiệnxâm nhập, hệ chuyên gia phát hiện xâm nhập IDES và hệ chuyên gia pháthiện xâm nhập thế hệ tiếp theo NIDES.[11]
Các mô hình phát hiện điển hình sử dụng kỹ thuật phát hiện bất thườngdựa trên tập luật là Wisdom & Sense[11] và NSM (Network System Monitor).[11] Wisdom & Sensor gồm hai thành phần: Kho tri thức và bộ cảm biến.Kho tri thức là tập hợp các luật mô tả hành vi bình thường của hệ thống dựatrên dữ liệu huấn luyện Khoảng 10.000 bản ghi thông tin về hành vi của mỗingười dùng được thu thập để tạo ra các luật Bộ cảm biến là một hệ chuyêngia phân tích hành vi người dùng dựa trên các luật của kho tri thức để pháthiện các hành vi vi phạm Mô hình giám sát bảo mật mạng NSM (NetworkSystem Monitor)[11] là một hệ thống phát hiện xâm nhập dựa trên luật nhằmphát hiện các hành vi dị thường trên mạng Đây là hệ thống phát hiện xâm
Trang 24nhập đầu tiên sử dụng nguồn dữ liệu là lưu lượng mạng trực tiếp Tất cả cáclưu lượng mạng quảng bá trên mạng LAN được giám sát bởi NSM Hồ sơ lưulượng mạng được tạo ra bằng cách tạo ra các vectơ kết nối từ dữ liệu mạng.Trong đó, các Vector chủ và các Vector kết nối là các đầu vào chính của hệchuyên gia trong NSM Hành vi xâm nhập được quyết định theo kết quả phântích của hệ chuyên gia NSM.
1.2.3.3 Kỹ thuật phát hiện dựa trên mô hình thống kê mở rộng
Kỹ thuật phát hiện dựa trên phân tích thống kê được Denning[11] đềxuất bao gồm tám thành phần: Chủ thể, đối tượng, bản ghi kiểm tra, thống kê
số liệu, mô hình thống kê, hồ sơ và mẫu hồ sơ, bản ghi bất thường và các quytắc hành động Một chủ thể có thể là một người dùng, một tiến trình, hoặc cả
hệ thống Các đối tượng có thể là các tập tin, chương trình và các thông báo.Bản ghi kiểm tra đại diện cho một tập hợp các hành động thực hiện bởi cácchủ thể lên các đối tượng Khi một sự kiện tạo ra các hồ sơ kiểm tra, mô hìnhthống kê kết hợp hồ sơ kiểm tra với hồ sơ lưu và sau đó đưa ra quyết định liênquan đến việc cập nhật hồ sơ, kiểm tra các hành vi bất thường và báo cáo các
dị thường được phát hiện Hồ sơ hoạt động bao gồm các biến đo lường khácnhau của hành vi hệ thống dựa trên số liệu thống kê được xác định trước Ýtưởng của mô hình phát hiện của Denning[11] được cài đặt trong hệ thốngphát hiện xâm nhập Haystack và NIDES
1.2.3.4 Kỹ thuật dựa trên mô hình học tập
Mô hình học tập[11] kết hợp với khả năng học tập trong quá trình pháthiện xâm nhập sử dụng các kỹ thuật học nhân tạo Trong những năm gần đây,
kỹ thuật học đã được sử dụng rộng rãi trong phát hiện bất thường kể từ khi kỹthuật tự học có thể được sử dụng để tự động xây dựng hồ sơ các hành vi bìnhthường của đối tượng Dựa trên việc phân loại kỹ thuật học, phát hiện bấtthường theo hướng này cũng được chia thành hai loại: Phát hiện bất thườngkhông có giám sát và phát hiện bất thường có giám sát Phát hiện bất thường
có giám sát thiết lập các cấu hình bình thường của hệ thống hoặc mạng thôngqua huấn luyện dựa trên bộ dữ liệu đã gán nhãn Ngược lại, phát hiện bấtthường không giám sát thiết lập các cấu hình bình thường của hệ thống hoặc
Trang 25mạng thông qua huấn luyện dựa trên bộ dữ liệu chưa gán nhãn Hạn chế chínhcủa phát hiện bất thường có giám sát là nhu cầu cần có dữ liệu huấn luyện đãgán nhãn Quá trình gán nhãn dữ liệu thường phải thực hiện thủ công, thường
dễ bị lỗi, tốn kém nhân công và thời gian, và rất khó để tìm thấy các cuộctấn công mới Phát hiện bất thường có giám sát giải quyết những vấn đề nàybằng cách cho phép huấn luyện dựa trên bộ dữ liệu không có nhãn và do đótạo điều kiện học tập trực tuyến và cải thiện độ chính xác
1.2.3.5 Kỹ thuật dựa trên mô hình mạng nơ-ron
Một số mô hình phát hiện bất thường dựa trên cơ sở nguyên tắc sinh học
đã được đề xuất bởi Forrest và cộng sự[11] Họ đã nghiên cứu sự giống nhaugiữa khả năng tự miễn dịch (self) và không tự miễn dịch (nonself) trong hệthống miễn dịch của con người với hệ thống phát hiện xâm nhập Trong hệthống của con người, các tế bào T được tạo ra trong tuyến giáp và sau đó mộtquá trình kiểm duyệt xảy ra Nếu tế bào T liên kết với các protein hoặcpeptide (tiểu đơn vị protein), thì sau đó chúng sẽ được chuyển giao bởi vìchúng ràng buộc với chính mình Một số tế bào T không liên kết với cácprotein thì sẽ được giải phóng để theo dõi các vật chất từ bên ngoài đưa vào
cơ thể Một giả thuyết là những tế bào T liên kết với các vật chất bên ngoàisau đó sẽ được loại bỏ khỏi cơ thể con người Khi áp dụng các kỹ thuật self vànoneself để phát hiện xâm nhập, các hành vi của hệ thống được xem như làmột chuỗi Chuỗi này được chia thành các chuỗi con chiều dài bằng nhau k.Noneself có chứa một số dãy phát hiện có chiều dài và không tồn tại trong bộself Trong thực tế thực hiện, hành vi hiện tại của hệ thống đầu tiên được chiathành các chuỗi chiều dài k và sau đó được định kỳ so với chuỗi phát hiệntrong noneself Nếu trùng với chuỗi phát hiện trong noneself thì đó có thể làmột hành vi xâm nhập
1.3 Mô tả bài toán giải quyết trong đồ án
Trên cơ sở tìm hiểu các kỹ thuật tấn công và ưu, nhược điểm của các hệthống phát hiện đột nhập, đồ án sử dụng mô hình phát hiện đột nhập bằngphương pháp phân tích sâu gói tin dựa trên n-gram áp dụng kết hợp kỹ thuậtthống kê và kỹ thuật học máy
Trang 26Với kỹ thuật phân tích header của gói tin được áp dụng trên hầu hết các
hệ thống phát hiện đột nhập hiện nay, phương pháp này rất khó hoặc khôngthể phát hiện các cuộc tấn công chèn mã (injection) hoặc tấn công bằng mãđộc như worm, virus, … Do đó, các hệ thống phát hiện đột nhập cần thực hiệnphân tích sâu phần nội dung của gói tin (payload packet) để có thể phát hiệnsớm các dấu hiệu của tấn công, xâm nhập Đồ án sẽ thực hiện các nhiệm vụchính sau:
• Nghiên cứu các kỹ thuật phân tích sâu gói tin và áp dụng trong hệthống phát hiện xâm nhập nhằm khắc phục các nhược điểm của các
kỹ thuật phân tích header gói tin thông thường
• Xây dựng và cài đặt thử nghiệm mô hình phát hiện xâm nhập thực tế
áp dụng kỹ thuật phân tích sâu gói tin dựa trên n-gram kết hợp họcmáy tăng dần
1.4 Kết chương
Chương 1 đã giới thiệu tổng quan về các vấn đề an ninh thông tin, mối
đe dọa từ các cuộc tấn công vào hệ thống máy tính và mạng Với sự phát triểnngày càng phức tạp, nguy hiểm của những mối đe dọa, vấn đề đảm bảo antoàn thông tin ngày càng trở nên cấp thiết Hệ thống phát hiện xâm nhập đã vàđang trở thành một thành phần quan trọng trong các lớp đảm bảo an toàn chomạng
Trong chương 2, đồ án trình bày các kỹ thuật phân tích sâu gói tin vàứng dụng trong phát hiện đột nhập Đặc biệt, đồ án đi sâu nghiên cứu kỹ thuậtphân tích sâu các gói in dựa trên n-gram, kết hợp với thống kê và học máynhằm nâng cao hiệu quả phát hiện và giảm cảnh báo sai
Trang 27CHƯƠNG 2: PHÂN TÍCH SÂU GÓI TIN DỰA TRÊN N-GRAM VÀ ỨNG DỤNG TRONG PHÁT HIỆN
XÂM NHẬP MẠNG
Chương 2 trình bày về các khái niệm phân tích sâu gói tin (Deep PacketInspection - DPI) và ứng dụng trong phát hiện xâm nhập mạng Trong chươngnày, đồ án sẽ trình bày khái quát các kỹ thuật phân tích sâu gói tin, sau đó đồ
án sẽ trình bày mô hình phát hiện xâm nhập ứng dụng phân tích sâu gói tindựa trên n-gram kết hợp với kỹ thuật học máy tăng dần và thuật toánMahalanobis
2.1 Tổng quan về phân tích sâu gói tin
Phân tích gói tin mô tả quá trình bắt và diễn giải dữ liệu trực tuyến như
là các luồng đang lưu chuyển trong mạng với mục tiêu hiểu rõ hơn điều gìđang diễn ra trên mạng Phân tích gói tin có thể giúp chúng ta:
• Hiểu được các đặc điểm của mạng (cấu tạo của mạng)
• Biết được ai đang ở trên mạng
• Xác định được ai hay cái gì đang sử dụng băng thông
• Xác định những thời điểm mà việc sử dụng mạng đạt cao điểm
• Chỉ ra các khả năng tấn công và các hành vi phá hoại
• Tìm ra các ứng dụng không được bảo mật
2.1.1 Khái quát về phân tích sâu gói tin
Phân tích sâu gói tin (Deep Packet Inspection- DPI) là phương pháp lọccác gói tin trên mạng máy tính, kiểm tra từng phần của gói tin (bao gồm cảheader và payload), theo dõi các giao thức trái phép, virus, thư rác, đột nhậphay định nghĩa các chuẩn để quyết định khi nào packet có thể đi qua hoặc nócần phải được định tuyến đến một đích khác, hoặc nhằm mục đích thu thập sốliệu thống kê
Dữ liệu truyền tải trên mạng Internet hay các mạng riêng biệt hầu hếtđều sử dụng giao thức IP (Internet Protocol) Một trong những đặc điểm của
IP là luồng dữ liệu (stream) được chia thành các gói tin để truyền đi.[4] Cácthành phần cơ bản của gói tin IP được mô tả trong Hình 2.1
Trang 28Hình 2.1 Các thành phần cơ bản của gói tin IP
Một gói tin IP bao gồm một số thành phần Phần đầu của gói tin trong sơ
đồ ở trên được gọi là IP Header IP Header chứa thông tin của gói tin với thiết
bị mạng khi chuyền trên mạng, chứa các thông tin định tuyến cơ bản như cácđịa chỉ nguồn và đích của gói tin Các thông tin này giúp cho bộ định tuyến vàchuyển mạch làm thế nào để chuyển tiếp gói dữ liệu đúng đến đích của nó.Mỗi thiết bị mạng khi nhận được 1 gói tin IP sẽ chỉ phân tích phần Header đểthực hiện chức năng định tuyến và chuyền gói tin đến đúng đích mà khôngkiểm tra sâu nội dung gói tin.[4]
Phần TCP Header chứa thêm thông tin cụ thể về giao thức TCP(Transmission Control Protocol) là một trong các giao thức cốt lõi của bộ giaothức TCP/IP Sử dụng TCP, các ứng dụng trên các máy chủ được nối mạng cóthể tạo các kết nối với nhau, mà qua đó chúng có thể trao đổi dữ liệu hoặc cácgói tin Giao thức này đảm bảo chuyển giao dữ liệu tới nơi nhận một cáchđáng tin cậy và đúng thứ tự Phần TCP Header nằm sâu trong gói tin hơn vàthường được các tường lửa và các thiết bị an ninh lớp ngoài kiểm tra và tùytheo mức độ an ninh để chặn các gói tin bất thường muốn xâm nhập vào hệthống
Ngoài các header, các gói tin còn có một phần chứa dữ liệu được gọi làpayload, hay phần nội dung gói tin Các payload chứa thông tin của tầng ứngdụng trong mô hình TCP/IP như ký tự, âm thanh, hình ảnh, email, … Việcphân tích dữ liệu trong phần payload được gọi là phân tích sâu gói tin.[4].Payload là phần chứa dữ liệu của gói tin, là nơi chứa thông tin chính mà
dữ liệu truyền trên mạng mà các dịch vụ rất đa dạng, phong phú sử dụng rấtnhiều các định dạng dữ liệu khác nhau Mỗi dịch vụ sẽ có những cách địnhdạng payload riêng, thậm chí là mỗi server, mỗi luồng dữ liệu cũng rất khácnhau Với dữ liệu text, âm thanh, hình ảnh, kỹ thuật phân tích sâu gói tin hoàntoàn có thể đọc được nội dung chứa trong các payload của gói tin, nhưng với
dữ liệu đã được mã hóa, phương pháp này không thể biết nội dung gói tin