Phân Tích Mã Độc Gây Hại Trên Máy Tính và Cách Phòng Chống

Đồ án nghiên cứu i phân tích mã độc đại học bách khoa hà nội, áp dụng công nghệ tiên tiến, tối ưu giải pháp kỹ thuật cho bài toán .

Trường đại học

Đại học Bách Khoa Hà Nội

Chuyên ngành

Toán Ứng Dụng Và Tin Học

Người đăng

Ẩn danh

Thể loại

báo cáo đồ án

2024

54
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

LỜI CAM ĐOAN

DANH MỤC TỪ NGỮ VIẾT TẮT

1. CHƯƠNG 1: TỔNG QUAN VỀ MÃ ĐỘC

1.1. Lịch sử hình thành và phát triển của máy tính

1.2. Lịch sử hình thành và phát triển của mã độc

1.3. Tình hình mã độc tại Việt Nam và trên thế giới

1.4. Một số khái niệm mở đầu

1.5. Phân loại mã độc

2. CHƯƠNG 2: CƠ CHẾ HOẠT ĐỘNG CỦA MÃ ĐỘC

2.1. Cơ chế lây nhiễm của mã độc

2.2. Hành vi của mã độc

2.3. Cơ chế lẩn trốn của mã độc

2.4. Các hình thức trục lợi của mã độc

3. CHƯƠNG 3: MỘT SỐ PHƯƠNG PHÁP KIỂM THỬ VÀ PHÒNG CHỐNG

3.1. Phương pháp phân tích tĩnh

3.2. Phương pháp phân tích động

3.3. Một số phương pháp phòng chống mã độc

4. CHƯƠNG 4: THỰC HÀNH PHÂN TÍCH MỘT SỐ LOẠI MÃ ĐỘC

4.1. Thực hành phân tích mã độc Wannacry@2017

5. CHƯƠNG 5: MỘT SỐ KẾT QUẢ ĐẠT ĐƯỢC

5.1. Danh sách các tập tin có thể chứa mã độc

5.2. Các tập tin có thể bị mã hóa bởi WannaCry

5.3. Địa chỉ ví Bitcoin sử dụng bởi WannaCry

5.4. Cơ chế hoạt động của WannaCry

6. CHƯƠNG 6: TỔNG KẾT

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng quan về Phân Tích Mã Độc Trên Máy Tính

Phân tích mã độc trên máy tính là một lĩnh vực quan trọng trong an ninh mạng. Với sự gia tăng của các loại mã độc, việc hiểu rõ về chúng trở nên cần thiết. Mã độc không chỉ gây hại cho cá nhân mà còn ảnh hưởng đến tổ chức và xã hội. Việc phân tích mã độc giúp phát hiện, ngăn chặn và khắc phục các mối đe dọa. Các phương pháp phân tích mã độc hiện nay rất đa dạng và phong phú.

1.1. Lịch sử phát triển của mã độc và máy tính

Mã độc đã xuất hiện từ những năm 1980 và ngày càng trở nên tinh vi. Sự phát triển của máy tính cũng đồng hành với sự gia tăng của mã độc. Các loại mã độc như virus, worm, và trojan đã gây ra nhiều thiệt hại cho người dùng và tổ chức.

1.2. Tình hình mã độc tại Việt Nam và trên thế giới

Theo báo cáo của AV-TEST, số lượng mã độc phát tán trên toàn cầu đã vượt quá 120.000 loại. Tại Việt Nam, tình hình mã độc cũng đáng báo động với hàng ngàn máy tính bị lây nhiễm mỗi năm, gây thiệt hại lớn cho nền kinh tế.

II. Vấn đề và Thách thức trong Phân Tích Mã Độc

Phân tích mã độc đối mặt với nhiều thách thức. Các mã độc ngày càng tinh vi, sử dụng nhiều kỹ thuật lẩn trốn và tấn công. Việc phát hiện và phân tích chúng trở nên khó khăn hơn. Ngoài ra, sự thiếu hụt nguồn lực và công nghệ cũng là một vấn đề lớn.

2.1. Các kỹ thuật lẩn trốn của mã độc

Mã độc thường sử dụng các kỹ thuật như mã hóa, nén và ẩn mình trong các tệp hợp lệ để tránh bị phát hiện. Điều này làm cho việc phân tích trở nên phức tạp hơn.

