Khóa luận: Xây dựng phương pháp phát hiện phần mềm cài cắm - Lê Đức Phú

Khóa luận tốt nghiệp nghiên cứu tốt nghiệp file word tìm hiểu và xây dựng một phương pháp phát hiện phần mềm cài cắm để chặn thu, vận dụng lý thuyết vào thực tế, đề xuất giải pháp

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

đồ án tốt nghiệp

2021

93
3
0

Phí lưu trữ

35 Point

Mục lục chi tiết

1. CHƯƠNG 1: TỔNG QUAN

1.1. Máy tính và hoạt động của máy tính

1.2. Quá trình khởi động Windows và hoạt động của chương trình trên nền Windows

1.3. Giao diện lập trình ứng dụng Windows (Win32 Application Programming Interface)

1.4. Định dạng file thực thi khả chuyển (Portable Executable file format) và quá trình thực thi PE file

1.5. Registry của hệ điều hành Windows

1.6. Tổng quan về mạng Internet và phần mềm gián điệp (Spyware)

1.6.1. Tổng quan về mạng Internet

1.6.2. Phần mềm gián điệp (Spyware)

1.7. Hợp ngữ (Assembly Language) và Reverse Engine

1.8. Vấn đề thu tin trên mạng Internet

1.8.1. Vấn đề thu tin công khai

1.8.2. Vấn đề thu tin bí mật

1.8.3. Hack để thu tin

1.8.4. Cài cắm phần mềm thu tin

2. PHÂN TÍCH MỘT TRƯỜNG HỢP CỤ THỂ

2.1. Phân tích hiện trường

2.2. Bảo vệ hiện trường

2.3. Tìm kiếm module gây nên hiện tượng nghi vấn

2.4. Đánh giá, kết luận

3. KINH NGHIỆM RÚT RA VÀ ĐỀ XUẤT

3.1. Kinh nghiệm rút ra

4. PHƯƠNG PHÁP PHÁT HIỆN PHẦN MỀM CÀI CẮM ĐỂ CHẶN THU TIN BÍ MẬT QUA MẠNG

4.1. Xây dựng môi trường phân tích

4.2. Quy trình phân tích

4.3. Giải pháp khắc phục hậu quả và bịt kín sơ hở

4.4. Các phương án xử lý phần mềm cài cắm

LỜI CẢM ƠN

MỞ ĐẦU

0.1. Tính cấp thiết của đề tài

0.2. Mục đích và nhiệm vụ nghiên cứu

0.3. Phạm vi nghiên cứu

Tóm tắt

I. Tổng quan về phương pháp phát hiện phần mềm cài cắm

Khóa luận tốt nghiệp này tập trung vào việc tìm hiểu và xây dựng một phương pháp phát hiện phần mềm cài cắm nhằm chặn thu tin bí mật qua mạng Internet. Trong bối cảnh công nghệ thông tin ngày càng phát triển, việc bảo mật thông tin trở thành một vấn đề cấp thiết. Các phần mềm cài cắm thường hoạt động ẩn danh, gây khó khăn trong việc phát hiện và xử lý. Do đó, nghiên cứu này không chỉ giúp nâng cao nhận thức về các mối đe dọa mà còn cung cấp giải pháp cụ thể để bảo vệ thông tin cá nhân và tổ chức.

1.1. Tầm quan trọng của việc phát hiện phần mềm cài cắm

Phần mềm cài cắm có thể thu thập thông tin cá nhân mà không được sự đồng ý của người dùng. Việc phát hiện sớm các phần mềm này giúp ngăn chặn các cuộc tấn công mạng và bảo vệ quyền riêng tư. Nghiên cứu cho thấy rằng, việc sử dụng các công cụ phát hiện phần mềm cài cắm có thể giảm thiểu rủi ro mất mát thông tin và tăng cường an ninh mạng.

1.2. Các loại phần mềm cài cắm phổ biến

Có nhiều loại phần mềm cài cắm khác nhau, bao gồm spyware, adware, và trojan. Mỗi loại có cách thức hoạt động và mục đích riêng. Spyware thường được sử dụng để thu thập thông tin cá nhân, trong khi adware chủ yếu hiển thị quảng cáo. Việc hiểu rõ các loại phần mềm này giúp người dùng có biện pháp phòng ngừa hiệu quả.

II. Vấn đề và thách thức trong việc phát hiện phần mềm cài cắm

