모바일 앱 해킹을 해야하는 이유
모의해킹 일을 하기 위해서는 모바일 앱 해킹은 필수다.
요즘에는 웬만한 회사에 웹 사이트가 있고, 이와 더불어 앱까지 운영하는 경우가 많다. 그렇기 때문에 모의해킹 실무에 뛰어 들면 모바일 앱 해킹은 거의 무조건 배우게 된다고 한다. 그래서 정리해보는 모바일 앱 해킹 과정이다.
모바일 앱 해킹 취약점 2가지
(1) 서버 측
보통 앱을 실행하면 서버의 정보를 단말기로 가져와서 우리한테 보여주는 데, 이 서버에 존재하는 취약점을 찾는 것이다.
예를 들어 영화(CGV, 롯데시네마 등) 앱을 실행하면 영화 정보를 서버에서 단말기로 가져와서 보여준다.
여기서 영화 정보를 가져오는 파라미터에 SQL 질의문을 삽입해서 SQL Injection 취약점을 찾을 수 있고, 프로필 사진에 웹쉘을 업로드 해서 파일 업로드 취약점을 찾아낼 수 있다.
서버 측 취약점은 지금까지 배웠던 웹 모의해킹 기술을 그대로 활용하여 찾을 수 있다.
(2) 단말기
단말기 취약점은
- 공격자가 피해자의 단말기를 탈취하고, 악성코드에 감염시켰을 때.
라는 가정이 필요하다.
단말기 취약점은 세부적으로 2가지로 나뉜다.
1) 이용자의 안전한 정보 보관
앱은 실행 중에 필요한 이용자의 정보를 단말기에 저장한다. 이용자의 정보가 메모리 등의 저장공간에 평문으로 저장되는지, 그래서 탈취됐을 때 노출되는지 등의 취약점을 찾아내는 것이다.
A라는 앱에 자동 로그인이 구현되어 있다고 가정해보자. A는 자동 로그인을 위해 사용자의 ID와 패스워드를 단말기에 평문으로 저장한다.
만약 공격자가 이 사실을 알고 있다면 사용자의 단말기에 스파이앱을 설치해서 정보를 자신의 서버로 전송하게 만들 수 있다.
이를 통해 공격자는 크리덴셜 스터핑으로 다른 계정이 연이어 탈취하는 등의 추가적인 공격 행위를 수행할 수 있다.
따라서 사용자의 정보가 안전하게 보관되는지 확인하는 과정이 필요하다.
2) 앱 흐름 제어
앱의 흐름을 임의로 제어해서 문제되는 행동을 할 수 있는지 확인하는 것이다.
로그인 후 영어 공부 화면이 나오는 영어 공부 앱을 생각해보자.
공격자가 앱의 흐름 제어를 통해 로그인 과정을 우회해서 영어 공부 페이지가 나오게 된다면 인증되지 않은 사용자가 서비스를 이용할 수 있는 취약점이 존재한다.
따라서 앱 서버에서 권한 체크가 안전하게 구현되어 있는지 확인하는 과정이 필요하다.
모의해킹 스터디가 끝난지 어언 2달이 다되어간다. 보안기사 공부하느라 이제서야 마지막주 수업 정리 내용을 업로드한다..ㅜ
모바일 앱 해킹은 맛보기 수업으로 진행돼서 그런지 이해하기가 쉽지 않았다. 추가적으로 강의를 결제해서 공부를 해야하 고민된다.
'모바일 앱 해킹' 카테고리의 다른 글
[DIVA] Insecure Logging(안전하지 않은 로깅) | 안드로이드 앱 취약점 실습, DIVA란? (0) | 2024.05.18 |
---|---|
취약한 로깅 메커니즘 | 안드로이드 앱 해킹, 인시큐어뱅크 실습 (0) | 2024.05.16 |
로컬 암호화 이슈 | 안드로이드 앱 해킹, 인시큐어뱅크 실습 (0) | 2024.05.12 |
안드로이드 앱 구조 이해하기 | apk, dex, manifest 등 (0) | 2024.05.10 |
모바일 앱 해킹 이걸 해봐라 | 모바일 앱 개발, Frida, DIVA (0) | 2024.05.10 |