Lỗi bảo mật thực thi mã "Rule Script" của InstallShield Update Agent

Quản Trị Mạng - InstallShield Update Agent hiện được phát hiện là sử dụng các phương thức không an toàn cho việc truy lại mã kịch bản hoạt động từ các nguồn bên ngoài không được thẩm định trên HTTP. Sự thực thi mã từ xa một cách tùy tiện có thể thực hiện trên tất cả các phiên bản đã biết của sản phẩm.

Các thông tin chi tiết

InstallShield Update Agent kết nối và truyền thông với các máy chủ tập trung Acresso (trước đây vẫn được gọi là Macrovision) FLEXnet Connect để nâng cấp và truy tìm các thông tin sản phẩm một cách định kỳ. Từ website của hãng:

FLEXnet Connect cho phép bạn phân phối các ứng dụng điện tử, bản vá lỗi, nâng cấp và các thông điệp trực tiếp đến các hệ thống người dùng của bạn.

Khi kết nối với dịch vụ này, client agent sẽ báo cáo GUID sản phẩm của nó, các thông tin về phiên bản hiện hành và tìm ra những nâng cấp cho phần mềm đã được cài đặt hiện đang được cung cấp. Máy khách cũng nhận được các chỉ lệnh cụ thể (Rule) để có thể đánh giá xem nâng cấp có liên quan với nó không. Các rule này nằm bên trong một biểu mẫu của ngôn ngữ kịch bản như VBScript. Tuy nhiên, lại được phân phối một cách không an toàn, trên HTTP (không mã hóa và không gán) vì chúng được thực thi bởi máy khách.

Sự khai thác lỗ hổng mã trong các rule này có thể gây ra việc thực thi tùy tiện trên phía trình khách và như vậy có thể thực hiện bất cứ hành động nào, chẳng hạn như cài đặt hoặc download các đoạn mã độc hay các chỉ lệnh từ các nguồn không xác thực nào đó. Sự thực thi này có thể xảy ra mà người dùng không hề hay biết.

Khai thác có thể diễn ra bởi một số cơ chế. Cho ví dụ:

  1. Thỏa hiệp một cách trực tiếp với các máy chủ FLEXnet Connect

  2. Lọc lưu lượng hệ thống cúa máy khách thông qua proxy của mã độc

  3. Sử dụng DNS không an toàn có thể gây ra những vấn đề trên

  4. Bằng cách hướng các máy khách đến các website mã độc, các đối tượng ActiveX có thể được sử dụng để kích hoạt vấn đề khai thác theo dự định của kẻ tấn công, (tuy nhiên các cơ chế MiTM nhiều khi vẫn cần để hỗ trợ cho vấn đề này).

(Lưu ý danh sách này vẫn chưa thực sự là danh sách cuối cùng)

Do ý định của các sản phầm này, các hệ thống sẽ kiểm tra các nâng cấp không giám sát và từ đó có thể dễ đi đến tình trạng thỏa hiệp mà không có bất cứ sự can thiệp nào bên phía trình khách. Các hệ thống thường kiểm tra các nâng cấp (autorun). Lưu ý rằng các nâng cấp không cần phải được cài đặt để gây ra vấn đề này. Lỗi này sẽ ảnh hưởng khi hệ thống đánh giá xem nâng cấp có thích ứng hay không.

Các phiên bản gần đây của InstallShield sẽ liên lạc với máy chủ, download và thực thi “các thông tin Rule” này thậm chí bạn đã vô hiệu hóa tất cả các nâng cấp tự động cho các sản phẩm đã được cài đặt của mình. Có thể đây cũng là một phần tính năng “nâng cấp bắt buộc” của sản phẩm. Điều này rõ ràng là nguyên nhân cho những mối liên quan khác.

Một số sản phẩm của các hãng cũng có thể có các phương pháp gọi các cơ chế nâng cấp bên trọng. Điều này có thể xảy ra ở chương trình startup hoặc thông qua liên kết "Check for Updates" vẫn thường được cung cấp trong menu trợ giúp cúa các ứng dụng như vậy.

