1. 개요

- 모바일 보안 위협은 (보이스)피싱, 스미싱 등 다양하게 발생하며 피해가 지속적으로 보고되고 있음

- OWASP에서 모바일 보안 위협 TOP 10을 발표

> OWASP(The Open Web Application Security Project): 웹 애플리케이션 보안과 취약성을 평가하는 단체로 비정기적으로 보안 위협을 조사해 발표

[사진 1] 모바일 TOP 10 2016 2023 비교

 

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를 사용

 

주기적인 앱 보안 테스트

- 랜섬웨어, 피싱 등 다양한 보안 위협에서 스마트폰을 안전하게 사용하기 위함

 

4. 참고

[1] https://owasp.org/www-project-mobile-top-10/
[2] https://www.boannews.com/media/view.asp?idx=121927&page=2&kind=5

+ Recent posts