1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu các phương pháp vượt phần mềm chống mã độc

25 37 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 25
Dung lượng 2,94 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tìm ra các phương pháp vượt qua các phần mềm chống mã độc, virus hiện có, hoặctìm ra các phương pháp mới để từ đó tìm ra các hướng giải quyết, chống lại cácphương pháp đó.Vì thời g

Trang 1

BỘ CÔNG THƯƠNG TRƯỜNG CAO ĐẲNG CÔNG THƯƠNG TP.HCM

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO ĐỀ TÀI

NGHIÊN CỨU CÁC KỸ THUẬT VƯỢT QUA

PHẦN MỀM CHỐNG MÃ ĐỘC

Giảng viên hướng dẫn: ThS Nguyễn Minh Trường

2118110036 - CCQ1811A

TP Hồ Chí Minh – Tháng 07/2020

Trang 3

LỜI CẢM ƠN

Để hoàn thành đề tài lời đầu tiên em xin chân thành cảm ơn đến toàn thể thầy côtrong trường Cao đẳng Công thương Tp.Hồ Chí Minh nói chung và các thầy cô trongngành công nghệ thông tin nói riêng, những người đã tận tình hướng dẫn, dạy dỗ vàtrang bị cho em những kiến thức bổ ích trong suốt quá trình em học tại trường

Đặc biệt em xin chân thành gửi lời cảm ơn sâu sắc đến giảng viên ThS NguyễnMinh trường, người đã tận tình hướng dẫn, trực tiếp chỉ bảo và tạo mọi điều kiện giúp

đỡ em trong suốt quá trình làm đề tài

Sau cùng em xin gửi lời cảm ơn tới gia đình, bạn bè, anh chị đóng góp ý kiếntrong quá trình học tập, nghiên cứu cũng như quá trình làm đề tài

Em xin chân thành cảm ơn!

Trang 4

MỤC LỤC

Trang 5

Tìm ra các phương pháp vượt qua các phần mềm chống mã độc, virus hiện có, hoặctìm ra các phương pháp mới để từ đó tìm ra các hướng giải quyết, chống lại cácphương pháp đó.

Vì thời gian tìm hiểu không nhiều và bản thân khả năng cũng có hạn, nên đối tượng

em tìm hiểu lần này là các phương pháp đã được giới thiệu trên internet với phạm vinhỏ, chủ yếu tấn công vào cá nhân sử dụng phần mềm chống mã độc phổ biến nhưkaspersky, avast,…

Trang 6

Chương 2: CƠ SỞ LÝ THUYẾT 2.1 Khái niệm, phân loại và mục đích của mã độc

a Khái niệm

Mã độc là một thuật ngữ dùng để ám chỉ những phần mềm được cài đặt vào máy

tính, thực hiện những nhiệm vụ không mong muốn của người dùng, thường nhằm phục vụ lợi ích cho bên thứ ba nào đó.

• Phá hủy dữ liệu, hệ thống máy tính

• Theo dõi và đánh cắp thông tin

2.2 Cách thức lây nhiễm

• Lây nhiễm theo cách cổ điển.

• Lây nhiễm qua thư điện tử.

• Lây nhiễm qua truy cập trang web.

• Lây nhiễm qua các phần mềm cài đặt.

• Lây nhiễm qua khai thác lỗi bảo mật.

• Qua nhiều con đường khác,

Trang 7

Hình 1.Minh họa cách thức lây nhiễm mã độc qua thư điện tử

Hình 2.Sự xuất hiện của các loại mã độc mới theo từng năm – Thống kê của AV-TEST.

Trang 8

Hình 3.Việt Nam đứng thứ 2 về lượng lây nhiễm mã độc tấn công các giao dịch ngân hàng

trực tuyến (2013) - Theo TrendMicro.

2.3 Các loại mã độc mới và dự đoán xu hướng mã độc trong tương lai.

