Phát hiện lỗ hổng bảo mật trong hệ thống nhận dạng điện tử của EU
Các lỗ hổng nằm trong dịch vụ định danh, xác thực và tin cậy điện tử (eIDAS). Dịch vụ này đã đi vào hoạt động trong 5 năm, được thiết kế như một cầu nối an toàn giữa tất cả các hệ thống hành chính và định danh khác nhau của 28 quốc gia tạo nên khối thương mại lớn nhất thế giới.
Về cơ bản, người dùng có thể sử dụng eIDAS để ký tài liệu, nộp thuế, đăng ký các khóa học đại học, mở tài khoản ngân hàng, truy cập các dịch vụ công cộng,... tại một quốc gia EU được sử dụng danh tính kỹ thuật số do chính phủ của một quốc gia EU khác cấp. Ví dụ, một người ở Pháp có thể sử dụng ID điện tử do Chính phủ Pháp cấp để truy cập các dịch vụ trực tuyến ở Ý thông qua eIDAS để nhận dạng.
Qua các lỗ hổng, dịch vụ này có thể bị lợi dụng để giả danh người khác, phần nào phá vỡ toàn bộ sự tin cậy và xác thực mà hệ thống cung cấp. Những nơi đang sử dụng phần mềm eIDAS-Node như nhiều quốc gia thành viên EU cần phải cập nhật lên phiên bản 2.3.1 trở lên để tránh những lỗ hổng bảo mật này.
Tuy nhiên, phạm vi của các lỗ hổng khá hạn chế vì phần mềm này được các quốc gia sử dụng để nói chuyện với các hệ thống của các quốc gia khác. Do đó, nó có thể được sử dụng bởi các tổ chức của một quốc gia để lừa đảo rằng mình là công dân của quốc gia khác.
Hiện nay, EU đã phát hành bản vá và gửi thông báo đến các nhà quản trị của các quốc gia. SEC Consult khuyến cáo nên áp dụng ngay bản vá. Ngoài ra, công ty cũng khuyên các đơn vị vận hành eIDAS-Node nên tiến hành điều tra xem liệu lỗ hổng này đã bị khai thác trong thực tế hay chưa.
Lỗ hổng trong phần mềm eIDAS-Node
Chuyên gia bảo mật Wolfgang Ettlinger của công ty bảo mật SEC Consulting đã tìm thấy và báo cáo các lỗ hổng này. Lỗ hổng tồn tại trong thành phần xác thực xuyên biên giới của phần mềm eIDAS-Node, cho phép kẻ tấn công có thể mạo danh bất kỳ công dân EU nào.
Quá trình xác thực được minh hoạ như sơ đồ dưới đây. Nếu một công dân Ý muốn xác thực với dịch vụ trực tuyến của Đức, trước tiên, eIDAS-Node của Đức (eIDAS-Connector) được ứng dụng web hướng dẫn để khởi tạo quá trình xác thực. Nó sẽ gửi một yêu cầu tới eIDAS-Node của Ý (eIDAS-Service). eIDAS-Node của Ý chuyển tiếp thông tin người dùng đến một hệ thống được trang bị để xác thực công dân Ý bằng cách sử dụng chương trình eID quốc gia. Sau khi xác thực, eIDAS-Connector của Đức sẽ nhận được thông tin công dân mà nó chuyển tiếp đến ứng dụng web.
Quá trình xác thực các dịch vụ trực tuyến
Các lỗ hổng nằm trong đoạn mã mà eIDAS xử lý các chứng thực mật mã được gửi tới trong quá trình này. Nhà phát hành chứng thực không được kiểm tra; giá trị trả về của lệnh gọi hàm xác thực trong lớp OpenSAML ExplicitKeyTrustEvaluator để xác định liệu chứng chỉ có đáng tin cậy hay không đã bị bỏ qua. Phần mềm đã được xử lý bất kể kết quả nhận về là gì. Cuối cùng, chứng thực bảo mật có thể bị giả mạo, do đó có thể mạo danh người khác. Vì vậy, cần kiểm tra nhà phát hành chứng thực mã hóa và không bỏ qua các giá trị trả về của các hàm, đặc biệt là các hàm kiểm tra nguồn khóa mật mã có thể được tin cậy hay không.
Lỗ hổng này đã được báo cáo một cách bí mật vào tháng 7/2019. Có lẽ, nó mới xuất hiện trong vòng chưa đầy một năm vì năm 2018, Đại học Ruhr Bochum ở Đức đã tiến hành một thử nghiệm trên hệ thống và rất có thể đã phát hiện ra lỗ hổng nếu nó đã tồn tại vào thời điểm đó. Vì vậy, có thể lỗ hổng này mới xuất hiện trong khoảng thời gian giữa cuộc kiểm tra năm 2018 và tháng 6/2019, khi SEC Consult bắt đầu xem xét mã nguồn của hệ thống.
Nguyễn Anh Tuấn
theo The Register