Báo động lặng lẽ: Sử dụng Canarytokens để phát hiện xâm nhập trước khi thiệt hại lan rộng

Security tutorial - IT technology blog
Security tutorial - IT technology blog

Cuộc gọi lúc 2 giờ sáng

Đó là 2 giờ sáng ngày thứ Ba. Điện thoại của bạn rung liên hồi trên bàn cạnh giường với hàng loạt cảnh báo từ SIEM. Một ‘đăng nhập thành công’ bắt nguồn từ một IP lạ ở một múi giờ khác. Tim bạn thắt lại. Mặc dù đã có MFA, WAF và OSSEC giám sát mọi bản ghi log, kẻ xâm nhập vẫn lọt được vào bên trong. Chúng không thực hiện các cuộc khai thác tự động ồn ào. Thay vào đó, chúng lặng lẽ duyệt qua các tệp chia sẻ, săn tìm những ‘tài sản quý giá nhất’. Đây là kịch bản ác mộng đối với bất kỳ sysadmin nào: một cuộc xâm nhập thầm lặng.

Các công cụ truyền thống như Suricata rất xuất sắc trong việc phát hiện các kiểu tấn công đã biết. Tuy nhiên, một khi kẻ tấn công sở hữu thông tin xác thực hợp lệ, chúng trông hoàn toàn giống như một người dùng bình thường. Để bắt được chúng, bạn phải ngừng ở thế bị động và bắt đầu sử dụng các biện pháp đánh lừa. Đó là lúc Canarytokens xuất hiện. Đây là những ‘bẫy dây’ kỹ thuật số—những cái bẫy nhỏ, kín đáo sẽ cảnh báo bạn ngay lập tức khi chúng bị chạm vào.

Công nghệ đánh lừa vs. Phát hiện truyền thống: Vấn đề nhiễu tín hiệu

Hầu hết các hệ thống bảo mật dựa trên chữ ký (signatures) hoặc các dấu hiệu bất thường (anomalies). Một bên tìm kiếm các tệp ‘xấu’ đã biết; bên còn lại gắn cờ các hành vi ‘lạ’. Kết quả là gì? Một đội ngũ SOC chìm nghỉm trong 5.000 cảnh báo mỗi ngày, mà 99% trong số đó là rác. Cuối cùng, bạn sẽ chẳng buồn xem chúng nữa.

Canarytokens thì khác. Chúng thuộc họ Công nghệ đánh lừa (Deception Technology). Hãy tưởng tượng chúng giống như một gói mực nhuộm ẩn trong két sắt ngân hàng. chúng không phục vụ mục đích kinh doanh nào cả. Không một nhân viên hợp lệ nào lại đi mở một tệp có tên salaries_2024.xlsx nằm sâu trong thư mục /tmp của máy chủ. Nếu tệp đó bị truy cập, đó không phải là một ‘hiện tượng lạ’—đó là một sự cố đã được xác nhận. Cách tiếp cận này mang lại tỷ lệ báo động giả cực thấp, cung cấp các tín hiệu có độ tin cậy cao mà các đội ngũ bảo mật thực sự cần.

Ưu và nhược điểm khi sử dụng ‘Canary’

Trước khi rải bẫy khắp hạ tầng của mình, bạn cần hiểu rõ những lợi ích và hạn chế. Công nghệ đánh lừa rất mạnh mẽ, nhưng nó đòi hỏi một tư duy chiến lược.

Tin tốt

  • Cảnh báo độ tin cậy cao: Vì các token này không có mục đích sử dụng hợp lệ, bất kỳ tác động nào cũng là một ‘báo động đỏ’ ngay lập tức. Bạn không cần một đội ngũ khổng lồ để lọc dữ liệu.
  • Không ảnh hưởng đến hiệu suất: Hầu hết các token chỉ là các tệp tĩnh, URL hoặc bản ghi DNS. Chúng sẽ không làm chậm cơ sở dữ liệu production của bạn hoặc yêu cầu cài đặt các agent nặng nề.
  • Phát hiện vượt ra ngoài phạm vi mạng: Một số token sẽ cảnh báo bạn ngay cả khi kẻ tấn công chuyển dữ liệu bị đánh cắp sang máy riêng của chúng và mở nó khi ngoại tuyến.

Thực tế cần lưu ý

  • Dùng một lần: Một khi token bị kích hoạt, cái bẫy đã bị lộ. Bạn phải thay thế nó để duy trì mức độ bảo mật tương tự.
  • Khả năng gây thận trọng: Nếu một kẻ tấn công tinh vi nhận ra bạn đang sử dụng honeytokens, chúng có thể di chuyển chậm lại. Điều này giúp bạn có thêm thời gian nhưng khiến việc loại bỏ chúng hoàn toàn trở nên khó khăn hơn.
  • Tự động hóa là then chốt: Trong một môi trường có hơn 500 máy chủ, việc quản lý các ‘tệp mồi nhử’ này một cách thủ công sẽ trở thành một công việc toàn thời gian nếu không có các kịch bản tự động (scripting).

Vị trí đặt bẫy chiến lược để đạt hiệu quả tối đa

Đừng chỉ rải token một cách ngẫu nhiên. Khi thắt chặt bảo mật cho một môi trường mới, tôi ưu tiên các mục tiêu có giá trị cao sau:

1. Mồi nhử ‘Admin’

Đặt một tệp cấu hình mồi nhử trên các máy chủ web của bạn. Một tệp có tên db_backup.sh chứa thông tin xác thực giả là một mồi nhử hoàn hảo. Để làm cho chúng trông có vẻ xác thực, tôi sử dụng trình tạo mật khẩu tại toolcraft.app/vi/tools/security/password-generator. Nó chạy hoàn toàn trong trình duyệt của bạn, vì vậy không có chuỗi nhạy cảm nào chạm đến mạng. Điều này giúp tạo ra các mật khẩu phức tạp, thực tế mà những kẻ tấn công dày dạn kinh nghiệm thường mong đợi thấy trong các script production.

2. Tài liệu ‘Nhạy cảm’

Thả các tài liệu Office (Word/Excel) hoặc PDF vào các thư mục chia sẻ. Nếu kẻ đột nhập mở chúng, tài liệu sẽ tự động ‘gọi về nhà’ tới một URL duy nhất. Điều này cung cấp cho bạn địa chỉ IP của kẻ tấn công và chuỗi user-agent của chúng ngay lập tức.

3. Thông tin xác thực Cloud

Chèn các AWS API keys giả vào ~/.aws/credentials. Nếu kẻ tấn công cố gắng sử dụng chúng với AWS CLI, máy chủ Canarytoken sẽ ghi lại nỗ lực đó ngay cả trước khi lệnh kết thúc thực thi.

Hướng dẫn triển khai: Thiết lập cái bẫy đầu tiên

Bạn có thể sử dụng dịch vụ miễn phí tại canarytokens.org hoặc tự host một instance riêng để giữ kín dữ liệu metadata của mình.

Bước 1: Web Bug (Token dạng URL)

Đây là loại bẫy đơn giản nhất. Bạn tạo một URL duy nhất và nếu có bất kỳ ai truy cập vào đó, bạn sẽ nhận được cảnh báo. Hãy sử dụng nó bên trong các tệp ‘ReadMe’ hoặc các trang wiki nội bộ.

# Thêm một URL Canary vào tệp môi trường production giả
echo "DEBUG_ENDPOINT=http://canarytokens.com/about/tags/your-unique-token/post.jsp" >> .env.production

Bước 2: Tài liệu Word ‘Hấp dẫn’

1. Mở bảng điều khiển Canarytoken.
2. Chọn “MS Word Document”.
3. Cung cấp một ghi chú (ví dụ: “Tìm thấy trong ổ chia sẻ của phòng Tài chính”) và email nhận cảnh báo của bạn.
4. Tải tệp xuống và đổi tên nó thành thứ gì đó không thể cưỡng lại, như Q3_Payroll_Unredacted.docx.
5. Đặt nó trên một ổ đĩa mạng chia sẻ mà nhóm người dùng bạn đang giám sát có thể truy cập được.

Bước 3: Bẫy ‘Cấu hình’ Linux

Thay vì một trình kích hoạt thư mục phức tạp, hãy đặt một SSH private key giả vào /home/user/.ssh/id_rsa_backup. Trong trường chú thích của khóa, hoặc trong một tệp config gần đó, hãy bao gồm một DNS token duy nhất. Nếu kẻ tấn công cố gắng truy vấn hostname ‘nội bộ’ liên kết với khóa đó, việc tra cứu DNS sẽ kích hoạt báo động của bạn.

Bước 4: Trigger trong SQL Server

Tạo một bảng ‘Nhạy cảm’ trong cơ sở dữ liệu của bạn mà không bao giờ nên được truy vấn. Gắn một trigger để buộc thực hiện tra cứu DNS thông qua đường dẫn UNC nếu có bất kỳ ai chạy câu lệnh SELECT. Đây là một cách tuyệt vời để bắt các DBA biến chất hoặc các cuộc tấn công SQL injection.

-- Buộc SQL Server thực hiện truy vấn DNS thông qua đường dẫn UNC
CREATE TRIGGER [Trp_SensitiveTable_Access]
ON [SensitiveTable]
FOR SELECT
AS
BEGIN
    -- Buộc gửi yêu cầu DNS đến máy chủ canary token
    EXEC master..xp_getfiledetails '\\your-token-id.canarytokens.com\a.txt';
END;

Phản ứng khi bẫy bị kích hoạt

Khi cảnh báo đó xuất hiện lúc 2 giờ sáng, đừng hoảng loạn. Một trigger Canarytoken có độ tin cậy cao, nhưng nó là điểm bắt đầu của cuộc điều tra, không phải điểm kết thúc. Bây giờ bạn đã có mốc thời gian và một địa chỉ IP.

Ngay lập tức đối chiếu dữ liệu này với VPN logs và các công cụ EDR của bạn. Bởi vì token đã bị kích hoạt, bạn biết chính xác phân đoạn mạng nào mà kẻ tấn công đang khám phá. Hãy sử dụng thông tin này để cô lập subnet bị ảnh hưởng hoặc thay đổi các thông tin xác thực bị lộ trước khi chúng có thể leo thang đặc quyền. Công nghệ đánh lừa không thay thế MFA, nhưng nó mua cho bạn tài sản quý giá nhất trong bảo mật: thời gian.

Share: