Các kẻ tấn công đã xâm nhập vào ba tên miền cấp cao nhất mã quốc gia (ccTLDs) và lấy được các chứng chỉ HTTPS trái phép cho một số tên miền của Google, theo thông báo từ phía Google vào ngày 6 tháng 10.
Các hệ thống riêng của Google không bị xâm phạm, nhưng bất kỳ tên miền nào kết thúc bằng .gh (Ghana), .sl (Sierra Leone) hoặc .as (American Samoa) đều bị đặt vào tình trạng rủi ro. Với một chứng chỉ như vậy, kẻ tấn công có thể giả mạo trang web thật qua một kết nối được mã hóa và đọc các dữ liệu riêng tư được gửi đến đó.
Chrome đã chặn các chứng chỉ trái phép cho các tên miền của Google thông qua CRLSets, phương thức của trình duyệt này để nhanh chóng chặn các chứng chỉ trong các tình huống khẩn cấp. Công ty cũng đã làm việc với các tổ chức phát hành chứng chỉ (CAs) đã cấp các chứng chỉ này để thu hồi chúng, một bước nhằm bảo vệ những người sử dụng các trình duyệt và ứng dụng khác.
Google không nêu tên cụ thể các tên miền. Nhật ký Certificate Transparency (CT) là hồ sơ công khai về các chứng chỉ được cấp bởi các CAs. Chúng cho thấy ít nhất 12 chứng chỉ đã được cấp trong khoảng thời gian từ ngày 22 đến 27 tháng 9 cho các tên gọi Google và YouTube thuộc ba ccTLDs này, bao gồm google.com.gh, google.sl và google.as.
Một CA sẽ cấp chứng chỉ sau khi người đăng ký chứng minh được quyền kiểm soát tên miền, ví dụ như bằng cách thêm một bản ghi vào DNS của tên miền đó. Những kẻ tấn công đã thay đổi các bản ghi DNS có thẩm quyền trong quá trình chiếm quyền điều khiển (hijacks), và Google cho biết họ không có lý do gì để tin rằng các CAs đã làm sai quy trình.
Những gì nhật ký chứng chỉ hiển thị
The Hacker News đã tìm thấy các chứng chỉ này vào ngày 7 tháng 10 thông qua hai dịch vụ tìm kiếm CT là ctlogs.dev và Cert Spotter. 12 chứng chỉ này dành cho bảy tên miền. Let's Encrypt đã cấp 11 chứng chỉ và ZeroSSL đã cấp một chứng chỉ.
Các chứng chỉ được ghi nhận trong nhật ký vào ba ngày khác nhau, theo từng ccTLD: .gh vào ngày 22 tháng 9, .sl vào ngày 25 tháng 9 và .as vào ngày 27 tháng 9.
Tất cả 12 chứng chỉ đều là loại chứng chỉ domain-validated, được cấp sau khi kiểm tra xem người đăng ký có quyền kiểm soát tên miền hay không. Trong các hồ sơ được xem xét ngược trở lại ít nhất là từ ngày 10 tháng 9, mọi chứng chỉ khác cho google.com.gh, google.sl và google.as đều đến từ Google Trust Services, CA riêng của Google.
"Đúng vậy, các chứng chỉ cho Google và YouTube đã được cấp và đã bị thu hồi," Matthew McPherrin, một nhân viên của Let's Encrypt, đã viết trên diễn đàn cộng đồng của CA này vào ngày 7 tháng 10.
Vì chỉ có một nhóm nhỏ các tên gọi Google và YouTube được tìm kiếm, nên tổng số có thể cao hơn. Google cho biết dữ liệu CT cũng chỉ ra các tổ chức khác mà họ tin rằng đã bị tấn công tương tự, bao gồm các thương hiệu toàn cầu nổi tiếng và các dịch vụ trực tuyến được sử dụng rộng rãi. Google đã không nêu tên các tổ chức này.
| # | Tên trên chứng chỉ | Đơn vị cấp (Issuer) | Ghi nhận lần đầu | Đã thu hồi |
|---|---|---|---|---|
| 1 | *.youtube.com.gh, youtube.com.gh |
Let's Encrypt | 22/09, 11:03 | 26/09, 02:41 |
| 2 | *.google.com.gh, google.com.gh |
Let's Encrypt | 22/09, 11:59 | 26/09, 02:41 |
| 3 | *.google.sl, google.sl |
Let's Encrypt | 25/09, 04:36 | 01/10, 19:36 |
| 4 | google.sl, www.google.sl |
Let's Encrypt | 25/09, 04:36 | 01/10, 19:36 |
| 5 | google.com.sl, www.google.com.sl |
ZeroSSL | 25/09, 04:51 | 26/09, 14:56 |
| 6 | *.google.com.sl, google.com.sl |
Let's Encrypt | 25/09, 04:51 | 01/10, 19:36 |
| 7 | www.youtube.sl, youtube.sl |
Let's Encrypt | 25/09, 06:06 | 01/10, 19:36 |
| 8 | *.youtube.sl, youtube.sl |
Let's Encrypt | 25/09, 06:07 | 01/10, 19:36 |
| 9 | google.as, www.google.as |
Let's Encrypt | 27/09, 03:33 | 01/10, 19:18 |
| 10 | *.google.as, google.as |
Let's Encrypt | 27/09, 03:43 | 01/10, 19:18 |
| 11 | google.as, www.google.as |
Let's Encrypt | 27/09, 04:17 | 01/10, 19:18 |
| 12 | *.youtube.as, youtube.as |
Let's Encrypt | 27/09, 04:37 | 01/10, 19:18 |
Phạm vi của các biện pháp ứng phó
Vào ngày 7 tháng 10, hồ sơ của Cert Spotter cho thấy tất cả 12 chứng chỉ đã bị thu hồi. Hai chứng chỉ .gh và chứng chỉ ZeroSSL đã bị thu hồi vào ngày 26 tháng 9, và chín chứng chỉ còn lại vào ngày 1 tháng 10.
Khoảng cách ngắn nhất giữa lần đầu ghi nhận chứng chỉ và việc thu hồi nó là khoảng một ngày rưỡi. Khoảng cách dài nhất là gần một tuần. Chứng chỉ .as đầu tiên được ghi nhận vào ngày 27 tháng 9, khoảng một ngày sau khi các chứng chỉ .gh bị thu hồi.
Google cho biết họ đã biết về các vụ chiếm quyền điều khiển này một tuần trước bài đăng ngày 6 tháng 10 và đã hành động ngay lập tức. Tuy nhiên, họ không đưa ra ngày cụ thể cho các vụ chiếm quyền hoặc cho các hành động của mình.
Google cũng đã chặn trong Chrome các chứng chỉ mà họ tìm thấy của các tổ chức khác, đồng thời liên hệ với các tổ chức đó khi có thể.
Người dùng Chrome không cần phải làm gì cả, Google khẳng định. Tuy nhiên, các chủ sở hữu tên miền không nên chỉ dựa vào trình duyệt để bảo vệ người dùng của họ.
Bởi vì việc chiếm quyền DNS rất phức tạp, "chúng tôi không thể đảm bảo rằng phân tích của mình đã xác định được mọi tên miền bị ảnh hưởng," Nhóm Chrome Secure Web and Networking viết, đồng thời nói thêm rằng việc chặn của Chrome không bảo vệ một cách đáng tin cậy những người sử dụng các trình duyệt khác.
Bài đăng của Google không nói liệu có bất kỳ chứng chỉ nào được sử dụng để giả mạo trang web Google hoặc đọc dữ liệu người dùng hay không. Nó cũng không nêu tên những kẻ tấn công, cách thức các ccTLDs bị xâm nhập, hoặc liệu chúng đã được bảo mật lại hay chưa.
Chủ sở hữu tên miền nên làm gì
Google đã đưa ra hai bước để các chủ sở hữu tên miền thực hiện. Các quy tắc mà các CAs tuân thủ cho phép thực hiện bước thứ ba.
- Theo dõi nhật ký CT cho mọi tên miền bạn sở hữu, bao gồm cả các tên miền đang chờ và tên miền ccTLD khu vực. Các dịch vụ giám sát CT sẽ gửi cảnh báo khi một chứng chỉ được cấp cho một tên miền. Bất kỳ ai vận hành tên miền dưới .gh, .sl hoặc .as nên xem xét các mục nhật ký gần đây cho các chứng chỉ mà họ không yêu cầu.
- Công bố một bản ghi CAA record nghiêm ngặt. CAA record là một bản ghi DNS nêu tên các CAs được phép cấp chứng chỉ cho một tên miền, và một CA phải kiểm tra bản ghi này trước khi cấp. Google khuyến nghị liên kết bản ghi với tài khoản của chính bạn tại CA.
- Báo cáo một chứng chỉ mà bạn không yêu cầu cho CA đã cấp nó. Theo các Baseline Requirements mà các CAs tuân thủ, bất kỳ ai cũng có thể nộp Báo cáo Sự cố Chứng chỉ (Certificate Problem Report), và CA phải điều tra và báo cáo những phát hiện đầu tiên trong vòng 24 giờ.
Một CAA record không thể ngăn chặn việc cấp chứng chỉ trong khi vụ chiếm quyền DNS đang diễn ra. Kẻ tấn công có khả năng xóa bản ghi hoặc chèn một bản ghi giả vẫn có thể lấy được chứng chỉ, theo tiêu chuẩn CAA cho biết.
Bản ghi này có ý nghĩa quan trọng khi chủ sở hữu đã giành lại quyền kiểm soát DNS. Các CAs được phép sử dụng lại kết quả kiểm tra tên miền đã hoàn thành cho các chứng chỉ sau này, vì vậy kẻ tấn công đã vượt qua kiểm tra trong quá trình chiếm quyền có thể yêu cầu thêm chứng chỉ sau khi vụ việc kết thúc. Một bản ghi CAA nghiêm ngặt sẽ ngăn chặn điều đó.
Các Baseline Requirements cho phép một CA sử dụng lại kết quả kiểm tra tên miền trong tối đa 200 ngày. Thời hạn này sẽ giảm xuống còn 100 ngày vào tháng 3 năm 2027 và xuống còn 10 ngày vào tháng 3 năm 2029, theo lịch trình mà CA/Browser Forum đã phê duyệt vào tháng 4 năm 2025.
Let's Encrypt cho biết vào tháng 12 năm 2025 rằng họ chỉ sử dụng lại kết quả kiểm tra tên miền trong 30 ngày và có kế hoạch cắt giảm xuống còn 7 giờ vào năm 2028.
Mỗi tên miền trong số bảy tên miền nói trên đều mang bản ghi CAA nghiêm ngặt vào ngày 7 tháng 10. Google Public DNS đã trả về bản ghi chỉ nêu tên pki.goog, tên miền của Google Trust Services, cho từng tên miền đó.
Mã định danh chứng chỉ (Certificate Fingerprints)
Mỗi chứng chỉ trong bảng có thể được tra cứu trong dịch vụ tìm kiếm CT bằng mã vân SHA-256 của nó. Các số thứ tự khớp với các hàng trong bảng.
- SHA-256:
0357032e1214ae11d7da8e00f6b89fb7694e240b17d05f2f47feaf43e96aa7d8 - SHA-256:
8886ca2b71501a6729f1ae868bd7d7b9b53c5cb6b5c7d851d041db4d6206945d - SHA-256:
986d36b1c68c3e800596c4680dd6c67c42118955e08b472f641793c59dcd347b - SHA-256:
2e1f6d7f24650b0720636efe48f2ccf59704ee6f11ffa52b5a4c4afcc474fe91 - SHA-256:
e1667fe4e4ea98427960ea2eda7c53af1246ec58ac22282a6877d394a0957065 - SHA-256:
e1e4fd74f673f1df9c039ae6424b36868a0475a043abea2dedd1f6f12a365ebf - SHA-256:
5b7c491c8784eb438b1634981f1ea6333d3557431268233c2a7a92173ca17122 - SHA-256:
a10d3b5dbc142d040e6ae772ab41dc44b0e94659237709d1241fdefdd36f7b35 - SHA-256:
491f453d208bbb7923626c208df93c95fdfae3b78b738b996c8dafda9d00619a - SHA-256:
798079c762496d26ce99d3a9113cb24715e31ec8a69a6cdcffa70f5001e19df0 - SHA-256:
607afd2745b84c4332e028262937be35f25316aadf584340269d23a3dbcd37ef - SHA-256:
b7ea8c77695cf9791a9d45f17c33ebb9bd5f68d4c96df6f56136dc6a834576d2