Tải bản đầy đủ - 0 (trang)
Hình 4.1- Hình kiến trúc Snort

Hình 4.1- Hình kiến trúc Snort

Tải bản đầy đủ - 0trang

4.1.2.1. Module giải mã gói tin

Snort chỉ sử dụng thư viện pcap để bắt mọi gói tin trên mạng lưu thơng qua hệ thống.

Một gói tin khi được giải mã sẽ được đưa tiêp vào modul tiền xử lý. Nhiệm vụ chủ yếu

của hệ thống này là phân tích gói dữ liệu thô bắt được trên mạng và phục hồi thành gói dữ

liệu hồn chỉnh ở lớp application, làm input cho hệ thống detection engine.

Q trình phục hồi gói dữ liệu được tiến hành từ lớp Datalink cho tới lớp Application

theo thứ tự của Protocol Stack.

4.1.2.2. Module tiền xử lý

Module này rất quan trọng đối với bất kỳ hệ thống nào để có thể chuẩn bị gói dữ liệu

đưa vào cho Module phát hiện phân tích. 3 nhiệm vụ chính:





Kết hợp lại các gói tin: Khi một dữ liệu lớn được gửi đi, thơng tin sẽ khơng đóng gói

tồn bộ vào một gói tin mà thực hiện phân mảnh, chia thành nhiều gói tin rồi mới gửi

đi. Khi Snort nhận được các gói tin này, nó phải thực hiện kết nối lại để có gói tin

ban đầu. Module tiền xử lý giúp Snort có thể hiểu được các phiên làm việc khác

nhau.







Giải mã và chuẩn hóa giao thức (decode/normalize): cơng việc phát hiện xâm nhập

dựa trên dấu hiệu nhận dạng nhiều khi thất bại khi kiểm tra các giao thức có dữ liệu

có thể được biểu diễn dưới nhiều dạng khác nhau. Ví dụ: một Web server có thể nhận

nhiều dạng URL: URL viết dưới dạng hexa/unicode hay URL chấp nhận dấu / hay .

Nếu Snort chỉ thực hiện đơn thuần việc so sánh dữ liệu với dấu hiệu nhận dạng sẽ

xảy ra tình trạng bỏ sót hành vi xâm nhập. Do vậy, 1 số Module tiền xử lý của Snort

phải có nhiệm vụ giải mã và chỉnh sửa, sắp xếp lại các thông tin đầu vào.







Phát hiện các xâm nhập bất thường (nonrule/anormal): các plugin dạng này thường

để xử lý với các xâm nhập khơng thể hoặc rất khó phát hiện bằng các luật thông

thường. Phiển bản hiện tại của Snort có đi kèm 2 plugin giúp phát hiện xâm nhập bất

thường đó là portscan và bo (backoffice). Portscan dùng để đưa ra cảnh báo khi kẻ

tấn công thực hiện quét cổng để tìm lỗ hổng. Bo dùng để đưa ra cảnh báo khi hệ

thống nhiễm trojan backoffice.



4.1.2.3. Module phát hiện

Đây là module quan trọng nhất của Snort.Nó chịu trách nhiệm phát hiện các dấu hiệu

xâm nhập. Module phát hiện sử dụng các luật được định nghĩa trước để so sánh với dữ liệu

thu thập được, từ đó xác định xem có xâm nhập xảy ra hay khơng.

Một vấn đề quan trọng đối với module phát hiện và vấn đề thời gian xử lý gói tin: một

IDS thường nhận rất nhiều gói tin và bản thân nó cũng có rất nhiều luật xử lý. Khi lưu lượng

mạng quá lớn có thể xảy ra việc bỏ sót hoặc khơng phản hồi đúng lúc. Khả năng xử lý của

module phát hiện phụ thuộc vào nhiều yếu tố: số lượng các luật, tốc độ hệ thống, băng thơng

mạng.

Một module phát hiện có khả năng tách các phần của gói tin ra và áp dụng luật lên

từng phần của gói tin:





IP header







Header ở tầng transport: TCP, UDP







Header ở tầng application: DNS, HTTP, FTP …







Phần tải của gói tin

Do các luật trong Snort được đánh số thứ tự ưu tiên nên 1 gói tin khi bị phát hiện bởi



nhiều luật khác nhau, cảnh báo được đưa ra theo luật có mức ưu tiên cao nhất.

4.1.2.4. Module log và cảnh báo

Tùy thuộc vào module phát hiện có nhận dạng được xâm nhập hay khơng mà gói tin

có thể bị ghi log hay đưa ra cảnh báo. Các file log là các file dữ liệu có thể ghi dưới nhiều

định dạng khác nhau như tcpdump

4.1.2.5. Module kết xuất thông tin

Module này thực hiện các thao tác khác nhau tùy thuộc vào việc cấu hình lưu kết quả

xuất ra như thế nào.







Ghi log file







Ghi syslog







Ghi cảnh báo vào cơ sở dữ liệu







Tạo file log XML







Cấu hình lại Router, firewall







Gửi các cảnh báo được gói trong gói tin sử dụng giao thức SNMP



4.1.3. Quy tắc của Snort

Snort cho phép tùy chỉnh những quy tắc để đáp ứng nhu cầu mạng.

Các quy tắc của Snort giúp phân biệt giữa các hoạt động bình thường và các hoạt động

độc hại.

Các quy tắc Snort phải được chứa trên một dòng, các quy tắc của Snort khơng xử lý

được trên nhiều dòng.

Quy tắc Snort đi kèm với hai phần logic.

-



Phần đầu : xác định hành động của các rule chẳng hạn nhu báo động, thực hiện tự

động.



-



Phần lựa chọn : xác định các gói tin báo động thuộc các luật nào.



4.1.3.1. Snort rules: các quy tắc hoạt động và giao thức IP

Rule action :

-



Phần tiêu đề lưu trữ đầy đủ các thông tin về gói tin và xác định hành động để thực

hiện hoặc các luật nào đã áp dụng.



-



Các hành động của Snort báo động khi nó tìm thấy một gói tin gây nguy hiểm.



-



Có 3 hành động sẵn sàng tỏn Snort :

+ Alert : tạo ra một cảnh báo bằng cách sử dụng phương pháp lựa chọn cảnh

báo và khi truy nhập các gói tin.

+ Log : bản ghi gói tin.

+ Pass : loại bỏ (bỏ qua) các gói tin

IP protocols :



-



Có 3 giao thức IP Snort hỗ trợ là : TCP, UDP, ICMP.



4.1.3.2. Snort rules : Điều khiển hệ thống và địa chỉ IP

Điều khiển hệ thống



-



Chỉ đường cho việc truyền thông của hệ thống và việc truyền thông có thể theo một

hướng nhất định (->) hoặc nhiều hướng (<>).



-



Ví dụ : Snort sử dụng điều khiển 2 chiều.

Log !192.168.1.0/24 any <> 192.168.1.0/24 23

Địa chỉ IP



-



Nó thỏa thuận các thông tin về địa chỉ IP, cổng cho bất kỳ các luật dặc biêt nào.



-



Sử dụng từ khóa “any” để xác định bất kì địa chỉ Ip nào.



-



Snort chấp nhận những địa chỉ được tạo thành bởi một số các địa chỉ và một khối

CIDR áp dụng netmark vào các luật về địa chỉ để xác định các gói tin khơng hợp lệ.



-



Ví dụ : địa chỉ IP sai quy tắc

Alert tcp !192.168.1.0/24 any -> 192.168.1.0/24 111 (content :”|00 01 86 a5|”;

msg: “external mountd access”;)



4.1.3.3. Snort rules : Số cổng

Số cổng có thể được liệt kê bằng nhiều cách khác nhau bao gồm “any” cổng, xác định

cổng tĩnh, dãy cổng và các cổng sai quy tắc.

Dãy số hiệu cổng chỉ ra những cổng được phép hoạt động “:” .

Ví dụ : Cổng không hợp lệ

Log tcp any any -> 192.168.1.0/24 !6000:6010

Protocols

Log UDP any any ->



IP address

192.168.1.0/24 1:1024



Log TCP any any ->



192.168.1.0/24 :5000



Log TCP any :1024 ->



192.168.1.0/24 400:



