Tải bản đầy đủ - 0 (trang)
CHƯƠNG 1: TỔNG QUAN VỀ MÃ ĐỘC

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

Tải bản đầy đủ - 0trang

Hình 1.1. Số lượng mã độc trên tồn thế giới trong vòng 5 năm gần đây (Nguồn: AV-TEST)

Chủng loại mã độc cũng đa dạng và phong phú hơn về cả hành vi và mục đích

phát tán. Các lĩnh vực mà mã độc nhằm đến bao gồm kinh tế, chính trị, tôn giáo và

nhiều lĩnh vực quan trọng khác. Trong năm 2017, thế giới bị rúng động bởi sự hoành

hành của mã độc tống tiền WannaCry gây lây nhiễm trên 250.000 máy tính ở 150

quốc gia trên thế giới.



Hình 1.2: Các vùng bị ảnh hưởng bởi mã độc WannaCry (Nguồn: VnExpress)

Tại Việt Nam, xu hướng tấn công, phát tán phần mềm có mã độc vào các cơ

quan, doanh nghiệp là hình thái mới của giới tội phạm mạng mang tính chất quốc gia

8



và đã xuất hiện tại Việt Nam. Bên cạnh các loại mã độc phổ biến thì cũng xuất hiện

các dạng mã độc mới, như mã độc đính kèm trong tập tin văn bản. Hầu hết người

nhận được email đã mở tập tin văn bản đính kèm và bị nhiễm mã độc khai thác lỗ

hổng của phần mềm Microsoft Office (bao gồm cả Word, Excel và PowerPoint). Khi

xâm nhập vào máy tính, mã độc này âm thầm kiểm sốt tồn bộ máy tính nạn nhân,

mở cổng hậu (Backdoor), cho phép tin tặc điều khiển máy tính nạn nhân từ xa. Chúng

cũng nhận lệnh tin tặc tải các mã độc khác về máy tính để ghi lại thao tác bàn phím,

chụp màn hình, lấy cắp tài liệu.

Trong vòng 8 tháng đầu năm 2018, Việt Nam nằm trong số 20 quốc gia bị lây

nhiễm mã độc nhiều nhất thế giới, đồng thời dẫn đầu Đơng Nam Á với hơn 86 triệu

email có nội dung đe dọa tấn công được phát hiện, theo hãng bảo mật Trend Micro.



Hình 1.3. Số liệu thống kê virus phát tán qua email tính đến quý 2 năm 2018 trên trang

statista.com

Trước sự gia tăng mạnh mẽ về số lượng và mục đích tấn cơng của mã độc cũng

có nhiều biện pháp nhằm ngăn chặn và phòng ngừa mã độc như sử dụng các chương

trình diệt Virus, sử dụng các hệ thống tường lửa, IDS, IPS để bảo vệ hệ thống,.. Tuy

nhiên các biện pháp này chỉ phần nào ngăn chặn được các loại Virus đã được biết đến

rộng rãi, còn các biến thể mã độc hoặc các mã độc mới được sinh ra ngày càng nhiều

thì hầu như vơ hình trước các biện pháp bảo vệ trên.

9



Số liệu cho thấy, trong 5 tháng đầu năm 2018, có tới 735.000 máy tính tại Việt

Nam bị nhiễm virus đào tiền ảo. Các virus này khơng xóa dữ liệu nhưng chiếm quyền

điều khiển và biến máy tính thành máy đào. Với phần mềm gián điệp, khi máy tính bị

lây nhiễm, nó sẽ ăn cắp dữ liệu cá nhân, cookie, tài khoản email và tài khoản ngân

hàng. Các dữ liệu cá nhân bị đánh cắp sẽ được sử dụng với mục đích xấu hoặc bán

cho các công ty quảng cáo.

Không kém phần nguy hiểm là mã độc tấn cơng có chủ đích APT (thuật ngữ

dùng để mô tổ một chiến dịch tấn cơng, thường do một nhóm các kẻ tấn cơng, sử

dụng những kỹ thuật tấn cơng nâng cao để có thể hiện diện và tồn tại lâu dài trên

mạng Internet nhằm khai thác dữ liệu có độ nhạy cảm cao). Đây là hình thức tấn cơng

