Tải bản đầy đủ (.docx) (45 trang)

Tìm hiểu một số kỹ thuật thu thập và phân tích thông tin an ninh mạng từ bộ nhớ máy tính

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.49 MB, 45 trang )

HỌC VIỆN KỸ THUẬT MẬT MÃ
KHOA AN TOÀN THÔNG TIN
----------

BÀI TẬP LỚN

Đề tài: Tìm hiểu một số kỹ thuật thu thập và phân tích
thông tin an ninh mạng từ bộ nhớ máy tính
Lớp: L01
Sinh viên thực hiện:
Trần Thị Thanh Huyền
Vũ Thị Hương
Nguyễn Thị Hồng
Phạm Thị Quỳnh
Phạm Bảo Yến
Giảng viên: Nguyễn Thị Hồng Hà

Hà Nội, 5/201


LỜI MỞ ĐẦU

Ngày nay, công nghệ thông tin đang chiếm một vị trí quan trọng trong mọi lĩnh vực
cuộc sống. Sự bùng nổ của khoa học công nghệ nói chung và công nghệ thông tin nói riêng
đã đem lại rất nhiều lợi ích cho con người, rút ngắn khoảng cách về giao tiếp, tiết kiệm thời
gian và chi phí công việc.
Bên cạnh đó, các tổ chức cũng đang phải đối mặt với nhiều thách thức, khi mà công
nghệ càng phát triển, giá trị thông tin được truyền tải và lưu trữ trên các hệ thống máy tính
ngày càng cao, đấy chính là mục tiêu của các cuộc tấn công nhằm vào máy tính để đánh
cắp thông tin quan trọng, làm ảnh hưởng đến uy tín của tổ chức. Bài toán an toàn thông tin
luôn là vấn đề cần chú trọng khi các kỹ thuật tấn công ngày càng tin vi song song với việc


đảm bảo an toàn hệ thống vận hành an toàn, thì yêu cầu ứng phó và giải quyết khi có sự cố
xảy ra để đưa hệ thống vào tình trạng hoạt động bình thường trong thời gian nhanh nhất
cũng luôn là vấn đề trọng tâm.
Vì vậy, nhóm em đã lựa chọn đề tài “Tìm hiểu một số kỹ thuật thu thập và phân tích
thông tin an ninh mạng từ bộ nhớ máy tính” để tìm hiểu về một số kỹ thuật thu thập và
phân tích các thống tin an ninh mạng lấy được từ bộ nhớ của máy tính cũng như triển khai
hướng giải quyết.
Bản báo cáo có 3 phần:
Chương I: Tổng quan về thu thập và phân tích thông tin an ninh mạng từ bộ
nhớ máy tính
Chương này giới thiệu tổng quan về điều tra số, vai trò, ứng dụng và quy trình của
thu thập và phân tích bộ nhớ máy tính.
Chương II: Một số kỹ thuật và công cụ thu thập và phân tích thông tin an ninh
mạng từ bộ nhớ máy tính
Chương này giới thiệu về các kỹ thuật và một số công cụ phổ biến được sử dụng để
thu thập và phân tích thông tin an ninh từ bộ nhớ máy tính.

Page 1


Chương III: Triển khai mô hình thu thập và phân tích thông tin an ninh từ bộ
nhớ máy tính
Chương này sẽ áp dụng các quy trình kỹ thuật ở các phần trên để tiến hành điều tra
thu thập, phân tích thông tin từ bộ nhớ máy tính. Mặc dù đã cố gắng nhưng do kiến thức và
thời gian còn nhiều hạn chế nên chắc chắn đề tài không khỏi có những thiếu sót, chúng em
rất mong nhận được những ý kiến đóng góp của thầy cô và các bạn sinh viên để chúng em
có thể tìm hiểu sâu hơn về đề tài này.
Chúng em xin chân thành cảm ơn!

Page 2



Contents

MỤC LỤC
LỜI MỞ ĐẦU....................................................................................................................................1
DANH MỤC HÌNH ẢNH.................................................................................................................6
CHƯƠNG I – TỔNG QUAN VỀ THU THẬP VÀ PHÂN TÍCH THÔNG TIN AN NINH MẠNG
TỪ BỘ NHỚ MÁY TÍNH.................................................................................................................8
1.1.

Giới thiệu về điều tra số......................................................................................................8

1.2.

Giới thiệu phân tích điều tra bộ nhớ máy tính.....................................................................9

1.3.

Giới thiệu về thu thập bộ nhớ máy tính.............................................................................10

1.4.

Vai trò và ứng dụng của thu thập và phân tích bộ nhớ máy tính.......................................11

1.5.

Quy trình thu thập và phân tích thông tin từ bộ nhớ máy tính..........................................11

1.5.1.


Kiểm tra xác minh......................................................................................................12

1.5.2.

Mô tả hệ thống...........................................................................................................13

1.5.3.

Thu thập chứng cứ.....................................................................................................13

1.5.4.

Thiết lập mốc thời gian và phân tích..........................................................................13

1.5.5.

Phân tích phương tiện truyền dữ liệu.........................................................................14

1.5.6.

Khôi phục dữ liệu.......................................................................................................14

1.5.7.

Tìm kiếm chuỗi..........................................................................................................14

1.5.8.

Lập báo cáo................................................................................................................15


CHƯƠNG II – MỘT SỐ KỸ THUẬT VÀ CÔNG CỤ THU THẬP VÀ PHÂN TÍCH THÔNG
TIN AN NINH MẠNG TỪ BỘ NHỚ MÁY TÍNH.........................................................................16
2.1.

Các kỹ thuật sử dụng trong thu thập và phân tích thông tin từ bộ nhớ máy tính..............16

2.1.1.

Thu lại bộ nhớ khả biến.............................................................................................16

2.1.2.

Xác định nơi tìm bộ nhớ khả biến..............................................................................17

2.1.3.

