Excessive Permissions

justugi·2024년 7월 8일
0

DVIA

목록 보기
3/11

주의사항 : 이 포스팅은 개인 학습 및 교육적 목적으로 작성되었으며, 제공하는 정보를 악용하여 불법적인 행위를 하는 것은 엄격히 금지되어 있습니다. 타인의 시스템에 대한 접근 권한을 얻기 위해 명시적인 동의를 받아야 하며, 이러한 기술을 사용하여 발생하는 모든 결과에 대한 책임은 사용자에게 있습니다.

Excessive Permissions

: 과도한 권한 또는 불필요한 권한 취약점은 앱 권한을 잘못 사용할때 발생하는 취약점이다.

  • 앱은 접근 권한이 필요한 UsageDescription 키를 Info.plist 파일에 저장한다.
  • Info.plist 파일에 저장된 UsageDescription 키에 대한 접근 권한이 필요한 경우, 시스템에서 앱 대신 권한을 요청한다.

※ UsageDescription 키 종류

분류항목설명
블루투스 (Bluetooth)NSBluetoothAlwaysUsageDescription앱이 블루투스에 액세스해야 하는 이유를 사용자에게 알려주는 메시지
NSBluetoothPeripheralUsageDescription앱이 Bluetooth 주변 장치에 연결하는 기능을 요청하는 이유를 사용자에게 알려주는 메시지
일정 및 미리 알림 (Calendar and reminders)NSCalendarsUsageDescription 앱이 사용자의 일정 데이터에 대한 액세스를 요청하는 이유를 사용자에게 알려 주는 메시지
NSRemindersUsageDescription앱이 사용자의 미리 알림에 대한 액세스를 요청하는 이유를 사용자에게 알려주는 메시지
카메라 및 마이크 (Camera and microphone)NSCameraUsageDescription앱이 장치의 카메라에 대한 액세스를 요청하는 이유를 사용자에게 알려 주는 메시지
NSMicrophoneUsageDescription앱이 장치의 마이크에 대한 액세스를 요청하는 이유를 사용자에게 알려 주는 메시지
연락처 (Contacts)NSContactsUsageDescription앱이 사용자의 연락처에 대한 액세스를 요청하는 이유를 사용자에게 알려 주는 메시지
얼굴 인식 (Face ID)NSFaceIDUsageDescription앱이 Face ID로 인증하는 기능을 요청하는 이유를 사용자에게 알려주는 메시지
파일 및 폴더 (Files and folders)NSDesktopFolderUsageDescription앱이 사용자의 데스크톱 폴더에 액세스해야 하는 이유를 사용자에게 알려 주는 메시지
NSDocumentsFolderUsageDescription앱이 사용자의 문서 폴더에 액세스해야 하는 이유를 사용자에게 알려 주는 메시지
NSDownloadsFolderUsageDescription앱이 사용자의 다운로드 폴더에 액세스해야 하는 이유를 사용자에게 알려 주는 메시지
NSNetworkVolumesUsageDescription앱이 네트워크 볼륨의 파일에 액세스해야 하는 이유를 사용자에게 알려 주는 메시지
NSRemovableVolumesUsageDescription앱이 이동식 볼륨의 파일에 액세스해야 하는 이유를 사용자에게 알려 주는 메시지
NSFileProviderDomainUsageDescription앱이 파일 공급자가 관리하는 파일에 액세스해야 하는 이유를 사용자에게 알려 주는 메시지
게임 센터 (Game center)NSGKFriendListUsageDescription앱이 Game Center 친구 목록에 액세스해야 하는 이유를 사용자에게 알려주는 메시지
건강 (Health)NSHealthClinicalHealthRecordsShareUsageDescription앱이 임상 기록을 읽을 수 있는 권한을 요청한 이유를 설명하는 사용자에게 보내는 메시지
NSHealthShareUsageDescription앱이 HealthKit 스토어에서 샘플을 읽을 수 있는 권한을 요청한 이유를 설명하는 사용자에게 보내는 메시지
NSHealthUpdateUsageDescription앱이 HealthKit 스토어에 샘플을 저장할 수 있는 권한을 요청한 이유를 설명하는 사용자에게 보내는 메시지
홈 (Home)NSHomeKitUsageDescription앱이 사용자의 HomeKit 구성 데이터에 대한 액세스를 요청하는 이유를 사용자에게 알려주는 메시지
위치 (Location)NSLocationAlwaysAndWhenInUseUsageDescription앱이 항상 사용자의 위치 정보에 대한 액세스를 요청하는 이유를 사용자에게 알려주는 메시지
NSLocationUsageDescription앱이 사용자의 위치 정보에 대한 액세스를 요청하는 이유를 사용자에게 알려 주는 메시지
NSLocationWhenInUseUsageDescription앱이 포그라운드에서 실행되는 동안 앱이 사용자의 위치 정보에 대한 액세스를 요청하는 이유를 사용자에게 알려 주는 메시지
NSLocationAlwaysUsageDescription앱이 항상 사용자 위치에 대한 액세스를 요청하는 이유를 사용자에게 알려주는 메시지
미디어 플레이어 (Media Player)NSAppleMusicUsageDescription앱이 사용자의 미디어 라이브러리에 대한 액세스를 요청하는 이유를 사용자에게 알려 주는 메시지
움직임 (Motion)NSMotionUsageDescription앱이 장치의 동작 데이터에 대한 액세스를 요청하는 이유를 사용자에게 알려주는 메시지
NSFallDetectionUsageDescription낙상 감지 이벤트 데이터에 액세스할 수 있는 권한에 대한 앱의 요청을 설명하는 사용자에게 보내는 메시지
네트워킹 (Networking)NSLocalNetworkUsageDescription앱이 로컬 네트워크에 대한 액세스를 요청하는 이유를 사용자에게 알려 주는 메시지
NSNearbyInteractionUsageDescription주변 장치와의 상호 작용 세션을 시작하기 위한 사용자에게 권한 요청을 보내는 메시지
NSNearbyInteractionAllowOnceUsageDescription주변 장치와의 상호 작용 세션을 시작하기 위한 사용자 권한에 대한 일회성 권한 요청을 보내는 메시지
NFCNFCReaderUsageDescription앱이 장치의 NFC 하드웨어에 대한 액세스를 요청하는 이유를 사용자에게 알려 주는 메시지
사진 (Photos)NSPhotoLibraryAddUsageDescription앱이 사용자의 사진 라이브러리에 대한 추가 전용 액세스를 요청하는 이유를 사용자에게 알려 주는 메시지
NSPhotoLibraryUsageDescription앱이 사용자의 사진 라이브러리에 대한 액세스를 요청하는 이유를 사용자에게 알려 주는 메시지
보안 (Security)NSUserTrackingUsageDescription앱이 사용자 또는 장치를 추적하기 위해 데이터를 사용할 수 있는 권한을 요청하는 이유를 사용자에게 알리는 메시지
NSAppleEventsUsageDescription앱이 Apple 이벤트를 보내는 기능을 요청하는 이유를 사용자에게 알려 주는 메시지
NSSystemAdministrationUsageDescription앱이 시스템 구성 조작을 요청하는 이유를 사용자에게 알려주는 macOS의 메시지
센서 (Sensors)NSSensorKitUsageDescription앱 연구 조사의 목적에 대한 간단한 설명
시리 (Siri)NSSiriUsageDescription앱이 Siri에게 사용자 데이터를 보내도록 요청하는 이유를 사용자에게 알려주는 메시지
음성 (Speech)NSSpeechRecognitionUsageDescription앱이 Apple의 음성 인식 서버로 사용자 데이터를 보내도록 요청하는 이유를 사용자에게 알려주는 메시지
TVNSVideoSubscriberAccountUsageDescription앱이 사용자의 TV 제공업체 계정에 대한 액세스를 요청하는 이유를 사용자에게 알려주는 메시지
지갑 (Wallet)NSIdentityUsageDescription앱이 ID 정보를 요청하는 이유를 사용자에게 알려 주는 메시지

  • CAMERA PERMISSION 터치 - 카메라 권한 요청

  • /private/var/mobile/Containers/Data/Application/$uuid/DVIA-v2.app 경로 - Info.plist 파일 - Usage 검색 → NSCameraUsageDescription 를 사용함을 알 수 있다.

대응방안

  • 주어진 권한이 앱에서 반드시 필요한 것인지 확인 후, 불필요하거나 과도한 권한일 경우 삭제한다.
  • 해당 권한을 왜 사용하여야 하는지 문구를 상세히 작성한다.

출처
https://hagsig.tistory.com/161

profile
IT 보안, 관심 있는 것을 공부합니다.

0개의 댓글

관련 채용 정보