- 애플은 브리핑을 통해 iOS 17에 개인 정보보호 기능 다수 탑재한 역대 최고 보안 체계를 구축했다고 발표
내용
- 사용자의 개인정보 보호를 위해 네 가지 핵심 원칙을 중심으로 제품과 서비스를 설계 ① 개인 데이터를 최소한으로 수집하는 '데이터 사용 최소화' ② 사용자 데이터를 디바이스 기기 안에서 처리하는 '온디바이스 프로세싱' ③ 사용자의 정보 수집을 공개하는 '투명성·제어 권한' ④ 사용자 데이터 보호하는 '보안 강화'
- 개인 정보보호 기능 ① Safari 개인정보 보호 브라우징 > 사용자의 브라우징 내역을 저장하지 않음 > 특정 웹사이트가 사용자를 식별하는데 사용되는 추적(자동완성, 트래커 등) 제거
② 온디바이스 프로세싱 강화 > 개인 데이터 수집을 최소화하고자 서버가 아닌 기기 자체에서 데이터를 처리 > 실시간 음성 메시지 기능은 발신자가 남기는 음성 메시지가 텍스트로 표시되어 나타남 > 알 수 없는 발신자 음소가 기능의 경우 알 수 없는 번호로 전화가 올 경우 바로 음성 메시지로 넘어감 > 이를 이용해 통신사에서 스팸으로 분류한 전화는 곧바로 거절
③ 사진 선택기 > 사용자가 앱에서 특정 사진을 공유할 때 보관함에 있는 나머지 항목을 비공개 상태로 보호 > 앱이 사진 전체를 사용하게 할 것인지 선택한 사진과 동영상만 사용하게 할 것인지 선택할 수 있음
④ 체크인 > 친구나 가족에게 목적지에 안전하게 도착했다는 사실을 자동으로 감지해 메시지로 공유 > 설정된 목적지로 이동하지 않을 경우 사용자의 응답을 통해 상태를 확인 > 미응답시 사용자의 정확한 위치, 배터리 잔량, 네트워크 상태, 마지막 사용 시각 등을 지정된 사람들에게 공유
⑤ 암호공유 > 암호 공유가 필요한 경우 공유할 그룹을 생성해 암호를 공유하며, 암호 업데이트 또한 공유 > 아이클라우드 키체인을 통해 종단간 암호화되어 안전하게 사용 가능
⑥ 신속 보안 대응 > 소프트웨어 업데이트 시 보안 수준을 최신으로 유지
⑦ 차단 모드 > 기기의 보안을 한층 강화하고 특정 기능을 엄격하게 제한해 추가 위험 감소
- 모바일 보안 위협은 (보이스)피싱, 스미싱 등 다양하게 발생하며 피해가 지속적으로 보고되고 있음
- OWASP에서 모바일 보안 위협 TOP 10을 발표
> OWASP(The Open Web Application Security Project): 웹 애플리케이션 보안과 취약성을 평가하는 단체로 비정기적으로 보안 위협을 조사해 발표
2. 주요내용
구분
위험
설명
1
부적절한 자격 증명 사용
- 하드코딩된 자격 증명 또는 부적절한 자격 증명 사용(인증 정보 평문 전송, 부적절한 검증, 자동 저장 등)으로인해 인증 우회 등이 발생가능한 취약점 - 데이터 침해, 사용자 개인 정보 유출, 관리자 권한 접근 등 피해 발생 가능 - 인증 정보의 하드코딩 금지, 인증 정보 암호화 전송, 비밀번호 저장 기능 사용 금지등의 조치
2
부적절한 공급망 보안
- 공급망을 악용하여 악성코드가 삽입된 업데이트 파일 등을 유포하여 사용자의 기기에 접근해 악성행위를 가능하도록 하는 취약점 - 내부자, 써드파티, 악성코드가 포함된 오픈소스 등의 사용으로인해 발생 가능 - 데이터 침해, 사용자 개인 정보 유출, 관리자 권한 접근 등 피해 발생 가능 - 모바일 앱 개발 수명주기 전반에 걸친 코드 검토 및 시큐어 코딩, 검증된 라이브러리 사용, 주기적 업데이트 적용, 모니터링 등의 조치
3
안전하지 않은 인증/권한 부여
- 부적절한 인증(인증 체계 누락 등)를 통해 정식 인증 우회 및 권한(과도한 권한 부여 등)을 악용 추가적인 악성행위를 수행 - 데이터 침해, 사용자 개인 정보 유출, 관리자 권한 접근 등 피해 발생 가능 - 인증 절차의 강화, 최소권한부여, 서버 측에서 인증 요청 검증, 비밀번호 저장 기능 사용 금지 등의 조치
4
불충분한 입력/출력 검증
- 입력 데이터에대한 검증 및 삭제가 불충분하여 임의 명령 실행 등이 발생 가능한 취약점 - 데이터 침해, 임의 명령 실행, 관리자 권한 접근 등 피해 발생 가능 - 입력 길이 제한 및 삭제 등 엄격한 입력값 검증 적용, 데이터 무결성 검사, 시큐어코딩 적용 등의 조치
5
안전하지 않은 통신
- 네트워크를 통해 데이터를 평문으로 전송하거나 취약한 네트워크 사용 등으로 인해 발생 가능한 취약점 - 인증 정보 도용, 중간자 공격 등 피해 발생 가능 - 암호화 전송, 엄격한 인증서 관리 등의 조치
6
부적절한 개인 정보 보호 제어
- 공격자가 알려진 취약점을 이용해 시스템을 침해한 후 부적절하게 관리되고 있는 개인정보에 접근이 가능하게되는 취약점 - 사용자 개인정보 불법거래, 유출 정보를 이용한 2차 피해 등이 발생 가능 - 목적 범위 내 필요한 최소한의 정보만 저장, 가명화 또는 익명화 적용, 목적 달성 등 불필요시 즉시 삭제 등의 조치
7
바이너리 보호가 부족함
- 리버싱 등으로 소스코드에 하드코딩된 정보, 키(API, 암복호화 등) 등을 탈취하거나 코드를 변조하여 악성 코드를 포함하도록 하는 등의 취약점 - 키 정보의 유출, 코드 위변조, 악성코드 삽입 후 재배포 등이 발생 가능 - 소스코드 난독화, 무결성 검사, 모니터링 등의 조치
8
잘못된 보안 구성
- 불필요한 권한 설정, 부적절한 액세스 제어, 평문 전송 등 잘못된 보안 구성으로 인해 발생가능한 취약점 - 데이터 침해, 관리자 권한 접근 등의 피해 발생 가능 - 기본 계정정보 변경, 최소권한부여, 입력값 검증, 암호화 등의 조치
9
안전하지 않은 데이터 저장
- 취약한 암호화, 부적절한 데이터 보호, 평문 저장 등으로 민감정보, 내부 정보의 유출이 발생할 수 있는 취약점 - 데이터 침해, 무결성 문제 등 피해 발생 가능 - 강력한 암호화, 입력값 검증, 적절한 액세스 제어 등의 조치
10
암호화가 불충분함
- 취약하거나 불충분한 암호화로인해 민감 정보와 데이터의 기밀성과 무결성이 저하되는 등의 문제가 발생가능한 취약점 - 데이터 침해, 무결성과 기밀성 등 피해 발생 가능 - 안전한 암호 알고리즘 적용, 안전한 암호화 키 관리 등의 조치
2.2 모바일 운영체제별 보안 위협
구분
위협
설명
안드로이드
리버스 엔지니어링
- 안드로이드 앱은 이클립스(Eclipse)와 같은 통합개발환경을 갖춘 자바(Java)로 개발 > 자바 앱은 인터넷에서 쉽게 검색 가능한 다양한 도구로컴파일 이전으로 복구가 가능
- 바이트코드를 변경하거나 APK 파일 형식으로 재패키징할 수 있음 > 테스트 로그인 자격증명 등 정보와 함께 암호화 유형의 세부정보도 노출될 수 있음 > 공격자는 이를 악용해 복호화로 디바이스 해킹이 가능
안전하지 않은 플랫폼 사용
- 앱 개발자가 보안에 불안전한 안드로이드 인텐트(Intent)나 플랫폼 권한 설정을 통해 모바일 OS와 통신할 때 보안 위협이 발생 가능
- 안드로이드 OS는 브로드캐스트리시버(BroadcastReceiver) 구성요소를 이용해 앱과 시스템 전체의 브로드캐스트를 송수신 > 브로드캐스트 리시버 인스턴스를 수신하기 위해 안드로이드 디바이스에 스누핑 공격을 수행할 수 있음
※ 스누핑(Snooping): 네트워크 상의 정보를 염탐하여 불법적으로 얻는 것을 의미
업데이트 무시
- 구글은 안드로이드에서 새로운 취약점에 대응하기 위해 끊임없이 OS 보안 패치를 발표 > 개발자(또는 사용자)가 업데이트를 적용하지 않음으로 발생가능
루팅된 디바이스
- 안드로이드 OS는 사용자가 서드파티 앱을 이용해 디바이스의 루트 권한을 획득하도록 허용 > 루팅된 디바이스가 해커나 악성 소프트웨어를 통한 위변조에 노출될 수 있음을 깨닫지 못하고 있음
- 개발자는 앱이 루팅된 환경에서의 실행을 차단하거나 사용자에 경고 메시지를 띄우는 것이 필요
새로운 공격 벡터를 통한 스파이론 애플리케이션 증가
- 최근 간편하게 소액 대출을 제공하지만 높은 이자율과 추가 수수료가 부과되는 ‘스파이론(Spyloan) 앱’이 증가 > 대출 승인 전에 과도한 개인정보를 무단 수집 및 스캔들 메시지 발송 및 사진 조작 등 피해 발생
iOS
탈옥
- ‘탈옥(Jailbreak)’은 사용자가 서명되지 않은 코드를 모바일 디바이스에서 실행하도록 커널의 보안 허점을 이용하는 것
사용자 인증
- iOS는 얼굴인증(Face ID)이나 지문인증(Touch ID) 등으로 보안을 강화 > OS와는 별도로 전용 마이크로 커널에서 실행되는 ‘시큐어 인클레이브(Secure Enclave)’를 적용한 프로세스를 사용하도록 설계
- 공격자는 그레이시프트(Grayshift) 사의 iOS 암호 크랙인 그레이키(GrayKey)를 활용하면 인증을 뚫을 수 있음
데이터 저장소 보안 위험성
- 대부분의 앱은 SQL 데이터베이스, 쿠키, 바이너리 데이터 저장소 등을 사용해 데이터를 저장 > 데이터 저장소는 운영체제, 프레임워크 또는 컴파일러의 취약점이 있을 때 해커에 위치가 노출될 수 있음
- 공격자는 DB에 접근하고, 앱 변조로 자신의 컴퓨터에 사용자 정보가 수집되도록 조작할 수 있음 > 탈옥된 디바이스라면 복잡하게 설계된 암호화 알고리즘도 손쉽게 노출될 수 있음
참고
- iOS에서 사용할 수 있는 애플리케이션은 모두 애플에서 직접 만든 앱스토어를 통해서만 다운로드할 수 있음 - iOS 애플리케이션은 애플의 앱 개발 전담팀에서 2주간의 검수 과정을 통해 악성코드, 바이러스, 멀웨어 등의 감염과 피해 등을 철저하게 조사한 후 등록 > 앱 보안 위협은 상대적으로 낮은편
- 애플의 iOS는 안드로이드 OS와 달리 보안 정책이 엄격하며 폐쇄형 - iOS 앱은 다른 앱과 통신 또는 디렉토리나 데이터에 직접적으로 접근할 수 없
3. 대응방안
① 개발자는 앱을 플랫폼에 공개하기 전 철저한 보안 검사가 필요
- 사용자의 보안 강화를 위해 데이터 암호화 및 방화벽과 보안도구 사용을 포함해 전반적인 데이터 보안 정책과 지침을 수립
- 새로운 앱을 개발했을 때 개발자는 앱을 앱스토어에 등록하기 전에 외부인을 통해 앱 보안 취약점을 점검
② 사용자는 앱 사용이 끝나면 해당 사이트에서 로그아웃하고 종료
- 금융권 웹사이트를 사용할 때는 비밀번호를 저장하지 않고, 로그아웃 여부를 재차 확인하는게 중요
③ 사용자가 웹사이트나 앱에 로그인할 때 기본적인 로그인 외에 멀티팩터(Multi Factor) 인증으로 보안을 강화
- 아이디와 패스워드 이외에 2차로 지문·홍채 등 생체인식, 인증서, 이메일, OTP 등이 사용되며, 로그인 시 별도의 비밀코드를 제공
④ 모의 침투 테스트
- 앱 내의 알려진 취약점을 확인
⑤ 사내 네트워크에 개인 소유 디바이스를 연결할 때는 사전 보안 검사
⑥ 적절한 권한 부여, 키 관리 등
- 스마트폰 내에 디폴트 권한을 넘어 특별한 기능의 권한까지 부여되면 보안에 심각한 위협을 유발
- 키는 사용자 디바이스가 아닌 안전한 컨테이너에 보관하는 습관
- 개발자는 256비트 키를 사용하는 SHA-256 해시 등 최신 암호화 표준과 API를 사용