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

giới thiệu các lý thuyết về honeypot CHO MALWARE TRÊN CÁC THIẾT BỊ LƯU TRỮ USB

10 645 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 427 KB

Nội dung

HONEYPOT CHO MALWARE TRÊN CÁC THIẾT BỊ LƯU TRỮ USB Tóm tắt: Malware là mối đe dọa nghiêm trọng đối với công nghệthông tin thếhệmới, vì vậy vấn đềphát hiện và phân tích malware là một yêu cầu bức thiết. Honeypot là một công cụ hỗ trợ công việc đó, chúng thu thập các mẫu malware để phân tích. Thật không may, các honeypot phát hiện malware nhưng ởphạm vi mạng (network)do đó sẽkhông thểphát hiện các malware mà không dùng mạng làm phương tiện truyền dẫn. Kỹthuật phổbiến của các malware loại này đó là nó có thểcopy chính nó vào các thiết bịlưu trữnhư USB. Bài báo này sẽ giới thiệu Ghost, một dạng honeypot mới cho các loại USB malware như vậy. Honeypot này phát hiện malware bằng cách giảlập một thiết bịdi động bằng phần mềm, khi đó malware sẽcopy chính nó vào thiết bịmà chúng ta vừa tạo ra. 1. GIỚI THIỆU Malware là từ viết tắt của malicious software tức là các phần mềm độc hại, chúng thực hiện các hành vi bất hợp pháp trên các thiết bị của người khác vì các lợi ích về kinh tế cũng như chính trị. Đối tượng mà chúng hướng tới không giới hạn ở người dùng máy tính thông thường, thậm chí các công ty, chính phủ và ngay cả internet cũng bị ảnh hưởng nghiêm trọng. Một khi bị nhiễm bởi malware, một máy tính có thể bị chi phối theo các ràng buộc mà người tạo ra nó xây dựng lên, có thể làm lộ các thông tin cá nhân hoặc bị điều khiển để tham gia tấn công DDoS. Phần mềm anti-virus của McAfee đã thống kê được hơn 20 triệu mẫu malware mới trong năm 2011 [2]. Việc phòng chống malware đỏi hỏi sự hiểu biết sau rộng về cơ chế lây nhiễm của malware cũng như là kỹ thuật chiếm quyền kiểm soát máy tính (rootkit). Để thu thập các mẫu malware để phân tích thì honeypot là một giải pháp. Honeypot thu thập các mẫu đó bằng cách giả mạo các hệ thống cũng như dịch vụ mà có nhiều lỗ hổng. Mục đích là để các nhà nghiên cứu và các công ty phát triển phần mềm anti-virus phân tích các dạng malware mới để từ đó đưa ra các biện pháp đối phó bằng việc tạo ra các dấu hiệu nhận biết cho các malware chưa từng được biết tới. Có rất nhiều định nghĩa về honeypot nhưng tựu chung là chúng giải quyết vấn đề là làm thế nào để lừa các malware lây nhiễm vào máy của mình. Honeypot thường giả dạng là các dịch vụ mạng hoặc hệ điều hành có nhiều lỗ hổng, cách này được chứng minh là thành công trong việc thu hút malware để thu thập số lượng các mạng bị lây nhiễm, cách thức mà malware ẩn mình hay đơn giản là lỗ hổng mà malware khai thác. Một số malware được biết tới nhiều trong thời gian gần đây như Conficker [3], [4] Stuxnet [1] và Flame [5] không chỉ sử dụng mạng là phương tiện truyền dẫn mà còn có thể nhân bản chính nó vào các thiết bị lưu trữ di động. Theo đó trong bản báo cáo về bảo mật của Microsoft (Microsoft`s Security Intelligence Report) [6] thì hơn 1/4 số malware được phát hiện bởi Malicious Software Removal Tool trong nửa đầu năm 2011 có khả năng khai thác vào tính năng autorun của Window từ thiết bị USB. 2. NỘIDUNG 2.1. Ý tưởng Mục tiêu của bất kỳ honeypot là thu thập thông tin của các malware bao gồm thông tin về người viết malware hoặc cách thức lây nhiễm của chúng. Trong trường hợp này, chỉ xét đến trường hợp thu thập mẫu malware ở máy tính bị lây nhiễm đầu tiên. Có nhiều điểm khác nhau trong vòng đời của malware mà tại đó một honeypot có thể thu thập bảnsao của file thực thi malware. Ở đây, “vòng đời” có thể hiểu là quá trình malware lây nhiễm

Trang 1

HONEYPOT CHO MALWARE TRÊN CÁC THIẾT BỊ

LƯU TRỮ USB

Tóm tắt: Malware là mối đe dọa nghiêm trọng đối với công nghệthông tin thếhệmới, vì vậy vấn đềphát hiện và phân tích malware là một yêu cầu bức thiết Honeypot là một công cụ hỗ trợ công việc đó, chúng thu thập các mẫu malware để phân tích Thật không may, các honeypot phát hiện malware nhưng ởphạm vi mạng (network)do đó sẽkhông thểphát hiện các malware mà không dùng mạng làm phương tiện truyền dẫn Kỹthuật phổbiến của các malware loại này đó là nó có thểcopy chính nó vào các thiết bịlưu trữnhư USB Bài báo này sẽ giới thiệu Ghost, một dạng honeypot mới cho các loại USB malware như vậy Honeypot này phát hiện malware bằng cách giảlập một thiết bịdi động bằng phần mềm, khi đó malware sẽcopy chính nó vào thiết bịmà chúng ta vừa tạo ra.

1 GIỚI THIỆU

Malware là từ viết tắt của malicious software tức là các phần mềm độc hại, chúng thực hiện các hành vi bất hợp pháp trên các thiết bị của người khác vì các lợi ích về kinh tế cũng như chính trị Đối tượng mà chúng hướng tới không giới hạn ở người dùng máy tính thông thường, thậm chí các công ty, chính phủ và ngay cả internet cũng bị ảnh hưởng nghiêm trọng Một khi bị nhiễm bởi malware, một máy tính có thể bị chi phối theo các ràng buộc mà người tạo ra nó xây dựng lên, có thể làm

lộ các thông tin cá nhân hoặc bị điều khiển để tham gia tấn công DDoS

Phần mềm anti-virus của McAfee đã thống kê được hơn 20 triệu mẫu malware mới trong năm 2011 [2] Việc phòng chống malware đỏi hỏi sự hiểu biết sau rộng về

cơ chế lây nhiễm của malware cũng như là kỹ thuật chiếm quyền kiểm soát máy tính (rootkit)

Để thu thập các mẫu malware để phân tích thì honeypot là một giải pháp Honeypot thu thập các mẫu đó bằng cách giả mạo các hệ thống cũng như dịch vụ mà

có nhiều lỗ hổng Mục đích là để các nhà nghiên cứu và các công ty phát triển phần mềm anti-virus phân tích các dạng malware mới để từ đó đưa ra các biện pháp đối phó bằng việc tạo ra các dấu hiệu nhận biết cho các malware chưa từng được biết tới Có rất nhiều định nghĩa về honeypot nhưng tựu chung là chúng giải quyết vấn đề là làm

Trang 2

Bài tiểu luận số 1 môn an ninh mạng

Honeypot thường giả dạng là các dịch vụ mạng hoặc hệ điều hành có nhiều lỗ hổng, cách này được chứng minh là thành công trong việc thu hút malware để thu thập số lượng các mạng bị lây nhiễm, cách thức mà malware ẩn mình hay đơn giản là

lỗ hổng mà malware khai thác

Một số malware được biết tới nhiều trong thời gian gần đây như Conficker [3], [4] Stuxnet [1] và Flame [5] không chỉ sử dụng mạng là phương tiện truyền dẫn mà còn có thể nhân bản chính nó vào các thiết bị lưu trữ di động Theo đó trong bản báo cáo về bảo mật của Microsoft (Microsoft`s Security Intelligence Report) [6] thì hơn 1/4 số malware được phát hiện bởi Malicious Software Removal Tool trong nửa đầu năm 2011 có khả năng khai thác vào tính năng autorun của Window từ thiết bị USB

2 NỘIDUNG

2.1 Ý tưởng

Mục tiêu của bất kỳ honeypot là thu thập thông tin của các malware bao gồm thông tin về người viết malware hoặc cách thức lây nhiễm của chúng Trong trường hợp này, chỉ xét đến trường hợp thu thập mẫu malware ở máy tính bị lây nhiễm đầu tiên

Có nhiều điểm khác nhau trong vòng đời của malware mà tại đó một honeypot

có thể thu thập bảnsao của file thực thi malware Ở đây, “vòng đời” có thể hiểu là quá trình malware lây nhiễm sang máy tính, ẩn mình, thực thi các tác vụ như là gửi spam hoặc thu thập thông tin cá nhân và cuối cùng là lây nhiễm sang các máy tính khác

Đặc biệt Stuxnet đã chỉ ra rằng cách lây lan qua các thiết bị lưu trữ di động là đặc điểm quan trọng của những malware gần đây [1] Các thiết bị như USB vừa rẻ lại

dễ dàng sử dụng, chúng được sử dụng rộng rãi trong việc trao đổi dữ liệu và đây là môi trường lý tưởng của malware trong việc lây nhiễm vào hệ thống Stuxnet có thể lây nhiễm vào máy tính thông qua các file được copy trước đó vào USB khi chúng được cắm vào máy tình đã bị lây nhiễm Hình dưới đây miêu tả quá trình lây nhiễm đó

Trang 3

Hình 1.Quá trình lây nhiễm malware thông qua USB

Yêu cầu đặt ra là xây dựng một honeypot để khai thác các hành vi chung nhất trong quá trình lây nhiễm lên USB bằng cách xây dựng một thiết bị lưu trữ USB ảo mà

có thể kết nối tới được các máy tính bị lây nhiễm Tuy nhiên, cách tiếp cận này có hai nhược điểm:

1 Máy tính mục tiêu bị lây nhiễm trước khi có thể chụp (capture) lại được malware

2 Các malware thông minh đã lây nhiễm lên máy tính có khả năng phát hiện và phá hủy các thiết bị giả dạng như vậy

Chúng ta không mong chờ chụp lại được malware trước khi chúng đã phá hủy

hệ thống, do đó mục đích của việc xây dựng này là biết được cách thức hoạt động cũng như cách lây nhiễm của chúng Có thể nói đây là tuy ến phòng thủ cuối cùng sau khi các giải pháp bảo vệ trước đó gặp thất bại

Hiểu biết sự khác biệt cơ bản giữa một honeypot thông thường và hệ thống được xây dựng ở đây kết hợp các lý thuyết về ổ đĩa flash USB (USB flash driver) ảo hứa hẹn sẽ đem lại một số lợi ích:

1 Cung cấp định nghĩa mới về Hostbased IDS ở mức thấp

2 Nếu malware đã lây nhiễm lên các thiết bị ảo được xây dựng ở đây thì vô hình malware đã cung cấp cho chúng ta tất cả các file thực thi cũng như hành vi của malware

Honeypot có thể hoạt động sai, hai kịch bản có thể đặt ra: hoặc là ứng dụng hợp

Trang 4

Bài tiểu luận số 1 môn an ninh mạng

thiết bị này càng ngắn thì càng dễ dàng ẩn toàn bộ tiến trình đối với các user Vì vậy việc thiết kế các honeypot này phải tính toán, thiết kế sao cho thời gian mount là nhỏ nhất

Đối với malware, thì các file được ghi vào USB thì với mục đích là lây nhiễm sang các máy tính khác, vì v ậy cần kiểm tra các file thực thi trong toàn bộ quá trình Thông thường xác suất chúng cung cấp tất cả các file là lớn, và nếu không như vậy thì chí it chúng ta cũng biết được nơi để tìm các dữ liệu còn lại Về mặt lý thuyết, malware chỉ cần ghi một đoạn loader vào USB sau đó download các mailware ảo ở địa chỉ nào đó trên mạng Nhưng cách tiếp cận này đỏi hỏi máy tính mục tiêu phải có kết nối mạng các loại malware như vậy chưa được tìm thấy trong thực tế

2.2 Thực hiện

Phần này sẽ thảo luận về cách hệ thống đã đề xuất ở phần trước có thể thực hiện được Hệ thống mục tiêu được xây dựng trên hệ điều hành XP, việc lựa chọn này xuất phát từ các nguyên nhân: Là hệ điều hành vẫn được sử dụng phổ biến trên thế giới, có nhiều lỗ hổng và là mục tiêu ưu thích của malware Tuy nhiên, phần code có thể được

mở rộng để có thể hoạt động trên các phiên bản hệ điều hành Windows khác

Những thách thức của việc thực hiện một USB ảo bao gồm hai phần: Thứ nhất,

đó là một dạng lưu trữ ảo, ví dụ như là một thiết bị lưu trữ được mô phỏng để hỗ trợ các file ảnh (image file) Ứng dụng phải có khả năng đọc và ghi từ thiết bị ảo Thứ hai, thiết bị ảo này phải giống một thiết bị lưu trữ di động để bất kỳ ứng dụng nào cũng có thể truy vấn thông tin về nó Vấn đề là các giải pháp có sẵn không không có tính linh hoạt,ví dụ như công cụ FileDiskchỉ có thể mô phỏng được ổ cứng mà không mô phỏng được các thiết bị lưu trữ di động Tất nhiên, hoạt động của honeypot phải đủ phức tạp

để cung cấp đủ chức năng, nhưng với yêu cầu là không được phức tạp quá Vì vậy, một cách tiếp cận khác được xem xét để đạt được hai yếu tố như trên: mô phỏng sự lưu trữ và làm cho nó rông giống có tính di động (removable)

Microsoft cung cấp Device Simulation Framework, một khung phần mềm cái

mà có thể dễ dàng mô phỏng các thiết bị như USB Nó cho phép thực thi các đoạn code mô phỏng trong chế độ người dùng (user mode) và biên dịch đến kernel bằng một trình điều khiển tùy chỉnh Tuy nhiên, mục đích chính của Framework này là dùng

để kiểm tra các trình điều khiển (driver) Ngoài ra nó đòi hỏi việc thực hiện của các thiết bị mô phỏng ở mức rất thấp, điều này là không cần thiết cho các lý thuyết đã được trình bày ở phần trên

Trang 5

Hình 2.Phát hiện thiết bị bằng cách sử dụng hàm WM_DEVICECHANCE

Hơn nữa, vấn đề cấp phép sẽ phải được xem xét nếu Device Simulation Framework là một phần của honeypot, đây có vẻ là một lựa chọn không có tính thực

tế

Đầu tiên, các malware phải có khả năng phát hiện các thiết bị USB mỗi khi USB được cắm vào Cách phổ biến là dựa vào hàm M_DEVICECHANGE Hệ điều hành sẽ gọi hàm đó mỗi khi thiết bị mới cắm vào, chương trình nhận dựa vào các tham

số đầu ra để kết luận đây có phải là các thiết bị lưu trữ di động hay không (hình 2) Virus Conficker [3] và Stuxnet [1] sử dụng công nghệ này Cách khác ít được sử dụng hơn đó là malware thường xuyên truy vấn tất cả tên ổ đĩa (thường từ C: đến Z:) để từ

đó phát hiện một thiết bị mới cắm vào Cách này có nhược điểm là truy vẫn ngay cả khi không có thiết bị mới cắm vào và do đó dễ bịphát hiện

Trước khi tìm hiểu cách tạo ra một thiết bị ảo như vậy, chúng ta phải tìm hiểu cách thức xử lý các thiết bị của nhân Windows (Windows kernel) Mỗi thiết bị được biểu diễn là một đối tượng và mỗi đối tượng được quản lý bởi trình điều khiển của thiết bị đó Mỗi khi có một kết nối của một thiết bị mới, Windows sẽ quyết định trình điều khiển nào được nạp vào dựa vào định danh thiết bị mới được kết nối đó Các đối tượng và các trình điều khiển liên quan được sắp xếp dưới dạng ngăn xếp (Stack) Thông thường các thiết bị lưu trữ như USB và các hệ thống có liên quan bên trong được sắp xếp ở đáy ngăn xếp, còn đỉnh ngăn xếp là trình điểu khiển file hệ thống

Mục tiêu là tạo ra được thiết bị được như có thể tháo rời khỏi hệ điều hành Và

Trang 6

Bài tiểu luận số 1 môn an ninh mạng

hoạt động như một trình điều khiển Windows, hoạt động cùng lớp với trình điều khiển

ổ đĩa và để cờ của thiết ảo này là “removable”: ghostdrive.sys Hình 3 sẽ so sánh ngăn xếp các trình điều khiển của một thiết bị lưu trữ USB thật và của thiết bị ảo tạo ra Trình điều khiển ghostdrive.sys sẽ thay thế trình điều khiển ổ đĩa cho các thiết bị USB

ảo và phải đảm bảo rằng chúng được đảm nhận gửi các thông tin về các thiết bị lưu trữ

di động lên trình điều khiển ở mức cao hơn

Hình 3.Ngăn xếp trình điều khiểnminh họa của honeypot Ghost [8]

Trình điểu khiển thứ hai trong hình 3 đó là ghostbus.sys, trình điều khiển này liên quan đến liệt kê thiết bị (device enumeration) tức là một thiết bị mới phải khai báo với nhân Windows để nạp các trình điều khiển Tiến trình này được gọi là device enumeration Đối với các trình điều khiển phù hợp với Windows Driver Model [7] thì

sẽ có hai lựa chọn:

1 Một thiết bị có thể là rootenumerationed Theo đó, thiết bị với một định danh xác định được mặc định là khởi động cùng hệ thống đồng thời nạp các trình điều khiển

Trang 7

yêu cầu Trình điều khiển bus PCI là một ví dụ cho trình điều khiển được nạp theo cách này

2 Thiết bị có thể được liệt kê bởi các đối tượng thiết bị khác (bus enumeration) Nếu trình điều khiển của một thiết bị đang tồn tại tạo ra một một đối tượng thiết bị mới thì sau đó Windows sẽ nạp các trình điều khiển tương ứng Rõ ràng, một chuỗi sự liệt

kê phải xuất phát từ một nơi nào đó, và đó chính là root-enumeration

Hình 4.Các thành phần cơ bản của honeypot Ghost

Các ổ đĩa USB ảo được thiết kế sao cho có khả năng mount theo nhu cầu vì vậy trình điều khiển của nó không nên được nạp vào khi máy tính khởi động Đây chính là giải pháp của trình điều khiển thứ hai, ghostbus.sys: nó được nạp bởi rootenumeration

và có thể báo cáo khi có một thiết bị USB mới cắm vào theo nhu cầu với chức năng của một bus ảo Vì vậy, bất cứ khi nào muốn mount một thiết bị ảo nào thì phải cần ra lệnh để bus ảo này báo cáo về thiết bị mới đó với một định danh thiết bị mà sau đó Windows sẽ nạp trình điều khiển ghostdrive.sys Hình 4 cho thấy cấu trúc tổng thể của việc thực hiện như đã mô tả

Việc phát hiện sự lây nhiễm và chụp lại các mẫu malware hoạt động như sau: Trình điều khiển bus ảo được hướng dẫn để nạp các thiết bị lưu trữ ảo, sẽ báo cáo với

hệ thống là có một thiết bị di động Malware sau khi phát hiện một thiết bị USB cắm vào sẽ lây nhiễm sang thiết bị đó bằng ghi dữ liệu lên trên đó Yêu cầu ghi dữ liệu của

Trang 8

Bài tiểu luận số 1 môn an ninh mạng

Sẽ là tốt hơn nếu ta phân tích nội dung của các thiết bị ảo trực tiếp trên honeypot nhưng phải chú ý: trong trường hợp máy tính bị lây nhiễm, một số loại malware có khả năng cài đặt các rootkit để ẩn các tiến trình trong hệ thống, vì vậy việc

sử dụng các API thông thường có thể đem lại kết quả không chính xác

3 ĐÁNH GIÁ

Phần này sẽ đánh giá các khái được đề xuất dựa vào việc thực hiện đã trình bày ở trên Tất các các đánh giá được thực hiện trên Windows XP SP2 Các mẫu malware dành cho thử nghiệm yêu cầu là cách thức lây nhiễm lên cách thiết bị USB là đáng tin cậy và có thể kiểm tra được Trong trường hợp này là Conficker, đây là loại malware phổ biến với hoạt động tinh vi

Tham số đánh giá như phân tích ở trên là thời gian mount thiết bị ảo, kết quả thử nghiệm được gọi là thành công nếu các file ghi vào thiết bị ảo được kiểm ta là trùng khớp với thiết bị USB thật

Theo kết quả thử nghiệm ở [9] thì thời gian mount chậm nhất là 35s, thời gian trung bình là 7.9s Trong một số trượng hợp, một số mẫu Conficker có thời gian mount dưới 1s

Bảng 1.Sự phân chia malware của các hãng

Trang 9

Hình 5.Thời gian nhỏ nhất để các mẫu malware lây nhiễm vào các thiết bị ảo

Thực tế chỉ ra:

1 Không có mẫu malware nào có khả năng phát hiện thiết bị ảo và thiết bị thật

2 Thời gian mount là đủ nhỏ để ẩn các tiến trình đối với người dùng, do đó tránh đường các trường hợp nghi không mong muốn lên các thiết bị ảo

4 KẾT LUẬN

Bài tiểu luận đã giới thiệu các lý thuyết về honeypot để thu thập các mẫu malware phát tán qua các thiết bị lưu trữ USB Kết quả đánh giá cũng cho thấy các malware phức tạp cũng không có khả năng phát hiện honeypot từ bất kỳ mục tiêu bị lây nhiễm nào khác Vì vậy có thể đưa ra kết luận rằng phương pháp này là phù hợp để phát hiện sự lây nhiễm trên máy tính và thu thập các mẫu malware Đối với các tổ

Trang 10

Bài tiểu luận số 1 môn an ninh mạng

5 TÀI LIỆU THAM KHẢO

1 N Falliere, L Murchu, and E Chien, “W32 stuxnet dossier,” Symantec Security Response

2 McAfee Labs, “Mcafee threats report: Fourth quarter 2011,” 2011

3 Symantec, “The downadup codex,” Symantec, Tech Rep., 2009

4 F Leder and T Werner, “Know your enemy: Containing conficker,” The Honeynet Project, University of Bonn, Germany, Tech Rep, 2009

5 Kaspersky, “Flame: Bunny, frog, munch and beetlejuice ” [Online] Available: https://www.securelist.com/en/blog?weblogid=208193538#w208193538

6 Microsoft, “Microsoft security intelligence report.” [Online] Available: http://www.microsoft.com/sir

7 Microsoft, “Introduction to wdm.” [Online] Available: http://msdn.microsoft.com/en-us/library/

ff548158%28v=VS.85%29.aspx

8 Microsoft, “Device object example for a usb mass storage device.” [Online]

http://msdn.microsoft.com/en-us/library/ff552547%28v=VS.84%29.aspx

9 Sebastian Poeplau, Jan Gassen “A Honeypot for Arbitrary Malware on USB Storage Devices”

Ngày đăng: 29/08/2015, 14:40

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. N. Falliere, L. Murchu, and E. Chien, “W32. stuxnet dossier,” Symantec Security Response Sách, tạp chí
Tiêu đề: W32. stuxnet dossier
2. McAfee Labs, “Mcafee threats report: Fourth quarter 2011,” 2011 Sách, tạp chí
Tiêu đề: Mcafee threats report: Fourth quarter 2011
3. Symantec, “The downadup codex,” Symantec, Tech. Rep., 2009 Sách, tạp chí
Tiêu đề: The downadup codex
4. F. Leder and T. Werner, “Know your enemy: Containing conficker,” The Honeynet Project, University of Bonn, Germany, Tech. Rep, 2009 Sách, tạp chí
Tiêu đề: Know your enemy: Containing conficker
7. Microsoft, “Introduction to wdm.” [Online]. Available: http://msdn.microsoft.com/en-us/library/ff548158%28v=VS.85%29.aspx Sách, tạp chí
Tiêu đề: Introduction to wdm
8. Microsoft, “Device object example for a usb mass storage device.” [Online]. Available: http://msdn.microsoft.com/en-us/library/ff552547%28v=VS.84%29.aspx Sách, tạp chí
Tiêu đề: Device object example for a usb mass storage device
9. Sebastian Poeplau, Jan Gassen “A Honeypot for Arbitrary Malware on USB Storage Devices” Sách, tạp chí
Tiêu đề: A Honeypot for Arbitrary Malware on USB Storage Devices

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w