Action

Gói tin UDP truyền từ bất kì cổng nào

và cổng đích (nhận) là từ 1 đến 1024

Gói tin TCP được truyền từ bấy kỳ

cổng nào đến những cổng nhỏ hơn

hoặc bằng 5000

Gói tin TCP được phép truyền từ

những cổng <=1024 và đích đến là

những cổng >=400



4.2. Công cụ Honeypot

4.2.1. KFSensor

KFSensor là một máy chủ dò dùng để dò tìm sự xâm nhập vào hệ thống (IDS).

Nó hoạt động như một honeypot để thu hút và phát hiện kẻ xâm nhập bằng cách giả vờ

như một hệ thống dễ bị tấn công và dễ nhiểm Trojan.



4.2.2. Đặc điểm

-



Quản lý bằng giao diện GUI.



-



Cho phép quản lý từ xa.



-



Tương thích với snort.



-



Có khả năng cạnh tranh với các giao thức Windows.



-



Xuất các bản ghi ở nhiều kiểu định dạng.



Bảo vệ khi bị tấn công DoS.



CHƯƠNG 5: CÁC KIỂU TẤN CÔNG ĐỂ NÉ TRÁNH IDS,

FIREWALL VÀ HONEYPOTS

5.1. Các kiểu tấn công IDS :

5.1.1. Tấn công từ chối dịch vụ :

Trong một cuộc “tấn công từ chối dịch vụ“, một kẻ tấn công sẽ cố gắng ngăn cản

người dùng truy cập tới các website hay các dịch vụ trực tuyến. Mục tiêu nhắm đến của kiểu

tấn công này là các máy tính và các kết nối của mạng của máy tính đó,các máy chủ web và

kết nối mạng, dịch vụ của các website đó, một kẻ tấn cơng có thể ngăn cản bạn truy cập vào

email, các website hay các tài khoản trực tuyến (banking, v.v).

Cách phổ biến và cung hay gặp nhất của tấn công DOS là khi một kẻ tấn công cố

gắng làm “ngập lụt” (flood) mạng của bạn bằng cách gửi những dòng dữ liệu lớn tới mạng

hay máy chủ website của bạn. Khi bạn gõ một URL của một website cụ thể vào trình duyệt,

bạn sẽ gửi một yêu cầu tới máy chủ của website đó để xem nội dung trang web.Máy chủ

web chỉ có thể xử lý một số yêu cầu cùng một lúc, như vậy nếu như một kẻ tấn công gửi quá

nhiều các yêu cầu để làm cho máy chủ đó bị q tải và nó sẽ khơng thể xử lý các yêu cầu

khác của bạn.Đây chính là một cuộc tấn cơng “từ chối dịch vụ” vì bạn khơng thể truy cập

vào trang web hay dịch vụ đó nữa.

Một kẻ tấn cơng có thể sử dụng các email spam để khởi động một cuộc tấn công tương

tự vào tài khoản email của bạn. Mặc dù bạn sử dụng một tài khoản email được cung cấp bời

cơ quan của bạn hay thông qua một dịch vụ email miễn phí như Yahoo, HotMail, Gmail…

bạn cũng sẽ bị giới hạn số lượng dữ liệu có thể có trong tài khoản của bạn. Bằng việc gửi

nhiều hoặc gửi các email với kịch thước lớn tới tài khoản của bạn, một kẻ tấn cơng có thể

làm quá tải dữ liệu giới hạn của bạn khiến bạn không thể nhận được các email hợp lệ khác.

Trong một cuộc tấn công DDOS, một kẻ tấn tấn công không chỉ sử dụng máy tính của

mình mà còn lợi dụng hay sử dụng hợp pháp các máy tính khác. Bằng việc lợi dụng các lỗ

hổng bảo mật hay các điểm yếu của ứng dụng, một kẻ tấn cơng có thể lấy quyền kiểm sốt

máy tính của bạn. Sau đó họ chúng có thể lợi dụng máy tính của bạn để gửi các dữ liệu hay

các yêu với số lượng lớn vào một trang web hoặc gửi các thư rác đến một địa chỉ email cụ

