1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ứng dụng công nghệ bản đồ tự tổ chức (self organizing map SOM) nhằm phát hiện tấn công từ chối dịch vụ dos thông qua hành vi luận văn thạc sĩ

77 888 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Ứng dụng công nghệ bản đồ tự tổ chức (Self Organizing Map - SOM) nhằm phát hiện tấn công từ chối dịch vụ DoS thông qua hành vi luận văn thạc sĩ
Trường học Trường Đại học Công nghệ Thông tin, Đại học Khoa học Tự nhiên TP Hồ Chí Minh
Chuyên ngành An ninh mạng và Trí tuệ nhân tạo
Thể loại Luận văn Thạc sĩ
Năm xuất bản 2023
Thành phố Hồ Chí Minh
Định dạng
Số trang 77
Dung lượng 4,52 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tuy nhiên, để phát hiện được các cuộc tấn cơng hay xâm nhập hệ thống máy tính thơng thường ta dựa vào trạng thái của máy chủ đĩ trong mạng, nhưng để nhận biết hệ thống mạng bình thường h

Trang 1

MỞ ĐẦU Tĩm lược đề tài

Ngày nay Internet đã trở thành một phần khơng thể thiếu của đời sống

xã hội Việc học tập, kinh doanh, vui chơi giải trí, liên lạc và trao đổi thơng tin trên mạng đã trở thành những hành động thường ngày của con người, khả năng kết nối trên tồn thế giới đang mang lại thuận tiện cho tất cả mọi người, đặc biệt với sự hỗ trợ của máy tìm kiếm Google chúng ta cĩ thể tìm kiếm được mọi thứ trên Internet khi chúng ta cần Bên cạnh những thuận lợi đĩ, chúng ta phải đối mặt với những nguy cơ như mất trộm thơng tin trên mạng, mua bán thơng tin cá nhân gây ảnh hưởng đến tính riêng tư, những vụ lừa đảo, tấn cơng từ chối dịch vụ gây ảnh hưởng đến hoạt động kinh doanh cho các cơng ty và gây phiền hà cho người sử dụng internet…làm cho việc bảo mật trên mạng luơn là vấn đề nĩng và được quan tâm đến mọi thời điểm

Các giải pháp bảo mật luơn được chú trọng và cĩ những đĩng gĩp lớn trong việc hạn chế và ngăn chặn những xâm nhập mạng trái phép, ví dụ: firewall ngăn chặn các kết nối khơng đáng tin cậy, mã hĩa làm tăng độ an tồn cho việc truyên dữ liệu, các chương trình diệt virus với cơ sở dữ liệu liên tục cập nhật những loại virus mới Tuy nhiên, để phát hiện được các cuộc tấn cơng hay xâm nhập hệ thống máy tính thơng thường ta dựa vào trạng thái của máy chủ đĩ trong mạng, nhưng để nhận biết hệ thống mạng bình thường hay đang bị tấn cơng là việc làm cần phải cĩ sự đầu tư về nhân lực và tài chính

Các chuyên gia nghiên cứu đã sử những thuật tốn trong lĩnh vực Trí tuệ nhân tạo để giải quyết vấn đề trên như: thuật tốn Markov ẩn, Nạve Bayesian, thuật tốn di truyền,….[2][5][18] và trong đĩ cĩ thuật tốn bản đồ tự tổ chức (Self Organizing Map - SOM) do Giáo sư Teuvo Kohonen người Phần Lan

đưa ra vào đầu những năm 80 cũng nghiên cứu về vấn đề này

Trang 2

Hiện nay, ở các nước như: Nhật Bản, Mĩ, Phần Lan cũng có những đề tài nghiên cứu có ứng dụng bản đồ tự tổ chức SOM để xây dựng hệ thống cảnh báo phát hiện xâm nhập mạng, còn ở Việt Nam những đề tài nghiên cứu

về thuật toán bản đồ tự tổ chức như: Trường Đại học Công nghệ thông tin, Đại học Khoa học Tự nhiên Tp Hồ Chí Minh và khu Công nghệ phần mềm Đại học quốc gia Tp Hồ Chí Minh

Mục tiêu đề tài

Mục tiêu chính của luận văn tập trung nghiên cứu một số vấn đề sau:

- Tấn công từ chối dịch vụ (Denial of Service – DoS)

- Hệ thống cảnh báo xâm nhập mạng (Intrusion Detection System –

IDS)

- Lý thuyết về thuật toán “bản đồ tự tổ chức” SOM

- Cài đặt công cụ cảnh báo tấn công với ứng dụng thuật toán “Bản đồ tự

tổ chức” SOM nhằm cảnh báo tấn công DoS qua hành vi đã biết

Nội dung đề tài

Những nội dung thực hiện để đạt mục tiêu của luận văn là:

- Nghiên cứu hệ thống cảnh báo phát hiện xâm nhập IDS thông qua thầy cô, giáo viên hướng dẫn, qua kiến thức đã học, qua sách báo và internet

để tìm hiểu cơ chế và hoạt động của một IDS từ đó đề xuất một công cụ cảnh báo tấn công DoS được thiết kế trên hệ điều hành mã nguồn mở Linux

- Nghiên cứu các kiểu tấn công từ chối dịch DoS, để có thể hiểu sâu về các cuộc tấn công từ chối dịch vụ và tấn công từ chối dịch vụ phân tán, cách thức làm việc của một Attacker khi tấn công mục tiêu, mục đích ý nghĩa của các pha tấn công, để có các phương pháp ngăn chặn tấn công và có những biện pháp xử lí kịp thời nếu hệ thống mạng vô tình là mục tiêu của attacker

- Nghiên cứu thuật toán bản đồ tự tổ chức SOM

Trang 3

- Xây dựng Lab thử nghiệm tấn công từ chối dịch vụ, xác định những ảnh hưởng của tấn công từ chối dịch vụ DoS qua hệ thống mạng ảo

- Cài đặt cộng cụ cảnh báo tấn công DoS

Phạm vi ứng dụng

Đề tài: “Ứng dụng công nghệ bản đồ tự tổ chức (Self Organizing Map - SOM) nhằm phát hiện tấn công từ chối dịch vụ DoS qua hành vi”

có thể được ứng dụng đưa ra cảnh báo tấn công giúp các tổ chức, cá nhân, các

cơ quan và doanh nghiệp phát hiện được các cuộc tấn công từ chối dịch vụ DoS

Những đóng góp của luận văn

Các đóng góp của luận văn là:

- Giới thiệu hệ thống phát hiện xâm nhập IDS hiện có

- Giới thiệu và phân loại tấn công từ chối dịch vụ DoS

- Phân tích thuật toán “Bản đồ tự tổ chức” SOM và ứng dụng vào quá trình học các tấn công đã biết để khi có xảy ra tấn công tương tự thì cảnh báo đến người quản trị hệ thống

- Thiết kế một công cụ cảnh báo tấn công từ chối dịch vụ DoS trên hệ điều hành mã nguồn mở Linux

Cấu trúc của luận văn:

Luận văn gồm các thành phần chính như sau:

MỞ ĐẦU

Chương 1: TỔNG QUAN VỀ IDS VÀ DoS

Chương này trình bày tổng quan về: Hệ thống phát hiện xâm nhập IDS; Giới thiệu chung về mạng neuron nhân tạo và tấn công từ chối dịch vụ DoS

Trang 4

Chương 2: CƠ SỞ LÝ THUYẾT: THUẬT TOÁN BẢN ĐỒ TỰ TỔ CHỨC (Self Organizing Map - SOM)

Trình bày tổng quan, kiến trúc, thuật toán và một số ưu điểm, nhược điểm của thuật toán SOM

Chương 3: XÂY DỰNG CÁC VECTOR HUẤN LUYỆN và XÁC ĐỊNH CÁC ĐẶC TRƯNG HỆ THỐNG

Nội dung của chương này trình bày về cách thức lấy thông tin qua Procfile trên hệ điều hành Linux Từ các thông tin đó, chúng ta chọn ra các vector huấn luyện đặc trưng nhất của hệ thống và cách thức lấy vector huấn luyện; giới thiệu thuật toán xây dựng các tham số đặc trưng, cách thức gán trọng số và chuẩn hóa các đặc trưng đã đề xuất

Chương 4: THIẾT KẾ VÀ CÀI ĐẶT THỬ NGHIỆM

Chương này trình bày mục tiêu và tổng quan mô hình đề xuất, thử nghiệm hệ thống phát hiện tấn công IDS với cách tấn công từ chối dịch vụ DoS đã biết trước Từ đó, đưa ra một số nhận xét đánh giá về IDS đề xuất

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

DANH MỤC TÀI LIỆU THAM KHẢO

PHỤ LỤC

Trang 5

Chương 1 TỔNG QUAN VỀ IDS VÀ DoS Trong chương này trình bày tổng quan về: Hệ thống phát hiện xâm nhập IDS; Mạng neuron nhân tạo và kĩ thuật tấn công từ chối dịch vụ DoS 1.1 Giới thiệu về hệ thống phát hiện xâm nhập IDS

1.1.1 IDS là gì?

IDS là một hệ thống phòng chống, nhằm phát hiện các hành động tấn công vào một mạng Mục đích của nó là phát hiện các hành động phá hoại đối với vấn đề bảo mật hệ thống, hoặc những hành động trong tiến trình tấn công như sưu tập, quét các cổng

IDS có thể cung cấp thông tin nhận biết về những hành động bất thường và đưa ra các cảnh báo thông báo cho nhà quản trị mạng khóa các kết nối đang tấn công này Thêm vào đó công cụ IDS cũng có thể phân biệt giữa những cuộc tấn công từ bên trong tổ chức (từ chính nhân viên hoặc khách hàng) và tấn công bên ngoài (tấn công từ hacker)

IDS có thể giám sát và phát hiện các lạm dụng tài nguyên hệ thống như quét mạng, tấn công DoS, các hành vi truy cập các dịch vụ của hệ thống mạng một cách trái phép

1.1.2 Phân loại hệ thống phát hiện xâm nhập mạng IDS

Có 2 loại IDS là Network based IDS (NIDS) và Host based IDS (HIDS)

Hệ thống phát hiện xâm nhập mạng (Network based IDS – NIDS): Được đặt giữa kết nối hệ thống mạng bên trong và bên ngoài để giám sát toàn bộ lưu lượng mạng vào ra Có thể là thiết bị phần cứng riêng biệt được thiết lập sẵn hay phần mềm cài đặt trên máy tính Chỉ dùng để đo lưu

lượng mạng được sử dụng, nếu 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

Trang 6

làm việc và có thể đưa vào tường lửa [7] Tuy nhiên, có thể xảy ra hiện tượng nghẽn cổ chai khi lưu lượng mạng hoạt động ở mức cao

Ưu điểm: Giám sát được lưu lượng mạng, các kết nối trong mạng Nhược điểm: Khó quan sát được nội dung các gói dữ liệu mạng đã được mã hóa, đồng thời cũng không thể biết được những gì đang diễn ra tại các máy tính trong mạng

Hệ thống phát hiện xâm nhập máy chủ (Host based IDS – HIDS):

Được cài đặt cục bộ trên một máy tính làm cho nó trở nên linh hoạt hơn nhiều so với NIDS, kiểm soát lưu lượng vào ra trên một máy tính, có thể được triển khai nhiều máy tính trong hệ thống mạng, HIDS có thể được cài đặt trên nhiều dạng máy khác nhau như máy chủ, máy trạm hay máy xách tay HIDS cho phép ta thực hiện một cách linh hoạt trong các đoạn mạng mà NIDS không thể thực hiện được, lưu lượng đã gửi tới máy tính HIDS được phân tích

và chuyển qua nếu chúng không chứa mã nguy hiểm HIDS được hoạt động chủ yếu trên hệ điều hành windows, mặc dù vậy vẫn có các sản phẩm hoạt động trong nền Unix và nhiều hệ điều hành khác

Như vậy, khi kết hợp của NIDS và HIDS sẽ cung cấp sự bảo mật hiệu quả đối với hệ thống mạng máy tính, máy chủ và máy trạm

Ưu điểm: Cài đặt trên nhiều dạng máy tính: xách tay, máy trạm, máy chủ

Phân tích lưu lượng mạng rồi mới forward

Giám sát được những hiện thực đang diễn ra trên máy tính

Nhược điểm: Không biết được trạng thái hoạt động của toàn mạng theo phương thức này, người quản trị khó có thể phát hiện xâm nhập theo thời gian thực

Trang 7

Hình 1.1: Vị trí của IDS trong mạng

1.2 Giới thiệu mạng neuron:

1.2.1 Mạng neuron nhân tạo là gì?

Định nghĩa: Mạng neuron nhân tạo, Artificial Neuron Network (ANN) gọi tắt là mạng neuron, neuron network, là một mô hình xử lí thông tin phỏng

theo cách xử lý thông tin của các hệ neuron sinh học Nó được tạo nên từ các

số lượng các phân tử (gọi là phần tử xử lý hay neuron) kết nối với nhau thông qua các liên kết (gọi là trọng số liên kết) làm việc như một thể thống nhất để

giải quyết một vấn đề cụ thể nào đó

Một mạng neuron nhân tạo được cấu hình cho một ứng dụng cụ thể

(nhận dạng mẫu, phân loại dữ liệu,…) thông qua một quá trình học từ tập các

mẫu huấn luyện Về bản chất học chính là quá trình hiệu chỉnh trọng số liên kết giữa các neuron

1.2.2 Kiến trúc mạng neuron

Kiến trúc mạng truyền thẳng (feedforward architechture): là kiểu

kiến trúc mạng không có các kết nối ngược trở lại từ các neuron đầu ra về các neuron đầu vào; mạng không lưu lại các giá trị output trước và các trạng thái kích hoạt của neuron Các mạng neuron truyền thẳng cho phép tín hiệu di chuyển theo một đường duy nhất; từ đầu vào tới đầu ra, đầu ra của một tầng

Trang 8

bất kì sẽ không ảnh hưởng tới tầng đó Các mạng kiểu perceptron là mạng truyền thẳng

Hình 1.2: – Mạng truyền thẳng

Kiến trúc mạng phản hồi (feedback architechture): là kiểu kiến trúc

mạng có các kết nối từ neuron đầu ra tới neuron đầu vào Mạng lưu các trạng thái trước đó, và trạng thái tiếp theo không chỉ phụ thuộc vào các tín hiệu đầu vào mà còn phụ thuộc vào các trạng thái trước đó của mạng Mạng hopfield thuộc loại này

Hình 1.3 – Mạng kiến trúc phản hồi

Trang 9

1.2.3 Các hệ học máy

1.2.3.1 Học máy là gì? [2]

Học là quá trình thay đổi hành vi của các vật theo một cách nào đó làm cho chúng có thể thực hiện tốt hơn trong tương lai khi gặp những tình trạng tương tự

Một quá trình mà một chương trình máy tính cải thiện hiệu suất của nó trong một công việc thông qua kinh nghiệm

Việc lập trình các máy tính để tối ưu hóa một tiêu chí hiệu suất dựa trên các dữ liệu ví dụ hoặc kinh nghiệm quá khứ

Học làm gì ?

- Học là cần thiết trong những môi trường chưa quen thuộc

- Học là một phương pháp hữu hiệu để xây dựng hệ thống

- Học là cách để các chương trình thông minh có thể hiệu chỉnh hành vi

để tăng hiệu quả giải quyết vấn đề

Học khi nào ?

- Tri thức con người chưa đủ (Ví dụ: Trên sao hỏa)

- Con người không đủ khả năng giải thích (nhận dạng giọng nói, nhận dạng chữ viết, nhận dạng khuôn mặt người,…)

- Lời giải thay đổi theo thời gian (routing on a computer network)

- Lời giải cần thích nghi trong từng trường hợp cụ thể (sinh vật học)

Một mạng neuron được huấn luyện (hay là học) sao cho một tập các

vector đầu vào X, mạng có khả năng tạo ra tập các vector đầu ra mong muốn

Y của nó Tập X được sử dụng cho huấn luyện mạng được gọi là tập huấn

Trang 10

luyện (training set) Quá trình huấn luyện bản chất là sự thay đổi các trọng số liên kết của mạng Trong quá trình này, các trọng số của mạng sẽ hội tụ dần tới các giá trị sao cho với mỗi vector đầu vào x từ tập huấn luyện, mạng sẽ cho ra vector đầu ra y như mong muốn

Có ba phương pháp học phổ biến là học có giám sát (supervised learning), học không có giám sát (unsupervised learning) và học tăng cường (Reinforcement learning)

1.2.3.2 Học có giám sát

Là quá trình học có sự tham gia giám sát của một “thầy giáo”, cũng như việc ta dạy một em nhỏ các chữ cái Ta đưa ra một chữ cái và bảo với em đó rằng đây là chữ “a” Việc này được thực hiện trên tất cả các mẫu chữ cái Sau

đó khi kiểm tra ta sẽ đưa ra một chữ cái bất kì (có thể viết hơi khác đi) và hỏi

Như vậy học có giám sát, số lớp cần phân loại đã được biết trước Nhiệm vụ của thuật toán là phải xác định được một cách thức phân lớp sao cho với mỗi vector đầu vào sẽ được phân loại chính xác vào lớp của nó

1.2.3.3 Học không có giám sát

Là việc học không cần có bất kì một sự giám sát nào

Trang 11

Trong bài toán học không giám sát, tập dữ liệu huấn luyện được cho dưới dạng: D = {x1,x2,…,xN}, với (x1,x2,…,xN) là vector đặc trưng của mẫu huấn luyện Nhiệm vụ của thuật toán là phải phân chia tập dữ liệu D thành các nhóm con, mỗi nhóm chứa các vector đầu vào có đặc trưng giống nhau

Như vậy với học không giám sát, số lớp phân loại chưa được biết trước

và tùy theo tiêu chuẩn đánh giá độ tương tự giữa các mẫu mà ta có thể có các

lớp phân loại khác nhau

1.3 Kỹ thuật tấn công, xâm nhập

Một hệ thống mạng khi 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ớ, CPU, băng thông,…lượng tài nguyên này tùy thuộc vào khả năng huy động tấn công của mỗi người tấn cô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ể nhanh chóng bị ngưng hoạt động, hư hỏng hoặc khởi động lại

Có rất nhiều kĩ thuật tấn công vào hệ thống mạng như: Ping of Death, Teardrop, Smurf Attack, UDP/ICMP flooding, TCP/SYN flooding, Attack DNS, Trojans, Backdoor, sniffer, SQL injection,…

Theo [15] hầu hết các công cụ xâm nhập thường khai thác các điểm yếu

Trang 12

- Cấu hình sai: Hệ thống có thể bị cấu hình sai hay cấu hình ở mức bảo mật thấp nhằm tăng tính dễ sử dụng cho người dùng

Mục tiêu của kẻ tấn công:

Mục tiêu chính của hacker là làm sao để khai thác được 4 đặc tính về bảo mật ?

+ Tấn công bị động: là cố gắng thu thập thông tin từ hoạt động của hệ thống và hoạt động của mạng làm phá vỡ tính bí mật của dữ liệu

Dựa vào nguồn gốc tấn công có thể phân loại tấn công làm hai loại: tấn công từ bên trong và tấn công từ bên ngoài

+ Tấn công từ bên trong: đó là người tấn công ở bên trong hệ thống mạng, người đó muốn truy cập, lấy thông tin nhiều hơn quyền cho phép

+ Tấn công từ bên ngoài: là tấn công từ bên ngoài hay các kết nối truy cập từ xa

Trang 13

1.4 Tấn công từ chối dịch vụ DoS

1.4.1 Khái niệm

Tấn công từ chối dịch vụ DoS là một cuộc tấn công thực hiện từ một người hoặc một nhóm người nào đó đến hệ thống mục tiêu Khi cuộc tấn công xảy ra, trên hệ thống bị tấn công, người dùng không thể truy xuất dữ liệu hay thực hiện bất kỳ một công việc nào

1.4.2 Mục đích

Mục đích của tấn công từ chối dịch vụ là không cho phép ủy quyền truy cập đến máy hoặc dữ liệu, ngăn chặn các người dùng hợp pháp truy cập dịch

vụ của hệ thống

Khi tấn công, Attacker có thể thực hiện các công việc sau:

- Cố gắng làm ngập hệ thống, ngăn chặn các giao thông mạng hợp lệ

- Phá vỡ các kết nối giữa hai máy, ngăn chặn các truy cập đến dịch vụ

- Ngăn chặn các thiết lập đặc biệt đến dịch vụ

- Phá vỡ hệ thống của một người hoặc một hệ thống chỉ định

1.4.3 Ảnh hưởng của tấn công từ chối dịch vụ DoS

1.4.3.1 Ảnh hưởng

- Mạng mục tiêu bị vô hiệu hóa

- Vô hiệu hóa việc tổ chức

- Ảnh hưởng đến uy tín và tài chính của tổ chức bị tấn công

1.4.3.2 Phương thức

+ Khi cuộc tấn công xảy ra sẽ:

- Làm khan hiếm, giới hạn và không thể phục hồi tài nguyên

- Ảnh hưởng đến băng thông, bộ nhớ, không gian đĩa, CPU và cấu trúc

dữ liệu

Trang 14

- Không thể truy cập đến các máy tính khác và mạng

+ Phá hủy, thay thế các thông tin cấu hình

Trang 15

Chương 2 CƠ SỞ LÝ THUYẾT: THUẬT TOÁN BẢN ĐỒ TỰ TỔ

CHỨC (Self Organizing Map - SOM) Trình bày tổng quan, kiến trúc, thuật toán và một số ưu điểm, nhược điểm của thuật toán SOM

2.1 Giới thiệu

Bản đồ tự tổ chức (Self – Organizing – Map) được viết tắt là SOM, là

một phần của mạng neuron nhân tạo và là kĩ thuật trực quan hóa dữ liệu Mô

hình này do Giáo sư người Phần Lan tên là Teuvo Kohonen đề xuất đầu tiên vào năm 1980, và được gọi là mạng Kohonen hay là bản đồ Kohonen [6]

Thuật giải xây dựng mạng Kohonen để lưu trữ thông tin và là cách duy trì của các quan hệ hình học bên trong tập huấn luyện, thuật toán phân loại dữ

Trang 16

liệu huấn luyện mà không cần bất cứ sự giám sát nào bên ngoài so với giải

thuật học có giám sát truyền thống Do đó, SOM còn được xem là một giải thuật học không giám sát

2.2 Cấu trúc mạng Kohonen

Mạng Kohonen là mạng truyền thẳng là một phần của mạng neuron nhân tạo, các đơn vị cơ bản của SOM là các neuron.Trong bản đồ SOM tùy thuộc neuron nằm ở lớp nào mà cấu trúc của nó có thể khác nhau Một cách hình thức, SOM có hai lớp: lớp đầu vào (input layer) và lớp đầu ra Kohonen

Lớp Kohonen tương tự giống như vỏ não, nếu một neuron trong vỏ não được kích thích bởi tác nhân nào đó, các neuron trong vùng cũng được kích thích, các neuron trong lớp Kohonen được tổ chức thành một không gian n chiều, với n được gọi là số chiều của bản đồ SOM

Ví dụ:

n = 2, Mạng Kohonen là một ma trận các neuron gồm p hàng và q cột Mỗi nút có một cấu hình mạng cụ thể (tọa độ x, y trong bản đồ), nếu dữ liệu huấn luyện chứa vector x-n chiều (x1, x2,…,xn) thì mỗi nút sẽ chứa vector trọng số tương ứng mi(t) tương ứng cũng có n chiều (m1, m2,…,mn)

Số lượng các chiều đầu vào thường nhiều hơn rất nhiều so với chiều của bản đồ, SOM được sử dụng chính cho việc giảm chiều hơn là tăng chiều

Trang 17

Hình 2.2: Mô hình mạng Kohonen đơn giản

2.3 Thuật toán

Mục tiêu của việc học trong “Bản đồ tự tổ chức”: là co kéo các neuron trong bản đồ SOM để gom nhóm các neuron tương tự với các mẫu đầu vào nào đó

Từ một giá trị (hay phân phối) khởi tạo của các trọng số ngẫu nhiên và

qua nhiều lần lặp một SOM cuối cùng bố trí trong một bản đồ các vùng ổn

định Mỗi vùng thực sự là một phân loại đặc trưng Do đó, ta có thể xem hình kết quả như một dạng bản đồ đặc trưng của không gian đầu vào

Quá trình huấn luyện diễn ra trong một số bước qua nhiều lần lặp: Bước 1: Khởi tạo mỗi trọng số của nút

Bước 2: Một vector được chọn ngẫu nhiên trong tập huấn luyện và đưa vào cho bản đồ

Trang 18

Bước 3: Mỗi nút được kiểm tra và tính toán xem trọng số của nút nào gần giống nhất với vector đầu vào Nút chiến thắng thường được biết như một đơn vị phù hợp nhất (Best Matching Unit - BMU)

Bước 4: Bán kính lân cận của BMU được tính, giá trị lúc đầu lớn, thường được đặt là bán kính của bản đồ, nhưng giảm dần sau mỗi bước Mỗi nút trong bán kính đó được cho rằng nằm trong lân cận của BMU

Bước 5: Các trọng số của mỗi nút láng giềng (các nút được tìm thấy trong bước 4) được điều chỉnh cho giống với các vector đơn vị hơn Các nút càng gần BMU, các trọng số của nó càng thay đổi nhiều hơn

Bước 6: Lặp lại từ bước 2 với n lần lặp

Quá trình được lặp lại cho mỗi vector đầu vào, cho nhiều chu kì khác nhau (thường rất lớn)

Hình 2.3: Mô hình ma trận đầu ra và mô hình thử nghiệm

Trang 19

*-Quá trình học của SOM gồm hai pha chính: Đó là pha cạnh tranh và

sự cộng tác

Pha 1: Cạnh tranh

Mỗi nút được kiểm tra và tính toán xem trọng số của nút nào gần giống nhất với vector đầu vào Nút chiến thắng thường được biết như một đơn vị phù hợp nhất (Best Matching Unit - BMU)

Pha 2: Sự cộng tác

Các trọng số của mỗi nút láng giềng với nút chiến thắng được điều chỉnh theo một hàm lân cận cho trước, các nút càng gần BMU, các trọng số của nó càng thay đổi nhiều hơn

2.4 Chi tiết thuật toán

sẽ được chọn

Thuật toán tìm BMU được thực hiện như sau:

Duyệt tất cả các nút và tính khoảng cách Euclide giữa vector trọng số của mỗi nút và vector đầu vào hiện hành theo công thức sau:

2 0

Trong đó: xi là tọa độ của vector đưa vào huấn luyện

mi là tọa độ của neuron

Trang 20

Nút có vector trọng số gần với giá trị của vector đầu vào (khoảng cách Euclide nhỏ nhất) sẽ được chọn là BMU

2.4.3 Xác định vùng lân cận cục bộ của BMU

Trong mỗi vòng lặp, sau khi BMU được xác định Bước tiếp theo thực hiện việc tính toán trên các nút để xây dựng lại tập các phần tử lân cận của BMU Các vector trọng số của các phần tử lân cận này sẽ được cập nhật ở bước tiếp theo

Đầu tiên ta tính bán kính của vùng lân cận, sau đó sẽ biết được các nút nằm trong vùng lân cận đó, đặc tính duy nhất của thuật toán học Kohonen là

vùng lân cận của BMU được xây dựng trên vector khoảng cách sẽ được co lại sau một lần lặp nhất định

Phép co được thực hiện theo hàm mũ nội suy của phép co như sau:

0

t ( )t exp(- )

λ

= , t = 1, 2, 3,… (2.2)

Trong đó:

t: là bước lặp hiện tại

σ : bán kính lân cận tại thời điểm t

