0
0
Lập trình
Sơn Tùng Lê
Sơn Tùng Lê103931498422911686980

Phân Tích Bộ Nhớ: Khám Phá Bí Mật Tấn Công Không Ghi Trên Đĩa

Đăng vào 1 ngày trước

• 11 phút đọc

Giới thiệu

Trung tâm vận hành an ninh mạng đang trong tình trạng báo động cao. Một máy chủ quan trọng đang thể hiện những hành vi mạng lạ lùng, gửi đi những tín hiệu mã hóa nhỏ đến một địa chỉ không rõ vào giữa đêm. Tuy nhiên, nền tảng Phát hiện và Phản ứng Điểm Cuối (EDR) không báo cáo bất kỳ quy trình độc hại nào. Các quét virus trở về hoàn toàn sạch sẽ. Một hình ảnh pháp y toàn bộ của ổ cứng không tiết lộ điều gì—không có tệp thực thi đáng ngờ, không có DLL độc hại, không có mục log đáng nghi. Đối với các công cụ điều tra kỹ thuật số truyền thống, hệ thống có vẻ hoàn hảo. Nhưng lưu lượng truy cập ra ngoài không nói dối. Có một bóng ma trong máy, một kẻ xâm nhập hoạt động trong một chiều không gian mà pháp y dựa trên đĩa không còn nhìn thấy được: thế giới tạm thời, dễ bay hơi của bộ nhớ hệ thống.

Thực trạng và thách thức

Kịch bản này là thực tế mới của phản ứng sự cố hiện đại. Trong nhiều năm, pháp y kỹ thuật số là một khoa học của tính tĩnh, phân tích cẩn thận dữ liệu đang ở trạng thái nghỉ trên ổ cứng và ổ SSD. Nhưng đối thủ của chúng ta đã phát triển. Họ đã học rằng đĩa là nơi có tính vĩnh cửu, nơi họ để lại dấu vết. Để tránh điều này, họ đã ngày càng áp dụng phần mềm độc hại "không tệp" và kỹ thuật tấn công "trong bộ nhớ", một mô hình tinh vi mà mã độc không bao giờ được ghi vào đĩa mà được tải trực tiếp vào Bộ nhớ truy cập ngẫu nhiên (RAM), thực thi và thực hiện nhiệm vụ từ nơi trú ẩn dễ bay hơi này, biết rằng một khởi động lại đơn giản sẽ xóa sạch mọi thứ, phá hủy bằng chứng mãi mãi. Trong chiến trường mới này, phân tích bộ nhớ đã phát triển từ một kỹ năng chuyên biệt thành lĩnh vực quan trọng nhất để săn lùng những mối đe dọa tiên tiến nhất ngày nay. Đó là nghệ thuật thực hiện một cuộc khám nghiệm kỹ thuật số trên tâm trí của một hệ thống đang chạy, khám phá những bí mật mà không bao giờ được tìm thấy.

Nguyên tắc cơ bản của tấn công

Sự thay đổi cơ bản trong phương pháp của kẻ tấn công mà cần đến phân tích bộ nhớ được mô tả tốt nhất như là "Sống trên Đất" (LotL). Kẻ thù không còn cần đưa vào các công cụ tùy chỉnh ồn ào của riêng mình. Thay vào đó, họ sử dụng các công cụ quản trị hợp pháp mạnh mẽ đã được tích hợp sẵn trong hệ điều hành. Họ sử dụng Windows PowerShell để tải xuống và chạy các kịch bản trực tiếp trong bộ nhớ, họ tận dụng Windows Management Instrumentation (WMI) để duy trì sự tồn tại mà không cần tệp, và họ tiêm mã độc của mình vào không gian bộ nhớ của các quy trình tin cậy đang hoạt động như explorer.exe hoặc svchost.exe. Từ góc nhìn của một giải pháp diệt virus truyền thống, không có gì sai cả; một quy trình tin cậy của Microsoft chỉ đơn giản là thực hiện một kết nối mạng. Thiếu khả năng nhìn trực tiếp vào nội dung của RAM, nhà điều tra thực sự bị mù, buộc phải tin tưởng vào những gì hệ điều hành bị xâm phạm đang nói với họ. Phân tích bộ nhớ mang lại cho chúng ta một loại siêu năng lực: khả năng vượt qua những lời nói dối của hệ điều hành và đọc sự thật thô, không lọc về những gì đang thực sự xảy ra trong bộ nhớ của hệ thống vào một thời điểm nhất định.

Quy trình phân tích bộ nhớ