thể. Gọi là tấn công “phân tán – Distributed” vì kẻ tấn cơng có thể sử dụng nhiều máy tính,

bao gồm cả chính bạn để thực hiện các cuộc tấn cơng từ chối dụng vụ.

Có năm kiểu tấn công cơ bản sau đây:



1. Nhằm tiêu tốn tài ngun tính tốn như băng thơng, dung lượng đĩa cứng hoặc thời

gian xử lý

2. Phá vỡ các thông tin cấu hình như thơng tin định tuyến

3. Phá vỡ các trạng thái thông tin như việc tự động reset lại các phiên TCP.

4. Phá vỡ các thành phần vật lý của mạng máy tính

5. Làm tắc nghẽn thơng tin liên lạc có chủ đích giữa các người dùng và nạn nhân dẫn

đến việc liên lạc giữa hai bên không được thơng suốt.

Một cuộc tấn cơng từ chối dịch vụ có thể bao gồm cả việc thực thi malware nhằm:





Làm quá tải năng lực xử lý, dẫn đến hệ thống không thể thực thi bất kì một cơng việc

nào khác.







Những lỗi gọi tức thì trong microcode của máy tính.







Những lỗi gọi tức thì trong chuỗi chỉ thị, dẫn đến máy tính rơi vào trạng thái hoạt

động không ổn định hoặc bị đơ.







Những lỗi có thể khai thác được ở hệ điều hành dẫn đến việc thiếu thốn tài nguyên

hoặc bị thrashing. VD: như sử dụng tất cả các năng lực có sẵn dẫn đến khơng một cơng

việc thực tế nào có thể hồn thành được.







Gây crash hệ thống.







Tấn cơng từ chối dịch vụ iFrame: trong một trang HTML có thể gọi đến một trang

web nào đó với rất nhiều yêu cầu và trong rất nhiều lần cho đến khi băng thông của

trang web đó bị q hạn.



5.1.2. Qt và thăm dò (Scanning và Probe)

Bộ quét và thăm dò tự động sẽ tìm kiếm hệ thống trên mạng để xác định điểm yếu.

Việc thăm dò có thể thực hiện bằng cách ping tới hệ thống cũng như kiểm tra các cổng TCP

hoặc UDP để phát hiện ra ứng dụng có những lỗi đã được biết tới.



Giải pháp: Network IDS có thể phát hiện các hành động nguy hiểm trước khi

chúng xảy ra. Host IDS cũng có tác dụng đối với kiểu tấn cơng này

5.1.3. Tấn cơng vào mật khẩu (Password attack)

Có các phương thức để tiếp cận:





Kiểu dễ nhận thấy nhất là ăn trộm mật khẩu, mang lại quyền quản trị cho kẻ tấn cơng

có thể truy cập mọi thơng tin trong mạng.







Đốn hay bẻ khóa mật khẩu là phương thức tiếp cận bằng cách thử nhiều lần mật

khẩu để tìm được đáp án đúng. Với kiểu bẻ khóa, kẻ tấn cơng cần truy cập tới mật

khẩu đã được mã hóa hay file chứa mật khẩu đã mã hóa. Và sử dụng chương trình

đốn mật khẩu với thuật tốn mã hóa để xác định mật khẩu đúng.

Giải pháp: Một Network IDS có thể phát hiện và ngăn chặn cố gắng đoán mật



khẩu, nhưng nó khơng hiệu quả trong việc phát hiện truy cập trái phép tới file bị mã

hóa. Trong khi đó, Host IDS lại thể hiện hiệu quả trong việc phát hiện đoán mật khẩu

cũng như truy cập trái phép.

5.1.4. Chiếm đặc quyền (Privilege-grabbing)

Khi kẻ tấn công đã xâm nhập được hệ thống, chúng sẽ cố chiếm quyền truy cập.Khi

thành công, chúng sẽ tìm cách phá hoại hệ thống hoặc đánh cắp thông tin quan trọng. Một

số kỹ thuật thường dung cho việc chiếm đặc quyền:





Đoán hay đánh cắp mật khẩu root, admin







Gây tràn bộ đệm







Khai thác registry







Sử dụng file, script hay lỗi của hệ điều hành, ứng dụng.