2.2. Thiếu hụt nguồn lực trong phân tích mã độc

Nhiều tổ chức không có đủ nguồn lực để thực hiện phân tích mã độc một cách hiệu quả. Điều này dẫn đến việc không phát hiện kịp thời các mối đe dọa, gây ra thiệt hại lớn.

III. Phương pháp Phân Tích Mã Độc Hiệu Quả

Có nhiều phương pháp phân tích mã độc, bao gồm phân tích tĩnh và phân tích động. Mỗi phương pháp có ưu điểm và nhược điểm riêng. Việc lựa chọn phương pháp phù hợp là rất quan trọng để đạt được kết quả tốt nhất.

3.1. Phân tích tĩnh mã độc

Phân tích tĩnh là phương pháp nghiên cứu mã độc mà không cần thực thi nó. Phương pháp này giúp phát hiện các đặc điểm và hành vi của mã độc mà không gây ra rủi ro cho hệ thống.

3.2. Phân tích động mã độc

Phân tích động yêu cầu thực thi mã độc trong môi trường kiểm soát. Phương pháp này cho phép quan sát hành vi thực tế của mã độc, từ đó đưa ra các biện pháp phòng chống hiệu quả.

3.3. Một số công cụ hỗ trợ phân tích mã độc

Có nhiều công cụ hỗ trợ phân tích mã độc như IDA Pro, OllyDbg, và VirusTotal. Những công cụ này giúp các nhà phân tích dễ dàng phát hiện và phân tích mã độc.

IV. Ứng dụng Thực Tiễn và Kết Quả Nghiên Cứu

Phân tích mã độc không chỉ giúp phát hiện các mối đe dọa mà còn cung cấp thông tin quý giá cho việc phát triển các giải pháp bảo mật. Nghiên cứu về mã độc đã giúp cải thiện các phần mềm chống virus và các biện pháp bảo mật khác.

4.1. Kết quả từ các nghiên cứu về mã độc

Nhiều nghiên cứu đã chỉ ra rằng việc phân tích mã độc giúp phát hiện các lỗ hổng bảo mật trong hệ thống. Điều này giúp các tổ chức cải thiện khả năng phòng chống mã độc.

4.2. Ứng dụng trong phát triển phần mềm bảo mật

Thông qua việc phân tích mã độc, các nhà phát triển có thể tạo ra các phần mềm bảo mật hiệu quả hơn. Điều này giúp bảo vệ người dùng khỏi các mối đe dọa từ mã độc.

V. Kết luận và Tương lai của Phân Tích Mã Độc

Phân tích mã độc sẽ tiếp tục đóng vai trò quan trọng trong an ninh mạng. Với sự phát triển không ngừng của công nghệ, các phương pháp phân tích cũng sẽ được cải tiến. Việc nâng cao nhận thức và kỹ năng trong lĩnh vực này là cần thiết để bảo vệ hệ thống máy tính và thông tin.

5.1. Tương lai của công nghệ phân tích mã độc

Công nghệ phân tích mã độc sẽ ngày càng phát triển với sự hỗ trợ của trí tuệ nhân tạo và học máy. Điều này hứa hẹn sẽ mang lại những bước tiến lớn trong việc phát hiện và ngăn chặn mã độc.

5.2. Vai trò của cộng đồng trong phòng chống mã độc

Cộng đồng người dùng và các chuyên gia bảo mật cần hợp tác chặt chẽ để chia sẻ thông tin và kinh nghiệm. Điều này sẽ giúp nâng cao khả năng phòng chống mã độc cho tất cả mọi người.

10/07/2025
Đồ án i phân tích mã độc đại học bách khoa hà nội

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

mở đầu Mục này được dành ra để trình bày một số nội dung quan trọng làm nền tảng trong công việc phân tích hành vi của mã độc máy tính trong các chương sau này. Hàm băm (Hash) Hàm băm (Hash) là một kỹ thuật quan trọng được sử dụng chủ yếu trong lĩnh vực bảo mật. Hàm băm được định nghĩa là một ánh xạ nhận vào một giá trị đầu vào và cho ra một kết quả duy nhất. Tuy nhiên từ kết quả đầu ra ta không thể trích xuất được giá trị đầu vào ban đầu.2: Ví dụ hoạt động hàm băm MD5 Một số hàm băm phổ biến.

