Archive for Tháng Mười Một, 2010

Tháng 11 27 2010

Lỗ hổng của thư viện Libxml2 trong Google Chrome và Apple Safari

Published by admin under Nghiên cứu

Thông tin chung

Libxml2 là thư viện mã nguồn mở hỗ trợ xử lý định dạng XML. Tháng 10/2010, nhóm nghiên cứu lỗ hổng an ninh của Bkav đã phát hiện lỗ hổng nghiêm trọng trong libxml2. Đặc biệt, thư viện này được sử dụng trong nhiều phần mềm và hệ điều hành phổ biến như trình duyệt Google Chrome, Apple Safari, hệ điều hành Linux… Do đó, người sử dụng của bất cứ chương trình nào nói trên, đặc biệt là người sử dụng trình duyệt, đều có nguy cơ bị tấn công. Bkav đã cảnh báo tới nhóm phát triển libxml2 và các nhà sản xuất phần mềm liên quan.

Mô tả kỹ thuật

XPATH là một dạng ngôn ngữ cho phép truy vấn nội dung trong tài liệu XML. Lỗ hổng được phát hiện nằm trong mô đun xử lý ngôn ngữ truy vấn này. Cụ thể, với một XPATH có nội dung “dị dạng”, libxml2 xử lý không tốt dẫn đến đổ vỡ chương trình.

Để lợi dụng lỗ hổng này, hacker có thể gửi cho người sử dụng một liên kết có chứa XPATH độc hại. Ngay sau khi liên kết này được mở, mã độc có thể được thực thi và tấn công máy tính của người sử dụng.

Cập nhật bản vá

Hiện tại, nhóm phát triển libxml2 đã đưa ra bản vá cho lỗ hổng này trong phiên bản libxml2-2.7.8. Ngoài ra, Google và Apple cũng đã cập nhật libxml2 mới nhất vào phiên bản trình duyệt Chrome 7.0.517.44Safari 5.0.3.

Đánh giá đây là lỗ hổng có mức độ nguy hiểm cao, Bkav khuyến cáo người sử dụng, đặc biệt là người sử dụng trình duyệt, nhanh chóng cập nhật bản vá mới nhất cho phần mềm của mình.

Ngoài ra, các nhóm phát triển có sử dụng libxml2 trong phần mềm của mình cũng nên nhanh chóng cập nhật phiên bản libxml2 mới nhất.

Bkav Security

No Comments

Tháng 11 12 2010

Xuất hiện mã lệnh mới trong biến thể của Sality

Published by admin under Nghiên cứu

Gần đây, chúng tôi phát hiện một biến thể mới của Sality. Phân tích mẫu cho thấy, mã siêu đa hình của biến thể chứa các mã lệnh MMX (MultiMedia eXtension), vốn chưa từng xuất hiện trong các biến thể trước đây.

Mã lệnh MMX của Sality

Các biến thể trước của Sality chỉ đơn thuần sử dụng các mã lệnh x86 trong mã siêu đa hình. Hiện nay, mã lệnh x86 đã được hỗ trợ bởi bộ giả lập (antivirus emulator) của hầu hết các phần mềm diệt virus, nên các biến thể này có thể được nhận diện không mấy khó khăn. Tuy nhiên, biến thể mới của Sality sử dụng một loại mã lệnh mới, mã lệnh MMX. Bằng cách đó, Sality có thể qua mặt những AV mà bộ giả lập không hỗ trợ tập lệnh MMX, mà không bị các AV này phát hiện.

Sinh mã lệnh MOVD mm, r/m32

Biến thể này chỉ sử dụng một vài lệnh trong tập lệnh MMX, tuy nhiên với xu hướng biến đổi và hoàn thiện như đã từng thấy ở các biến thể Sality trước đó, rất có thể các biến thể mới trong tương lai sẽ sử dụng những lệnh MMX phức tạp hơn.

Hơn nữa, biến thể Sality mới còn biến các lệnh đặc trưng với mục đích nhận diện thành một số lệnh ít đặc trưng hơn nhưng có khả năng thực hiện công việc tương tự.

Ví dụ:

R1 = [R2]

(R1 và R2 là thanh ghi trong bộ vi xử lý 32bit, dấu [] thể hiện vùng nhớ được đính địa chỉ bởi thanh ghi được ký hiệu trong dấu đó.

Có thể được biến đổi thành:

R1= 0

R1 = R1 hoặc [R2]

Hoặc

R1 = 0

R1 = R1 or [R2]

Hoặc

R1 = 0

R1 = R1 + [R2]

Trong quá trình phân tích, khó để chỉ ra lệnh thực thi nào được sử dụng để giải mã thân virus và lệnh thực thi nào là mã thực thi vô nghĩa, thanh ghi nào chứa các giá trị hữu ích và thanh ghi nào thì không. Các chương trình AV cần hoạt động tinh vi hơn để có thể thu được đủ các giá trị nhằm  giải mã và gỡ bỏ virus khỏi các file bị lây nhiễm.

Biến thể mới này của Sality được Bkav phát hiện với tên W32.SalityVM.PE.

Bkav R&D

No Comments

Tháng 11 05 2010

Lỗ hổng Zero-Day mới của IE

Published by admin under Nghiên cứu

1. Thông tin chung

    Ngày 3/11, Microsoft cảnh báo về một lỗ hổng zero-day mới trong tất cả các phiên bản hiện nay của trình duyệt Internet Explorer (IE). Lỗ hổng này đã bị lợi dụng để phát tán virus.

    2. Mô tả kỹ thuật:

      Do IE xử lý không tốt các thẻ CSS nên dẫn đến nguy cơ IE có thể truy nhập vào một đối tượng đã được giải phóng gây ra lỗi bộ nhớ (memory corruption). Điều này khiến cho con trỏ của chương trình (EIP) chạy không chính xác, gây lỗi (crash), thậm chí cho phép thực thi mã độc từ xa.

      Hình 1: Demo khai thác mã

      Hình 2: Chương trình gọi đến địa chỉ 0×0D7DC9C9

      Hình 2 cho thấy chương trình sẽ gọi tới địa chỉ 0×0d7dc9c9, địa chỉ dành cho vùng nhớ heap. Vì trước đó chưa khởi tạo tới địa chỉ này nên chương trình sẽ bị đổ vỡ. Để khai thác lỗ hổng, hacker sử dụng kỹ thuật heapspray tạo một vùng nhớ heap lớn (gồm cả vùng địa chỉ trên), với dữ liệu được sắp đặt sẵn. Qua đó, hacker có thể thực thi mã lệnh tùy ý.

      Cơ chế tấn công này sẽ bị giới hạn bởi Data Execution Prevention (DEP) được bật mặc định cho IE 8 trên các phiên bản hệ điều hành từ Windows XP SP3 trở đi.

      3. Giải pháp phòng chống

        Hiện Microsoft đang theo dõi và đánh giá nguy cơ của lỗ hổng này để quyết định có đưa ra bản vá khẩn cấp hay không. Nhiều khả năng, hãng sẽ đưa ra bản vá trong đợt vá lỗi định kỳ hàng tháng.

        Trong thời gian chờ bản vá lỗi của Microsoft, người dùng nên cảnh giác, không click vào các đường link có nguồn gốc không rõ ràng.

        Bkav Security

        No Comments