Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 79 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
79
Dung lượng
3,1 MB
Nội dung
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG HỌC PHẦN: KỸ THUẬT THEO DÕI VÀ GIÁM SÁT AN TOÀN MẠNG BÁO CÁO BÀI TẬP CUỐI KỲ Giảng viên: Ths.Ninh Thị Thu Trang Nhóm mơn học: 02 Nhóm sinh viên thực hiện: Trịnh Thành Long B18DCAT151 Ma Công Thành B18DCAT235 Vũ Thị Huệ B18DCAT103 Hoàng Đức Thắng B18DCAT239 Hà Nội, 2022 Mục Lục Lời mở đầu Nhận xét giảng viên I Zeek gì? II Zeek Scripts 10 Tập lệnh 10 Trình xử lý kiện 15 Các kiểu liệu Cấu trúc liệu .16 Scope 16 Global Variables 17 Constants 17 Local Variables 19 Data Structures 20 Sets 21 Tables 22 Hook 23 Frameworks 25 Framework nhật ký .26 Framework Thông báo 47 Framework Chữ ký .57 Framework đầu vào 65 III Demo 70 Kịch 70 IOC 71 IV Script cho kịch .72 accessPhP.zeek 72 blacklist.zeek 73 malware_dev.zeek 74 portscan.zeek 74 sus_upload.zeek 77 Kết luận .78 Tài liệu tham khảo 79 Lời mở đầu Ngày nay, bạn cần kiểm sốt hồn tồn cố mạng tiềm ẩn, đặc biệt nói đến an ninh Ngồi ra, có nhìn tổng quan tồn cầu chúng: ngun nhân, tác động đến nhiệm vụ hàng ngày giải pháp áp dụng Thời gian chạy, buộc kết nối phải đáng tin cậy cung cấp bảo vệ chống lại nhiều mối đe dọa Mạng bảo mật quản lý mạng phát triển cách nhanh chóng nhờ cơng cụ giúp thứ trở nên dễ dàng thiết thực nhiều Đã qua thời mà nhiều giải pháp, đắt khó sử dụng, khơng đưa câu trả lời mong muốn Các công mạng ngày đình chiến mạng phải có chắn bảo vệ thực Zeek trình bày công cụ để hỗ trợ quản lý ứng phó cố an ninh Nó hoạt động cách bổ sung dựa chữ ký công cụ để tìm theo dõi kiện mạng phức tạp Nó đặc trưng cách cung cấp phản hồi nhanh, việc sử dụng nhiều luồng giao thức Nó khơng giúp xác định kiện bảo mật, mà cịn nhằm mục đích tạo điều kiện khắc phục cố Nhận xét giảng viên ………………… .………………… ………………… ………………… ………………… ………………… ………………… ………………… ………………… ………………… ………………… ………………… ………………… ………………… ………………… ………………… ………………… ………………… ………………… ………………… ………………… ………………… ………………… ………………… ………………… ………………… ………………… ………………… ………………… ………………… ………………… ………………… Ths.Ninh Thị Thu Trang I Zeek gì? Zeek cơng cụ phân tích lưu lượng mạng mã nguồn mở thụ động Nhiều nhà khai thác sử dụng Zeek trình giám sát an ninh mạng (NSM) để hỗ trợ điều tra hoạt động đáng ngờ độc hại Zeek hỗ trợ loạt nhiệm vụ phân tích lưu lượng miền bảo mật, bao gồm đo lường hiệu suất khắc phục cố Lợi ích mà người dùng thu từ Zeek tập hợp ghi mở rộng mô tả hoạt động mạng Các ghi không bao gồm ghi tồn diện kết nối nhìn thấy dây mà bao gồm ghi lớp ứng dụng Chúng bao gồm tất phiên HTTP với URI yêu cầu, tiêu đề khóa, loại MIME phản hồi máy chủ; Yêu cầu DNS với câu trả lời; Chứng SSL; nội dung phiên SMTP; nhiều Theo mặc định, Zeek ghi tất thông tin vào tệp nhật ký phân tách tab JSON có cấu trúc tốt phù hợp để xử lý hậu kỳ phần mềm bên ngồi Người dùng chọn để sở liệu bên sản phẩm SIEM sử dụng, lưu trữ, xử lý trình bày liệu để truy vấn Ngồi ghi, Zeek kèm với chức tích hợp cho loạt nhiệm vụ phân tích phát hiện, bao gồm trích xuất tệp từ phiên HTTP, phát phần mềm độc hại cách giao tiếp với quan đăng ký bên ngoài, báo cáo phiên phần mềm dễ bị công mạng, xác định trang web phổ biến ứng dụng, phát hành vi cưỡng SSH, xác thực chuỗi chứng SSL Ngoài việc vận chuyển chức mạnh mẽ “out of box”, Zeek tảng hồn tồn tùy chỉnh mở rộng để phân tích lưu lượng truy cập Zeek cung cấp cho người dùng ngôn ngữ kịch hoàn chỉnh, dành riêng cho miền để thể tác vụ phân tích tùy ý Hãy nghĩ ZeekScripts “Python dành riêng cho miền” (hoặc Perl): giống Python, hệ thống kèm với tập hợp lớn chức tạo sẵn (“thư viện tiêu chuẩn”), người dùng sử dụng Zeek theo cách lạ cách viết mã tùy chỉnh Thật vậy, tất phân tích mặc định Zeek, bao gồm ghi nhật ký, thực thơng qua tập lệnh; khơng có phân tích cụ thể mã hóa cứng thành cốt lõi hệ thống Zeek chạy phần cứng thiết bị cung cấp giải pháp thay chi phí thấp cho giải pháp độc quyền đắt tiền Theo nhiều cách, Zeek vượt khả công cụ giám sát mạng khác, cơng cụ thường bị giới hạn nhóm nhỏ nhiệm vụ phân tích mã hóa cứng Zeek hệ thống phát xâm nhập dựa chữ ký cổ điển (IDS); hỗ trợ chức tiêu chuẩn vậy, ZeekScripts tạo điều kiện cho nhiều phương pháp tiếp cận khác để tìm hoạt động độc hại Chúng bao gồm phát lạm dụng ngữ nghĩa, phát bất thường phân tích hành vi Nhiều trang web triển khai Zeek để bảo vệ sở hạ tầng họ, bao gồm nhiều trường đại học, phòng nghiên cứu, trung tâm siêu máy tính, cộng đồng khoa học mở, tập đồn lớn quan phủ Zeek đặc biệt nhắm mục tiêu theo dõi mạng tốc độ cao, khối lượng lớn ngày nhiều trang web sử dụng hệ thống để giám sát mạng 10GE họ, với số chuyển sang liên kết 100GE Zeek đáp ứng cài đặt hiệu suất cao cách hỗ trợ cân tải mở rộng Các trang web lớn thường chạy “Zeek Cluster” cân tải front end tốc độ cao phân phối lưu lượng số lượng PC end thích hợp, tất chạy phiên Zeek chuyên dụng lát lưu lượng riêng lẻ chúng Hệ thống quản lý trung tâm điều phối q trình, đồng hóa trạng thái đầu sau cung cấp cho người vận hành giao diện quản lý trung tâm để cấu hình truy cập vào nhật ký tổng hợp Khung quản lý tích hợp Zeek, ZeekControl, hỗ trợ thiết lập cụm Các tính cụm Zeek hỗ trợ thiết lập đơn hệ thống đa hệ thống Đó phần lợi khả mở rộng Zeek Ví dụ: quản trị viên mở rộng quy mô Zeek hệ thống lâu tốt sau thêm hệ thống khác cách minh bạch cần thiết Tóm lại, Zeek tối ưu hóa để diễn giải lưu lượng mạng tạo nhật ký dựa lưu lượng Nó khơng tối ưu hóa để đối sánh byte người dùng tìm kiếm phương pháp phát chữ ký phục vụ tốt cách thử hệ thống phát xâm nhập Suricata Zeek khơng phải cơng cụ phân tích giao thức theo nghĩa Wireshark, tìm cách mơ tả yếu tố lưu lượng mạng cấp khung hệ thống lưu trữ lưu lượng dạng bắt gói (PCAP) Thay vào đó, Zeek nằm “phương tiện hài lòng” thể nhật ký mạng nhỏ gọn có độ trung thực cao, giúp hiểu rõ lưu lượng mạng việc sử dụng Zeek cung cấp nhiều lợi cho nhóm bảo mật mạng muốn hiểu rõ cách sở hạ tầng họ sử dụng Các nhóm bảo mật thường phụ thuộc vào bốn loại nguồn liệu cố gắng phát phản ứng với hoạt động đáng ngờ độc hại Chúng bao gồm nguồn bên thứ ba quan thực thi pháp luật, đồng nghiệp tổ chức tình báo mối đe dọa thương mại phi lợi nhuận; liệu mạng; sở hạ tầng liệu ứng dụng, bao gồm nhật ký từ môi trường đám mây; liệu điểm cuối Zeek chủ yếu tảng để thu thập phân tích dạng liệu thứ hai - liệu mạng Tuy nhiên, bốn yếu tố quan trọng chương trình đội bảo mật Khi xem xét liệu thu từ mạng, có bốn loại liệu có sẵn cho nhà phân tích Theo định nghĩa mơ hình giám sát an ninh mạng, bốn loại liệu nội dung đầy đủ , liệu giao dịch , nội dung trích xuất liệu cảnh báo Sử dụng kiểu liệu này, người ta ghi lại lưu lượng truy cập, tóm tắt lưu lượng truy cập, trích xuất lưu lượng truy cập (hoặc có lẽ xác hơn, trích xuất nội dung dạng tệp) đánh giá lưu lượng truy cập, tương ứng Việc thu thập phân tích bốn loại liệu giám sát an ninh mạng quan trọng Câu hỏi trở thành xác định cách tốt để thực mục tiêu Rất may, Zeek với tư cách tảng NSM cho phép thu thập hai theo cách ba, số dạng liệu này, cụ thể liệu giao dịch, nội dung trích xuất liệu cảnh báo Zeek biết đến nhiều với liệu giao dịch Theo mặc định, chạy yêu cầu xem giao diện mạng, Zeek tạo tập hợp nhật ký giao dịch nhỏ gọn, có độ trung thực cao, thích phong phú Các nhật ký mô tả giao thức hoạt động nhìn thấy dây, theo cách khơng phán xét, trung lập sách Tài liệu dành lượng thời gian đáng kể để mô tả tệp nhật ký Zeek phổ biến để người đọc cảm thấy thoải mái với định dạng học cách áp dụng chúng vào mơi trường họ Zeek dễ dàng xử lý tệp từ lưu lượng mạng, nhờ vào khả trích xuất tệp Sau đó, nhà phân tích gửi tệp đến hộp cát thực thi cơng cụ kiểm tra tệp khác để điều tra bổ sung Zeek có số khả thực phát xâm nhập tập trung vào byte cổ điển, công việc phù hợp với gói cơng cụ nguồn mở Snort Suricata Tuy nhiên, Zeek có khả khác có khả đưa phán đốn dạng cảnh báo, thơng qua chế thơng báo Zeek khơng tối ưu hóa để ghi lưu lượng vào đĩa theo tinh thần thu thập liệu nội dung đầy đủ tác vụ xử lý tốt phần mềm viết để đáp ứng u cầu Ngồi dạng liệu mạng mà Zeek thu thập tạo cách tự nhiên, Zeek có lợi xuất Zeek gì? tiết diện Chúng bao gồm chức tích hợp cho loạt nhiệm vụ phân tích phát trạng thái tảng tùy chỉnh mở rộng hồn tồn để phân tích lưu lượng truy cập Zeek hấp dẫn khả chạy phần cứng hàng hóa, cho phép người dùng thuộc đối tượng dùng thử Zeek với chi phí thấp https://docs.zeek.org/en/master/index.html II Zeek Scripts Tập lệnh Zeek bao gồm ZeekScripts hướng kiện cung cấp phương tiện cho tổ chức để mở rộng tùy chỉnh chức Zeek Trên thực tế, tất đầu Zeek tạo tạo Zeek scripts Gần dễ dàng coi Zeek thực thể xử lý kết nối hậu trường tạo kiện ZeekScripts phương tiện mà thơng qua bình thường giao tiếp Các tập lệnh Zeek thơng báo cách hiệu cho Zeek có kiện thuộc loại mà xác định, sau cho chúng tơi biết thơng tin kết nối để chúng tơi thực số chức Thơng thường, dễ hiểu ngơn ngữ ZeekScripts cách xem tập lệnh hoàn chỉnh chia nhỏ thành thành phần nhận dạng Trong ví dụ này, xem xét cách Zeek kiểm tra hàm băm SHA1 tệp khác trích xuất từ lưu lượng mạng dựa Team Cymru Malware hash registry Team Cymru điền vào ghi TXT phản hồi DNS họ với dấu thời gian “được nhìn thấy lần đầu” “tỷ lệ phát hiện” số Khía cạnh quan trọng cần hiểu Zeek tạo hàm băm cho tệp thông qua Files , framework, policy/frameworks/files/detect-MHR.zeek chịu trách nhiệm tạo tra cứu DNS thích hợp, phân tích cú pháp phản hồi tạo thơng báo thích hợp trọng kết nối mạng, file-magic áp dụng cho liệu tùy ý nào, khơng cần phải ràng buộc với giao thức / kết nối mạng o Hành động Khi khớp đoạn liệu, chữ ký tệp sử dụng hành động sau để nhận thông tin kiểu MIME liệu đó: file-mime [, ] Các đối số bao gồm chuỗi kiểu MIME liên kết với biểu thức quy ma thuật tệp "độ mạnh" tùy chọn dạng số nguyên có dấu Vì nhiều chữ ký ma thuật tệp khớp với đoạn liệu định, nên giá trị sức mạnh sử dụng để giúp chọn “người chiến thắng” Giá trị cao coi mạnh Framework đầu vào Zeek có khung nhập liệu linh hoạt cho phép người dùng nhập liệu tùy ý vào Zeek Dữ liệu đọc vào bảng Zeek chuyển đổi trực tiếp thành kiện để tập lệnh xử lý chúng thấy phù hợp Kiến trúc trình đọc mơ-đun cho phép đọc từ tệp, sở liệu nguồn liệu khác Đọc liệu thành bảng Tệp đầu vào đọc vào bảng với lệnh gọi hàm: Input::add_table Với ba dòng này, trước tiên, tạo bảng trống nhận liệu danh sách từ chối sau hướng dẫn khung cơng tác đầu vào mở luồng đầu vào có tên “danh sách từ chối” để đọc liệu vào bảng Dòng thứ ba lại loại bỏ luồng đầu vào, khơng cần sau liệu đọc o Xử lý khơng đồng Vì số tệp liệu lớn, khung đầu vào hoạt động không đồng Một luồng tạo cho luồng đầu vào Luồng mở tệp liệu đầu vào, chuyển đổi liệu thành định dạng bên gửi trở lại luồng Zeek Do đó, liệu khơng thể truy cập Tùy thuộc vào kích thước nguồn liệu, từ vài mili giây đến vài giây tất liệu có bảng Các lệnh gọi đến nguồn đầu vào xếp hàng đợi hoàn thành hành động trước Vì điều này, ví dụ, gọi Input::add_table Input::remove hai dòng tiếp theo: hành động loại bỏ xếp hàng đợi hoàn thành lần đọc Khi khung công tác đầu vào đọc xong từ nguồn liệu, kích hoạt Input::end_of_data kiện Khi kiện nhận, tất liệu từ tệp đầu vào có sẵn bảng Bảng sử dụng liệu đọc - khơng chứa tất dịng từ tệp đầu vào trước kiện kích hoạt Sau bảng điền, sử dụng giống bảng Zeek khác mục từ chối danh sách dễ dàng kiểm tra: o Bộ thay bảng Đối với số trường hợp sử dụng, khái niệm khóa / giá trị thúc đẩy liệu dạng bảng không áp dụng, chẳng hạn mục đích liệu để kiểm tra tư cách thành viên tập hợp Khung đầu vào hỗ trợ phương pháp cách sử dụng tập hợp làm kiểu liệu đích bỏ $val qua Input::add_table : o Đọc lại phát trực tuyến liệu Đối với số nguồn liệu (chẳng hạn nhiều danh sách từ chối), liệu đầu vào thay đổi liên tục Khung đầu vào hỗ trợ kỹ thuật bổ sung để quản lý đầu vào thay đổi Phương pháp đầu tiên, làm cách rõ ràng luồng đầu vào Khi luồng đầu vào mở (nghĩa chưa bị loại bỏ lệnh gọi đến Input::remove ), hàm Input::force_update gọi Điều kích hoạt làm hoàn toàn bảng: phần tử thay đổi từ tệp cập nhật, phần tử thêm vào phần tử khơng cịn liệu đầu vào bị xóa Sau cập nhật xong, Input::end_of_data kiện nâng lên o Nhận kiện thay đổi Khi đọc lại tệp, thú vị biết xác dịng tệp nguồn thay đổi Vì lý này, khn khổ đầu vào đưa kiện mục liệu thêm vào, xóa khỏi thay đổi bảng o Lọc liệu trình nhập Khung nhập liệu cho phép người dùng lọc liệu q trình nhập Để đạt mục đích này, chức vị ngữ sử dụng Một hàm vị từ gọi trước phần tử thêm / thay đổi / xóa khỏi bảng Vị từ chấp nhận phủ thay đổi cách trả true cho thay đổi chấp nhận false cho thay đổi bị từ chối Hơn nữa, thay đổi liệu trước ghi vào bảng o Dữ liệu đầu vào bị hỏng Khung đầu vào thông báo cho bạn cố trình nhập liệu theo hai cách Đầu tiên, thông báo phóng viên, kết thúc report.log, cho biết loại cố tệp mà cố xảy ra: Thứ hai, Input::TableDescription Input::EventDescription ghi có $error_ev thành viên để kích hoạt kiện thông báo mức độ nghiêm trọng hiển thị Việc sử dụng kiện phản ánh kiện thay đổi Đọc liệu cho kiện Chế độ nhập liệu thứ hai khung nhập liệu trực tiếp tạo kiện Zeek từ liệu nhập thay chèn chúng vào bảng Luồng kiện hoạt động giống với luồng bảng thảo luận hầu hết tính thảo luận (chẳng hạn vị từ để lọc) hoạt động cho luồng kiện Luồng kiện khác với luồng bảng theo hai cách: Luồng kiện không cần khai báo mục giá trị riêng biệt - thay vào đó, tất kiểu liệu nguồn cung cấp định nghĩa ghi Vì khung cơng tác nhận thức dịng kiện liên tục, nên khơng có khái niệm đường sở liệu (ví dụ: bảng) để so sánh liệu đến Do đó, loại kiện thay đổi (một Input::Event trường hợp, tpe trên) luôn Input::EVENT_NEW Người đọc liệu Khung đầu vào hỗ trợ loại trình đọc khác cho loại tệp liệu nguồn khác Hiện tại, khuôn khổ mặc định nhập tệp ASCII định dạng định dạng tệp nhật ký Zeek (các giá trị phân tách tab #fields dịng tiêu đề) Một số trình đọc khác bao gồm Zeek gói / plugin Zeek cung cấp trình đọc bổ sung III Demo Kịch Kẻ công quét máy mục tiêu phát dịch vụ web cổng 8000 Sau truy cập trang web phát lỗ hổng cho phép tải lên php Kẻ công tải lên file php truy cập tạo reverse shell Sau tải lên mã độc vào máy nạn nhân Kịch phân tích: 1) Nhận cảnh báo bất thường có địa IP 192.168.16.130 thực quét cổng nên ta phân tích log dựa hành vi này: cat conn.log | jq -c ' | select(."id.resp_h"=="192.168.16.128" and "id.orig_h"!="192.168.16.128")| {"id.resp_p","id.orig_h"}' | uniq -c | sort| nl | tail -10 2) Liệt kê IP thực kết nối tcp cat conn.log | jq -c ' | select(.proto=="tcp" and "id.orig_h" != "192.168.16.128")| "id.orig_h" '|uniq -c 3) Liệt kê kết nối tới cổng 8000 cat conn.log | jq -c ' | select(.proto=="tcp" and "id.resp_p"==8000)| {ts,"id.orig_h",duration} '| uniq -c | sort 4) Kết nối http cat http.log | jp -c'.|select(."id.resp_p"==8000 and "id.resp_h" ===" 192.168.16.128")|{ts,"id.orig_h",method,uri}' 5) Phát file Malware cat files.log| jq -c ' | select (.tx_hosts==["192.168.16.130"] and source=="HTTP")| {mime_type,seen_bytes}'| uniq -c IOC Scan cổng phát quét theo số lượng cổng (15 cổng trở lên) Tải lên file PhP thư mục lưu trữ hình ảnh Truy cập file php thư mục lưu trữ liệu Kết nối bên với địa nằm blacklist Nhận biết malware dựa hash IV Script cho kịch accessPhP.zeek blacklist.zeek malware_dev.zeek portscan.zeek sus_upload.zeek Kết luận Báo cáo trình bày tổng quan Zeek Zeek Scripts Đối với Zeek Scripts nhóm chúng em trọng • Tập lệnh • Trình xử lý kiện • Cấu trúc liệu • Hook • Framework Đồng thời nhóm em có thực demo với hình ảnh kèm theo Vì thời gian nghiên cứu có hạn, trình độ hiểu biết chúng em nhiều hạn chế nên báo cáo khơng tránh khỏi thiếu sót, em mong nhận góp ý quý báu để báo cáo nhóm em hồn thiện Tài liệu tham khảo [1] Github, Book of Zeek [2] T U o T a S Antonio, "ZEEK INSTRUSION DETECTION SERIES," Lab8, Texas, 03-13-2020 ... tảng Giám sát an ninh mạng có tập hợp kiểu liệu tập trung vào mạng mạnh mẽ Sets Các tập hợp Zeek sử dụng để lưu trữ phần tử kiểu liệu Về chất, bạn coi chúng “một tập hợp số nguyên nhất” “một tập. .. - liệu mạng Tuy nhiên, bốn yếu tố quan trọng chương trình đội bảo mật Khi xem xét liệu thu từ mạng, có bốn loại liệu có sẵn cho nhà phân tích Theo định nghĩa mơ hình giám sát an ninh mạng, bốn... biến từ tập lệnh khác Tuy nhiên, tập lệnh sử dụngmoduletừ khóa để cung cấp cho tập lệnh khơng gian tên, cần phải ý đến việc khai báo khối cầu để đảm bảo kết dự kiến Khi toàn cục khai báo tập lệnh