bằng email chứa file văn bản. Kẻ xấu giả làm người quen và gửi email kèm file văn

bản. Khi người dùng mở file đính kèm, máy tính sẽ vơ tình bị nhiễm mã độc.

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

Có nhiều cách phân loại mã độc khác nhau, dựa vào các tiêu chí khác nhau. Tuy

nhiên, định nghĩa đưa ra bởi NIST là cách định nghĩa phổ biến nhất trong ngành khoa

học máy tính ngày nay [1].

1.2.1. Virus

Là một phần mềm độc hại có khả năng tự nhân bản và lây nhiễm chính nó vào

các file, phần mềm hoặc máy tính. Virus thường được kích hoạt thơng qua sự tương

tác của người dùng, chẳng hạn như mở tệp hoặc chạy chương trình.

Virus có thể được chia thành 2 loại sau:

- Compiled Virus: Là virus mà mã thực thi của nó đã được dịch hồn chỉnh

bởi một trình biên dịch để nó có thể thực thi trực tiếp từ hệ điều hành. Các

loại virus được biên dịch bao gồm file infector virus, chúng tự gắn vào các

chương trình thực thi; boot sector virus, lây nhiễm vào bản ghi khởi động

chính của ổ đĩa cứng hoặc các chương trình khởi động của thiết bị lưu trữ di

động và multipartite virus, kết hợp các đặc tính của file infector và boot

sector virus.

- Interpreted Virus: Là virus được thực thi bởi một ứng dụng. Macro virus,

scripting virus là các virus nằm trong dạng này. Macro virus rất phổ biến

trong các ứng dụng Microsoft Office khi tận dụng khả năng kiểm soát việc

tạo và mở file để thực thi và lây nhiễm. Chúng ta phân biệt giữa macro virus

10



và scripting virus như sau: macro virus là tập lệnh thực thi bởi một ứng dụng

cụ thể, còn scripting virus là tập lệnh chạy bằng một service của hệ điều

hành.

1.2.2. Worm

Là một phần mềm có khả năng tự nhân bản và tự lây nhiễm trong hệ thống tuy

nhiên nó có khả năng “tự đóng gói”, thường tự thực thi mà không cần sự can thiệp của

người dùng. Worm có thể chia làm 2 loại sau:

- Network Service Worm: Lan truyền bằng cách lợi dụng các lỗ hổng bảo

mật trong một dịch vụ mạng để tự lan truyền và lây nhiễm sang các máy chủ

khác.

- Mass Mailing Worm: Là một dạng tấn công qua dịch vụ mail, tuy nhiên nó

tự đóng gói để tấn cơng và lây nhiễm chứ không bám vào vật chủ là email.

Khi sâu này lây nhiễm vào hệ thống, nó thường cố gắng tìm kiếm sổ địa chỉ

và tự gửi bản thân nó đến các địa chỉ thu nhặt được. Việc gửi đồng thời cho

toàn bộ các địa chỉ thường gây quá tải cho mạng hoặc cho máy chủ mail.

1.2.3. Trojan horse

Trojan là một chương trình độc lập, khơng tự nhân bản. Nó lây vào hệ thống

với biểu hiện ban đầu là lành tính nhưng thực chất bên trong có ẩn chứa các đoạn mã

với mục đích gây hại. Thuật ngữ này bắt nguồn từ câu chuyện Hy Lạp cổ đại “ Ngựa

thành Troy”. Trojan có thể lựa chọn một trong 3 phương thức để gây hại như sau:

- Tiếp tục thực thi các chức năng của phần mềm mà nó bám vào, bên cạnh đó

thực thi các hoạt động gây hại một cách riêng biệt.

- Tiếp tục thực thi các chức năng của phần mềm mà nó bám vào, nhưng sửa đổi

một số chức năng để gây tổn hoặc che giấu các hành động phá hoại khác.

