보안 면접 질문
Keychain·ATS·인증서 피닝·생체인증·난독화·앱 보호. 실제 iOS 면접에서 나온 40문항입니다.
- 보안주관식
코드 서명과 앱 무결성
iOS 앱은 왜 반드시 코드 서명이 되어야 실행되나요? 보안 관점에서 서명이 무엇을 보장하는지 중심으로 설명해 주세요.
#code-signing #integrity #entitlements #provisioning
- 보안객관식
Keychain 접근 속성
다른 기기로 백업 복원해도 옮겨지지 않고, 기기가 잠금 해제된 상태에서만 읽을 수 있게 Keychain 항목을 저장하려 합니다. 알맞은 kSecAttrAccessible 값은?
#keychain #accessibility #backup
- 보안주관식
탈옥 환경 대응
탈옥된 기기에서 우리 앱은 무엇을 잃게 되나요?
#jailbreak #threat-model #policy
- 보안객관식
비밀 하드코딩
iOS 앱 소스에 있는 다음 코드의 보안 문제에 대한 설명으로 가장 정확한 것은? [코드]
#api-key #secrets #hardcoding
- 보안주관식카카오
암호화 기초
암호화에서 대칭키·비대칭키·해시는 각각 언제 쓰이나요?
#cryptokit #aes #rsa #hash
- 보안객관식
HTTPS의 보장 범위
앱이 모든 통신을 HTTPS로 한다고 할 때, 그것만으로 보장되지 않는 것은?
#https #tls #threat-model
- 보안주관식
App Transport Security
레거시 파트너 API가 아직 HTTP만 지원해서 앱 요청이 실패합니다. 요청을 막고 있는 ATS는 무엇인가요?
#ats #https #tls #info-plist
- 보안객관식
인증서 피닝
리프 인증서의 SHA-256 해시를 앱에 하드코딩해 피닝한 앱이 있습니다. 서버가 인증서를 갱신했을 때 가장 먼저 일어나는 일은?
#ssl-pinning #rotation
- 보안주관식
생체인증
다음 코드로 Face ID 인증에 성공하면 isUnlocked = true를 세팅해 송금 화면을 엽니다. 이 방식의 보안상 약점은 무엇인가요? [코드]
#localauthentication #faceid #touchid #biometrics
- 보안객관식
탈옥 감지
앱에서 탈옥(jailbreak) 여부를 추정할 때 실제로 사용되는 휴리스틱을 모두 고르세요.
#jailbreak #detection
- 보안객관식
CryptoKit
CryptoKit에서 암호화와 동시에 변조 감지(인증)를 제공하는 AEAD 방식의 API를 모두 고르세요.
#cryptokit #aead #aes-gcm #chachapoly
- 보안주관식
화면 노출 방지
계좌 화면을 보다가 홈으로 나가면 앱 스위처에 잔액이 그대로 보인다는 QA 리포트를 받았습니다. 어떻게 처리하나요?
#snapshot #app-switcher #screenshot #screen-recording
- 보안객관식
WKWebView 보안
WKScriptMessageHandler로 웹 페이지가 네이티브 함수(예: 토큰 조회, 결제 열기)를 호출할 수 있게 브릿지를 만들었습니다. 안전하게 운영하기 위해 필요한 조치를 모두 고르세요.
#wkwebview #javascript-bridge #xss #webview
- 보안주관식Apple커뮤니티 전언
iOS 앱 보안 체크리스트
새 프로젝트를 시작하는 팀에게 iOS 앱 보안 모범 사례를 우선순위대로 정리해 준다면 무엇을 넣겠습니까?
#best-practices #checklist #owasp-masvs
- 보안객관식
Keychain 잔존 데이터
사용자가 앱을 삭제하고 재설치했는데 이전 계정으로 자동 로그인되는 버그가 보고되었습니다. 원인과 표준적인 대응은?
#keychain #reinstall #logout #first-launch
- 보안객관식Tencent
하이브리드 암호화
HTTPS(TLS)는 왜 서버의 공개키(RSA/ECC)로 데이터 전체를 암호화하지 않고, 대칭키만 교환한 뒤 데이터는 대칭 암호(AES 등)로 보내나요? 가장 정확한 설명을 고르세요.
#https #tls #rsa #aes
- 보안객관식ByteDance
프록시 도구의 HTTPS 복호화
Charles·Proxyman 같은 도구로 앱의 HTTPS 요청 본문을 평문으로 볼 수 있으려면 어떤 조건이 필요한가요? 해당하는 것을 모두 고르세요.
#charles #proxy #mitm #certificate
- 보안객관식PhonePe
앱 간 Keychain 공유
두 iOS 앱이 Keychain 데이터를 서로 읽고 쓰려고 합니다. 이것이 가능하려면 무엇이 필요한가요? 맞는 것을 모두 고르세요.
#keychain #access-group #entitlements #app-group
- 보안주관식넥슨커뮤니티 전언
인앱결제 흐름과 검증
모바일 게임의 앱 내 결제(아이템 구매)가 사용자 탭부터 서버에 아이템이 지급되기까지 어떤 과정을 거치나요?
#storekit #iap #receipt #verification
- 보안객관식JPMorgan Chase커뮤니티 전언
자격증명 저장 위치
로그인 후 받은 API 토큰과 사용자 자격증명을 기기에 보관해야 합니다. 보안상 허용되는 저장 방식을 모두 고르세요.
#keychain #credentials #token #storage
- 보안주관식
인증서 피닝
인증서 피닝(SSL pinning)을 iOS에서 어떻게 구현하나요?
#ssl-pinning #certificate #public-key #urlsession
- 보안주관식
보안과 편의성 균형
금융 앱에서 보안 요구사항과 사용자 편의성이 충돌할 때 어떤 기준으로 결정하겠습니까? 예: 세션 유지 시간, 재인증 빈도, 화면 캡처 차단.
#fintech #ux #threat-model #session
- 보안주관식
OAuth 로그인 흐름
소셜 로그인을 WKWebView 안에서 로그인 페이지를 띄워 처리하는 PR이 올라왔습니다. 왜 이 방식이 권장되지 않나요?
#oauth #pkce #aswebauthenticationsession #wkwebview
- 보안주관식
토큰 수명 관리
앱이 액세스 토큰과 리프레시 토큰을 Keychain에 두고 401이 오면 갱신합니다. 여러 요청이 동시에 401을 받았을 때 리프레시가 중복 실행되는 문제를 어떻게 막나요?
#access-token #refresh-token #keychain #401
- 보안객관식
Privacy Manifest 와 Required Reason API
App Store 심사에서 ITMS-91053: Missing API declaration 경고를 받았습니다. Privacy Manifest·Required Reason API·ATT 에 대한 설명으로 옳은 것을 모두 고르세요.
#privacy-manifest #required-reason-api #app-tracking-transparency #privacy
- 보안객관식
Secure Enclave
CryptoKit 의 SecureEnclave.P256.Signing.PrivateKey로 만든 키에 대한 설명으로 옳은 것을 모두 고르세요.
#secure-enclave #cryptokit #private-key
- 보안주관식
로그·SDK를 통한 정보 유출
크래시 리포트를 보다가 사용자 이메일과 토큰이 로그 메시지에 그대로 찍혀 있는 것을 발견했습니다. 로그·크래시·분석 SDK를 통한 개인정보 유출을 막기 위해 어떻게 설계하겠습니까?
#logging #pii #crashlytics #analytics
- 보안주관식Alibaba Group
패밀리 앱 간 로그인 상태 공유
한 회사의 앱 여러 개(메인 앱, 결제 앱, 클라우드 앱)가 한 번 로그인하면 서로 로그인 상태를 공유해야 합니다. iOS에서 이걸 어떻게 구현하나요?
#keychain #access-group #session #logout
- 보안주관식Alibaba Group
웹 페이지 하이재킹 대응
앱 안의 WKWebView로 띄운 이벤트 페이지에 통신사·공유기 광고가 끼워져 나오거나 엉뚱한 사이트로 넘어간다는 신고가 들어왔습니다. 어떤 종류의 공격인가요?
#hijacking #dns #https #wkwebview
- 보안주관식Alibaba Group
세션 토큰 탈취와 위장
로그인 후 서버가 준 토큰을 모든 요청의 헤더에 실어 보냅니다. 면접관이 "그 토큰은 언제 만들어지고 언제 만료되는지" 묻습니다. 어떻게 답하겠습니까?
#token #session #replay #device-binding
- 보안주관식Baidu
요청 서명과 변조 탐지
앱과 서버 사이의 통신 프로토콜을 직접 설계한다면, 전송 중에 내용이 바뀌었다는 것을 서버가 어떻게 알아챌 수 있게 하겠습니까? HTTPS를 이미 쓰고 있다는 전제입니다.
#hmac #signature #nonce #timestamp
- 보안주관식Meituan
피닝과 키 로테이션
앱이 서버 공개키를 피닝하고 있는데, 보안 정책상 서버 인증서와 키가 주기적으로 교체됩니다. 교체 직후 옛 버전 앱 사용자들이 전부 접속 불가가 되는 사고를 막으려면 클라이언트는 새 공개키를 어떻게 알게 하나요?
#pinning #certificate #public-key #rotation
- 보안주관식Shopee
HTTPS의 한계와 앱 측 방어
HTTPS를 쓰면 통신이 절대 안전하다고 할 수 없는 이유로, HTTPS 환경에서도 성립하는 대표적인 공격 방식을 들어 주세요.
#https #tls #attack #dns
- 보안주관식스노우온카드커뮤니티 전언
민감정보의 메모리 잔존
카드번호·비밀번호·PIN 같은 값이 입력·처리된 뒤에도 프로세스 메모리에 남아 있어, 메모리 덤프나 크래시 로그로 새어 나갈 수 있다는 지적을 보안 진단에서 받았습니다. Swift/iOS에서 이 문제를 어디까지 해결할 수 있나요?
#memory #sensitive-data #zeroing #string
- 보안주관식Barclays커뮤니티 전언
뱅킹 거래의 다층 보안
iOS 뱅킹 앱의 송금 기능을 설계합니다. 송금 요청 한 건을 지키기 위해 클라이언트와 서버에 어떤 방어층을 두겠습니까?
#security #banking #tls #keychain
- 보안주관식레진엔터테인먼트커뮤니티 전언
인앱결제 영수증 검증
웹툰 앱이 인앱결제로 유료 회차를 해금합니다. 결제 성공 후 클라이언트가 UserDefaults에 "구매 완료" 플래그를 저장해 잠금을 푸는 설계의 문제는 무엇입니까?
#storekit #in-app-purchase #receipt #entitlement
- 보안주관식
리버스 엔지니어링 대응
경쟁사가 우리 앱을 디컴파일해 API 호출 규격과 프로모션 로직을 그대로 베꼈다는 보고가 있습니다. iOS 앱에서 리버스 엔지니어링을 어렵게 만드는 방법에는 무엇이 있나요?
#obfuscation #reverse-engineering #symbols #anti-tamper
- 보안주관식
App Attest
봇이 우리 API를 직접 호출해 쿠폰을 쓸어갑니다. 서버가 '진짜 App Store에서 설치된 우리 앱'의 요청만 받으려면 App Attest를 어떻게 활용하나요?
#app-attest #devicecheck #attestation #secure-enclave
- 보안주관식
딥링크 보안
myapp://pay 스킴에 to=<계좌>&amount=<금액> 파라미터를 붙인 딥링크로 송금 화면을 여는 기능이 있습니다. 어떤 공격이 가능한가요?
#deep-link #universal-link #url-scheme #open-redirect
- 보안주관식
트래픽 가로채기 위협 평가
QA가 "Charles 프록시를 걸었더니 우리 앱 API 요청과 응답이 전부 평문으로 보인다"고 보고했습니다. 이것이 실제 보안 문제인지 판단하는 기준은 무엇인가요?
#mitm #proxy #charles #pinning