본문 바로가기

해킹/IOS 앱 취약점 진단

Frida를 무조건 익혀야 하는 이유(ios, android 앱 분석)

 

안녕하세요. 오늘은 Frida를 무조건 익혀야 하는 이유에 대해서 작성해보려고 합니다.

https://frida.re/

 

Frida • A world-class dynamic instrumentation framework

Inject JavaScript to explore native apps on Windows, macOS, GNU/Linux, iOS, Android, and QNX

frida.re

 

Frida는 윈도우, 맥, 리눅스, IOS, ANDROID 기반 바이너리를 분석하기 위한 라이브러리 입니다. 

예를 들어 윈도우 실행파일 분석에 많이 쓰이는 올리디버거, IDA 등이 있는데요. 

그런데도 왜 Frida가 중요한 것일까요?

 

바이너리를 분석하는 과정에는 동적 분석과 정적 분석이 있습니다.

두가지 모두 장단점을 가지고 있지만 개인적인 의견으로는 정적분석은 하지 않아도 되지만

동적 분석 없이는 분석이 매우 힘들어집니다. 

 

그러한 이유로 Frida가 중요한 이유는 IOS ANDROID 같은 환경에서는 로컬 디버깅이 제한되지만

Frida를 사용하면 로컬 디버깅하는 것 처럼 동적 분석이 가능하게 됩니다.

 

 

Frida를 쓰지않고 안드로이드에서 동적 분석을 하면 되지 않느냐? 라고 궁금하실 수 있습니다. 

거의 대부분의 배포되는 앱들은 디버깅이 불가능하도록 설정되어 배포됩니다. 

그러므로 동적 분석을 하기 위해서는 APK 디컴파일, 설정 값 변경, APK 컴파일, 앱 서명, 설치 라는 과정이 필요하게 됩니다.

 

이러한 많은 과정을 하지 않고 동적 분석을 할 수 있는 것은 굉장히 큰 이점이죠.

그러나 Frida를 접해보지 않은 분들은 매우 낯설 수 있다는 것은 단점입니다.

 

저는 최근 IOS와 안드로이드 버그 헌팅을 준비하면서 여러 공격 경로를 알아보고 있는데요. 

IOS는 너무 공격할 수 있는 경로가 부족한 반면에 안드로이드는 그동안 분석하던 윈도우와 비슷해서 

안드로이드 앱 분석을 하고 있는데요. 이제 동적 분석을 시작하려는 찰나에 Frida를 동적 분석에 사용할 방안을 찾고 글을 쓰게 됬네요

 

만약 버그 헌팅에 관심이 있거나, 앱 분석을 하게 된다면  Frida에 익숙해지는 것을 추천드립니다!