1. 실습
4자리 숫자를 입력 후 Validate code 버튼을 클릭 시 입력한 숫자를 담은 에러 메시지가 출력
에러메시지 문자열 검색
분기점에서 성공했을 때 출력되는 문자열 발견
기드라에서 확인한 인증번호(8848) 입력 시 성공 확인
분기가 발생하는 주소 및 분기에 영향을 미치는 cmp 명령어 확인
레지스터 값을 확인하는 실행 코드
위의 코드를 실행시키면 x8에는 16진수 2290이 x9에는 16진수 457이라는 값이 들어가 있는 것을 확인
인증코드 1111을 입력했을 때 x9 레지스터에 1111이 16진수로 변환된 값이 저장된 것으로 보아 x9 레지스터에는 사용자 입력값이 저장되고, x8 레지스터에는 정확한 인증번호가 저장되어 있는 것을 알 수 있음
브루트포스 공격을 시도하기 위한 코드
공격코드 실행 시 공격 성공 확인
2. 대응방안
- 디버깅 방지 기술
1. 예방 기술 : 디버거가 애플리케이션에 연결되는 것을 방지
2. 반응 기술 : 디버거의 존재를 확인하고 애플리케이션 종료
- 디버깅 탐지 방법
1. ptrace 사용 : 프로세스 디버거 연결 방지(예방 기술)
2. sysctl 사용 : 연결된 디버거 탐지(반응 기술)
3. 프리다 아티팩트(Artefacts) 탐지
[도움 및 출처]
보안프로젝트 김태영 팀장 해커를 위한 iOS 앱 모의 해킹 전문 과정
'IOS 모의해킹' 카테고리의 다른 글
9. IPC Issues (0) | 2023.03.14 |
---|---|
8. Side Channel Data Leakage (0) | 2023.03.14 |
6. Runtime Manpulation(2) (0) | 2023.03.13 |
5. Runtime Manpulation(1) (0) | 2023.03.12 |
4. Excessive Perimssions (0) | 2023.03.11 |