• MD5, Hàm băm MD5 là một trong những hàm băm phổ biến trong quá khứ. Hàm MD5 được phát triển vào những năm 1991 để thay thế hàm băm MD4 vốn đã lỗi thời với khả năng tính toán của máy tính vào thời điểm đó. Hàm băm MD5 mã hóa dữ liệu đầu vào tạo ra 128 bit đầu ra tương đương 32 ký tự trong hệ thập lục phân. Tuy nhiên vào đầu những năm 2000 hàm băm MD5 không còn an toàn trước sức mạnh tính toán của máy tính.

Khiến cho nó không còn được sử dụng trong thực tế. • SHA-1, Secure Hash Algorithm (SHA) được phát triển bởi National Institute of Standard and Technology (NIST). Hàm băm này nhận giá trị đầu vào tối đa là 264 bits và cho đầu ra có độ dài 160 bits • SHA-256, Hàm băm SHA 256 là hàm băm mạnh và linh hoạt. Nó biến đồi giá trị đầu vào và trả lại kết quả có độ dài 256bits.

Ngày nay SHA-256 vẫn được sử dụng cho nhiều mục đích khác nhau. 11 Đinh Đức Đạt Báo cáo Đồ án I Mốt số ứng dụng của hàm băm. • Kiểm tra tính toàn vẹn của tập tin Như đặc điểm của hàm băm, đối với các dữ liệu đầu vào khác nhau thì sẽ cho ra kết quả băm khác nhau. Như vậy đối với các tập tin cần được truyền tải đi thì ta chỉ cần băm tập tin sau đó phía nhận tập tin cũng thực hiện băm và đối chiếu với kết qủa băm ban đầu.

Nếu hai kết quả trừng khớp có nghĩa là tập tin toàn vẹn khi gửi đi còn nếu ngược lại thì có nghĩa tập tin đã bị chỉnh sửa hoặc bị lỗi. • Xác minh mật khẩu Trong các hệ cơ sở dữ liệu hiện đại. Các dữ liệu về mật khẩu không được lưu dưới dạng tường minh. Thay vào đó người ta thực hiện băm giá trị mật khẩu và tiến hành lưu giá trị băm đó.

Điều này là cần thiết bởi trong quá trình vận hành hệ thống nếu hệ thống bị tấn công bởi tin tăc thì tin tặc hoàn toàn không thể có được tài khoản và mật khẩu. WindowAPI Thư viện liên kết động (DLL-Dynamic Link Library) DLL là một dạng chương trình máy tính, là một dạng thư viện có tính năng nâng cao chơ phép các ứng dụng máy tính có thể tham chếu đến và sử dụng nó. Tự bản thân DLL không thể hoạt động độc lập tuy nhiên Khi có một chương trình có khả năng thực thi thì chương trình sẽ liên kết đến thư viên này và thực thi. DLL được coi như là một bộ phận của chương trình.

DLL Chức năng Kernel32.dll Đây là một DLL phổ biến và quan trọng. nó cho phép chương trình truy cập và sử dụng bộ nhớ, tệp và phần cứng.dll Đây là một DLL cung cấp quyền truy cập vào các thành phần Windows cốt lõi như Trình quản lý dịch vụ và Registry.dll DLL này chứa tất cả các thành phần giao diện người dùng Gdi32.dll DLL này chứa các chức năng để hiển thị và thao tác đồ họa.dll Thư viện liên kết động này là một phần của hạt nhân Win- dows. Executables generally do not import this file directly, although it is always imported indirectly by Kernel32. If an executable imports this file, it means that the author in- tended to use functionality not normally available to Win- dows programs.

Một vài tác vụ, ví dụ ẩn hoạt động và đa tiến trình, sẽ sử dụng giao thức này.dll Đây là một DLL thực viện công việc kết nối mạng.dll DLL này chứa các chức năng mạng cấp cao hơn thực hiện các giao thức như FTP, HTTP và NTP.1: Một số thư viện liên kết động phổ biến 12 Đinh Đức Đạt Báo cáo Đồ án I Windows Registry Windows Registry là một cơ sở dữ liệu hệ thống quan trọng trong các hệ điều hành Microsoft Windows. Nó lưu trữ thông tin, cài đặt, và các tùy chọn cho hệ điều hành cũng như các ứng dụng và phần cứng được cài đặt trên máy tính. Registry bao gồm các mục (key) và giá trị (value), giúp hệ điều hành và các ứng dụng hoạt động một cách chính xác và hiệu quả.3: Cấu trúc của Registry. Registry được tổ chức thành một cấu trúc phân cấp giống như cây thư mục với năm nhánh chính, gọi là "hive", mỗi nhánh chứa các khóa và giá trị.

