부채널을 통한 데이터 유출 이란?
- 부채널 데이터 유출(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강 - 진단 도구 설치
아래의 명령어를 입력하여 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
'Mobile App 취약점 진단 · 모의해킹 > iOS App 취약점 진단 · 모의해킹' 카테고리의 다른 글
[iOS 취약점 진단] 06강 - 부채널을 통한 데이터 유출(Cookies) (0) | 2023.02.12 |
---|---|
[iOS 취약점 진단] 06강 - 부채널을 통한 데이터 유출(Keystroke logging) (0) | 2023.02.12 |
[iOS 취약점 진단] 06강 - 부채널을 통한 데이터 유출(App Screenshot) (0) | 2023.02.12 |
[iOS 취약점 진단] 06강 - 부채널을 통한 데이터 유출(Device Logs) (0) | 2023.02.12 |
프리다(Frida) 관련 오류 해결방법 정리 (0) | 2023.02.05 |