[보안뉴스 권 준 기자] 최근 모바일 웹상에 있는 링크나 그림을 클릭할 경우 기기 내 관련 앱이나 사전에 정의된 특정 웹페이지가 실행되는 모바일 기술인 ‘딥링크(Deeplink)’에서 취약점이 발견됐다.
[이미지=utoimage]
한국인터넷진흥원(KISA) 침해사고분석단 취약점분석팀은 모바일 애플리케이션마다 개별적으로 생성한 딥링크의 검증 부재로 인해 공격자가 조작한 악성 URL 링크에 접속할 경우, 관련 앱 자바 스크립트가 권한인증 없이 자동으로 실행되어 의도치 않은 악성 URL에 접속하고 애플리케이션 내 민감한 개인정보(카드번호, 주소 등)가 공격자에게 노출될 수 있다며 모바일 딥링크 취약점 관련 보안조치 보고서를 발표했다.
딥링크에 대한 인증이 미흡해 공격자가 조작한 링크로 접속할 경우 웹 내 자바스크립트 권한 부여를 통해 민감한 개인정보를 호출할 수 있고, 이를 통해 공격자 사이트에 개인정보가 전달될 수 있다는 설명이다.
이와 관련 KISA는 딥링크를 사용하고 있는 앱 개발자는 보안 조치방안 4가지를 참고하여 패치하거나 개발을 진행해야 한다고 권고했다.
1. 딥링크 URI 파싱 시 취약점 함수 사용 금지
- 취약점 : substring 메소드로 받은 딥링크 파라미터는 사용자 애플리케이션 자바스크립트 권한을 받아 결과 값(애플리케이션 내 카드번호, 주소 등 민감한 개인정보)을 공격자 사이트에 반환
- 조치방안 : URI 파싱 시 getHost, substring, split 함수를 통해 필터링 없이 값을 가져오지 말아야 하며, getQueryParameter 등의 함수를 활용하여 사전에 정의된 인자 값을 파싱하도록 권장
2. 인가된 URI에만 자바인터페이스 권한 부여
- 취약점 : 외부 사이트에서 접속 시 검증 없이 자바인터페이스 권한을 줄 때 이를 악용하여 개인정보 유출(세션값, 전화번호, 카드번호, 주소 등)
- 조치방안 : 외부 사이트에서 자바인터페이스 권한을 허용하여 세션, 위치정보 등 개인정보가 유출되지 않도록 제한 필요
3. 도메인 검증을 이용한 우회 방지
- 취약점 : 도메인 뒤 또는 앞에 attacker.net과 같은 서브 도메인을 추가하여 실질적으로 관련 앱의 권한을 받음
- 조치방안 : ①하드코딩 된 일부 string 구문 비교를 통해 파싱할 경우 취약점을 유발할 수 있으므로 검증된 도메인에서 함수 호출, 정보 반환, 웹뷰를 출력하도록 검증된 도메인 리스트 설정 필요
②서브 도메인 악용을 막기 위해 슬래쉬(/)로 끝나도록 명확한 검증 도메인명 작성
4. URI.parse 함수 사용 시 특수문자 필터링 필요
- 취약점 : URI.parse 함수 사용 시 특정 특수문자 문자열을 삽입하여 URI 인증을 우회, 앱의 권한을 받음
- 조치방안 : 필터링을 통해 우회하지 못하도록 특수문자 검증 등의 조치 권장, URI.parse 함수는 getdata 등의 대체 함수 사용 권장
모바일 딥링크 취약점과 관련 보안조치에 대한 보다 자세한 리포트는 KISA 인터넷보호나라&KrCERT 자료실이나 본지 시큐리티 콘텐츠 코너에서 다운로드 받을 수 있다. 한편, 해당 취약점은 KrCERT 홈페이지를 통해 장태진 씨가 제공해 알려졌다.
[권 준 기자(editor@boannews.com)]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>