Quy trình phân tích bộ nhớ là một hoạt động tinh vi và nhạy cảm về thời gian, được điều chỉnh bởi "Thứ tự Tính dễ bay hơi", một nguyên tắc cốt lõi quy định rằng bằng chứng nên được thu thập từ cái dễ bay hơi nhất đến cái ít dễ bay hơi nhất. Dữ liệu trong các thanh ghi và bộ nhớ cache của CPU là tạm thời nhất, nhưng nội dung của RAM là rất gần thứ hai. Ngay khi một máy bị xâm phạm bị tắt nguồn, toàn bộ hiện trường vụ án sẽ bị xóa sổ. Do đó, bước đầu tiên và quan trọng nhất là thu thập hình ảnh bộ nhớ, một bức ảnh bit theo bit của toàn bộ nội dung của RAM. Đây không phải là một thao tác sao chép và dán đơn giản. Nó phải được thực hiện với các công cụ chuyên dụng, đáng tin cậy từ một ổ USB bị khóa ghi để đảm bảo nhà điều tra không làm ô nhiễm chính bằng chứng mà họ đang cố gắng bảo vệ. Các tiện ích như FTK Imager, Ram Capturer của Belkasoft, hoặc sự đơn giản của dòng lệnh DumpIt được sử dụng để đọc cẩn thận nội dung của bộ nhớ và ghi nó vào một tệp lớn duy nhất, thường có phần mở rộng .mem hoặc .dmp. Tệp này, có thể nhiều gigabyte, là tương đương kỹ thuật số của một bệnh nhân được đưa vào phòng cấp cứu—đó là nguyên liệu thô từ đó toàn bộ câu chuyện về sự xâm phạm sẽ được tái tạo.

Bắt đầu điều tra

Khi hình ảnh bộ nhớ đã được thu thập an toàn, cuộc điều tra thực sự bắt đầu. Công cụ chính cho cuộc khám nghiệm kỹ thuật số này là Volatility, một khung phân tích bộ nhớ mã nguồn mở đã trở thành tiêu chuẩn ngành. Volatility không phải là một chương trình đơn giản với nút "tìm ác"; nó là một khung phức tạp hiểu cấu trúc dữ liệu cực kỳ phức tạp mà một hệ điều hành sử dụng để quản lý trạng thái của nó trong bộ nhớ. Trước khi bất kỳ phân tích nào có thể bắt đầu, nhà điều tra phải đầu tiên cho Volatility biết họ đang nhìn vào cái gì.

Thiết lập hồ sơ

Với hồ sơ được thiết lập, nhà điều tra bắt đầu đặt ra những câu hỏi cơ bản. Câu hỏi đầu tiên luôn là, "Cái gì đang chạy trên hệ thống này?" Lệnh pslist sẽ hiển thị danh sách các quy trình đang chạy, nhưng phép màu thực sự đến từ pstree, hiển thị chúng trong một cấu trúc cha-con. Đây thường là nơi dấu hiệu đầu tiên của một kẻ xâm nhập xuất hiện. Một cây quy trình bình thường có thể cho thấy explorer.exe là cha của các ứng dụng mà người dùng khởi chạy, như trình duyệt web. Nhưng một cây quy trình cho thấy Microsoft Word (winword.exe) tạo ra một quy trình PowerShell (powershell.exe) là một cờ đỏ lớn, một chỉ báo cổ điển của một tài liệu có macro độc hại thực thi một tải trọng không tệp.

Kết nối mạng

Tiếp theo, nhà điều tra hỏi, "Máy này đã kết nối với cái gì?" Lệnh netscan tái tạo các kết nối mạng đã hoạt động tại thời điểm thu thập bộ nhớ. Đây là nơi giao tiếp của bóng ma được tiết lộ. Nhà điều tra có thể phát hiện ra quy trình PowerShell lạ đã duy trì một kết nối mã hóa liên tục với máy chủ chỉ huy và kiểm soát (C2) ở một quốc gia nước ngoài—một kết nối mà đã bị ẩn khỏi người dùng nhưng được phơi bày trong hình ảnh bộ nhớ. Lệnh này có thể một mình giải mã toàn bộ cơ sở hạ tầng C2 của kẻ tấn công. Để có cái nhìn sâu hơn, một nhà điều tra có thể sử dụng các plugin cmdscan hoặc consoles để xem các lệnh chính xác mà kẻ tấn công đã gõ vào một dấu nhắc lệnh, cung cấp một bản sao chính xác các hành động của họ.

Khám phá mã độc

Nhưng sức mạnh thực sự của phân tích bộ nhớ là khả năng vạch trần phần mềm độc hại được thiết kế để trở nên vô hình. Đây là lúc các kỹ thuật nâng cao phát huy tác dụng. Kẻ tấn công thường sử dụng một kỹ thuật gọi là "tiêm mã", nơi họ cấp phát một vùng bộ nhớ bên trong một quy trình hợp pháp, sao chép mã độc của họ vào đó và sau đó thực thi nó. Lệnh malfind được thiết kế riêng để săn lùng điều này. Nó quét bộ nhớ của mọi quy trình, tìm kiếm các dấu hiệu đặc trưng của mã đã được tiêm—cụ thể, các trang bộ nhớ với quyền hiếm và rất đáng ngờ là Đọc-Ghi-Thực thi (RWX). Khi nó tìm thấy một vùng như vậy, nó có thể trút nội dung, điều này thường tiết lộ mã shell độc hại thô mà kẻ tấn công đã tiêm. Đây là cách một nhà phân tích có thể khôi phục tải trọng phần mềm độc hại thực tế mà không bao giờ tồn tại trên đĩa.

