Route53 Route53은 가용성과 확장성이 뛰어난 DNS(Domain Name Service) 웹 서비스이다. Route53은 세 가지 주요 기능을 제공한다. = 도메인 등록 . 도메인 이름 등록 허용 = DNS(Domain Name Service) 서비스 . www.example.com과 같은 친숙한 도메인 이름을 192.0.2.1과 같은 IP 주소로 변환한다. . 권한 있는 DNS 서버의 글로벌 네트워크를 사용하여 DNS 쿼리에 응답하여 지연 시간을 줄인다. . 인터넷 트래픽을 CloudFront, Elastic Beanstalk, ELB 또는 S3로 라우팅할 수 있다. = 상태 점검 . 웹 및 전자 메일 서버와 같은 리소스의 상태를 모니터링 할 수 있다. . 인터넷을 통해 자동화된 요청을 응용..
직접 연구하여 작성한 자료입니다. 공식 출처가 명시되지 않은 자료의 무단 복제, 사용을 금지합니다. 공격 기법은 학습용, 허가된 환경에서 실습 바랍니다. 실 운영망 대상 공격은 처벌받습니다. (정보통신망법 제48조 1항) 개요 안드로이드에서 앱의 구성 단위인 Activity에 대해 알아보고, 액티비티의 생명주기(Lifecycle)에 대해서도 알아본다. 1. Activity main() 함수를 실행시켜 프로그램을 시작하는 기존 바이너리와 달리 안드로이드에서는 Activity의 특정 콜백 함수를 실행시켜 Activity 인스턴스의 코드를 실행한다. 앱의 시작 지점이 다를 수 있기 때문인데, 설치된 앱을 사용자가 터치하여 실행하는 경우도 있지만, 다른 앱으로부터의 호출, 전화가 오는 경우 전화앱이 실행되지만 ..
[분석환경] OSX, Android Emulator API 33 이 글은 안드로이드 모의해킹 카테고리 중 트러블슈팅을 위한 글입니다. 문제 1. Read only filesystem 해결 1. adb 내에서 다음 절차를 진행한다. 전체 파일 시스템을 읽기쓰기 가능한 모드로 리마운트 시켜준다. mount -o rw,remount / 문제 2. '/dev/block/dm-4' is read-only 해결 2-1. 에뮬레이터 환경에서 실제 기기와 다른 경로에 파일시스템이 마운트되어 있는 경우 위와 같은 에러가 발생한다. > adb root > adb shell avbctl disable-verification Successfully disabled verification. Reboot the device fo..
AWS Global Accelerator AWS Global Accelerator는 글로벌 사용자에게 애플리케이션의 가용성과 성능을 향상시키는 데 도움이 되는 네트워킹 서비스이다. AWS Global Accerlerator는 애플리케이션에 대한 경로를 최적화하여 패킷 손실, 지터 및 지연 시간을 지속적으로 낮춘다. 첫 번째 바이트 지연 시간(패킷이 클라이언트에서 엔드포인트로 이동했다가 다시 돌아오는 왕복 시간)과 지터(지연 시간의 변화)를 줄이고 공용 인터넷에 비해 처리량(초 단위로 전송되는 데이터 양)을 높여 응용 프로그램의 성능을 향상시킨다. Global Accerlerator는 광범위하고 잘 모니터링되고 혼잡이 없는 중복 AWS 글로벌 네트워크를 사용하여 TCP 및 UDP 트래픽을 사용자에게 가장 ..
직접 연구하여 작성한 자료입니다. 공식 출처가 명시되지 않은 자료의 무단 복제, 사용을 금지합니다. 공격 기법은 학습용, 허가된 환경에서 실습 바랍니다. 실 운영망 대상 공격은 처벌받습니다. (정보통신망법 제48조 1항) 1. AndroidManifest.xml 개요 구글에서 제공하는 공식 문서를 참고하였다. https://developer.android.com/guide/topics/manifest/manifest-intro.html AndroidManifest.xml은 아래에서 설명하는 구성요소를 정의하고 어떤 작업을 수행할 지 시스템에 알려주는 제어 파일이다. 각 요소는 XML 형식으로 되어 있으며 Key-Value 관계를 가진다. 포함하는 정보에는 여러가지가 있지만 다음 정보를 필수로 포함해야 한..
직접 연구하여 작성한 자료입니다. 공식 출처가 명시되지 않은 자료의 무단 복제, 사용을 금지합니다. 공격 기법은 학습용, 허가된 환경에서 실습 바랍니다. 실 운영망 대상 공격은 처벌받습니다. (정보통신망법 제48조 1항) 1. APK(Android Application Package) 안드로이드 설치파일이다. APK 파일 구조는 그림과 같다. Manifest(AndroidManifest.xml): 메타데이터, 앱의 실행정보, 권한, 액티비티 목록등을 제공하는 파일이다. 앱의 패키지명. Activity, 리소스와 같은 응용 프로그램의 모든 구성 요소. 앱을 실행하는 데 필요한 권한 및 다른 응용 프로그램에서 앱의 정보에 액세스하는 데 필요한 권한(permission). 호환성 기능(예: 최소 Android..
CloudFront 배포 상세 가격 정보 CloudFront는 전 세계에 edge location을 가지며, 각 위치에 대한 비용이 다르고 요청을 처리하는 데 드는 비용도 다르다. CloudFront edge location은 지리적 영역으로 그룹화되고, 지역은 가격 클래스로 그룹화 되어 있다. = 가격 등급 - 모든 리전 포함 = 가격 등급(Price Class 200) - 남미와 호주 및 뉴질랜드를 제외한 모든 지역을 포함 한다. = 가격 등급(Price Class 100) - 가장 저렴한 지역(북미 및 유럽 지역) 가격 등급을 선택하여 비용을 절감할 수 있지만, CloudFront는 선택한 가격 클래스 edge location에서만 요청을 처리하므로 성능 저하(대기 시간 증가)가 발생한다. Clou..
[개발환경] M2 OSX Ventura 13.2.1 VS Code SpringBoot 3.0.2 OpenJDK 17 Gradle 7.6 [Docker] - mysql:latest 들어가며 Spring Session과 JWT는 둘 다 스프링 부트 애플리케이션에서 인증과 세션 관리를 위해 사용될 수 있지만, 서로 다른 방식으로 작동한다. 앞선 포스트에서 Spring Session에 대해서 설명하고 직접 구현해 보았다. 2023.03.08 - [DEV/SpringBoot] - [SpringBoot3] 로그인 페이지 실습 1 JWT는 서버와 클라이언트 간의 인증에 사용되며, 클라이언트에서 토큰을 생성하고 서버에서 검증한다. JWT는 사용자 정보와 권한 정보를 포함할 수 있으며, 서버 측에서 세션을 저장하거나 관..
[개발환경] M2 OSX Ventura 13.2.1 VS Code SpringBoot 3.0.2 OpenJDK 17 Gradle 7.6 [Docker] - mysql:latest 들어가며 SpringBoot3에서 Spring Session과 JWT를 이용한 인증, 인가 로직을 구현하고 발생할 수 있는 취약점을 분석한다. Spring Session과 JWT는 둘 다 스프링 부트 애플리케이션에서 인증과 세션 관리를 위해 사용될 수 있지만, 서로 다른 방식으로 작동한다. Spring Session은 세션 데이터를 저장하기 위한 다양한 저장소(예: Redis, MongoDB, JDBC 등)를 지원하며, 서버 측에서 세션을 관리한다. Spring Security와 함께 사용할 때, Spring Session은 인..
CloudFront 보안 CloudFront 보안은 여러가지 특징을 가진다. = 유휴상태 및 전송 시 암호화 지원 = 특정 지리적 위치의 사용자가 콘텐츠에 액세스하지 못하도록 방지 = HTTPS 연결 구성 = 서명된 URL 또는 쿠키를 사용하여 선택한 사용자의 액세스를 제한 = 오리진 액세스 ID(OAI)를 사용하여 S3 버킷의 콘텐츠에 대한 액세스를 제한하여 사용자가 파일의 직접 URL을 사용하지 못하도록 한다. = 특정 내용 필드에 대한 필드 수준 암호화 설정 = AWS WAF 웹 ACL을 사용하여 웹 액세스 제어 목록(웹 ACL)을 작성하여 내용에 대한 액세스를 제한 = 특정 지리적 위치의 사용자가 CloudFront 배포를 통해 제공되는 콘텐츠에 액세스하지 못하도록하려면 지리적 제한(geobloc..