Liệt kê các tiến trình đang được thực thi...................................................................17

2.1.4.

Liệt kê các kết nối mạng có trong hệ thống...............................................................17

2.1.5.

Phục hồi các tập tin ánh xạ trong bộ nhớ...................................................................18

2.1.6.

Phân tích ngược tập tin chứa mã độc.........................................................................18

Page 3


2.1.7.
2.2.

Phân tích registry.......................................................................................................19

Một số công cụ..................................................................................................................20

2.2.1.

Volatility.....................................................................................................................20

2.2.2.

DFF - Digital Forensic Framework............................................................................21

2.2.3.

The Sleuth Kit và Autospy.........................................................................................22

2.2.4.

SANS Investigate Forensic Toolkit (SIFT)................................................................23

3.1. Xây dựng bài toán.................................................................................................................25
3.2. Lựa chọn công nghệ..............................................................................................................25
3.2.1. Quy trình thực hiện:........................................................................................................25
3.2.2. Các công cụ sử dụng để thu thập, phân tích:..................................................................26

3.3. Thu thập chứng cứ và phân tích............................................................................................27
3.3.1. Xác định hệ thống tiến hành kiểm tra, xác định môi trường thực sự đang được phân tích
..................................................................................................................................................27
3.2.1. Phân tích tiến trình..........................................................................................................27
3.2.2. Phân tích mạng...............................................................................................................34
3.2.3. Phân tích Registry...........................................................................................................37
3.2.4. Phân tích Kernel Memory và Objects.............................................................................39
3.3. Báo cáo kết quả đạt được......................................................................................................42
KẾT LUẬN......................................................................................................................................44
TÀI LIỆU THAM KHẢO................................................................................................................45

Page 4


DANH MỤC HÌNH ẢNH
Hình 1.1: Sơ đồ quy trình điều tra bộ nhớ.................................................................10
Hình 2.1: Kiểm tra các kết nối mạng.........................................................................16
Hình 2.2: Các plugins mà volatility hỗ trợ................................................................18
Hình 2.3: Giao diện VolUtility..................................................................................19
Hình 2.4: Giao diện của DFF....................................................................................20
Hình 2.5: Giao diện công cụ The Sleuth Kit.............................................................21
Hình 2.6: Giao diện SANS SIFT...............................................................................22
Hình 3.1: Thông tin hệ thống cần điều tra.................................................................25
Hình 3.2: Module pslist trong Volatility....................................................................26
Hình 3.3: Module pslist trong Volatility(2)...............................................................26
Hình 3.4:Các tiến trình trong bộ nhớ.........................................................................27
Hình 3.5:Các tiến trình trong bộ nhớ(2)....................................................................27
Hình 3.6: Tiến trình cha/con......................................................................................28
Hình 3.7:Tiến trình cha/con(2)..................................................................................28
Hình 3.8: Tham số các tiến trình...............................................................................29

Hình 3.9: Các thư viện dll mà tiến trình executable40684e80.exe sử dụng..............29
Hình 3.10: Trích xuất chương trình từ tiến trình.......................................................30
Hình 3.11: Kết quả scan virustotal executable40684e80.exe....................................30
Hình 3.12: Kết quả scan virustotal shell.exe.............................................................31
Hình 3.13: Kết quả scan virustotal xmrig.exe...........................................................32
Hình 3.14: Module netscan........................................................................................33
Hình 3.15: Thông tin ip 108.61.164.63.....................................................................34
Hình 3.16: Địa chỉ ảo và vật lý của Registry.............................................................35
Hình 3.17: In giá trị trong Registry...........................................................................36
Hình 3.18: Dump dữ liệu tài khoản trong registry....................................................36
Page 5


Hình 3.19: Dump Isa.................................................................................................37
Hình 3.20: Các hoạt động của người dùng................................................................37
Hình 3.21: Danh sách trình điều khiển......................................................................38
Hình 3.22: Danh sách các driver được nạp...............................................................38
Hình 3.23: danh sách file object................................................................................39
Hình 3.24: Liên kết Symlink.....................................................................................40

Page 6


CHƯƠNG I – TỔNG QUAN VỀ THU THẬP VÀ PHÂN TÍCH THÔNG TIN AN
NINH MẠNG TỪ BỘ NHỚ MÁY TÍNH
1.1.

Giới thiệu về điều tra số
Digital Forensics (điều tra số) là một nhánh của ngành khoa học điều tra đề cập đến


việc sử dụng các phương pháp, công cụ kỹ thuật khoa học đã được chứng minh để thu
thập, bảo quản, phân tích, lập báo cáo và trình bày lại những thông tin thực tế từ các nguồn
dữ liệu số với mục đích tạo điều kiện hoặc thúc đẩy việc tái hiện lại các sự kiện nhằm tìm
ra hành vi phạm tội hay hỗ trợ cho việc dự đoán các hoạt động trái phép như cố ý xâm
nhập, tấn công hoặc gây gián đoạn quá trình làm việc của hệ thống.
Mục đích quan trọng nhất của điều tra số là thu thập, phân tích và tìm ra chứng cứ
thuyết phục về một vấn đề cần sáng tỏ. Điều tra số có những ứng dụng quan trọng trong
khoa học điều tra cụ thể.
Về mặt kỹ thuật thì điều tra số giúp xác định những gì đang xảy ra làm ảnh hưởng
tới hệ thống đồng thời qua đó phát hiện các nguyên nhân hệ thống bị xâm nhập, các hành
vi, nguồn gốc của các vi phạm xảy ra đối với hệ thống.
Một số loại hình điều tra số phổ biến:
-

Registry Forensics: Đây là loại hình điều tra liên quan đến việc trích xuất
thông tin và ngữ cảnh từ một nguồn dữ liệu chưa được khai thác qua đó biết
được những thay đổi (chỉnh sửa, thêm bớt…) dữ liệu trong Register

-