Giải pháp: Cả NIDS và HIDS đều có thể xác định được việc thay đổi đặc quyền

trái phép

5.1.5. Cài đặt mã nguy hiểm (Hostile code insertion):

Một số loại tấn cơng có thể cài đặt mã nguy hiểm vào hệ thống. Mã này có thể lấy

trộm dữ liệu, gây từ chối dịch vụ, xóa file hay tạo backdoor cho lần truy cập tiếp theo.





Virus: khi được thực thi sẽ dẫn tới hành động tự động, có hoặc khơng có hại, ln tạo

ra bản sao của file hệ thống, file ứng dụng hay dữ liệu.







Trojan Horse: được đặt tên như một chương trình người ta muốn sử dụng nhưng thực

tế chúng kích hoạt các hành động dẫn tới hỏng hệ thống

Giải pháp: khơng có loại IDS nào chống việc phá hoại từ virus hay Trojan. Cách



tốt nhất là cài đặt phần mềm diệt virus

5.1.6. Tấn cơng hạ tầng bảo mật (Security infrastructure attack)

Có nhiều loại tấn công can thiệp vào việc điều khiển cơ bản của cơ sở hạ tầng bảo mật

như tạo tường lửa trái phép, chỉnh sửa tài khoản của người dung hay thay đổi các quyền của

file. Tấn công vào cơ sở hạ tầng cho phép kẻ xâm nhập có them quyền truy cập hay tạo

them nhiều đường xâm nhập vào hệ thống

Giải pháp: HIDS có thể bắt giữ các cuộc đăng nhập mà thực hiện những hành

động như trên

5.1.7. Time to Live Attack

Những cuộc tấn cơng đòi hỏi kẻ tấn cơng phải có kiến thức về topology của mạng nạn

nhân

- Những thơng tin này có thể thu được bằng cách sử dụng các cơng cụ như tracert

trong đó cung cấp các thông tin về số lượng các thiết bị định tuyến giữa các kẻ tấn cơng và

nạn nhân.



- Một router có mặt giữa IDS và nạn nhân - và kẻ tấn công thực hiện các cuộc tấn

công bằng cách phá vỡ nó thành ba mảnh.

- Kẻ tấn cơng gửi fragment 1 với giá trị TTL lớn và điều này được nhận bởi cả IDS và