σ0 : bán kính lân cận tại thời điểm t0Tại thời điểm ban đầu, bán kính của bản đồ được tính bởi công thức sau : với width, height tương đương là chiều rộng và chiều cao của mạng Kohonen

Trang 21

0 log

: vectơ đầu vào được chọn ở lần lặp thứ t

hc(x),i(t) : hàm lân cận BMU

Với c là chỉ mục của BMU thỏa điều kiện sau:

||x(t)-mc(t)|| ≤ ||x(t)-mi(t)||, ∀ =i 1,n (2.6)

Biểu thức trên cho thấy trọng số của một nút sau khi hiệu chỉnh chính

là giá trị trọng số cũ mi(t) của nó cộng thêm phần giá trị khác biệt giữa trọng

Trang 22

( )

2 2 exp

2

r r t

Ý tưởng chính là lượng học giảm dần theo khoảng cách thỏa mãn tốc

độ học (hàm nội suy Gaussian)

tỷ lệ nghịch với thời gian (giảm theo thời gian) Chúng ta thường dùng các hàm tốc độ học α(t) như sau :

Theo [21,tr10], Ta có hàm tốc độ học như sau :

Trang 23

- Hàm mũ (Exponential):

( ) 0

0 0.005

t T

α

+

Với T: tổng số lần huấn luyện

t: bước huấn luyện thứ t

: tốc độ học ban đầu Canh lại

Ví dụ : Cho = 0.5, T = 100, ta có biểu đồ của các hàm trên như sau:

Hình 2.5 : Biểu đổ các hàm tốc độ học

Trang 24

Thuật toán bản đồ tự tổ chức SOM :

+ Mô tả các vector huấn luyện

+ Mô tả các neuron ngẫu nhiên

+ Mô tả các neuron sau khi huấn luyện

- Lỗi lượng tử trung bình

- Thời gian học

+ Xây dựng thuật toán :

Bước 1 : Khởi tạo bước học đầu tiên t = 0 (t là số lần học)

Bước 2 : Khởi tạo ngẫu nhiên các neuron từ tập giá trị cho trước

Bước 3 : Chọn ngẫu nhiên vector xi từ tập dữ liệu đầu vào

Bước 4 : Tính khoảng cách Euclide từ vector xi đến các vector trọng số của những neuron trên bản đồ

Trang 25

Bước 5 : Chọn neuron chiến thắng (BMU) là neuron có vector trọng số gần với vector xi nhất

Bước 6 : Cập nhật trọng số của các neuron trong bản đồ lân cận neuron 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 : gán t = t + 1, nếu t > T hay lỗi lượng tử trung bình nhỏ hơn Epsilon thì DỪNG thuật toán, ngược lại lặp lại bước 3

xi : là tọa độ các vector huấn luyện

mc : là tọa độ các vector trọng số của BMU

2.6 Các phương pháp trực quan minh họa “Bản đồ tự tổ chức”

Để trực quan hóa kết quả của bản đồ tự chức, chúng ta có rất nhiều

cách mô hình hóa chúng như : tô màu, gán nhãn hay biểu đồ cột

Trang 26

Hình 2.6 Ma trận U

Hình 2.7 Không gian điểm

Trang 27

Hình 2.8 Biểu đồ cột với mỗi ô là một nơ-ron của “Bản đồ tự tổ chức”

Ngoài ra, còn có các dạng biểu đồ khác nhau như: Cấu trúc nhóm, mật

độ phân bố, nhóm dữ liệu,…

2.7 Phương pháp tìm ngưỡng cảnh báo

Nhằm đánh giá hệ thống phát hiện xâm nhập, chúng ta thường dùng các

độ đo như sau : độ chính xác (accuracy), độ truy hồi (recall), độ rõ ràng (precision)

True Negative (TN) : trường hợp mạng bình thường và không cảnh báo

True Positive (TP) : trường hợp mạng bị tấn công và có cảnh báo False Negative (FN) : trường hợp bị tấn công nhưng không cảnh báo False Positive (FP) : trường hợp mạng bình thường nhưng lại có cảnh báo

Trang 28

TN TP A

TP FN

=

+ , với R là độ truy hồi (2.16)

TP P

TP FP

=

+ , với P là độ rõ ràng (2.17)

Muốn hệ thống cảnh báo tốt, chúng ta phải đảm bảo A, R, P cao

Để xác định được ngưỡng cảnh báo δ phù hợp phải thỏa điều kiện tỉ lệ

độ cảnh báo sai thấp Cảnh báo sai gồm hai loại :

False Negative (FN) : có tấn công nhưng ứng dụng không cảnh báo vì chưa đạt được đến ngưỡng cảnh báo cần thiết

False Positive (FP) : trong tình trạng bình thường nhưng ứng dụng vẫn cảnh báo là có tấn công do lưu lượng mạng bình thường này đạt đến ngưỡng cảnh báo

Nếu để ngưỡng cảnh báo thấp (hay bán kính IDS nhỏ) thì FN sẽ cao Ngược lại, nếu để ngưỡng cảnh báo cao (hay bán kính IDS lớn ) thì FP sẽ cao Như vậy, cần đưa ra ngưỡng cảnh báo hay bán kính IDS sao cho hệ thống có

Trang 29

Sau đó, trong quá trình tấn công, chúng ta so sánh khoảng cách dx (từ những mẫu tấn công x đến neuron chiến thắng BMUx của chúng), với ngưỡng

x

δ của neuron BMUx, sao cho phù hợp (giá trị được thay đổi dựa vào quá trình

dò tìm thực tế và kinh nghiệm của người quản trị hệ thống)

2.8 Phát hiện tấn công ứng dụng “Bản đồ tự tổ chức”

Kiểm tra từng mẫu trong thời gian thực

