Các nhà nghiên cứu an ninh mạng đã phát hiện ra cái mà họ cho là add-in độc hại đầu tiên của Microsoft Outlook được tìm thấy trong thực tế.
Trong cuộc tấn công chuỗi cung ứng bất thường này, được Koi Security trình bày chi tiết, một kẻ tấn công không rõ danh tính đã chiếm đoạt tên miền liên quan đến một add-in hợp pháp đã bị bỏ rơi để phục vụ một trang đăng nhập Microsoft giả mạo, đánh cắp hơn 4.000 thông tin đăng nhập trong quá trình này. Hoạt động này đã được công ty an ninh mạng đặt tên mã là AgreeToSteal.
Add-in Outlook được đề cập là AgreeTo, được nhà phát triển quảng cáo là một cách để người dùng kết nối các lịch khác nhau tại một nơi duy nhất và chia sẻ tình trạng sẵn có của họ qua email. Add-in này được cập nhật lần cuối vào tháng 12 năm 2022.
Idan Dardikman, đồng sáng lập và CTO của Koi, nói với The Hacker News rằng vụ việc này đại diện cho sự mở rộng các vectơ tấn công chuỗi cung ứng. "Đây là cùng một loại tấn công chúng tôi đã thấy ở các tiện ích mở rộng trình duyệt, gói npm, và IDE plugins: một kênh phân phối đáng tin cậy mà nội dung có thể thay đổi sau khi được phê duyệt," Dardikman nói. "Điều khiến các Office add-ins đặc biệt đáng lo ngại là sự kết hợp của các yếu tố: chúng chạy bên trong Outlook, nơi người dùng xử lý các giao tiếp nhạy cảm nhất của họ, chúng có thể yêu cầu quyền đọc và sửa đổi email, và chúng được phân phối thông qua cửa hàng của Microsoft, mang theo sự tin cậy ngầm."
"Trường hợp AgreeTo bổ sung một khía cạnh khác: nhà phát triển ban đầu không làm gì sai. Họ đã xây dựng một sản phẩm hợp pháp và tiếp tục. Cuộc tấn công đã khai thác khoảng cách giữa thời điểm nhà phát triển bỏ một dự án và thời điểm nền tảng nhận thấy. Mọi marketplace lưu trữ các dependency động từ xa đều dễ bị tổn thương bởi điều này."
Về cốt lõi, cuộc tấn công khai thác cách các Office add-ins hoạt động và việc thiếu giám sát nội dung định kỳ của các add-ins được xuất bản lên Marketplace. Theo tài liệu của Microsoft, các nhà phát triển add-in được yêu cầu tạo tài khoản và gửi giải pháp của họ đến Partner Center, sau đó nó sẽ trải qua quy trình phê duyệt.
Hơn nữa, các Office add-ins sử dụng một tệp manifest khai báo một URL, nội dung của URL này được tải và phục vụ theo thời gian thực từ máy chủ của nhà phát triển mỗi khi nó được mở trong một phần tử iframe bên trong ứng dụng. Tuy nhiên, không có gì ngăn cản một kẻ tấn công chiếm quyền kiểm soát một tên miền đã hết hạn.
Trong trường hợp của AgreeTo, tệp manifest trỏ đến một URL được lưu trữ trên Vercel ("outlook-one.vercel[.]app"), URL này trở nên có thể chiếm đoạt sau khi triển khai Vercel của nhà phát triển bị xóa do nó về cơ bản trở thành abandonware vào khoảng năm 2023. Cơ sở hạ tầng này vẫn còn hoạt động tính đến thời điểm viết bài.
Kẻ tấn công đã lợi dụng hành vi này để dàn dựng một phishing kit trên URL đó, hiển thị một trang đăng nhập Microsoft giả mạo, thu thập mật khẩu đã nhập, đánh cắp thông tin chi tiết qua Telegram Bot API, và cuối cùng chuyển hướng nạn nhân đến trang đăng nhập Microsoft thực sự.
Nhưng Koi cảnh báo rằng sự cố có thể còn tồi tệ hơn. Với việc add-in được cấu hình với quyền "ReadWriteItem" – cho phép nó đọc và sửa đổi email của người dùng – một tác nhân đe dọa có thể đã lạm dụng điểm mù này để triển khai JavaScript có thể bí mật rút ruột nội dung hộp thư của nạn nhân.
Những phát hiện này một lần nữa nhấn mạnh sự cần thiết phải quét lại các gói và công cụ được tải lên các marketplace và kho lưu trữ để gắn cờ các hoạt động độc hại/đáng ngờ.
Dardikman cho biết trong khi Microsoft xem xét tệp manifest trong giai đoạn gửi ban đầu, không có kiểm soát nào đối với nội dung thực tế được truy xuất trực tiếp từ máy chủ của nhà phát triển mỗi khi add-in được mở, một khi nó được ký và phê duyệt. Kết quả là, việc thiếu giám sát liên tục những gì URL phục vụ sẽ mở ra cánh cửa cho các rủi ro bảo mật không mong muốn. "Office add-ins về cơ bản khác với phần mềm truyền thống," Dardikman nói thêm. "Chúng không gửi một gói mã tĩnh. Tệp manifest chỉ đơn giản khai báo một URL, và bất cứ thứ gì URL đó phục vụ tại bất kỳ thời điểm nào là thứ chạy bên trong Outlook. Trong trường hợp của AgreeTo, Microsoft đã ký tệp manifest vào tháng 12 năm 2022, trỏ đến outlook-one.vercel.app. Cùng URL đó hiện đang phục vụ một phishing kit, và add-in vẫn còn được liệt kê trong cửa hàng."
Các khuyến nghị để tăng cường an ninh
Để chống lại các vấn đề bảo mật do mối đe dọa này gây ra, Koi khuyến nghị một số bước mà Microsoft có thể thực hiện:
- Kích hoạt quá trình xem xét lại khi URL của một add-in bắt đầu trả về nội dung khác với nội dung trong quá trình xem xét ban đầu.
- Xác minh quyền sở hữu tên miền để đảm bảo rằng nó được quản lý bởi nhà phát triển add-in, và gắn cờ các add-in mà cơ sở hạ tầng tên miền đã thay đổi chủ sở hữu.
- Thực hiện một cơ chế để hủy niêm yết hoặc gắn cờ các add-in chưa được cập nhật vượt quá một khoảng thời gian nhất định.
- Hiển thị số lượng cài đặt như một cách để đánh giá tác động.
The Hacker News đã liên hệ với Microsoft để bình luận, và chúng tôi sẽ cập nhật câu chuyện nếu nhận được phản hồi.
Cần lưu ý rằng vấn đề này không chỉ giới hạn ở Microsoft Marketplace hoặc Office Store. Tháng trước, Open VSX đã công bố kế hoạch thực thi kiểm tra bảo mật trước khi các Visual Studio Code (VS Code) extensions được xuất bản lên kho lưu trữ mã nguồn mở. Microsoft's VS Code Marketplace, tương tự, cũng thực hiện quét lại hàng loạt định kỳ tất cả các gói trong registry.
"Vấn đề cấu trúc là như nhau trên tất cả các marketplace lưu trữ các dependency động từ xa: phê duyệt một lần, tin tưởng mãi mãi," Dardikman nói. "Các chi tiết cụ thể khác nhau tùy theo nền tảng, nhưng lỗ hổng cơ bản đã cho phép AgreeTo tồn tại ở bất cứ đâu một marketplace xem xét một tệp manifest khi gửi mà không giám sát những gì các URL được tham chiếu thực sự phục vụ sau đó."