Các bạn cũng cần lưu ý thêm rằng cũng xuất hiện các lỗi trong thực thi và sử dụng các dịch vụ này. Lưu ý thêm một điều rằng, các hãng đã bỏ qua những tính năng chữ ký của sản phẩm để cung cấp các chữ ký mật mã cho các file nâng cấp có khả năng thực thi được download và thực thi trên HTTP. Điều này ngụ ý rằng các đường dẫn bổ sung của mã thực thi sử dụng công nghệ MiTM. Các đường dẫn này không được khai thác sâu nhưng vẫn tồn tại do thiếu các thông tin về chữ ký số trong các nâng cấp. Các thông tin nâng cấp bản thân cũng không được đánh dấu, chính vì vậy sẽ không rõ ràng cho những gì được sử dụng để thẩm định thông tin đó xác thực hay không. Vấn đề này không liên quan đến sản phẩm này nhưng lại liên quan nhiều đến các cơ chế nâng cấp nói chung.

Ảnh hưởng

Bất kỳ hệ thống máy khách nào đang sử dụng các sản phẩm có các cơ chế nâng cấp được xây dựng trên dòng sản phẩm InstallShield/FLEXnet Connect đều bị ảnh hưởng bởi lỗi này. Cụ thể nhiều hệ thống Windows của Microsoft thường cung cấp phần mềm tiền cài đặt bởi OEM. Cho ví dụ, một số phần mềm CD burning sử dụng các dịch vụ nâng cấp IS có trỏ đến các máy chủ của chính chúng và bên cạnh đó cũng là một ứng dụng được triển khai rộng rãi.

Bất cứ hãng nào hoặc nhà cung cấp hosting các dịch vụ nâng cấp FLEXNet cũng đều bị ảnh hưởng của lỗi này. Ảnh hưởng tác động đến việc bảo mật của các máy chủ vì nó ảnh hưởng tới tất cả các hệ thống máy khách và như vậy ảnh hưởng đến các khách hàng độc lập trên các dịch vụ của họ.

Do phạm vi lớn của các sản phẩm này nên có nhiều hãng phần mềm phải biết đến lỗi này và cung cấp một số giải pháp để bảo vệ khách hàng đã cài đặt.

Giải pháp

Hiện vẫn chưa có hãng phần mềm nào cung cấp giải pháp cho vấn đề trên. Điều này nói lên rằng lỗ hổng này khá nghiêm trọng. Họ đã cung cấp các tài liệu vắn tắt về sự ảnh hưởng này, tuy nhiên cung đã đính chính về nhiều hạn chế của nó.

Biện pháp tránh

Chưa có giải pháp nào hiện nay có thể ngăn chặn vấn đề trên trong khi vẫn phải cho phép các nâng cấp cho các sản phẩm độc lập trên nền tảng này.

Các doanh nghiệp có khả năng proxy có thể vô hiệu hóa sự truy cập đối với các URL GetRules.asp được sử dụng để download các hướng dẫn của kịch bản này, tuy vậy điều này có thể làm cho các chương trình phụ thuộc vào các rule cho việc định đoạt khả năng ứng dụng lỗ hổng.

Chỉ có một cách để ngăn chặn rủi ro lúc này là vô hiệu hóa chương trình tự động nâng cấp hiện hành. Với InstallShield thì đó sẽ là việc remove các entry Autorun ISSCH.EXE, ISUSPM.EXE và thiết lập điều khiển ActiveX (isusweb.dll) có liên quan. Người dùng có thể đổi tên "\Program Files\Common Files\InstallShield\UpdateService" hoặc các thư mục UpdateManager có liên quan của các sản phẩm khác để ngăn chặn sự thực thi tự động các chương trình này cho tới khi bản vá lỗi được cung cấp.

Thứ Ba, 30/09/2008 14:08
31 👨 868
0 Bình luận
Sắp xếp theo