2010-11-01 29 views
15

Vì vậy, đối với ứng dụng liên quan đến bảo mật tôi đang viết, tôi thực sự muốn sử dụng RFC3514 ("The Evil Bit") để xác định lưu lượng truy cập nào trên mạng là xấu hoặc không một cấp độ gói. Điều này được sử dụng như là dữ liệu đào tạo cho một công cụ học máy được hỗ trợ, do đó, ứng dụng phải biết trước khi tay những gì các gói dữ liệu là cái ác và đó không phải là.Làm thế nào để thiết lập Evil Bit trên lưu lượng gửi đi

Điều này nên khá đơn giản, nó chỉ thiết lập một bit lớp IP duy nhất. Tôi đã cố gắng tìm cách làm điều này với iptables hoặc libpcap, nhưng hoặc là họ không có chức năng hoặc tôi không thể phát hiện ra nó.

Có thể đặt cho tất cả lưu lượng truy cập ra khỏi máy sẽ ổn, nhưng bộ lọc trên những gì xuất hiện sẽ tốt hơn. (Giống như có thể chỉ định giao thức lớp nào cao hơn được đặt, v.v.)

Tôi cũng đang sử dụng Ubuntu. Vì vậy, các giải pháp Linux ưa thích. Nhưng nếu không, nó không thực sự quan trọng những gì phương pháp được sử dụng để thực hiện điều này. Bash script, c/C++ app, thiết lập một số sysctl, bất cứ điều gì.

+0

+1 Thú vị, nhưng tôi nghĩ tiêu chuẩn defacto của việc xóa hoặc ghi nhật ký các gói này bằng IPS/IDS là một cách tiếp cận an toàn hơn. – rook

+2

Vâng, toàn bộ vấn đề là tôi không muốn sử dụng một IPS/IDS dựa trên chữ ký. Do đó phần học máy. Nhưng điều đó không thực sự liên quan đến câu hỏi, chỉ là một số thông tin cơ bản. Tôi có thể hỏi tương đương "Làm thế nào tôi có thể đặt một lá cờ trong các gói tin gửi đi mà không làm phiền đến hoạt động/giải thích của họ?" Có vẻ như tôi không phải là người đầu tiên có nhu cầu đó. – AltF4

+0

Mười tháng sau, người ta tự hỏi liệu bạn có lọc thành công tất cả lưu lượng truy cập mạng độc ác không. Bạn không xảy ra để làm việc cho Sony, phải không? –

Trả lời

6

Dường như điều này thực sự được triển khai cho FreeBSD - có thể bạn có thể xem mã của họ?

http://www.cs.columbia.edu/~smb/3514.html

+0

Tôi thấy điều đó, nhưng: 1) Bản vá hạt nhân có vẻ như quá mức 2) Liên kết thực tế đến bản vá có vẻ bị hỏng: http://unix.derkeiler.com/Mailing-Lists/FreeBSD/hackers/ 2008-04/msg00073.html – AltF4

+2

Sau khi nhìn vào nó lâu hơn, có vẻ như bạn đã đúng một phần, Colin. Nó sẽ xuất hiện rằng một bản vá hạt nhân là cần thiết để có được loại chức năng này vào iptables. Tuy nhiên, Một cách giải quyết khác là sử dụng bảng mangle. Bạn có thể chèn cờ vào các trường DSCP và ECN của tiêu đề IPv4, thường không được sử dụng.Mặc dù làm như vậy có thể gây ra vấn đề nếu mạng của bạn thực sự sử dụng một cái gì đó trong đó. – AltF4

5

Bạn có hai lựa chọn:

Một là sử dụng https://code.google.com/p/evilbitchanger/, một kịch bản dựa trên scapy mà không được Bit Ác thiết lập công việc cho bạn.

Cách khác là sử dụng tập lệnh scapy thô để tạo các gói có bit Evil. Theo tài liệu, Scapy có khả năng thiết lập các Evil Bit flag quite easily.

>>> t=TCP() 
>>> t.flags="SA" 
>>> t.flags 
18 
>>> t 
<TCP flags=SA |> 
>>> t.flags=23 
>>> t 
<TCP flags=FSRA |> 
>>> i=IP(flags="DF+MF") 
>>> i.flags 
3 
>>> i 
<IP flags=MF+DF |> 
>>> i.flags=6 
>>> i 
<IP flags=DF+evil |> 

Hy vọng điều này sẽ hữu ích.

Các vấn đề liên quan