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

silk(TÌM HIỂU VÀ ỨNG DỤNG CÔNG CỤ SILK TRONG THU THẬP VÀ PHÂN TÍCH LƯU LƯỢNG MẠNG NHẰM PHÁT HIỆN TẤN CÔNG)

68 7 0

Đ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 đề Tìm Hiểu Và Ứng Dụng Công Cụ SiLK Trong Thu Thập Và Phân Tích Lưu Lượng Mạng Nhằm Phát Hiện Tấn Công
Tác giả Người Hướng Dẫn 1: ThS. Cao Minh Tuấn
Trường học Học viện Kỹ thuật mật mã
Chuyên ngành An toàn thông tin
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2021
Thành phố Hà Nội
Định dạng
Số trang 68
Dung lượng 2,7 MB

Cấu trúc

  • CHƯƠNG 1. TỔNG QUAN CHUNG VỀ SILK (9)
    • 1.1. Giới thiệu về SiLK (9)
    • 1.2. Loại dữ liệu luồng SiLK thu thập (10)
    • 1.3. Kho lưu trữ SiLK Flow (11)
      • 1.3.1. Dữ liệu luồng mạng (11)
      • 1.3.2. Cấu trúc của một bản ghi luồng (11)
      • 1.3.3. Các loại lưu lượng mạng (13)
      • 1.3.4. Hệ thống thu thập và quản lý dữ liệu (14)
    • 1.4. Bộ công cụ SiLK (15)
    • 1.5. Tổng kết chương 1 (16)
  • CHƯƠNG 2. KỸ THUẬT THU THẬP, ĐÓNG GÓI VÀ PHÂN TÍCH LƯU LƯỢNG MẠNG (17)
    • 2.1. Kỹ thuật thu thập và đóng gói (17)
      • 2.1.1. Bộ công cụ đóng gói SiLK (17)
      • 2.1.2. Mô hình máy đơn (19)
    • 2.2. Kỹ thuật phân tích (22)
      • 2.2.1. Bộ công cụ phân tích SiLK (22)
      • 2.2.2. Nhận danh sách các cảm biến với rwsiteinfo (23)
      • 2.2.3. Chọn bản ghi luồng với rwfilter (25)
      • 2.2.4. Xem bản ghi luồng với rwcut (27)
      • 2.2.5. Xem thông tin tệp với rwfileinfo (29)
      • 2.2.6. Profile Flow với rwuniq và rwstats (30)
      • 2.2.7. Đặc điểm lưu lượng truy cập theo khoảng thời gian với số lượng rwcount (34)
      • 2.2.8. Sắp xếp hồ sơ lưu lượng với rwsort (35)
      • 2.2.9. Sử dụng IPset để thu thập địa chỉ IP (37)
    • 2.3. Cách tiếp cận trong việc phân tích các bản ghi luồng mạng (41)
      • 2.3.1. Phân tích một đường dẫn (41)
      • 2.3.2. Phân tích đa đường dẫn (41)
      • 2.3.3. Phân tích khám phá (42)
    • 2.4. Quy trình làm việc cho Phân tích SiLK (42)
      • 2.4.1. Công thức hóa (42)
      • 2.4.2. Model (44)
      • 2.4.3. Kiểm tra (44)
      • 2.4.4. Phân tích (44)
      • 2.4.5. Tinh chỉnh (45)
    • 2.5. Kết luận chương 2 (45)
  • CHƯƠNG 3. CÀI ĐẶT VÀ CẤU HÌNH SILK (47)
    • 3.1. Các điều kiện cần có để xây dựng SiLK (47)
    • 3.2. Xây dựng SiLK, YAF, libfixbuf từ Source Code (47)
      • 3.2.1. Giải nén và cài đặt libfixbuf (48)
      • 3.2.2. Giải nén và cài đặt SiLK (49)
      • 3.2.3. Giải nén và cài đặt YAF (52)
    • 3.3. Cấu hình SiLK, YAF và libfixbuf (52)
      • 3.2.1. Cấu hình SiLK (52)
      • 3.2.2. Cấu hình rwflowpack (54)
      • 3.2.3. Tùy chỉnh tệp cấu hình rwflowpack.conf (56)
      • 3.2.4. Tùy chỉnh tệp cấu hình rwflowpack.conf (57)
    • 3.4. Kết luận chương 3 (58)
  • CHƯƠNG 4.TRIỂN KHAI SILK ĐỂ THỰC HIỆN THU THẬP VÀ PHÂN TÍCH 49 4.1. Thiết lập mô hình mạng để thực hiện thu thập và phân tích (58)
    • 4.2. Triển khai thu thập và phân tích luồng mạng (62)
    • 4.3. Kết luận chương 4 (66)
  • KẾT LUẬN (67)
  • TÀI LIỆU THAM KHẢO (68)

Nội dung

Bộ đồ án Tìm hiểu và ứng dụng công cụ Silk trong thu thập và phân tích lưu lượng mạng nhằm phát hiện tấn công là tài liệu hữu ích cho những người quan tâm đến lĩnh vực an ninh mạng và đang tìm kiếm giải pháp cho việc bảo vệ hệ thống của mình. Đồ án này được viết bằng Microsoft Word và hoàn toàn sử dụng bảng mã Unicode, vì vậy có thể đọc và chỉnh sửa trên nhiều thiết bị khác nhau. Bộ đồ án này chứa đầy đủ các phần cơ bản của một đồ án, bao gồm giới thiệu về công cụ Silk, các bước để thu thập và phân tích lưu lượng mạng, đánh giá hiệu quả của công cụ Silk trong việc phát hiện các tấn công mạng thường gặp và kết luận. Bên cạnh đó, đồ án cũng cung cấp một số hình ảnh minh họa, giúp người đọc dễ hiểu hơn về cách thức sử dụng công cụ Silk. Với tính chất ứng dụng cao và cách diễn đạt súc tích, bộ đồ án này sẽ giúp người đọc hiểu được sự quan trọng của việc thu thập và phân tích lưu lượng mạng trên hệ thống, đồng thời cũng cung cấp cho họ một giải pháp đơn giản và hiệu quả để phát hiện tấn công mạng. Nếu bạn đang muốn nghiên cứu về lĩnh vực an ninh mạng, đây sẽ là một tài liệu đáng để tham khảo.

TỔNG QUAN CHUNG VỀ SILK

Giới thiệu về SiLK

Bộ công cụ System for internet-Level Knowledge (SiLK) là một hệ thống thu thập và phân tích dữ liệu luồng có khả năng mở rộng cao được phát triển bởi CERT Network Situational Awareness Team (CERT NetSA) để tạo điều kiện thuận lợi cho việc phân tích bảo mật của các mạng lớn Ban đầu được đặt tên là

“Công việc của Suresh”, SiLK là kết quả của việc một nhà phân tích cần phân tích cú pháp luồng một cách kịp thời và hiệu quả mà không cần đến các tập lệnh phức tạp chuyên sâu của CPU SiLK là một tập hợp của C, Python và Perl, và như vậy, hoạt động trong hầu hết mọi môi trường dựa trên UNIX Tầm quan trọng của tài liệu là tối quan trọng Bộ công cụ SiLK hỗ trợ thu thập, lưu trữ và phân tích dữ liệu luồng mạng một cách hiệu quả, cho phép các người phân tích an ninh mạng truy vấn nhanh các tập dữ liệu lưu lượng lớn trong lịch sử Các công cụ SiLK cung cấp cho các người phân tích mạng phương tiện để hiểu, truy vấn và tóm tắt cả dữ liệu lưu lượng truy cập gần đây và lịch sử được biểu thị dưới dạng bản ghi luồng mạng (còn được gọi là "network flow" hoặc "dữ liệu luồng mạng" và đôi khi chỉ là "luồng") Các công cụ này cung cấp cho người phân tích mạng một cái nhìn tương đối đầy đủ về lưu lượng truy cập trên mạng, tùy thuộc vào vị trí của các cảm biến.

Các phân tích bằng cách sử dụng các công cụ SiLK cung cấp cái nhìn sâu sắc về các khía cạnh khác nhau của hành vi mạng Một số ứng dụng ví dụ của bộ công cụ này bao gồm:

 Hỗ trợ pháp y mạng: xác định sự xâm nhập, khai thác lỗ hổng bảo mật, hành vi của sâu máy tính, v.v.

 Cung cấp kho dịch vụ cho các mạng lớn và động (theo thứ tự của khối / 8 Định tuyến liên vùng không lớp (CIDR))

 Tạo hồ sơ về việc sử dụng mạng (tiêu thụ băng thông) dựa trên các giao thức và các mẫu giao tiếp phổ biến

 Cho phép phát hiện quét không dựa trên chữ ký và phát hiện sâu, để phát hiện phần mềm độc hại phát hành hạn chế và để xác định tiền chất

Những ví dụ này và những ví dụ khác được giải thích thêm Bằng cách cung cấp cơ sở chung cho các phân tích này, các công cụ SiLK cung cấp một khuôn khổ để phát triển nhận thức về tình huống mạng.

 Mạng của tôi có gì?

 Điều gì tạo nên hành vi mạng điển hình?

 Điều gì đã xảy ra trước, trong và sau một sự kiện mạng?

 Mạng nội bộ có định tuyến lưu lượng truy cập không mong muốn không?

Loại dữ liệu luồng SiLK thu thập

SiLK hỗ trợ thu thập các loại dữ liệu luồng sau:

Hai chuẩn NetFlow được sử dụng phổ biến nhất là V5 và V9 NetFlow V5 cho đến nay là giải pháp NetFlow dễ tiếp cận nhất vì hầu hết các thiết bị định tuyến hiện đại đều hỗ trợ xuất NetFlow V5 Bản ghi luồng NetFlow V5 cung cấp thông tin 5-tuple tiêu chuẩn cũng như tất cả các số liệu thống kê cần thiết để xác định tập hợp luồng của các gói đang được tóm tắt Những thống kê này cho phép các công cụ phân tích hợp lý hóa việc phân tích cú pháp của thông tin này Không giống như NetFlow V9 và IPFIX, NetFlow V5 không hỗ trợ giao thức IPV6, điều này có thể hạn chế khả năng được sử dụng trong một số môi trường nhất định.

NetFlow V9 là tất cả mọi thứ của V5, nhưng còn nhiều hơn thế nữa NetFlow V9 cung cấp một mẫu mới cung cấp khá nhiều chi tiết hơn trong việc ghi nhật ký của nó Trong khi NetFlow V5 cung cấp 20 trường dữ liệu (hai trong số đó là vùng đệm), thì NetFlow V9 có 104 định nghĩa loại trường Các loại trường đã sửa đổi này có thể được gửi qua đầu ra được tạo mẫu để tạo thành bản ghi có thể định cấu hình Do đó, có thể sử dụng NetFlow V9 để tạo các bản ghi giống với bản ghi V5 bằng cách định cấu hình các mẫu này NetFlow V9 cũng cung cấp hỗ trợ IPV6

Hầu hết các quản trị viên đều có các yêu cầu tối thiểu từ dữ liệu NetFlow và không yêu cầu thêm các chi tiết trang trí khác mà NetFlow V9 cung cấp hoặc họ không có phương pháp tương tác với dữ liệu như đã làm với NetFlow V5

Thông tin luồng giao thức Internet Bản ghi luồng eXport được tạo bởi trình tạo luồng tuân thủ IPFIX như YAF Để sử dụng chức năng này, phải cài đặt libfixbuf-1.7.0 trở lên trước khi xây dựng và cài đặt SiLK IPFIX có nhiều điểm chung với NetFlow V9 vì nó được xây dựng dựa trên cùng một định dạng. IPFIX là định dạng xuất nhị phân dựa trên khuôn mẫu, hướng bản ghi Đơn vị cơ bản của truyền dữ liệu trong IPFIX là message Message tiêu đề và một hoặc nhiều tập hợp, chứa các bản ghi Tập hợp có thể là tập mẫu hoặc tập dữ liệu. Tập dữ liệu tham chiếu đến mẫu mô tả các bản ghi dữ liệu trong tập hợp đó. IPFIX cũng tương tự như NetFlow V9 khi nói đến tỷ lệ chấp nhận Sự khác biệt giữa NetFlow V9 và IPFIX là chức năng Ví dụ: IPFIX cung cấp các trường có độ dài thay đổi để xuất thông tin tùy chỉnh, trong khi NetFlow V9 thì không Nó cũng có một sơ đồ để xuất danh sách dữ liệu được định dạng Có một số điểm khác biệt giữa NetFlow V9 và IPFIX, nhưng có một từ thực sự xác định chúng; IPFIX là "linh hoạt".

Luồng được tạo bởi nhà sản xuất sFlow Để sử dụng chức năng này, phải cài đặt libfixbuf-1.7.0 trở lên trước khi xây dựng và cài đặt SiLK.

Kho lưu trữ SiLK Flow

1.3.1 Dữ liệu luồng mạng Đối với NetFlow, bản tóm tắt này bao gồm tất cả lưu lượng khớp với bảy khóa liên quan: địa chỉ IP nguồn và đích, cổng nguồn và cổng đích, giao thức lớp truyền tải, loại dịch vụ và giao diện bộ định tuyến

SiLK sử dụng năm thuộc tính sau để tạo thành nhãn flow:

Các thuộc tính này (còn được gọi là năm bộ), cùng với thời gian bắt đầu của mỗi luồng mạng, phân biệt các luồng mạng với nhau Kho lưu trữ SiLK lưu trữ các luồng tích lũy từ một mạng.

1.3.2 Cấu trúc của một bản ghi luồng

Luồng mạng thường bao gồm nhiều gói mà tất cả đều khớp với các trường của nhãn chung của chúng Do đó, bản ghi luồng cung cấp nhãn và số liệu thống kê về các gói được bao bởi luồng mạng, bao gồm số gói được bao bởi luồng, tổng số byte, thời lượng và thời gian của các gói đó (trong số các trường khác) Tệp luồng là một loạt các bản ghi luồng Mọi trường đều được xác định bằng tên và số có thể được sử dụng thay thế cho nhau Ví dụ: trường địa chỉ IP nguồn của bản ghi luồng có thể được xác định bằng tên trường (sIP) hoặc số trường của nó (1) Viết hoa không quan trọng: sIP tương đương với sip hoặc

Bởi vì luồng mạng là một bản tóm tắt của lưu lượng, nó không chứa dữ liệu packet load, những dữ liệu này rất tốn kém để giữ lại trên một mạng lớn. Mỗi bản ghi luồng mạng được tạo bởi SiLK là rất nhỏ: nó có thể nhỏ nhất là 22 byte (kích thước chính xác được xác định bởi một số tham số cấu hình) Tuy nhiên, ngay cả ở kích thước nhỏ bé đó, một bộ cảm biến có thể thu thập nhiều gigabyte bản ghi luồng hàng ngày trên một mạng lớn.

Một số trường thực sự được lưu trữ trong bản ghi, chẳng hạn như thời gian và thời lượng bắt đầu Một số trường không thực sự được lưu trữ; đúng hơn, chúng được bắt nguồn hoàn toàn từ thông tin trong các trường được lưu trữ hoặc từ sự kết hợp của các trường được lưu trữ trong bản ghi và dữ liệu bên ngoài Ví dụ: thời gian kết thúc được tính bằng cách thêm thời gian bắt đầu và thời lượng Mã quốc gia nguồn được lấy từ địa chỉ IP nguồn và bảng ánh xạ địa chỉ IP thành mã quốc gia

Khi một gói tin mới được phân tích và chứa các giá trị thuộc tính 5 tuple giống nhau, thì dữ liệu đó sẽ được nối vào bản ghi luồng đã tồn tại Dữ liệu sẽ được thêm vào bản ghi luồng này miễn là các gói phù hợp với các giá trị thuộc tính 5 tuple được quan sát Có ba điều kiện mà bản ghi luồng có thể bị kết thúc:

1 Thời gian chờ tự nhiên: Bất cứ khi nào giao tiếp tự nhiên kết thúc dựa trên đặc điểm kỹ thuật của giao thức Điều này được theo dõi đối với các giao thức hướng kết nối và sẽ tìm kiếm những thứ như gói RST hoặc chuỗi FIN trong TCP.

2 Thời gian chờ không hoạt động: Khi không nhận được dữ liệu cho luồng nào trong vòng ba mươi giây kể từ gói cuối cùng, bản ghi luồng sẽ bị chấm dứt Bất kỳ gói mới nào có cùng giá trị thuộc tính 5 tuple sau khi hết 30 giây này sẽ dẫn đến việc tạo bản ghi luồng mới Giá trị này có thể định cấu hình.

3 Thời gian chờ hoạt động: Khi một luồng đã mở trong ba mươi phút, bản ghi luồng sẽ kết thúc và một bản ghi mới được tạo với cùng các giá trị thuộc tính 5 tuple Giá trị này có thể định cấu hình.

Bất cứ khi nào các gói được quan sát với các giá trị thuộc tính 5 tuple mới, một bản ghi luồng mới sẽ được tạo Có thể có một số lượng lớn các bản ghi luồng riêng lẻ được mở bất kỳ lúc nào.

Như ta có thể mong đợi dựa trên mô tả này, các luồng được tạo theo cách một chiều trong hầu hết các trường hợp (một số công cụ, chẳng hạn như YAF, có thể tạo luồng hai chiều) Ví dụ: với các luồng một chiều, giao tiếp TCP giữa 192.168.1.1 và 172.16.16.1 thường sẽ tạo ra ít nhất hai bản ghi luồng, một bản ghi cho lưu lượng từ 192.168.1.1 đến 172.16.16.1 và một bản khác cho lưu lượng từ 172.16.16.1 đến 192.168 1.1 (Bảng 4.1).

Hình 1.1: Hai bản ghi luồng đơn hướng cho một trình tự giao tiếp duy nhất

1.3.3 Các loại lưu lượng mạng

Trong SiLK, loại thuật ngữ chủ yếu đề cập đến hướng của lưu lượng truy cập, chứ không phải là một đặc tính dựa trên nội dung Trong cách triển khai chung, có sáu kiểu cơ bản và năm kiểu bổ sung Các loại cơ bản là

 in và inweb, là lưu lượng đến từ nhà cung cấp dịch vụ Internet (ISP) đến mạng thông qua bộ định tuyến biên giới Lưu lượng truy cập web được tách biệt với lưu lượng truy cập khác do khối lượng của nó, làm cho nhiều tìm kiếm nhanh hơn.

 outweb, là lưu lượng đến từ mạng đến ISP thông qua bộ định tuyến biên giới.

 int2int, là lưu lượng đi cả từ và đến mạng, nhưng đi qua cảm biến.

 ext2ext, là lưu lượng đi cả từ và đến ISP, nhưng đi qua cảm biến (Sự hiện diện của loại lưu lượng này thường chỉ ra sự cố cấu hình trong cảm biến hoặc tại ISP.)

Các loại SiLK bổ sung là

 inicmp và outicmp, đại diện cho lưu lượng ICMP vào hoặc ra khỏi mạng.

Các loại này chỉ hoạt động nếu SiLK được biên dịch với tùy chọn hỗ trợ chúng.

 innull và outnull, chỉ có thể được tìm thấy khi cảm biến là bộ định tuyến chứ không phải cảm biến chuyên dụng Chúng đại diện cho lưu lượng truy cập từ ISP ngược dòng hoặc mạng, tương ứng, kết thúc tại địa chỉ IP của bộ định tuyến hoặc bị bộ định tuyến bỏ do danh sách kiểm soát truy cập.

 other, được gán cho lưu lượng truy cập mà một trong các địa chỉ (nguồn hoặc đích) không nằm trong mạng nội bộ cũng như mạng bên ngoài.

 Kiểu all được xây dựng chọn tất cả các loại luồng liên kết với một lớp cảm biến

Bộ công cụ SiLK

Bộ phân tích SiLK bao gồm nhiều công cụ UNIX dòng lệnh (bao gồm cả công cụ thu thập luồng) xử lý nhanh các bản ghi luồng hoặc thao tác dữ liệu phụ trợ Các công cụ có thể giao tiếp với nhau và với các công cụ tạo kịch bản thông qua các đường ống (cả chưa đặt tên và đã đặt tên) hoặc qua các tệp trung gian

Phân tích luồng nói chung là giới hạn đầu vào / đầu ra (I / O bind) - lượng thời gian cần thiết để thực hiện phân tích tỷ lệ thuận với lượng dữ liệu được đọc từ đĩa Mục tiêu chính của bộ công cụ SiLK là giảm thiểu thời gian truy cập đó.Một số công cụ SiLK thực hiện các chức năng tương tự như các công cụ dòng lệnh UNIX phổ biến Tuy nhiên, các công cụ SiLK xử lý dữ liệu này ở dạng không phải văn bản (nhị phân) và sử dụng cấu trúc dữ liệu được tối ưu hóa đặc biệt để phân tích.

Do đó, hầu hết các phân tích SiLK bao gồm một chuỗi các thao tác sử dụng các công cụ SiLK Các hoạt động này thường bắt đầu với lệnh gọi rwfilter ban đầu để truy xuất dữ liệu quan tâm và lên đến đỉnh điểm là lệnh gọi cuối cùng tới công cụ xuất văn bản như rwstats hoặc rwuniq để tóm tắt dữ liệu cho bản trình bày.

Giữ dữ liệu ở dạng nhị phân càng nhiều bước càng tốt giúp cải thiện đáng kể hiệu quả xử lý Điều này là do các bản ghi nhị phân có cấu trúc được tạo bởi các công cụ SiLK dễ dàng được phân tách mà không cần phân tích cú pháp, các trường của chúng nhỏ gọn và các trường đã ở định dạng sẵn sàng cho các tính toán, chẳng hạn như các mạng máy tính. Ở một khía cạnh nào đó, có thể coi SiLK như một bộ công cụ nâng cao nhận thức Kho lưu trữ bản ghi luồng cung cấp khối lượng lớn dữ liệu và bộ công cụ cung cấp các khả năng cần thiết để xử lý những dữ liệu này Tuy nhiên,những hiểu biết thực tế đến từ các nhà phân tích.

Tổng kết chương 1

Trong phạm vi chương này, ta sẽ có thể mô tả một bản ghi luồng mạng và các điều kiện mà việc thu thập một bản ghi bắt đầu và kết thúc, mô tả các loại bản ghi dòng SiLK, mô tả cấu trúc của kho lưu trữ dòng SiLK

Như vậy qua đây có thể hiểu các bước liên quan đến phân tích dữ liệu luồng mạng mô tả tập dữ liệu cho các phần tiếp theo của đồ án này

KỸ THUẬT THU THẬP, ĐÓNG GÓI VÀ PHÂN TÍCH LƯU LƯỢNG MẠNG

Kỹ thuật thu thập và đóng gói

SiLK (Hệ thống kiến thức cấp độ Internet) là một bộ công cụ cho phép phân tích bảo mật có thể quản lý hiệu quả trên các mạng SiLK đóng vai trò như một bộ thu thập luồng và cũng là một cách dễ dàng để nhanh chóng lưu trữ, truy cập, phân tích cú pháp và hiển thị dữ liệu luồng SiLK là một dự án hiện được phát triển bởi nhóm CERT NetSA, nhưng giống như hầu hết các công cụ bảo mật tuyệt vời khác Cho dù tạo ra một công cụ, tập lệnh hoặc thiết bị tuyệt vời như thế nào đi chăng nữa thì cũng chẳng là gì nếu nó chỉ có thể được sử dụng bởi nhà phát triển Tài liệu cho SiLK nói đến các hướng dẫn tham khảo thực sự hữu ích cho một công cụ bảo mật thông tin Để nhấn mạnh tầm quan trọng của tài liệu này, các phần sau đây sẽ sử dụng hướng dẫn này vừa là tài liệu tham khảo, vừa là một phần của kịch bản cơ bản về cách sử dụng SiLK Không phải nói quá khi cho rằng tài liệu SiLK và cộng đồng hỗ trợ công cụ này dễ dàng là một số tính năng tốt nhất của dự án SiLK.

2.1.1 Bộ công cụ đóng gói SiLK

Bộ công cụ SiLK hoạt động thông qua hai thành phần: hệ thống đóng gói và bộ phân tích Hệ thống đóng gói là phương pháp mà SiLK thu thập và lưu trữ dữ liệu luồng ở một định dạng nguyên bản, nhất quán Thuật ngữ “đóng gói” đề cập đến khả năng của SiLK để nén dữ liệu luồng thành một định dạng nhị phân hiệu quả về không gian, lý tưởng để phân tích cú pháp thông qua bộ phân tích của SiLK Bộ phân tích là một tập hợp các công cụ nhằm lọc, hiển thị, sắp xếp, đếm, nhóm và hơn thế nữa Bộ công cụ phân tích là một tập hợp các công cụ dòng lệnh cung cấp mức độ linh hoạt vô hạn Mặc dù bản thân mỗi công cụ đều cực kỳ mạnh mẽ, nhưng mỗi công cụ cũng có thể được liên kết với nhau với các công cụ khác thông qua các đường ống dựa trên kết quả logic của công cụ trước đó Các công cụ phân tích bổ sung có thể lấy dữ liệu chụp gói (pcap), chẳng hạn như dữ liệu được tạo bởi tcpdump và tạo bản ghi SiLK Flow từ dữ liệu nàyViệc cài đặt các công cụ phân tích tương đối đơn giản vì chúng được cài đặt trên các hệ thống có quyền truy cập trực tiếp vào các tệp dữ liệu SiLK và yêu cầu cấu hình ít.

Việc cài đặt các công cụ đóng gói phức tạp hơn: các công cụ chạy dưới dạng quy trình nền (với mọi hệ điều hành có một cách duy nhất để bắt đầu các quy trình này) phải hợp tác với nhau và với phần mềm và / hoặc thiết bị mạng bổ sung Các công cụ đóng gói được thiết kế để cung cấp một lượng lớn tính linh hoạt trong việc cài đặt của chúng, và với sự linh hoạt này làm tăng thêm độ phức tạp Các công cụ tạo nên hệ thống thu thập và đóng gói SiLK là: rwflowpack là trái tim của hệ thống đóng gói Nó đọc dữ liệu luồng hoặc trực tiếp từ các thiết bị mạng tạo ra dữ liệu luồng (trình tạo luồng) hoặc từ một tệp được tạo bởi flowcap, chuyển đổi dữ liệu sang định dạng luồng SiLK, phân loại các bản ghi luồng và ghi bản ghi vào các tệp phẳng hàng giờ được tổ chức theo một cấu trúc thư mục dựa trên thời gian hoặc các tệp nhỏ để chuyển đến một máy từ xa để xử lý bởi rwflowappend Tất cả các cài đặt của hệ thống đóng gói sẽ chạy rwflowpack.

 flowcap cho phép thu thập dữ liệu từ xa Nó lắng nghe các trình tạo luồng và lưu trữ dữ liệu trong các tệp nhỏ (được gọi là tệp lưu trữ) trong một thư mục duy nhất Các tệp này sau đó được chuyển sang rwflowpack để phân loại và lưu trữ.

 rwflowappend cho phép lưu trữ dữ liệu từ xa Nó theo dõi một thư mục cho các tệp chứa một số lượng nhỏ các bản ghi SiLK Flow (được gọi là tệp tăng dần) và nối các bản ghi đó vào các tệp hàng giờ được tổ chức trong cây thư mục dựa trên thời gian.

 rwsender xem một thư mục đến cho các tệp, di chuyển các tệp đến một thư mục xử lý và chuyển các tệp đến một hoặc nhiều quy trình rwreceiver Thư mục đến của rwsender thường là thư mục đầu ra của flowcap hoặc rwflowpack.

 rwreceiver chấp nhận các tệp được chuyển từ một hoặc nhiều tiến trình rwsender và lưu trữ chúng trong một thư mục đích Chính thư mục đích này là nơi giám sát rwflowpack hoặc rwflowappend cho các tệp mới Lưu ý rằng một trong hai rwsender hoặc rwreceiver có thể hoạt động như một quá trình máy chủ với cái kia hoạt động như một máy khách.

 rwpollexec giám sát một thư mục cho các tệp đến và chạy lệnh do người dùng chỉ định trên mỗi tệp.

 rwpackchecker đọc bản ghi SiLK Flow và kiểm tra các mẫu bất thường có thể chỉ ra lỗi tệp dữ liệu.

 sensor.conf là tệp cấu hình cho các cảm biến và cảm biến được sử dụng bởi rwflowpack và flowcap

 packlogic-twoway là một trong những trình cắm thêm có sẵn mô tả một bộ quy tắc (logic đóng gói) mà rwflowpack có thể sử dụng khi phân loại các bản ghi luồng là đầu vào hoặc đầu ra.

 packlogic-generic là một trong những trình cắm thêm có sẵn mô tả một tập hợp các quy tắc (logic đóng gói) mà rwflowpack có thể sử dụng khi phân loại các bản ghi luồng là đầu vào hoặc đầu ra. Để sử dụng các tính năng thu thập và phân tích của SiLK, ta phải lấy dữ liệu từ bộ tạo luồng Khi bộ thu nhận các bản ghi luồng từ bộ tạo, các bản ghi được phân tách một cách hợp lý theo loại luồng Các loại luồng được phân tích cú pháp dựa trên tệp cấu hình xác định xem các bản ghi là bên ngoài-bên trong, bên trong ra bên ngoài hoặc bên trong với bên trong liên quan đến kiến trúc mạng.

Trong SiLK, quy trình thu thập lắng nghe là một công cụ được gọi là rwflowpack Rwflowpack chịu trách nhiệm phân tích cú pháp loại luồng, xác định dữ liệu đến từ cảm biến nào và đặt dữ liệu luồng đã tinh chỉnh vào cơ sở dữ liệu của nó để phân tích cú pháp bằng bất kỳ công cụ nào trong bộ công cụ phân tích

2.1.2 Mô hình máy đơn Đây là mô hình trọng tâm mà để tài nghiên cứu.

Trong cấu hình máy đơn (tất cả trong một), tất cả quá trình xử lý xảy ra trên một máy là mô hình phổ biến và hay được sử dụng nhất: Định cấu hình chương trình rwflowpack để thu thập các luồng, chuyển đổi chúng sang định dạng SiLK Flow, phân loại chúng và lưu trữ các bản ghi SiLK Flow vào cục bộ đĩa Các công cụ phân tích được cài đặt trên cùng một máy này và đọc các tệp từ đĩa cục bộ Hình 2.1 cho thấy cấu hình này sẽ trông như thế nào khi các luồng được thu thập từ bộ định tuyến NetFlow Đây là cài đặt hoàn chỉnh đơn giản nhất Để sử dụng nó, hãy làm theo hướng dẫn trong Chương 3 để định cấu hình và xây dựng mã nguồn, để tùy chỉnh các công cụ phân tích, cấu hình rwflowpack

Hình 2 1: Hoạt động của máy đơn thu thập với Sendor: NetFlow và lưu trữ với rwflowpack

Hình 2 2: Hoạt động của máy đơn với Sensor: YAF và lưu trữ với rwflowpack

Mọi hoạt động của Sensor được cấu hình trong sensor.conf - Tệp cấu hình cảm biến cho rwflowpack và flowcap

Là một phần của việc thu thập dữ liệu luồng, các daemon rwflowpack (8) và flowcap (8) cần biết loại dữ liệu mà chúng đang thu thập và cách thu thập dữ liệu đó (ví dụ: nghe trên 10000 / udp cho NetFlow v5 ; nghe trên 4740 / tcp cho IPFIX) Ngoài ra, daemon rwflowpack cần thông tin về cách phân loại luồng: ví dụ: để gắn nhãn các luồng được thu thập tại bộ định tuyến biên giới là đến hoặc đi

Tệp sensor.conf có thể có bất kỳ tên nào và nó có thể nằm ở bất kỳ vị trí nào. Tên và vị trí của tệp được chỉ định bởi sensor-configuration chuyển sang rwflowpack và flowcap

Tệp cấu hình cảm biến xác định các khái niệm sau:

Một cảm biến chỉ định một nguồn cho dữ liệu luồng Nguồn có thể là một cổng mà trên đó flowcap hoặc rwflowpack thu thập dữ liệu NetFlow hoặcIPFIX từ bộ tạo luồng như bộ định tuyến hoặc phần mềm yaf ( http://tools.netsa.cert.org/yaf/ ) Trong rwflowpack , nguồn có thể là một thư mục để thăm dò định kỳ các tệp chứa các PDU của NetFlow v5, bản ghi IPFIX hoặc bản ghi SiLK Flow Khi xác định một cảm biến, phải chỉ định một tên duy nhất cho cảm biến và loại cảm biến.

Nhóm là một danh sách được đặt tên có chứa một trong những thứ sau: khối CIDR, tên của tệp IPset hoặc số nguyên đại diện cho giao diện SNMP hoặc số nhận dạng VLAN Việc sử dụng các nhóm là tùy chọn; mục đích chính của nhóm là cho phép người quản trị chỉ định một danh sách thường được sử dụng (chẳng hạn như không gian IP của mạng đang được giám sát) ở một vị trí duy nhất.

Kỹ thuật phân tích

2.2.1 Bộ công cụ phân tích SiLK

Bộ công cụ phân tích là nơi sẽ dành phần lớn thời gian khi làm việc với dữ liệu luồng Có nhiều công cụ được bao gồm trong cài đặt SiLK, tất cả đều hữu ích, với một số công cụ được sử dụng thường xuyên hơn Các công cụ phân tích này hoạt động như một khối gắn kết, với khả năng chuyển dữ liệu từ công cụ này sang công cụ khác một cách liền mạch Công cụ được sử dụng phổ biến nhất trong bộ là rwfilter rwfilter lấy các tệp nhị phân SiLK và lọc qua chúng để chỉ cung cấp dữ liệu cụ thể mà nhà phân tích yêu cầu Chúng ta đã nói trước về kích thước của các bản ghi luồng cho phép lưu trữ chúng trong một thời gian đáng kể, vì vậy rõ ràng rằng phải có một cách thuận tiện để áp dụng bộ lọc cho dữ liệu này để chỉ xem dữ liệu có liên quan đã cho nhiệm vụ cụ thể Ví dụ: một người phân tích có thể chỉ muốn kiểm tra một tuần dữ liệu từ một năm trước, chỉ với các địa chỉ IP nguồn từ một mạng con cụ thể, với tất cả các địa chỉ đích tồn tại ở một quốc gia cụ thể Rwfilter làm cho việc đó trở nên nhanh chóng và dễ dàng Đầu ra của rwfilter, trừ khi được chỉ định, sẽ là một tệp nhị phân SiLK khác có thể tiếp tục được phân tích cú pháp hoặc thao tác thông qua các đường ống

Hình 2 3: Mô hình phân tích

Các công cụ, tệp cấu hình và mô-đun bổ trợ tạo nên các công cụ phân tích được liệt kê bên dưới, được nhóm lại theo chức năng.

Các lệnh, tham số và ví dụ được mô tả trong chương này đóng vai trò là các khối xây dựng để phân tích với bộ công cụ SiLK.

2.2.2 Nhận danh sách các cảm biến với rwsiteinfo

Bước đầu tiên trong phân tích mạng một đường cơ bản của tập dữ liệu là tìm ra cảm biến nào đã ghi lại dữ liệu cần phân tích và thu hẹp khoảng thời gian cho phân tích của chúng ta Vì định tuyến tương đối tĩnh, dữ liệu từ một địa chỉ

IP cụ thể thường đi vào hoặc đi qua cùng một cảm biến Cần xác định cảm biến bao phủ mạng bị ảnh hưởng và tìm ra thời điểm cảm biến này ghi lại dữ liệu luồng mạng.

Sử dụng lệnh rwsiteinfo để xem thông tin này cho các cảm biến trên mạng. rwsiteinfo in thông tin tệp cấu hình SiLK cho một trang web, các cảm biến của nó và lưu lượng truy cập mà chúng thu thập Tham số fields là bắt buộc và chỉ định thông tin nào được hiển thị Chạy rwsiteinfo hai lần để thực hiện những việc sau:

1 Liệt kê tên và mô tả của tất cả các cảm biến trên mạng Điều này giúp xác định vị trí của cảm biến bao phủ mạng bị ảnh hưởng.

2 Đối với cảm biến quan tâm, hãy liệt kê các loại lưu lượng SiLK mà nó mang theo, số lượng tệp dữ liệu được lưu trữ trong kho lưu trữ SiLK cho từng loại lưu lượng và thời gian bắt đầu và kết thúc để lưu trữ dữ liệu luồng mạng trong kho lưu trữ Điều này xác định hướng và loại lưu lượng mạng mà cảm biến đã ghi lại và khoảng thời gian khi nó đang tích cực lưu trữ dữ liệu.

- Xác định cảm biến nào bao phủ các địa chỉ IP bị ảnh hưởng Để bắt đầu, hãy chạy lệnh rwsiteinfo để tìm tên và vị trí của các cảm biến trong mạng.

Tham số fields yêu cầu thông tin sau:

 sensor hiển thị tên của từng cảm biến dưới dạng văn bản thuần túy.

 description-sensor hiển thị mô tả của từng cảm biến từ tệp cấu hình (thường là silk.conf trong thư mục gốc của kho lưu trữ) Có thể chỉ định thông tin về cấu hình cảm biến trong tệp này Điều này cung cấp cho thông tin (chẳng hạn như vị trí của cảm biến) có thể giúp tìm cảm biến nào đã ghi lại lưu lượng mạng cho khối địa chỉ bị ảnh hưởng (Nếu không bao gồm thông tin này trong tệp cấu hình, thì thông số này sẽ không được hiển thị).

- Tìm các loại lưu lượng và thời gian lưu trữ kho lưu trữ

Khi đã tìm thấy cảm biến quan tâm (S1), có thể tìm hiểu loại lưu lượng mà cảm biến mang theo và thời điểm nó ghi dữ liệu vào kho lưu trữ SiLK.

• sensor chỉ định cảm biến nào cần kiểm tra Trong ví dụ này, nó là tên của cảm biến được xác định thông qua lệnh rwsiteinfo đầu tiên (S1).

• - trường hiển thị thông tin sau ở định dạng bảng cho cảm biến S1:

Hình 2 4: Sử dụng rwsiteinfo để liệt kê cảm biến, hiển thị loại lưu lượng truy cập và hiển thị thông tin kho lưu trữ

2.2.3 Chọn bản ghi luồng với rwfilter

Bước quan trọng trong việc thực hiện phân tích mạng là tìm và truy xuất các bản ghi luồng mạng được liên kết với sự kiện từ kho lưu trữ SiLK Sử dụng lệnh rwfilter để kéo các bản ghi luồng mạng đã được ghi lại bởi cảm biến quan tâm (S1) trong khoảng thời gian quan tâm Các bản ghi này sẽ được sử dụng trong các bước tiếp theo trong phân tích của chúng ta.

Trong bước phân tích này, rwfilter sẽ được sử dụng để lưu các bản ghi luồng mạng quan tâm vào một tệp Sau đó, chúng ta sẽ sử dụng rwfilter kết hợp với các lệnh SiLK khác để phân vùng và khám phá dữ liệu này.

- Giới thiệu về lệnh rwfilter rwfilter là lệnh SiLK được sử dụng phổ biến nhất và đóng vai trò là nền tảng để xây dựng phân tích mạng Nó chọn các bản ghi từ kho lưu trữ SiLK, sau đó chuyển hướng đầu ra tới các tệp hoặc các lệnh SiLK khác Ngoài ra, rwfilter có thể chọn các bản ghi từ một đường ống hoặc tệp trong thư mục đang làm việc

(ví dụ: đầu ra của một lệnh rwfilter trước đó) Nó có thể tùy chọn tính toán các thống kê cơ bản về các bản ghi luồng mà nó đọc từ kho lưu trữ hoặc một tệp. rwfilter có thể được sử dụng riêng hoặc kết hợp với các công cụ phân tích SiLK khác, bao gồm các lệnh gọi bổ sung của rwfilter.

Sau đây là chế độ xem cấp cao của lệnh rwfilter và các tùy chọn của nó:

Chỉ định đầu vào cho rwfilter bằng cách sử dụng các tham số lựa chọn hoặc đầu vào.

 Các thông số lựa chọn đọc (hoặc kéo) các bản ghi lưu lượng mạng quan tâm đã được các cảm biến ghi lại và lưu trữ trong kho lưu lượng SiLK. Chúng chỉ định các thuộc tính của bản ghi sẽ được đọc từ kho lưu trữ, chẳng hạn như cảm biến đã ghi dữ liệu, loại dữ liệu mạng, ngày bắt đầu và ngày kết thúc để truy xuất dữ liệu và vị trí của kho lưu trữ.

 Tham số đầu vào đọc các bản ghi luồng mạng từ các đường ống và / hoặc các tệp được đặt tên trong các thư mục làm việc có chứa các bản ghi đã được trích xuất trước đó từ kho lưu trữ hoặc được tạo bằng các phương tiện khác Chúng có thể là tên tệp (ví dụ: infile.rw) hoặc tên ống dẫn (ví dụ: stdin hoặc /tmp/my.fifo) để chỉ định vị trí mà từ đó đọc bản ghi Có thể đưa ra nhiều tên như mong muốn, với cả tệp và đường dẫn được sử dụng trong cùng một lệnh.

Cách tiếp cận trong việc phân tích các bản ghi luồng mạng

Bộ công cụ SiLK cung cấp một bộ sưu tập các công cụ mạnh mẽ để hỗ trợ các nhiệm vụ phân tích lưu lượng mạng Nó được thiết kế để rất linh hoạt trong việc hỗ trợ các phương pháp phân tích Theo thời gian, các nhà phân tích khác nhau đã sử dụng nhiều cách tiếp cận khác nhau trong việc sử dụng SiLK của họ Phần này thảo luận về ba cách tiếp cận hữu ích trong việc phân tích các bản ghi luồng mạng.

Các chương sau chương này mở rộng chi tiết hơn về các cách tiếp cận này, tập trung vào sự hỗ trợ mà phân tích luồng mạng có thể cung cấp cho các phân tích như vậy Nhận thức và thực hành nhiều cách tiếp cận để phân tích cho phép nhà phân tích có được cái nhìn sâu sắc về nhiều hành vi lưu lượng truy cập mạng

2.3.1 Phân tích một đường dẫn

Cách tiếp cận đường đơn là cách tiếp cận cơ bản nhất và được sử dụng phổ biến nhất để phân tích hành vi mạng Nó sử dụng một chuỗi lệnh duy nhất để tạo ra kết quả phân tích Trong cách tiếp cận này, xây dựng truy vấn để truy xuất lưu lượng truy cập quan tâm, tạo bảng, tóm tắt hoặc chuỗi để lập hồ sơ lưu lượng truy cập này và sau đó diễn giải ra tệp có thể đọc được hoặc thông qua biểu đồ Việc lặp lại có thể được sử dụng nếu cần.

Cách tiếp cận này có thể được sử dụng để xác định dịch vụ, kiểm kê thiết bị mạng, ứng phó sự cố hoặc nghiên cứu sử dụng.

2.3.2 Phân tích đa đường dẫn

Cách tiếp cận đa đường sử dụng một chuỗi các công cụ thường liên quan đến một số lựa chọn thay thế và thường bao gồm việc lặp lại một số bước Mặc dù cách tiếp cận đa đường có thể được thực hiện theo cách thủ công, nhưng nó thường liên quan đến việc viết kịch bản để chọn các lựa chọn thay thế dựa trên các danh mục dữ liệu và sau đó lặp lại cho đến khi tách biệt được lưu lượng mong muốn hoặc các bản tóm tắt mong muốn được tạo ra Các lựa chọn thay thế được sử dụng theo yêu cầu để xử lý các nhóm hồ sơ theo những cách khác nhau để đạt được kết quả mà hồ sơ hành vi quan tâm.

Cách tiếp cận này có thể được sử dụng để kiểm tra lưu lượng truy cập bằng cách sử dụng một số giao thức, mỗi giao thức tuân theo tập hợp các đặc điểm thay thế riêng của nó, để đạt được cùng một mục tiêu.

Không phải lúc nào chúng ta cũng biết trước phạm vi phân tích của chúng ta hoặc thậm chí những câu hỏi mà chúng ta nên đặt ra! Phân tích khám phá là một cách tiếp cận mở để xây dựng, xác định phạm vi và tiến hành phân tích mạng Nó sử dụng các phân tích đường đơn và đa đường làm khối xây dựng để điều tra lưu lượng mạng bất thường Các loại phân tích đơn giản hơn này giúp hình thành các tình huống khác nhau, điều tra các giả thuyết thay thế và khám phá nhiều khía cạnh của dữ liệu Phân tích khám phá về bản chất ban đầu là thủ công, nhưng có thể chuyển sang phân tích theo kịch bản để dễ lặp lại và đảm bảo tính thường xuyên của kết quả.

Cách tiếp cận này được sử dụng cho các hiện tượng phức tạp hoặc mới nổi, trong đó nhiều chỉ số cần được kết hợp để có được sự hiểu biết Một ví dụ về cách tiếp cận phân tích này là một nghiên cứu về quá trình lọc dữ liệu, có thể được thực hiện theo nhiều cách khác nhau Mỗi phương pháp lọc trong số đó có thể được lập hồ sơ bằng cách sử dụng một tập hợp các chỉ số và kết quả của tất cả các phân tích như vậy được kết hợp để tạo ra sự hiểu biết tổng hợp về lưu lượng được chuyển đến các nhóm địa chỉ đáng ngờ khác nhau.

Quy trình làm việc cho Phân tích SiLK

Các phân tích SiLK chia sẻ một quy trình làm việc chung, được thể hiện trong Hình 1.5 Mặc dù phân tích đơn đường, đa đường và phân tích khám phá có thể kết hợp các bước khác nhau trong quy trình làm việc này, nhưng tất cả đều tuân theo trình tự chung của nó.

Bước công thức hóa(Formulate) điều tra bối cảnh của sự kiện Về cơ bản, nó liên quan đến việc thu thập thông tin để xác định các thuộc tính duy nhất của mạng, hoạt động của nó và sự kiện Mạng lớn bao nhiêu? Nó được cấu tạo như thế nào? Các cảm biến mạng được đặt ở đâu? Sự kiện xảy ra khi nào? Nó có được liên kết với các cảm biến cụ thể, địa chỉ IP, máy chủ, không gian mạng, cổng, giao thức, v.v không? Có bất kỳ phân tích trước đó về mạng cung cấp thông tin chi tiết không? Thông tin có thể không đầy đủ vào thời điểm này, nhưng nó đóng vai trò là điểm khởi đầu để khởi động phân tích và thiết lập phạm vi của nó Chúng ta có thể sử dụng nó để hình thành giả thuyết cho hành vi của mạng Giả thuyết này là cơ sở cho phân tích của chúng ta Trong các phân tích khám phá phức tạp hơn, chúng ta có thể hình thành nhiều kịch bản và giả thuyết để điều tra và phân tích.

Thông tin thu thập được từ việc khám phá bối cảnh của sự kiện giúp chúng ta thiết lập những hành vi mạng nào nên được đưa vào (hoặc loại trừ) trong phân tích của chúng ta Chúng ta có thể sử dụng thông tin này để xây dựng một truy vấn để chọn và phân vùng các bản ghi luồng mạng từ kho lưu trữ SiLK hoặc một tệp được lưu trữ Các truy vấn thường kết hợp thông tin như nơi thu thập luồng, ngày thu thập dữ liệu và hướng luồng Trong cộng đồng SiLK, lựa chọn truy vấn thường được gọi là kéo dữ liệu.

Hình 2 19: Quy trình phân tích SiLK

Phân vùng áp dụng các Test đối với các bản ghi luồng đã chọn để tách (hoặc phân chia) chúng thành các loại để kiểm tra và điều tra thêm Một tập hợp các bài kiểm tra mặc định được cung cấp với SiLK Nó bao gồm địa chỉ IP, cổng, giao thức, thời gian và khối lượng (Nếu cần các Tests bổ sung để phân tích, các công cụ SiLK có thể được mở rộng thông qua các plugin để cung cấp chúng.)

Sự kết hợp giữa selection và partitioning (thường được gọi là lọc) được thực hiện bằng lệnh rwfilter Các record đáp ứng các tiêu chí lọc sẽ được gửi đến pass destinations Record không được đáp ứng gửi đến các fail destination Cả hai có thể được kết hợp vào tất cả các điểm đến Điều này cung cấp các tùy chọn linh hoạt để lưu trữ kết quả truy vấn trong tệp hoặc sử dụng đường dẫn để gửi chúng đến các lệnh khác để xử lý.

Bước Model tóm tắt dữ liệu và điều tra các hành vi quan tâm Hoạt động của mạng trong quá trình hoạt động bình thường là gì? Điều gì đã xảy ra trong một sự kiện? Chúng ta có thể xác định những mẫu và hành vi nào? Chúng có giống với những gì được quan sát trong các sự kiện khác không? Bằng cách kiểm tra thông tin thu thập được trong bước Hình thành, có thể đưa ra một mô hình sự kiện có thể giải thích những gì đang diễn ra.

SiLK cung cấp nhiều công cụ để kiểm tra dữ liệu luồng mạng liên quan đến một sự kiện Mỗi công cụ cung cấp các quan điểm khác nhau về dữ liệu có thể được xem xét độc lập hoặc kết hợp để phân tích Ví dụ: SiLK bao gồm các công cụ để tạo tóm tắt chuỗi thời gian về lưu lượng (lệnh rwcount), thống kê tóm tắt tính toán (lệnh rwstats) và tổng hợp các giá trị của thuộc tính luồng cho các khoảng thời gian do người dùng xác định (lệnh rwuniq).

Bước này có thể được thực hiện thủ công.

Bước Kiểm tra chạy Model đã tạo — theo cách thủ công hoặc bằng cách thực thi các tập lệnh shell hoặc Python Điều này giúp ta có cơ hội kiểm tra tiến trình của phân tích SiLK bao gồm các lệnh để sắp xếp các bản ghi luồng theo các khóa do người dùng xác định (lệnh rwsort), tạo tập hợp các địa chỉ IP duy nhất từ các bản ghi luồng (rwset và các lệnh liên quan của nó) và tạo các nhóm bản ghi theo các tiêu chí khác (rwbag và các lệnh liên quan của nó ) Các lệnh này giúp sắp xếp đầu ra từ các lệnh SiLK khác nhau và lưu nó để sử dụng thêm.

Bước Phân tích xem xét kết quả của các bước trước đó Những kết quả này cho chúng ta biết điều gì về sự kiện? Những hành vi nào đã được xác định? Chúng được liên kết với những loại sự kiện nào? Chúng ta có thể xác định mối quan hệ nào giữa các luồng? Những giả thuyết ban đầu của chúng ta vẫn còn tồn tại? Chúng ta có thể tìm và loại bỏ các kết quả dương tính giả và âm tính giả không?

Bước này liên quan đến việc kiểm tra và giải thích kết quả đầu ra từ các công cụ phân tích đã đề cập trước đó SiLK cũng có thể dịch các bản ghi luồng nhị phân thành văn bản để phân tích với các gói đồ họa, bảng tính và công cụ toán học (lệnh rwcut).

Bước Tinh chỉnh cải thiện phân tích Chúng ta đã giải thích thành công sự kiện? Nếu không, chúng ta đã gặp phải những vấn đề gì? Chúng ta đã hiểu đúng bối cảnh của sự kiện chưa? Truy vấn của chúng ta vào kho lưu trữ SiLK có kéo quá nhiều dữ liệu không? Chúng ta có cần tìm hiểu sâu hơn về dữ liệu trong các bước mô hình hóa và thử nghiệm không? Chúng ta có nên xem xét lại kết quả để xem liệu chúng ta có bỏ sót hoặc hiểu sai các khuôn mẫu và hành vi quan trọng hay không?

Các bước trước đó trong quy trình làm việc có thể được kết hợp theo mô hình lặp lại Ví dụ: có thể muốn tách các bản ghi luồng quan tâm khỏi lưu lượng mạng không liên quan bằng cách thực hiện các truy vấn bổ sung với lệnh rwfilter và lặp lại các bước tiếp theo trong phân tích Điều này thu hẹp dữ liệu để tập trung vào các khoảng thời gian và hành vi quan tâm và loại bỏ các bản ghi luồng không cần thiết.

Quy trình làm việc được mô tả trong phần này cung cấp cho chúng ta khả năng linh hoạt để bắt đầu khám phá dữ liệu của chúng ta với một câu hỏi chung, áp dụng một hoặc nhiều phân tích cho câu hỏi và hoàn thành quy trình công việc với một phân tích có thể lặp lại Tuy nhiên, tính linh hoạt này đi kèm với sự đánh đổi Các truy vấn thường tăng tương ứng với các thuộc tính cửa sổ thời gian và bản ghi luồng của một phân tích Do đó, một mô hình phân tích chính xác nên được tạo ra để giảm thiểu kết quả truy vấn.

Kết luận chương 2

Chương này giới thiệu các công cụ và kỹ thuật được sử dụng để lưu trữ những thông tin đó, đặc biệt ở dạng được gọi là luồng mạng, hiểu rõ về quy trình phân tích luồng mạng Nó sẽ giúp ta làm quen với cấu trúc của dữ liệu luồng mạng, cách hệ thống thu thập SiLK thu thập những dữ liệu đó từ các cảm biến và cách sử dụng những dữ liệu đó.

Người phân tích mạng cần xây dựng quan điểm liên tục về lưu lượng truy cập qua mạng của họ Quan điểm này thường được xây dựng dựa trên thông tin về lưu lượng (chẳng hạn như khối lượng, thời gian và đường liên lạc), hơn là về chính lưu lượng đó.

CÀI ĐẶT VÀ CẤU HÌNH SILK

Các điều kiện cần có để xây dựng SiLK

Để xây dựng SiLK, sẽ cần phải có:

• một trình biên dịch C, chẳng hạn như gcc

• chương trình make Để có được đầy đủ chức năng của SiLK, các thư viện bổ sung này và tệp tiêu đề của chúng được yêu cầu:

• libfixbuf-1.7.0 trở lên để hỗ trợ thu thập dữ liệu IPFIX, dữ liệu NetFlow v9 và sFlow

• thư viện nén chung zlib để hỗ trợ nén tệp và đọc tệp nén

• libpcap để hỗ trợ chuyển đổi dữ liệu chụp gói sang SiLK Flows

• libipa 0.5.0 trở lên để hỗ trợ nhập và xuất danh sách IP giữa SiLK và cơ sở dữ liệu IPA (Hiệp hội IP)

• Python 2.4 trở lên (bao gồm Python 3.x) cho PySiLK, một mô-đun hỗ trợ sử dụng Python từ bên trong một số công cụ SiLK và cho phép thao tác SiLK Flows từ bên trong Python (Python 2.6 trở lên nên khuyến khích)

Khi xây dựng trên hệ thống Linux, các gói sau được khuyến nghị:

Hình 3 1: Các gói được yêu cầu khi xây dựng SiLK trên hệ thông Linux

Sử dụng lệnh sau để cài đặt: sudo yum -y install x

Trong câu lệnh x là: gói cần cài đặt ở trên

Xây dựng SiLK, YAF, libfixbuf từ Source Code

Tải xuống mã nguồn SiLK và YAF, libfixbuf từ trang web tools.netsa.cert.orgChúng ta có thể vào trang web kiểm tra các phiên bản mới nhất để thực hiện tải xuống phiên bản mới nhất của SiLK và YAF, libfixbuf

Tạo thư mục để chứa Source Code:

Sử dụng wget để tải source code từ trang web về thư mục sources sudo wget https://tools.netsa.cert.org/releases/silk-3.19.1.tar.gz sudo wget https://tools.netsa.cert.org/releases/libfixbuf-2.4.1.tar.gz sudo wget https://tools.netsa.cert.org/releases/yaf-2.12.2.tar.gz

Khi SiLK được biên dịch với sự hỗ trợ của libfixbuf, trình đóng gói SiLK có thể đọc bản ghi flow NetFlow v9, bản ghi sFlow (tính đến SiLK-3.9.0) và IPFIX (Internet Protocol Flow Information eXport) như công nghệ cảm biến flow YAF libfixbuf là một thư viện riêng biệt; nó không phải một phần của SiLK. Phải cài đặt trước khi cài đặt SiLK Đối với IPFIX, NetFlow v9 và hỗ trợ sFlow, SiLK yêu cầu libfixbuf-1.7.0 trở lên (bắt đầu với bản phát hành SiLK-3.11.0). Nếu cấu hình tìm thấy libfixbuf, các công cụ dòng lệnh rwipfix2silk và rwsilk2ipfix cũng sẽ được xây dựng Các công cụ này hỗ trợ chuyển đổi giữa định dạng bản ghi SiLK Flow và IPFIX

 Chú ý nếu chạy make báo lỗi thì có thể bị thiếu một số gói được khuyên cài ở trên, cần phải cài những gói bị thiếu.

3.2.1 Giải nén và cài đặt libfixbuf

Chờ checking, sau đó chạy $make

Sau đó $sudo make install

3.2.2 Giải nén và cài đặt SiLK Đường dẫn đầy đủ đến source (tức là thư mục silk-3.19.1 đã được giả nén, chứa tệp cấu hình) sẽ được gọi là $SUITEROOT; nó có thể được đặt trong shell (tương thích với Bourne) bằng cách nhập lệnh: export SUITEROOT=”đường dẫn tới thư mục silk-3.19.1 đã giải nén” như ở dưới đây thì thư mục mục silk-3.19.1 đã giải nén ở /tmp/silk-3.19.1

Và truy cập bằng cách

Với $SILK_PATH và các đường dẫn khác cũng tương tự chỉ cần đường dẫn đúng

 Chọn vị trí và tạo thư mục cài đặt

Quyết định nơi cài đặt các công cụ và vị trí các tệp dữ liệu SiLK Flow sẽ lưu, đồng thời chỉ định thông tin này cho tập lệnh cấu hình Một số vị trí này được biên dịch thành mã và những vị trí khác được sử dụng để khởi tạo tập lệnh khởi động và tệp cấu hình cho rwflowpack và các daemon của công cụ đóng gói khác

SILK_DATA_ROOTDIR Root của cây thư mục nơi lưu trữ vĩnh viễn các tệp SiLK Flow Sử dụng enable-data-rootdir = dir để cung cấp giá trị cần /configure Nếu không chỉ định vị trí, /data là tên của thư mục Khi chạy công cụ, giá trị của biến môi trường SILK DATA ROOTDIR sẽ ghi đè giá trị đã biên dịch này Ngoài ra, rwfilter cho phép ghi đè giá trị này bằng data-rootdir khi chạy /configure Vì lý do lịch sử, giá trị mặc định cho vị trí này là /data

(nếu chưa có thư mục /data thì cần phải tạo)

SILK_PATH Gốc của thư mục nơi SiLK sẽ được cài đặt Chuyển giá trị này để cấu hình trong prefix Nếu không được chỉ định, mặc định là /usr/local.Danh sách sau đây hiển thị các thư mục con của $SILK_PATH nơi các tệp thường được cài đặt, nhưng có thể thay đổi các thư mục này bằng cách chỉ định các switch để /configure. bin công cụ phân tích, chẳng hạn như rwfilter sbin công cụ quản trị hệ thống, ví dụ rwflowpack share/man trang hướng dẫn sử dụng lib/silk hỗ trợ plug-in tùy chọn, chẳng hạn như hỗ trợ PySiLK share/silk các tệp hỗ trợ, chẳng hạn như tệp ánh xạ mã quốc gia share/silk/etc tệp cấu hình mẫu và tập lệnh để hỗ trợ quản trị viên hệ thống chạy các daemon hệ thống đóng gói etc các tệp cấu hình được sử dụng bởi các daemon của hệ thống đóng gói (xem SCRIPT_CONFIG_LOCATION bên dưới) var thư mục gốc được sử dụng bởi các công cụ đóng gói

(xem DAEMON_STATE_DIRECTORY bên dưới) var/log tệp nhật ký được tạo bởi daemon hệ thống đóng gói var/lib tệp dữ liệu không đầy đủ được tạo bởi các công cụ đóng gói và tệp đang chờ xử lý lib thư viện cần thiết để chạy các công cụ và được sử dụng để xây dựng các trình cắm thêm cho người dùng cuối include/silk các tệp tiêu đề được sử dụng để tạo các trình cắm thêm cho người dùng cuối

SCRIPT_CONFIG_LOCATION Thư mục chứa các tệp cấu hình được sử dụng bởi các daemon tạo nên hệ thống đóng gói SiLK Giá trị mà SiLK sử dụng được xác định bởi công tắc sysconfdir để định cấu hình và nó được đặt mặc định thành $SILK PATH/etc nếu công tắc sysconfdir không được cung cấp trong /configure Giá trị này sẽ được ghi vào sh-scripts điều khiển daemon mẫu được cài đặt trong $SILK PATH/share/silk/etc/init.d/daemon Nếu cần thay đổi giá trị này sau khi chạy /configure, có thể chỉ cần thay đổi giá trị trong sh- scripts

DAEMON_STATE_DIRECTORY Thư mục được sử dụng bởi daemon hệ thống đóng gói để lưu trữ các tệp nhật ký, tệp dữ liệu chưa hoàn chỉnh Đây thường là thư mục /var, với các thư mục con cho các loại tệp và ứng dụng khác nhau sở hữu chúng Có thể đặt giá trị này bằng cách chạy /configure với localstatedir = dir; giá trị mặc định cho thư mục này là $SILK PATH/var.

Giá trị này được sử dụng trong các tệp cấu hình cho các công cụ đóng gói được cài đặt trong $SILK_PATH/share/silk/etc / daemon.conf Sẽ cần chỉnh sửa các tệp này khi thiết lập hệ thống đóng gói và không phải sử dụng các giá trị ban đầu này

CONFIG_FILE_DIR Một thư mục bổ sung cho các tệp cấu hình; những tệp này cũng có thể được sử dụng bởi daemon Nên sử dụng

$SILK_PATH/etc/silk/ cho thư mục này, mặc dù có thể sử dụng

$SILK_PATH/share/silk/ hoặc SCRIPT_CONFIG_LOCATION cho cài đặt này Không có phần nào của SiLK yêu cầu điều này phải ở một vị trí cụ thể.

LOGGING_DIR Thư mục chứa mã định danh quy trình (PID) và tệp nhật ký của rwflowpack được ghi

Sau khi chạy /configure thì dưới đây là thông số SiLK và một số support cho SiLK

Hình 3 2: Thông số sau khi chạy /configure của SiLK

Sau đó chạy $make và $sudo make install để hoàn thành cài đặt SiLK

3.2.3 Giải nén và cài đặt YAF

Sau đó chạy $make và $sudo make install để hoàn thành cài đặt YAF

Cấu hình SiLK, YAF và libfixbuf

 Tạo tệp cấu hình silk.conf

Ngoài thông tin có trong bản ghi luồng NetFlow hoặc IPFIX (ví dụ: địa chỉ nguồn và đích và cổng, giao thức IP, tem thời gian, khối lượng dữ liệu), mọi bản ghi luồng SiLK có hai phần thông tin bổ sung:

• Cảm biến thường biểu thị vị trí nơi dữ liệu luồng được thu thập

• Loại luồng biểu thị thông tin về cách luồng được định tuyến (ví dụ: là đến hay đi) hoặc thông tin khác về luồng (ví dụ: web hoặc không phải web) Quá trình đóng gói phân loại các flows thành các flowtypes Các thuộc tính lớp và kiểu trên bản ghi luồng SiLK ánh xạ tới một flowtype.

Mục đích của tệp cấu hình SiLK, silk.conf, là xác định các cảm biến, lớp và kiểu để sử dụng khi đóng gói và truy cập dữ liệu luồng SiLK Lần đầu tiên cài đặt SiLK và bất kỳ khi nào thêm cảm biến mới (bộ tạo IPFIX hoặc NetFlow) vào triển khai, sẽ cần cập nhật silk.conf

Khi cài đặt SiLK, các tệp cấu hình trang mẫu được cài đặt trong

$SILK_PATH / share/silk/SITE -silk.conf, và ta nên dùng twoway-silk.conf Sao chép twoway-silk.conf vào /data, đổi tên tệp thành silk.conf khi sao chép mở silk.conf trong trình soạn thảo văn bản, sẽ thấy thông tin sau ở gần đầu tệp:

Hình 3 3: Một số Sensor được cấu hình sẵn trong silk.conf

Mỗi dòng của file cấu hình sensor NUM NAME xác định một cảm biến, ở đâu

NUM là số nguyên tăng dần đại diện cho số nguyên ID của cảm biến. Đánh số mục nhập đầu tiên 0, mục nhập thứ hai, v.v.

NAME là tên của cảm biến Ví dụ, tên của cảm biến trên dòng 2 là S1.

Mỗi NAME có thể dài tối đa 64 ký tự và không được chứa dấu gạch dưới, dấu gạch chéo hoặc khoảng trắng.

Như đã phân phối, twoway-silk.conf được định cấu hình với 15 cảm biến có tên S0, S1, đến S14 (Nếu có 15 cảm biến trở xuống và những tên này phù hợp, ta có thể chỉnh sửa mô tả cảm biến nếu muốn) Cài đặt mặc định khiến rwfilter của chương trình phân tích SiLK chỉ xem xét dữ liệu đến trừ khi người dùng cung cấp công tắc type hoặc flowtypes Nếu muốn rwfilter xem xét cả dữ liệu đến và dữ liệu đi theo mặc định, hãy sửa đổi dòng kiểu mặc định để đưa vào inweb outweb Nếu muốn, hãy thêm int2int ext2ext Có thể thêm, bớt hoặc đổi tên các cảm biến Thông thường, tên cảm biến phản ánh vị trí của bộ định tuyến hoặc ISP mà bộ định tuyến kết nối Có một số điều quan trọng cần lưu ý khi sửa đổi danh sách cảm biến:

1 Sau khi một cảm biến đã được gán số ID và dữ liệu đã được thu thập cho cảm biến đó, các bản sửa đổi trong tương lai không bao giờ được xóa hoặc đánh số lại cảm biến Các tệp SiLK Flow lưu trữ ID số nguyên của cảm biến và sử dụng ID đó để tra cứu tên của cảm biến; việc loại bỏ hoặc đánh số lại một cảm biến sẽ phá vỡ ánh xạ này Để giữ cho ánh xạ nhất quán giữa dữ liệu mới và cũ, các định nghĩa cảm biến cũ nên được duy trì vô thời hạn.

2 Nếu một cảm biến hiện có đã từng được đổi tên, thì cần phải đổi tên tất cả các tệp dữ liệu đã đóng gói trước đó có tên cảm biến cũ như một phần của tên tệp của chúng.

Khi đã chỉnh sửa định nghĩa cảm biến, phải cập nhật lệnh cảm biến trong cùng một tệp (dòng 10) để chứa danh sách tên cảm biến.

 Tạo tệp cấu hình sensor.conf

Cấu hình Sensor, ba loại đối tượng được xác định:

1 Khối thăm dò(probe block) xác định thông tin thu thập Cảm biến có thể đang lắng nghe trên mạng các bản ghi IPFIX hoặc NetFlow được tạo bởi bộ định tuyến hoặc bởi phần mềm xử lý dữ liệu chụp gói (pcap) Trong rwflowpack, cảm biến cũng có thể chỉ định các thư mục mà rwflowpack sẽ thăm dò định kỳ các tệp chứa bản ghi NetFlow v5, bản ghi IPFIX hoặc bản ghi SiLK Flow.

2 Khối cảm biến(sensor block) chỉ định thông tin được sử dụng để phân loại các bản ghi lưu lượng Mỗi khối cảm biến liệt kê tên và loại cảm biến được sử dụng làm nguồn cho cảm biến Các bản ghi lưu lượng SiLK được đóng gói sẽ được gắn nhãn bằng số nhận dạng của cảm biến.

3 Khối nhóm(group block) cho phép người ta gán tên cho danh sách các khối CIDR(dải mạng) hoặc các số nguyên không âm(ID dải mạng được cấu hình trên router) để coi như các giá trị giao diện SNMP Một nhóm có thể tham chiếu các nhóm đã tạo trước đó Việc sử dụng các nhóm là tùy chọn.

Tiếp theo, tạo tệp sensor.conf được sử dụng bởi rwflowpack để thu thập dữ liệu từ yaf Sử dụng trình soạn thảo văn bản để tạo tệp chứa các dòng sau

QUAN TRỌNG: Đảm bảo rằng các ipblock trong phần mạng khớp với các khối mạng "nội bộ" theo giao diện ethernet (ví dụ: ens37, enp0s3, eth0).

Sử dụng trình soạn thảo văn bản để tạo tệp sensor.conf chứa các dòng sau.

1 Probe block: probe là tên cảm biến ở trong sillk.conf, ở đây thì dùng probe S0

 Listen-on-port có nghĩa là lắng nghe trên port nào

 Listen-as-host có nghĩa là lắng nghe trên host nào, ở đây là localhost

2 Group Block: my-network là tên của group block, liệt kê nhưng mạng nội bộ của mình Để tham chiếu một nhóm hiện có, hãy nhập ký tự (@) theo sau là tên của nhóm

3 Sensor Block: chỉ định cảm biến(probe) nào được liên kết với cảm biến đó

 Internal-ipblocks xác định khối mạng nội bộ

 External-ipblocks xác định khối mạng bên ngoài, remainder có nghĩa khối mạng không thuộc internal sẽ được coi là bên ngoài Sau đó copy file cấu hình sensor.conf vào CONFIG_FILE_DIR

3.2.3 Tùy chỉnh tệp cấu hình rwflowpack.conf

SiLK đi kèm với các tệp khởi động "init script" truyền thống, với hai tệp cho mỗi daemon: Một tệp được hệ thống gọi để khởi động da emon và tệp kia chứa cài đặt cấu hình được sử dụng bởi trình nền đầu tiên Sao chép tập lệnh khởi động của rwflowpack vào /etc/init.d/rwflowpack và sao chép tập lệnh cài đặt cấu hình vào /usr/local/etc/rwflowpack.conf:

Mở tệp /usr/local/etc/rwflowpack.conf trong trình chỉnh sửa và thay đổi các biến này thành các giá trị được hiển thị ở đây:

Hình 3 4: Cấu hình các trường trong tệp rwflowpack.conf

Hình 3 5: Trạng thái sau khi start rwflowpack

Sau khi start rwflowpack, xác minh rwflowpack đang nghe trên cổng 18001:

Xem tệp nhật ký rwflowpack, /var/log/rwflowpack-YYYYYMMDD.log để đảm bảo rằng nó đang chạy.

3.2.4 Tùy chỉnh tệp cấu hình rwflowpack.conf

Giống như SiLK, YAF có hai tệp khởi động "init script" Ta phải sao chép tập lệnh khởi động yaf từ thư mục nguồn vào /etc/init.d/yaf và bật quyền thực thi của nó:

QUAN TRỌNG: Đảm bảo giao diện (ens37, ens38, eth0 v.v) khớp với giao diện muốn chụp, ở đây là ens37. cài đặt biến LTDL_LIBRARY_PATH

$export LTDL_LIBRARY_PATH=/usr/local/lib/yaf:

Kết luận chương 3

SiLK có một tập hợp các công cụ phân tích lưu lượng Bộ công cụ SiLK hỗ trợ thu thập, lưu trữ và phân tích dữ liệu luồng mạng một cách hiệu quả, cho phép các nhà phân tích an ninh mạng truy vấn nhanh các tập dữ liệu lưu lượng lớn trong lịch sử.

Trong chương này đã hướng dẫn cách cài đặt, cấu hình SiLK và một số tools liên quan để thực hiện cho quá trình thu thập và phân tích lưu lượng mạng.Trong chương tiếp theo ta sẽ thực hiện thu thập và phân tích bằng hệ thống được cài đặt và cấu hình ở chương này.

KHAI SILK ĐỂ THỰC HIỆN THU THẬP VÀ PHÂN TÍCH 49 4.1 Thiết lập mô hình mạng để thực hiện thu thập và phân tích

Triển khai thu thập và phân tích luồng mạng

Trên máy CentOS 7 tại đây SiLK sẽ thu thập lưu lượng đi qua cảm biến, truy cập vào thư mục /var/log/ lưu log của rwflowpack để kiểm tra, ở log hiện thị các flow forward và reverse qua S0 Cảm biến S0 thu thập lưu lượng, lưu dưới dạng thô (nhị phân) cụ thể ở /data/int2int/YY/MM/DD/int2int- S0_YYMMDD và /data/out/YY/MM/DD/out-S0_YYMMDD

Mỗi ngày các flow được lưu trong thư mục được tạo theo ngày đó, để tiện cho việc lưu trữ và tìm kiếm sau này

Hình 4 6: Xem log của rwflowpack trong /var/log

Khi luồng mạng được thu bởi cảm biến thì ta sẽ thực hiện phân tích. Bước quan trọng trong việc thực hiện phân tích là tìm và truy xuất các bản ghi luồng mạng từ kho SiLK Sử dụng lệnh rwfilter để kéo các bản ghi luồng mạng đã được ghi lại, rwfilter truy vấn kho dữ liệu trung tâm cho các bản ghi SiLK Flow đáp ứng một tập hợp các tùy chọn lọc rwfilter sensor=S0 type=all all=stdout | rwcut tail-recs0

Lệnh này sẽ lọc các record được truy xuất từ sensor S0 với type=all chỉ định loại lưu lượng mạng SiLK để truy xuất, sẽ lấy record cho tất cả mạng pass chỉ định đích của các bản ghi đã chọn pass qua bộ lọc trong trường hợp này nó sẽ được dẫn đến rwcut để tiếp tục xử lý, rwcut sẽ tập hợp các bản ghi đầu và hiện thị ở 30 hàng đầu tiên được hiện thị ở hình 4.2b Ở đây ta thấy 10.1.1.200 có khá nhiều truy vấn đến 10.1.1.100

Hình 4 7: rwcut sẽ tập hợp các bản ghi đầu và hiện thị ở 30 hàng của tất cả các luồng thu thập từ S0

Tiếp theo sử dụng lệnh rwfilter any-address.1.1.200 type=all pass=stdout | rwstats top count fields=sip,sport,dip,dport value=bytes

Lệnh này sẽ lọc lưu lượng quan tâm truy cập được liên kết với địa chỉ IP10.1.1.200, với type=all chỉ định loại lưu lượng mạng SiLK để truy xuất sẽ lấy record cho tất cả mạng pass chỉ định đích của các bản ghi đã chọn pass qua bộ lọc trong trường hợp này nó sẽ được dẫn đến rwstats để tiếp tục xử lý, rwstats sẽ tập hợp các bản ghi đầu và hiện thị field là IP nguồn, port nguồn, IP đích, port đích ở 10 hàng đầu tiên và cũng như thống kê %byte, %cumul, với thống kê này thì vẫn chưa rõ ràng 10.1.1.200 gửi truy vấn gì với 10.1.1.100

Hình 4 8: rwstats tập hợp các bản ghi liên kết với IP:10.1.1.200 field là IP nguồn, port nguồn, IP đích… ở 10 hàng Để hình dung rõ ràng hơn 10.1.1.200 gửi truy vấn đến 10.1.1.100 ta thực hiện tiếp, ở đây rwfilter sẽ lọc những record có IP nguồn là 10.1.1.100 và IP đích là 10.1.1.200 và sẽ được dẫn đến rwcut để xử lý, rwcut in các fields IP nguồn, IP đích, port đích và xuất ra file scanport.txt rwfilter saddress.1.1.200 daddress.1.1.100 type=all pass=stdout

| rwcut fields=sip,dip,dport > scanport.txt

Hình 4 9: rwcut in record IP nguồn 10.1.1.200 và IP đích 10.1.1.100 với fields

IP nguồn, IP đích… và xuất ra file scanport.txt

Sử dụng trình soạn thảo để đọc tệp scanport.txt thì ta thấy 10.1.1.1.200 gửi truy vấn đến rất nhiều port ở 10.1.1.100

Hình 4 10: Sử dụng trình soạn thảo để mở scanport.txt

Tệp scanport.txt có tất cả 69361 dòng, thì tương đương với số port được quét ở xấp xỉ 69361 port, là 65535 port.

Như vậy cho thấy 10.1.1.200 có thể đang thực hiện quét port trên 10.1.1.100

Kết luận chương 4

Trong chương này cho ta thấy các công cụ phân tích và truy xuất dữ liệu của SiLK cho phép phát hiện các xu hướng và điểm bất thường có thể chỉ ra hoạt động có xu hướng là tấn công mạng Việc kiểm tra lưu lượng mạng liên quan đến nó cung cấp bối cảnh có giá trị cho người ứng phó sự cố để sử dụng trong việc giải quyết sự cố.

Ngày đăng: 24/04/2023, 17:20

w