개발/안드로이드 rooting

루팅(rooting)이란?

개복치 개발자 2019. 10. 16. 17:54

 

Rooting이란 - 루팅이란, 안드로이드 기기의 관리자 권한을 획득하여, 마음대로 시스템을 조작할 수 있는 것을 말합니다.

HW 성능 조작, 통신사 기본 앱 삭제, 시스템 권한을 이용하여 다양한 조작 등이 가능해지므로, 금융과 핀테크 관련 앱들은 rooting된 디바이스를 위협으로 간주합니다.

악의적인 목적을 가진 공격자들은 rooting 여부를 숨기기 위해서 다양한 시도를 하며, 아래와 같은 방식으로 루팅 탐지와, 루팅 탐지 우회를 합니다.

이번 프로젝트에서, 루팅 탐지와 루팅 탐지를 우회하는 방법 및 대책에 관하여 기술하겠습니다.

Rooting 탐지란 - 루팅 탐지에는 다양한 방법들이 사용되며, 대표적으로 아래와 같은 방법들을 사용할 수 있습니다.

- su 명령어 탐지

- 프로세스 리스트 탐지

- 루팅 관련 어플 설치여부 확인

- 폴더 권한 확인

Rooting 탐지 우회란 - 루팅을 한 경우, 여러가지 방법 들로 루팅 상태 여부를 알 수 있기 때문에, 악의적인 의도를 가진 공격자들은 루팅 여부를 숨겨놓습니다.

- 폴더 및 디렉토리 숨기거나 변경

- 후킹

대응방법 - 기본적인 루팅에 대한 대응 방법으로는, 루팅을 방지하는 부분의 코드가 노출되지 않아야 하며, 이 것을 위해서 코드 난독화, apk 무결성 검증 등을 실행합니다.

'개발 > 안드로이드 rooting' 카테고리의 다른 글

루팅 프로세스, 어플 탐지  (0) 2019.11.06
rooting su  (0) 2019.11.04
루팅환경 만들기  (0) 2019.11.03
루팅 방법  (0) 2019.11.02
rooting을 하면 할 수 있는 것  (0) 2019.11.01