안드로이드 앱, 링크 클릭만 해도 정보 털릴 수 있다

박찬암 스틸리언 "앱 소스코드 난독화·디컴파일 방지 등 보호 조치 필요"

컴퓨팅입력 :2020/11/12 13:19

모바일 앱의 특정 페이지를 제공하는 링크인 '딥링크'를 통해 앱에서 다루는 개인정보가 유출될 수 있는 취약점에 대해 앱 운영사들이 대비책을 세워야 한다는 보안 전문가 조언이 나왔다.

보안 전문 기업 스틸리언의 박찬암 대표는 온라인으로 열린 '금융정보보호(FISCON) 2020' 컨퍼런스 특별강연을 통해 이같이 말했다.

박찬암 대표는 딥링크 취약점에 대해 "2016년에 처음 발견됐고, 최근 수십여개 앱에서도 이 취약점을 발견했다"며 "한국인터넷진흥원(KISA)에서 해당 취약점에 대한 보안 권고도 발표한 상태이며, 지금도 상당수 앱이 이 관련 공격에 취약할 것으로 예상된다"고 말했다.

박찬암 스틸리언 대표

딥링크 기능은 모바일 앱에서 웹페이지를 보여주는 기능인 '웹뷰'를 지원하기 위해 쓰인다. 링크 URL은 일반적인 URL에서 'http'에 해당하는 부분을 바꿔 입력함으로서 사용하게 된다. 사용자가 딥링크를 클릭하면 앱이 열리고, 특정 기능이 실행되는 식으로 동작한다.

앱 운영사들은 딥링크를 자유롭게 정의해 쓴다. 문제는 이렇게 개별적으로 생성된 딥링크를 이용해 사용자가 악성 URL로 접속하게끔 공격자가 조작할 가능성이 생긴다는 것이다. 악성 URL에 접속하게 되면 앱에서 다루는 사용자의 주소나 카드 번호 등 민감한 개인정보가 유출될 수 있다.

공격자는 이런 공격을 시도하기 위해 앱의 소스코드를 분석하는 작업이 필요하다. 박 대표는 "보안이 잘 돼 있는 앱은 디컴파일(앱을 소스코드로 변경하는 것) 방지, 코드 난독화나 암호화 등의 보호 기술이 적용돼 있어 이런 조치를 우회하기 위한 추가 작업이 필요할 수 있다"고 덧붙였다.

박 대표는 실제로 서비스 중인 청구서 앱을 분석한 결과를 소개했다. 분석 당시 딥링크가 삽입된 소스코드에 대해 다른 URL로 조작이 가능한 상태였다. 이런 점을 노려 해커는 사용자에게 딥링크 취약점을 악용한 악성 URL을 전송하고, 사용자가 이를 클릭하면 로그인 세션이 탈취되는 공격을 할 수 있었다.

박 대표는 "청구서 조회 페이지를 나타내는 딥링크 URL로 접속할 때, 로그인 세션이 함께 전달이 됐는데 사용자를 증명하는 정보를 제공하기 위한 것으로 보인다"면서도 "딥링크 URL을 해커가 조작할 수 있었기 때문에 딥링크를 통해 해커가 만든 웹사이트로 로그인 세션이 넘어갈 수 있었고, 계정 탈취와 동일한 결과가 나타날 수 있었다"고 분석했다. 현재 해당 앱은 취약점 분석 및 보안 패치를 마친 상태다.

관련기사

마찬가지로 현재는 보안 패치가 이뤄진 핀테크 앱의 사례도 소개했다. 해당 앱의 설명서 역할을 하는 안드로이드 매니페스트 파일을 열어 딥링크 관련 소스코드를 찾아냈다. 이후 딥링크를 통해 이용할 수 있는 기능을 분석해 사용자의 GPS 정보를 탈취하는 악성코드를 만들 수 있었다고 설명했다.

딥링크 취약점을 효과적으로 보완하기 위한 대응책으로 박 대표는 "딥링크 인자 값을 검증하고, 앱 보호기술을 적용해 공격자가 앱 디컴파일 및 소스코드 분석을 하지 못하도록 대비할 수 있다"며 "소스코드 분석을 어렵게하는 난독화와 같은 기술도 적용될 수 있다"고 조언했다.