직접 연구하여 작성한 자료입니다. 공식 출처가 명시되지 않은 자료의 무단 복제, 사용을 금지합니다.공격 기법은 학습용, 허가된 환경에서 실습 바랍니다. 실 운영망 대상 공격은 처벌받습니다. (정보통신망법 제48조 1항) 개요 안드로이드 앱은 실행 시 사용할 메모리 영역을 할당받는다. 메모리에는 앱의 실행 코드와 사용할 자원(함수, 변수, 리소스 등)이 저장된다. 안드로이드 런타임은 '페이징'과 '메모리 매핑'을 이용해서 메모리를 관리한다. 메모리 자원을 관리하기 위해 자바에서는 동적으로 할당했던 메모리 영역 중 사용하지 않는 메모리를 주기적으로 삭제하는 가비지 컬렉션(Garbage Collection, GC)을 수행한다. 운영체제 수준에서 메모리를 관리하기 때문에 개발자는 기능 개발에 집중할 수 있다. ..
직접 연구하여 작성한 자료입니다. 공식 출처가 명시되지 않은 자료의 무단 복제, 사용을 금지합니다.공격 기법은 학습용, 허가된 환경에서 실습 바랍니다. 실 운영망 대상 공격은 처벌받습니다. (정보통신망법 제48조 1항)이전 글에 이어지는 글입니다.[안드로이드 모의해킹] 코드 패치와 앱 무결성 검증 (smali 코드 분석) 개요 어셈블리 코드 수정(NDK) 안드로이드 NDK로 개발된 코드 또한 수정이 가능하다. 직접 예제 코드를 작성하고 변조하는 실습을 진행한다. 안드로이드 스튜디오에서 새 프로젝트 생성을 선택하고 Native C++ 프로젝트를 생성한다. 네이티브 언어로 함수를 정의한다. 함수의 기능은 이전의 실습과 유사하게 두 정수의 합을 반환하는 기능을 수행한다. 상용 앱에서는 더 복잡한 기능을 수행하..
직접 연구하여 작성한 자료입니다. 공식 출처가 명시되지 않은 자료의 무단 복제, 사용을 금지합니다.공격 기법은 학습용, 허가된 환경에서 실습 바랍니다. 실 운영망 대상 공격은 처벌받습니다. (정보통신망법 제48조 1항) 개요 안드로이드 단말의 무결성만큼 앱의 무결성도 매우 중요하다. 공격자가 앱 내부 코드를 변조하여 리패키징을 수행하면, 악성코드가 앱 내부에 삽입될 수 있다. 안드로이드 설치 파일은 구글 플레이 스토어뿐만 아니라 제3자 제공 스토어에서도 다운로드 받을 수 있으며, 단말에서 허용하는 경우 apk 파일을 별도로 다운로드 하여 설치할 수 있다. 이 과정에서 위∙변조된 앱이 설치되면 사용자 데이터에 접근하거나 민감정보가 유출될 수 있다. 예를 들어 기존 앱과 동일한 뷰로 로그인 기능을 구현하..
직접 연구하여 작성한 자료입니다. 공식 출처가 명시되지 않은 자료의 무단 복제, 사용을 금지합니다.공격 기법은 학습용, 허가된 환경에서 실습 바랍니다. 실 운영망 대상 공격은 처벌받습니다. (정보통신망법 제48조 1항)학습자료 apk파일은 https://github.com/colfax0483/Vulnerable_apk 에서 clone할 수 있습니다.1. 개요안드로이드 앱 환경은 PC 환경과 다르게 사용자와 앱의 상호작용이 항상 동일한 위치에서 시작하지 않는다. 일반적인 프로그래밍에서 메인(main) 함수부터 실행하는 것과 달리 안드로이드 시스템은 액티비티별 생명주기에 따른 단계별 콜백 함수 통해 앱 코드를 실행한다. 선언된 콜백 함수는 액티비티 클래스에서 관리된다. 예를 들어, 기존에 실행중인 앱 'A'..
1. 개요사용자가 홈 버튼을 누르거나, 앱이 실행중인 상태에서 다른 앱을 실행하여 앱이 백그라운드 모드로 전환되면 안드로이드는 현재 앱 액티비티의 스크린샷을 생성하여 작업 관리자(task manager)에서 확인할 수 있으며, 사용자가 최근 사용한 앱 목록을 볼 때 표시된다. 이 기능은 사용자에게 편리함을 제공하지만, 동시에 보안상의 위험을 초래할 수 있다. 예를 들어, 앱이 민감한 정보를 화면에 표시하고 있는 경우, 스크린샷이 기록되어 작업 관리자에 노출될 수 있다. 이는 민감한 정보의 외부 노출로 이어질 수 있으므로, 민감한 정보가 스크린샷에 포함되지 않도록 해야 한다. 💡 더 알아보기작업 관리자의 명칭은 구글 공식 문서에서도 다양한 이름으로 사용하고 있다.영문으로는 Recents screen, O..
1. 개요 안드로이드 앱 개발 시, 디버그 로그는 앱 동작을 추적하고 개발 단계에서의 버그를 수정하는 데 사용한다. 디버그 로그는 앱의 실행 중에 발생하는 이벤트, 상태, 변수 값 등을 모니터링하고 기록할 수 있는 도구로 앱의 동작과 문제 해결에 도움을 준다. 안드로이드에서는 ‘android:debuggable’ 속성을 AndroidManifest.xml에서 ‘true’로 설정하여 앱을 디버깅 할 수 있도록 허용한다. 기본적으로 이 속성은 비활성화(false)되어 있지만, 앱 개발 중에 실행 중 데이터 확인 등 필요에 따라 설정을 변경할 수 있다. 그러나 이 속성을 ‘true’로 설정하게 되면, 앱 실행 중 세부 정보에 접근할 수 있기 때문에 소스코드를 직접 분석하지 않고도 앱을 디버깅할 수 있다. ..
직접 연구하여 작성한 자료입니다. 공식 출처가 명시되지 않은 자료의 무단 복제, 사용을 금지합니다.공격 기법은 학습용, 허가된 환경에서 실습 바랍니다. 실 운영망 대상 공격은 처벌받습니다. (정보통신망법 제48조 1항)학습자료 apk파일은 https://github.com/colfax0483/Vulnerable_apk 에서 clone할 수 있습니다.1. 개요앱이 설치되는 경로와 사용자 데이터가 분리되면, 앱과 사용자 데이터 간에 격리된 환경을 유지할 수 있다. 이를 통해 앱 간 서로의 데이터 접근을 방지하고, 민감한 정보의 유출을 예방할 수 있다. 그러나 루트 사용자는 데이터 경로와 관계없이 접근할 수 있어 보안에 취약할 수 있다.동적 분석에서의 중요정보 저장 취약점 진단은 기능을 직접 실행하면서 데이터..
https://www.mobile-hacker.com/2024/06/24/monitoring-android-file-system-with-fsmon/?fbclid=IwZXh0bgNhZW0CMTAAAR0hrWpcmZe8Ary0Ha8iSS2uJnQoBHW3LWSbpOmKTEzHbEj35WmJNHBk_gk_aem_Y1jie760V91UNOwz5ndaZA Monitoring Android file system with fsmonFileSystem Monitor (fsmon) allows you to monitor file system events at runtime on Linux, OSX, iOS and Android systems. Useful for bug bounty hunters, malware ana..
직접 연구하여 작성한 자료입니다. 공식 출처가 명시되지 않은 자료의 무단 복제, 사용을 금지합니다. 공격 기법은 학습용, 허가된 환경에서 실습 바랍니다. 실 운영망 대상 공격은 처벌받습니다. (정보통신망법 제48조 1항) 개요 정보가 저장되는 위치와 값을 확인했다면 정보의 중요성과 민감도를 판단하는 과정이 필요하다.찾은 정보가 중요정보인지 여부를 판단하는 기준을 수립하기 위해 안드로이드 단말에 존재하는 정보 자산과 기능 자산의 유형을 소개한다. 앱을 분석할 때 다음의 기능들을 포함하여 안전한 데이터 처리를 구현하고 있는지 확인한다. 정보 요소 전화번호 단말기 전화번호 통화기록 통화시간, 날짜, 수발신 기록 등 IMEI 단말기 ID 센서 정보 Wi-Fi, Bluetooth, NFC, 조도 센서, 근접 센서..
직접 연구하여 작성한 자료입니다. 공식 출처가 명시되지 않은 자료의 무단 복제, 사용을 금지합니다. 공격 기법은 학습용, 허가된 환경에서 실습 바랍니다. 실 운영망 대상 공격은 처벌받습니다. (정보통신망법 제48조 1항) 개요 앱이 설치되는 경로와 사용자 데이터가 분리되면, 앱과 사용자 데이터 간에 격리된 환경을 유지할 수 있다. 앱 간의 서로에 데이터에 접근하지 못하도록 방지하고, 민감한 정보의 유출을 예방할 수 있다. 하지만 앱의 사용자 데이터는 루트 사용자는 경로에 관계없이 접근할 수 있으며, 앱 업데이트나 제거와 무관하게 유지되는 경우가 있기 때문에 민감정보가 보관되어 있는 경우 보안에 취약해질 수 있다. 동적 분석에서의 중요정보 저장 취약점 진단은 정적분석과는 다르게 기능을 직접 실행하면서 쌓이..