Các hive chính bao gồm: HKEY_CLASSES_ROOT (HKCR): Chứa thông tin về các liên kết tệp và các lớp đối tượng COM. HKEY_CURRENT_USER (HKCU): Chứa các cài đặt và cấu hình của người dùng hiện tại đang đăng nhập. HKEY_LOCAL_MACHINE (HKLM): Chứa các thiết lập và cấu hình phần cứng, phần mềm áp dụng cho tất cả người dùng trên máy tính. HKEY_USERS (HKU): Chứa các cấu hình và thông tin cho tất cả người dùng trên hệ thống.

HKEY_CURRENT_CONFIG (HKCC): Chứa thông tin cấu hình phần cứng hiện tại. Thành phần của Registry bao gồm Key (Khóa) Là các "thư mục" trong cấu trúc 13 Đinh Đức Đạt Báo cáo Đồ án I phân cấp của Registry. Mỗi key có thể chứa các subkey (khóa con) hoặc các giá trị. Mội key trong Registry được lưu trữ các giá trị (value), Mỗi giá trị có một tên và một loại dữ liệu (như chuỗi ký tự, số, hoặc dữ liệu nhị phân) được trình bày theo bảng dưới đây.

Biến Giá trị String (REG_SZ) Giá trị chuỗi ký tự. Binary (REG_BINARY) Giá trị nhị phân, thường dùng để lưu trữ dữ liệu cấu hình phần cứng. DWORD (REG_DWORD) Giá trị số 32-bit. QWORD (REG_QWORD) Giá trị số 64-bit.

Multi-String (REG_MULTI_SZ) Giá trị chứa nhiều chuỗi ký tự. Expandable String (REG_EXPAND_SZ) Giá trị chuỗi có thể chứa các biến môi trường.2: Các loại giá trị trong Registry. Người dùng có thể truy cập và chỉnh sửa Registry thông qua công cụ Registry Editor (regedit). Tuy nhiên, việc chỉnh sửa Registry cần được thực hiện cẩn thận vì các thay đổi sai lầm có thể gây ra lỗi hệ thống nghiêm trọng.4: Giao diện của Regadit.

Windows Registry là một thành phần cốt lõi của hệ điều hành Windows, chứa thông tin quan trọng giúp hệ thống và ứng dụng hoạt động hiệu quả. Việc quản lý và chỉnh sửa Registry yêu cầu kiến thức và kỹ năng để đảm bảo không gây ra các vấn đề nghiêm trọng cho hệ thống. 14 Đinh Đức Đạt Báo cáo Đồ án I IDA (Interactive Disassembler) IDA, viết tắt của Interactive Disassembler, là một công cụ phân tích mã nguồn ngược (reverse engineering) phổ biến được sử dụng rộng rãi trong lĩnh vực bảo mật máy tính và kỹ thuật phần mềm. Được phát triển bởi Hex-Rays, IDA cho phép các nhà phân tích kiểm tra và hiểu mã máy nhị phân (binary code) của phần mềm, ngay cả khi mã nguồn gốc không có sẵn[2].

Dưới đây là một số điểm nổi bật về IDA Tính năng chính của IDA • Disassembly Tương tác: IDA cung cấp khả năng phân giải mã máy nhị phân thành mã hợp ngữ (assembly code), cho phép người dùng tương tác và chỉnh sửa trong quá trình phân tích. • Hỗ trợ Đa Nền Tảng: IDA hỗ trợ nhiều kiến trúc vi xử lý và hệ điều hành khác nhau, bao gồm x86, x64, ARM, MIPS, PowerPC, và nhiều loại khác. • Tự Động và Thủ Công: IDA kết hợp giữa các tính năng phân tích tự động và khả năng can thiệp thủ công của người dùng, cho phép tối ưu hóa quá trình phân tích. • Hình Ảnh Chức Năng (Function Graphs): Công cụ này có thể tạo ra các đồ thị mô tả mối quan hệ giữa các hàm, giúp dễ dàng hiểu luồng điều khiển và cấu trúc của phần mềm.

