본문 바로가기
[ Computer Security ]/Web Security

[웹보안] 모바일 보안

by dev charlotte 2024. 8. 26.

모바일 환경의 성장

- 아이폰으로 시작된 스마트폰 열풍, 앱 다운 환경은 애플과 구글로 양분

 

모바일 보안 위협

- 안드로이드, 개방적, 리패키징, 모바일 악성 앱 증가

- 애플, 탈옥, 임의의 sw 설치 가능하게

- 안드로이드, 루팅, 시스템 잠금을 해제해서 os 관리자 권한 얻기

- 탈옥과 루팅 관련 정보가 공유되며 감염 급증

 

모바일 환경의 위협 요소

- OWASP 모바일 top 10 위험 기준 분석 결과

- M1 적절하지 않은 플랫폼 사용 

- M2 안전하지 않은 데이터 저장 , 암호화된 보호가 무력화되는 루팅 탈옥 분실 도난 - 공유환경설정x

- M3 안전하지 않은 통신 , 데이터 유출이 쉬움

- M4 안전하지 않은 인증 , 자동화된 툴로 공격, 입력폼

- M5 불충분한 암호화 , 암호화 부족, 물리적 접근 후 복호화

- M6 안전하지 않은 권한 , 자동화된 툴로 공격 , 권한 체계가 약할 때 권한 통제 우회 , 명령어

- M7 클라이언트 코드 품질 , 의도치 않은 입력 값 전달로 공격 

- M8 코드 변조 , 조작된 앱이나 피싱 공격으로 악의적인 앱 설치 유도 

- M9 역공학 , 공격 대상을 받아서 로컬 환경에서 분석

- M10 관련 없는 기능 , 숨겨진 특정 기능을 찾기 위해 기능 분석

 

안드로이드 앱 분석

- apk 안드로이드 애플리케이션 패키지 

- smali 기계어를 사람이 읽기 쉽게

- dex 가상 머신에 실행되는 기계언어로 변환

 

안드로이드 악성 코드 제작 원리 

- 컴파일해서 소스코드를 바이너리로 변경

- 컴파일 후 패키징과 서명 작업이 추가적으로 필요

- 리패키징 제작을 반대로. 최초 상태가 되면 다른 코드 삽입해서 재제작

- apktool 언패키징해서 내부 볼 수 있음

- 메인 액티비티, 메인과 런처가 액티비티 실행해서 화면 보이게 함

- 단말기 바탕화면에 아이콘 표시 intentcategory launcher 

- intent 컴포넌트의 데이터 교환 방식

- intent filter 받아서 처리할 수 있는 인텐트가 어떤 건가!

 

소스코드 추출하기 

- apk apktool androidmanifest.xml

- apk dex2jar dex

- java byte code jd-gui java

- apk - zip - dex - jar (dex2jar) - source code (jd-gui)

 

apk jar  d2j-dex2jar

 

모바일 통제와 설계 원칙

- 모바일 장치에 있는 민감한 데이터를 식별하고 보호

- 장치에 있는 패스워드 식별 정보를 안전하게 처리

- 전송 시 민감한 데이터가 보호되는지 확인

- 사용자 인증 권한 세션 관리를 올바르게 구현

- 사용자 데이터 수집과 사용 동의는 신중하게 대처

- 금융 지불 자원에 불법으로 접근하지 못하게 통제

- 모바일 애플리케이션을 안전하게 배포

- 안전한 시스템 개발 및 코딩 방법

 

 

 

 

 

728x90