Người dùng Windows cần chú ý hơn đến các chứng chỉ được cài đặt trên máy tính của họ. Các sự cố gần đây với chứng chỉ Lenovo Superfish, Dell eDellRoot và Comodo PrivDog chứng minh rằng người dùng phải cả chú ý khi cài đặt ứng dụng mới và nhận biết phần mềm và chứng chỉ nào được cài sẵn trong hệ thống bởi nhà sản xuất. Chứng chỉ giả hoặc được tạo đặc biệt giúp hacker thực hiện tấn công MiTM (man-in-the-middle), bắt gói tin (kể cả HTTPS), cho phép phần mềm độc hại hoặc script chạy, v.v.
Theo quy tắc, các chứng chỉ này được cài đặt trong kho lưu trữ Trusted Root Certification Authorities. Hãy xem bạn có thể kiểm tra kho lưu trữ cho các chứng chỉ của bên thứ ba như thế nào.
Nói chung, kho Trusted Root Certification Authorities nên chỉ chứa các chứng chỉ tin cậy được xác minh và công bố bởi Microsoft dưới chương trình Microsoft Trusted Root Certificate Program. Để kiểm tra kho chứng chỉ cho chứng chỉ của bên thứ ba, hãy dùng Sigcheck (công cụ từ Sysinternals).
- Tải Sigcheck từ trang web Microsoft (https://technet.microsoft.com/en-us/sysinternals/bb897441.aspx)
- Giải nén Sigcheck.zip vào bất kỳ thư mục nào (ví dụ: C:\install\sigcheck\)
- Khởi động command prompt và vào thư mục chứa công cụ: cd C:\install\sigcheck\
- Chạy
sigcheck.exe –tvhoặcsigcheck64.exe –tv(cho Windows 64-bit) trong command prompt - Lần chạy đầu tiên, sigcheck nhắc chấp nhận điều khoản giấy phép
- Sau đó công cụ tải xuống kho lưu trữ authrootstl.cab chứa danh sách chứng chỉ gốc MS ở định dạng Certification Trust List từ trang web Microsoft và lưu nó vào thư mục của chính nó.
Mẹo. Nếu không có kết nối Internet trực tiếp trên máy tính, bạn có thể tự tải authrootstl.cab theo liên kết https://download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/authrootstl.cab và đặt thủ công vào thư mục chứa SigCheck.
- Công cụ sẽ so sánh danh sách chứng chỉ cài trên máy tính của bạn với danh sách chứng chỉ gốc MSFT trong authrootstl.cab. Nếu có chứng chỉ bên thứ ba trong danh sách chứng chỉ gốc trên máy của bạn, SigCheck sẽ hiển thị chúng. Trong trường hợp của chúng tôi, có một chứng chỉ tên test1 (là chứng chỉ tự ký được tạo bằng cmdlet New-SelfSignedCertificate mà tôi đã tạo để ký mã script PowerShell)
- Mỗi chứng chỉ bên thứ ba tìm thấy phải được phân tích để đánh giá xem nó có nên nằm trong danh sách chứng chỉ tin cậy hay không. Cũng khuyến nghị tìm ra ứng dụng nào đã cài đặt và sử dụng nó.
Mẹo. Nếu máy tính là một phần của domain, danh sách chứng chỉ "bên thứ ba" có thể chứa chứng chỉ gốc của certification authority (CA) nội bộ và các chứng chỉ khác được tích hợp vào hình ảnh hệ thống hoặc phân phối qua GPO.
- Để xóa chứng chỉ khỏi danh sách chứng chỉ tin cậy, khởi động bảng điều khiển quản lý chứng chỉ (msc), mở rộng Trusted Root Certification Authorities -> Certificates và xóa các chứng chỉ được tìm thấy bởi tiện ích SigCheck
Do đó, khuyến nghị kiểm tra kho chứng chỉ bằng SigCheck trên tất cả hệ thống, đặc biệt là máy OEM với OS cài sẵn và các bản build Windows khác nhau được phân phối qua các trang torrent phổ biến.