Hơn nữa, Volatility có thể được sử dụng để phát hiện sự hiện diện của rootkits, những thứ ẩn đi sự hiện diện của chúng khỏi hệ điều hành. Plugin psxview có thể so sánh danh sách quy trình từ năm vị trí khác nhau trong bộ nhớ; nếu một quy trình xuất hiện trong một số danh sách nhưng không có trong những danh sách khác, đó là một dấu hiệu mạnh mẽ rằng nó đang bị ẩn một cách chủ động. Đối với những mối đe dọa tiên tiến nhất, nhà điều tra có thể trút toàn bộ không gian bộ nhớ của một quy trình nghi ngờ bằng procdump và tải trọng đã giải mã với memdump, cho phép phân tích ngược hoàn chỉnh một mối đe dọa mà cho đến lúc đó, hoàn toàn là một bóng ma. Trong bộ dump bộ nhớ, tất cả các bí mật đều được tiết lộ—các băm mật khẩu có thể được trích xuất từ các bầy SAM, các khóa mã hóa được sử dụng bởi ransomware có thể được tìm thấy trong bộ nhớ của một quy trình, và các đoạn dữ liệu dạng văn bản có thể được khôi phục.

Tương lai của phân tích bộ nhớ

Phân tích bộ nhớ đã thay đổi căn bản tính toán của phản ứng sự cố. Nó đã biến cái dễ bay hơi thành cái có thể quan sát được. Trong một thế giới của các cuộc tấn công không tệp và các kỹ thuật né tránh tinh vi, nội dung dễ bay hơi của RAM không còn chỉ là một không gian làm việc tạm thời cho hệ điều hành; chúng là nguồn sự thật cuối cùng tốt nhất. Đó là nơi lệnh của kẻ tấn công, mã độc đã giải mã, và các kết nối mạng đang hoạt động tồn tại trong trạng thái thô, không lọc của chúng. Đối với nhà điều tra kỹ thuật số hiện đại, phân tích một bộ dump bộ nhớ không chỉ là một quá trình kỹ thuật; đó là hành động bước vào một khoảnh khắc đông cứng trong thời gian, đi bộ qua hiện trường vụ án kỹ thuật số, và cuối cùng tiết lộ bóng ma trong máy.

Khuyến nghị và mẹo thực hành

  • Thực hiện phân tích bộ nhớ ngay lập tức: Thời gian là yếu tố quan trọng; càng để lâu, càng có nguy cơ mất bằng chứng.
  • Sử dụng công cụ đáng tin cậy: Đảm bảo rằng các công cụ bạn sử dụng đã được kiểm chứng và đáng tin cậy.
  • Ghi chép cẩn thận: Lưu giữ tất cả các bước và phát hiện của bạn để có thể tham khảo sau này hoặc để báo cáo.

Câu hỏi thường gặp (FAQ)

Phân tích bộ nhớ là gì?

Phân tích bộ nhớ là quá trình thu thập và phân tích nội dung của RAM để phát hiện các hoạt động độc hại hoặc mã độc không được ghi trên đĩa.

Tại sao phân tích bộ nhớ lại quan trọng?

Nó cho phép các nhà điều tra phát hiện và hiểu các cuộc tấn công tinh vi mà không để lại dấu vết trên đĩa cứng.

Công cụ nào là tốt nhất cho phân tích bộ nhớ?

Volatility là một trong những công cụ phổ biến và mạnh mẽ nhất được sử dụng trong ngành để phân tích bộ nhớ.

Tôi có thể tự học phân tích bộ nhớ không?

Có, có nhiều tài nguyên và khóa học trực tuyến có sẵn để giúp bạn bắt đầu với phân tích bộ nhớ.

Tác động của phân tích bộ nhớ đến bảo mật hệ thống là gì?

Phân tích bộ nhớ cung cấp cho bạn những hiểu biết sâu sắc về cách mà kẻ tấn công có thể xâm nhập hệ thống, từ đó giúp tăng cường các biện pháp bảo mật và phát hiện sớm các mối đe dọa.

Kết luận

Phân tích bộ nhớ đã trở thành một phần không thể thiếu trong chiến lược bảo mật hiện đại. Với sự gia tăng của các cuộc tấn công không tệp và các kỹ thuật né tránh tinh vi, việc hiểu rõ và khai thác nội dung bộ nhớ là điều cần thiết cho các nhà điều tra kỹ thuật số. Hãy trang bị cho mình kiến thức và công cụ cần thiết để bảo vệ hệ thống của bạn khỏi những mối đe dọa ngày càng tinh vi.

Khám phá thêm về bảo mật kỹ thuật số tại Digital Security Lab.

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào