Season 1
-
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 -
보호되어 있는 글입니다.
(인프런) 비 개발자들을 위한 IT 개발 지식 강의 정리보호되어 있는 글입니다.
2022.11.30 -
문제풀이 목표: 이것은 미사일 발사 앱입니다. 전쟁이 아닌 사랑을 퍼뜨려라! DOS 망할 것! 여기서 당신의 목표는 코드를 찾은 다음 미사일을 발사하는 것이 아니라 앱을 충돌시키는 것입니다(그리고 충돌의 근본 원인을 찾는 것입니다). 힌트: 입력을 사용하기 전에 필터링하거나 유효성을 검사하지 않으면 입력 유효성 검사 문제가 부적절하거나 전혀 발생하지 않습니다. 외부에서 입력을 받는 구성 요소를 개발할 때는 항상 유효성을 검사하십시오. 이것은 고전적인 메모리 손상 취약점입니다. 코드 실행을 얻을 수 있다면, 당신의 의견을 듣고 싶습니다. 나는 아무도 그렇게 멀리 갈 것이라고 기대하지 않습니다. 이와 같이 임의의 문자열과 so 파일에서 확인한 문자열을 삽입해보면, 상반된 결과 값이 출력되는 것을 확인할 수 ..
[Android] 13. 입력 유효성 검사 문제 - Part 3문제풀이 목표: 이것은 미사일 발사 앱입니다. 전쟁이 아닌 사랑을 퍼뜨려라! DOS 망할 것! 여기서 당신의 목표는 코드를 찾은 다음 미사일을 발사하는 것이 아니라 앱을 충돌시키는 것입니다(그리고 충돌의 근본 원인을 찾는 것입니다). 힌트: 입력을 사용하기 전에 필터링하거나 유효성을 검사하지 않으면 입력 유효성 검사 문제가 부적절하거나 전혀 발생하지 않습니다. 외부에서 입력을 받는 구성 요소를 개발할 때는 항상 유효성을 검사하십시오. 이것은 고전적인 메모리 손상 취약점입니다. 코드 실행을 얻을 수 있다면, 당신의 의견을 듣고 싶습니다. 나는 아무도 그렇게 멀리 갈 것이라고 기대하지 않습니다. 이와 같이 임의의 문자열과 so 파일에서 확인한 문자열을 삽입해보면, 상반된 결과 값이 출력되는 것을 확인할 수 ..
2022.11.29 -
문제풀이 목표: 무엇이 하드코딩되어 있고 어디에 있는지 알아내십시오. 힌트: 개발자는 때때로 쉽게 민감한 정보를 하드코딩합니다. 임의의 값을 입력 후 인증 요청 시 차단 문구가 출력되는 것을 확인 할 수 있다. 코드를 살펴보니, 인증 값이 divajni이라는 라이브러리 파일에 저장되어서 인증 시 값을 불려오는 로직을 확인하였다. apk 내의 lib 디렉터리에서 libdivajni.so 파일에서 문자열을 추출하였다. 추출된 문자열에서 의심이 되는 값을 넣어서 확인해보니, 인증에 성공하였다.
[Android] 12. 하드코딩 이슈 - Part 2문제풀이 목표: 무엇이 하드코딩되어 있고 어디에 있는지 알아내십시오. 힌트: 개발자는 때때로 쉽게 민감한 정보를 하드코딩합니다. 임의의 값을 입력 후 인증 요청 시 차단 문구가 출력되는 것을 확인 할 수 있다. 코드를 살펴보니, 인증 값이 divajni이라는 라이브러리 파일에 저장되어서 인증 시 값을 불려오는 로직을 확인하였다. apk 내의 lib 디렉터리에서 libdivajni.so 파일에서 문자열을 추출하였다. 추출된 문자열에서 의심이 되는 값을 넣어서 확인해보니, 인증에 성공하였다.
2022.11.29