본문으로 바로가기

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

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

 

Cookies 이란?

- 일부 애플리케이션은 Persistance Cookies를 생성해 cookie.binarycookies 파일에 저장함.

- cookie.binarycookies 파일에 사용자의 계정정보(ID, PW)가 평문으로 저장될 경우 유출될 가능성이 존재함.

 

대응 방법

- cookie.binarycookies 파일에 계정정보를 저장하지 말고 서버에서 세션 값을 받아와 인증하도록 설정.

- 계정정보를 저장하여 사용해야할 경우 안전한 암호화 알고리즘을 이용하여 데이터를 암호화하여야 함.

 

※ 안전한 암호화 알고리즘을 이용한 데이터 저장방법은 아래의 글을 참고.

2023.01.15 - [Mobile App 취약점 진단/iOS App 진단] - [iOS App 진단] 05강 - 저장소 내에 중요 정보 평문 저장(저장 위치)

 

[iOS App 진단] 05강 - 저장소 내에 중요 정보 평문 저장(저장 위치)

iOS 애플리케이션은 임시 데이터와 영구 데이터를 로컬 시스템(iOS 설치기기)에 저장할 수 있다. 데이터를 평문으로 저장하게 될 경우 계정 정보(ID/PW), 고객 정보, 서버 정보 등과 같은 중요 정보

hagsig.tistory.com

 

DVIA-v2 앱을 통한 실습

cookie.binarycookies 파일에 계정정보가 평문으로 저장되어 있는지 확인하기 위해 아래의 과정을 수행한다.

 

3uTools Files에서 Applications (User) 클릭 또는 탐색창에 /var/containers/Bundle/Application/ 를 입력.

DVIA-v2 폴더의 수정 시간 확인.

 

/private/var/mobile/Containers/Data/Application 에서 위에서 확인한 DVIA-v2 폴더와 수정 시간이 같은 폴더를 찾음.

 

/private/var/mobile/Containers/Data/Application/$uuid/Library/Cookies

위 경로로 이동하여 Cookies.binarycookies 파일을 선택한 다음 우클릭하여 Export 한다.

 

BinaryCookieReader.py을 이용하여 추출한 cookie.binarycookies 파일을 읽어드린다.

> python BinaryCookieReader.py [파일명]

평문으로 저장된 계정정보를 확인할 수 있다.

 

※ BinaryCookieReader.py 파일 설치방법 및 주의사항은 아래의 글 참고.

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

 

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

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

hagsig.tistory.com

 

※ BinaryCookieReader.py 설치 및 실행이 힘든 경우에는 메모장을 이용하여 cookie.binarycookies 파일을 읽어도 된다.

 

cookie.binarycookies 파일에 저장된 계정정보로 로그인이 가능한지 확인하기 위해 DVIA-v2 앱을 실행.

 

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

 

cookie.binarycookies 파일에서 알아낸 계정정보를 입력하면 Success라는 알림이 뜨며 인증 성공을 알리는 문구가 출력된다.