- Thực thi luôn một phần mềm gây hại bằng cách núp dưới danh một phần mềm

khơng có hại.

1.2.4. Rootkits

Rootkit là thuật ngữ được dùng để chỉ tập hợp các chương trình hay mã lệnh có

khả năng kiểm sốt hệ thống nhưng khơng bị phát hiện theo cách bình thường. Nói

cách khác rootkit là những mã lệnh hay chương trình có khả năng kiểm sốt ở cấp độ

quản trị phổ thông một hệ thống máy tính mà người dùng khơng bao giờ hoặc khó có

thể phát hiện ra được. Tuy nhiên rootkit không thể tự lan truyền hay nhân bản được.

11



1.2.5. Spyware

Spyware là phần mềm gián điệp chuyên thu thập các thông tin từ các máy chủ

(thơng thường vì mục đích thương mại) qua mạng Internet mà khơng có sự nhận biết

và cho phép của chủ máy. Một cách điển hình, spyware được cài đặt một cách bí mật

như là một bộ phận kèm theo của các phần mềm miễn phí (freeware) và phần mềm

chia sẻ (shareware) mà người ta có thể tải về từ Internet. Một khi đã cài đặt, spyware

điều phối các hoạt động của máy chủ trên Internet và lặng lẽ chuyển các dữ liệu thông

tin đến một máy khác (thường là của những hãng chuyên bán quảng cáo hoặc của các

tin tặc). Phần mềm gián điệp cũng thu thập tin tức về địa chỉ thư điện tử và ngay cả

mật khẩu cũng như là số thẻ tín dụng.



12



1.2.6. Adware

Adware là phần mềm quảng cáo thường hay có ở trong các chương trình cài đặt

tải từ trên mạng. Một số phần mềm vơ hại, nhưng một số có khả năng hiển thị thơng

tin lên màn hình, cưỡng chế người dùng.

1.2.7. Fileless Malware

Fileless malware là một phần mềm độc hại không sao chép bất cứ tệp tin và thư

mục nào vào ổ đĩa cứng khi thực thi, Thay vào đó, dữ liệu độc hại được đưa trực tiếp

vào bộ nhớ của tiến trình đang chạy và mã độc thực thi ngay trên RAM. Việc điều tra

số và lần vết mã độc trở nên khó khăn do bộ nhớ sẽ được giải phóng khi máy tính

khởi động lại.

1.2.8. Ransomware

Là mã độc tống tiền bao gồm nhiều lớp phần mềm với chức năng hạn chế truy

cập đến hệ thống máy tính mà đã lây nhiễm, và đòi hỏi một khoản tiền cho người đã

tạo ra mã độc đó nhằm mục đích xố bỏ việc hạn chế truy cập mà nó đã tạo ra trước

đó. Một vài dạng của ramsomware mã hoá tệp tin, dữ liệu trên ổ đĩa cứng (nhằm tống

tiền), trong khi một vài dạng khác thì đơn giản hơn, chúng khố hệ thống lại và hiển

thị một thông báo để thuyết phục người bị hại trả tiền.



13



1.3. Vai trò của việc phân tích mã độc

Với sự phát triển mạnh mẽ của Internet, vấn đề an ninh, bảo đảm an toàn cho

các hệ thống thông tin ngày càng trở nên cấp thiết khi các hệ thống thông tin được kết

nối với nhau và kết nối với mạng Internet, chúng ta phải đối diện với nhiều nguy cơ bị

tấn công lấy cắp thông tin hoặc phá hoại hệ thống. Trong số các phương thức tấn công

phá hoại hệ thống thông tin và mạng, các phần mềm độc hại là một trong các dạng

gây nhiều thiệt hại nhất do khả năng lan truyền nhanh chóng.

Câu hỏi đặt ra là liệu có cần phân tích mã độc không khi càng ngày những phần

mềm đảm bảo an ninh máy tính càng phát triển. Câu trả lời ln là có, vì các phần

mềm độc hại được phát triển ngày càng tinh vi và rất khó phát hiện. Phần mềm đảm

bảo an ninh mạnh nhất và được cập nhật cũng không thể loại bỏ được hết mã độc. Kết

quả của q trình phân tích mã độc sẽ phát hiện được những phương thức lây lan, phá

hoại, đánh cắp dữ liệu mới; đồng thời hạn chế sự lây lan, giảm thiểu thiệt hại do mã

độc gây ra bằng cách đưa các cảnh báo tới cộng đồng; là nguồn thông tin quan trọng

để cập nhật mẫu cũng như chức năng cho phần mềm đảm bảo an ninh máy tính.

1.4. Kết luận chương 1

Trong chương này báo cáo đã nghiên cứu các kiến thức cơ bản về mã độc, tổng

quan về tình hình mã độc hiện nay tại Việt Nam và trên thế giới. Nội dung báo cáo đã

trình bày được các loại mã độc hiện nay và vai trò của việc phân tích mã độc.

Trong chương tiếp theo, báo cáo sẽ nghiên cứu đến cơ chế hoạt động, hành vi

của mã độc và xu hướng phát triển của mã độc hiện nay.



14



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

2.1. Tìm hiểu về cấu trúc PE file

Một bước rất quan trọng khi tìm hiểu về mã độc là tìm hiểu về file PE vì gần

như mọi mã thực thi được nạp bởi Windows đều có định dạng PE. Đây là dạng phổ

biến bậc nhất của mã độc và cũng là định dạng hay bị lây nhiễm mã độc nhất.

Định dạng file PE được dùng cho những file thực thi, mã đối tượng và các DLL

của Windows. Định dạng này là một cấu trúc dữ liệu bao gồm thông tin cần thiết để

Windows OS Loader quản lý được mã thực thi trong nó.

Để có thể thực thi trên máy tính, nội dung file PE được chia thành các thành

phần và có mối liên hệ mật thiết với nhau. Nắm rõ cấu trúc PE sẽ giúp chúng ta hiểu

được cơ chế thực thi của một phần mềm, từ việc tổ chức tới việc nạp lên bộ nhớ, các

tài nguyên sử dụng…

Hơn nữa, khi chúng ta muốn sửa đổi một file, ví dụ như thêm vào một số đoạn

mã, chỉnh sửa một số thành phần nhưng vẫn muốn phần mềm thực thi bình thường, ví

dụ trong trường hợp cần chỉnh sửa các công cụ phân tích để tránh bị phát hiện bởi mã

độc thì chúng ta cần phải nắm rõ cấu trúc PE file cũng như mối liên hệ giữa các thành

phần trong file để có thể nhanh chóng thay đổi file và thoả mãn yêu cầu đề ra mà

không ảnh hưởng tới chức năng cũng như hoạt động của file.

Mặt khác, đối với các mã sử dụng kỹ thuật tiêm mã vào các tiền trình đang có

để che giấu sự tồn tại trên hệ thống, nếu chúng ta không hiểu rõ cấu trúc của file PE

sẽ rất khó tìm ra tiến trình bị tiêm mã độc.



15



Hình 2.1. Cấu trúc cơ bản của PE

Cấu trúc PE có thể gồm nhiều section, trong đó tối thiểu cần 2 section: data và

code. Một số section thông dụng hay được gặp ở các phần mềm [3]:

1. Executable Code Section, có tên là .text (Microsoft).

2. Data Sections, có tên là .data, .rdata, .bss (Microsoft) hay DATA (Borland)

3. Resources Section, có tên là .rsrc

4. Export Data Section, có tên là .edata

5. Import Data Section. có tên là .idata

6. Debug Information Section, có tên là .debug

Cấu trúc các section trên bộ nhớ và trên ổ đĩa là như nhau, tuy nhiên khi được

nạp lên bộ nhớ, các Windows loader sẽ quyết định thứ tự và vị trí nạp các phần, do đó

vị trí các phần trên ổ đĩa và trên bộ nhớ sẽ có sự khác biệt.



16



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

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

Tải bản đầy đủ ngay(0 tr)

×