Một chứng chỉ giả mạo có thể tàn phá công ty bạn – đây là cách để ngăn chặn điều đó.
Một trong những câu hỏi thường gặp nhất mà chúng tôi được hỏi là “chứng chỉ giả mạo là gì?” Và thật không may, câu trả lời không hoàn toàn thú vị như tên của nó. Tuy nhiên, giấy chứng nhận giả mạo đại diện cho một mối đe dọa lớn cho doanh nghiệp.
Để trả lời câu hỏi “chứng chỉ giả mạo là gì?”, Chúng ta sẽ phải bắt đầu bằng một chút nền tảng, thảo luận ý nghĩa của nó khi Cơ quan cấp chứng chỉ (CA) trở nên giả mạo và chúng tôi sẽ kết thúc cuộc thảo luận của chúng tôi với một số mẹo về việc ngăn chặn các chứng chỉ giả mạo ảnh hưởng đến doanh nghiệp của bạn.
Vì vậy, một chứng chỉ giả mạo là gì? Hãy cùng phân tích nó ra.
Chứng chỉ số của bạn thực sự xác thực
Hãy bắt đầu bằng cách nói về khía cạnh xác thực của Public Key Infrastructure (PKI)- đặc biệt trong ngữ cảnh SSL / TLS. Khi chứng chỉ kỹ thuật số được phát hành, bạn gửi Tổ chức phát hành chứng chỉ khóa công khai của bạn và Yêu cầu ký chứng chỉ, hoàn tất với tất cả thông tin có liên quan. CA xác nhận hợp lệ và trả về chứng chỉ số đã ký có chứa thông tin đã xác thực.
Bây giờ, có mức xác nhận cao hơn, xác thực doanh nghiệp (Xác thực tổ chức và Xác thực mở rộng), chúng tôi sẽ bỏ qua những người trong cuộc thảo luận này và tập trung vào xác thực mà tất cả chứng chỉ SSL / TLS cung cấp: xác thực máy chủ.
Khi CA thực hiện xác nhận tên miền, nó cố gắng xác minh rằng yêu cầu chứng chỉ đến từ chủ sở hữu hợp pháp của miền.
Có một số cách để thực hiện điều này, Diễn đàn CA / Trình duyệt (xác định các yêu cầu cơ sở mà cấp giấy chứng nhận của chính phủ) thực sự chỉ tăng cường kiểm tra được thực hiện .
Nhưng ý tưởng luôn giống nhau, CA cần xác minh rằng bạn thực sự là chủ sở hữu của miền đang hoạt động trên máy chủ đó.
Sau khi thực hiện xong, CA sẽ phát hành chứng chỉ. Đây là cách nó phải làm việc.
Vì vậy, một chứng chỉ giả mạo là gì?
Chứng chỉ giả mạo là chứng chỉ hợp pháp, đáng tin cậy đã được cấp bởi tổ chức phát hành chứng chỉ đáng tin cậy nhưng bị xâm phạm hoặc được cấp không đúng bên. Có một vài cách mà điều này có thể xảy ra – chúng ta sẽ gặp những điều đó trong giây lát.
Chúng ta sẽ không đi sâu trong việc thảo luận mô hình tin cậy ( đây là một mô tả đầy đủ ), nhưng chúng ta hãy xem xét các khái niệm cơ bản. Khi CA phát hành chứng chỉ, nó sẽ ký chứng chỉ đó với một trong các khóa riêng của nó . Khóa riêng này được ký bởi một thư mục gốc đáng tin cậy hoặc được ký bởi một thư mục gốc trung gian đã được ký bởi gốc tin cậy. Dù bằng cách nào, khi trình duyệt nhận được chứng chỉ SSL đáng tin cậy thì trình duyệt sẽ theo sau chữ ký điện tử trở lại chứng chỉ được liên kết với nó cho đến khi nó đạt đến một trong những gốc tin cậy trong kho ủy thác của nó.
Miễn là chữ ký của chứng chỉ có thể được đi kèm với thư mục gốc, chứng chỉ được tin cậy. Chứng chỉ giả mạo là chứng chỉ đáng tin cậy được liên kết với trang web mà chủ sở hữu chứng chỉ không thực sự kiểm soát.
Eric Vandenburg, phó chủ tịch của TCDI (Công nghệ khái niệm & thiết kế, Inc) vẽ một bức tranh khá rõ ràng về lý do tại sao điều này là nguy hiểm :
Chứng chỉ giả mạo cho phép kẻ tấn công tạo ra các trang web bất hợp pháp không thể phân biệt được với các trang web thực như eBay, Google hoặc PNC bởi vì hệ thống phân cấp chứng chỉ của họ có thể được xác thực. Sau đó, người dùng sẽ được chuyển hướng đến các trang web đó thông qua các cuộc tấn công lừa đảo hoặc “man the middle“, nơi một máy chủ bị xâm phạm giữa người dùng và trang web hợp pháp gửi lưu lượng truy cập đến một trang web bất hợp pháp thay thế.
Chúng tôi biết cách mà các trang web lừa đảo có thể thuyết phục người dùng được . Mức độ phổ biến của chúng . Họ nguy hiểm như thế nào . Bên cạnh đó chỉ báo HTTPS của Google – đã đặt một huy hiệu “An toàn” bên cạnh URL trong thanh địa chỉ – chỉ làm mọi thứ trở nên tồi tệ hơn .
Nhưng ngay cả với tất cả những yếu tố đó đã vượt qua quy mô trong lợi ích của lừa đảo, một con mắt sáng suốt vẫn có thể phát hiện ra thứ giả mạo
Một chứng chỉ giả mạo sẽ lừa các trình duyệt web của người dùng tin tưởng vào trang web mặc dù nó là đồ giả mạo.
Chứng chỉ lừa đảo có thể lừa một trình duyệt của người dùng như thế nào?
Hãy nói về cách xác thực dựa trên chứng chỉ thực sự hoạt động. Đây không phải là quá trình xác thực diễn ra trong quá trình phát hành, đây là kiểm tra mà trình duyệt thực hiện khi được cung cấp chứng chỉ khi đến trang web.
Hãy kiểm tra:
- Chứng chỉ có được một CA đáng tin cậy ký không? Chuỗi chữ ký số có quay trở lại một trong những gốc rễ trong kho lưu trữ tin cậy không?
- Chứng chỉ này có còn hợp lệ không? Khi nào nó được phát hành? Khi nào nó hết hạn ? Chúng ta vẫn ở trong khung thời gian đó chứ?
- Chứng chỉ đã bị thu hồi chưa? Điều này yêu cầu kiểm tra OCSP hoặc CRL .
- Cặp khóa có khớp không? Máy chủ có sở hữu khóa riêng liên quan không?
Bước 4 đôi khi được gọi là bằng chứng sở hữu. Và tôi nói các bước, đó chỉ là để tham khảo – chúng ta không quá đi sâu về các thuật ngữ . Trình duyệt sẽ mã hóa một số dữ liệu throwaway với khóa công khai của chứng chỉ. Bây giờ, khóa công khai thực sự được lấy từ khóa riêng tư, đó là lý do tại sao chỉ có khóa riêng đó mới có thể giải mã khóa công khai đó. Đây là cách ngăn các trang web giả mạo sao chép chứng chỉ SSL của trang web hợp pháp và cố gắng trình bày khóa công khai của chính nó như là của riêng nó. Khóa công khai của chứng chỉ đó sẽ không hoạt động vì máy chủ trình bày chứng chỉ không có khóa riêng.
Ok, vì vậy bây giờ hãy trộn trong một chứng chỉ giả mạo.
Hãy nhớ rằng, một chứng chỉ giả mạo là một chứng chỉ hợp lệ đã sở hữu một bên thứ ba – thường là một chứng chỉ độc hại. Điều đó có nghĩa là kẻ tấn công thực sự có khóa riêng.
Vì vậy, khi bạn đến một trang web độc hại với chứng chỉ giả mạo, trình duyệt của bạn sẽ thực hiện bốn lần kiểm tra đó. Nó đảm bảo chứng chỉ được ký bởi một CA đáng tin cậy. Và nó đảm bảo chứng chỉ hợp lệ. Sau đó nó sẽ kiểm tra xem chứng chỉ đã bị thu hồi chưa.
Và cuối cùng là kiểm tra bằng chứng sở hữu.
Máy tính của người dùng không bao giờ thực sự xác thực chính xác máy chủ, nó chỉ xác thực chứng chỉ. Nó giống như khi bạn trình bày một cảnh sát với bằng lái xe của bạn. Anh ta sẽ đảm bảo rằng hình ảnh trên giấy phép phù hợp, rằng giấy phép hợp lệ, rằng nó đã không hết hạn và nó sẽ không bị thu hồi. Và nếu bạn nhìn giống hình ảnh trên giấy và đảm bảo những điều trên anh ta sẽ chấp nhận giấy phép đó là hợp pháp. Anh ta sẽ không kiểm tra ADN và nhóm máu của bạn để chắc chắn rằng đó là bạn.
PKI hoạt động theo cùng một cách như vậy. Một chứng chỉ giả mạo tương tự như một hộ chiếu giả mạo hoặc một chiếc chứng minh thư lừa đảo. Nó cho phép kẻ tấn công hoạt động dưới danh tính giả.
Làm thế nào để chứng nhận giả mạo được cấp?
Đây là câu hỏi triệu đô la, làm thế nào để chứng chỉ giả mạo xảy ra? Vâng, có ba nguồn chính của chứng chỉ giả mạo:
- Cơ quan chứng nhận lừa đảo
- Cơ quan cấp chứng chỉ bị vi phạm
- Đánh bại kiểm tra Domain Control của CA
Hãy bắt đầu với các tổ chức phát hành chứng chỉ, và sau đó chúng ta sẽ nói về các khai thác khác nhau đã được sử dụng để có được các CA hợp pháp để cấp chứng chỉ sai.
Khi tổ chức phát hành chứng chỉ đi lừa đảo
Có một số lý do mà Tổ chức phát hành chứng chỉ có thể bị lừa đảo. Nó có thể là kết quả của sự thỏa hiệp gốc, nó có thể là kết quả của các quyết định quản lý vô nguyên tắc hoặc có thể là CA đã ban hành một gốc trung gian cho một công ty không đáng tin cậy.
Đó là những gì cuối cùng dẫn đến sự sụp đổ của CNNIC, một công ty Trung Quốc có một gốc đáng tin cậy đã bị thu hồi bởi Google (và các cửa hàng gốc khác) trong năm 2015. CNNIC đã ban hành một gốc trung gian cho một công ty Ai Cập, MCS Holdings, lạm dụng trung gian để ký giấy chứng nhận độc hại cho các trang web như Google và Microsoft, sau đó được cài đặt trên máy chủ proxy MITM.
Hãy nhớ rằng, vì gốc trung gian đã được ký với khóa riêng của một gốc tin cậy, bất kỳ chứng chỉ điểm cuối nào được ký bởi trung gian sẽ tự động được các trình duyệt tin cậy. Điều đó có nghĩa là Google và Microsoft đã phải tranh giành để không tin tưởng chứng chỉ gốc của CNNIC, làm mất hiệu lực hàng ngàn chứng chỉ hợp pháp trong quá trình này.
Một tình huống tương tự xảy ra vào năm 2013 khi ANSSI , là Cơ quan an ninh không gian quốc gia Pháp, đã cấp một gốc trung gian cho một tiểu CA sau đó sử dụng sai nó để phát hành chứng chỉ gian lận, cũng như một phần của hoạt động proxy MITM.
Khi cơ quan cấp chứng chỉ bị vi phạm
Vi phạm CA là một phương pháp khác để nhận chứng chỉ giả mạo. Nếu kẻ tấn công có thể đột nhập vào mạng của CA và thỏa hiệp khóa riêng tư, họ có thể nhận được chứng chỉ bị phát hành sai. Điều này xảy ra hai lần trong năm 2011, với trường hợp đáng chú ý hơn là của DigiNotar, một CA Hà Lan đã vi phạm vào tháng Bảy.
Trong trường hợp này, tin tặc Iran đã xâm nhập vào khóa riêng của CA sau khi truy cập vào mạng thông qua SQL injection. Đó là sự khởi đầu cho sự kết thúc của CA Hà Lan. Chính phủ Hà Lan đã tiếp quản vào tháng 9 năm 2011 và vào cuối tháng đã tuyên bố phá sản DigiNotar. Các cửa hàng gốc chính đã loại bỏ các rễ DigiNotar, trong đó có hiệu lực thu hồi tất cả các chứng chỉ DigiNotar trên toàn thế giới (họ không còn có thể được xích lại cho một gốc đáng tin cậy).
“Để có thể sử dụng chứng chỉ như vậy, hacker sẽ cần phải chặn lưu lượng truy cập và chèn chứng chỉ giả của riêng họ vào cuộc tấn công Man-in-the-Middle (MitM),” Patrick Lambert của Tech Republic viết . “Trong trường hợp của DigiNotar, đó là chính xác những gì đã xảy ra. Chính phủ Iran có các máy chủ proxy thông qua đó tất cả các giao thông quốc gia đều được chuyển giao. Với chứng chỉ như vậy, điều đó có nghĩa là họ có thể đột nhiên truy cập vào tài khoản Gmail, tài khoản ngân hàng hoặc bất kỳ kết nối được mã hóa nào mà họ muốn trong quốc gia, vì họ có khóa riêng của cơ quan đáng tin cậy và sau đó có thể phát hành CSR cho bất kỳ trang web nào họ muốn.”
Đánh bại Kiểm tra tên miền của CA
Cuối cùng, những kẻ tấn công có thể lừa một CA phát hành một chứng chỉ giả mạo mà không phải tự thỏa hiệp khóa riêng.
Dữ liệu đầu tiên hiện đã bị lỗi thời bởi vì ngành đã bắt buộc sử dụng SHA-2 làm thuật toán băm trong chứng chỉ X.509. Vì vậy, trừ khi bạn đã có một PKI làm việc vẫn còn sử dụng MD5 , điều này sẽ không hoạt động.
Nhưng ý tưởng đằng sau nó là tạo ra một vụ va chạm bằng cách sử dụng thuật toán MD5. Hashing là việc thực hành ánh xạ dữ liệu có độ dài bất kỳ đến một đầu ra có độ dài cố định .
Lý tưởng nhất, không có hai giá trị băm nào sẽ giống nhau. Khi chúng được gọi là va chạm.
Mỗi bản tóm tắt trên CAPEC-459 :
Kẻ thù khai thác điểm yếu trong thuật toán băm MD5 (sức đề kháng va chạm yếu) để tạo yêu cầu ký chứng chỉ (CSR) có chứa các khối va chạm trong phần “được ký”. Các đối thủ đặc biệt thủ công hai khác nhau, nhưng X.509 chứng nhận rằng khi băm với thuật toán MD5 sẽ mang lại cùng một giá trị. Sau đó, đối thủ sẽ gửi CSR cho một trong các chứng chỉ đến Tổ chức phát hành chứng chỉ sử dụng thuật toán băm MD5. Yêu cầu đó hoàn toàn hợp lệ và Tổ chức phát hành chứng chỉ cấp chứng chỉ X.509 cho đối thủ được ký bằng khóa riêng của nó. Những kẻ tấn công sau đó lấy chứng chỉ đã ký đó và chèn nó vào một chứng chỉ X.509 khác mà kẻ tấn công đã tạo ra. Do vụ va chạm MD5, cả hai chứng chỉ, mặc dù khác nhau, giá trị băm cho cùng một giá trị. Hiệu ứng ròng là chứng chỉ X.509 thứ hai của đối thủ mà Cơ quan chứng nhận chưa từng thấy, hiện đã được Cơ quan cấp chứng nhận ký và xác thực.
Khai thác thứ hai (và không, đây không phải là danh sách đầy đủ) là một danh sách gần đây hơn và liên quan đến ngộ độc DNS cache. Về cơ bản, các cuộc tấn công được bắt đầu với một yêu cầu DNS, kẻ tấn công cần phải thực hiện chèn một DNS vào trước khi DNS chính xác từ máy chủ đến. Khi CA thực hiện kiểm tra xác nhận tên miền, nó sẽ nhận được câu trả lời từ máy chủ DNS của kẻ tấn công.
Để tấn công hoạt động, DNS cần được chia thành các đoạn, sau đó được đưa vào để lừa CA phát hành chứng chỉ được yêu cầu. Trong khi các mảnh đầu tiên trong phản hồi thực sự chứa các trường đáp ứng DNS hợp lệ, phần còn lại chứa bất kỳ thông tin nào mà kẻ tấn công cần để lấy chứng chỉ.
Cuộc tấn công này đã không được nhìn thấy trong tự nhiên, nó được phát hiện bởi một nhóm các nhà nghiên cứu Đức.
Làm cách nào để công ty của tôi có thể tránh được chứng chỉ giả mạo?
Có một số bước khác nhau bạn có thể thực hiện, cũng như một số sáng kiến công nghiệp thú vị cũng sẽ giúp giảm bớt một số những lo ngại này. Hãy bắt đầu với các sáng kiến của ngành và sau đó chúng tôi sẽ đưa ra một số lời khuyên về quản lý chứng chỉ.
Tính minh bạch của chứng chỉ
Một trong những sáng kiến mà Google đam mê nhất chính là Tính minh bạch của chứng chỉ. Để chứng chỉ được tin cậy, chứng chỉ phải được ghi lại đúng cách. Điều đó có nghĩa là mỗi khi Cơ quan cấp chứng chỉ phát hành chứng chỉ SSL / TLS, nghĩa vụ phải gửi bản ghi của bản phát hành đó tới nhật ký Minh bạch chứng chỉ của bên thứ ba. Các quy tắc đăng nhập khác nhau tùy theo công ty, nhưng hầu hết các trình duyệt yêu cầu phải thêm các chứng chỉ vào ít nhất hai nhật ký CT .
Bằng cách này, nó cho phép các công ty giám sát lớn hơn. Sử dụng các công cụ như trình xem nhật ký của Facebook , có thể xem những chứng chỉ nào đã được cấp cho những miền nào. Và sau khi gặp phải bất kỳ chứng chỉ giả mạo nào, hãy yêu cầu thu hồi của họ. Thật không may, thu hồi là một cái gì đó mà toàn bộ hệ sinh thái SSL / TLS cần phải giải quyết, nhưng CA có nghĩa vụ thu hồi chứng chỉ trong một khung thời gian nhất định khi được yêu cầu.
Bản ghi CAA
CAA hoặc Author Authority Authorization là bản ghi DNS phục vụ như một cơ chế chính sách bảo mật internet. Về cơ bản, CAA ra lệnh cho Tổ chức phát hành chứng chỉ nào được ủy quyền cấp chứng chỉ cho tổ chức của bạn. Bản ghi CAA có thể đặt chính sách cho tên máy chủ lưu trữ cụ thể hoặc toàn bộ tên miền. Bản ghi CAA được chỉ định là RFC 6844 .
Bằng cách hạn chế phát hành cho một số ít các CA, bạn có thể giới hạn một số rủi ro do chứng chỉ giả mạo gây ra. Tất cả các CA được yêu cầu thực hiện tra cứu DNS cho CAA trước khi phát hành . Không kiểm tra xem nó có tạo ra sự phát hành sai hay không và hầu hết các CA đều không thích hợp. Google đã thực sự bị giết ít hơn .
Các mẹo khác để tránh Chứng chỉ lừa đảo
Chúng tôi nói điều đó mọi lúc, nhưng điều quan trọng nhất đối với Doanh nghiệp là khả năng hiển thị. Bạn cần một công cụ quản lý chứng chỉ cho phép bạn kiểm kê tất cả các chứng chỉ kỹ thuật số, theo dõi hết hạn và phát lại, tự động hóa các chức năng nhất định và chỉ cho phép bạn kiểm soát PKI của mình thông qua một giao diện.
Ngoài những thói quen quản lý chứng chỉ tốt, dưới đây là một vài lời khuyên hữu ích khác:
- Vá thường xuyên, cụ thể là các bản vá của hệ điều hành và trình duyệt. Đây là cách bảo vệ an toàn tốt nói chung, ( chỉ cần hỏi Equifax ) nhưng nó đặc biệt quan trọng trong bối cảnh này bởi vì đây là cách mà các bản cập nhật cho các cửa hàng gốc được triển khai. Khi một Tổ chức phát hành chứng chỉ bị xâm nhập hoặc phát hành sai sự cố, cách trực tiếp nhất để phân loại vấn đề là xóa các gốc bị ảnh hưởng . Điều này sẽ tự động phân phối tất cả các chứng chỉ được ký bởi root đó hoặc một trong các hậu duệ của nó. Khi điều này xảy ra, tổ chức của bạn dễ bị tổn thương cho đến khi nó vá và cập nhật các cửa hàng gốc của nó.
- Thực hiện quét thường xuyên. Có rất nhiều công cụ có thể giúp bạn quét nhật ký CT, danh sách thu hồi, công chứng mạng và cơ sở dữ liệu được lưu trữ cục bộ. Những lần quét này sẽ hỗ trợ bạn trong việc tìm kiếm các chứng chỉ giả mạo, từ đó bạn chỉ cần liên hệ với đúng CA và thu hồi chứng chỉ.
Và đây là một lời khuyên cuối cùng ở cấp độ cá nhân, hãy đảm bảo trình duyệt của bạn được định cấu hình để kiểm tra các bản chỉnh sửa. Danh sách thu hồi chứng chỉ và nhật ký giao thức trạng thái chứng chỉ trực tuyến (OCSP) được duy trì bởi CA và cho trình duyệt của bạn biết khi nào nó không tin tưởng chứng chỉ. Đảm bảo rằng nếu cuộc gọi OCSP không thành công, trình duyệt của bạn sẽ xử lý chứng chỉ là không đáng tin cậy.