Tuy nhiên song song với những thuận lợi đó, chúng ta phải đối mặt với nhiều thách thức, một trong những thách thức đó là virus, tấn công, xâm nhập, … Do đó các kỹ thuật phát hiện tấn côn
Trang 1MỞ DẦU
Internet ra đời thực sự là một cuộc cách mạng vĩ đại về công nghệ, internet không chỉ kết nối hàng tỉ người trên thế giới lại với nhau, mà còn là một thư viện bách khoa khổng lồ của nhân loại Giờ đây chúng ta có thể tìm bất cứ thông tin gì trên internet chỉ bằng vài từ khóa Tuy nhiên song song với những thuận lợi đó, chúng ta phải đối mặt với nhiều thách thức, một trong những thách thức đó là virus, tấn công, xâm nhập, … Do đó các kỹ thuật phát hiện tấn công, xâm nhập ngày càng được quan tâm và chú trọng phát triển Thực tế, đã có nhiều phương pháp và các cách để tăng cường tính bảo mật và an toàn thông tin cho một hệ thống mạng, phải
kể đến trong đó là việc triển khai Firewall, đồng thời kết hợp với các chương trình diệt virus, trojan, Và một thành phần tác giả muốn đề cập đến ở đây là hệ thống phát hiện xâm nhập (IDS) sử dụng công nghệ phát hiện tấn công, xâm nhập Tuy ra đời chưa lâu nhưng nó đã giúp cho việc xử lí các bài toán công nghệ thông tin Phương pháp được áp dụng trong luận văn là ứng dụng bản đồ tự tổ chức-Self Organizing Map (SOM) phát hiện tấn công, xâm nhập dựa vào hành vi Phương pháp này có khả năng phát hiện tấn công, xâm nhập, virus,… thông qua hành vi đã biết trước đó Chúng không loại trừ những phương pháp nhận dạng tấn công dựa vào mẫu tấn công đã biết truyền thống, mà chỉ thêm vào một kênh hữu ích cho người quản trị mạng biết được những tấn công bất thường đang diễn ra trong hệ thống mạng của mình
Luận văn xây dựng và triển khai với những phần như: bắt gói dữ liệu trên mạng xây dựng và gán các thông số đặc trưng, huấn luyện dữ liệu, dò tìm tấn công online va offline
Mặc dù có nhiều cố gắng nhưng không tránh khỏi trong luận văn còn nhiều thiếu sót và hạn chế do nhiều yếu tố như: thời gian, kỷ thuật, tài chính… Hy vọng thời gian sắp tới tác giả có nhiều thời gian để phát triển thêm luận văn này Rất mong sự góp ý của quý Thầy cô và các anh chị đồng nghiệp
Trang 2CHƯƠNG 1: TỔNG QUAN
Nội dung của chương 1: Trình bày tổng quan “Hệ thống phát hiện xâm nhập”, phân loại IDS, giới thiệu ưu điểm và nhược điểm của từng loại IDS Đồng thời, chương này nêu lên mục đích, nội dung và những đóng góp của đề tài
1.1 Giới thiệu
Với sự phát triển nhanh chóng của internet, tính đến tháng 01/2011 thế giới
đã có hơn 2 tỷ người sử dụng internet, Việt Nam có hơn 27 triệu người dùng internet (31,7% dân số); nhiều công cụ hướng dẫn tấn công, xâm nhập hệ thống mạng máy tính có sẵn trên internet và dễ sử dụng hơn Bên cạnh đó sâu máy tính, virus, spyware, trojan horse,… với tốc độ xuất hiện mới ngày càng nhanh Những vấn đề trên làm cho an toàn hệ thống mạng được quan tâm hơn bao giờ hết Trong
đó, phát hiện tấn công xâm nhập được chú trọng nghiên cứu nhiều nhất từ các nhà khoa học, an ninh mạng, điển hình là Hội nghị quốc tế RAID (Recent Advances in Intrusion Detection) về phát hiện tấn công xâm nhập mỗi năm tổ chức đều đặn, và lần thứ 14 diễn ra tại Menlo Park, California, USA vào tháng 09-2011 [13]
Hình 1.1: Số Web Server bi tấn công từ năm 2003 đến 2011
Ngày nay các công ty phải đối mặt với nhiều vấn đề bảo mật và các cuộc tấn công ngày càng tinh vi hơn Những nguy hiểm này có thể từ bên ngoài hay từ các nhân viên trong công ty Các công ty phải có các biện pháp bảo vệ sự toàn vẹn, tính
Trang 3bảo mật, tính sẵn sàng của dữ liệu trong hệ thống, trong khi vẫn phải xây dựng kết nối tới hệ thống các chi nhánh
Việc phát hiện các cuộc tấn cơng hay xâm nhập dựa vào các hành vi “bất thường” trong hoạt động của máy chủ Web là một trong những hướng nghiên cứu
đã và đang được rất nhiều chuyên gia quan tâm Cách thức phân biệt giữa một hoạt động “bình thường” hay “bất thường” rất phức tạp Các nhà nghiên cứu đã áp dụng nhiều thuật tốn khác nhau trong lĩnh vực “Trí tuệ nhân tạo” như: Mơ hình Markov
ẩn, Nạve Bayesian, thuật tốn di truyền… để giải quyết một số khía cạnh của bài tốn trên: lọc thư điện tử spam, dị tìm spyware, trojan
Đề tài này đề xuất một hướng nghiên cứu: ứng dụng thuật tốn Bản đồ tự tổ chức – Self Organizing Map (SOM) để phát hiện tấn cơng Máy chủ Web thơng qua hành vi đã biết
1.2 Hệ thống phát hiện xâm nhập IDS (Intrusion Detecsion Systems)
Hệ thống phát hiện xâm nhập IDS là một hệ thống giám sát lưu thơng mạng,
các hoạt động khả nghi và cảnh báo cho hệ thống, nhà quản trị Ngồi ra IDS cũng đảm nhận việc phản ứng lại với các lưu thơng bất thường hay cĩ hại bằng cách hành động đã được thiết lập trước như khĩa tài khoản người dùng hay địa chỉ IP nguồn
đĩ truy cập hệ thống mạng, …
IDS cũng 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ơng ty) hay tấn cơng từ bên ngồi (từ các hacker) IDS phát hiện dựa trên các dấu hiệu hành vi đặc biệt về các nguy cơ tấn cơng, xâm nhập đã 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 đặc biệ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 thơng số đo đạc chuẩn của
hệ thống (baseline ) để tìm ra các dấu hiệu khác thường
Ngồi ra cịn cĩ hệ thống phịng chống xâm nhập IPS (Intrusion Prevention System) là một kỹ thuật an ninh mới, kết hợp các ưu điểm của kỹ thuật tường lửa
Trang 4với hệ thống phát hiện xâm nhập IDS Hệ thống IPS có khả năng phát hiện các cuộc
tấn công và tự động ngăn chặn các cuộc tấn công đó
Hình 1.2: Mô hình hoạt động của 1 hệ thống IDS
1.3 Phân loại IDS
Tùy vào việc quan sát và nơi đặt mà IDS được phân thành 2 loại khác nhau:
1.3.1 Hệ thống phát hiện xâm nhập mạng - Network based IDS (NIDS )
Hệ thống phân tích tải mạng để so sánh dữ liệu hiện tại với cơ sở dữ liệu đã biết của các dấu hiệu tấn công vào hệ điều hành và ứng dụng Khi phát hiện dấu
hiệu “bất thường”, NIDS có thể phản ứng lại bằng cách ghi hiện trạng, cảnh báo nhà
quản trị, chấm dứt phiên làm việc (session) đó và có thể đưa vào tường lửa
* Ưu điểm:
o Quan sát được những trao đổi, các kết nối mạng…
o Quản lý được cả một network segment (gồm nhiều host)
o Cài đặt và bảo trì đơn giản, không ảnh hưởng tới mạng
o Tránh DoS ảnh hưởng tới một host nào đó
o Có khả năng xác định lỗi ở tầng Network (trong mô hình OSI)
* Nhược điểm:
o Khó quan sát được nội dung các gói dữ liệu mạng đã được mã hóa
Trang 5o Có thể xảy ra trường hợp báo động giả (false positive), tức không có tấn công xâm nhập mà NIDS báo là có tấn công xâm nhập
o NIDS đòi hỏi phải được cập nhật các signature mới nhất để thực sự an toàn
1.3.2 Hệ thống phát hiện xâm nhập máy chủ – Host based IDS (HIDS)
Hệ thống phân tích nhật kí của hệ điều hành và ứng dụng của hệ thống Sau
đó, nó so sánh sự kiện với cơ sở dữ liệu “bất thường” đã biết Hệ thống xem xét nhật kí của hệ điều hành, nhật kí truy nhập, nhật kí của ứng dụng, cũng như các chính sách của ứng dụng do người dùng định nghĩa Nếu hệ thống thấy có vi phạm,
nó có thể phản ứng bằng cách ghi lại hành động đó, cảnh báo cho nhà quản trị và trong một số trường hợp có thể ngừng hành động ngay lập tức
Ưu điểm:
o Quan sát được những gì đang thực sự diễn ra trên máy tính
o Có khả năng xác định user liên quan tới một sự kiện nào đó
o Có thể phân tích các dữ liệu mã hoá
o 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:
o Không biết được trạng thái hoạt động của toàn mạng
o HIDS phải được thiết lập trên từng host cần giám sát
o HIDS không có khả năng phát hiện các cuộc dò quét mạng (Nmap, Netcat…)
o HIDS cần tài nguyên trên host để hoạt động
o HIDS có thể không hiệu quả khi bị DoS
Tùy theo phương pháp phát hiện tấn công, xâm nhập mà có thể phân hai loại Host-based IDS và Network-based IDS ra những loại nhỏ hơn Phương pháp truyền
Trang 6thống về phát hiện tấn công, xâm nhập dựa trên việc lưu lại các mẫu đã biết của các cuộc tấn công, chúng so sánh các đặc trưng kết nối mạng với mẫu tấn công để phát hiện ra tấn công xâm nhập
1.4 Cơ chế hoạt động của một 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) và phát hiện sự bất thường (Anomaly Detection)
Misuse Detection: hệ thống sẽ phát hiện sự tấn công xâm nhập bằng tìm
kiếm các hành động tương ứng với các kỹ thuật tấn công 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
Anomaly Detection: hệ thống phát hiện tấn công xâm nhập bằng cách tìm
kiếm cách hành động khác với hành vi thông thường của người dùng hệ thống
Hình 1.3: Sự khác nhau giữa Misuse Detection và Anomaly Detection
1.4.1 Misuse based IDS - Hệ thống phát hiện xâm nhập theo dấu hiệu
cho trước
Hệ thống 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ác đặc điểm các
Trang 7cá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 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 bit cố định, một tiến trình,… dùng để mô tả một tập hay một chuỗi các hành động nghi ngờ
Hệ thống 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 đã biết để cố gắng dò ra các kịch bản đang tiến hành Hệ thống này có thể xem xét các 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
Ưu điểm:
o Dễ triển khai
o Cho phản hồi chính xác về cảnh báo
o Yêu cầu ít tài nguyên tính toán
Nhược điểm:
o Mô tả về cuộc tấn công thường ở mức độ thấp, khó hiểu
o Mỗi cuộc tấn công hay biến thể của nó đều cần thêm dấu hiệu đưa vào cơ
sở dữ liệu, nên kích cỡ của nó sẽ trở nên rất lớn
o Dấu hiệu càng cụ thể thì càng tạo ra ít cảnh báo nhầm, nhưng càng khó phát hiện những biến thể của nó
1.4.2 Anomaly based IDS - Hệ thống phát hiện xâm nhập bất thường
Hệ thống dựa trên đị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 hay bất thường nhằm tìm ra các hành vi bất hợp pháp
Như vậy, hệ thống phát hiện xâm nhập bất thường phải có khả năng phân biệt giữa hiện tượng “bình thường” và hiện tượng “bất thường”
Ưu điểm: Có khả năng nhận biết các dạng tấn công xâm nhập chưa biết
Trang 8Nhược điểm: Thường sinh ra nhiều cảnh báo sai do định nghĩa quá chung về
Chỉ đưa ra cảnh báo cho người quản trị mạng xử lý
1.6 Nhu cầu thực tế
Việc so sánh và phát hiện hành vi “bất thường” là rất khó, vì các kiểu tấn công mới có khả năng giả mạo hành động hợp pháp mà không bị phát hiện Do đó, việc nghiên cứu và triển khai một hệ thống IDS phát hiện xâm nhập với các yếu tố:
“thực hiện nhanh, đưa ra cảnh báo chính xác, giá thành hợp lí” là vấn đề cấp thiết trong nghiên cứu cũng như yêu cầu ứng dụng trong thực tế
1.7 Mục tiêu của luận văn
Luận văn tập trung nghiên cứu một số vấn đề sau:
Nghiên cứu hệ thống phát hiện xâm nhập IDS
Tìm hiểu máy chủ web trong môi trường Linux Đồng thời, nghiên cứu các cách tấn công phổ biến đối với máy chủ web
Tìm hiểu một số phần mềm tấn công Web Server phổ biến hiện nay
Khảo sát, phân tích thuật toán “Bản đồ tự tổ chức”
Nghiên cứu và cài đặt cách lấy các tham số đặc trưng của máy chủ Web trong hệ thống mạng Qua đó, đề xuất bộ tham số đặc trưng cho hệ thống máy chủ Web
Trang 9 Xây dựng dấu hiệu bất thường do tấn công qua thực nghiệm, sau đó rút trích thông tin qua “bản đồ tự tổ chức SOM” và cảnh báo tấn công khi có bất thường giống như những bất thường đã được học
1.8 Ý tưởng thực hiện
Xây dựng web server
Xác định các tham số liên quan tới hệ thống máy chủ Web cần bảo vệ Cách thức lấy thông tin liên quan tới các tham số đã xác định
Xây dựng hệ thống mạng để làm Lab, giả lập tấn công
Xác định phần mềm sinh ra tấn công thử nghiệm
Triển khai tấn công giả lập và ghi nhận thông tin, kết quả là hệ thống vector để học
Sử dụng chương trình SOM + vector học + nơron sinh ngẫu nhiên để được nơron sau khi học
Tấn công thử nghiệm lại và ghi nhận kết quả cảnh báo Qua đó hiệu chỉnh bán kính IDS cho phù hợp nhất
Bình luận, đánh giá kết quả của IDS
1.9 Nội dung luận văn
Chương 1: Tổng quan
Trình bày tổng quan “Hệ thống phát hiện xâm nhập”, phân loại IDS, giới thiệu ưu điểm và nhược điểm của từng loại IDS Đồng thời, chương này nêu lên mục đích, nội dung của đề tài
Chương 2: Máy chủ Web
Trình bày tổng quan về máy chủ Web Giới thiệu một số lỗ hổng phổ biến trên máy chủ Web Các kỹ thuật phát hiện tấn công, xâm nhập Đồng thời chương này cũng trình bày các kỹ thuật tấn công, xâm nhập
Trang 10Chương 3: Thuật toán bản đồ tự chức - Self Organizing Map (SOM)
Trình bày tổng quan về kiến trúc của thuật toán bản đồ tự tổ chức
Chương 4: Xây dựng các đặc trưng
Trình bày cách thức lấy thông tin hệ thống máy chủ Web Đề xuất các tham
số đặc trưng Phương pháp xây dựng, cũng như chuẩn hóa, gán trọng số các đặc trưng
Chương 5: Thiết kế, cài đặt thực nghiệm và đánh giá chương trình
Trình bày tổng quan về mô hình chương trình chạy giám sát máy chủ Web Phân tích hệ thống đề xuất, thử nghiệm chương trình IDS với các tấn công đã biết
Chương 6: Kết luận và hướng phát triển
Trang 11CHƯƠNG 2: MÁY CHỦ WEB (WEB SERVER)
Nội dung chương 2: Trình bày tổng quan về máy chủ Web Giới thiệu một
số lỗ hổng phổ biến trên Web Server Các kỹ thuật phát hiện tấn công, xâm nhập Đồng thời chương này cũng trình bày các kỹ thuật tấn công xâm nhập
2.1 Tổng quan về máy chủ Web
2.1.1 Máy chủ là gì ?
Máy chủ (server) là một máy tính được nối mạng, có IP tỉnh, có năng lực xử
lý cao và trên máy đó người ta cài đặt các phần mềm để phục vụ cho các máy tính khác (máy trạm) truy cập để yêu cầu cung cấp các dịch vụ và tài nguyên
Hình 2.1: Mô hình máy chủ Web và máy trạm
Trang 122.1.3 Hoạt động của máy chủ Web
Các bước cơ bản trong tiến trình truyền tải trang Web đến màn hình của bạn được thể hiện theo mô hình 2.2:
Hình 2.2: Mô hình hoạt động của máy chủ web
Theo mô hình trên, trình duyệt web thực hiện một kết nối tới máy chủ Web, yêu cầu một trang web và nhận lại nó
Ví dụ: khi ta truy cập website http://www.abc.com/my_index.php thứ tự từng bước cơ bản xảy đến đằng sau màn hình như sau:
Trình duyệt web tách địa chỉ website làm 3 phần:
1 Phần giao thức: “http”
2 Máy chủ tên miền: “www.abc.com”
3 Tên tập tin: “my_index.php”
Trình duyệt liên hệ với máy chủ tên miền để chuyển đổi tên miền ra địa chỉ
IP (Internet Protocol): "www.abc.com"
Sau đó, trình duyệt sẽ gửi tiếp một kết nối tới máy chủ có địa chỉ IP tương ứng qua cổng 80
Dựa trên giao thức HTTP, trình duyệt gửi yêu cầu “GET” đến máy chủ, yêu cầu tập tin (cookies cũng sẽ được gửi kèm theo từ trình duyệt web đến máy chủ): “http://www.abc.com/my_index.php”
Máy chủ sẽ gửi đoạn văn bản dạng HTML đến trình duyệt web
Trang 13 Trình duyệt web đọc các thẻ HTML, định dạng trang web và hiển thị ra màn hình
Ngày nay rất nhiều máy chủ Web đưa thêm các chế độ bảo mật trong nhiều tiến trình xử lý
Ví dụ: khi bạn truy cập vào một trang web và trình duyệt đưa ra một hộp hội thoại yêu cầu bạn đưa vào tên truy cập và mật khẩu, lúc này trang web mà bạn truy cập đã được bảo vệ bằng mật khẩu Máy chủ Web hỗ trợ người quản lý trang Web duy trì một danh sách tên và mật khẩu cho phép những người được phép truy cập vào trang web
Đó là tất cả những vấn đề cơ bản mà Máy chủ Web hoạt động để truyền tải các trang Web chuẩn hay còn gọi là trang Web tĩnh Các trang Web tĩnh là những trang Web không thay đổi, trừ khi người tạo ra trang Web đó thay đổi lại
Đối với các trang Web động: máy chủ Web không chỉ đơn giản là “tìm kiếm một tập tin” Nó thực sự là một quá trình xử lý thông tin rồi kết xuất ra trang Web dựa trên các kết quả truy vấn Trong hầu hết các trường hợp trên, máy chủ Web thường sử dụng các đoạn chương trình ASP, JSP, PHP và các đoạn mã CGI scripts
để giải quyết bài toán
2.1.4 Dịch vụ web
Dịch vụ Web (Web Service): là một phương thức tích hợp các ứng dụng trên nền Web Mỗi ứng dụng trên nền Web có thể sử dụng các thành phần khác nhau để tạo thành một dịch vụ Web
Ví dụ như máy chủ chạy một trang Web thương mại điện tử kết nối với cổng thanh toán điện tử qua một giao diện lập trình ứng dụng (API) Nếu ta tạo một ứng dụng Web bởi công nghệ NET của Microsoft thì thành phần trên máy chủ chính là
hệ thống cung cấp trang HTML (IIS: Internet Information System), còn các thành phần thanh toán và các thành phần NET được coi là các cấu kiện bên ngoài
Trang 14Dịch vụ Web cho phép các tổ chức thực hiện truyền thông dữ liệu mà không cần phải có kiến thức về hệ thống tin học bị che giấu ở phía sau tường lửa Một số dịch vụ web hiện nay có sẵn hoặc thậm chí miễn phí và càng ngày càng hướng dần vào phục vụ các cơ quan và doanh nghiệp
2.2 Một số lỗ hổng phổ biến trên máy chủ Web
Theo thống kê gần đây của tổ chức uy tín The Open Web Application
Security Project (www.owasp.org), đến 75% các cuộc tấn công thành công hiện nay dựa trên các lỗ hổng trong ứng dụng web
Với xu thế phát triển nhanh chóng của ngành thương mại điện tử hiện nay, rất nhiều doanh nghiệp hiện đang sử dụng các ứng dụng Web để cung cấp dịch vụ thương mại trực tuyến, kết nối khách hàng, đối tác và nhân viên một cách hiệu quả nhất Tuy nhiên, ứng dụng Web cũng đem đến những rủi ro mới ảnh hưởng đến sự
an toàn của hệ thống và dữ liệu Đa số các ứng dụng Web có thể bị những lỗi mà các phương cách phòng chống mạng thông thường không bảo vệ được Lỗi và lỗ hổng trong mã nguồn của ứng dụng Web có thể gây ra những hậu quả nghiêm trọng như lộ dữ liệu nhạy cảm, gây tổn thương đến toàn hệ thống hạ tầng Công nghệ thông tin Sự cố bảo mật trong ứng dụng web có thể ảnh hưởng đến danh tiếng, uy tín của công ty đối với khách hàng làm thất thoát tài chính của công ty và các vấn
đề liên quan đến ràng buộc pháp lí
2.2.1 Dữ liệu đầu vào không được kiểm tra
Thông tin và dữ liệu từ các truy cập HTTP không được kiểm tra trước khi được sử dụng bởi ứng dụng Web Tin tặc có thể tận dụng những lỗi này nhằm tấn công các lớp ứng dụng phía sau thông qua ứng dụng Web
Ứng dụng Web sử dụng dữ liệu đầu vào trong các truy cập HTTP nhằm xác định kết quả phản hồi Tin tặc có thể sửa đổi bất kỳ phần nào của một truy xuất HTTP, bao gồm URL, querystring, headers, cookies, form fields, và thậm chí field
ẩn (hidden fields), nhằm vượt qua các cơ chế bảo mật
Trang 152.2.2 Lỗi kiểm soát truy cập nguồn tài nguyên
Những giới hạn về quyền truy cập tài nguyên của người sử dụng không được thi hành đúng Tin tặc có thể tận dụng những lỗi này nhằm truy cập vào tài khoản của người khác, xem các tập tin nhạy cảm, hoặc thi hành những chức năng không cho phép
2.2.3 Lỗi liên quan đến quá trình quản lý xác thực và phiên truy cập
Quá trình xác thực và quản lý phiên truy cập không được bảo vệ tốt có thể dẫn đến việc thông tin tài khoản bị mất cắp
Xác thực người dùng trên ứng dụng web thường bao gồm sử dụng một username và password Những phương pháp xác thực khác mạnh hơn bao gồm các giải pháp phần cứng hoặc mềm dựa trên các token mã hóa hoặc dùng phương pháp sinh trắc học (biometrics) Tuy nhiên những phương pháp này có phần hạn chế do giá thành cao Một số lượng lớn lỗi ứng dụng trong các hàm quản lý tài khoản và phiên truy cập có thể dẫn đến mối nguy cơ lộ tài khoản người sử dụng và thậm chí tài khoản của người quản trị
2.2.4 Lỗi Cross Site Scripting
Lỗi Cross-site scripting (thường được gọi tắt là XSS) xảy ra khi một ứng dụng Web bị lợi dụng để gửi dữ liệu xấu (thường là đoạn mã script) đến trình duyệt của người sử dụng Những lỗ hổng này rất phổ biến và xảy ra trong bất cứ phần nào của ứng dụng Web có sử dụng dữ liệu từ người dùng trong các giá trị phản hồi mà không kiểm tra tính hợp lệ
Một tin tặc có thể sử dụng lỗ hổng này để gửi các đoạn mã đến người dùng Trình duyệt trong máy người dùng không thể biết được nên tin hay không tin đoạn
mã nào, và sẽ thi hành đoạn script này Bởi vì trình duyệt tin rằng đoạn mã đến từ một nguồn tin tưởng, đoạn mã script có thể truy cập đến cookies, session tokens, hoặc bất kỳ thông tin nhạy cảm nào được lưu lại trong trình duyệt có liên quan đến
Trang 16trang web đang truy cập Những đoạn mã này còn có thể sửa đổi nội dung trang web
2.2.5 Lỗi tràn bộ đệm
Một số module của ứng dụng Web khi được phát triển bằng những ngôn ngữ không kiểm tra dữ liệu đầu vào có thể bị crashed, và trong một số trường hợp, có thể bị lợi dụng để chiếm đoạt quyển kiểm soát của một process hoặc toàn bộ máy chủ Những module này có thể bao gồm CGI, thư viện, drivers, và những module của máy chủ
Tin tặc sử dụng lỗi tràn bộ đệm nhằm ảnh hưởng đến dòng lệnh thực thi của ứng dụng Web Bằng cách gửi một đoạn mã được thiết kế đặc biệt đến ứng dụng, tin tặc có thể làm cho ứng dụng Web thi hành bất kỳ đoạn mã nào, điều này tương đương với việc chiếm quyền làm chủ máy server
2.2.6 Lỗi Injection
Lỗi injection cho phép tin tặc lợi dụng lỗ hổng trong ứng dụng Web làm phương tiện để gửi các đoạn mã nguy hiểm đến hệ thống Những cuộc tấn công dạng này bao gồm các mã gọi hàm đến hệ điều hành, gọi các ứng dụng qua lệnh shell, và các hàm gọi đến cơ sở dữ liệu (SQL injection) Những đoạn mã nguy hiểm được viết bằng perl, python và ngôn ngữ khác có thể được chuyển đến và thực thi bởi ứng dụng web, hệ điều hành hoặc các ứng dụng khác
Một trong những dạng phổ biến nhất của lỗi injection là lỗi sql injection Lỗi
này xảy ra khi ứng dụng sử dụng những dữ liệu đầu vào không được kiểm tra làm tham số để xây dựng chuỗi lệnh SQL Bằng cách sử dụng những đoạn mã SQL đặc biệt, hacker có thể gây ra những hậu quả nghiêm trọng như:
Vượt qua hệ thống xác thực login mà không cần sử dụng password hoặc username
Truy cập vào một phần hoặc tất cả các thông tin trong CSDL
Lấy được thông tin về cấu trúc của cơ sở dữ liệu
Trang 17 Sửa đổi hoặc xóa thông tin trong CSDL
Chạy các lệnh trong hệ điều hành trên máy chủ CSDL
2.2.7 Quy trình quản lý có lỗi
Quy trình xử lý báo lỗi có thể gây ra nhiều vấn đề bảo mật cho một trang Web Vấn đề thông thường nhất là khi các thông báo lỗi có chứa các thông tin nhạy cảm như stack traces, thông tin cơ sở dữ liệu, và các mã lỗi được thông báo cho người dùng Những lỗi này cung cấp các thông tin về hệ thống, ứng dụng ở mức độ thấp và thông tin này phải được bảo mật Sử dụng những thông tin này, hacker có thể dò tìm ra những lỗi khác của ứng dụng
2.2.8 Lưu trữ thiếu an toàn
Đa số các ứng dụng Web cần lưu trữ dữ liệu nhạy cảm, trong cơ sở dữ liệu hoặc trong một tập tin nào đó trong hệ thống Thông tin nhạy cảm bao gồm: mật khẩu, số thẻ tín dụng, thông tin tài khoản, hoặc các thông tin cần bảo vệ khác Các
cơ chế mã hóa thường được sử dụng để bảo vệ những thông tin này Mặc dù sử dụng các hàm mã hóa không khó cho các lập trình viên, tuy nhiên các lập trình viên vẫn thường mắc những lỗi cơ bản khi áp dụng vào ứng dụng Web do không hiểu rõ hết các đặc điểm mã hóa Những lỗi thông thường bao gồm:
Không mã hóa dữ liệu quan trọng như khóa và mật khẩu
Lưu trữ các khóa bảo mật trong bộ nhớ bằng các cơ chế không an toàn
Cơ chế tạo số ngẫu nhiên không đảm bảo
Sử dụng sai thuật toán
Tạo một thuật toán mã hóa không đảm bảo
2.2.9 Cấu hình máy chủ thiếu an toàn
Cấu hình của máy chủ và các phần mềm hỗ trợ dịch vụ web là một yếu tố quan trọng trong vấn đề bảo mật của ứng dụng Máy chủ cung cấp nền tản phục vụ cho việc cung cấp nội dung và các dịch vụ mà ứng dụng web cần sử dụng, bao gồm lưu trữ, dịch vụ directory, email Do là nền tản cung cấp các chức năng cơ bản cho
Trang 18ứng dụng Những vấn đề về cấu hình của máy chủ có thể dẫn đến vấn đề bảo mật của ứng dụng
Theo các thống kê hiện nay (tham khảo www.owasp.com), các lỗ hổng liên quan đến cấu hình máy chủ bao gồm:
Các phần mềm và hệ điều hành trên máy chủ không được cập nhật với bản
vá lỗi bảo mật mới nhất
Những tập tin mặc định, tập tin tạo ra để test như script, tập tin cấu hình không được xóa đi trong thư mục của trang Web Những tập tin này thường có độ bảo mật yếu và có thể chứa những thông tin quan trọng
Không phân đúng quyền cho các thư mục và tập tin trong trang Web
Phần mềm Web Server đăng quá nhiều thông tin trong trang báo lỗi
2.3 Kỹ thuật tấn công và xâm nhập
Theo [7] [10] khi một mạng máy tính bị hacker tấn công nó sẽ chiếm một lượng lớn tài nguyên trên máy chủ như: dung lượng ổ cứng, bộ nhớ RAM, CPU, băng thông Khi đó, máy chủ sẽ không thể đáp ứng hết những yêu cầu từ những máy trạm của những người sử dụng, từ đó máy chủ có thể sẽ nhanh chóng bị ngừng hoạt động, hư hỏng hoặc bị khởi động lại gây thiệt hại lớn về tài chính và ảnh hưởng đến uy tính của các công ty và tổ chức
Dựa vào những lỗ hổng bảo mật ứng dụng Web đã nêu ở trên, các hacker sử dụng nhiều kỹ thuật để tấn công vào hệ thống mạng như: Trojans, backdoor, sniffers, exploits, buffer overflows, SQL injection, Deny of Service (DoS),…
Mục đích kẻ tấn công là làm sao để khai thác một trong bốn đặc tính về bảo mật:
- Tính bí mật
- Tính xác thực
- Tính toàn vẹn
Trang 19 Tấn công từ bên ngoài: tấn công từ bên ngoài Internet hay các kết nối truy cập từ xa
Có 5 pha tấn công, xâm nhập mà các kẻ tấn công thường dùng:
* Pha 1: Khảo sát thu thập thông tin
Thu thập thông tin về nơi cần tấn công như phát hiện các host, địa chỉ IP, các dịch vụ mạng
* Pha 2: Dò tìm
Sử dụng các thông tin thu thập được từ pha 1 để sử dụng tìm kiếm thêm thông tin lỗ hổng, điểm yếu của hệ thống mạng Các công cụ thường được sử dụng cho quá trình này là: các công cụ dùng quét cổng, quét dãy địa chỉ IP, dò tìm lỗ hổng,…
Trang 20* Pha 3: Xâm nhập
Các lỗ hổng, điểm yếu được dò tìm trong 2 pha trên được sử dụng khai thác
để xâm nhập vào hệ thống Ở pha này kẻ tấn công có thể dùng các kỹ thuật như: tràn vùng đệm dựa trên stack, từ chối dịch vụ (DoS – Denial of Service) và bắt cóc
phiên làm việc (session hijacking)
* Pha 4: Duy trì xâm nhập
Một khi kẻ tấn công đã xâm nhập được vào hệ thống, bước tiếp theo là làm sao để duy trì các xâm nhập này để có thể khai thác và xâm nhập tiếp trong tương lai Một vài kỹ thuật như backdoors, Trojans Một khi kẻ tấn công đã làm chủ hệ thống chúng có thể sử dụng hệ thống để tấn công vào hệ thống khác, trường hợp này hệ thống bị lợi dụng gọi là: zombie system
* Pha 5: Che đậy, xóa dấu vết
Một khi kẻ tấn công đã xâm nhập và cố gắng duy trì xâm nhập Bước tiếp theo là phải làm sao xóa hết dấu vết để không còn chứng cứ pháp lý xâm nhập Kẻ tấn công phải xóa các tập tin log, xóa các cảnh báo từ hệ thống phát hiện xâm nhập
Pha 2 (dò tìm) và pha 3 (xâm nhập) kẻ tấn công thường làm lưu lượng, kết nối mạng thay đổi khác với lúc mạng bình thường rất nhiều Nếu phân tích kỹ các bất thường này để rút trích ra các đặc trưng hữu ích của mạng có thể từ đó phân tích, phát hiện các xâm nhập như: quét cổng, quét dãy địa chỉ IP, tấn công từ chối dịch vụ (DoS),…
Hầu hết các cuộc tấn công đều tiến hành tuần tự 5 pha trên Làm sao để nhận biết tấn công, xâm nhập ngay từ hai pha đầu tiên (khảo sát thông tin và dò tìm thông tin) là hết sức quan trọng, vì sẽ hạn chế tấn công, xâm nhập ở những pha tiếp theo Ngay tại pha thứ 3 là xâm nhập, pha này không dễ dàng đối với kẻ tấn công Do vậy, khi không thể xâm nhập được vào hệ thống, để phá hoại có nhiều khả năng kẻ
Trang 21tấn công sẽ sử dụng tấn công từ chối dịch vụ để ngăn cản không cho các người dùng hợp lệ truy xuất tài nguyên phục vụ công việc
Khảo sát thông tin, dò tìm thông tin, tấn công từ chối dịch vụ, cũng như virus,… thông thường có tính chất hướng thời gian và có thể sử dụng phương pháp khai thác dữ liệu để nhận dạng chúng Trong những phần sau, đề tài sẽ trình bày ứng dụng thuật toán Bản đồ tự tổ chức – SOM để nhận dạng một cách hiệu quả, theo thời gian thực những dạng tấn công này
Hình 2.3: 5 pha tấn công, xâm nhập
2.4 Phân loại tấn công đối với máy chủ web
Theo [6] có thể phân loại tấn công, xâm nhập thành 5 nhóm sau đây:
2.4.1 U2R (User to Root)
Người tấn công sử dụng tài khoản người dùng bình thường để truy cập vào
hệ thống và tìm cách nâng quyền của mình lên cao hơn Có thể kẻ tấn công có được
Trang 22tài khoản nhờ sniff mật khẩu, dùng dictionary attack hay social engineering Các cách tấn công phổ biến của dạng này là buffer overflow
2.4.2 R2L (Remote to Local)
R2L là trường hợp người tấn công có khả năng gửi gói dữ liệu mạng đến hệ thống từ xa nhưng không có tài khoản truy cập vào hệ thống này Và họ cố gắng để truy cập vào hệ thống bằng việc khai thác lỗ hổng, đoán tài khoản và mật khẩu Một
số tấn công ở dạng này là dictionary, sendmail…
2.4.3 DoS (Land, SYN flood, mailbomb, smurf, teardrop…)
Gồm DoS và DDoS:
Tấn công dùng tài nguyên hệ thống làm hệ thống không đáp ứng được yêu cầu người dùng hợp lệ Dạng tấn công này có thể tấn công trên các máy chủ, ứng dụng hay toàn bộ hệ thống mạng
Tấn công từ chối dịch vụ có thể phân làm 2 loại:
DoS đơn giản: tấn công từ một hệ thống đến một hệ thống
Distributed DoS (DDoS): tấn công từ nhiều hệ thống đến một hệ thống
* Phương pháp tấn công DoS:
Làm tắt nghẽn mạng với lưu lượng gửi đến mạng rất lớn, vì vậy chúng ngăn không cho các lưu lượng hợp lệ truyền đi trên mạng
o Ngăn các kết nối giữa 2 thiết bị, dẫn đến ngăn chặn truy cập đến dịch vụ
o Ngăn chặn một máy tính hay một thiết bị nào đó không truy cập được dịch
vụ cần thiết
o Ngăn việc cung cấp dịch vụ cho một hệ thống hay một máy tính hợp lệ
Có nhiều tấn công DoS được giới thiệu trong [11] như: SYN Flooding, smurf, teardrop…
Trang 23Như vậy, qua khảo sát điển hình tấn công DoS và dò tìm, ta thấy lưu lượng, kết nối mạng với một số đặc trưng như băng thông, số lượng kết nối đến máy chủ tăng vọt Đây cũng là một cơ sở để lựa chọn đặc trưng phù hợp để phát hiện tấn công, xâm nhập hướng thời gian trên mạng
2.4.4 Probes
Probes là loại tấn công dò tìm thông tin trên mạng
* Dò tìm thông tin có thể chia làm 3 loại sau:
Dò tìm cổng: xác định cổng và dịch vụ nào đang mở Một số cổng thường ứng với các dịch vụ: FPT (21), Telnet (23), HTTP (80), SMTP (25), POP3 (110), HTTPS (443)
Dò tìm mạng: xác định dãy IP của mạng
Dò tìm điểm yếu: Dò các điểm yếu của hệ thống
* Dưới đây là một số dạng dò tìm phổ biến:
SYN Scan: dạng quét này không hoàn thành quá trình “bắt tay 3 bước” trong TCP (TCP/IP three-way handshake) Kẻ tấn công gửi gói SYN đến máy cần thăm
dò, nếu nhận phản hồi bằng gói SYN/ACK là có thể đoán cổng đang mở, nếu nhận gói RST có thể là cổng không mở
Hình 2.4: Quy trình bắt tay 3 bước
Trang 24XMAS: gửi gói dữ liệu với gói FIN, URG, PSH Nếu cổng mở thì không có trả lời, nhưng nếu cổng đóng thì máy bị quét sẽ trả lời bằng gói RST/ACK
FIN: tương tự như XMAS nhưng chỉ cờ FIN được bật lên
Nmap: phần mềm nổi tiếng về dò tìm thông tin (Network Mapper-tham khảo tại trang http://insecure.org/nmap/)
2.5 Kết luận
Các hacker thường sử dụng những kỹ thuật tấn công dựa vào những lỗ hổng trong bảo mật Web Server Theo khảo sát hầu hết các cuộc tấn công đều làm ảnh hưởng đến tài nguyên hệ thống máy như: CPU, bộ nhớ, lưu lượng mạng,… đây củng là cơ sở để tác giả đề xuất những tham số đặt trưng trong chương 4
Trang 25CHƯƠNG 3: THUẬT TOÁN BẢN ĐỒ TỰ TỔ CHỨC
Nội dung chương 3: Trình bày tông quan về kiến trúc của thuật toán “bản
đồ tự tổ chức”
3.1 Giới thiệu
Thuật toán bản đồ tự tổ chức - Self Organizing Map (SOM) là một mạng Nơron nhân tạo (Artificial Neural Networks – ANN), được huấn luyện (trained) sử
dụng kỹ thuật học không giám sát (Unsupervised learning) để biểu diễn dữ liệu với
số chiều (dimension) thấp hơn nhiều (thường là 2 chiều) so với dữ liệu đầu vào nhiều chiều (thường số chiều lớn) Kết quả của SOM gọi là bản đồ (Map) [10] Mô hình đầu tiên được mô tả bởi Giáo sư người Phần Lan Teuvo Kohonen vào đầu những năm 80, thường được gọi là bản đồ Kohonen hay mạng Kohonen
SOM là một ANN, tuy nhiên SOM khác với các ANN là không sử dụng các lớp ẩn (hidden layers) chỉ sử dụng input và output layer SOM sử dụng khái niệm láng giềng (neighborhood) để giữ lại đặc trưng của các dữ liệu đầu vào trên bản đồ (có nghĩa là các training sample tương tự nhau thì được đặt gần nhau trên bản đồ)
Trang 26tự động (Control Engineering), hóa - sinh trắc học (Biomedical Sciences and Chemistry), phân tích tài chính (Financial Analysis) và xử lý ngôn ngữ tự nhiên (Natural Language Processing)
Các thuộc tính cơ bản nhằm phân biệt SOM với các mạng nơron khác là nó
sử dụng ký số thay cho ký tự, không tham số (non-parametric), và học không hướng dẫn Phương pháp dùng số tự nhiên cho phép SOM xem xét, xử lý dữ liệu số tự nhiên thống kê được và nhằm để biểu diễn các mối quan hệ đã được chọn lọc Bởi
do SOM yêu cầu học không giám sát và là một dạng non-parametric nên nó có thể tìm ra cả những cấu trúc không hề mong muốn từ dữ liệu đã cho
Trong ứng dụng phát hiện tấn công, xâm nhập máy chủ Web, SOM có thể học các thông số trong trạng thái bất thường (trạng thái Web Server bị tấn công, xâm nhập) của CPU, bộ nhớ chính, các lưu lượng gói tin trong mạng, số lượng gói tin lỗi phát sinh trong khoảng thời gian thực,… Ngoài ra khi dùng SOM ta biết được mật độ phân bố của các vectơ đầu vào một cách trực quan
SOM sử dụng cạnh tranh mềm (soft) để gom cụm dữ liệu Có nghĩa là chẳng những vectơ trọng tâm của nơron chiến thắng được cập nhật, mà vectơ trọng tâm các nơron lân cận (láng giềng) của nơron chiến thắng cũng được cập nhật Trong cạnh tranh cứng (hard) chỉ duy nhất vectơ trọng tâm của nơron chiến thắng được cập nhật
Hình 3.2: Vectơ trọng số của nơron chiến thắng (màu sậm) và các vectơ trọng số của những nơron lân cận được cập nhật hướng về mẫu dữ liệu đầu vào x
Trang 273.2 Kiến trúc của SOM
Input vector: Là các mẫu dữ liệu huấn luyện có kích thước n
Output Layer: Gồm các node (nơron) được bố trí trên một bản đồ kích
thước X xY Mỗi nơron có vị trí xác định trên bản đồ, tại mỗi nơron lưu giữ một vector trọng số (weight vector) có số chiều bằng với số chiều của input vector
Ma trận trọng số (weight matrix): wij kết nối giữa input vector và các nơron
Hình: 3.3: Kiến trúc của SOM
3.3 Thuật toán SOM
Xét một tập dữ liệu là các vectơ trong không gian n chiều:
(3.1) Thông thường SOM gồm M nơron nằm trong một bản đồ (thường có kích thước 2 chiều) Một nơron thứ i là một vectơ mẫu có kích thước p:
(3.2)
Trang 28Các nơron trong bản đồ có liên kết đến các nơron lân cận bằng một quan hệ láng giềng Các láng giềng liền kề là các nơron lân cận tuỳ theo bán kính lân cận của nơron thứ i
Ni (d) = { j,di,j < d } với d là bán kính lân cận Các nơron lân cận tùy thuộc vào bán kính, được sắp xếp trong lưới theo hình chữ nhật hoặc hình lục giác Số các lân cận xác định trọng tâm của ma trận kết quả,
có ảnh hưởng đến độ chính xác và khả năng sinh ma trận của SOM
Hình 3.4: Những vùng lân cận của nơron chiến thắng
Trong thuật toán SOM, các quan hệ hình học và số các nơron là cố định ngay
từ đầu Số lượng nơron thường được chọn đủ lớn nếu có thể, bằng cách điều khiển kích thước lân cận cho phù hợp Nếu kích thước lân cận được lựa chọn là phù hợp thì ma trận không bị mất mát thông tin nhiều ngay cả khi số các nơron vượt quá số các vectơ đầu vào
Trước khi huấn luyện các giá trị ban đầu được đưa ra là các vectơ trọng số SOM là không phụ thuộc nhiều đối với dữ liệu ban đầu (dữ liệu có thể bị thiếu), nhưng thuật toán SOM vẫn hội tụ Dùng một trong ba thủ tục khởi tạo điển hình sau:
Trang 29 Khởi tạo ngẫu nhiên, vectơ trọng số ban đầu được gán giá trị ngẫu nhiên
3.4 Xác định đơn vị phù hợp nhất BMU (Best Matching Unit)
Trước khi huấn luyện, các trọng số của mỗi nút phải được khởi tạo với giá trị ngẫu nhiên trong đoạn [0,1]
Trong mỗi bước huấn luyện, chọn ngẫu nhiên một vectơ x trong tập dữ liệu ban đầu Tính toán khoảng cách giữa x đến tất cả các vectơ mẫu, trong đó c là đơn
vị có mẫu gần x nhất gọi là BMU (Best Matching Unit), được xác định như sau:
(3.3) Với || || là độ đo khoảng cách
Sau khi tìm được BMU, vectơ trọng số của SOM được cập nhập lại Vectơ trọng số của BMU và các lân cận hình thái của nó di chuyển dần đến vectơ trong không gian đầu vào
Hình 3.5: BMU và các node lân cận
Trang 303.5 Cập nhật trọng số và lân cận của BMU
Vector của nơron chiến thắng và lân cận được cập nhật theo phương trình sau:
hci : lân cận nhân (kelnel)
Lân cận nhân đóng vai trò trung tâm, để hội tụ thì h ci(t)0 khi t
Với c là chỉ mục của BMU thỏa điều kiện sau:
( t h r r t t
Trang 32Hàm tốc độ học (t ) thường dùng là một hàm tuyến tính hay một hàm tỷ lệ nghịch với thời gian, giảm theo thời gian, t là tốc độ học biểu thị mức độ học hỏi nhiều hay ít của các nơron trong vùng lân cận (0 t 1), chúng ta thường dùng các hàm tốc độ học sau:
t
0 0
005 0 )
t
10 1
Trang 33Các hàm tốc độ học
0 0.2
Việc huấn luyện thường được tiến hành trong hai giai đoạn Giai đoạn đầu,
có liên quan đến việc sử dụng giá trị ban đầu α đủ lớn và các bán kính lân cận Trong giai đoạn sau giá trị α và bán kính lân cận đủ nhỏ ngay từ khi bắt đầu Thủ tục này phù hợp với việc điều chỉnh xấp xỉ ban đầu của SOM trong cùng một không gian giống như dữ liệu đầu vào và sau đó điều chỉnh tốt trên ma trận
3.6 Quá trình học của SOM
Quá trình huấn luyện cho SOM là huấn luyện cạnh tranh nên mỗi tập huấn luyện sẽ có một nơron chiến thắng Nơron chiến thắng này sẽ có trọng số được điều chỉnh sao cho ngay lập tức nó sẽ tác động trở lại mạnh mẽ hơn trong dữ liệu đầu vào ở lần tiếp theo Sự khác nhau giữa các nơron chiến thắng sẽ dẫn tới sự khác nhau giữa các mẫu đầu vào tiếp theo
Đầu vào:
1 Xác định cấu trúc và số dòng, số cột bản đồ
2 Đưa vào tập dữ liệu học gồm n chiều
3 Đưa vào tổng thời kỳ học
Trang 344 Đưa vào epsilon nếu lỗi lượng tử trung bình sau một số bước học nhỏ hơn epsilon thì dừng, thường thì sau mỗi thời kỳ học lỗi lượng tử trung bình sẽ được tính toán và so sánh với epsilon
5 Chọn phương thức khởi tạo trọng số cho các vectơ trọng số của các nơron trên bản đồ: ngẫu nhiên, hay ngẫu nhiên từ tập dữ liệu học
6 Đưa vào hàm lân cận, thường dùng là hàm Gaussian:
Bước 1: Khởi tạo bước học đầu tiên t=0
Bước 2: Khởi tạo ngẫu nhiên các nơron
Bước 3: Chọn ngẫu nhiên vectơ x i từ tập dữ liệu đầu vào
Bước 4: Tính khoảng cách Euclide từ vectơ x i đến các nơron trên bản đồ
Bước 5: Chọn nơron chiến thắng (BMU) là nơron có vectơ trọng số gần vectơ xi nhất
Bước 6: Cập nhật trọng số của các nơron chiến thắng bằng hàm lân cận nhân
và hàm tốc độ học cho trước
Bước 7: Hiệu chỉnh trọng số vectơ của nơron chiến thắng và nơron lân cận bằng công thức: mi( t 1 ) mi( t ) hci( t ) x ( t ) mi( t )
Bước 8: Gán t=t+1 Nếu t > T hay lỗi lượng tử trung bình < Epsilon thì
DỪNG thuật toán Ngược lại, quay về bước 3
Trang 35Hình 3.9: Mô hình huấn luyện SOM
Thực hiện huấn luyện, điều chỉnh trọng số dựa vào nơron thắng
Tính toán lại tỉ lệ sai số, ghi lại những giá trị đã được cải thiện
Cải thiện tỉ lệ sai số là tầm thường?
Ma trận trọng số này đã tốt nhất chưa?
Nếu có ma trận trọng số tốt hơn của ma trận trọng
số tốt nhất?
Gán ma trận trọng số này thành
ma trận trọng số tốt nhất
Đã quá số chu kỳ xác định?
Yes
No
Yes Yes
Trang 36* Lỗi lượng tử trung bình giữa các vectơ dữ liệu và các vectơ trọng số của nơron trên bản đồ được tính theo công thức sau:
mc : vectơ trọng số BMU
* Độ đo lỗi hình học (lỗi tôpô): là phần trăm các vectơ dữ liệu đầu vào có nơron chiến thắng trong lần học thứ nhất và nơron chiến thắng trong lần học thứ hai không phải là các đơn vị nằm cận nhau trên bản đồ:
1
Với:
là vectơ đặc trưng của mẫu huấn luyện
u(xi) = 1, nếu nơron chiến thắng trong lần học thứ nhất và nơron chiến thắng trong lần học thứ hai không phải là các đơn vị nằm cận nhau trên bản đồ, ngược lại bằng u(xi) = 0
3.8 Các phương pháp trực quan hóa “bản đồ tự tổ chức”
Thuật toán SOM với những ưu điểm của nó, đã trở thành công cụ có ích trong việc học không giám sát Đó là, tạo ra hàm phân bố xác suất cho tập dữ liệu ban đầu, dễ giải thích và quan trọng nhất là trực quan hoá tốt [9] Tùy theo vấn đề cần giải quyết, các chuyên gia có thể chọn các phương pháp khác nhau để phân tích
dữ liệu đầu ra Thế nhưng với phương pháp SOM có thể làm nhiều công việc cùng một lúc và cho kết quả tương đương với việc kết hợp nhiều phương pháp khác với nhau [13] Như đã trình bày, SOM rất hiệu quả trong các tiến trình huấn luyện và
Trang 37rút gọn kích thước dữ liệu Nếu tích hợp SOM với các phương pháp khác có thể sinh luật
Trực quan hoá: rất có ý nghĩa trong việc học không giám sát, là yếu tố quan
trọng trong báo cáo kết quả hoặc “tạo” tri thức Các minh hoạ trực quan dùng để hiểu thấu đáo tập dữ liệu và tóm tắt cấu trúc tập dữ liệu Có thể khẳng định điểm mạnh của SOM là phương pháp trực quan hoá Các kỹ thuật trực quan hoá dùng SOM gồm:
- Trực quan hoá ma trận: gồm trực quan hoá các thành phần (component
planes) của vectơ và sự tương quan giữa chúng; trực quan hoá ma trận hợp nhất khoảng cách U (unified distance matrix – U Matrix) để biểu diễn cấu trúc cụm của
dữ liệu, ánh xạ Sammon [11] thể hiện hình ảnh của ma trận trong không gian đầu vào, các màu hoặc nhãn giống nhau thể hiện các vectơ ở gần nhau Các biểu đồ dữ liệu và phương pháp chiếu tập dữ liệu cho mục đích trực quan
- Trực quan hoá đối tượng: thực chất là áp dụng SOM để chọn lọc đặc tính
nổi trội của các thành phần dữ liệu, bằng cách đánh màu tự động cho mỗi đơn vị của ma trận hoặc ấn định màu bằng tay Mỗi điểm của đối tượng được đánh dấu bằng màu phù hợp với màu BMU của điểm đó Những nơron có màu hoặc nhãn giống nhau sẽ ở vị trí gần nhau trên bản đồ
Hình 3.10: Vị trí các nơron sau huấn luyện
Trang 383.9 Ngưỡng cảnh báo
Để đánh giá hiệu quả tính cảnh báo của hệ thống phát hiện xâm nhập, ta dùng các độ đo sau: độ chính xác (accuracy), độ đo truy hồi (recall), độ rõ ràng (precision)
Ta đặt:
o TN (True Negative): trường hợp mạng bình thường và IDS không cảnh báo
o TP (True Positive): trường hợp mạng bị tấn công và IDS có cảnh báo
o FN (False Negative): trường hợp mạng bị tấn công nhưng IDS không cảnh báo
o FP (False Positive): trường hợp mạng bình thường nhưng IDS lại cảnh báo tấn công
Một hệ thống dự báo tốt phải đảm bảo accuracy, recall, precision cao:
FP FN
TP TN
TP TN
Nếu máy chủ xảy ra tình trạng FP sẽ ảnh hưởng đến nhân viên trong công ty,
cơ quan vì tình trạng cảnh báo sai
Do đó phải tìm ngưỡng cảnh báo cho phủ hợp giữa FN và FP
Trang 39Phương pháp này so sánh mẫu dữ liệu với nơron trên SOM nhằm nhận dạng tấn công, nếu dữ liệu so sánh nằm trong vùng bán kính IDS thì sẽ phát có cảnh báo tấn công
3.11 Ưu điểm và nhược điểm của SOM
Ưu điểm:
Giải thuật SOM được cài đặt tương đối đơn giản và dễ hiểu SOM được sử dụng trong việc gom cụm các loại dữ liệu và trực quan hóa chúng trên các bản đồ
nhằm đơn giản hóa quá trình khai thác và thu thập dữ liệu
SOM rất có hiệu quả trong quá trình phân tích đòi hỏi trí thông minh để đưa
ra quyết định nhanh chóng trên thị trường Nó giúp cho người phân tích hiểu vấn đề hơn trên một tập dữ liệu tương đối lớn
Có khả năng biểu diễn dữ liệu đa chiều dùng trong trình bày và làm báo cáo
Xác định các cụm dữ liệu (ví dụ các nhóm khách hàng) giúp cho việc tối ưu phân bố nguồn lực (quảng cáo, tìm kiếm sản phẩm, .)
Có thể dùng để phát hiện các lỗi dữ liệu
Nhược điểm:
Do sự khởi tạo ngẫu nhiên nên kết quả cuối cùng của bản đồ sẽ khác nhau
Trang 40Chi phí cho việc tính toán khá cao khi số chiều của dữ liệu tăng lên
SOM tự tổ chức dữ liệu trong các nơron sao cho các dữ liệu gần nhau được phân bố trong những nơron gần nhau trên bản đồ Đối với phát hiện tấn công trên mạng có thể cho SOM học từ tập dữ liệu bình thường hay bất thường Ứng dụng SOM học từ tập dữ liệu bất thường sẽ cho cảnh báo tấn công nhanh và chính xác Vì vậy, luận văn này đã đi theo hướng ứng dụng SOM học từ tập dữ liệu bất thường