Thẻ MIFARE Classic đã được biết là có lỗ hổng từ hơn 10 năm trước, và nếu làm trong ngành thẻ thì thông thường phải khuyên chuyển sang chip an toàn hơn như DESFire
Ngay trong phần mở đầu bài báo cũng viết rằng “đến năm 2024 thì ai cũng biết MIFARE Classic đã bị phá nghiêm trọng”, nên nếu vẫn còn triển khai MIFARE Classic thì gần như là tự chuốc lấy hậu quả
Ở trường đại học của tôi, máy bán hàng tự động vào khoảng năm 2014 cũng dùng kiểu nạp số dư vào token MIFARE Classic để sử dụng
Giữa tháng 7 tôi hết tiền, đến mức tiền mua vé tàu về nhà dịp nghỉ hè cũng gần không đủ, nhưng nhờ MIFARE mà tôi sống cầm cự bằng sandwich từ máy bán hàng tự động được khoảng 2 tuần. Đúng là thời trẻ thật tuyệt
MIFARE Classic rẻ, ổn định, và thứ bị phá chỉ là phần mã hóa
Nếu dùng nó như kho lưu trữ đơn giản và xử lý mã hóa/xác thực dữ liệu bằng cách khác thì không vấn đề gì. Chữ ký ECC cũng đủ nhỏ để nhét vào thẻ 2K/4K, nên tôi đã từng làm như vậy
Nói rộng hơn, tôi không hiểu vì sao các nhà sản xuất tích hợp chức năng kiểu SecureBoot trên SoC nền ARM lại để tài liệu liên quan đến bảo mật dưới NDA
Kiểu như tài liệu PDF đặc tả có watermark “confidential” và còn chặn cả copy-paste, như thể họ vẫn nghĩ giấu bảo mật đi thì sẽ có tác dụng
TFL ở London đã bắt đầu loại bỏ MIFARE Classic từ năm 2010 vì vấn đề này
Thật ngạc nhiên là đến giờ đây vẫn còn là một vấn đề
Những thẻ này có cửa hậu phần cứng, nên thế hệ hay chủng loại thực ra không quá quan trọng
Tôi muốn biết liệu có ai có thể giải thích đường tấn công này thật dễ hiểu không
Nếu là cửa hậu thì nghe như kiểu ai đó có thể “xâm nhập vào” RFID của tôi, nhưng RFID hầu như tắt nguồn trong phần lớn thời gian. Khi RFID được cấp nguồn, có phải host cấp nguồn cho nó cũng phải dễ tổn thương hoặc đang nằm trong một mạng đã bị xâm phạm không?
Tôi cũng chưa rõ sau đó thì có thể làm được những gì. Cửa vốn đã mở, thẻ tín dụng vốn cũng đã sẵn sàng để thanh toán. Hay là điều này chỉ có nghĩa là ai đó lướt qua ngoài đường cũng có thể sao chép thẻ của tôi?
Một phần đáng kể các hệ thống thẻ RFID trên toàn thế giới dùng MIFARE Classic vì chi phí và lịch sử sử dụng lâu đời
MIFARE không chỉ có Classic mà còn có UID 32-bit và nhiều khối dữ liệu được mã hóa, mỗi khối được bảo vệ bằng khóa A và khóa B
Các hệ thống thẻ đời đầu chỉ dùng UID để xác thực, và nếu UID khớp thì được cho qua. Dĩ nhiên ai cũng có thể tạo thẻ có cùng UID, nên các hệ thống về sau bắt đầu dùng 12 trường được mã hóa để xác thực. Reader yêu cầu thẻ mã hóa một số ngẫu nhiên và thông tin nhận dạng đã lưu, và chỉ thẻ có đúng khóa mới có thể trả về đúng bản mã và số ngẫu nhiên
Xác thực dùng mã hóa khóa đối xứng. Tùy cấu hình, khóa A có thể dùng chỉ đọc hoặc đọc-ghi, hoặc A dùng để đọc và B dùng để ghi, hoặc cần cả A/B cho đọc-ghi
Ban đầu MIFARE Classic dùng mật mã độc quyền crypto-1, và vì các lý do như bộ sinh số ngẫu nhiên yếu hay va chạm, các khóa MIFARE Classic truyền thống có thể bị phá khá dễ dàng. Tuy vậy, nhờ nhiều biện pháp đối phó nên vẫn còn các khóa tăng cường chưa bị phá
Có vẻ bài báo đã tìm ra khóa A/B hard-code là A396EFA4E24F trên một thương hiệu thẻ RFID cụ thể. Tôi chỉ lướt nhanh bài báo và cũng đã lâu không đụng đến RFID nên chi tiết có thể không hoàn toàn chính xác
Cốt lõi là nếu ai đó cầm được thẻ của bạn vài phút thì họ có thể sao chép nó để mạo danh bạn
Dĩ nhiên họ cũng có thể trộm luôn cái thẻ, nhưng bạn sẽ nhận ra điều đó. Còn nếu họ chỉ cần có thẻ trong ví của bạn vài phút trên bàn, hoặc bộ phận IT “mượn” để mã hóa lại, hay vô số cách khác để tạm thời tiếp cận thẻ RFID, thì họ có thể dump và sao chép nó
Nếu đó là thẻ RFID dùng một trong các chipset bị ảnh hưởng ở trang áp chót, thì với quyền truy cập root qua cửa hậu có thể sao chép ngay lập tức
“Có nên mua bản sao Trung Quốc của MIFARE Classic không?” có vẻ là một câu hỏi mà đáp án đã quá rõ, nhưng có lẽ đó cũng là lý do tôi vẫn chưa được thăng chức lên CISO
Người dùng cuối của những thẻ này thường không biết nguồn gốc, và thường là reseller cố tiết kiệm từng đồng mới là bên cung cấp
Có những khách hàng dùng smart card và đôi khi chúng tôi phải đọc hoặc ghi lên đó, nhưng khi onboard họ thường không biết mình đang dùng phiên bản hay đặc tả nào. Họ chỉ gửi vài chiếc thẻ gần như không có dấu hiệu nhận biết, rồi mình phải lần mò bằng thử-sai để tìm ra
Theo bài báo, có vẻ cùng một cửa hậu cũng tồn tại trên một số SKU của NXP và Infineon, bao gồm cả sản phẩm sản xuất tại châu Âu
Nếu bạn có thể đề xuất một cách định lượng rủi ro thật sáng tạo thì có thể vẫn lên được CISO
Các framework quản trị rủi ro sẽ biểu diễn tác động, khả năng xảy ra và phương án ứng phó bằng tiền. Nếu bạn đưa ra vài phương án cho thấy các biện pháp giảm thiểu khác nhau ảnh hưởng thế nào đến rủi ro còn lại cuối cùng, thì cả người không chuyên kỹ thuật cũng có thể chấp nhận định hướng bảo mật của doanh nghiệp
Tất nhiên vẫn phải nói những điều cơ bản như “bảo mật là quan trọng”, “lỗ hổng là điều xấu”, “rủi ro chuỗi cung ứng cần được xử lý”. Biết càng nhiều thì những chuyện này càng mệt mỏi, ít nhất là theo kinh nghiệm của tôi. Dù vậy, tôi không phải CISO
Câu hỏi thực tế thường phức tạp hơn, kiểu như “có cần tháo bỏ hàng nghìn đầu đọc và cổng ra vào trong tòa nhà không, hay có thể cầm cự thêm vài năm bằng thẻ tăng cường dùng cùng giao thức?”
Tôi không khuyến nghị như vậy, nhưng ở đa số công ty thì bảo mật vật lý cũng không có ngân sách vô hạn như các lĩnh vực khác
Tôi cũng không chắc CISO có thực sự là người đưa ra quyết định kiểu này không
Có vẻ khả năng cao hơn là một nhà thầu do quản lý tòa nhà của một công ty sở hữu bất động sản thương mại thuê sẽ là bên quyết định
Liên kết tới bản tóm tắt thay vì PDF: https://eprint.iacr.org/2024/1275
MIFARE Classic: exposing the static encrypted nonce variant
Cryptology ePrint Archive, Paper 2024/1275
Tác giả: Philippe Teuwen
Không rõ cái này liên quan thế nào với các loại thẻ dùng PKCS hay PKI
Cũng tò mò liệu ngoài thực tế có hệ thống kiểm soát ra vào nào dùng kiểu này không, và có an toàn hơn không
Hay là cũng có thể có hệ thống kiểm soát cửa dùng FIDO2
Thực tế là có hệ thống kiểm soát ra vào dùng PKI
Ví dụ, trong các đặc tả PIV như DOD CAC, slot 9e thường được dùng cho “xác thực thẻ” mà không cần PIN
Thẻ dựa trên PKCS có được các ưu điểm của smartcard, tức là về lý thuyết khó trích xuất khóa hơn và có khả năng chống các tấn công kênh kề, nhưng cũng có rủi ro phổ biến là bạn phải tin rằng nhà cung cấp và đơn vị phát hành sẽ không cài APDU cửa hậu vào applet
Có lẽ không nhiều người muốn dùng FIDO2 cho kiểm soát cửa ra vào, nhưng về mặt lý thuyết thì không có lý do gì để ngăn điều đó. Chỉ cần tạo một lược đồ URI khéo léo cho từng cánh cửa và biết ở mỗi URI thì cần mong đợi khóa công khai nào cho từng danh tính là được. Tuy nhiên FIDO2 không lý tưởng vì mỗi URI sẽ cho ra một danh tính khác nhau, nên nhiều khả năng phải dùng một URI hoặc một vùng duy nhất cho toàn bộ địa điểm và triển khai kiểm tra quyền truy cập theo vùng ở từng bộ xác thực
Trên thực tế, nếu làm xác minh PKI kiểu PIV thì sẽ có được gần như toàn bộ lợi ích của FIDO2, đồng thời vẫn xử lý được việc thu hồi thẻ thông qua CRL được phân phối cho toàn hệ thống
Tò mò không biết có thể thực hiện đòn tấn công này bằng Flipper Zero hay không
Chắc là hiệu ứng Baader-Meinhof, nhưng hai ngày vừa rồi tôi cũng đang thử sao chép MIFARE Classic 1K của trường đại học
Vì thẻ sinh viên đã bị phai màu nên họ từ chối kích hoạt lại
Đây không phải kiểu lỗ hổng lý thuyết mơ hồ mà là một lỗ hổng lớn khá nghiêm trọng. Theo phần tóm tắt thì như sau
“Thông qua nghiên cứu thực nghiệm, chúng tôi đã phát hiện một cửa hậu phần cứng và giải mã thành công khóa của nó. Bất kỳ bên nào biết cửa hậu này đều có thể, chỉ với vài phút tiếp cận thẻ, xâm phạm toàn bộ các khóa do người dùng định nghĩa trên thẻ đó mà không cần kiến thức trước. Ngoài ra, trong quá trình nghiên cứu các thẻ cũ, chúng tôi cũng phát hiện thêm một khóa cửa hậu phần cứng khác tồn tại chung trên nhiều nhà sản xuất”
1 bình luận
Ý kiến trên Hacker News
Thẻ MIFARE Classic đã được biết là có lỗ hổng từ hơn 10 năm trước, và nếu làm trong ngành thẻ thì thông thường phải khuyên chuyển sang chip an toàn hơn như DESFire
Ngay trong phần mở đầu bài báo cũng viết rằng “đến năm 2024 thì ai cũng biết MIFARE Classic đã bị phá nghiêm trọng”, nên nếu vẫn còn triển khai MIFARE Classic thì gần như là tự chuốc lấy hậu quả
Giữa tháng 7 tôi hết tiền, đến mức tiền mua vé tàu về nhà dịp nghỉ hè cũng gần không đủ, nhưng nhờ MIFARE mà tôi sống cầm cự bằng sandwich từ máy bán hàng tự động được khoảng 2 tuần. Đúng là thời trẻ thật tuyệt
Nếu dùng nó như kho lưu trữ đơn giản và xử lý mã hóa/xác thực dữ liệu bằng cách khác thì không vấn đề gì. Chữ ký ECC cũng đủ nhỏ để nhét vào thẻ 2K/4K, nên tôi đã từng làm như vậy
Kiểu như tài liệu PDF đặc tả có watermark “confidential” và còn chặn cả copy-paste, như thể họ vẫn nghĩ giấu bảo mật đi thì sẽ có tác dụng
Thật ngạc nhiên là đến giờ đây vẫn còn là một vấn đề
Tôi muốn biết liệu có ai có thể giải thích đường tấn công này thật dễ hiểu không
Nếu là cửa hậu thì nghe như kiểu ai đó có thể “xâm nhập vào” RFID của tôi, nhưng RFID hầu như tắt nguồn trong phần lớn thời gian. Khi RFID được cấp nguồn, có phải host cấp nguồn cho nó cũng phải dễ tổn thương hoặc đang nằm trong một mạng đã bị xâm phạm không?
Tôi cũng chưa rõ sau đó thì có thể làm được những gì. Cửa vốn đã mở, thẻ tín dụng vốn cũng đã sẵn sàng để thanh toán. Hay là điều này chỉ có nghĩa là ai đó lướt qua ngoài đường cũng có thể sao chép thẻ của tôi?
MIFARE không chỉ có Classic mà còn có UID 32-bit và nhiều khối dữ liệu được mã hóa, mỗi khối được bảo vệ bằng khóa A và khóa B
Các hệ thống thẻ đời đầu chỉ dùng UID để xác thực, và nếu UID khớp thì được cho qua. Dĩ nhiên ai cũng có thể tạo thẻ có cùng UID, nên các hệ thống về sau bắt đầu dùng 12 trường được mã hóa để xác thực. Reader yêu cầu thẻ mã hóa một số ngẫu nhiên và thông tin nhận dạng đã lưu, và chỉ thẻ có đúng khóa mới có thể trả về đúng bản mã và số ngẫu nhiên
Xác thực dùng mã hóa khóa đối xứng. Tùy cấu hình, khóa A có thể dùng chỉ đọc hoặc đọc-ghi, hoặc A dùng để đọc và B dùng để ghi, hoặc cần cả A/B cho đọc-ghi
Ban đầu MIFARE Classic dùng mật mã độc quyền crypto-1, và vì các lý do như bộ sinh số ngẫu nhiên yếu hay va chạm, các khóa MIFARE Classic truyền thống có thể bị phá khá dễ dàng. Tuy vậy, nhờ nhiều biện pháp đối phó nên vẫn còn các khóa tăng cường chưa bị phá
Có vẻ bài báo đã tìm ra khóa A/B hard-code là A396EFA4E24F trên một thương hiệu thẻ RFID cụ thể. Tôi chỉ lướt nhanh bài báo và cũng đã lâu không đụng đến RFID nên chi tiết có thể không hoàn toàn chính xác
Dĩ nhiên họ cũng có thể trộm luôn cái thẻ, nhưng bạn sẽ nhận ra điều đó. Còn nếu họ chỉ cần có thẻ trong ví của bạn vài phút trên bàn, hoặc bộ phận IT “mượn” để mã hóa lại, hay vô số cách khác để tạm thời tiếp cận thẻ RFID, thì họ có thể dump và sao chép nó
“Có nên mua bản sao Trung Quốc của MIFARE Classic không?” có vẻ là một câu hỏi mà đáp án đã quá rõ, nhưng có lẽ đó cũng là lý do tôi vẫn chưa được thăng chức lên CISO
Có những khách hàng dùng smart card và đôi khi chúng tôi phải đọc hoặc ghi lên đó, nhưng khi onboard họ thường không biết mình đang dùng phiên bản hay đặc tả nào. Họ chỉ gửi vài chiếc thẻ gần như không có dấu hiệu nhận biết, rồi mình phải lần mò bằng thử-sai để tìm ra
Các framework quản trị rủi ro sẽ biểu diễn tác động, khả năng xảy ra và phương án ứng phó bằng tiền. Nếu bạn đưa ra vài phương án cho thấy các biện pháp giảm thiểu khác nhau ảnh hưởng thế nào đến rủi ro còn lại cuối cùng, thì cả người không chuyên kỹ thuật cũng có thể chấp nhận định hướng bảo mật của doanh nghiệp
Tất nhiên vẫn phải nói những điều cơ bản như “bảo mật là quan trọng”, “lỗ hổng là điều xấu”, “rủi ro chuỗi cung ứng cần được xử lý”. Biết càng nhiều thì những chuyện này càng mệt mỏi, ít nhất là theo kinh nghiệm của tôi. Dù vậy, tôi không phải CISO
Tôi không khuyến nghị như vậy, nhưng ở đa số công ty thì bảo mật vật lý cũng không có ngân sách vô hạn như các lĩnh vực khác
Có vẻ khả năng cao hơn là một nhà thầu do quản lý tòa nhà của một công ty sở hữu bất động sản thương mại thuê sẽ là bên quyết định
Liên kết tới bản tóm tắt thay vì PDF: https://eprint.iacr.org/2024/1275
MIFARE Classic: exposing the static encrypted nonce variant
Cryptology ePrint Archive, Paper 2024/1275
Tác giả: Philippe Teuwen
Không rõ cái này liên quan thế nào với các loại thẻ dùng PKCS hay PKI
Cũng tò mò liệu ngoài thực tế có hệ thống kiểm soát ra vào nào dùng kiểu này không, và có an toàn hơn không
Hay là cũng có thể có hệ thống kiểm soát cửa dùng FIDO2
Ví dụ, trong các đặc tả PIV như DOD CAC, slot 9e thường được dùng cho “xác thực thẻ” mà không cần PIN
Thẻ dựa trên PKCS có được các ưu điểm của smartcard, tức là về lý thuyết khó trích xuất khóa hơn và có khả năng chống các tấn công kênh kề, nhưng cũng có rủi ro phổ biến là bạn phải tin rằng nhà cung cấp và đơn vị phát hành sẽ không cài APDU cửa hậu vào applet
Có lẽ không nhiều người muốn dùng FIDO2 cho kiểm soát cửa ra vào, nhưng về mặt lý thuyết thì không có lý do gì để ngăn điều đó. Chỉ cần tạo một lược đồ URI khéo léo cho từng cánh cửa và biết ở mỗi URI thì cần mong đợi khóa công khai nào cho từng danh tính là được. Tuy nhiên FIDO2 không lý tưởng vì mỗi URI sẽ cho ra một danh tính khác nhau, nên nhiều khả năng phải dùng một URI hoặc một vùng duy nhất cho toàn bộ địa điểm và triển khai kiểm tra quyền truy cập theo vùng ở từng bộ xác thực
Trên thực tế, nếu làm xác minh PKI kiểu PIV thì sẽ có được gần như toàn bộ lợi ích của FIDO2, đồng thời vẫn xử lý được việc thu hồi thẻ thông qua CRL được phân phối cho toàn hệ thống
Tò mò không biết có thể thực hiện đòn tấn công này bằng Flipper Zero hay không
Dự kiến cuối tháng này sẽ làm được, và có thể theo dõi PR tại đây: https://github.com/flipperdevices/flipperzero-firmware/pull/...
Hiện không có khóa Classic nào để thử nên chưa xác nhận được
Khoảng 8 năm trước tôi đã dùng hướng dẫn này để lấy đồ ăn không giới hạn từ máy bán hàng tự động ở trường đại học
Đúng là thời hoàng kim
https://firefart.at/post/how-to-crack-mifare-classic-cards/
Chắc là hiệu ứng Baader-Meinhof, nhưng hai ngày vừa rồi tôi cũng đang thử sao chép MIFARE Classic 1K của trường đại học
Vì thẻ sinh viên đã bị phai màu nên họ từ chối kích hoạt lại
Đây không phải kiểu lỗ hổng lý thuyết mơ hồ mà là một lỗ hổng lớn khá nghiêm trọng. Theo phần tóm tắt thì như sau
“Thông qua nghiên cứu thực nghiệm, chúng tôi đã phát hiện một cửa hậu phần cứng và giải mã thành công khóa của nó. Bất kỳ bên nào biết cửa hậu này đều có thể, chỉ với vài phút tiếp cận thẻ, xâm phạm toàn bộ các khóa do người dùng định nghĩa trên thẻ đó mà không cần kiến thức trước. Ngoài ra, trong quá trình nghiên cứu các thẻ cũ, chúng tôi cũng phát hiện thêm một khóa cửa hậu phần cứng khác tồn tại chung trên nhiều nhà sản xuất”