메모리 : 주기억 장치, 물리적 메모리 램(RAM)을 가리킴 - 앱이 실행되면 일정량 메모리 차지하고 실행 중 필요한 정보들 저장 - 앱에 입력하는 모든 값과 실행되는 모든 정보들이 메모리에 적재되어 실행한 후, 실행 완료되면 다른 데이터들로 채워짐 - 메모리는 휘발성 ==> 프로그램 or 모바일 종료 시 데이터들도 삭제 안드로이드 메모리 구조는 Honey comb 버전 이전과 이후로 나뉨 - 안드로이드 메모리 할당 방법 : 기본적으로 자바 가상 머신 이용 안하고 달빅 가상 머신 이용해 앱 구현 만약 허용된 메모리 한계 이상 사용시 OOM(Out of Memory) 에러 발생 - Dalvik heap allocated 영역 : 앱이 실행되는 동안 참조하고 정보 저장하는 메모리 영..
안드로이드 스튜디오에서 코드 수정 후 가상 장치 or 안드로이드 장치에 설치하기 위해서는 사이닝 과정을 거쳐야 한다. 서명(Signing) : 앱 제작자를 식별(identify)하기 위한 인증서 ( 서명된 apk 파일만 마켓에 등록, 설치 가능) 리앱 후 자동으로 서명하지 않는 이유는 서명에 필요한 파일과 암호를 알 수 없기 때문이다. 1. Private key 생성 key store path : keystore 가 저장되는 경로 password : keystore에 사용되는 비밀번호 Alias : key를 구별할 이름 password : key에 사용되는 비밀번호 (위 비밀번호와 다르게 하는 것이 좋음) Validity : 키의 유효기간 연도 Certificate : app에 보이지 않는 자신에 대한 ..
[ 애플리케이션 패칭 취약점 ] : 안드로이드의 코드를 변경해 APK 파일을 변조하고 비정상적인 실행하도록 유도하는 취약점 안드로이드 모바일 악성코드들은 정상적으로 서비스되고 있는 앱을 조작해 사용자들을 유인 아이콘만 다른 앱에서 가져와 간단한 기능만 포함해 배포하는 사례도 있음 공격자들도 앱을 처음부터 개발하는 것이 아닌 모두 개발된 앱에 사용자의 개인 정보를 포함해 원하는 데이터를 얻기 위한 코드들만 삽입하는 것이 효율적 1. 안드로이드 스튜디오에 인시큐어뱅크 프로젝트를 불러옴 2. app 목록에서 마우스 오른쪽 클릭 후 Open In --> Explorer 누른다 Explorer을 누르면 소스 코드 프로젝트로 이동하며, 디버그 모드와 릴리즈 모드에서 생성된 apk 파일 확인..
: 암호 알고리즘에 대한 취약점 - 개발 단계에서 자주 발생하는 취약점 : 인코딩으로 계정 비밀번호 등 민감한 데이터를 감추어 보내는 것 - 키값을 소지하지 않으므로 공격자가 얼마든지 인코딩 함수로 똑같은 데이터를 만들고 변조 가능 - 알고리즘 이용시 표준화된 알고리즘 사용하고, 결함이 발생한 알고리즘은 사용 X (오래된 알고리즘은 무차별 대입 공격 등에 취약함) - 해시 알고리즘도 마찬가지로 결함 발생한 해시 알고리즘은 사용 X - 취약한 알고리즘 : RC2, RC4, RC5, MD4, MD5, SHA1, DES, 3DES 등 LoginActivity.java 일부 if (str2 != null && str1 !..
- 안드로이드 개발 시 주로 웹 브라우저에서 보이는 화면을 표시하거나 웹 앱 or 하이브리드 앱 개발 시 사용 - 웹킷 렌더링 엔진(안드로이드 내부 모듈)을 사용해 자바스크립트 지원 - 사용하기 위해서는 인터넷에 액세스 할 수 있는 권한 필요 하이브리드 앱을 만드는 이유 : 개발 과정이 안드로이드 네이티브 앱에 비해 쉬움 기기 간의 호환성 해결하기 쉬움 인시큐어뱅크의 안드로이드 매니페스트 파일에는 다음과 같은 인터넷 사용 권한 존재 * 칼리리눅스 메타스플로잇 이용* 1. 메타스플로잇 실행 msfconsole 2. 웹 뷰 취약점 모듈 실행 use exploit/android/browser/webview_addjavascriptinterface 2-1) 로컬 ..
[ 루팅 탐지 및 우회 취약점] - 다른 애플리케이션의 데이터베이스나 파일에 접근할 수 있는 인터페이스 제공 - 주로 프로세스 간 통신으로 다른 애플리케이션과 데이터 공유 ( 앱 데이터를 다른 앱에서 사용할 수 있는 통로 제공 ) - Androidmanifest.xml의 요소에 정의 - 컨텐츠 프로바이더에 접근하기 위해서는 콘텐츠 프로바이더의 주소인 URI와 콘텐츠 리졸버(Content Resolver)가 필요 - 컨텐츠 프로바이더의 주소인 URI는 "content://authority/path"와 같은 형식으로 구성' (인터넷 주소인 URI와 비슷한 구성이며, 콘텐츠 프로바이더의 주소는 content://로 시작) - Authority는 콘텐츠 프로바이더의 고유 주소, path..
[ 루팅 탐지 및 우회 취약점] : 안드로이드 디바이스 시스템 권한을 얻는 것 - 안드로이드는 애플리케이션 실행 시 각 프로그램마다 권한을 부여해 독립적으로 동작 ( 순성 상태의 안드로이드는 애플리케이션에서 할 수 있는 행위들에 제한 ) - 이러한 제한을 풀거나 우회하기 위해서는 시스템 권한을 루팅으로 획득해야 함 - 루팅된 기기는 시스템 권한을 획득하게 되어 디바이스 내부의 민감한 정보에 접근 가능 - 금융권 애플리케이션은 기본적으로 루팅된 기기에서의 앱 실행을 차단 - 최근 디바이스에 카드 정보를 저장해 간단하게 결제할 수 있는 핀테크 기술이 이슈되면서 이 기술을 제공하는 기업에서 공식적으로 루팅된 기기는 보안 위협으로 감지하고 기술 지원을 하지 않는다는 입장을 밝혔다 루팅 ..
[ 액티비티 컴포넌트 취약점 ] : 애플리케이션 액티비티가 보안적으로 취약하면 로직을 무시하고 공격자가 필요한 액티비티를 강제로 호출해서 권한이 없는 사용자가 특정 액티비티에 접근해서 권한 없이 특정 기능 활성화 가능한 취약점 - 앱을 구성하는 가장 기본적인 구성 단위 중 하나로, 안드로이드 애플리케이션과 사용자 간의 상호 작용에 필요한 기능을 제공 ( 전화를 걸거나 이메일 전송 위한 화면 등 ) - 액티비티는 AndroidManifest.xml의 요소에 선언 - 하나의 애플리케이션은 하나 이상의 액티비티로 구성됨 - 하나의 특정 액티비티는 "메인 액티비티"라 불리고, 매니페스트에 메인 액티비티로 선언 - 메인 액티비티 : 애플리케이션 시작 시 나타나는 화면으로, 앱 실행 후 ..
[ 로컬 암호화 이슈] : 중요정보를 단말기에 저장할 때 취약한 암호화 알고리즘을 사용하거나 평문으로 저장해서 발생하는 이슈 1) 대칭키 알고리즘 : 하나의 키로 암호화, 복호화 하는 방식 - 하나의 키만 사용하므로 키가 노출될 경우 모든 암호문을 복호화 할 수 있다. - 암호문을 전달받는 사람이 키를 소유하고 있지 않으면 내용을 확인할 수 없다. 2) 공개키 알고리즘 : 2개의 키로 암호화, 복호화 하는 방식 타인에게 절대 노출되어서는 안되는 개인키(비밀키)를 토대로 만든 공개키가 쌍을 이룬 형태이다. - 공개키(Public Key) : 사람들에게 공개된 키이며 정보를 암호화 - 개인키(Private Key) : 사용자만 알고 있는 암호를 복호화 할 수 있는 키 ..
[ 취약한 인증 메커니즘] : 정상적인 인증 절차를 우회해 비정상적인 인증으로 접근 권한을 취득하는 취약점 OWASP Mobile Top 10 2014-M5에 해당하는 취약점으로, 일반적으로 다음과 같은 경우에 해당 적절하지 않은 앱 퍼미션 설정 여부 서비스 권한 상승 행위에 대한 통제 여부 기능에 대한 제한 또는 우회 금지 여부 불필요하거나 사용하지 않는 액티비티 제거 여부 인텐드 사용에 대한 안전성 여부 마스터 키 취약점 대응 여부 AndroidManifest.xml 코드 일부 안드로이드 액티비티의 속성이 anroid:exported="true"로 설정되어 있는 것을 확인 할 수 있다. 이 경우 다른 액티비티에서 인증 없이 접근 할 수 있다. 1) ADB 이용 adb shel..
- Total
- Today
- Yesterday
- Cookie
- 안드로이드
- Android
- CTF
- SQLi
- forensic
- dreamhack
- md5
- AssaultCube
- 스테가노그래피
- networking
- 모바일
- forensics
- Fiesta
- 해킹
- 드림핵
- sqlinjection
- web
- rev
- Steganography
- MISC
- cheatengine
- mongodb
- 리버싱
- FTKImager
- 포렌식
- reversing
- 취약점
- 인시큐어뱅크
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |