Nhan Dang
Intern
XÁC ĐỊNH CÁC MÁY CHỦ BỊ TẤN CÔNG / TRUY CẬP TRÁI PHÉP QUA IBM GUARDIUM
PHẦN 1: TỔNG QUAN VÀ MỤC TIÊU
1.1. Mục tiêu bài Lab cần thực hiện
Thông qua dữ liệu hoạt động cơ sở dữ liệu do IBM Guardium thu thập, bài thực nghiệm nhằm xác định chính xác các máy chủ cơ sở dữ liệu có dấu hiệu bị tấn công hoặc có nỗ lực truy cập trái phép.
1.2. Các chỉ báo phát hiện trong báo cáo
- Failed Login:Phát hiện các nỗ lực đăng nhập sai tài khoản/mật khẩu nhiều lần (brute-force attempt).
- SQL Error:Ghi nhận các câu lệnh SQL bị lỗi cú pháp hoặc truy vấn đối tượng không tồn tại, chỉ báo cho hoạt động dò quét.
- Policy Violation:Khớp các vi phạm chính sách an ninh như SQL Injection, OS Command Injection, Tautology.
- Exception & Unauthorized Access:Ghi nhận các nỗ lực truy cập trái phép vào đối tượng chưa được phân quyền.
PHẦN 2: MÔ HÌNH THỰC NGHIỆM VÀ CẤU HÌNH HỆ THỐNG
2.1. Sơ đồ dòng dữ liệu
2.2. Các bước cấu hình tiền đề trên Guardium
- Cài đặt S-TAP:Cài đặt S-TAP Agent trên máy chủ Oracle và MSSQL, cấu hình kết nối về Guardium Collector.
- Áp dụng Security Policy:Sử dụng Basic Data Security Policy có sẵn, đảm bảo kích hoạt các rule phát hiện SQL Injection.
- Kiểm tra Policy:Đảm bảo cài sẵn sàng các rule bao gồm: Failed Logins, SQL Errors, Policy Violations (đã thiết kế ở lab trước).
PHẦN 3: DANH SÁCH KỊCH BẢN THỬ NGHIỆM
STT | Mô phỏng | Cơ chế phát hiện |
|---|---|---|
1 | Đăng nhập DB Server sai nhiều lần | Failed Logins report |
2 | Thực hiện query vào cột nhạy cảm gây ra Data Leak | Policy Violation |
3 | Kích hoạt rule SQL Injection trong Basic Data Security Policy | Policy Violation |
PHẦN 4: THỰC HIỆN CHI TIẾT THEO TỪNG BƯỚC
4.1. Kịch bản 1: Failed Login Detection
A. Mục tiêu và Kịch bản mô phỏng: Mô phỏng Client thực hiện đăng nhập vào Database bằng tài khoản/mật khẩu không hợp lệ nhiều lần liên tiếp để kiểm tra khả năng ghi nhận brute-force.
B. Các bước thực hiện:
Bước 1: Mở Terminal trên máy Client.
Bước 2: Thực thi câu lệnh kết nối với sai mật khẩu (chạy lệnh ForEach để tự động thao tác nhiều lần)
Bước 3: Truy cập Báo cáo Failed Logins trên giao diện Guardium để xác nhận dữ liệu đã ghi nhận.
C. Kết luận và Đánh giá kịch bản 1:
Nếu cùng một Client IP đăng nhập sai nhiều lần vào cùng Server với cùng DB User trong khoảng thời gian ngắn, hệ thống sẽ đánh dấu là nỗ lực truy cập trái phép / dò mật khẩu (Potential unauthorized access / brute-force attempt).
B. Các bước thực hiện:
Bước 1: Mở Terminal trên máy Client.
Bước 2: Thực thi câu lệnh kết nối với sai mật khẩu (chạy lệnh ForEach để tự động thao tác nhiều lần)
Bước 3: Truy cập Báo cáo Failed Logins trên giao diện Guardium để xác nhận dữ liệu đã ghi nhận.
C. Kết luận và Đánh giá kịch bản 1:
Nếu cùng một Client IP đăng nhập sai nhiều lần vào cùng Server với cùng DB User trong khoảng thời gian ngắn, hệ thống sẽ đánh dấu là nỗ lực truy cập trái phép / dò mật khẩu (Potential unauthorized access / brute-force attempt).
4.2. Kịch bản 2: SQL Errors Detection
A. Mục tiêu và Kịch bản mô phỏng: Tạo các câu lệnh SQL không hợp lệ (sai cú pháp hoặc gọi đối tượng không tồn tại) để Guardium phát hiện và ghi nhận lỗi.
B. Các bước thực hiện:
Bước 1: Đăng nhập thành công vào Database từ Client bằng công cụ SQL
Bước 2: Thực thi câu lệnh truy vấn bảng không tồn tại:
Bước 3: Thực thi câu lệnh sai cú pháp SQL:
Bước 4: Mở Báo cáo SQL Errors trên Guardium để kiểm tra các thông số
được lưu lại.
C. Kết luận và Đánh giá kịch bản 2:
Chỉ số SQL Errors tăng bất thường từ cùng một nguồn truy cập (Client IP) là cơ sở quan trọng để tiến hành điều tra hoạt động bất thường hoặc hành vi dò quét lỗ hổng SQL Injection.
B. Các bước thực hiện:
Bước 1: Đăng nhập thành công vào Database từ Client bằng công cụ SQL
Bước 2: Thực thi câu lệnh truy vấn bảng không tồn tại:
Bước 3: Thực thi câu lệnh sai cú pháp SQL:
Bước 4: Mở Báo cáo SQL Errors trên Guardium để kiểm tra các thông số
được lưu lại.
C. Kết luận và Đánh giá kịch bản 2:
Chỉ số SQL Errors tăng bất thường từ cùng một nguồn truy cập (Client IP) là cơ sở quan trọng để tiến hành điều tra hoạt động bất thường hoặc hành vi dò quét lỗ hổng SQL Injection.
4.3. Kịch bản 3: SQL Injection Policy Violation
A. Mục tiêu và Kịch bản mô phỏng: Thực thi các mẫu câu truy vấn chứa kỹ thuật SQL Injection để kích hoạt rule phát hiện trong Basic Data Security Policy.
B. Các bước thực hiện:
Bước 1: Kiểm tra chính sách trên Guardium: Protect > Security Policies > Policy Builder For Data.
Bước 2: Xác nhận các rule phát hiện SQL Injection có sẵn đã được active
Bước 3: Từ máy Client, gửi truy vấn SQL chứa chuỗi Tautology
Bước 4: Mở báo cáo Policy Violations để kiểm tra sự kiện vi phạm.
B. Các bước thực hiện:
Bước 1: Kiểm tra chính sách trên Guardium: Protect > Security Policies > Policy Builder For Data.
Bước 2: Xác nhận các rule phát hiện SQL Injection có sẵn đã được active
Bước 3: Từ máy Client, gửi truy vấn SQL chứa chuỗi Tautology
Bước 4: Mở báo cáo Policy Violations để kiểm tra sự kiện vi phạm.
PHẦN 5: PHÂN TÍCH CHỦ ĐỘNG (ACTIVE THREAT ANALYTICS)
5.1. Bảng tương quan phân tích tổng hợp các dấu hiệu trên Server
Đường dẫn truy cập: Protect > Uncover Threat Vectors > Active Threat Analytics.
5.2. Kiểm tra chi tiết các case
a) Phân tích case ghi nhận trên Active Threat Analytics (SQL Injection - Tautology / Possible Data Leak)
1. Tổng quan Case và Biểu đồ so sánh mức độ hoạt động (Case Overview & Excessive Activity)
• Thông số tổng quan của Case:
- Case ID / Mức độ: Case 3 - Insider Threat: Possible data leak (Mức độ nghiêm trọng: Medium).
- Khung thời gian ghi nhận (Period): Từ 2026-09-17 20:00:00 đến 2026-09-17 21:00:00.
- Nguồn phát sinh (Source): Máy chủ Server IP 10.30.197.89, Database MASTER, DB User NT SERVICE\SQLTELEMETRY.
- Chỉ báo bất thường (Observations): High volume of data extraction (Lưu lượng trích xuất dữ liệu cao bất thường trong khung giờ theo dõi).
• Phân tích biểu đồ mức độ hoạt động (Excessive Activity Graph):
- Hoạt động lệnh Select: Lượt thực thi lệnh Select Command của DB User NT SERVICE\SQLTELEMETRY đạt mức cao bất thường, gấp 3.82 lần so với mức trung bình (đạt ~245 lượt thao tác so với trung bình ~65 lượt).
- Hoạt động theo Hostname/OS User: Hoạt động từ Hostname LOCALHOST và OS User NT SERVICE\SQLTELEMETRY cao gấp 3.37 lần so với ngưỡng trung bình của hệ thống.
2. Báo cáo chi tiết câu lệnh SQL (Full SQL Report - Possible Data Leak)
• Phân tích các trường dữ liệu chi tiết trong log:
- Server IP & Service Name: 10.30.197.89 - Dịch vụ MS SQL SERVER.
- Database Name: MASTER (Cơ sở dữ liệu hệ thống).
- DB User Name & Client IP: NT SERVICE\SQLTELEMETRY xuất phát từ Client IP 10.30.197.89 (truy cập tại chỗ / local execution).
- Source Program: Tiến trình SQLSERVERCEIP.
- Tổng số truy vấn ghi nhận (Total): Ghi nhận tổng cộng 124 truy vấn thực thi liên tục trong khoảng thời gian từ 20:00:00 đến 21:00:00 ngày 2026-09-17.
• Đánh giá an ninh: Việc thực hiện 124 truy vấn trong thời gian 1 tiếng ngoài giờ làm việc cho thấy tần suất truy xuất dữ liệu lớn, có dấu hiệu trích xuất dữ liệu hàng loạt hoặc quét tự động.
3. Báo cáo tổng hợp sự kiện và ngoại lệ SQL (SQL - Possible Data Leak Report)
• Chi tiết các tham số kiểm tra:
- Báo cáo xác nhận sự kiện diễn ra tập trung tại nguồn IP 10.30.197.89 dưới quyền OS User và DB User NT SERVICE\SQLTELEMETRY.
- Tất cả các truy vấn đều gọi tới database hệ thống MASTER thông qua chương trình SQLSERVERCEIP.
- Bảng cung cấp danh sách 124 bản ghi chi tiết giúp chuyên viên SOC drill-down kiểm tra chính xác nội dung câu lệnh SQL injection/truy vấn nhạy cảm.
4. Phân tích hành vi nguồn truy cập (Source Behavioral Analysis)
• Lịch sử theo dõi (Tracked History):
- Dữ liệu nguồn được Guardium ghi nhận liên tục từ ngày 2026-09-11 10:00.
- Tần suất trung bình (Avg. activities/hour): 78.19 thao tác/giờ.
- Mức đỉnh điểm (Max. activities/hour): 263 thao tác/giờ.
• Phân tích theo các biểu đồ tỷ lệ:
- By Applications (Theo ứng dụng): 100% lưu lượng truy cập xuất phát từ chương trình SQLSERVERCEIP.
- By Working Hours (Khung giờ thao tác): Chiếm tỷ lệ lớn vào ngoài giờ hành chính (Off Hours - 34%) và ngày cuối tuần (Weekend), khác biệt so với khung giờ làm việc tiêu chuẩn.
- By Verbs (Loại lệnh SQL): Đa số là câu lệnh đọc dữ liệu Select Command, kết hợp các lệnh UNKNOWN, DML Commands và EXEC.
- Trạng thái Case (Open Cases): Ghi nhận 1 Case rủi ro mức Medium trong giai đoạn từ Sep 10 đến Sep 18, 2026.
5. Phân tích chiều sâu theo các góc độ điều tra (Drill-down Views: Where, When, What, Who, How)
• Where (Vị trí tác động): Máy chủ 10.30.197.89 vận hành 5 cơ sở dữ liệu MS SQL Server; case bất thường xảy ra trực tiếp trên database MASTER.
• When (Thời điểm phát sinh): Sự cố diễn ra trong khung giờ Off Hours từ 20:00:00 đến 21:00:00 ngày 2026-09-17.
• What (Tương quan các case cùng loại): So sánh lịch sử từ 2026-09-14 cho thấy cảnh báo rủi ro tập trung duy nhất tại Server 10.30.197.89 và tài khoản NT SERVICE\SQLTELEMETRY.
• Who & How (Chủ thể & Phương thức): Tiến trình SQLSERVERCEIP kết nối cục bộ, tạo ra tổng cộng hơn 4,500 lượt tương tác tích lũy trên hệ thống.
KẾT LUẬN: Thông qua việc thu thập hoạt động database từ S-TAP và phân tích các sự kiện Failed Login, SQL Error, Policy Violation, IBM Guardium có khả năng xác định nguồn truy cập, người dùng, máy chủ đích và hành vi đáng ngờ. Các máy chủ xuất hiện nhiều dấu hiệu bất thường trong cùng khoảng thời gian được xác định là các máy chủ cần ưu tiên điều tra.
5.2. Kiểm tra chi tiết các case
a) Phân tích case ghi nhận trên Active Threat Analytics (SQL Injection - Tautology / Possible Data Leak)
1. Tổng quan Case và Biểu đồ so sánh mức độ hoạt động (Case Overview & Excessive Activity)
• Thông số tổng quan của Case:
- Case ID / Mức độ: Case 3 - Insider Threat: Possible data leak (Mức độ nghiêm trọng: Medium).
- Khung thời gian ghi nhận (Period): Từ 2026-09-17 20:00:00 đến 2026-09-17 21:00:00.
- Nguồn phát sinh (Source): Máy chủ Server IP 10.30.197.89, Database MASTER, DB User NT SERVICE\SQLTELEMETRY.
- Chỉ báo bất thường (Observations): High volume of data extraction (Lưu lượng trích xuất dữ liệu cao bất thường trong khung giờ theo dõi).
• Phân tích biểu đồ mức độ hoạt động (Excessive Activity Graph):
- Hoạt động lệnh Select: Lượt thực thi lệnh Select Command của DB User NT SERVICE\SQLTELEMETRY đạt mức cao bất thường, gấp 3.82 lần so với mức trung bình (đạt ~245 lượt thao tác so với trung bình ~65 lượt).
- Hoạt động theo Hostname/OS User: Hoạt động từ Hostname LOCALHOST và OS User NT SERVICE\SQLTELEMETRY cao gấp 3.37 lần so với ngưỡng trung bình của hệ thống.
2. Báo cáo chi tiết câu lệnh SQL (Full SQL Report - Possible Data Leak)
• Phân tích các trường dữ liệu chi tiết trong log:
- Server IP & Service Name: 10.30.197.89 - Dịch vụ MS SQL SERVER.
- Database Name: MASTER (Cơ sở dữ liệu hệ thống).
- DB User Name & Client IP: NT SERVICE\SQLTELEMETRY xuất phát từ Client IP 10.30.197.89 (truy cập tại chỗ / local execution).
- Source Program: Tiến trình SQLSERVERCEIP.
- Tổng số truy vấn ghi nhận (Total): Ghi nhận tổng cộng 124 truy vấn thực thi liên tục trong khoảng thời gian từ 20:00:00 đến 21:00:00 ngày 2026-09-17.
• Đánh giá an ninh: Việc thực hiện 124 truy vấn trong thời gian 1 tiếng ngoài giờ làm việc cho thấy tần suất truy xuất dữ liệu lớn, có dấu hiệu trích xuất dữ liệu hàng loạt hoặc quét tự động.
3. Báo cáo tổng hợp sự kiện và ngoại lệ SQL (SQL - Possible Data Leak Report)
• Chi tiết các tham số kiểm tra:
- Báo cáo xác nhận sự kiện diễn ra tập trung tại nguồn IP 10.30.197.89 dưới quyền OS User và DB User NT SERVICE\SQLTELEMETRY.
- Tất cả các truy vấn đều gọi tới database hệ thống MASTER thông qua chương trình SQLSERVERCEIP.
- Bảng cung cấp danh sách 124 bản ghi chi tiết giúp chuyên viên SOC drill-down kiểm tra chính xác nội dung câu lệnh SQL injection/truy vấn nhạy cảm.
4. Phân tích hành vi nguồn truy cập (Source Behavioral Analysis)
• Lịch sử theo dõi (Tracked History):
- Dữ liệu nguồn được Guardium ghi nhận liên tục từ ngày 2026-09-11 10:00.
- Tần suất trung bình (Avg. activities/hour): 78.19 thao tác/giờ.
- Mức đỉnh điểm (Max. activities/hour): 263 thao tác/giờ.
• Phân tích theo các biểu đồ tỷ lệ:
- By Applications (Theo ứng dụng): 100% lưu lượng truy cập xuất phát từ chương trình SQLSERVERCEIP.
- By Working Hours (Khung giờ thao tác): Chiếm tỷ lệ lớn vào ngoài giờ hành chính (Off Hours - 34%) và ngày cuối tuần (Weekend), khác biệt so với khung giờ làm việc tiêu chuẩn.
- By Verbs (Loại lệnh SQL): Đa số là câu lệnh đọc dữ liệu Select Command, kết hợp các lệnh UNKNOWN, DML Commands và EXEC.
- Trạng thái Case (Open Cases): Ghi nhận 1 Case rủi ro mức Medium trong giai đoạn từ Sep 10 đến Sep 18, 2026.
5. Phân tích chiều sâu theo các góc độ điều tra (Drill-down Views: Where, When, What, Who, How)
• Where (Vị trí tác động): Máy chủ 10.30.197.89 vận hành 5 cơ sở dữ liệu MS SQL Server; case bất thường xảy ra trực tiếp trên database MASTER.
• When (Thời điểm phát sinh): Sự cố diễn ra trong khung giờ Off Hours từ 20:00:00 đến 21:00:00 ngày 2026-09-17.
• What (Tương quan các case cùng loại): So sánh lịch sử từ 2026-09-14 cho thấy cảnh báo rủi ro tập trung duy nhất tại Server 10.30.197.89 và tài khoản NT SERVICE\SQLTELEMETRY.
• Who & How (Chủ thể & Phương thức): Tiến trình SQLSERVERCEIP kết nối cục bộ, tạo ra tổng cộng hơn 4,500 lượt tương tác tích lũy trên hệ thống.
KẾT LUẬN: Thông qua việc thu thập hoạt động database từ S-TAP và phân tích các sự kiện Failed Login, SQL Error, Policy Violation, IBM Guardium có khả năng xác định nguồn truy cập, người dùng, máy chủ đích và hành vi đáng ngờ. Các máy chủ xuất hiện nhiều dấu hiệu bất thường trong cùng khoảng thời gian được xác định là các máy chủ cần ưu tiên điều tra.
Đính kèm
Sửa lần cuối:
Bài viết liên quan
Được quan tâm
Bài viết mới