5. Bố cục của đề tài
2.1.4.3. Sử dụng mỏy hữu hạn trạng thỏi để xỏc định vị trớ cỏc mẫu trong
văn bản.
Vớ dụ:
Cho cỏc mẫu {he, she, his, hers}. Xõy dựng mỏy hữu hạn trạng thỏi và xỏc định vị trớ mẫu {ushers}.
25 Phõn tớch bài toỏn:
- Trước hết chỳng ta bắt đầu từ trạng thỏi 0(State 0).
- Khi s là trạng thỏi hiện tại và a là ký tự hiện tại của chuỗi đầu vào x
- Chu trỡnh hoạt động của thuật toỏn.
+ Nếu g s a( , ) s or' fail: Chuyển trạng thỏi thành s', chuyển ký tự đầu vào là ký tự tiếp theo a trong x . Ngoài ra nếu output s( )' : đưa raoutput s( )' và vị trớ của ký tự hiện tại. Kết thỳc chu trỡnh.
+ Nếu g s a( , ) fail. Xột f s( ) s', chuyển trạng thỏi thành s' và ký tự đầu vào vẫn là a Hỡnh 2.9: Vớ dụ hàm goto State(i) 1 2 3 4 5 6 7 8 9 Failure ( fi) 0 0 0 1 2 0 3 0 3 Bảng 2.10: Vớ dụ hàm failaure
State (i) Output (i)
2 {he}
5 {she, he}
7 {his}
9 {hers}
26
- Sử dụng mỏy đối sỏnh mẫu ở vớ dụ để xỏc định vị trớ và xử lý chuỗi văn bản sau: “ ushers”.
Ta cú. Quỏ trỡnh dịch chuyển trạng thỏi từ s s' như sau:
Ta xột tại g(4, )e 5 (chu kỳ hoạt động đối sỏnh mẫu ở trạng thỏi 4 và ký tự đầu vào hiện tại là e). Khi nhập trạng thỏi 5 thỡ ký tự đầu vào tiếp theo sẽ được quột và chuỗi ký tự được trả về bởi chức năng Output (5), do đú chỳng ta thấy chuỗi từ khúa đầu ra là “ she” và “he” ở cuối vị trớ(trạng thỏi) 4 trong chuỗi văn bản.
Ký tự đầu vào là r: sẽ cú 2 trạng thỏi dịch chuyển trong chu kỳ hoạt động của thuật toỏn đối sỏnh:g(5, )r và g(2,r).
Tại g(5, )r = fail, sẽ bước vào trạng thỏi 2 f(5)
Tại g(2, )r 8, nú quột ký tự giống và tiếp tục quột ký tự tiếp theo của chuỗi đầu vào.
Như vậy tại trạng thỏi 5 đầu vào là ký tự rsẽ khụng tạo ra chuỗi ký tự đầu ra trong chu kỳ hoạt động này.
Pattern matching machine: Pseudocode thuật toỏn 3.
Input: Cho một chuỗi văn bản X a a1 2...an , ailà ký tự, chuỗi đầu vào để thực hiện quột và mỏy đối sỏnh mẫu M với cỏc hàm đó được xõy dựng ở trờn.
Output: Vị trớ, trạng thỏi mà tại đú cỏc ký tự, chuỗi aixuất hiện trong X . Method
begin state=0;
for i=1 until n do begin
while g(state,ai)= fail do state=f(state) state=g(state,ai);
if output(state)!= empty then begin
27 print output(state); end; end; end; 2.1.4.4. Độ phức tạp thuật toỏn
Chỳng ta sẽ thấy rằng việc sử dụng cỏc hàm goto, failure, output được tạo từ cỏc thuật toỏn 1 và 2, số trạng thỏi dịch chuyển được thực hiện bởi thuật toỏn 3 xử lý trong một chuỗi văn bản là độc lập với số lượng từ khúa. Chỳng ta thấy thuật toỏn 1 và 2 cú thể được thực hiện thời gian tỷ lệ tuyến tớnh với tổng chiều dài của cỏc từ khúa trong K.
- Thuật toỏn 1: cú thời gian chạy tỷ lệ tuyến tớnh với tổng độ dài cỏc mẫu. - Thuật toỏn 2: cú thể được cài đặt với thời gian chạy tỷ lệ với tổng độ dài cỏc mẫu.
- Thuật toỏn 3: tạo ra số bước chuyển dịch nhỏ hơn 2n với n là độ dài văn bản đầu vào.
2.1.5. So sỏnh giữa cỏc thuật toỏn
Thuật toỏn AhoCorasick BoyerMoore
1 Độ phức tạp thuật toỏn. Tuyến tớnh Tuyến tớnh 2 Hỡnh thức tỡm kiếm.
Tỡm kiếm ký tự đầu tiờn. Quột cỏc ký tự của mẫu từ phần tử cuối cựng trở về đầu.
28
3 í tưởng
chớnh.
Xõy dựng mỏy đối sỏnh mẫu hữu hạn trạng thỏi từ tập cỏc mẫu phự hợp với từ khúa. Sử dụng mỏy để tỡm kiếm mẫu trong văn bản.
Trượt mẫu từ trỏi sang phải nhưng mỗi vị trớ của mẫu ta quột từ ký tự cuối cựng trở về đầu. Nếu gặp đoạn khớp và ký tự khỏc nhau đầu tiờn giữa mẫu và chuỗi nhập hoặc khụng khớp thỡ ta dịch cửa sổ sang bờn phải và tiếp tục tỡm kiếm
2.2. Kỹ thuật phỏt hiện dựa trờn sự bất thường
2.2.1. Định nghĩa
Bất thường trong mạng (BTTM) là thuật ngữ dựng để chỉ tỡnh trạng hoạt động của hệ thống mạng hoạt động ngoài trạng thỏi bỡnh thường. BTTM cú thể phỏt sinh từ nhiều nguyờn nhõn, cú thể là do một hoặc nhiều thiết bị trong mạng hỏng húc, băng thụng mạng bị quỏ tải, nhưng thường thấy hơn cả là do hệ thống thụng tin đang bị xõm nhập trỏi phộp hoặc đang bị tấn cụng.
Để phõn biệt giữa trạng thỏi bỡnh thường và trạng thỏi bất thường trong mạng. Người ta sử dụng khỏi niệm activity profile (hồ sơ hoạt động). Một cỏch khỏi quỏt, activity profile mụ tả hành vi của một đối tượng nào đú ở một số khớa cạnh cụ thể. Thụng thường khớa cạnh là cỏc tham số cú thể tiến hành đo lường được. Người ta theo dừi cỏc tham số này trong một thời gian nhất định, theo một đơn vị nào đú như phỳt, giờ, ngày, tuần… Hoặc cú thể đo lường thời gian xảy ra hai sự kiện liờn tiếp, vớ dụ như thời gian log-in và log-out hệ thống, thời gian kớch hoạt và kết thỳc cỏc ứng dụng…
Để phỏt hiện một profile là “bất thường”, người ta phải tiến hành xõy dựng tập cỏc profile mụ tả hoạt động của hệ thống ở trạng thỏi “bỡnh thường”. Dựa trờn sự khỏc biệt của một tập cỏc tham số trong profile, người ta cú thể phỏt hiện ra BTTM.
Cỏc BTTM thụng thường được chia thành 2 loại chớnh:
BTTM do hỏng húc: Trong mạng nảy sinh ra cỏc hiện tượng bất thường do một hay nhiều thành phần trong mạng bị sự cố, vớ dụ như khi một mỏy chủ bị lỗi,
29
thiết bị Switch hay Router gặp sự cố, broadcast storm, network paging… Cỏc sự cố này núi chung khụng ảnh hưởng đến cỏc thành phần khỏc trong mạng, chủ yếu là làm giảm hiệu năng hoạt động, hạn chế khả năng đỏp ứng dịch vụ của hệ thống. Vớ dụ như khi số lượng cỏc yờu cầu đến một File Server hay Web Server quỏ lớn, cỏc Server này sẽ gặp sự cố. Lỗi Network paging sảy ra khi một ứng dụng bị tràn bộ nhớ và tiến hành phõn trang bộ nhớ đến một File Server. Ngoài ra cỏc BTTM cũn xảy ra do cỏc phần mềm bị lỗi, vớ dụ việc triển khai một giao thức khụng đỳng, dẫn đến mỏy trạm liờn tục gởi cỏc gúi tin nhỏ nhất làm tắt nghẽn mạng…
BTTM liờn quan đến cỏc sự cố an ninh:Đõy là loại BTTM phỏt sinh từ cỏc mối đe dọa đối với hệ thống thụng tin. Một vớ dụ điển hỡnh của loại BTTM này là tấn cụng từ chối dịch vụ Dos (Denial of Service), cú thể mụ tả như hành động ngăn cản những người dựng hợp phỏp mất khả năng truy cập và sử dụng vào một dịch vụ nào đú. Cỏch tiến hành tấn cụng Dos bao gồm làm tràn ngập mạng, mất kết nối với dịch vụ… mà mục đớch cuối cựng là mỏy chủ khụng thể đỏp ứng được cỏc yờu cầu sử dụng dịch vụ từ cỏc mỏy trạm. BTTM cũn xuất hiện khi cú hiện tượng lõy lan và bựng nổ cỏc loại mó xấu, mó nguy hiểm trong mạng như Virus, Spy. Đụi khi hành vi dũ quột khi tấn cụng cũng tạo ra nhiều gúi tin với số lượng bất thường. Ngoài ra khi cỏc chức năng cơ bản của mạng như DHCP, DNS bị làm ngưng hoạt động thỡ cũng tạo ra một số lượng lớn cỏc yờu cầu khụng được đỏp ứng làm giảm thiểu băng thụng.
Một trong những nghiờn cứu đầu tiờn của hệ thống IDS dựa trờn phỏt hiện bất thường là của Anderson. Trong bỏo cỏo của Anderson, ụng đưa ra cỏch phõn loại 3 mối đe dọa chớnh là:
Xõm nhập từ bờn ngoài (external penetration): Hệ thống bị tấn cụng từ cỏc
mỏy tớnh hoặc hệ thống khụng được xỏc minh.
Xõm nhập từ bờn trong (internal penetrations): Cỏc mỏy tớnh được xỏc minh
truy cập vào cỏc dữ liệu khụng được phõn quyền.
Lạm quyền: (misfeasance): Sử dụng sai quyền truy cập vào hệ thống và dữ liệu
30
Nguồn dữ liệu đúng vai trũ quan trọng trong phương phỏp phỏt hiện bất thường. Số liệu chớnh xỏc về tỡnh trạng hoạt động của mạng sẽ cú tớnh chất quyết định đến việc cỏc bất thường cú được phỏt hiện hay khụng. Do bản chất của phương phỏp phỏt hiện bất thường là mụ hỡnh húa và lập một hồ sơ về trạng thỏi bỡnh thường rồi từ đú so sỏnh phõn biệt khi cú sự cố xảy ra, nờn nếu số liệu phõn tớch được cung cấp càng đầy đủ và chuẩn xỏc thỡ hiệu quả hoạt động của cỏc thuật toỏn phỏt hiện bất thường sẽ càng cao. Dưới đõy là một số nguồn dữ liệu thường được sử dụng.
Network Probes:
Network Probes là những cụng cụ chuyờn dụng để đo lường cỏc tham số mạng. Một vớ dụ đơn giản về Network Probes là 2 lệnh ping và tracerouter, cỏc lệnh này dựng để đo độ trễ (end – to – end delay), tỉ lệ mất gúi tin (packet loss), bước truyền,…
Network Probes cú thể cung cấp cỏc số liệu tức thời, phương phỏp này khụng yờu cầu sự phối hợp của nhà cung cấp dịch vụ. Tuy nhiờn, Network Probes cú thể khụng hoạt động nếu như Firewall đặt cỏc tập luật ngăn chặn loại traffic này. Ngoài ra cỏc gúi tin mà giao thức này sử dụng thường được cỏc thiết bị mạng đối sử một cỏch đặc biệt khụng giống như cỏc gúi tin bỡnh thường khỏc, do vậy cỏc số liệu Network Probes cần được tinh chỉnh thờm.
Lọc gúi tin:
Cú một kỹ thuật được dựng để cung cấp dữ liệu cho cỏc thuật toỏn phỏt hiện bất thường đú là kỹ thuật lọc gúi tin để thống kờ luồng (packet filtering for flow- based statistics). Luồng thụng tin được dẫn qua một bộ lọc để lấy mẫu, cỏc IP header của cỏc gúi tin trong những thời điểm khỏc nhau tại cỏc địa điểm khỏc nhau trong mạng được ghi lại.
Việc tổng hợp cỏc IP header cho phộp cung cấp cỏc thụng tin chi tiết về tỡnh trạng hoạt động của hệ thống mạng. Cỏc luồng thụng tin được giỏm sỏt, một luồng được xỏc định bằng địa chỉ nguồn-đớch và cổng nguồn-đớch. Phương phỏp lọc gúi tin cho phộp cú được cỏc thống kờ chớnh xỏc về giao dịch trong mạng.
31
Cỏc giao thức định tuyến là một nguồn cung cấp dữ liệu cho thuật toỏn phỏt hiện bất thường trong mạng. Trong quỏ trỡnh định tuyến, cỏc router liờn lạc với nhau để trao đổi cỏc thụng tin về trạng thỏi đường truyền vớ dụ như: bang thụng, độ trễ, kết nối cú bị tắc nghẽn hay khụng. Vớ dụ với giao thức định tuyến OSPF (Open- Shortest Path First), tại mỗi router cú cỏc băng thụng số mụ tả về hỡnh trạng mạng cũng như trạng thỏi cỏc đường truyền.
b. Dữ liệu từ cỏc giao thức quản trị mạng
Cỏc giao thức quản trị mạng cung cấp cỏc thống kờ về lưu thụng mạng. Những giao thức này cú cỏc tham số cú thể giỏm sỏt hoạt động của thiết bị mạng một cỏch hiệu quả. Cỏc tham số khụng cung cấp trực tiếp cỏc thụng tin đo lường về giao thụng mạng nhưng cú thể dựng để nhận dạng cỏc hành vi trờn mạng, do đú phự hợp với phương phỏp phỏt hiện bất thường.
SNMP: là giao thức hoạt động theo mụ hỡnh client-server cú mục đớch quản lý, giỏm sỏt, điều khiển cỏc thiết bị mạng từ xa. SNMP hoạt động dựa trờn giao thức UDP. SNMP server thu thập cỏc thụng tin gửi từ agent. Tuy nhiờn nú khụng cú chức năng xử lý thong tin. SNMP server lưu trữ cỏc thụng tin này trong một cơ sở dữ liệu gọi là MIB (Management Information Base). Cỏc giỏ trị trong CSDL này chứa cỏc thụng tin được ghi nhận khi cỏc thiết bị mạng thực hiện cỏc chức năng khỏc nhau.
Từng thiết bị mạng cú một tập cỏc giỏ trị MIB tương ứng với chức năng của nú. Cỏc giỏ trị MIB được xỏc định dựa trờn loại thiết bị và cỏc giao thức mạng hoạt động dựa trờn cỏc thiết bị đú. Vớ dụ như một Switch sẽ cú cỏc giỏ trị MIB đo lường lưu thụng mạng ở mức đường truyền (link level) trong khi một router sẽ cú cỏc tham số ở mức dạng (network level) cung cấp cỏc thụng tin về tầng mạng trong mụ hỡnh OSI. Ưu điểm của việc sử dụng SNMP là tớnh chuẩn húa do SNMP đó được chấp nhận và triển khai rộng rói trờn cỏc thiết bị khỏc nhau. Do tớnh đầy đủ và cú chọn lọc của dữ liệu trờn SNMP là nguồn thụng tin đầu vào quan trọng cho cỏc thuật toỏn phỏt hiện bất thường trong mạng.
32
Để phỏt hiện bất thường trong mạng, người ta sử dụng một số kỹ thuật cụ thể, cỏc kỹ thuật này cú thể dựng tỏch biệt hoặc phối hợp với nhau. Cú 3 kỹ thuật phỏt hiện cơ bản là:
Threshold Detection: Kỹ thuật này nhấn mạnh thuật ngữ “đếm”. cỏc mức ngưỡng về cỏc hoạt động bỡnh thường được đặt ra, nếu cú sự bất thường nào đú login với số lần quỏ quy định, số lượng cỏc tiến trỡnh hoạt động trờn CPU, số lượng một loại gúi tin được gửi vượt quỏ mức…
Seft-learning Detection: Kỹ thuật dũ này bao gồm hai bước, khi thiết lập hệ thống phỏt hiện tấn cụng, nú sẽ chạy ở chế độ tự học và thiết lập một profile mạng với cỏc hoạt động bỡnh thường. Sau thời gian khởi tạo, hệ thống sẽ chạy ở chế độ sensor theo dừi cỏc hoạt động bất thường của mạng so với profile đó thiết lập. Chế độ tự học cú thể chạy song song với chế độ Sensor để cập nhật bản profile của mỡnh, nhưng nếu dũ ra cú tớn hiệu tấn cụng thỡ chế độ tự học phải dừng lại tới khi cuộc tấn cụng kết thỳc.
Anomaly protocol detection: Kỹ thuật dũ này căn cứ vào hoạt động của cỏc giao thức, cỏc dịch vụ của hệ thống để tỡm ra cỏc gúi tin khụng hợp lệ, cỏc hoạt động bất thường là dấu hiệu của sự xõm nhập, tấn cụng. Kỹ thuật này rất hiệu quả trong việc ngăn chặn cỏc hỡnh thức quột mạng, quột cổng để thu thập thụng tin của cỏc hacker
2.2.4. Phương phỏp
Phỏt hiện bất thường bằng mạng Nơron
Hệ thống IDS sử dụng mạng Nơ-ron thường là HIDS, tập trung vào việc phỏt hiện cỏc thay đổi trong hành vi của chương trỡnh như là dấu hiệu bất thường. Theo cỏch tiếp cận này, mạng Nơ-ron sẽ học và dự đoỏn hành vi của người sử dụng và cỏc chương trỡnh tương ứng. Ưu điểm của mạng Nơ-ron là dễ dàng thớch ứng với cỏc kiểu dữ liệu khụng đầy đủ, dữ liệu với độ chắc chắn khụng cao, đồng thời phương phỏp này cũng cú khả năng đưa ra cỏc kết luận mà khụng cần cập nhật tri thức thường xuyờn. Điểm yếu của mạng Nơ-ron là tốc độ xử lý do hệ thống cần thu thập dữ liệu, phõn tớch và điểu chỉnh từng Nơ-ron để cho kết quả chớnh xỏc. Một số
33
hệ thống IDS điển hỡnh như: IDS sử dụng mạng Nơ-ron lan truyền ngược trong nghiờn cứu của Ghost hay mạng Nơ-ron hồi quy trong nghiờn cứu của Elman.
Phỏt hiện bất thường bằng kỹ thuật khai phỏ dữ liệu
Hệ thống phỏt hiện bất thường dựa trờn kỹ thuật Khai phỏ dữ liệu (KPDL) lấy ý tưởng chủ đạo là sử dụng cỏc giải thuật phỏt hiện phần tử tỏch biệt. Bờn cạnh đú, hệ thống cũn cú một số cải tiến như sử dụng bộ lọc cỏc kiểu tấn cụng đó biết dõu hiệu, sử dụng một bộ tổng hợp nhằm rỳt gọn cảnh bỏo lờn chuyờn gia. Đồng thời bộ tổng hợp này cũng cú chức năng xõy dựng luật rỳt gọn để bổ sung tri thức cho hệ thống.
Hệ thống IDS sử dụng KPDL cũng được chia theo hai hướng chớnh là phỏt hiện dựa trờn hành vi lạm dụng và phỏt hiện bất thường. Trong hướng phỏt hiện dựa trờn hành vi lạm dụng, cỏc mẫu trong tập dữ liệu được gỏn nhón là “bỡnh thường” hay “bất thường”. Một thuật toỏn học sẽ được đào tạo trờn tập dữ liệu được gỏn nhón. Kỹ thuật này sẽ được ỏp dụng tự động trờn cỏc dữ liệu đầu vào khỏc nhau để phỏt hiện tấn cụng. Cỏc nghiờn cứu theo hướng này chủ yếu dựa vào việc phõn lớp cỏc hành vi sử dụng cỏc thuật toỏn KPDL khỏc nhau như: Phõn cụm, Phõn tớch luật tớch hợp. Ưu