Disk Forensics: Là việc thu thập, phân tích dữ liệu được lưu trữ trên phương
tiện lưu trữ vật lý, nhằm trích xuất dữ liệu ẩn, khôi phục các tập tin bị xóa,
qua đó xác định người đã tạo ra những thay đổi dữ liệu trên thiết bị được
phân tích.

-

Mobile forensics: Là loại hình điều tra được thực hiện trên các thiết bị di
động, thiết bị PDA, GPS, máy tính bảng, nhằm thu thập dữ liệu, các chứng
cứ kỹ thuật số.


Page 7


-

Application Forensics: Là loại hình điều tra phân tích các ứng dụng chạy trên
hệ thống như Email, dữ liệu trình duyệt, skype, yahoo… Qua đó trích xuất
các bản ghi được lưu trữ trên các ứng dụng phục vụ cho việc điều tra tìm
kiếm chứng cứ.

-

Network Forensics: Là một nhánh của digital forensics liên quan đến việc
theo dõi, giám sát, phân tích lưu lượng mạng máy tính nhằm phục vụ cho
việc thu thập thông tin, sự kiện liên quan, tìm kiếm chứng cứ pháp lý, mục
đích là phát hiện sự bất thường, các dấu hiệu xâm nhập trên môi trường
mạng.

-

Memory Forensics: Là phương thức điều tra máy tính bằng việc ghi lại bộ
nhớ khả biến (bộ nhớ RAM) của hệ thống sau đó tiến hành phân tích làm rõ
các hành vi đã xảy ra trên hệ thống. Cụ thể hơn, đó là cố gắng sử dụng kiến
trúc quản lý bộ nhớ trong máy tính để ánh xạ, trích xuất các tập tin đang thực
thi và cư trú trong bộ nhớ.

1.2.

Giới thiệu phân tích điều tra bộ nhớ máy tính

Memory Forensics là kỹ thuật điều tra máy tính bằng việc ghi lại bộ nhớ RAM của

hệ thống thời điểm có dấu hiệu nghi ngờ, hoặc đang bị tấn công để tiến hành điều tra, giúp
cho việc xác định nguyên nhân cũng như các hành vi đã xảy ra trên hệ thống, cung cấp các
chứng cứ phục vụ cho việc xử lý tội phạm.
Kỹ thuật điều tra này được sử dụng khi quá trình phân tích tĩnh từ những gói tin thu
được, cũng như các thông tin từ nhật ký hệ thống ghi lại, nhưng chưa xác định được nguồn
gốc cũng như kỹ thuật tấn công, hoặc cung cấp các thông tin có được chưa đầy đủ, chưa đủ
sức thuyết phục.
Như chúng ta biết phân tích điều tra bộ nhớ RAM cũng giống như tất cả những nỗ
lực điều tra số khác, nó liên quan đến việc thu thập thông tin, để có thể cung cấp các chứng
cứ như bằng chứng sử dụng trong điều tra hình sự. Nhưng cụ thể hơn thì đây là kỹ thuật
mà người điều tra cố gắng sử dụng kiến trúc quản lý bộ nhớ trong máy tính để ánh xạ, trích
xuất các tập tin đang thực thi và cư trú trong bộ nhớ vật lý của máy tính. Những tập tin
thực thi có thể được sử dụng để chứng minh rằng hành vi của tội phạm đã xảy ra hoặc để
Page 8


theo dõi nó đã diễn ra như thế nào. Tính hữu ích của loại hình điều tra này đó là trong thực
tế, bất kỳ thông tin nào tìm thấy trong bộ nhớ RAM, sẽ được hiểu là gần đây nó đã được
chạy trên hệ thống của nạn nhân.
1.3.

Giới thiệu về thu thập bộ nhớ máy tính
Sự thành công của phân tích thường phụ thuộc vào sự khởi đầu trong giai đoạn thu

thập của cuộc điều tra. Trong giai đoạn này, điều tra viên phải đưa ra quyết định về dữ liệu
nào cần thu thập và phương pháp tốt nhất để thu thập dữ liệu đó. Về cơ bản, thu thập bộ
nhớ là sao chép nội dung của bộ nhớ vật lý sang thiết bị lưu trữ khác để bảo quản. Các
phương pháp và công cụ cụ thể được sử dụng thường phụ thuộc vào mục tiêu điều tra và

đặc điểm của hệ thống đang điều tra.
Một nhà điều tra kỹ thuật số tìm cách bảo vệ trạng thái của môi trường kỹ thuật số
theo cách cho phép điều tra viên đạt được các suy luận chính xác thông qua phân tích. Dữ
liệu được lưu trữ trên đĩa và trong RAM cung cấp hai thành phần quan trọng nhất của môi
trường đó.Quan điểm truyền thống về điều tra số tập trung vào giả định rằng độ tin cậy của
các suy luận hoàn toàn phụ thuộc vào việc thu thập bằng chứng mà không thay đổi trạng
thái của nó. Ví dụ, các thủ tục xử lý bằng chứng thường được chấp nhận liên quan đến việc
tắt hệ thống và tạo bản sao (ảnh) của dữ liệu trên thiết bị lưu trữ đĩa để phân tích ngoại
tuyến. Các quy trình và thủ tục chuyển đổi này tập trung vào việc giảm thiểu sự thay đổi
đối với các file dữ liệu hệ thống
Khi lĩnh vực kỹ thuậtđiều tra số đã phát triển, nó đã trở nên rõ ràng với việc lưu trữ
chọn lọc một số bằng chứng khi các chi phí bằng chứng quan trọng khác cũng có thể ảnh
hưởng đến độ chính xác của suy luận được đưa ra. Điều này đặc biệt quan trọng khi các tác
nhân độc hại luôn tìm cách khai thác các hạn chế của kỹ thuật thu thập chứng cứ pháp y kỹ
thuật số truyền thống. Bằng cách so sánh dữ liệu từ nhiều nguồn (đĩa, mạng, bộ nhớ, v.v.)
trong môi trường kỹ thuật số, chúng ta có thể hiểu rõ hơn về những gì đã xảy ra trên hệ
thống so với góc nhìn hạn chế là chỉ tiếp nhận dữ liệu từ một bộ nhớ đĩa. Với các nguồn
thay thế này, chúng ta phải chấp nhận rằng tất cả các phương pháp chuyển đổi, bao gồm
các thủ tục chuyển đổi đĩa truyền thống, sẽ dẫn đến một số biến dạng đối với môi trường
kỹ thuật số. Các nhà điều tra phải hiểu được cách mà những thay đổi đó có thể tác động
Page 9


đến kết quả phân tích và thứ tự mà cần phải thu thập dữ liệu để giảm tác động đó. Quá
trình thực hiện thường được ưu tiên dựa trên thứ tự sự thay đổi giảm dần (tức là, bằng
chứng cho thấy thay đổi nhanh hơn được thu thập trước những bằng chứng ổn định hơn).
Và thực tế, điều này có nghĩa là bằng chứng bộ nhớ khả biến cần được thu thập trước.
1.4.

Vai trò và ứng dụng của thu thập và phân tích bộ nhớ máy tính

Khoa học điều tra số đã chứng minh vai trò quan trọng của Memory Forensics, việc

điều tra bộ nhớ RAM nơi mà dữ liệu luôn sẵn sàng để ghi lại và phân tích, cung cấp những
chứng cứ rất có giá trị, nó vượt qua một số hạn chế của các phương pháp điều tra truyền
thống (phân tích đĩa vật lý), giải quyết các vấn đề mà các công nghệ mới như mã hóa có
thể gây ra khó khăn trong quá trình điều tra. Những phương pháp phân tích truyền thống bị
giới hạn bởi một số chỗ, ví dụ khi tiến hành phân tích chúng ta thường gặp khó khăn khi
không truy cập được dữ liệu đã được mã hóa trừ khi chúng ta có thể bẻ khóa được mật
khẩu của người dùng. Mà như chúng ta cũng biết khóa và mật khẩu rất hiếm khi được lưu
trữ trên đĩa. Tuy nhiên nó được thiết nạp vào và được lưu trữ trong bộ nhớ RAM, vì vậy
khi tiến hành phân tích bộ nhớ có thể cho phép chúng ta sử dụng các kỹ thuật và công cụ
để khôi phục mật khẩu và khóa mật mã một cách dễ dàng. Một hạn chế khác nữa của
phương pháp điều tra truyền thống đó là người phân tích sẽ không đủ khả năng trong việc
khám phá những thông tin về các tiến trình đang chạy trong bộ nhớ, do đó dễ bỏ qua việc
điều tra các ứng dụng, đang được hệ thống sử dụng tại thời điểm cuộc tấn công diễn ra,
cũng như các dữ liệu được che giấu trong bộ nhớ. Nhưng đối với Memory Forensics, thì
đây là một việc khá dễ dàng.
Ứng dụng chính của Memory Forensics là phân tích điều tra các cuộc tấn công máy
tính sử dụng công nghệ cao, với những kỹ thuật tinh vi, đủ để tránh việc để lại các chứng
cứ trên ổ đĩa cứng của máy tính. Chính vì vậy việc phân tích điều tra bộ nhớ RAM cho
chúng ta cái nhìn sâu sắc nhất, chính xác nhất về những gì đang diễn ra trên hệ thống tại
thời điểm hệ thống đang bị tấn công.
1.5.

Quy trình thu thập và phân tích thông tin từ bộ nhớ máy tính
Sơ đồ mô tả quy trình điều tra bộ nhớ máy tính:

Page 10



Hình 1.1: Sơ đồ quy trình điều tra bộ nhớ
1.5.1. Kiểm tra xác minh
Khi bắt đầu quá trình điều tra thì nhiệm vụ đầu tiên chính là việc kiểm tra xác minh.
Việc kiểm tra xác minh cung cấp một cái nhìn bao quát về các thông tin được ghi lại bởi hệ
thống, các ứng dụng ngăn chặn virus trên hệ thống hay các thiết bị mạng (firewall, IDS,
router). Tuy nhiên, việc kiểm tra xác minh đôi khi cũng gặp phải một số tình huống khó
khăn như:
-

Hệ thống máy tính đột nhiên bị ngưng trệ và các phương tiện truyền thông bị
đóng băng.

-

Hệ thống đang hoạt động với nguồn và các hoạt động (các tiến trình đang
chạy, các kết nối mạng đang được kích hoạt).
Page 11


Khi gặp phải những trường hợp trên thì việc điều tra bộ nhớ phải rất cẩn thận để
tránh phá hủy những thông tin dễ bị thay đổi (các tiến trình, bộ nhớ, kết nối mạng).
Giai đoạn này đòi hỏi chuyên viên điều tra phải sử dụng một bộ công cụ đơn giản và
có độ tin cậy cao để kiểm tra sự hiện diện của các kết nối bất thường, kiểm tra rookit, các
thư mục lạ, các tập tin nhị phân mới được cài đặt.
1.5.2. Mô tả hệ thống
Sau khi hoàn thành nhiệm vụ kiểm tra xác minh và chắc chắn có sự cố an ninh xảy
ra, chuyên viên điều tra sẽ tiến hành mô tả chi tiết các thông tin về hệ thống như đặc điểm
phần cứng, phần mềm đang cài đặt trên hệ thống, danh sách người dùng và các thông tin
khác.
Một phần của những dữ liệu này sẽ được lấy ra khỏi hệ thống bằng cách sử dụng

các phần mềm phục vụ cho quá trình điều tra, vì vậy việc điều tra không thể thực hiện ngay
trên hệ thống được xem là mục tiêu tấn công được, bởi vì hệ thống có thể đã bị cài đặt các
phần mềm độc hại.
1.5.3. Thu thập chứng cứ
Đây là giai đoạn rất quan trọng trong quy trình thu thập và phân tích thông tin từ bộ
nhớ máy tính. Tất cả các thông tin máy tính có sẵn phải được đưa vào một môi trường điều
tra an toàn để thực hiện công việc điều tra nhằm đảm bảo rằng chứng cứ thu được ban đầu
là toàn vẹn.
Các dữ liệu thu được từ hệ thống (bộ nhớ, tiến trình, kết nối mạng, phân vùng đĩa)
phải được ghi lại và ký mã bằng các thuật toán MD5 hoặc SHA1. Trước khi bắt đầu phân
tích, chuyên viên điều tra phải kiểm tra độ tin cậy của các dữ liệu này dựa vào thông tin mà
các chuỗi MD5 hay SHA1 cung cấp nhằm tránh việc gian lận và đặt hay làm giả chứng cứ
đánh lạc hướng điều tra.
1.5.4. Thiết lập mốc thời gian và phân tích
Sau khi thu thập xong chứng cứ, tiến hành thiết lập tập tin thời gian. Đây là một tập
tin dạng hình ảnh đầy đủ phục vụ hữu ích cho việc theo dõi các hoạt động của hệ thống
(hiển thị thời gian cuối cùng của một tập tin thực thi được chạy, các tập tin/thư mục được

Page 12


tạo/xóa trong thời gian qua, đồng thời nó cũng chứng minh được sự hiện diện của các kịch
bản đang hoạt động).
Quá trình thiết lập mốc thời gian bao gồm hai phần:
-

Phần 1: tạo các tệp tin trung gian với tất cả các thông tin (dữ liệu và siêu dữ
liệu) được lấy ra từ tập tin hình ảnh.

-


Phần 2: sắp xếp lại các dữ liệu đó theo thứ tự thời gian tăng dần.

1.5.5. Phân tích phương tiện truyền dữ liệu
Từ các kết quả thu được bởi việc phân tích thời gian, tiến hành phân tích phương
tiện truyền thông để tìm kiếm các đầu mối phía sau một hệ thống bị thỏa hiệp. Bộ công cụ
có sẵn phục vụ cho việc phân tích phụ thuộc vào một số nhân tố sau:
-

Nền tảng phần mềm được sử dụng trong máy tính phục vụ điều tra

-

Nền tảng phần mềm được sử dụng trong các hệ thống mục tiêu của việc phân
tích.

-

…….

Giai đoạn này, kiểm tra kỹ các lớp phương tiện truyền thông (vật lý, dữ liệu, siêu dữ
liệu, hệ thống tập tin) nhằm tìm kiếm bằng chứng về việc cài đặt tập tin nhi phân đáng ngờ,
các thư mục được thêm vào/gỡ bỏ.
1.5.6. Khôi phục dữ liệu
Sau khi phân tích phương tiện truyền dữ liệu, chuyên viên điều tra hoàn toàn có thể
tìm kiếm từ bộ nhớ đã được ghi lại và trích xuất ra các dữ liệu chưa được phân bố trong
ngăn xếp, sau đó phục hồi bất kỳ tệp tin nào bị xóa.
Tìm kiếm không gian trống (trong mỗi trường windows) hoặc tìm trong không gian
chưa phân bố dữ liệu có thể khám phá nhiều tập tin phân mảnh, đó có thể là đầu mối của
các hành động xóa tập tin, thời gian bị xóa,… Thời gian tập tin bị xóa là một trong những

thông tin quan trọng liên quan đến các cuộc tấn công đã xảy ra trên hệ thống.
1.5.7. Tìm kiếm chuỗi
Người phân tích tiến hành tìm kiếm các chuỗi cụ thể chứa bên trong các tập tin
nhằm tìm được các thông tin hữu ích như địa chỉ IP, địa chỉ Email,…để từ đó truy tìm dấu

Page 13


vết tấn công. Một danh sách chuẩn các từ khóa thường gặp có thể sẽ hữu ích để tìm ra
những thông tin liên quan đến một hệ thống bị thỏa hiệp.
1.5.8. Lập báo cáo
Tất cả các giai đoạn trên đều phải lập báo các mô tả chi tiết và dễ hiểu. Các chuyên
viên điều tra phải đưa ra các kỹ thuật điều tra, các công nghệ và các phương thức được sử
dụng cũng như chứng cứ thu thập được, tất cả phải được giải thích rõ ràng trong báo cáo
quá trình điều tra.

1.6.

Page 14


CHƯƠNG II – MỘT SỐ KỸ THUẬT VÀ CÔNG CỤ THU THẬP VÀ PHÂN TÍCH
THÔNG TIN AN NINH MẠNG TỪ BỘ NHỚ MÁY TÍNH
2.1.

Các kỹ thuật sử dụng trong thu thập và phân tích thông tin từ bộ nhớ máy tính

2.1.1. Thu lại bộ nhớ khả biến
Có 2 phương pháp để thu lại bộ nhớ khả biến là: Thu dựa trên phần cứng và thu dựa
trên phần mềm. Cả 2 phương pháp này đều có ưu nhược điểm riêng vào sẽ được mô tả

trong phần này. Nhìn chung, theo quan điểm điều tra pháp lý, việc thu lại dựa trên phần
cứng thì tốt hơn vì nó đáng tin cậy và thường khó khăn cho kẻ tấn công khi chúng cố ý làm
sai lạc chứng cứ, nhưng hiện tại phương pháp thu lại bộ nhớ khả biến dựa vào phần mềm
thường được sử dụng hơn do chi phí phù hợp và tính khả dụng.
Thu lại bộ nhớ khả biến dựa trên phần cứng liên quan đến việc tạm ngưng quá trình
xử lý của máy tính và thực hiện truy cập bộ nhớ trực tiếp (DMA) để có được một bản sao
của bộ nhớ. Nó được coi là tin cậy hơn do ngay cả khi hệ điều hành và phần mềm trên hệ
thống đã bị xâm nhập hoặc bị làm sai bởi một kẻ tấn công, chúng ta vẫn có thể nhận được
một hình ảnh chính xác của bộ nhớ, bởi vì chúng ta không phụ thuộc vào các thành phần
của hệ thống. Nhược điểm của phương pháp này là chi phí đắt đỏ. Một trong những phần
cứng chuyên dụng thiết kế cho mục đích này là Tribble Card (Carrier & Grand, 2004) – nó
là một tấm mạch PCI được cài sẵn trong hệ thống trước khi thỏa hiệp được diễn ra để cho
phép các nhà điều tra ghi lại bộ nhớ một cách chính xác và đáng tin cậy hơn phương pháp
thu lại dựa trên phần mềm.
Thu lại bộ nhớ khả biến dựa trên phần mềm là một kỹ thuật được sử dụng phổ biến
bằng việc sử dụng bộ công cụ đánh giá tin cậy được phát triển và cung cấp bởi các chuyên
gia điều tra số hàng đầu thế giới như Memoryze, win32dd,…. Hoặc cũng có thể sử dụng
những công cụ đã được tích hợp sẵn trong hệ điều hành (như memdump hoặc dd trong
Unix).
Cho dù các công cụ được tin cậy hoặc đã được có trên hệ thống thì nó cũng rất dễ bị
kẻ tấn công làm sai lạc, nếu kẻ tấn công đã xâm nhập được vào hệ điều hành của máy tính
đang được phân tích thì họ anh ta có thể ẩn các dữ liệu có liên quan bằng các thay đổi các
Page 15


lời gọi hệ thống và cấu trúc hệ thống bên trong. Một nhược điểm nữa của phương pháp này
là việc chụp lại bộ nhớ sẽ làm thay đổi nội dung của bộ nhớ, khả năng ghi đè lên dữ liệu
liên quan đến cuộc điều tra. Mặt khác, các công cụ cần để thực hiện thu lại bộ nhớ khả biến
dựa trên phần mềm là miễn phí và có sẵn.
2.1.2. Xác định nơi tìm bộ nhớ khả biến

Bộ nhớ khả biến được truy cập thông qua các cơ chế khác nhau tùy vào hệ điều
hành đang được sử dụng và phần cứng trong máy tính riêng của mình.
Trong Windows, có 2 đối tượng thiết bị phổ biến có thể được truy cập để lấy bộ nhớ
khả biến là: \\.\PhysicalMemory và \\.\DebugMemory. Một ảnh liệu định dạng RAW
thường được thu hồi trong các thiết bị trên. Sau khi một ảnh liệu định dạng RAW được thu
thì người phân tích có thể chuyển nó thành dạng định dạng crashdump của Microsoft và
xem xét nó như công cụ gỡ lỗi. Người phân tích cũng có thể sử dụng nhiều công cụ khác
để phân tích và kiểm tra nội dung của dữ liệu dump.
Trong Unix, các thiết bị bộ nhớ vật lý thường là /dev/mem/ và /proc/kcore. Không
phải tất cả các file hệ thống đều sử dụng /proc/kcore, nên người phân tích phải nắm được
file hệ thống để tìm hiểu xem thiết bị này có tồn tại hay không để tiến hành ghi lại và phân
tích.
2.1.3. Liệt kê các tiến trình đang được thực thi
Khi chúng ta có được bộ nhớ khả biến, việc tiếp theo chúng ta cần làm là phân
tích nó, để thông qua đó xác định các tiến trình đang chạy trên hệ thống tại thời điểm mà
quá trình ghi lại được thực hiện. Kỹ thuật này được sử dụng nhằm xác định mối liên hệ
giữa các tiến trình với nhau, các tiến trình nào đóng vai trò là tiến trình cha, sở hữu các tiến
trình con khác, cũng như xem có tiến trình nào lạ đang tồn tại trên hệ thống hay không, ao
gồm các tiến trình ẩn, việc này cung cấp cái nhìn tổng quan về các chương trình đang thực
thi trên hệ thống cũng như quyết định việc tiếp theo cần làm gì khi có danh sách các tiến
trình. Công cụ rất tốt phục vụ cho việc này là Volatility.
2.1.4. Liệt kê các kết nối mạng có trong hệ thống
Sau khi hệ thống được liệt kê các tiến trình đang chạy bao gồm các tiến trình ẩn,
chúng ta sẽ tiến hành kiểm tra xem có kết nối nào ra ngoài hệ thống hay không.
Page 16


Trước khi đi vào cụ thể chúng ta xét ví dụ sau:

Hình 2.1: Kiểm tra các kết nối mạng

Ở ví dụ trên danh sách kết nối ra vào hệ thống có một kết nối qua cổng 80 được sở
hữu bởi tiến trình 856. Việc liệt kê các kết nối mục đích là để xem nếu có kết nối ra ngoài
hệ thống thì những kết nối đó thuộc về tiến trình nào, nếu là tiến trình của trình duyệt thì
khi đó có thể là kết nối bình thường, trong trường hợp có nhiều kết nối đến cổng 80 nhưng
lại xuất hiện tiến trình như svschost thì rõ ràng có vấn đề trong phiên kết nối đó. Hầu hết
trong các công cụ phân tích bộ nhớ hiện nay đều hỗ trợ cho việc này.
2.1.5. Phục hồi các tập tin ánh xạ trong bộ nhớ
Như với các quá trình đã chấm dứt, các tệp đã bị đóng thường vẫn còn trong bộ nhớ,
nhưng không còn được liên kết thông qua các danh sách được hệ điều hành duy trì và phải
được tìm thấy bằng các phương thức thay thế.Quá trình khôi phục các tệp như vậy tương tự
như việc xây dựng lại các tệp trên một đĩa cứng đã bị xóa, mặc dù thực tế bộ nhớ thường bị
phân mảnh hơn nhiều so với một đĩa cứng làm cho quá trình tham gia nhiều hơn.Thông
thường, nhìn vào bảng phân trang sẽ cho phép các tệp được tạo lại ngay cả khi chúng
không còn hoạt động trong bộ nhớ.Ngoài ra còn có một khu vực của bộ nhớ được gọi là
"Khu vực kiểm soát" duy trì liên kết giữa tên tệp và dữ liệu tệp được lưu trữ trong các
trang; nếu khu vực này vẫn còn hiện diện thì tên tập tin cũng có thể được phục hồi.
2.1.6. Phân tích ngược tập tin chứa mã độc
Kĩ thuật này đòi hỏi người phân tích phải nắm vững kiến thức lập trình assembly và
một số ngôn ngữ lập trình hệ thống C/C++. Bên cạnh đó người phân tích phải nắm rõ kiến
Page 17


trúc hệ điều hành, kiến trúc bộ vi xử lí, cách thức cơ chế mã độc khi lây nhiễm. Với các
kiến thức và hiểu biết trên chúng ta cũng cần sử dụng các công cụ hỗ trợ cho việc phân tích
như IDA, Ollydebug, PeiD…
Kĩ thuật này thường áp dụng khi chúng ta trích xuất tập tin nghi ngờ chứa mã độc để
phân tích, mục đích để xem mã nguồn của mã độc đã được viết ra và thực thi như thế nào.
Để phân tích mã độc người phân tích cần tạo ra những môi trường ảo để phân tích,
đảm bảo mã độc không thể lây nhiễm ra ngoài hay làm hại đến máy tính của chính mình.
Giả sử ta đang ngồi phân tích một mã độc có khả năng lây lan mạnh nhất trong lịch sử. Và

ta bắt đầu phân tích nó bằng cách chạy nó ngay trên máy tính có kết nối ra internet của
mình. Việc đó sẽ khiến mã độc ngay lập tức có thể lây lan ra ngoài và gây ra hậu quả
không lường trước được. Hơn nữa có một quy tắc phân tích mã độc đó là tuyệt đối không
nên để cho chủ mưu nhận ra có người đang cố gắng phân tích mã độc của hắn.
Môi trường ảo ở đây sẽ được xây dựng tùy trường hợp, tùy từng đơn vị phân tích.
Đối với một người phân tích mã độc tự do không chuyên thì môi trường ảo chỉ đơn giản là:
Một Vmware hay Virtualbox có cài sẵn windows xp, win 7,…, cùng một số ứng dụng
thông dụng như java, adobe flash, firefox,…và máy ảo này sẽ không có kết nối mạng ra
ngoài và ra máy thật hoặc có kết nối ra máy thật, máy thật sử dụng Linux và không có kết
nối mạng.
2.1.7. Phân tích registry
Trong hệ điều hành windows thì registry chứa rất nhiều thông tin có giá trị, là nơi có
thể thu thập các chứng cứ rất hữu ích phục vụ cho việc điều tra. Hầu hết khi kiểm tra các
phần mềm độc hại tồn tại trên một hệ thống, thì chúng ta thường kiểm tra registry, quá
trình kiểm tra được thực hiện khi chúng ta tìm thấy tiến trình bị mã độc chèn vào.Trong
trường hợp phân tích điều tra bộ nhớ khả biến thì với việc phân tích registry chúng ta sẽ
thực hiện việc tạo dựng lại dữ liệu registry.
Khi tiến hành phân tích chúng ta tìm kiếm địa chỉ vật lí của registry hives trong bộ
nhớ, sau đó xác định địa chỉ ảo của registry trong bộ nhớ và đường dẫn đầy đủ đến hives
tương ứng trên đĩa và cuối cùng là hiển thị các khóa con, các giá trị, các dữ liệu và các kiểu

Page 18


dữ liệu chứa trong một khóa registry được chỉ định, mục đích là tìm kiếm những thông tin
quan trọng có ích cho việc điều tra.
2.2.

Một số công cụ


2.2.1. Volatility
Volatility là một framework với rất nhiều plugins được dùng để phân tích và tìm
kiếm thông tin từ chứng cứ thu được. Các plugins được viết để phân tích điều tra bộ nhớ
theo kiến trúc của hệ điều hành windows.

Hình 2.2: Các plugins mà volatility hỗ trợ
Việc phân tích sẽ tiến hành trong một môi trường độc lập với hệ thống ghi lại chứng
cứ, volatility cài đặt và cả làm việc được trên hệ điều hành Linux cũng như windows, trong
lĩnh vực Memory Forensic thì đây là công cụ không thể thiếu để điều tra và phân tích nó có
thể thực hiện được các công việc như xác định các tiến trình đang chạy trên hệ thống đó,
các registry handles, các sockets đang mở trên mạng, danh sách dlls được nhập vào trong
các tiến trình, các thư viện, hàm, API hooks trong người dùng và nhân …
Ngoài giao diện sử dụng dòng lệnh thì volatility còn được cộng đồng mã nguồn mở
phát triển thêm giao diện web để giúp cho người phân tích có cái nhìn trực quan hơn. Phiên
Page 19


bản giao diện web mang tên VolUtility được một lập trình viên “kevthehermit” phát triển
dựa trên nền tảng django của python.

Hình 2.3: Giao diện VolUtility
Với giao diện web này giúp cho người phân tích điều tra bộ nhớ có một cái nhìn
tổng quan và giúp cho việc phân tích sẽ nhanh hơn là giao diện dòng lệnh.
2.2.2. DFF - Digital Forensic Framework
DFF là phần mềm mã nguồn mở phục vụ cho việc điều chứng cứ tội phạm công
nghệ cao.
DFF được xây dựng để phục vụ cho việc dễ dàng thu thập thông tin cũng như việc
duy trì và phân tích các chứng cứ kỹ thuật số mà không gây ảnh hưởng đến dữ liệu và hệ
thống. Một số tính năng mà DFF hỗ trợ như:
-


Phân tích và xây dựng lại Windows registry

-

Trích xuất ra nhiều dữ liệu và siêu dữ liệu

-

Phục hồi dữ liệu ẩn và dữ liệu bị xóa

-

Liệt kê các tiến trình đang chạy

-

Liệt kê các kết nối mạng đang tồn tại trên hệ thống

-

Sử dụng tính năng tìm kiếm dựa vào thời gian, nội dung

Page 20


Hình 2.4: Giao diện của DFF
Mandiant Redline là công cụ miễn phí hàng đầu của mandiant cung cấp khả năng
điều tra máy chủ để người dùng tìm thấy dữ liệu hoạt động của các tập tin độc hại thông
qua việc phân tích bộ nhớ và tập tin hệ thống.

Công cụ Mandiant RedLine cung cấp khả năng phân tích tệp tin và bộ nhớ của các
máy cụ thể. Công cụ này giúp thu thập thông tin về các tiến trình, trình điều khiển đang
chạy từ bộ nhớ và thu thập các tệp tin siêu dữ liệu của hệ thống, dữ liệu registry, thông tin
mạng, dịch vụ, nhiệm vụ và lịch sử duyệt web để giúp xây dựng hồ đánh giá đe dọa tổng
thể giúp ích cho quá trình điều tra an ninh mạng.
2.2.3. The Sleuth Kit và Autospy
TheSleuth Kit và Autospy là bộ công cụ nôi tiếng trong phân tích và điều tra tội
phạm máy tính. Đây là bộ công cụ mã nguồn mở hỗ trợ nhiều hệ điều hành như windows,
Linux, OSX cũng như các họ Unix khác, chúng thường được sử dụng để phân tích bộ nhớ
khả biến được ghi lại từ hệ thống và thực hiện phân tích chuyên sâu hệ thống các tập tin
như NTFS, FAT, HFS+, Ext3 và UFS và nhiều loại ổ đĩa khác của hệ thống.
Page 21


Hình 2.5: Giao diện công cụ The Sleuth Kit
TheSleuth Kit rất mạnh trong việc khôi phục các thông tin bị xóa bỏ dựa vào cấu
trúc băm và chữ kí của đối tượng bị xóa.
Bộ Sleuth Kit là một bộ công cụ điều tra số, điều tra an ninh mạng mã nguồn mở, có
thể được sử dụng để phân tích chuyên sâu cho các hệ thống tệp tin khác nhau. Autospy là
giao diện đồ họa người dùng cho Sleuth Kit, đi kèm với nó là các tính năng như Timeline
Analysic, Hash Filtering, File System Analysis và Keyword Searching, với khả năng thêm
các module khác cho các chức năng mở rộng.
2.2.4. SANS Investigate Forensic Toolkit (SIFT)
SANS SIFT là môi trường điều tra số tuyệt vời, nó được tạo ra bởi các chuyên gia
forensic hàng đầu trên thế giới, nó tập trung và chọn lọc lại các công cụ điều tra số và tích
hợp sẵn trong môi trường hệ thống. Nó chứng minh rằng điều tra chuyên sâu và ứng phó
với sự xâm nhập có thể được thực hiện bằng việc sử dụng các công cụ mã nguồn mở và
Page 22



cập nhật thường xuyên, bộ công cụ chọn lọc này tích hợp những công cụ nổi tiếng như
Thesleuth Kit, DFF, wireshark, volatility,…

Hình 2.6: Giao diện SANS SIFT

Page 23


CHƯƠNG III – TRIỂN KHAI MÔ HÌNH THU THẬP VÀ PHÂN TÍCH THÔNG
TIN AN NINH MẠNG TỪ BỘ NHỚ MÁY TÍNH BẰNG CÔNG CỤ VOLATILITY
3.1. Xây dựng bài toán
Một công ty A có hệ thống như sau: một máy chủ web, chạy hệ điều hành Windows
Server 2008 R2 SP1x64 được cài đặt bộ phần mềm xampp, trên máy chủ chạy 1 website
sử dụng mã nguồn drupal. Hiện đang xảy ra tình trạng: CPU của server luôn chạy ở mức
quá tải 100% và người dùng không thể truy cập được dịch vụ web.
Bên B: Với vai trò là người phân tích sự cố, bên công ty A yêu cầu xác định được
vấn đề gì đang xảy ra làm ảnh hưởng đến hệ thống của họ. Từ đó phát hiện được nguyên
nhân dẫn đến hệ thống bị quá tải, phát hiện các hành vi, vi phạm xảy ra trên hệ thống và
tìm ra biện pháp khắc phục, xử lý.
3.2. Lựa chọn công nghệ
3.2.1. Quy trình thực hiện:
Giai đoạn 1: Xác định tính toàn vẹn của chứng cứ thu được để đảm bảo tính toàn
vẹn của chứng cứ khẳng định rằng nó chưa bị thay đổi.
Giai đoạn 2: Xác định hệ thống mà chúng ta đang tiến hành kiểm tra, xác định môi
trường thực sự đang được phân tích.
Giai đoạn 3: Thu thập chứng cứ
Tất cả thông tin máy tính có sẵn phải được đưa vào môi trường điều tra an toàn để
thực hiện công việc điều tra, phân tích. Nhằm đảm bảo chứng cứ thu thập được nguyên
vẹn.
Tất cả dữ liệu thu được từ hệ thống (bộ nhớ, tiến trình, kết nối mạng, phân vùng đĩa)

phải được ghi lại và ký mã bằng các thuật toán MD5, SHA1 để đảm bảo tính toàn vẹn của
chứng cứ.
Giai đoạn 4: Thiết lập mốc thời gian và phân tích
Quá trình thiết lập mốc thời gian phục vụ hữu ích cho việc theo dõi các hoạt động
của hệ thống như:
Page 24


×