Mô hình mạng Nơron tổng quát có dạng như sau:
Ngày nay mạng Nơron có thể giải quyết nhiều vấn đề phức tạp đối với con người, áp dụng trong nhiều lĩnh vực như nhận dạng, định dạng, phân loại, xử lý tín hiệu, hình ảnh v.v…
Dùng kỹ thuật mạng Neural có thể phân tích một cơ sở dữ liệu như hình 3.8.
Hình 3.8: Mô phỏng kiến trúc mạng neural
Hình trên mô tả một kiến trúc mạng Neural đơn giản dùng để biểu diễn việc phân tích cơ sở dữ liệu tiếp thị. Trong đó thuộc tính được chia thành ba lớp tuổi và được đưa vào ba nút nhập riêng rẽ: thuộc tính sở hữu nhà, xe cũng có một nút nhập riêng và bốn nút nhận dạng bốn vùng. Mỗi nút nhập tương ứng với một quyết định Yes/No đơn giản. Tương tự như thế cho các nút xuất: mỗi tạp chí là một nút.
Các nút nhập được nối toàn bộ với các nút ẩn và các nút ẩn được nối toàn bộ với các nút xuất. Trong mạng, các nhánh giữa các nút đầu có trọng lượng bằng nhau. Trong quá trình “dạy”, mạng nhận những mẫu nhập và xuất tương ứng với những record trong cơ sở dữ liệu và cập nhật lại trọng lượng của các nhánh cho đến khi tất cả nút nhập kết được với nút xuất thích hợp.
Hình 2: Mẫu dữ liệu TCP DUMP
3.2.1.2 Xử lý dữ liệu kiểm toán thô và xây dựng các thuộc tính
Các dữ liệu kiểm toán được thu thập từ các sensor mạng hoặc từ một nguồn nào đó ở dạng thô và ở định dạng nhị phân. Trước khi sử dụng chúng chúng ta cần xử lý chúng và cần lấy được các luật từ chúng. Nội dung hang đầu và cơ bản ở đây là chúng ta phải xây dựng một cơ sở dữ liệu từ dữ liệu kiểm toán và có một số hiểu biết ban đầu về các luật. Với sự trợ giúp của hai điều này và với thuật toán luật kết hợp chúng ta sẽ có được các tập luật mới về ác tấn công có thể. Sau đó chúng ta có thể ứng dụng những luật này cho các sự kiện sắp xảy ra để phát hiện các tấn công mới chưa được biết.
Trước khi ứng dụng một luật khai phá dữ liệu nào chúng ta cần tiền xử lý dữ liệu kiểm toán thô dạng nhị phân thu được từ các sensor. Việc này được thực hiện bởi TCPDUMP hay BSM. Để tiền xử lý những dữ liệu kiểm toán thô này nhóm làm việc ở trường Đại học Columbia đã sử dụng BAM (Basic Auditing Model) thay vì BSM (Basic Security Model), cái mà được chính họ tạo ra. Tiền xử lý có nghĩa là đầu vào là các dữ liệu kiểm toán thôi và đầu ra sẽ là những dữ liệu kiểm toán đó nhưng ở dạng được tổ chức với các thuộc tính như IP nguồn, IP đích, cổng nguồn, cổng đích, giao thức (TCP, UDP ...), thời gian và khoảng thời gian tồn tại.
Bước tiếp theo là áp dụng một số thuật toán khai phá dữ liệu để tiền xử lý dữ liệu. Những thuật toán này như là thuật toán luật phân nhóm chung, luật phân nhóm, luật kêt hợp và thuật toán frequent episodes. Một vài nghiên cứu đã tập trung vào một luật cụ thể, một số tập trung vào một kết hợp của hai hay ba luật hay một số tập trung vào một vài luật được cải tiến như là luật tạo ra các bất
thường nhân tạo. Qua một số phần đã được trình bày, chúng ta sẽ có cái nhìn tổng quát về một số các luật này (luật phân nhóm và luật kết hợp).
3.2.1.3 Các phương thức khai phá dữ liệu trong NIDS
1. Luật phân lớp:
Phát hiện xâm nhập có thể được xem như là một vấn đề phân nhóm: ta phải chia mỗi bản ghi của dữ liệu kiểm toán vào một tập rời rạc các hạng mục có thể, bình thường hay một kiểu xâm nhập cụ thể.
Căn cứ vào tập các bản ghi, cái mà có một thuộc tính là lớp nhãn, thuật toán phân lớp có thể tính một mô hình mà sử dụng các giá trị thuộc tính đúng đắn nhất để biểu diễn cho mỗi khái niệm. Ví dụ, xét các bản ghi kết nối sử dụng giao thức telnet ở hình dưới. Ở đây, hot là đếm số truy cập vào thư mục hệ thống, tạo và thực hiện các chương trình… compromise là thuộc tính đến số lỗi “không tìm thấy” file hay đường dẫn, và “Jump to” các xâm nhập… RIPPER (một thuật toán học máy dựa trên luật chuẩn được phát triển tại trung tâm nghiên cứu ATT) một chương trình học luật phân nhóm, các luật tạo ra cho việc phân nhóm các kết nối telnet và một số các luật được hiển thị trong bảng sau
Figure 3: Telnet Records ([LS00] page: 232)
Figure 4: Example RIPPER Rules from Telnet Records ([LS00] page: 233)
Ở đây, chúng ta thấy rằng quả thật RIPPER chọn các giá trị thuộc tính duy nhất để xác định các xâm nhập. Những luật này trước tiên có thể được xem xét kỹ và chỉnh sửa bởi các chuyên gia an toàn, sau đó là được kết hợp vào trong hệ thống phát hiện sự lạm dụng. Sự chính xác của một môt hình phân nhóm phụ thuộc trực tiếp vào tập các thuộc tính được cung cấp trong quá trình huấn luyện dữ liệu. Ví dụ nếu các thuộc tính hot, compromised and root shell được chuyển dịch từ các bản ghi trong bảng trên, RIPPER sẽ có thể thực hiện các luật chính
xác để nhận dạng các kết nối tràn bộ đệm. Vì thế, việc lựa chọn đúng tập các thuộc tính hệ thống là một bước quan trọng khi thực hiện việc phân nhóm.
2. Luật kết hợp:
Một luật kết hợp chủ yếu là luật toán học được tìm thấy hữu ích trong hệ thống phát hiện xâm nhập dựa trên khai phá dữ liệu. Mỗi và mọi mô hình được phát triển tới một mức độ nào đó trong ngữ cảnh này có mối liên hệ theo cách này hay cách khác với một luật kết hợp.
Trong cơ sở dữ liệu, mối liên kết giữa các thành phần dữ liệu có nghĩa là chúng ta suy ra rằng phần tử dữ liệu cụ thể tồn tại bởi vì sự xuất hiện của một số các phần tử dữ liệu trong một giao tác. Mục đích của việc khai phá các luật kết hợp là để tìm ra tất cả các luật kết hợp tiềm ẩn giữa các phần tử dữ liệu.
Nói chung, trong hệ thống phát hiện xâm nhập dựa trên khai phá dữ liệu chúng ta tạo một cơ sở dữ liệu của các sự kiện không có sự xâm nhập và sau đó áp dụng kỹ thuật luật kết hợp vào trong tập dữ liệu đó để tìm ra tất cả các luật khác hoặc các sự kiện sẽ không có sự xâm nhập. Điều này sẽ giúp tìm ra tất cả các hành vi bình thường tiềm ẩn. Sau đó những luật này sẽ được so sánh với bất kỳ một tập phần tử dữ liệu đi vào để xác định liệu đó có phải là một sự xâm nhập hay không. Nhân tố then chốt nhất ở đây là chúng ta phải thiết lập ngưỡng tối thiểu cho mức độ hỗ trợ và tin cậy tối thiểu
3. Láng giềng gần nhất
K-NN xác định liệu hoặc là không một điểm nằm trong một khu vực thưa thớt của các thuộc tính bằng cách tính tổng của các khoảng cách đến những K- láng giềng gần nhất của điểm đó, được gọi tắt là K-NN. Bằng trực giác các điểm trong khu vực dày đặc sẽ có nhiều điểm gầnchúng và sẽ có một điểm nhỏ KNN. Nếu kích cỡ của K vượt quá mức độ thường xuyên của bất cứ loại tấn công trong tập dữ liệu và hình ảnh của các yếu tố tấn công là khác xa các yếu tố dữ liệu thì ngay sau đó phương thức làm việc.
Thuật toán được mô tả như sau:
for each data instance i do
for each data instance j do
find D(i, j)=distance between j and i end
Keep the top k-D(i,.) and sum them to get K − NNi if k − NNi > threshold
Intrusion occurred end
Các vấn đề chính với các thuật toán này là nó có độ phức tạp tính toán O(N2) thời gian. Chúng ta có thể tăng tốc độ xử lý bằng cách sử dụng một kỹ thuật tương tự với phân cụm CANOPY. Phân cụm CANOPY được sử dụng như một phương tiện để chia không gian thành các không gian con nhỏ hơn để loại bỏ sự cần thiết phải kiểm tra tất cả các điểm dữ liệu. Chúng ta sử dụng các cụm như là một công cụ để làm giảm thời gian tìm kiếm k-láng giềng gang nhất.
Trước tiên chúng ta phân cụm dữ liệu bằng cách sử dụng thuật toán phân cụm có chiều rộng cố định của phần trước với một biến mà chúng ta đặt mỗi phần tử váo chỉ có một nhóm. Sau khi dữ liệu được phân cụm chiều rộng w, chúng ta có thể tính các k-láng giềng gần nhất cho một điểm x bằng cách tận dụng các ưu điểm của các thuộc tính.
Chúng ta biểu diễn c(x) như là điểm trung tâm của nhóm có chứa một điểm x. Đối với một nhóm c và một điểm x chúng ta sử dụng các ký hiệu d(x; c) để biểu diễn khoảng cách giữa điểm và điểm trung tâm cụm. Đối với bất kỳ hai điểm x1 và x2 , nếu các điểm nằm trong cùng một cụm
dφ (x1, x2 ) ≤ 2w
và trong tất cả các trường hợp dφ(x1, x2 ) ≤ dφ(x1, c(x2 )) + w dφ(x1, x2 ) ≥ dφ(x1, c(x2 )) − w
Cho C là một tập hợp các cụm. Ban đầu C có chứa tất cả các cụm trong các dữ liệu. Tại bất cứ bước nào trong thuật toán, chúng ta có một tập hợp các điểm có khả năng là một trong những điểm k-láng giềng gần nhất. Chúng ta biểu diễn tập này là P. Chúng ta cũng có một tập các điểm trong thực tế, là một trong các điểm k-láng giềng gần nhất. Chúng ta biểu diễn bằng tập K. Ban đầu K và P là rỗng. Chúng ta tính khoảng cách từ x đến từng cụm. Đối với các cụm với các trung tâm gần với x nhất, chúng ta xoá bỏ nó từ C và thêm vào tất cả các điểm của nó vào P. Chúng ta tham khảo hoạt động này như là "mở rộng" nhóm. Chìa khóa của các thuật toán này là chúng ta có thể có được một ràng buộc thấp hơn khoảng cách từ tất cả các điểm trong các cụm của tập C bằng cách sử dụng công thức trên:
Các thuật toán thực hiện sau đây. Đối với mỗi điểm xi∈ P, chúng ta tính
d(x;xi). Nếu d(x; xi) <dmin , chúng ta có thể đảm bảo rằng xi là điểm gần x hơn sau đó tất cả các điểm trong các cụm của C. Trong trường hợp này, chúng ta loại bỏ xi khỏi P và thêm nó vào K. Nếu chúng ta không thể đảm bảo việc này cho bất kỳ phần tẻ của P (bao gồm cả các trường hợp mà nếu P là trống rỗng), sau đó chúng ta "mở" cụm gần nhất bằng cách thêm tất cả các điểm vào P, và bỏ cụm đó khỏi C. Chú ý rằng khi chúng ta loại bỏ các cụm khỏi C, dmin sẽ tăng. Sau khi K có k phần tử, chúng ta kết thúc. Hầu hết các tính toán được chi phí kiểm tra khoảng cách giữa các điểm trong D tới trung tâm của cụm. Điều này có hiệu quả đáng kể hơn việc tính khoảng cách giữa các cặp điểm của tất cả các điểm. Sự lựa chọn của chiều rộng w hiện không ảnh hưởng đến kết quả k-NN, nhưng thay vì chỉ ảnh hưởng đến các kết quả tính toán. Bằng trực giác, chúng ta muốn chọn một w cái mà chia dữ liệu vào các cụm có kích thước hợp lý.
4. Phân cụm
Mặc dù đã được đề cập đến, nhưng phân cụm huấn luyện trung tâm phát hiện bất thường không giám sát. Điều này là bởi vì phân cụm tìm kiếm các bất
thường theo mặc định và không có yêu cầu làm việc cao được thực hiện. Chúng ta sẽ xem xét một trong những phương pháp tiếp cận. Mục tiêu đầu tiên của các thuật toán của chúng ta là tính có bao nhiêu điểm là "gần" với từng điểm trong không gian thuộc tính. Một tham số cho các thuật toán là một bán kính w còn gọi tắt là chiều rộng cụm. Đối với bất kỳ một cặp điểm x1 và x2 , chúng ta xem xét hai điểm "gần" nhau, nếu khoảng cách giữa chúng là nhỏ hơn hoặc bằng w, d (x1 , x2 ) <w với khoảng cách được xác định trong phạm vi hàm hạt nhân. Đối với mỗi điểm x, chúng ta xác định N (x) là số điểm mà nằm trong vòng w của điểm x. Một cách hình thức hơn ta xác định như sau:
(1)
Những tính toán đơn giản của N(x) cho tất cả các điểm có một phức tạp tính toán O(N2) trong đó N là số điểm. Lý do là chúng ta phải tính đến những khoảng cách giữa các cặp tất cả các điểm. Tuy nhiên, bởi vì chúng ta là chỉ quan tâm đến việc xác định các outliers là gì, chúng ta có thể tính toán gần đúng một cách có hiệu quả như sau. Trước tiên chúng ta thực hiện phân cụm chiều rộng cố định trên toàn bộ dữ liệu với cụm có chiều rộng w. Sau đó, chúng ta gán nhãn các điểm vào trong các cụm nhỏ như các bất thường. Một thuật toán phân cụm chiều rộng cố định được mô tả như sau. Điểm đầu tiên là trung tâm đầu tiên của nhóm. Đối với tất cả các điểm tiếp theo, nếu nó cách điểm trung tâm của cụm không quá w, nó sẽ được thêm vào cụm đó. Nếu không nó là một trung tâm của một nhóm mới. Lưu ý rằng một số điểm có thể được thêm vào nhiều cụm. Thuật toán phân cụm chiều rộng cố định đòi hỏi chỉ có một trải qua tập dữ liệu (only one pass through the data). Độ phức tạp của thuật toán là O(cn) có c là số cụm và n là số lượng các điểm dữ liệu. Đối với một w hợp lý, c sẽ nhỏ hơn n một cách đáng kể. Lưu ý rằng theo định nghĩa của công thức ở trên, cho từng nhóm, số lượng các điểm gần các trung tâm cụm, N(c), là số điểm trong cụm c. Đối với mỗi điểm x, không phải là một trung tâm của một nhóm, chúng ta xấp xỉ N(x) bằng N(c) đối với cụm c chứa x. Đối với các điểm nằm trong khu vực dày đặc, nơi mà có rất nhiều sự chồng chéo giữa các cụm, điều này sẽ làm cho việc đánh giá không chính xác. Tuy nhiên, đối với các điểm là outliers, sẽ có một số cụm chồng chéo tương đối trong các khu vực này và N(c) sẽ là một cách xấp xỉ chính xác của N(x). Vì chúng ta là chỉ quan tâm đến số điểm là outliers, các điểm trong khu vực dày đặc sẽ cao hơn nhiều so với ngưỡng. Do đó, xấp xỉ là hợp lý trong trường hợp của chúng ta.
Với giải thuật xấp xỉ hiệu quả, chúng ta có thể xử lý một tập dữ liệu lớn hơn đáng kể so với thuật toán đơn giản bởi vì chúng ta không cần phải thực hiện việc so sánh từng cặp điểm.
3.2.2 Tình hình trong nước
Khai phá dữ liệu và khai phá tri thức là một lĩnh vực rất mới ở Việt Nam. Tuy nhiên nó cũng đã len lỏi sâu vào trong rất nhiều lĩnh vực như: sinh học, giáo
dục, công nghệ thông tin, trí tuệ nhân tạo, thương mại, bảo mật, viễn thông… Do là một lĩnh vực mới mẻ nên đây là một lĩnh vực thu hút được nhiều sự quan tâm của nhiều người. Song hầu như các nghiên cứu trong lĩnh vực này mới chỉ dừng lại ở cấp độ nghiên cứu chứ chưa đưa vào hoạt động thực tế. Ví dụ ở nước ta đã có các nghiên cứu về lĩnh vực này như: canh tác dữ liệu và ứng dụng khai khoáng dữ liệu vào trong y học để chuẩn đoán bệnh tự động, ứng dụng khai phá dữ liêu nhận dạng vân tay, dịch tự động, phân tích số liệu thống kê, phân tích số liệu điện thoại trong viễn thông, phân tích hành vi mua sắm của người dùng, sắp xếp thời khoá biểu, ứng dụng khai phá dữ liệu trong phân tích tài chính ngân hàng thương mại để hỗ trợ quyết định trong kinh doanh ngân hàng… Riêng trong lĩnh vực an ninh thì hầu như chưa có một kết quả nghiên cứu cụ thể nào về việc ứng dụng khai phá dữ liệu mà chỉ mới ở hình thức sử dụng các sản phẩm an