Plist 파일
- 앱에 필요한 앱 설정 데이터를 모아놓은 파일 (Property List)
- ‘표준 데이터 타입’을 저장하는 데 사용. (integer, string, 등)
- 개발자들이 실수로
plist
파일에 민감한 정보를 저장하기도. 자격정보(credential)
와 같은 평문으로 저장해서는 안 되는 내용- 애플리케이션의 작동 방식을 바꿀 수 있는 정보
- 비활성화 시킨 결제 기능 활성화 등
- 공격자는 쉽게 이 정보를 확인 가능하므로 주의 필요.
형태 2가지
바이너리
: Plist의 포맷은 기본적으로binary
이나,
XML
:plutil
툴로xml
형식으로 바꾸거나 xcode로 열어 읽기 쉽게 볼 수 있음.
Plist 파일에 값 쓰기
NSUserDefaults
API (대부분)
NSPreferences
API (드물게)
끔찍한 상황
예시 1)
- API 함수로 민감정보를 평문으로 plist에 기록하는 것도 문제지만,
- 자격증명으로 사용하는 끔찍한 순간부터 보자.

Credential.plist
에서 key로 값 불러와 입력 값과 비교하는 모습
예시 2)
중요정보를 사용하기 쉽다는 이유로 plist에 저장하면 안된다.


NSUserDefaults
preferences
를 커스터마이징 하는 데 사용되는 함수 (plist파일)
- 개발자들이 민감정보를 저장하는데 사용하는 실수를 하기도 함.