• Mã độc sẽ tiếp nhằm vào hạ tầng trọng yếu của các quốc gia để đánh cắp vàphá huỷ dữ liệu

• Các mã độc trên di động tăng nhanh và xuất hiện nhiều biến thể phần mềm mãhoá tống tiền (ransomware) trên di động

• Quyền riêng tư của người sử dụng tiếp tục là mục tiêu của hacker

• Các dịch vụ lưu trữ dữ liệu đám mây sẽ gặp nhiều vấn đề về an ninh

• Mạng xã hội như Facebook sẽ trở thành con đường chủ yếu để kẻ lừa đảo hoạtđộng

• Các cuộc tấn công mạng mang màu sắc chính trị gia tăng giữa hacker của cácquốc gia

• Doanh nghiệp đối đầu với các cuộc tấn công đánh cắp dữ liệu ngày càng tinh vi(APT)

Trang 9

2.4 Các công cụ - kỹ thuật sinh mã độc tự động.

Hình 4.JPS (Virus Maker 3.0)

Hình 5.TeraBIT Virus Maker 3.1

Trang 10

Hình 6.Sonic Bat

Trang 11

Chương 3: CÁC KỸ THUẬT VƯỢT QUA PHẦN MỀM

PHÒNG CHỐNG MÃ ĐỘC 3.1 Cấu trúc tệp tin thực thi

PE File Format (Portable Executable File Format): là định dạng tệp tin thực thi trên

Hệ điều hành Windows 32bit và Windows 64bit Bao gồm các file .exe, .dll (32bit), com, net,… ngoại trừ các file VxDs và dll (16bit).

Cấu trúc một tệp tin thực thi bao gồm:

• (LE : 4C 45 00 00 – trình điều khiển thiết bị ảo Window 3.x)

• ( LX : 45 58 00 00 – File cho OS/2 2.0 )

File Header: chứa thông tin về sơ đồ bố trí vật lý và những đặc tính của file

(20 bytes)

Optional Header: chứa thông tin về sơ đồ logic bên trong của một file PE

(224 bytes)

Trong cấu trúc File Header, một số thành phần cần lưu ý đó là:

Machine: giá trị xác định PE File này được biên dịch cho dòng máy nào (dưới

dạng mã trên Intel 32 bits)

NumberOfSections: cho biết số Section của PE File Thành phần này cần thay

đổi nếu như muốn thêm hoặc xóa bất kỳ sections nào trong một PE File

Characteristics: là bit cờ, xác định định dạng PE File

Giá trị 0x0102 nếu là file *.EXE

Trang 12

Giá trị 0x2102 nếu là file *.DLL

Optional Header bao gồm 31 thành phần, chiếm 224 bytes.

Trong đó, các thành phần lưu ý được mô tả như sau:

• Magic (2 bytes) : xác định là tệp tin 32 bit (0B 01) hay 64 bit (0B 20)

• AddressOfEntryPoint (4 bytes): chứa địa chỉ ảo tương đối (RVA) của câu

lệnh đầu tiên sẽ được thực thi khi chương trình PE loader sẵn sàng để chạy tệp tin PE (.text hoặc code)

• ImageBase (4 bytes) : địa chỉ nạp được ưu tiên cho tệp tin PE.

• Section Alignment (4 bytes) : phần liên kết của các Section trong bộ nhớ

• File Alignment (4 bytes) : phần liên kết của các Section trong tệp tin

• SizeOfImage (4 bytes) : toàn bộ kích thước của PE image trong bộ nhớ,

là tổng của tất cả các headers và sections được liên kết tới Section Alignment

• SizeOfHeaders (4 bytes) : kích thước của tất cả các headers + section

table.

• Data Directory : là một mảng gồm 16 phần tử, trong đó mỗi phần liên quan đến một cấu trúc dữ liệu quan trọng trong PE tệp tin.

Section Table chứa thông tin về mỗi Section.

