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ụ:
-
Thỏa hiệp một cách trực tiếp với các máy chủ FLEXnet Connect
-
Lọc lưu lượng hệ thống cúa máy khách thông qua proxy của mã độc
-
Sử dụng DNS không an toàn có thể gây ra những vấn đề trên
-
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.