Malware Analysis cơ bản part1

MALWARE ANALYSIS PRIMER

Trước khi đi sâu vào chi tiết cách phân tích malware (mã độc), chúng ta cần định nghĩa một số thuật ngữ, giới thiệu các loại malware thông dụng, và các phương pháp cơ bản để phân tích malware. Bất kỳ phần mềm nào làm điều gì đó gây tổn hại đến người dùng, máy tính hoặc mạng – chẳng hạn như virus, trojan, worms, rootkits, scareware và spyware – đều có thể được coi là malware. Trong khi malware xuất hiện dưới nhiều hình thức khác nhau, các kỹ thuật phân tích chung được sử dụng để phân tích malware. Lựa chọn kỹ thuật nào để áp dụng sẽ phụ thuộc vào mục đích của bạn.

Mục tiêu của phân tích Malware (The Goals of Malware Analysis)

Mục đích chính của phân tích malware thường là cung cấp thông tin cần thiết để phản ứng với một xâm nhập vào mạng. Mục tiêu của bạn thường là xác định chính xác những gì đã xảy ra và đảm bảo rằng bạn đã xác định được tất cả các máy tính và tệp tin bị nhiễm độc. Khi phân tích suspected malware (phần mềm độc hại nghi ngờ (⊙ˍ⊙)), mục tiêu của bạn thường là xác định chính xác những gì một tệp nhị phân đáng nghi có thể làm được, cách phát hiện nó trên mạng và cách đo lường và ngăn chặn thiệt hại của nó.

Sau khi xác định các tệp tin cần phân tích đầy đủ, đến lúc phát triển các nguyên mẫu để phát hiện nhiễm độc phần mềm trên mạng của bạn. Việc phân tích malware có thể được sử dụng để phát triển các nguyên mẫu dựa trên máy chủ và mạng (host-based and network signatures).

Nguyên mẫu dựa trên máy chủ (host-based signatures), hoặc chỉ số, được sử dụng để phát hiện mã độc trên máy tính nạn nhân. Những chỉ số này thường xác định các tệp tin được tạo hoặc sửa đổi bởi malware hoặc các thay đổi cụ thể mà nó thực hiện trên Registry. Khác với chỉ số phần mềm diệt virus, chỉ số malware tập trung vào những gì malware làm với hệ thống, không phải là đặc điểm của chính malware, điều này làm cho chúng hiệu quả hơn trong việc phát hiện malware thay đổi hình thức hoặc đã bị xóa khỏi ổ đĩa cứng.

Nguyên mẫu dựa trên mạng được sử dụng để phát hiện mã độc bằng cách giám sát lưu lượng mạng. Có thể tạo ra nguyên mẫu dựa trên mạng mà không cần phân tích malware, nhưng nguyên mẫu được tạo ra với sự giúp đỡ của phân tích malware  thường hiệu quả hơn, cung cấp tỷ lệ phát hiện cao hơn và ít phát hiện sai.

Các kỹ thuật phân tích Malware

Hầu hết thời gian, khi thực hiện phân tích malware, bạn chỉ có tệp thực thi malware, tệp này sẽ không thể đọc được bởi con người. Để hiểu được nó, bạn sẽ sử dụng nhiều công cụ và thủ thuật khác nhau, mỗi cái tiết lộ một lượng thông tin nhỏ. Bạn sẽ cần sử dụng nhiều công cụ khác nhau để thấy được toàn bộ bức tranh.

Có hai phương pháp cơ bản để phân tích malware: tĩnh và động. Phân tích tĩnh liên quan đến việc kiểm tra malware mà không cần chạy nó. Phân tích động liên quan đến việc chạy malware. Cả hai kỹ thuật đều được phân loại thêm thành cơ bản hoặc nâng cao.

Phân tích Tĩnh Cơ bản (Static Analysis)

Phân tích tĩnh cơ bản bao gồm việc kiểm tra tệp thực thi mà không xem các lệnh thực tế. Phân tích tĩnh cơ bản có thể xác nhận liệu một tệp có độc hại hay không, cung cấp thông tin về chức năng của nó, và đôi khi cung cấp thông tin cho phép bạn tạo ra các chữ ký mạng đơn giản. Phân tích tĩnh cơ bản đơn giản và có thể nhanh chóng, nhưng nó không hiệu quả lắm đối với malware tinh vi, và có thể bỏ sót các hành vi quan trọng.

Phân tích Động Cơ bản (Dynamic Analysis)

Các kỹ thuật phân tích động cơ bản liên quan đến việc chạy malware và quan sát hành vi của nó trên hệ thống để loại bỏ sự nhiễm bẩn, tạo ra chữ ký hiệu quả, hoặc cả hai. Tuy nhiên, trước khi chạy malware một cách an toàn, bạn phải thiết lập một môi trường cho phép bạn nghiên cứu malware đang chạy mà không gây nguy hiểm cho hệ thống hoặc mạng của bạn. Giống như các kỹ thuật phân tích tĩnh cơ bản, các kỹ thuật phân tích động cơ bản có thể được sử dụng bởi hầu hết mọi người mà không cần kiến thức lập trình sâu sắc, nhưng chúng sẽ không hiệu quả với tất cả các loại mã độc và có thể bỏ sót các chức năng quan trọng.

Phân tích Tĩnh Nâng cao

Phân tích tĩnh nâng cao bao gồm việc đảo ngược kỹ thuật lập trình bên trong của malware bằng cách tải tệp thực thi vào bộ giải mã và xem các lệnh chương trình để khám phá chương trình thực hiện những gì. Các lệnh được thực thi bởi CPU, vì vậy phân tích tĩnh nâng cao cho bạn biết chính xác những gì chương trình làm. Tuy nhiên, phân tích tĩnh nâng cao có độ dốc học tập cao hơn so với phân tích tĩnh cơ bản và đòi hỏi kiến thức chuyên môn về giải mã, cấu trúc mã và các khái niệm hệ điều hành Windows, tất cả những điều này bạn sẽ học trong cuốn sách này.

Phân tích Động Nâng cao

Phân tích động nâng cao sử dụng trình gỡ lỗi để kiểm tra trạng thái nội bộ của tệp thực thi độc hại đang chạy. Các kỹ thuật phân tích động nâng cao cung cấp một cách khác để trích xuất thông tin chi tiết từ tệp thực thi. Những kỹ thuật này hữu ích nhất khi bạn đang cố gắng thu thập thông tin khó thu thập với các kỹ thuật khác.

Các loại Malware

Khi thực hiện phân tích malware, bạn sẽ thấy rằng bạn thường có thể tăng tốc quá trình phân tích bằng cách đưa ra những phỏng đoán có cơ sở về những gì mà malware đang cố gắng làm và sau đó xác nhận các giả thuyết đó. Tất nhiên, bạn sẽ có thể đưa ra những phỏng đoán tốt hơn nếu bạn biết những loại việc mà malware thường làm. Với mục đích đó, dưới đây là các loại phần lớn malware thuộc về:

– Backdoor: Mã độc cài đặt chính nó vào máy tính để cho phép tin tặc truy cập. Backdoor thường cho phép tin tặc kết nối với máy tính với ít hoặc không có xác thực và thực thi các lệnh trên hệ thống cục bộ.

– Botnet: Tương tự như backdoor, nó cho phép tin tặc truy cập vào hệ thống, nhưng tất cả các máy tính bị nhiễm cùng một botnet nhận các lệnh giống nhau từ một máy chủ điều khiển và kiểm soát duy nhất.
(MORE)

– Downloader: Mã độc chỉ tồn tại để tải các mã độc khác. Downloader thường được cài đặt bởi tin tặc khi họ lần đầu tiên được truy cập vào hệ thống. Chương trình downloader sẽ tải xuống và cài đặt thêm mã độc.

– Malware đánh cắp thông tin: Malware thu thập thông tin từ máy tính nạn nhân và thường gửi cho tin tặc. Ví dụ bao gồm sniffer, password hash grabber, và keylogger. Loại malware này thường được sử dụng để đánh cắp tài khoản trực tuyến như email hoặc ngân hàng trực tuyến.

– Launcher: Chương trình độc hại được sử dụng để khởi chạy các chương trình độc hại khác. Thường launcher sử dụng các kỹ thuật phi truyền thống để khởi động các chương trình độc hại khác nhằm đảm bảo ẩn danh hoặc truy cập lớn hơn vào hệ thống.

– Rootkit: Mã độc được thiết kế để che giấu sự tồn tại của các mã khác. Rootkit thường được ghép nối với các malware khác, chẳng hạn như backdoor, để cho phép truy cập từ xa cho tin tặc và làm cho mã trở nên khó phát hiện đối với nạn nhân.
(REF)

– Scareware: Malware được thiết kế để dọa người dùng bị nhiễm để mua một cái gì đó. Nó thường có giao diện người dùng làm cho nó trông giống như phần mềm diệt virus hoặc bảo mật khác. Nó thông báo cho người dùng rằng có mã độc trên hệ thống của họ và cách duy nhất để loại bỏ nó là mua “phần mềm” của chúng, trong khi thực tế, phần mềm mà nó bán không làm gì ngoài việc loại bỏ scareware.
(Xem thêm)

– Malware gửi thư rác (Spam-sending malware): Malware lây nhiễm vào máy của người dùng và sau đó sử dụng máy đó để gửi thư rác. Malware này tạo ra thu nhập cho tin tặc bằng cách cho phép họ bán dịch vụ gửi thư rác.

– Worm hoặc virus: Mã độc có thể sao chép và lây nhiễm sang các máy tính khác.

Malware thường mở rộng trên nhiều loại. Ví dụ, một chương trình có thể có keylogger thu thập mật khẩu và một thành phần worm gửi thư rác. Đừng bị mắc kẹt quá nhiều vào việc phân loại malware theo chức năng của nó.

Mã độc thường bao gồm nhiều thể loại. Ví dụ, một chương trình có thể có một keylogger thu thập mật khẩu và một thành phần sâu bám lan truyền thư rác. Đừng bị mắc kẹt quá nhiều vào việc phân loại mã độc theo chức năng của nó.

Mã độc cũng có thể được phân loại dựa trên việc mục tiêu của kẻ tấn công là hàng loạt hay cụ thể. Mã độc hàng loạt, như scareware, sử dụng phương pháp bắn tỉa và được thiết kế để ảnh hưởng đến nhiều máy tính nhất có thể. Trong hai mục tiêu, đây là phổ biến nhất, và thường là ít tinh vi hơn, dễ phát hiện và phòng thủ hơn vì phần mềm bảo mật nhắm mục tiêu này.

Targeted malware, giống như một backdoor duy nhất, được điều chỉnh cho một tổ chức cụ thể. Mã độc cụ thể là mối đe dọa lớn hơn đối với mạng so với mã độc hàng loạt, bởi vì nó không phổ biến và các sản phẩm bảo mật của bạn có thể sẽ không bảo vệ bạn khỏi nó. Nếu không có phân tích chi tiết về mã độc cụ thể, việc bảo vệ mạng của bạn chống lại mã độc đó và loại bỏ sự nhiễm trùng gần như không thể. Mã độc cụ thể thường rất tinh vi, và việc phân tích của bạn thường đòi hỏi các kỹ năng phân tích nâng cao.

GOODLẮC (⌐■_■)

Leave a Reply

Your email address will not be published. Required fields are marked *

Proudly powered by WordPress | Theme: Code Blog by Crimson Themes.