For (x ∈ Mt) do // Mt tập hợp các tham số thu nhận được từ hệ thống For (wi∈ W) do //W tập hợp các neuron sau huấn luyện

Tính khoảng cách từ vector x đến tất cả các vector wi End For

dx = min d(x, wi) x

w và δxlà vector trọng số và ngưỡng của neuron chiến thắng khi dừng mẫu thử x

If (dx ≤ δx) then

x có tấn công Else

x không có tấn công

End if

2.9 Ưu điểm và nhược điểm

2.9.1 Ư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

Trang 30

SOM là một công cụ khám phá dữ liệu hiệu quả Một trong các lí do đó

là nó dựa trên khái niệm rất đơn giản và sự trực quan hóa của nó rất dễ dàng Một số công trình đã đề xuất hướng mới để làm tăng các khả năng trực quan hóa của SOM trong các lĩnh vực gom nhóm, tìm kiếm sự liên quan,…

2.9.2 Nhược điểm

Bên cạnh những ưu điểm, SOM có một số những nhược điểm sau:

- Do sự khởi tạo ngẫu nhiên nên kết quả cuối cùng của bản đồ khác nhau

- Chi phí cho việc tính toán khá cao khi số chiều của dữ liệu tăng lên

Trang 31

Chương 3 XÂY DỰNG CÁC VECTOR HUẤN LUYỆN và XÁC ĐỊNH

CÁC ĐẶC TRƯNG HỆ THỐNG Trong chương này trình bày về cách thức lấy thông tin qua Procfile trên

hệ điều hành Linux Từ các thông tin đó, chúng ta chọn ra các vector huấn luyện đặc trưng nhất của hệ thống và cách thức lấy các vector huấn luyện; giới thuật toán xây dựng các vector huấn luyện, cách thức gán trọng số và chuẩn hóa các đặc trưng đã đề xuất

3.1 Giới thiệu

Hệ thống bị tấn công từ chối dịch vụ DoS nó ảnh hưởng đến các tham

số nào trong hệ thống?, từ đó, có thể xác định các đặc trưng cho máy chủ như:

thông tin về bộ nhớ, CPU, Ram, số gói tin trên đơn vị thời gian, thông tin về tiến trình, luồng xử lí và những thông tin về dịch vụ mạng Khi xác định được

các đặc trưng đó, chúng ta có thể nhận biết được hệ thống mạng ở trạng thái nào? bình thường hay đang bị tấn công

Trong hệ thống mạng đối tượng cần bảo vệ là máy chủ, dịch vụ, tài nguyên hệ thống,…, chúng ta có thể nhận thấy các đặc trưng đó qua việc giám sát hệ thống mạng trong thời điểm hệ thống đó đang hoạt động Do đó,

để chọn các đặc trưng cho hệ thống máy chủ là một vấn đề rất khó

Theo [7,tr51], đã phân nhóm các tài nguyên chính của hệ thống máy chủ như sau:

+ Bộ nhớ máy chủ

+ Tài nguyên của bộ vi xử lí

+ Tài nguyên ổ đĩa lưu trữ

+ Tài nguyên mạng

Ngoài ra, để kiểm soát hệ thống máy chủ, chúng ta cần quan tâm đến một số tài nguyên khác như sau:

Trang 32

Thống kê các thông tin của giao thức HTTP hay ở cổng giao dịch vụ :

21, 25, 441,

Thống kê các thông tin của những dịch vụ web

Thống kê các tài nguyên hệ thống máy chủ khác như: luồng (thread), tiến trình (process)

3.2 Tại sao cần phải quản lí bộ nhớ máy chủ

Không đủ bộ nhớ chúng ta gặp khó khăn trong quá trình xử lý của hệ thống máy chủ, nếu ta nghi ngờ một vấn đề khác, chúng ta nên kiểm tra bộ nhớ để tìm nguyên nhân thiếu bộ nhớ hay không

Quản lý bộ nhớ máy chủ để có thể ước lượng khả năng của bộ nhớ và mức độ phân trang và theo dõi ảnh hưởng của việc thiếu bộ nhớ Việc quản lý

bộ nhớ máy chủ có thể giúp chúng ta xác định những vấn đề có thể xảy ra:

- Những chỗ có thể tắc nghẽn bộ nhớ

- Không đủ bộ nhớ

- Thừa phân trang

- Bộ nhớ rò rỉ

- Phân trang và không phân trang Ram

- Lỗi phân trang lớn

Trang 33

Các tham số bộ nhớ trong linux (“cat /proc/meminfo”) :

Ý nghĩa của các tham số :

MemTotal: Tổng dung lượng bộ nhớ có thể sử dụng

Trang 34

MemFree: Dung lượng bộ nhớ vật lý chưa sử dụng trong hệ thống Buffers: Dung lượng bộ nhớ vật lý được sử dụng cho bộ nhớ đệm

Cache: Dung lượng bộ nhớ vật lý cache

SwapCache: Dung lượng bộ nhớ Swapcache

Active: Tổng dung lượng bộ nhớ đệm đang hoạt động

HighTotal: Tổng dung lượng bộ nhớ ở vùng địa chỉ cao

LowTotal: Tổng dung lượng bộ nhớ địa chỉ thấp

LowFree: Dung lượng bộ nhớ trống của vùng bộ nhớ địa chỉ thấp SwapTotal: Tổng dung lượng bộ nhớ vật lý swap

SwapFree: Tổng dung lượng trống của bộ nhớ vật lý swap

Dirty: Tổng dung lượng bộ nhớ đang đợi để ghi lại vào đĩa

Writeback: Tổng dung lượng bộ nhớ hoạt động được ghi vào đĩa

PageTables: Số lượng bộ nhớ dành riêng cho mức thấp nhất của các bảng trang

Committed_AS: Số lượng bộ nhớ ước lượng để phân bổ các ứng dụng trên hệ thống

Map: Tổng dung lượng bộ nhớ được sử dụng để vẽ bản đồ, các tập tin, hoặc sử dụng cho thư viện lệnh nmap

Slab: Tổng dung lượng bộ nhớ sử dụng riêng cho hạt nhân cấu trúc dữ liệu cache

3.3 Tài nguyên của bộ vi xử lí - CPU

Các tham số bộ vi xử lí trong hệ điều hành Linux là:

- Cpu: Dung lượng bộ xử lí trung tâm

Trang 35

- Processes : Số lượng tiến trình kể từ khi khởi động

- Procs_running: Số các tiến trình trong trạng thái Runnable

- Procs_blocked: Số tiến trình bị chặn chờ đợi cho I/O để hoàn thành

- Loadavg: Tải trung bình trên bộ vi xử lý

- Load.for1min: % sử dụng bộ vi xử lý trong 1 phút cuối cùng

- Load.for5min: % sử dụng bộ vi xử lý trong 5 phút cuối cùng

- Load.for15min: % sử dụng bộ vi xử lý trong 15 phút cuối cùng

Hình 3.1 Tham số bộ vi xử lí

3.4 Tài nguyên ổ đĩa lưu trữ

Giám sát những ổ đĩa giữ cho hệ thống hoạt động hiệu quả Chúng ta cũng có thể dùng dữ liệu mà chúng ta thu thập được khi giám sát những ổ đĩa

để biết được có cần nâng cấp phần cứng, phần mềm trong tương lai

Sự tồn tại của hiện tượng tắt nghẽn ổ đĩa được nhận biết dựa vào các điều kiện sau:

- Duy trì tỉ lệ của hoạt động ổ đĩa trên ngưỡng cho phép

- Hàng đợi trên mỗi ổ đĩa lớn hơn 2 được duy trì lâu

Trang 36

- Sự thiếu hụt nghiêm trọng số lượng phân trang

Làm thế nào xác định và giải quyết tình trạng tắc nghẽn trên ổ cứng

Tham số

Giới hạn trung bình chấp nhận được

Giá trị mong muốn

Cách giải quyết (nếu không đạt giá trị mong muốn)

% thời gian ổ đĩa

làm việc liên tục < 50% < 50%

Giám sát xem nếu vấn đề phân trang xảy ra Nâng cấp đĩa cứng

Chiều dài hàng đợi

Số lượng Byte trung

bình của ổ cứng/lần

vận chuyển

Vạch ranh giới hay thấp hơn Thấp hơn Nâng cấp đĩa cứng

Số lượng byte của ổ

cứng/giây

Vạch ranh giới hay thấp hơn Thấp hơn Nâng cấp đĩa cứng

Bảng 3.2 Tham số ổ cứng

3.5 Tài nguyên mạng

Tài nguyên mạng là tỉ lệ phần trăm của thông tin truyền mạng được dùng trong phân đoạn được giám sát

Thông tin truyền mạng được đo bằng nhiều cách khác nhau:

- Tỉ lệ số byte được vận chuyển đến và đi từ máy chủ

- Tỉ lệ những gói dữ liệu được gửi từ máy chủ Những gói dữ liệu này bao gồm: frames, những gói tin (packets), những phân đoạn (segments) và những datagrams

- Tỉ lệ số tập tin được gửi và nhận bởi máy chủ

Tại sao phải giám sát tài nguyên mạng ? Ứng dụng của việc giám sát này là phát hiện những hiện tượng tắc nghẽn mạng Hiện tượng tắc nghẽn mạng ảnh hưởng trực tiếp đến người sử dụng và cả hệ thống mạng Hiện

Trang 37

tượng tắc nghẽn giới hạn số khách truy cập và đồng thời hạn chế truy xuất hệ thống máy chủ

Những nguyên nhân thường gặp sau:

- Hiện tượng quá tải ở máy chủ

- Hiện tượng mạng quá tải

Trang 38

- Các đặc trưng về thông tin lưu trữ

- Các đặc trưng từ các tham số mạng

3.6.2 Danh sách các đặc trưng đề xuất trong cài đặt

Nhóm 1: Bộ nhớ máy chủ (Memory Usage): “/Proc/meminfo”

1 Memavg Trung bình dung lượng Ram đã dùng

cho các tiến trình

2 Buffers Dung lượng bộ nhớ Ram sử dụng

trong buffer cache

3 Cached Dung lượng bộ nhớ Ram sử dụng

7 Committed_AS Committed dung lượng bộ nhớ Ram

cung cấp cho hệ thống

Nhóm 2: Thời gian hệ thống: “/proc/uptime”

8 Uptime Số giây hệ thống đã chạy

9 Idletime Số giây idle hệ thống

Nhóm 3: Tài nguyên của bộ vi xử lí (Processor Usage): “/proc/stat” và

“/proc/net/sockstat”

10 For1min % CPU xử lí trong 1 phút cuối

11 For5min % CPU xử lí trong 5 phút cuối

12 For15min % CPU xử lí trong 15 phút cuối

13 Processes Số lượng tiến trình hệ thống

14 Procs_running Số tiến trình đang thực thi

15 Proc_blocked Số tiến trình đang bị khóa chờ I/O để

hoàn thành Nhóm 4: Gói tin TCP, ICMP và UPD : “/proc/net/snmp” và “/proc/net/dev”

16 ICMP Số lượng gói tin ICMP gởi tới máy

chủ

17 UDP Số lượng gói tin UDP gởi tới máy chủ

18 TCP Số lượng TCP kết nối tới máy chủ

Ngày đăng: 18/12/2013, 14:33

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm