- Nhóm nghiên cứu bảo mật công bố Unsaflok, có thể mở nhiều mẫu khóa khách sạn RFID Dormakaba Saflok chỉ trong vài giây, làm lung lay niềm tin vào chính hệ thống kiểm soát ra vào phòng khách sạn
- Phạm vi ảnh hưởng là 3 triệu cánh cửa tại 13.000 cơ sở lưu trú ở 131 quốc gia trên toàn thế giới; lỗ hổng khai thác đồng thời mã hóa của Dormakaba và điểm yếu RFID MIFARE Classic
- Kẻ tấn công chỉ cần có 1 thẻ khóa của cùng khách sạn, đọc mã bằng thiết bị RFID 300 USD, rồi lần lượt chạm 2 thẻ tự tạo để thay đổi dữ liệu khóa và mở cửa
- Nhóm nghiên cứu đã chia sẻ chi tiết với Dormakaba vào tháng 11/2022, nhưng tính đến tháng 3/2024, chỉ 36% số Saflok đã lắp đặt được cập nhật; các hệ thống cũ có thể mất từ vài tháng đến vài năm để khắc phục
- Khách lưu trú có thể dùng ứng dụng NFC Taginfo để kiểm tra thẻ khóa còn là MIFARE Classic hay không; nếu có khả năng bị ảnh hưởng, nên tránh để đồ giá trị trong phòng và cài xích cửa khi ở bên trong
Kỹ thuật Unsaflok và phạm vi ảnh hưởng
- Các nhà nghiên cứu bảo mật Ian Carroll, Lennert Wouters cùng nhóm đã công bố kỹ thuật hack thẻ khóa khách sạn có tên Unsaflok
- Kỹ thuật này cho phép mở gần như tức thì nhiều mẫu khóa thẻ RFID thuộc thương hiệu Saflok do nhà sản xuất khóa Thụy Sĩ Dormakaba bán ra
- Hệ thống Saflok được lắp đặt trên 3 triệu cánh cửa, tại 13.000 cơ sở lưu trú, ở 131 quốc gia trên toàn thế giới
- Nghiên cứu bắt đầu vào năm 2022 tại một sự kiện kín ở Las Vegas, trong quá trình thử hack các thiết bị trong phòng khách sạn; nhóm nghiên cứu tập trung vào khóa cửa phòng
Cách tấn công: 1 thẻ khóa và hai lần chạm
- Trước tiên, kẻ tấn công cần có bất kỳ 1 thẻ khóa nào của khách sạn mục tiêu
- Các ví dụ được nêu gồm đặt phòng tại khách sạn đó, hoặc lấy thẻ từ hộp chứa thẻ khóa đã qua sử dụng
- Thẻ khóa đã hết hạn cũng đáp ứng điều kiện nếu là thẻ của cùng khách sạn
- Sau đó, dùng thiết bị đọc/ghi RFID giá 300 USD để đọc một mã nhất định từ thẻ và ghi 2 thẻ khóa tự tạo
- Thẻ thứ nhất ghi lại một số dữ liệu nhất định của khóa
- Thẻ thứ hai mở cửa
- Theo Wouters, chỉ cần chạm nhanh hai thẻ là cửa sẽ mở, và phương thức này hoạt động với mọi cửa trong khách sạn
- Để thực hiện cuộc tấn công cuối cùng, chỉ cần thiết bị đọc/ghi RFID Proxmark và 2 thẻ RFID trắng
- Điện thoại Android hoặc Flipper Zero cũng có thể được dùng để phát liên tiếp các tín hiệu
Cấu trúc kỹ thuật của lỗ hổng
- Unsaflok kết hợp hai loại lỗ hổng
- Lỗ hổng cho phép ghi dữ liệu lên thẻ khóa
- Lỗ hổng giúp xác định cần ghi dữ liệu nào để đánh lừa khóa Saflok mở cửa
- Thẻ khóa Saflok sử dụng hệ thống RFID MIFARE Classic
- Hệ thống này có các lỗ hổng đã được biết đến hơn 10 năm, cho phép kẻ tấn công ghi lên thẻ khóa
- Quy trình brute force trước đây có thể mất tối đa 20 giây
- Nhóm nghiên cứu đã phá được hàm dẫn xuất khóa, một phần trong hệ thống mã hóa riêng của Dormakaba, để có thể ghi lên thẻ nhanh hơn nhiều
- Chỉ riêng bước này cho phép sao chép tùy ý thẻ khóa Saflok, nhưng chưa thể tạo thẻ cho phòng khác
- Bước quan trọng hơn là nhóm đã lấy được rồi dịch ngược thiết bị lập trình khóa mà Dormakaba phân phối cho khách sạn và phần mềm quản lý thẻ khóa ở quầy lễ tân
- Nhóm nghiên cứu hiểu được cấu trúc dữ liệu lưu trên thẻ
- Trích xuất mã thuộc tính theo từng khách sạn và mã theo từng phòng
- Tạo và mã hóa giá trị giống hệ thống Dormakaba, từ đó có thể làm giả thẻ hoạt động như khóa tổng mở mọi phòng trong cơ sở lưu trú
Tình trạng khắc phục và chậm trễ triển khai
- Carroll và Wouters đã chia sẻ toàn bộ chi tiết kỹ thuật của phương pháp hack với Dormakaba vào tháng 11/2022
- Dormakaba cho biết từ đầu năm 2023, họ đã thông báo cho các khách sạn dùng Saflok về lỗ hổng bảo mật và đang hỗ trợ sửa hoặc thay thế các khóa dễ bị tấn công
- Nhiều hệ thống Saflok được bán trong 8 năm gần đây không cần thay phần cứng của từng ổ khóa
- Khách sạn cần cập nhật hoặc thay thế hệ thống quản lý quầy lễ tân
- Kỹ thuật viên phải lập trình lại từng ổ khóa ở mỗi cửa, việc này tương đối nhanh
- Nhóm nghiên cứu được Dormakaba cho biết rằng tính đến tháng 3/2024, chỉ 36% số Saflok đã lắp đặt được cập nhật
- Vì khóa không kết nối Internet và một số khóa cũ cần nâng cấp phần cứng, việc triển khai khắc phục toàn bộ có thể mất thêm ít nhất vài tháng
- Một số hệ thống cũ có thể mất vài năm
- Dormakaba cho biết họ đã phối hợp chặt chẽ với các đối tác để triển khai các biện pháp giảm thiểu tức thời và giải pháp dài hạn, nhưng không công bố chi tiết về “biện pháp giảm thiểu tức thời”
Hạn chế công bố và cách khách lưu trú kiểm tra
- Nhóm nghiên cứu cố ý không công bố một số chi tiết của cuộc tấn công
- Họ chỉ tiết lộ rằng thẻ thứ nhất có thể khiến cửa mở mà không cần đoán định danh duy nhất của phòng mục tiêu
- Họ giữ kín yếu tố đó để không cung cấp quy trình quá rõ ràng cho những kẻ có ý định đột nhập hoặc trộm cắp
- Điều này tương phản với vụ hack thẻ khóa khách sạn Onity được công bố tại Black Hat năm 2012
- Khi đó, thông tin được công bố chi tiết đến mức bất kỳ ai cũng có thể chế tạo thiết bị mở 10 triệu khóa Onity
- Do Onity không chịu chi phí nâng cấp phần cứng mà chuyển trách nhiệm cho khách hàng, vấn đề vẫn tồn tại ở nhiều khách sạn và sau đó đã bị lợi dụng trong ít nhất một vụ trộm đường dài
- Nhóm nghiên cứu cố gắng chọn một điểm cân bằng giữa việc hỗ trợ Dormakaba khắc phục và cảnh báo rủi ro cho khách lưu trú
- Khách lưu trú nhìn chung có thể nhận biết khóa dễ bị ảnh hưởng
- Hình dạng phổ biến là thiết kế đầu đọc RFID tròn với các đường lượn sóng chạy qua
- Tuy nhiên, không phải lúc nào cũng có thể nhận diện chỉ dựa trên thiết kế này
- Nếu cửa phòng có Saflok, có thể kiểm tra thẻ khóa bằng ứng dụng NFC Taginfo của NXP
- Nếu khóa là sản phẩm Dormakaba và ứng dụng vẫn hiển thị thẻ khóa là MIFARE Classic, khả năng cao khóa vẫn còn dễ bị tấn công
- Nếu bị ảnh hưởng, khách lưu trú có rất ít việc có thể làm
- Nên không để đồ giá trị trong phòng
- Khi ở trong phòng, nên cài xích cửa
- Chốt chết của phòng cũng do khóa thẻ điều khiển, nên không phải là lớp bảo vệ riêng
- Dormakaba cho biết họ không biết việc kỹ thuật của nhóm nghiên cứu từng bị sử dụng trong quá khứ, nhưng nhóm nghiên cứu cho rằng điều đó không loại trừ khả năng nó đã được dùng một cách âm thầm
- Thương hiệu Saflok đã được bán hơn 30 năm, và nhóm nghiên cứu nhận định có khả năng lỗ hổng đã tồn tại trong thời gian dài
1 bình luận
Các ý kiến trên Hacker News
Tôi làm việc tại một công ty sản xuất hệ thống kiểm soát ra vào và truyền thông. Đầu đọc mà chúng tôi phát triển hỗ trợ nhiều chuẩn ID khác nhau, từ EM-Marin không mã hóa, Mifare Classic đã bị phá từ lâu, cho tới Desfire EVx hiện đại
Theo thống kê, hơn 95% khách hàng vẫn tiếp tục dùng các định danh yếu nhất vì chi phí thấp và dễ vận hành
Dù nhà sản xuất tiếp tục hỗ trợ, vẫn phải trả chi phí bảo trì nên phần lớn thiết bị đã lắp đặt không được quản lý đúng cách; không phải thiết bị nào cũng có thể cập nhật từ xa qua mạng, hoặc thậm chí có kết nối mạng ngay từ đầu
Ngay cả khi thẻ được mã hóa, hầu hết đầu đọc thẻ kết nối với bộ điều khiển bằng giao thức Wiegand, giao thức này không cung cấp mã hóa dữ liệu nên ID định danh được truyền dạng văn bản thuần qua hai sợi dây
Có bao nhiêu trình duyệt còn hỗ trợ bộ mã hóa TLS_NULL_WITH_NULL_NULL?
Vì sao lại như vậy? Thẻ thông minh ở nơi làm việc hay thẻ ngân hàng không tiếp xúc thì vẫn hoạt động tốt suốt nhiều năm
Vì kẻ trộm dù sao cũng sẽ phá cửa để vào
Tòa nhà tôi thuê nhà dùng khóa cửa Scantron(https://scantron.dk/), mở khóa bằng chìa RFID. Năm ngoái, do mã hóa yếu của MiFare Classic, người ta phát hiện cách tạo khóa tổng từ bất kỳ chìa nào
Phải cần rất nhiều email và cuộc gọi với phóng viên thì chủ nhà mới hiểu vấn đề, và tôi nghĩ Scantron cũng đã nói giảm nhẹ vấn đề với chủ nhà
Cuối cùng họ nhượng bộ, nâng cấp toàn bộ khóa cửa lên phương thức mã hóa tốt hơn và cấp lại chìa
Tòa nhà của chúng tôi có 197 căn, mỗi căn có ít nhất 2 chìa, nên để nhà tôi không bị trộm thì tôi phải tin tưởng tất cả người thuê cùng những người quen của họ. Nếu thực sự bị trộm, khả năng cao là không có dấu vết đột nhập, nên bảo hiểm có thể không chi trả
Lần cuối tôi kiểm tra, thẻ ra vào đã sao chép của tôi vẫn còn hoạt động ở đó
Tôi đã thực hiện nghiên cứu này cùng một số người khác, nên nếu có câu hỏi thì tôi có thể trả lời. Nội dung đã công khai cũng có tại https://unsaflok.com
Nếu muốn tìm lỗ hổng thì bắt đầu từ đâu? Trong dạng công việc này, điểm khởi đầu tương đương với “mở IDE và viết print("hello world")” là gì?
Vậy có vẻ rất có thể vấn đề nằm ở cách Saflok triển khai MIFARE Classic. Tôi sẽ phải đọc thêm về giao thức này
“Nếu kẻ tấn công đọc được bất kỳ một thẻ khóa nào trong tòa nhà, họ có thể tấn công mọi cửa trong tòa nhà đó” là một lỗ hổng khá nghiêm trọng. Về cơ bản, chỉ cần là khách lưu trú của khách sạn là đủ
Các nhà nghiên cứu đã chia sẻ toàn bộ chi tiết kỹ thuật của phương pháp hack với Dormakaba vào tháng 11/2022, và Dormakaba nói rằng tính đến tháng này chỉ 36% số Saflok đã lắp đặt được cập nhật. Vậy có phải Dormakaba đã không coi việc này là ưu tiên tối thượng để dồn toàn lực xử lý?
Hay là hai phần ba các nơi lắp đặt đã được cung cấp bản sửa miễn phí kịp thời nhưng vì lý do nào đó lại trì hoãn?
Trong câu chữ PR “tất cả khách hàng và đối tác của chúng tôi đều coi bảo mật là vấn đề rất nghiêm túc, và chúng tôi tin rằng mọi biện pháp hợp lý sẽ được thực hiện để xử lý vấn đề này một cách có trách nhiệm”, từ “hợp lý” nghe đáng ngờ
Theo Wikipedia, dormakaba Holding AG là một tập đoàn bảo mật toàn cầu có trụ sở tại Rümlang, Thụy Sĩ, và tuyển dụng hơn 15.000 người tại hơn 50 quốc gia
Nếu họ có ý chí giải quyết trước khi điều gì đó có khả năng rất tệ xảy ra với khách lưu trú khách sạn, thì có vẻ họ có đủ nguồn lực
Công ty được niêm yết trên SIX Swiss Exchange
https://www.google.com/finance/quote/DOKA:SWX?comparison=INDEXSP%3A.INX&window=5Y
https://www.google.com/finance/quote/DOKA:SWX?comparison=INDEXSP%3A.INX&window=1Y
https://archive.is/a7ntC
Nói hơi dội gáo nước lạnh, nhưng phần lớn cửa đã khóa có thể được mở “trong vài giây” bằng nhiều cách. Nói chung, trạng thái khóa giống một tín hiệu cấm vào hơn là một biện pháp cưỡng chế thực chất
Mục tiêu là làm cho việc truy cập trái phép đủ phiền phức hoặc ồn ào để ai đó nhận ra và báo cho quản lý
Có vẻ tôi đã hiểu sai cách thẻ khóa khách sạn hoạt động. Tôi luôn nghĩ trong thẻ có một UUID ngẫu nhiên, và khi check-in thì một thẻ bất kỳ được liên kết với phòng của tôi rồi đưa cho tôi
Tôi tưởng khi cố mở cửa, ID của thẻ sẽ được so với cơ sở dữ liệu phòng để quyết định có mở hay không
Không phải vậy sao? Cách đó có vẻ đơn giản hơn so với mã hóa hay thực sự ghi thứ gì đó lên thẻ
Phần lớn khóa điện tử đời cũ chạy bằng pin 9V và không được nối dây tới máy chủ trung tâm
Cũng có các hệ thống kết nối mạng, nhưng chi phí lắp đặt có thể đắt hơn nhiều
Có vẻ chỉ còn là vấn đề thời gian trước khi ai đó tạo script Flipper Zero để thực hiện việc này
Người có ý định và kiến thức để bẻ khóa đầu đọc RFID có thể chế tạo những công cụ phần cứng như vậy. Flipper Zero có cung cấp loại công cụ đó không? Có
Trách nhiệm hành xử có đạo đức có thuộc về người dùng không? Có thể tranh luận, nhưng cá nhân tôi thì cho rằng rõ ràng là có
Nếu ai đó mang theo một bộ dụng cụ mở khóa và học cách dùng thì cũng có thể được chấp nhận chứ? Chúng ta chấp nhận sự thật rằng có những người có thể mở khóa, và 80% các bang ở Mỹ cho phép sở hữu cũng như sử dụng hợp pháp dụng cụ mở khóa
Khi đi du lịch tôi mang theo chặn cửa. Phần lớn khóa cửa khách sạn tôi thấy đều được thiết kế để có thể mở từ bên ngoài
Chặn cửa cố định cánh cửa như một cái nêm, giúp cửa chịu lực ở trạng thái đóng. Dùng nó khiến tôi ngủ ngon hơn vào ban đêm