본문으로 바로가기

부채널을 통한 데이터 유출 이란?

- 부채널 데이터 유출(Side Channel Data Leakage)이란 앱의 주기능이 아닌 제삼의(Side) 기능으로  중요정보가 유출되는 것을 말함.

 

Pasteboard 이란?

- 붙여넣기보드(Pasteboard)란 PC의 클립보드(Clipboard)와 같이 앱 내에서 복사한 데이터를 Pasteboard 버퍼에 저장되고, 버퍼에 저장된 데이터를 불러올 수 있음.

- 다른 애플리케이션에서도 Pasteboard 버퍼에 접근하여 저장된 데이터를 가져올 수 있으므로, 복사한 중요 또는 개인정보가 Pasteboard 버퍼에 저장되어 있을 경우 다른 애플리케이션에서 이를 가져와 데이터를 유출할 수 있음.

예시) Pasteboard 버퍼에 저장된 데이터를 수집하는 악성 앱이 백그라운드에서 동작중인 환경에서 앱을 사용할 경우, 사용자가 앱 내에서 복사한 중요 또는 개인정보가 외부로 유출될 수 있음.

 

대응 방안

- 중요 정보를 다루는 곳에서는 Custom Pasteboard 또는 가상 키패드를 사용.
- 중요 정보가 Pasteboard 버퍼에 저장되지 않도록 중요 정보를 복사할 수 없도록 조치.

  예시1). 텍스트 복사 기능을 제공하지 않는 컨트롤로 중요 정보를 표시.

  예시2). 텍스트 필드를 Secure로 설정하여 복사가 안되게 함.

 

DVIA-v2 앱을 통한 실습

앱 내에서 복사한 중요 정보가 Pasteboard 버퍼에 저장되는지 확인하기 위해 DVIA-v2 앱을 실행.

 

메인메뉴 좌측 상단 메뉴 클릭 > Side Channel Data Leakage 클릭 > Pasteboard 클릭

 

가상의 신용카드 정보 입력 > 복사할 데이터 선택 > Copy 클릭

 

Pasteboard 버퍼에 저장된 데이터를 확인하기 위해선 Frida와 pasteboard-monitoring.js 파일이 필요하다.

Frida 설치 및 pasteboard-monitoring.js 파일 다운로드 방법은 아래의 글을 참고.

2022.06.28 - [Mobile App 취약점 진단/iOS App 진단] - [iOS App 진단] 03강 - 진단 도구 설치

 

[iOS App 진단] 03강 - 진단 도구 설치

1. Cydia(시디아) - 탈옥을 성공하면 자동으로 설치되며, 앱 스토어에서 지원하지 않는 앱을 다운로드할 수 있다. - iOS가 지원하지 못하는 기능을 Cydia를 이용하여 설치할 수 있는데 이를 Tweak(트윅)

hagsig.tistory.com

 

아래의 명령어를 입력하여 pasteboard 버퍼에 저장된 데이터를 읽어옴.

 

명령어 1. 디바이스에서 실행중인 애플리케이션 정보 확인, 앱 이름(Name) 확인.

> frida-ps -Ua

 

명령어 2. pasteboard-monitoring.js 파일을 대상 앱에 실행시킴.

> firda -U -l [파일 명] [앱 이름]

예시) frida -U -l pasteboard-monitoring.js DVIA-v2

 

오류 해결방법

위 과정을 수행하던 도중 오류(Error)가 발생했다면, 아래의 게시글을 참고하여 해결하길 바란다.

2023.02.05 - [Mobile App 취약점 진단/iOS App 진단] - 프리다(Frida) 관련 오류 해결방법 정리 - iOS

 

프리다(Frida) 관련 오류 해결방법 정리 - iOS

iOS App진단을 위해서는 프리다(Frida) 설치 및 실행은 필수이다. 하지만 각종 에러가 발생하며 프리다가 동작하지 않는 경우가 아주 많다. 아래는 필자가 격은 오류 및 해결방법을 정리한 것이니

hagsig.tistory.com