이것저것/논문 리뷰

[USENIX] Charger-Surfing: Exploiting a Power Line Side-Channel for Smartphone Information Leakage

1. Introduction (Summary)

  • Charger Surfing: touch screen을 타겟으로 하여 powerline을 통한 side-channel 유출에 의한 새로운 보안 위협
  • 특히 공공시설에서의 USB 충전기는 사용자가 관리할 수 없는 것이기 때문에 특히 보안 위협에 노출되기 좋다.
  • 데이터라인(dataline)을 통해 전송되는 데이터를 전력선에서의 crosstalk 유출에 의해 탈취 혹은 감시할 수 있다.
  • 공격자는 전력선(powerline)에서 전력 소비 정보를 추출해 인터넷 검색 기록, 비밀번호 길이 등의 구체적인 정보를 추론해낼 수 있다.  
  • 충전할 때의 power trace를 통해 충전 중 사용자의 기기의 touchscreen에서 특정 번호를 입력하는 경우, 해당 번호들을 인식하고 입력한 passcode를 알아낸다.

 

2. Threat Model & Background

2.1. Threat Model

  • 공공 시설에서 사용되는 usb charger를 통해 사용자의 정보를 추출
  • charger surfing을 통해 유출시킬 수 있는 정보 = touch screen을 통해 사용자가 입력하는 내용 (ex. passcode, credit card number, banking information)
  • 그 중에서도 “passcode-based lock”을 해제하는 것을 논문의 목표로 설정

2.2. USB Charging

  • Standard USB plugins: 4 pins + 1 shield

2.3. LCD/OLED Touch Screen

  • LCD: a backlight + filters + liquid crystals

  • 최대 전압 → crystal: 수평 정렬 → 빛 모두 차단 ⇒ black (검정색) 표현
  • 최저 전압 → crystal: 수직 정렬 → 빛 모두 통과 ⇒ white (하얀색) 표현 

 

  • OLED: 유기 분자를 이용해 구멍을 생성하고 전자를 이용해 발광층에 빛을 생성

  • 최저 전원 → black pixel 표현
  • 최고 전원 → white pixel 표현

 

⇒ LCD와 OLED는 색을 표현하는 방식이 반대이기 때문에 분석할 때 해당 기기의 display 방식이 LCD 방식인지, OLED 방식인지 (혹은 그 외의 방법인지) 미리 확인해야한다.

2.4. Animations on the Touchscreen

  • animation
    사용자가 데이터를 입력할 수 있도록 그래픽 인터페이스를 제공하고, 입력이 제대로 등록되었음을 animation을 통해 사용자에게 알린다.
  • 대부분 “static screen”에서 이러한 animation이 작동하고, 스크린의 고정된 위치에서 발생한다.

 

3. Power Line Leakage Exploration

실험 결과를 보여주고, 특히 데이터 유출 패턴을 강조하면서 스마트폰의 배터리 상태가 side-channel에 어떠한 감쇠효과를 일으키지 않음을 보여준다.

3.1. Button Press Detection

  • 오실리스코프와 충전 케이블 설정을 통해 스마트폰을 충전하는 동안의 USB 케이블 신호를 관찰한다.
    → 사용자가 화면을 터치하고 비밀번호를 누를 때, 각 버튼을 누를 때마다 분명한 업다운을 보인다

3.2. Button Press Location Identification

  • 버튼이 눌릴 때 전압이 쭉 오른다.
  • 비슷해보이는 신호들을 구분하고 전력 유출을 통해 애니메이션의 위치를 추출하는 것이 중요하다.

3.3. Impact of Battery Charging

  • ‘스마트폰 배터리의 상태가 전력 사이드 채널에서 어떠한 감쇠효과를 일으키지는 않는지’가 중요하다.

 

4. Sensitive Information Interface

Charger surfing에 의한 보안 위협을 탐지하는 과정

 

  1. Raw Signals Acquisition
    USB charger에 미리 몰래 전압 모니터를 부착해두고 USB charger를 이용해 충전하는 동안의 신호들을 수집한다.
  2. Button Sequence Detection
    1번 과정을 통해 알아낸 power trace를 가공해 버튼을 누를 때마다의 신호를 따로 분리한다.
  3. Individual Button Isolation
    step2에서는 버튼을 누르는 동작에 대한 신호를 분리했다면, step3에서는 각 버튼들에 대한 신호를 구분한다.
  4. Phone Detection
    핸드폰의 기종을 탐지하는 것을 목표로 한다. 이 과정에서 각 버튼을 누를 때 마다 구별된 신호로 훈련된 신경망(? 중심 네트워크?)를 활용한다.
  5. Signal Preprocessing
    핸드폰의 기종을 알아낸 후, 해당 기종의 특성에 따라 전원 신호를 스케일링하고 표준화 한다.
  6. Animation Inference
    미리 처리된 전원 신호들은 피해자가 장치에 입력하는 멀티 프레스 시퀀스를 재구성하기 위해 해당 기종의 장치에 대해 훈련된 신경망으로 전송된다.



5. 개인적인 생각

# usb charging으로 smart  phone의 정보를 leak 했는데, 최근에는 C-type 충전기로 노트북과 스마트폰의 충전기 포트가 같아졌다. 그렇다면 smartphone의 정보를 leak하는 것을 넘어서 노트북의 정보(ex. keyboard 정보, 노트북 touch screen 등)를 leak할 수 있지 않을까?

 

# banking 앱과 같이 민감한 정보를 입력할 때는 키보드 배열을 바꾸는 경우도 많은데, 이러한 경우에도 passcode 를 leak할 수 있는 것인가?

 

SMALL