1 điểm bởi GN⁺ 2024-09-08 | 1 bình luận | Chia sẻ qua WhatsApp

Giới thiệu

  • Một lỗi được phát hiện trong quá trình vượt qua bước kiểm tra giấy phép Windows đã được giữ kín để bảo tồn phương pháp kích hoạt trong tương lai và dùng làm công cụ thử nghiệm
  • Một phương pháp vượt DRM có tên "Keyhole" đã được phát hiện, cho phép cấp phép dễ dàng cho ứng dụng Microsoft Store hoặc các phiên bản Windows hiện đại
  • Sau khi Cisco TALOS công bố CVE-2024-38184, tác giả quyết định chia sẻ các phát hiện về Keyhole

CLiP

  • CLiP (Client Licensing Platform) là hệ thống DRM được giới thiệu trong Windows 10, quản lý ứng dụng Microsoft Store và việc kích hoạt Windows
  • Các tệp nhị phân chính:
    • clipup.exe: chuyển đổi giấy phép Store của Windows 8 thành giấy phép số
    • clipsvc.dll: dịch vụ chế độ người dùng quản lý giấy phép ứng dụng
    • clipc.dll: API cho phép ứng dụng tương tác với CLiP
    • clipwinrt.dll: API dành cho ứng dụng UWP
    • clipsp.sys: trình điều khiển chế độ nhân xác thực giấy phép
  • Khi cài ứng dụng được cấp phép bằng CLiP, một tệp XML đã ký sẽ được gửi tới clipsvc.dll, sau khi xác thực sẽ được chuyển tới clipsp.sys và lưu vào kho giấy phép

Một chút nghịch ngợm

  • clipup.exe lưu một khóa ECDSA hợp lệ dưới dạng văn bản thuần, nên bất kỳ ai cũng có thể dễ dàng ký giấy phép XML
  • Có thể dùng khóa này để vượt qua bước xác thực của ClipSvc và gửi trực tiếp khối giấy phép mong muốn tới ClipSp

Gỡ rối ClipSp

  • ClipSp là một driver được viết khá cẩu thả, với nhiều đoạn mã bị sao chép-dán
  • Mã bị che giấu bằng công cụ làm rối Warbird của Microsoft
  • Bằng cách gỡ bỏ lớp làm rối, có thể phân tích mã bị ẩn và tìm lỗi

Khối giấy phép

  • Khối giấy phép lưu thông tin giấy phép quan trọng và chứa nhiều khối dữ liệu theo định dạng TLV (thẻ-độ dài-giá trị)
  • Khối chữ ký ký toàn bộ dữ liệu, nhưng dữ liệu được thêm sau khi ký sẽ không được xác thực
  • Có thể thêm dữ liệu sau khối chữ ký để ghi đè dữ liệu hiện có

Nhiều trò nghịch hơn

  • Bằng cách thêm dữ liệu sau khối chữ ký, có thể tạo giấy phép cho mọi sản phẩm trên Microsoft Store
  • Tuy nhiên, giấy phép khóa theo thiết bị chỉ có thể được tạo từ giấy phép ứng dụng cũng khóa theo thiết bị

Hướng dẫn nghịch ngợm

  • Cài một ứng dụng khóa theo thiết bị (ví dụ: Roblox) và chặn lấy giấy phép bằng công cụ bắt lưu lượng HTTPS
  • Giải mã khối giấy phép, thêm dữ liệu cần thiết rồi đóng gói lại thành một tệp XML mới
  • Sao chép tệp XML vào thư mục C:\ProgramData\Microsoft\Windows\ClipSVC\Install\Migration rồi khởi động lại ClipSvc hoặc cài bằng lệnh clipup -p
  • Windows sẽ được kích hoạt vĩnh viễn

Phá bĩnh

  • Cisco TALOS đã báo cáo cùng lỗi này và Microsoft đã vá nó
  • Lỗi được sửa để không còn xử lý dữ liệu nằm sau khối chữ ký

Mùa quyên góp

  • Mã tạo giấy phép Keyhole và các tệp nhị phân CLiP đã được công bố để khuyến khích tìm thêm lỗi

Và một câu chuyện khác

  • Mã của ClipSp được sao chép-dán từ hệ thống DRM của Xbox One
  • Xbox SP cũng có cùng lỗi phân tích cú pháp, nhưng Keyhole không hoạt động trên Xbox

Ghi công

  • Những người đóng góp cho nghiên cứu: May, asdcorp, echnobas, WitherOrNot, emoose, LukeFZ, KiFilterFiberContext, Phillippe Laulheret, Cisco TALOS, Rairii

Tóm tắt của GN⁺

  • Keyhole là một phương pháp vượt DRM mạnh mẽ, cho phép cấp phép dễ dàng cho ứng dụng Microsoft Store và các phiên bản Windows
  • Có thể thao túng khối giấy phép bằng cách khai thác lỗ hổng bảo mật trong hệ thống CLiP
  • Microsoft đã vá lỗi sau báo cáo của Cisco TALOS
  • Cấu trúc của nó tương tự hệ thống DRM của Xbox One
  • Bài viết này có thể giúp hiểu các điểm yếu của hệ thống DRM và tăng cường bảo mật

1 bình luận

 
GN⁺ 2024-09-08
Ý kiến Hacker News
  • Giờ đây có thể tải game Xbox miễn phí
    • Tình trạng đã bị hack hoàn toàn như PS Vita
  • Muốn có giấy phép cài đặt ứng dụng Lego Boost cho Windows 10
    • Nếu đã có giấy phép trước đó thì vẫn tải được, nhưng người dùng mới thì không thể
  • Microsoft có thể thu hẹp phạm vi áp dụng của khóa ký giấy phép tạm thời
    • Việc tạo giấy phép vĩnh viễn sẽ không kéo dài được lâu
  • Tò mò liệu có thể kích hoạt tiện ích mở rộng HEVC mà không cần tài khoản M$ hay không
    • Việc không thể cấp phép bằng sáng chế theo gói khiến người ta khá bực bội
  • Muốn chơi game Guitar Hero mà không cần đĩa vật lý
    • Có thể không đọc được file lưu của game
    • Khóa công khai của console nằm trong danh sách thu hồi
    • Có thể khắc phục bằng cách ký lại file CON với giá trị mặc định là 0
  • Tất cả tình huống này mang lại cảm giác rất quen thuộc
  • Cung cấp liên kết phòng trường hợp phần mềm diệt virus kiểm duyệt trang
  • Được phát hiện độc lập gần như cùng lúc với thời điểm báo cáo cho Microsoft
    • Rất đáng ngờ
  • Có vẻ như Clip cũ hơn Xbox One
  • Trong nhiều thập kỷ, đây là kênh phân phối và truyền thông tốt nhất của Windows
  • Hơi thấy khó chịu về massgrave.dev