brunch

You can make anything
by writing

C.S.Lewis

by penna Sep 10. 2024

루팅 우회

OS변조 탐지 취약점

"저희는 보안 솔루션을 사용하고 있습니다. 그러니 보안 솔루션 담당자가 조치해야 할 것 같습니다.

"루팅 탐지를 하고 있어서 앱에서 패킷을 잡을 수 없으니 요청 패킷을 변조한 취약점에 대한 조치로 볼 수 있지 않을까요?

"내 정보를 내가 보는 게 왜 취약한가요?


모바일 앱에 대한 취약점 항목을 보다 보면

OS변조 탐지

라는 항목이 있습니다.

변조된 OS에서 실행될 경우 앱에서 탐지를 하는지를 보는 항목인데요,


변조된 OS는 어떤 걸 말하는 걸까요?

안드로이드 환경에서는 루팅이라고 부르고, iOS 환경에서는 탈옥이라고 부르는 이 행위는

해당 기기의 관리자(또는 루트) 권한을 획득하는 과정입니다.


기기의 관리자 권한이 있다는 건

기기에 설치된 앱의 기능을 의도적으로 변조하고 다른 앱의 기능을 임의로 사용하는 앱을 실행시킬 수 있음을 의미하기도 합니다.


모바일 취약점을 점검할 때 안드로이드의 경우 송, 수신되는 패킷을 확인하고, 메모리와 기기 데이터 저장 폴더에 중요정보가 평문으로 보이는지 확인합니다. 디버깅 기능을 이용해서도 중요정보 평문 노출 여부를 확인하기도 합니다.

그리고 패킷과 메모리, 데이터 저장 폴더, 디버깅 로그는 루팅 된 기기에서 분석이 가능합니다.


그럼 루팅 된 기기에서 실행이 불가능하면 저런 취약점에 대한 위험성이 사라지는 건 아닐까요? 전제가 루팅 된 기기여야 확인이 가능하다는 게 담당자로서 조금 의아스러울 수 있습니다.


실제로도 어차피 루팅 탐지를 하고 있으니 중요정보 노출이나 인증 취약점에 대한 조치를 루팅 탐지 로직을 강화하여 대응할 수 있지 않냐는 질문을 받을 때도 있습니다.

중요정보의 경우 본인이 접근해서 자신의 정보가 보이는 건데 이게 꼭 취약할까 싶을 때도 있습니다.


공격자 입장에서 생각해 보아도 루팅기기에서 본인 정보를 획득하는 건 의미가 없을 것입니다.

하지만 이렇게 생각해 봅시다.


만약에 내가 로그인을 한 다음 다른 사용자 계정으로 바꿔치기가 가능하다면? 그러면 다른 사용자는 루팅 된 기기에서 앱을 사용하지 않았어도    공격자의 변조로 인해 루팅기기에서 앱을 실행한 것과 같아집니다.

때 중요정보가 단말에 저장되거나 메모리에 평문 정보가 보이고 송수신구간에서 보인다면, 공격자는 다른 사용자의 중요 정보 탈취 까지도 가능해집니다.


암호화된 정보라고 해도 복호화 로직을 찾아서 정보를 빼내 올 수 있기 때문에 꼭 필요한 서비스가 아니라면 중요정보가 암호화되어 있더라도 가능한 송, 수신 구간이나 메모리단에 보이지 않도록 해야 합니다.


루팅 된 기기에서는 관리자(루트) 권한으로 커널이나 시스템 파일을 변조하여 루팅 탐지를 무력화할 수 있습니다. 그렇기 때문에 루팅 된 기기에서 완벽하게 앱이 실행되지 않도록 하는 게 쉽지는 않습니다. 루팅 방식도 다양하고 탐지를 우회하는 기술도 계속해서 발전하고 있을 테니까요.


그래서 OS변조 탐지는 쉽게 우회되지 않도록 보완해나가는 방향으로,

만약 인증, 인가, 중요정보 평문 노출, 저장 부문에서 취약점이 나왔다면 OS변조 탐지를 강화하기보다는 해당 취약점에 맞는 적절한 조치가 필요합니다. OS변조 탐지 기능을 우회하면 해당 취약점이 다시 보일 테니까요.

그리고 보안 솔루션에서 OS변조 탐지를 하고 있더라도 1차적으로 앱 자체에서 OS변조 탐지를 할 수 있도록 권고하고 있습니다.


이전 09화 직원 정보
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari