Season 1/기술 보안
-
Build DEX (Dalvik Executable) Android 어플리케이션은 Dalvik VM에서 더 효과적으로 실행되기 위해 개발자가 JDK로 코드를 컴파일하여 만든 바이트 코드입니다. Dalvik VM에서 DEX 파일로 변환되어 실행됩니다. Smali Dalvik의 바이트 코드를 위한 어셈블리 언어입니다. 기계어 형태로 되어 있으며, 원하는 부분의 코드 패치가 가능합니다. SandBox Android의 모든 앱은 자체 프로세스와 파일 시스템 공간에 SandBox로 되어 있으며, Linux 커널의 프로세스 공간 보호 메커니즘을 이용하여 설치된 각 앱에 고유한 UID를 할당합니다. 기존 데스크톱 운영 체제(Linux, Windows, Mac 등)와 달리 Android는 UID 개념을 사용자 구분을 ..
[ Android ] 기초 정리 - Build & SandBox & 서명Build DEX (Dalvik Executable) Android 어플리케이션은 Dalvik VM에서 더 효과적으로 실행되기 위해 개발자가 JDK로 코드를 컴파일하여 만든 바이트 코드입니다. Dalvik VM에서 DEX 파일로 변환되어 실행됩니다. Smali Dalvik의 바이트 코드를 위한 어셈블리 언어입니다. 기계어 형태로 되어 있으며, 원하는 부분의 코드 패치가 가능합니다. SandBox Android의 모든 앱은 자체 프로세스와 파일 시스템 공간에 SandBox로 되어 있으며, Linux 커널의 프로세스 공간 보호 메커니즘을 이용하여 설치된 각 앱에 고유한 UID를 할당합니다. 기존 데스크톱 운영 체제(Linux, Windows, Mac 등)와 달리 Android는 UID 개념을 사용자 구분을 ..
2022.12.08 -
Booting Process Android 장치 전원 리부팅 작업을 Android booting sequence이라고 합니다. Boot Loader Android 장치의 전원이 들어올 경우 미리 정의된 Boot code를 ROM에서 찾아서 실행합니다. Boot code를 의해 Boot Loader이 RAM에 로드가 됩니다. 이는 운영체제가 실행되기 전에 실행되는 것으로, Boot Loader은 부팅 및 시스템 커널 검색을 단말기에 지시하는 하위코드입니다. Boot Loader은 보통 비휘발성 메모리에 존재하며, 단말기 고유의 경우가 많습니다. 일반적인 위치는 /bootable/bootloader/legacy/usbloader 에 위치합니다. Boot Loader는 Primary Boot Loader와 S..
[ Android ] 기초 정리 - Booting Process & RootingBooting Process Android 장치 전원 리부팅 작업을 Android booting sequence이라고 합니다. Boot Loader Android 장치의 전원이 들어올 경우 미리 정의된 Boot code를 ROM에서 찾아서 실행합니다. Boot code를 의해 Boot Loader이 RAM에 로드가 됩니다. 이는 운영체제가 실행되기 전에 실행되는 것으로, Boot Loader은 부팅 및 시스템 커널 검색을 단말기에 지시하는 하위코드입니다. Boot Loader은 보통 비휘발성 메모리에 존재하며, 단말기 고유의 경우가 많습니다. 일반적인 위치는 /bootable/bootloader/legacy/usbloader 에 위치합니다. Boot Loader는 Primary Boot Loader와 S..
2022.12.06 -
Android 공격 종류 포렌식 공격 공격자가 단말기를 탈취 한 후 메모리와 디스크 정보를 덤프하여 개인 중요 정보 탈취 코드 실행 공격 단말기에서 실행되는 앱의 임의 코드 실행 취약점을 이용하여 단말기를 장악하는 공격 웹 기반 공격 웹 뷰를 통해 만들어진 앱에서 웹 취약점을 통해 사용자 및 서버 공격 악성 앱 공격 정상 앱의 서명 개인키를 탈취하여 악성 코드를 삽입한 업데이트 버전을 배포하는 방식으로 공격 Android Architecture Android는 다양한 기기와 폼 팩터에 사용할 수 있도록 제작된 Linux 기반의 오픈소스 소프트웨어 스택이다. Linux Kernel Kernel은 운영체제를 운영하는데에 필요한 기능들을 연결해주는 역활을 수행한다. Android 플랫폼의 기반은 Linux 커..
[ Android ] 기초 정리 - Android 공격 종류 및 구조Android 공격 종류 포렌식 공격 공격자가 단말기를 탈취 한 후 메모리와 디스크 정보를 덤프하여 개인 중요 정보 탈취 코드 실행 공격 단말기에서 실행되는 앱의 임의 코드 실행 취약점을 이용하여 단말기를 장악하는 공격 웹 기반 공격 웹 뷰를 통해 만들어진 앱에서 웹 취약점을 통해 사용자 및 서버 공격 악성 앱 공격 정상 앱의 서명 개인키를 탈취하여 악성 코드를 삽입한 업데이트 버전을 배포하는 방식으로 공격 Android Architecture Android는 다양한 기기와 폼 팩터에 사용할 수 있도록 제작된 Linux 기반의 오픈소스 소프트웨어 스택이다. Linux Kernel Kernel은 운영체제를 운영하는데에 필요한 기능들을 연결해주는 역활을 수행한다. Android 플랫폼의 기반은 Linux 커..
2022.12.06 -
개요 컨테이너 기술은 운영체제 수준의 가상화 기술로 Host 운영체제와 격리되어 실행된다는 것이 보안 관점에서 큰 메리트가 있다. 하지만 기존의 취약점들과 동일하게 관리자의 미흡한 설정, 격리 기술 우회 등 다양한 위협 포인트가 계속해서 발생하고 있다. 이 장에서는 관리자의 미흡한 설정으로 사용자가 컨테이너를 탈출하여 Host 시스템을 탈취하는 시나리오를 알아보자. Mount란? 리눅스에서 디스크와 같은 물리적 장치를 특정위치(디렉터리)에 연결시켜 주는 것 Bind Mount란? Host의 파일 시스템을 컨테이너의 특정위치(디렉터리)에 연결시켜 주는 것 부적절한 Bind Mount 설정 취약점 1. Docker가 설치된 리눅스 준비 2. Host의 /etc 디렉터리를 컨테이너의 /tmp 디렉터리로 Bin..
[컨테이너 보안] 2-1장. 컨테이너 탈출 - 부적절한 Mount 설정개요 컨테이너 기술은 운영체제 수준의 가상화 기술로 Host 운영체제와 격리되어 실행된다는 것이 보안 관점에서 큰 메리트가 있다. 하지만 기존의 취약점들과 동일하게 관리자의 미흡한 설정, 격리 기술 우회 등 다양한 위협 포인트가 계속해서 발생하고 있다. 이 장에서는 관리자의 미흡한 설정으로 사용자가 컨테이너를 탈출하여 Host 시스템을 탈취하는 시나리오를 알아보자. Mount란? 리눅스에서 디스크와 같은 물리적 장치를 특정위치(디렉터리)에 연결시켜 주는 것 Bind Mount란? Host의 파일 시스템을 컨테이너의 특정위치(디렉터리)에 연결시켜 주는 것 부적절한 Bind Mount 설정 취약점 1. Docker가 설치된 리눅스 준비 2. Host의 /etc 디렉터리를 컨테이너의 /tmp 디렉터리로 Bin..
2022.12.01 -
보호되어 있는 글입니다.
아크로니스 백업솔루션 도입 과정보호되어 있는 글입니다.
2022.11.30 -
보호되어 있는 글입니다.
android app 분석방법보호되어 있는 글입니다.
2022.10.31