các nạn nhân, sau đó gửi fragment thứ hai (2') có giá trị TTL của 1 và tải trọng giả.

- Fragment này được nhận bởi các IDS trong khi các router loại bỏ nó như là các giá trị

TTL hiện đang giảm xuống bằng không.

- Ở giai đoạn này, IDS chỉ có fragment 2 đã thực hiện kết hợp lại và stream đã bị

flushed

- Kẻ tấn công cuối cùng sẽ gửi fragment thứ hai với một payload hợp lệ, nạn nhân thực

hiện việc kết hợp lại trên những fragment 1, 2 và 3 và sẽ bị tấn cơng.

- Kẻ tấn cơng sau đó sẽ gửi fragment 3 với một TTL hợp lệ. Điều này làm cho IDS

thực hiện một giao thức TCP-reassembly trên những fragment 1, 2'và 3 trong khi nạn nhân

vẫn còn chờ đợi cho fragment thứ hai

5.1.8. Overlapping Fragment Attack

Tại host destination, sau khi nhận đủ các fragment từ một packet ban đầu (bằng cách

nhìn vào field MF và tính tổng cộng chiều dài của các fragment đã nhận được), công việc tái

lập packet ban đầu sẽ bắt đầu. Rất khơng may là thuật tốn tái lập nằm trong RFC của IP

hiện tại cho phép các fragment có thể ghi đè lên nhau. Kẻ tấn công gửi fragment đầu tiên

(offset = 0) với đầy đủ thông tin hợp lệ để vượt qua static packet filter, sau đó sẽ dùng các

fragment tiếp theo (offset !=0, khơng bị kiểm tra bởi static packet filter) để ghi đè lên vùng

thơng tin header của fragment đầu tiên. Ví dụ như kẻ tấn công muốn xâm nhập vào mail

server tại host A được bảo vệ bởi một static packet filter F. Ngồi mail server, host A còn

đóng vai trò web server, F cho phép kết nối từ ngoài vào web server nhưng cản tất cả kết nối

vào mail server. Kẻ tấn cơng sẽ tạo ra fragment đầu tiên có source port = 12345, và dest port

là 80, giả sử fragment này có chiều dài là 30 bytes. Fragment này sẽ được F cho qua.

Fragment thứ 2, lẽ ra phải có offset=30, tuy nhiên, kẻ tấn cơng cố tình chỉnh offset lại bằng

26, và chính 4 byte này đủ để kẻ tấn cơng có thể overwrite giá trị dest port từ 80 thành 25

5.1.9. Polymorphic Shellcode: (Shellcode đa hình)

Hầu hết IDSes có signature cho các chuỗi thường được sử dụng trong shellcode. Điều

này dễ dàng bị vượt qua bằng cách sử dụng mã hóa shellcode chứa một stub giải mã

shellcode. Điều này có nghĩa rằng shellcode có thể hồn tồn khác nhau mỗi khi nó được

gửi. Shellcode đa hình cho phép kẻ tấn công để ẩn shellcode của họ bằng cách mã hóa nó

trong một hình thức đơn giản. Dẫn đến khó khăn cho IDS để xác định dữ liệu này như



shellcode.Phương pháp này cũng giúp giấu đi các chuỗi thường được sử dụng trong

shellcode, làm cho signature shellcode vô dụng.

5.1.10. ASCII shellcode

ASCII shellcode chỉ chứa ký tự chứa trong các tiêu chuẩn ASCII.Hình thức shellcode

này cho phép kẻ tấn cơng để vượt qua những kí tự hạn chế thường được thực thi trong vòng

chuỗi nhập mã.Nó cũng giúp kẻ tấn cơng vượt qua mơ hình IDS so sánh trùng khớp với

signature vì các chuỗi được ẩn trong các shellcode trong một lớp ngụy trang tương tự như

shellcode đa hình.



5.2. Tấn công vượt Firewall

5.2.1. IP spoofing

Kỹ thuật giả mạo IP(Spoofing IP)

Một hacker có thể giả mạo địa chỉ IP khi quét máy hệ thống để hạn chế thấp nhất khả

năng bị phát hiện.Khi nạn nhân (Victim) gửi trả lời về địa chỉ IP, nó sẽ khơng gửi đến địa

chỉ giả mạo được. Một nhược điểm của giả mạo IP là một phiên TCP khơng thể hồn thành

được, do khơng thể gửi hồi đáp ACK. Source routing cho phép kẻ tấn công chỉ định việc

định tuyến một gói tin có thơng qua Internet. Điều này cũng có thể giảm thiểu cơ hội phát

hiện bằng cách bỏ qua IDS và tường lửa.

5.2.2. Tiny Fragment Attack

Đây là dạng tấn công bằng cách chia thật nhỏ và (thật khéo) IP packet ban đầu ra thành

từng fragment rất nhỏ, sao cho một phần thông tin của TCP header nằm trong IP packet ban

đầu nằm trong fragment thứ hai. Do static packet filter chỉ kiểm tra fragment có offset = 0,

và với bộ TCP header đã bị chia ra như vậy, khả năng static packet filter lọc sót ra rất lớn.

Trong thực tế đã có những cơng cụ sử dụng Tiny Fragment Attack để vượt qua Static Packet

Filter.

5.2.3. Man in middle DNS

Giả mạo DNS là một kỹ thuật MITM được sử dụng nhằm cung cấp thông tin DNS

sai cho một host để khi người dùng duyệt đến một địa chỉ nào đó, ví dụ,

www.bankofamerica.com có IP XXX.XX.XX.XX, thì cố gắng này sẽ được gửi đến một địa

chỉ www.bankofamerica.com giả mạo cư trú ở địa chỉ IP YYY.YY.YY.YY, đây là địa chỉ mà

kẻ tấn công đã tạo trước để đánh cắp các thông tin tài khoản ngân hàng trực tuyến từ người

dùng.



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Hình 4.1- Hình kiến trúc Snort

Tải bản đầy đủ ngay(0 tr)

×