4.1.3.1 Tập hợp dữ liệu
Đối với hệ thống Unix, linux có thể dùng công cụ rất thông dụng TCPDUMP cho mục đích thu thập dữ liệu và sàng lọc dữ liệu qua giao tiếp mạng. Tcpdump là một tiến trình chạy ở chế độ nền (background), nó sẽ kết xuất các thông tin cần thiết (qua các tham số dòng lệnh) ra tập tin. Cứ mỗi thời điểm có n packet được tập hợp và lưu trữ cho việc xử lý sau này cũng như nhằm phục vụ công việc phân lớp, sau đó tiến trình thu thập thông tin lại được tiếp diễn. Khi lưu các thông tin về packet thành tập tin trong mỗi chu kỳ xử lý, các thông tin cần thiết sẽ được đơn giản hóa sử dụng các tham số của tcpdump, ví dụ:
#tcpdump –c 50 host victim-machine #tcpdump -c 50 host vnexpress.net
Đối với mỗi packet Ethernet nhận được: phân giải lớp địa chỉ IP đích; phân giải lớp địa chỉ nguồn; lấy thông tin về giao thức.
Địa chỉ IP của đích cũng như nguồn theo khuôn dạng 4 số thập phân phân cách nhau bởi dấu chấm, ví dụ 192.168.43.2.
Một thông tin khác rất quan trọng trong quá trình thu lập là loại giao thức, đó là một trong hai loại giao thức TCP và UDP. Một số giáo thức dạng khác dựa trên TCP và UDP như ICMP, ARP, và RARP cũng sẽ được xét đến.
Bảng sau cung cấp một ví dụ về kết xuất của tcpdump bao gồm các thông tin địa chỉ IP nguồn và đích, và tiếp đến là giao thức cho mỗi packet:
4.1.3.2 Tiền xử lý
Dữ liệu thô ở đây được tập hợp dưới dạng một file .txt, mỗi khi có kết nối thì sẽ có một dòng được tự động thêm vào file. File ở phần đồ án này gồm có 9 phần được ngăn cách nhau bằng khoảng trắng:
Trường Ý nghĩa
TimeStamp Tem thời gian, ghi lại thời điểm kết nối xảy ra có độ chính xác Micro giây
Duration Khoảng thời gian sống của kết nối tính bằgn giây Protocol Giao thức của kết nối
Byte sent by
origination Kích thước gói tin được gửi đi tính bằng byte, nếu không xácđịnh được thay bằng “?” Byte sent by
responder
Kích thước gói tin phản hồi tính bằng byte, nếu không xác định được thay bằng “?”
Remote host Địa chỉ IP của máy ở ngoài mạng, theo khuôn dạng 4 số thập phân cách nhau bằng dấu chấm
Localhost Địa chỉ của máy nội bộ theo khuôn dạng 4 số thập phân cách nhau bằng dấu chấm. Ở đây chỉ số cuối trong địa chỉ thay vì phải dùng toàn bộ địa chỉ IP bởi vì các host nội bộ có ba số đầu là giống nhau.
State Trạng thái của kết nối. Hai trạng thái quan trọng nhất là SF-mô tả một kết nối bình thường và REJ-một kết nối bị từ chối (khởi đầu SYN nhưng không nhận được một RST đáp lại), ngoài ra còn một số trạng thái khác như: S0, S1, S2, S3, S4, RSTOSn, RSTRSn, SHR, Sha, SS, OOS1, OOS2…
Flag Cờ (có thể có hoặc không) cho biết kết nối giữa nội bộ hay với mạng ngoài. L-kết nối được bắt nguồn từ mạng nội bộ, N-kết nối với mạng gần, cò này chủ yếu được thiết lập cho các kết nối nntp
4.1.3.3 Khai phá dữ liệu phát hiện tấn công từ chối dịch vụ
Các mẫu bất thường của tấn công từ chối dịch vụ
Trong bảo mật máy tính, thuật ngữ lỗ hổng được dùng cho một hệ thống yếu mà cho phép một kẻ tấn công xâm phạm vào sự toàn vẹn của hệ thống. Lỗ hổng có thể là kết quả của mật khẩu yếu, các lỗi phần mềm, một virus máy tính hoặc phần mềm độc hại khác, một đoạn mã lỗi, một lệnh SQL lỗi hoặc cấu hình sai,..v.v.
The OWASP – Viết tắt của The Open Web Application Security Project (dự án mở về bảo mật ứng dụng Web), dự án là một sự cố gắng chung của cộng đồng giúp các tổ chức có thể phát triển, mua hoặc bảo trì các ứng dụng an toàn. Ở OWASP bạn sẽ tìm thấy: Công cụ và các tiêu chuẩn về an toàn thông tin, sách về kiểm tra bảo mật ứng dụng, lập trình an toàn và các bài viết về kiểm định mã nguồn,.v.v. The OWASP đã công bố danh sách 10 lỗi an ninh ứng dụng web nguy hại nhất gọi là OWASP top 10 như:
o A1 – Lỗi nhúng mã
o A2 – Thực thi mã script xấu (XSS)
o A3 – Hư hỏng cơ chế chứng thực và quản lý phiên làm việc o A4 – Đối tượng tham chiếu thiếu an toàn
o A5 – Giả mạo yêu cầu (CSRF) o A6 – Sai sót cấu hình an ninh(NEW) o A7 – Lưu trữ mật mã không an toàn o A8 – Sai sót hạn chế truy cập
o A9 – Thiếu bảo vệ lớp vận chuyển
o A10 – Chuyển hướng và chuyển tiếp thiếu thẩm tra
Scanning network là quá trình thu thập thông tin về lỗ hổng bảo mật, trong đó có thể bao gồm giám sát lưu lượng dữ liệu cũng như giám sát hoạt động của các thiết bị
mạng. Scanning network thúc đẩy cả sự an toàn và hiệu suất của một mạng, cũng có thể được sử dụng từ bên ngoài một mạng, để xác định các lỗ hổng mạng. Phát hiện các lỗ hổng an ninh mạng máy tính là một việc quan trọng trong quá trình xây dựng mạng bảo mật, an toàn, vá lỗi các lỗ hổng,..v.v. Hiện nay có rất nhiều tools scanning
vulnerability network như: Nikto, Paros proxy, Nessus, Arachni, WebScarab, Wikto, Acunetix Web Vulnerability Scanner, Metasploit Framework, w3af,..v.v.
DoS attack - Denial Of Services Attack( dịch là tấn công từ chối dịch vụ ) là kiểu tấn công rất lợi hại , với loại tấn công này , bạn chỉ cần một máy tính kết nối Internet là đã có thể thực hiện việc tấn công được máy tính của đối phương, thực chất của DoS attack là hacker sẽ chiếm dụng một lượng lớn tài nguyên trên server ( tài nguyên đó có thể là băng thông, bộ nhớ, cpu, đĩa cứng, ... ) làm cho server không thể nào đáp ứng các yêu cầu từ các máy của nguời khác ( máy của những người dùng bình thường ) và server có thể nhanh chóng bị ngừng hoạt động, crash hoặc reboot . Tấn công từ chối dịch vụ có rất nhiều dạng như Ping of Death, Teardrop, Land Attack, Winnuke, Smurf Attack, UDP/ICMP Flooding, TCP/SYN Flooding, Attack DNS, DDoS,..v.v.
Khai phá dữ liệu
Trong quá trình khai phá dữ liệu này, dữ liệu được sử dụng để huấn luyện ở đây chính là các mẫu bất thường mô tả các tấn công từ chối dịch vụ đã thu được ở trên với các tham số tuỳ chọn về số request cũng như khoảng thời gian xem xét để phù hợp với các hệ thống khác nhau.
Kỹ thuật gom cụm được sử dụng là kỹ thuật dùng đối tượng đại diện: Phương pháp k-medoids. Các mẫu bất thường ở đây sẽ được sử dụng là đại diện cho cụm “xâm nhập” và phần còn lại sẽ là cụm “bình thường”. Do đó ở đây ta sẽ có hai cụm.
Dữ liệu sau tiến trình tiền xử lý đã được phân vào các nhóm thời gian với độ rộng tuỳ chọn trước. Đến đây tuỳ thuộc vào việc chọn các dấu hiệu để phát hiện tấn công từ chối dịch vụ mà ta có các cách xử lý phù hợp:
Nếu lựa chọn dấu hiệu của tấn công từ chối dịch vụ là dấu hiệu trong sử dụng giao thức HTTP mà trong cơ sở dữ liệu demo là WWW thì ta sẽ sử dụng mẫu bất thường về
thước gói tin request và số request thoả mãn ngưỡng kích thước này tới máy chủ Web mà ở đây chính là một máy trong mạng nội bộ cần được bảo vệ “Localhost” để làm các tham số đầu vào của thuật toán k-medoids. Đầu ra của thuật toán sẽ là hai cụm: cụm chứa các mẫu được xem là bất thường là các mẫu có số kết nối mà các kết nối này có kích thước gói request lớn hơn kích thước được đưa ra, lớn hơn ngưỡng số request trong một khoảng thời gian cụ thể được chọn và cụm các mẫu bình thường là các mẫu không có đặc điểm trên.
Nếu lựa chọn dấu hiệu tấn công từ chối dịch vụ truyền thống DoS thì đầu vào của thuật toán chỉ là ngưỡng số request và thuộc tính được xem xét ở đây chính là thuộc tính “RemoteHost”. Đầu ra của thuật toán là hai cụm: cụm các bất thường chứa các mẫu mà số request từ một “RemoteHost” trong một khoảng thời gian xác định lớn hơn ngưỡng kết nối và cụm bình thường.
Nếu lựa chọn dấu hiệu tấn công từ chối dịch vụ theo kiểu nhiều request từ nhiều địa chỉ IP khác nhau tới một máy cục bộ thì cũng tương tự như dấu hiệu tấn công DoS nhưng lúc này thuộc tính được xem xét ở đây là thuộc tính “LocalHost”. Sau khi thuật toán kết thúc sẽ cho ta hai cụm, một cụm các mẫu bất thường có số request đến một máy nội bộ lớn hơn ngưỡng kết nối được chọn.
Bầy giờ ta đã thu được hai cụm phân tách: cụm bất thường và cụm bình thường.