• VirtualSize: là kích thước của section’s data được tính theo bytes

• VirtualAddress: hay gọi là RVA (địa chỉ ảo tương đối) của section

• SizeOfRawData: kích thước của section’s data trong tệp tin trên đĩa

• PointToRawData: là offset từ vị trí bắt đầu của tệp tin cho tới phần section’s

data.

• Characteristics: bao gồm các cờ, cho biết thuộc tính của section.

Sections chứa nội dung chính của tệp tin

Một số Sections thông dụng: text, .data (.rdata, .bss), .rsrc, .edata, .idata,

.debug, reloc

Trang 13

3.3 Các kỹ thuật vượt qua phần mềm phòng chống mã độc

• Mã hóa với khóa ngẫu nhiên

• Mã hóa dựa trên phép hoán vị

• Mã hóa phụ thuộc vào mã lệnh

Hình 7.Hoạt động chương trình khi có và không rẽ nhánh

Sử dụng Stub để giải mã và thực thi trên bộ nhớ.

Trang 14

Hình 8.Hình ảnh tệp tin được tạo ra.

Tệp tin nhị phân mới được tạo ra có hai phần, phần thứ nhất gọi là Stub, phần này sẽchịu trách nhiệm cho việc giải mã và thực thi mã độc trên bộ nhớ Phần thứ hai làphần Payload, phần này chính là mã độc đã được mã hóa, có rất nhiều giải thuật có thểlựa chọn

- Thêm Junk code để chỉnh sửa luồng chạy

- Thay đổi hoặc mã hóa chuỗi

- Thay đổi tên biến

- Thay đổi thứ tự vẻ bề ngoài của mã

- Thêm hoặc đổi icon

- Mã hóa toàn bộ chuỗi biến và kể cả payload cũng với thuật toán mã hóa dữ liệutheo tiêu chuẩn

- Làm rối toàn bộ hàm gọi API khả nghi

- Khiến cho độ dài của tất cả các phần tử ở phía đuôi thay đổi, không thể dựđoán được

- Xóa toàn bộ những chuỗi không cần thiết và ẩn các nguồn có thể là dấu hiệunhận diện bởi Antivirus

Trang 15

Hình 9.Tệp tin được làm rối.

Mục đích của kỹ thuật này bảo vệ virus trước phương pháp heuristic Ngay cả với

việc thay đổi hướng thực hiện của thủ tục giải mã

- Data: là địa chỉ bộ đệm bên trong chứa dữ liệu của virus.

- Tuần tự đọc dữ liệu và tạo ra một bộ đệm mới chứa các dữ liệu được giải mã.

- Kiểm soát mã lệnh mới được giải mã.

PRIDE bao gồm việc giải mã một cách ngẫu nhiên và không theo thứ tự, byte 10

được giải mã, byte 25 được giải mã, byte 7 được giải mã cứ như vậy Kiểu truy cậpvào bộ nhớ như thế sẽ giống với với truy cập bộ nhớ của một ứng dụng bình thường

Đồng thời kỹ thuật này sẽ củng cố hơn tính đa hình của mã lệnh giải mã.

Trang 16

Hình 10.Kỹ thuật PRIDE

Trang 17

Hình 12.Chạy chương trình thông qua Visual Studio 2012

Trang 18

• Timing Base

• Artifacts Based

Hình 14.Phát hiện máy ảo dựa vào Timing Base

Hình 15.Phát hiện máy ảo dựa vào Artifacts Base

3.3.6 Kỹ thuật che giấu API (Application Programming Interface) Mục đích của kỹ thuật này là che giấu các API được gọi trong quá trình thực thi và các API được liệt kê trong Import Directory Khiến các AV không nghi ngờ các chức năng thực hiện, hơn nữa còn chống Debug, chống dịch ngược phần mềm.

Trang 19

Hình 16.Che giấu API

Hình 17.Thực thi hàm MessageBox() mà không gọi API.