Mặc dù có nhiều công cụ và phương pháp để phát hiện phần mềm cài cắm, nhưng vẫn tồn tại nhiều thách thức. Các phần mềm độc hại ngày càng tinh vi hơn, khiến cho việc phát hiện trở nên khó khăn. Hơn nữa, nhiều người dùng không nhận thức được sự tồn tại của các phần mềm này, dẫn đến việc không thực hiện các biện pháp bảo vệ cần thiết.

2.1. Tính tinh vi của phần mềm cài cắm

Phần mềm cài cắm hiện nay thường được mã hóa và ẩn mình trong các ứng dụng hợp pháp, làm cho việc phát hiện trở nên khó khăn. Chúng có thể thay đổi mã nguồn và sử dụng các kỹ thuật như mã hóa để tránh bị phát hiện bởi các phần mềm diệt virus thông thường.

2.2. Thiếu nhận thức của người dùng

Nhiều người dùng không nhận thức được các mối đe dọa từ phần mềm cài cắm. Họ thường không cập nhật phần mềm bảo mật hoặc không sử dụng các công cụ phát hiện, dẫn đến việc dễ dàng trở thành nạn nhân của các cuộc tấn công mạng.

III. Phương pháp phát hiện phần mềm cài cắm hiệu quả

Để phát hiện phần mềm cài cắm, cần áp dụng một số phương pháp và công cụ hiệu quả. Việc sử dụng các phần mềm chuyên dụng có thể giúp phát hiện và loại bỏ các phần mềm độc hại. Ngoài ra, việc phân tích hành vi của phần mềm cũng là một phương pháp hữu ích.

3.1. Sử dụng phần mềm diệt virus

Phần mềm diệt virus là công cụ cơ bản để phát hiện và loại bỏ phần mềm cài cắm. Các phần mềm này thường được cập nhật thường xuyên để nhận diện các mối đe dọa mới. Việc sử dụng phần mềm diệt virus có thể giúp người dùng bảo vệ thông tin cá nhân một cách hiệu quả.

3.2. Phân tích hành vi phần mềm

Phân tích hành vi của phần mềm giúp phát hiện các hoạt động đáng ngờ. Các công cụ phân tích có thể theo dõi các thay đổi trong hệ thống và phát hiện các hành vi không bình thường, từ đó cảnh báo người dùng về sự hiện diện của phần mềm cài cắm.

IV. Ứng dụng thực tiễn của phương pháp phát hiện phần mềm cài cắm

Phương pháp phát hiện phần mềm cài cắm không chỉ có giá trị trong nghiên cứu mà còn có ứng dụng thực tiễn trong bảo mật thông tin. Các tổ chức và cá nhân có thể áp dụng các phương pháp này để bảo vệ thông tin của mình khỏi các mối đe dọa từ phần mềm độc hại.

4.1. Bảo vệ thông tin cá nhân

Việc phát hiện và loại bỏ phần mềm cài cắm giúp bảo vệ thông tin cá nhân khỏi bị lộ ra ngoài. Người dùng có thể yên tâm hơn khi sử dụng Internet mà không lo ngại về việc bị theo dõi hay thu thập thông tin trái phép.

4.2. Tăng cường an ninh mạng cho tổ chức

Các tổ chức có thể áp dụng phương pháp phát hiện phần mềm cài cắm để bảo vệ hệ thống mạng của mình. Việc này không chỉ giúp ngăn chặn các cuộc tấn công mà còn bảo vệ dữ liệu quan trọng của tổ chức khỏi bị đánh cắp.

V. Kết luận và tương lai của phương pháp phát hiện phần mềm cài cắm

Phương pháp phát hiện phần mềm cài cắm là một lĩnh vực nghiên cứu quan trọng trong bảo mật thông tin. Với sự phát triển không ngừng của công nghệ, các phương pháp này cần được cập nhật và cải tiến để đối phó với các mối đe dọa mới. Tương lai của việc phát hiện phần mềm cài cắm sẽ phụ thuộc vào sự phát triển của công nghệ và nhận thức của người dùng.

5.1. Xu hướng phát triển công nghệ bảo mật

Công nghệ bảo mật đang phát triển nhanh chóng với nhiều giải pháp mới được đưa ra. Các công nghệ như trí tuệ nhân tạo và học máy có thể được áp dụng để phát hiện phần mềm cài cắm một cách hiệu quả hơn.

5.2. Tăng cường giáo dục và nhận thức

Giáo dục và nâng cao nhận thức về bảo mật thông tin là rất quan trọng. Người dùng cần được trang bị kiến thức để nhận biết và phòng ngừa các mối đe dọa từ phần mềm cài cắm.

25/07/2025

Trích đoạn nội dung tài liệu

CHƯƠNG 1: TỔNG QUAN 1. Máy tính và hoạt động của máy tính Máy tính hay máy vi tính là một thiết bị độc lập được trang bị các phần mềm, tiện ích cùng với các thiết bị vào ra, các thiết bị ngoại vi khác để thực hiện tính toán hay kiểm soát các hoạt động mà có thể biểu diễn dưới dạng số hay quy luật logic. Máy tính được lắp ghép bởi các thành phần có thể thực hiện các chức năng đơn giản đã định nghĩa trước (Chia ra làm 2 loại là phần cứng và phần mềm). Quá trình tác động tương hỗ phức tạp của các thành phần này tạo cho máy tính một khả năng xử lý thông tin.

Nếu được thiết lập chính xác (thông thường bởi các chương trình máy tính) máy tính có thể mô phỏng lại một số khía cạnh của một vấn đề hay của một hệ thống. Trong trường hợp này, khi được cung cấp một bộ dữ liệu thích hợp nó có thể tự động giải quyết vấn đề hay dự đoán trước sự thay đổi của hệ thống. Hoạt động của máy tính có thể được mô tả như sau: “ Khi nguồn điện được khởi động, BIOS (Basic Input/ Output System) của máy tính sẽ đọc thông tin được ghi ở bộ nhớ ROM trên mainboard để thực hiện các thao tác kiểm tra phần cứng, đọc ngày giờ… sau đó trao quyền điều khuyển cho hệ điều hành. Hệ điều hành nạp các chương trình từ ổ đĩa cứng lên bộ nhớ RAM để thực thi.

Các kết quả của chương trình được lưu trữ vào ổ cứng. Khi tắt nguồn điện, chỉ có ổ cứng lưu giữ được dữ liệu và trạng thái của hệ thống. Hiểu được hoạt động của máy tính giúp chúng ta xác định được hiện trường vụ việc. Khi xử lý vụ việc, yêu cầu sao lưu hệ thống được đặt ra đầu tiên, tuy nhiên không cần thiết phải tịch thu toàn bộ hệ thống mà chỉ cần sao lưu ổ đĩa cứng của máy tính để thao tác.

Điều này là hợp lý, nhất là trong trường hợp phải giữ nguyên hiện trường, không để đối tượng phát hiện máy tính của mình đã bị tiếp cận. 1 Phượng pháp phát hiện phần mềm cài cắm để chặn thu tin bí mật qua mạng 1. Quá trình khởi động Windows và hoạt động của chương trình trên nền Windows Dưới đây mô tả quá trình hoạt động của các hệ điều hành Windows dựa trên nhân NT. Sau khi BIOS khởi động xong, nó sẽ trao quyền điều khiển lại cho hệ điều hành.

Windows đọc sector đầu tiên của phân vùng này, gọi là boot sector, và thực thi lệnh ở đó. Đoạn mã lệnh này sẽ đọc thư mục gốc của phân vùng, tìm kiếm một file được gọi là ntldr (NT Loader). Nếu tìm được file này, nó sẽ đọc file đó vào bộ nhớ và thực thi. Ntldr sẽ tải hệ điều hành vào bộ nhớ.

Tiếp theo, ntldr sẽ đọc 1 file gọi là boot.ini, là thông tin cấu hình duy nhất không chứa trong registry. Nó liệt kê tất cả các phiên bản của hal.dll và ntoskrnl.exe có sẵn để khởi động trong phân vùng này. Các file này cung cấp nhiều tham số, như số lượng CPU, dung lượng RAM sử dụng, có cho phép người dung xử lý 2 GB hoặc 3 GB dữ liệu hay không và tần số xung (rate) được thiết lập cho đồng hồ thời gian thực. Ntldr tiếp tục lựa chọn và tải các hal.dll và ntoskrnl.dll cũng như fule bootvid.dll, chương trình điểu khiển (driver) video mặc định để hiển thị thông tin quá trình khởi động.dll đọc registry để tìm ra những trình điều khiển cần thiết để hoàn tất việc khởi động (ví dụ, chương trình điểu khiển bàn phím và chuột, và hàng tá các trình điều khiển cho các chip ở trên mainboard).

Cuối cùng, nó đọc tất cả các driver và trao quyền lại cho ntoskrnl. Khi khởi động, hệ điều hành sẽ gọi các thành phần thực thi để thực hiện một vài thiết lập thông thường nào đó. Ví dụ, trình điều khiển đối tượng (object manager) chuẩn bị không gian tên (name space) của nó để cho phép các thành phần khác gọi nó và thêm đối tượng vào không gian tên. Nhiều thành phần cũng có thể 1 Phượng pháp phát hiện phần mềm cài cắm để chặn thu tin bí mật qua mạng thực hiện được công việc riêng biệt liên quan đến chức năng của chúng, ví dụ như trình điều 1 Phượng pháp phát hiện phần mềm cài cắm để chặn thu tin bí mật qua mạng khiển bộ nhớ có thể thiết lập bảng phân trang ban đầu trình điều khiển cắm-chạy (plug-and-play) có thể biết được những thiết bị nhập/xuất hiện tại và tải trình điều khiển cho chúng.

Nói chung, có hàng loạt bước xảy ra. Bước cuối cùng là tạo ra tiến trình người sử dụng thực sự đầu tiên, trình điều khiển phiên (session manager), smss. Một khi tiến trình này được gọi và thực thi có nghĩa là quá trình khởi động đã kết thúc. Trình điều khiển phiên là tiến trình nguyên sơ của Windows.

Nó thực hiện các lời gọi hệ thống thực sự và không sử dụng môi trường hệ thống phụ Win32, là môi trường mà lúc này vẫn chưa hoạt động. Thực ra, một trong những nhiệm vụ đầu tiên của nó là tạo ra chính nó (csrss. Nó cũng đọc các nhánh registry từ đĩa và nhận biết các nhiệm vụ của nó. Thông thường công việc của nó bao gồm việc đưa các đối tượng vào không gian tên của trình điều khiển đối tượng, tạo ra các phân trang tập tin mở rộng và mở các DLL quan trọng để sử dụng chúng thường xuyên.

Sau khi đã hoàn tất các công việc này, nó tạo ra chương trình đăng nhập (login daemon), winlogon. Như vậy, hệ điều hành đã hoạt động. Bây giờ là thời điểm thực thi các tiến trình dịch vụ (không gian chương trình người sử dụng) và cho phép người sử dụng đăng nhập.exe trước tiên tạo ra trình xác thực (Isass.exe), và sau đó là tiến trình chủ của tất cả các dịch vụ (services. Tiến trình chủ này sẽ tìm kiếm trong registry những tiến trình cần thiết trong không gian tiến trình người dùng và các file chứa chúng, rồi tạo ra chúng.

Thực tế, đĩa thường hoạt động rất nặng sau khi người dùng đầu tiên đăng nhập, nhưng đó không phải là lỗi của người dùng. Thủ phạm là services.exe đã tạo ra tất cả các dịch vụ. Thêm vào đó, nó còn tải thêm các trình điều khiển thiết bị còn thiếu. Quá trình đó có thể được mô tả dưới đây như sau: Tiến trình Mô tả 1 Phượng pháp phát hiện phần mềm cài cắm để chặn thu tin bí mật qua mạng Idle Không thực sự là 1 tiến trình,mà là 1 tiểu trình chờ đợi 1 Phượng pháp phát hiện phần mềm cài cắm để chặn thu tin bí mật qua mạng System Tạo ra smss.exe và phân trang tập tin, đọc registry, mở DLL smss.exe Tiến trình đầu tiên, tiếp tục khởi tạo; tạo ra csrss và winlogon csrss.exe Tiến trình hệ thống con Win32 winlogon.exe Chương trình đăng nhập Isass.exe Chương trình quản lý xác thực service.exe Tìm kiếm trong registry và khởi động các dịch vụ Bảng 1.

Cây phân cấp quá trình khởi động của Windows dựa trên nhân NT Các dịch vụ ở đây có thể là máy phục vụ in ấn, máy phục vụ file, trình Telnet, điều khiển mail đến, điều khiển fax đến, giải pháp DNS, nhật ký sự kiện, trình điều khiển cắm- chạy… Winlogon.exe đáp ứng cho mọi người sử dụng. Hộp thoại đăng nhập thực sự được điều khiển bởi 1 chương trình riêng biệt trong msgina.dll nhằm đảm bảo cho nó có thể thay thế cách đăng nhập chuẩn (bằng tên mật khẩu) bằng nhận dạng vân tay hoặc cách xác thực khác. Sau khi đăng nhập thành công, winlogon.exe lấy thông tin cá nhân của người dùng trong registry và chính nó để quyết định thực thi những shell nào. Nhiều người không nhận ra điều đó, nhưng màn hình desktop của Windows chuẩn chỉ có explorer.exe với một tùy chọn nào đó.

Nếu muốn, người sử dụng có thể chọn bất cứ chương trình nào như các shell, bao gồm command.exe hoặc ngay cả Word, bằng các chỉnh sửa registry. Tuy nhiên, việc chỉnh sửa registry không dành cho người thiếu hiểu biết; một lỗi lầm có thể khiến cho hệ thống không thể sử dụng được. Quá trình khởi động của các hệ điều hành Windows dựa trên nhân NT về sau về cơ bản cũng giống như trên. Trên đây ta đã nắm được quá trình khởi động của hệ điều hành Windows, vậy một chương trình phần mềm hoạt động ra sao trên nền hệ điều hành đó ? Chương trình là một dãy các mệnh lệnh có thể được thực thi bởi máy tính.

Các chương trình được tạo ra bằng các ngôn ngữ lập trình, mỗi chương trình có thể có 1 Phượng pháp phát hiện phần mềm cài cắm để chặn thu tin bí mật qua mạng nhiều module, trong đó các module có thể gọi module khác trong cùng chương trình, và cũng có thể gọi đến các module của chương trình khác. Sau đó chương trình được dịch thành PE file dưới dạng nhị phân (*.dll…) để có thể thực thi. Chương trình chỉ hoạt động được khi có tác nhân kích hoạt nó. Đó có thể là: - Do người dùng kích hoạt (cố ý hoặc vô ý) - Do hệ điều hành kích hoạt.

Hệ điều hành có thể kích hoạt các chương trình theo 2 cách: + Đọc thông tin từ các file cấu hình của Windows và registry (sẽ nói rõ ở phần sau). Các phiên bản Windows từ Windows 98 trở về trước đọc thông tin thiết lập trong các file cấu hình như win.ini và autoexec.bat để kích hoạt các chương trình khởi động. Từ phiên bản Windows 2000 trở đi, tuy các file này vẫn có trong cấu trúc hệ điều hành nhưng không còn được sử dụng nữa. Các chương trình cũng có thể được thực thi bằng cách tạo các khóa ở trong registry, thường ở những khóa sau:  Registry Shell open [HKEY _CLASSES_ ROOT\exefile\shell\open\command] [HKEY _LOCAL_ MACHINE\SOFTW ARE\Classes\exefile\shell\open \command] Một khóa có giá trị “%1 %*’’, sẽ tự động được thực thi mỗi khi thi hành một file.exe %1 %*”  Alternate Registry Keys [HKEY _CLASSES_ ROOT\.exe] @="myexefile"] [HKEY _LOCAL_ MACHINE\Software\CLASSES\myexefile\shell\open \command\ @="program.exe %1 %*"]  Main Registry 1 Phượng pháp phát hiện phần mềm cài cắm để chặn thu tin bí mật qua mạng [HKEY _LOCAL_ MACHINE\Software\Microsoft\ Windows\Current Version\RunServices] [HKEY _LOCAL_ MACHINE\Software\Microsoft\ Windows\Current Version\RunServicesOnce] [HKEY _LOCAL_ MACHINE\Software\Microsoft\ Windows\Current Version \Run] [HKEY _LOCAL_ MACHINE\Software\Microsoft\ Windows\Current Version\RunOnce] [HKEY _CURRENT_ USER\Software\Microsoft\ Windows\CurrentVersion \Run] [HKEY _CURRENT_ USER\Software\Microsoft\ Windows\CurrentVersion\RunOnce] [HKEY _CURRENT_ USER\Software\Microsoft\ Windows\CurrentVersion \RunServices] + Các chương trình/module của Windows gọi đến.

- Do chương trình/ module khác (không phải của Windows) kích hoạt bằng mã lệnh. Khi đã được kích hoạt, chương trình sẽ thực hiện nhiệm vụ của nó dưới dạng tường minh hoặc ẩn (background) mà người sử dụng khó nhận biết. Trong quá trình đó, nó cũng có thể gọi thêm các chương trình/module khác.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