
스마트 안경 중 카메라가 있는 것을 탐지하는 안경. Ray-BANNED
카메라가 있는 스마트 안경을 감지하는 안경
주로 두 가지 접근법을 실험 중입니다:
지금까지 블루투스 (BLE) 기반의 특정 기기 지문 인식이 가장 쉽고 신뢰할 수 있는 접근법으로 보입니다. 아래 사진은 첫 번째 버전으로, Meta Raybans의 BLE 광고를 감지하면 젤다의 전설 '비밀 발견' 징글을 재생합니다.

본 README를 기본적으로 로그북처럼 사용하고 있어, 현재의 접근법과 아이디어를 기록할 예정입니다.
카메라 렌즈에 적외선을 쏘면, 카메라의 CMOS 센서가 빛을 다시 광원으로 직접 반사하는 특성('역반사성' / '고양이 눈 효과')을 이용해 카메라를 식별할 수 있습니다.

이는 완전히 새로운 아이디어는 아닙니다. 2005년에 일부 연구자들은 카메라가 달린 스마트폰이 인기를 얻기 시작할 무렵 이 특성을 이용해 '촬영 저항 환경'을 만들었습니다.
최근 (2024년)에는 역반사 패턴을 기반으로 개별 카메라를 분류하는 방법을 알아낸 연구도 있습니다.
이제 우리는 2005년 연구자들과 비슷한 상황에 처해 있습니다. 숨겨진 카메라가 달린 스마트 안경이 점점 더 인기를 얻고 있는 것 같습니다. 그래서 이를 식별할 수 있는 안경을 만들고 싶습니다.
안타깝게도, 제가 알기로 이 분야의 기존 연구 대부분은 카메라로 데이터를 기록한 후 ML, 수많은 통제된 각도 등을 사용하여 일반 반사 표면과 카메라를 구별합니다.
제 솔루션이 자체 카메라를 사용한다면 꽤 바보 같을 것 같습니다. 그래서 그건 피할 겁니다. 대신 '스윕'을 일관되게 유지하고 신호 데이터를 기반으로 좋은 분류기를 만드는 데 의존해야 할 것 같습니다. 예를 들어 여기서 제 스마트폰의 후면 카메라는 빠르고 큰 스파이크를 발생시키는 반면, 광택 화면은 더 긴 파형을 만드는 것을 볼 수 있습니다.


Meta Raybans를 테스트해본 결과, 이 설정만으로는 충분하지 않다는 것을 알았습니다. 다음은 카메라 영역과 렌즈를 가린 동일 영역의 스윕 테스트 결과입니다. 파형은 이전 테스트에서 본 것과 유사하지만(카메라는 짧은 스파이크, 그 외는 더 넓은 파형), 매우 일관성이 없고 신호 강도가 매우 약합니다. 이는 LED에서 약 4인치 떨어진 거리에서 측정한 것입니다. 940nm와 850nm LED를 교체해도 큰 차이를 느끼지 못했습니다.

따라서 적어도 제가 쉽게 접근할 수 있는 현재 하드웨어로는 정확히 구별하기에 충분하지 않을 것입니다.
또 다른 아이디어는 지정된 스윕 '패턴'을 만드는 것입니다. 사용자(탐지 안경을 착용한)가 대상에 대해 특정 스캔 패턴을 수행합니다. 이 데이터에서 캡처된 파형을 사용하여 레이밴을 더 정확하게 지문 인식할 수 있을지도 모릅니다. 예를 들어 대상의 안경을 '왼쪽, 오른쪽, 위, 아래' 방식으로 스윕하는 것입니다. Meta raybans와 제가 가지고 있던 에비에이터 선글라스의 결과를 비교하여 테스트했습니다. 이 접근법의 아이디어는 타당하다고 생각하지만(사실은 빛입니다), 더 많은 작업이 필요할 수 있습니다.

프로토타입 제작을 위해 다음을 사용합니다:

적외선 할 일:
처음 생각보다 더 까다롭습니다! 현재 접근법은 Meta Raybans를 Bluetooth 저에너지(BLE) 광고를 통해 지문 인식하는 것입니다. 하지만 1) 페어링 중 2) 전원 켜기 중에만 BLE 트래픽을 감지할 수 있었습니다. 때로는 케이스에서 꺼낼 때(이미 전원이 켜진 상태) 광고를 보기도 하지만 일관적이지 않습니다.

목표는 사용 중 페어링된 전화기와 통신할 때 감지하는 것이지만, 이러한 방향성 BLE 트래픽을 보려면 먼저 동기화할 통신 채널(홉 간격, 홉 증가량)에 대한 정보가 포함된 CONNECT_REQ 패킷을 봐야 합니다. 이는 nRF52840 + ble-sniffer 펌웨어로 가능하지만, 스니핑을 시작하려면 여전히 초기 연결을 봐야 한다는 사실은 변하지 않습니다.
BLE에 대한 약간의 배경 설명:
전원을 켜거나 페어링 모드로 전환하면(또는 때로는 케이스에서 꺼낼 때), 광고된 제조업체 데이터와 서비스 UUID를 통해 기기를 감지할 수 있습니다. 이는 광고 데이터의 일부입니다.
0x01AB는 Meta 특정 SIG 할당 ID(블루투스 표준 기관 할당)이며, 서비스 UUID의 0xFD5F도 Meta에 할당된 것입니다. 코드에서 지문 인식에 사용하는 다른 숫자들을 볼 수 있습니다.
블루투스 클래식(BTC) 트래픽의 경우, 안타깝게도 하드웨어가 좀 더 복잡해 보입니다(즉, 비쌉니다). 따라서 이 경로를 택하려면 더 영리한 해결책이 필요할 것입니다.
안경 전원 켜짐 시 캡처:
[01:07:06] RSSI: -59 dBm
Address: XX:XX:XX:XX:XX:XX
Name: Unknown
META/LUXOTTICA DEVICE DETECTED!
Manufacturer: Meta (0x01AB)
Service UUID: Meta (0xFD5F) (0000fd5f-0000-1000-8000-00805f9b34fb)
Manufacturer Data:
Company ID: Meta (0x01AB)
Data: 020102102716e4
Service UUIDs: ['0000fd5f-0000-1000-8000-00805f9b34fb']
네트워킹 할 일:
참고: 테스트에 사용하던 ray-bans를 현재 사용할 수 없어서 약간 막혔습니다 :(
광학 및 BLE 분야에서 조언을 해준 Trevor Seets와 Junming Chen에게 감사드립니다. 또한 테스트용 Meta Raybans를 빌려준 Sohail에게도 감사드립니다.
이 저작물은 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 4.0 국제 라이선스에 따라 이용할 수 있습니다.