Trang 20

Hình 18.Thực thi hàm MessageBox() mà không gọi API.

Hình 19.Chữ ký thật

Trang 21

Hình 20.Chữ ký giả

Lỗ hổng trên Hệ điều hành: Là những lỗi lập trình từ những chương trình hệ thống bên trong Hệ điều hành.

Những mã độc sử dụng lỗ hổng trên hệ điều hành thường khó phát hiện hơn so với những mã độc thông thường, những loại mã độc này có thời gian hoạt động ngầm rất

lâu trước khi chúng bị phát hiện bởi những chuyên gia phân tích mã độc.

Những lỗ hổng trên Hệ điều hành không chỉ xuất hiện trên HĐH Windows mà còn

trên Linux, Android, MAC OS – Trước đó Apple tuyên bố không thể có mã độc.

Trang 22

Hình 21.Sự lây lan của Stuxnet

Các lỗ hổng trên Hệ điều hành điển hình năm 2014

- CVE-2014-414: Windows OLE Package Manager SandWorm Exploit

- CVE-2014-4113: Windows TrackPopupMenu Win32k NULL Pointer

Dereference

- CVE-2014:6324: Windows Kerberos - Elevation of Privilege (MS14-068)

Một số lỗ hổng trên Hệ điều hành mới công bố năm 2015

- CVE-2015-0004: Windows < 8.1 (32/64 bit) - Privilege Escalation (User

Profile Service) (MS15-003)

- Windows 8.1 - Local WebDAV NTLM Reflection Elevation of Privilege

- McAfee Data Loss Prevention Endpoint - Arbitrary Write Privilege Escalation

Trang 23

Hình 22.Khai thác CVE-2014-4113 để leo thang đặc quyền NT AUTHORITY\SYSTEM

Trang 24

4 Cần xây dựng chính sách an ninh cho hệ thống, đảm bảo việc giảm thiếu tối

đa rủi do do mã độc gây ra, các biện pháp phòng chống, khắc phục hậu quả

do mã độc

5 Các mã độc muốn vượt được qua các phần mềm phòng chống mã độc thì kỹ

thuật lập trình là chính, các lá chắn bảo vệ chỉ là vỏ bọc bên ngoài, sẽ bị phát hiện sớm hơn.

6 Còn nhiều kỹ thuật vượt qua phần mềm phòng chống mã độc, nhưng do giới

hạn về thời gian nghiên cứu, điều kiện thực tế và tài liệu nên nhóm nghiên

cứu chưa trình bày trong nội dung nghiên cứu

Trang 25

TÀI LIỆU THAM KHẢO

Tiếng Anh

[1] Aditya P Mathur and Nwokedi Idika, "A Survey of Malware Detection

Techniques".

[2] Joshua Tully, "Introduction into Windows Anti-Debugging", 9/2008

[3] Joshua Tully, "An Anti-Reverse Engineering Guide", 11/2008

[4] Mark Vincent Yason, "The Art of Unpacking"

[5] Michael Sikorski and Andrew Honig, "Praise for Practical Malware Analysis"

[6] Moritz Jodeit, "Exploiting CVE-2014-4113 on Windows 8.1"

[7] N Rin, "VMDE - Virtual Machines Detection Enhanced"

[8] Peter Szor, "The Art of Computer Virus Research and Defense"

[9] Philippe Beaucamps, "Advanced Metamorphic Techniques in Computer

Viruses“

[10] Richard Ford, "The future of virus detection"

[11] Ronnie Johndas, "Analysis of CVE-2014-4113"

Trang web

[12] http://www.ducasec.com/an-ninh-mang-the-gioi-nhin-lai-2014-va-du-doan-2015/[13] http://itsecuritylab.eu/index.php/2010/09/03/writing-crypter-bypassing-antivirus-how-to-for-beginners/

Ngày đăng: 01/07/2021, 17:08

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w