- 보안 연구팀이 공개한 Unsaflok은 Dormakaba Saflok RFID 호텔 잠금장치 여러 모델을 몇 초 안에 열 수 있어, 호텔 객실 출입 통제 자체의 신뢰를 흔듦
- 영향 범위는 전 세계 131개국 13,000개 숙박시설의 300만 개 문이며, 취약점은 Dormakaba 암호화와 MIFARE Classic RFID 약점을 함께 이용함
- 공격자는 같은 호텔의 키카드 1장을 확보한 뒤 $300 RFID 장치로 코드를 읽고, 직접 만든 카드 2장을 차례로 탭해 잠금장치 데이터를 바꾸고 문을 엶
- 연구팀은 2022년 11월 Dormakaba에 세부사항을 공유했지만, 2024년 3월 기준 설치된 Saflok 중 36%만 업데이트됐고 오래된 설치는 수정에 몇 달에서 몇 년이 걸릴 수 있음
- 투숙객은 NFC Taginfo 앱으로 키카드가 여전히 MIFARE Classic인지 확인할 수 있으며, 취약 가능성이 있으면 객실 내 귀중품 보관을 피하고 안에 있을 때는 문 체인을 거는 편이 안전함
Unsaflok 기법과 영향 범위
- 보안 연구자 Ian Carroll, Lennert Wouters와 팀은 Unsaflok이라는 호텔 키카드 해킹 기법을 공개함
- 이 기법은 스위스 잠금장치 제조사 Dormakaba가 판매한 Saflok 브랜드 RFID 기반 키카드 잠금장치 여러 모델을 거의 즉시 열 수 있게 함
- Saflok 시스템은 전 세계 300만 개 문, 13,000개 숙박시설, 131개국에 설치돼 있음
- 연구는 2022년 Las Vegas의 비공개 행사에서 호텔 객실 기기들을 해킹해보는 과정에서 시작됐고, 연구팀은 객실 문 잠금장치에 집중함
공격 방식: 키카드 1장과 두 번의 탭
- 공격자는 목표 호텔의 어떤 키카드든 1장을 먼저 확보해야 함
- 해당 호텔 객실을 예약하거나, 사용된 키카드가 담긴 상자에서 카드를 얻는 방식이 예시로 제시됨
- 만료된 키카드도 같은 호텔의 카드라면 조건을 충족함
- 이후 $300짜리 RFID 읽기/쓰기 장치로 카드에서 특정 코드를 읽고, 자체 키카드 2장을 작성함
- 첫 번째 카드는 잠금장치의 특정 데이터를 다시 씀
- 두 번째 카드는 문을 엶
- Wouters에 따르면 두 카드를 빠르게 탭하는 것만으로 문이 열리며, 이 방식은 호텔의 모든 문에서 작동함
- 최종 공격에는 Proxmark RFID 읽기/쓰기 장치와 빈 RFID 카드 2장이면 충분함
- Android 휴대폰이나 Flipper Zero도 신호를 연속으로 내보내는 데 사용할 수 있음
취약점의 기술적 구성
- Unsaflok은 두 종류의 취약점을 결합함
- 키카드에 데이터를 쓸 수 있게 하는 취약점
- 어떤 데이터를 써야 Saflok 잠금장치를 속여 열 수 있는지 알아내는 취약점
- Saflok 키카드는 MIFARE Classic RFID 시스템을 사용함
- 이 시스템은 10년 넘게 알려진 취약점이 있으며, 공격자가 키카드에 쓸 수 있음
- 기존 무차별 대입 과정은 최대 20초가 걸릴 수 있음
- 연구팀은 Dormakaba 자체 암호화 시스템의 일부인 키 파생 함수를 깨서 카드에 훨씬 빠르게 쓸 수 있게 함
- 이 단계만으로는 Saflok 키카드를 마음대로 복사할 수 있지만, 다른 객실용 카드를 생성할 수는 없음
- 더 중요한 단계는 Dormakaba가 호텔에 배포하는 잠금장치 프로그래밍 장치와 프런트 데스크 키카드 관리 소프트웨어를 확보해 역공학한 부분임
- 연구팀은 카드에 저장된 데이터 구조를 이해함
- 호텔별 속성 코드와 각 객실별 코드를 추출함
- Dormakaba 시스템처럼 값을 만들고 암호화해, 숙박시설 내 모든 객실을 여는 마스터 키처럼 동작하는 카드를 위조할 수 있게 됨
수정 현황과 배포 지연
- Carroll과 Wouters는 2022년 11월 Dormakaba에 해킹 기법의 전체 기술 세부사항을 공유함
- Dormakaba는 2023년 초부터 Saflok을 사용하는 호텔에 보안 결함을 알리고, 취약한 잠금장치를 수정하거나 교체하도록 돕고 있다고 밝힘
- 최근 8년 동안 판매된 많은 Saflok 시스템은 각 잠금장치의 하드웨어를 교체할 필요가 없음
- 호텔은 프런트 데스크 관리 시스템을 업데이트하거나 교체해야 함
- 기술자가 문마다 잠금장치를 비교적 빠르게 다시 프로그래밍해야 함
- 연구팀은 Dormakaba로부터 2024년 3월 기준 설치된 Saflok 중 36%만 업데이트됐다고 들음
- 잠금장치가 인터넷에 연결돼 있지 않고, 일부 오래된 잠금장치는 하드웨어 업그레이드가 필요해 전체 수정 배포에는 최소 몇 달이 더 걸릴 수 있음
- 일부 오래된 설치는 몇 년이 걸릴 수 있음
- Dormakaba는 즉각적인 완화책과 장기 해결책을 구현하기 위해 파트너들과 긴밀히 협력했다고 밝혔지만, “즉각적인 완화책”의 세부 내용은 공개하지 않음
공개 제한과 투숙객 확인 방법
- 연구팀은 공격의 일부 세부사항을 의도적으로 공개하지 않음
- 첫 번째 카드가 목표 객실의 고유 식별자를 추측하지 않고도 문을 열 수 있게 한다는 점만 밝힘
- 예비 침입자나 절도범에게 너무 명확한 절차를 제공하지 않기 위해 해당 요소를 비공개로 유지함
- 이는 2012년 Black Hat에서 공개된 Onity 호텔 키카드 해킹 사례와 대비됨
- 당시 공개는 누구나 Onity 잠금장치 1,000만 개를 여는 장치를 만들 수 있을 정도로 자세했음
- Onity가 하드웨어 업그레이드 비용을 부담하지 않고 고객에게 책임을 넘기면서 많은 호텔에서 문제가 남았고, 이후 적어도 한 건의 장거리 절도 사건에 악용됨
- 연구팀은 Dormakaba의 수정을 돕는 것과 투숙객에게 위험을 알리는 것 사이의 중간 지점을 택하려 함
- 투숙객은 취약한 잠금장치를 대체로 알아볼 수 있음
- 흔한 외형은 물결선이 지나가는 둥근 RFID 리더 디자인임
- 다만 이 디자인만으로 항상 식별할 수 있는 것은 아님
- 객실 문에 Saflok이 있다면 NXP의 NFC Taginfo 앱으로 키카드를 확인할 수 있음
- 잠금장치가 Dormakaba 제품이고 앱에서 키카드가 여전히 MIFARE Classic으로 표시되면, 여전히 취약할 가능성이 큼
- 취약한 경우 투숙객이 할 수 있는 일은 제한적임
- 객실에 귀중품을 두지 않는 것이 권장됨
- 객실 안에 있을 때는 문 체인을 걸어야 함
- 객실 데드볼트도 키카드 잠금장치가 제어하므로 별도 보호책이 되지 않음
- Dormakaba는 연구팀의 기법이 과거에 사용됐다는 사실을 알지 못한다고 밝혔지만, 연구팀은 이것이 은밀한 사용 가능성을 배제하지는 않는다고 봄
- Saflok 브랜드는 30년 넘게 판매됐고, 연구팀은 취약점이 오랫동안 존재했을 가능성이 크다고 판단함