• Scripting và API: IDA cung cấp khả năng sử dụng ngôn ngữ kịch bản (script- ing) như IDC (IDA Scripting Language) và Python để tự động hóa các tác vụ phân tích. • Hex-Rays Decompiler: Được cung cấp dưới dạng một plugin bổ sung, Hex- Rays Decompiler chuyển đổi mã hợp ngữ trở lại dạng mã nguồn C mức cao, giúp dễ hiểu hơn. Ứng dụng của IDA • Phân Tích Malware: Các nhà phân tích bảo mật sử dụng IDA để nghiên cứu và hiểu cấu trúc của mã độc (malware), từ đó phát hiện các hành vi xấu và phát triển các biện pháp phòng chống. • Nghiên Cứu Bảo Mật: Các nhà nghiên cứu sử dụng IDA để tìm ra lỗ hổng bảo mật trong phần mềm và phần cứng, từ đó đề xuất các biện pháp khắc phục.

• Kỹ Thuật Phần Mềm: Các kỹ sư phần mềm dùng IDA để hiểu và duy trì mã nguồn của các phần mềm không có tài liệu đầy đủ hoặc đã mất mã nguồn gốc. • Nghịch Đảo Phần Mềm (Reverse Engineering): IDA giúp các kỹ sư phân tích và tương tác với mã máy nhị phân để trích xuất thông tin hoặc tái tạo lại mã nguồn. 15 Đinh Đức Đạt Báo cáo Đồ án I IDA là một công cụ mạnh mẽ và linh hoạt, được sử dụng rộng rãi trong cộng đồng bảo mật và kỹ thuật phần mềm. Khả năng phân tích mã nguồn ngược của IDA không chỉ hỗ trợ việc phát hiện và khắc phục các lỗ hổng bảo mật, mà còn giúp hiểu rõ hơn về hoạt động nội tại của phần mềm và phần cứng.

16 Đinh Đức Đạt Báo cáo Đồ án I 1.5 Phân loại mã độc Trong tài liệu của NIST có một số khác biệt theo định nghĩa và cách hiểu thông thường về Virus máy tính đang thông dụng. Ngay trong tên của tài liệu đã nêu lên sự khác biệt, các tác giả nói tới "Malware" chứ không sử dụng thuật ngữ "Virus". Tại Việt Nam hiện nay, thuật ngữ "Virus máy tính" được dùng hết sức rộng rãi và bao hàm tất cả các dạng mã độc hại trên mạng, trong máy tính cá nhân. Khi nói đến "Virus máy tính", một cách rất tự nhiên tất cả mọi người đều nghĩ Virus bao gồm cả Worm, Trojan, Keylogger.

Trong khi theo định nghĩa của NIST (và gần như là của cả cộng đồng IT) Virus, Worm, Trojan horse, Adware, Spyware, Backdoor, Botnet, Launcher, Rootkit,. chỉ là một dạng của mã độc hại. Sự khác biệt này dẫn tới một số khó khăn, ví dụ như khi trao đổi với các tổ chức quốc tế về an toàn thông tin, trao đổi với hỗ trợ kỹ thuật từ các Trung tâm phòng chống Virus của nước ngoài do không đồng nhất về định nghĩa.

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

Tài liệu "Phân Tích Mã Độc Trên Máy Tính: Cách Phòng Chống Hiệu Quả" cung cấp cái nhìn sâu sắc về các phương pháp phân tích mã độc và cách phòng chống hiệu quả. Bài viết nhấn mạnh tầm quan trọng của việc nhận diện và xử lý mã độc kịp thời để bảo vệ hệ thống máy tính khỏi các mối đe dọa tiềm ẩn. Độc giả sẽ được trang bị những kiến thức cần thiết để hiểu rõ hơn về các loại mã độc phổ biến, cũng như các biện pháp phòng ngừa và khắc phục hiệu quả.

Để mở rộng thêm kiến thức về lĩnh vực này, bạn có thể tham khảo tài liệu Nghiên cứu phương pháp phát hiện mã độc dựa trên hành vi sử dụng học máy. Tài liệu này sẽ giúp bạn hiểu rõ hơn về các phương pháp hiện đại trong việc phát hiện mã độc, từ đó nâng cao khả năng bảo vệ hệ thống của bạn.