출처
: http://storyj.net/안드로이드-webview-세큐리티-문제-javascriptinterface/
Android어플에서 웹뷰의 html에 android내부 메소드 등을 호출 할 수 있는 기능이
JavascriptInterface입니다.
그 방법은 이하 페이지 등에서 찾을 수 있네요.
http://www.techdoctranslator.com/android/webapps/webview
이번에 쓰고 싶은 것은 그 사용법에 대해서가 아니라 이것이 세큐리티에 문제가 있다는 겁니다.
개인적으로 어플을 만들때도 꽤 위험한 세큐리티 홀이기 때문에 이 정도는 대비해줘야 한다고 생각됩니다.
공격 패턴은 간단히 정리하면 어플의 실행 권한 범위 내에서 어플의 데이터를 검색, 누설 또는 변조가능합니다.
#세큐리티 홀 대상#
Android 4.4.x에서 addJavascriptInterface를 사용하는 앱
Android 3.0-4.12에서 WebView를 사용하는 앱
아래와 같은 대비 방법이 있습니다.
1. 가능 하면 자바스크립을 무효화. 아마 기본 설정이 무효화 되어 있을 겁니다만 아래 코드로 유효화 시키곤 합니다.
setJavaScriptEnabled(true)
2. 신뢰 가능한 URL만 관람가능하게 + 모든 액티브 콘텐츠에 HTTPS를 사용(변조 방지)
3. removeJavascriptInterface로 OS의JavascriptInterface(searchBoxJavaBridge_, accessibilityTraversal, accessibility)삭제.
이건 메이커 고유의 JavascriptInterface는 어쩔 수 없네요.
removeJavascriptInterface(“searchBoxJavaBridge_”);
'IT_Programming > Android_Java' 카테고리의 다른 글
[펌] Android viewpager indicator 사용하기 (0) | 2014.07.28 |
---|---|
[펌] Android viewpager indicator 사용하기 (0) | 2014.07.25 |
Retrofit - 쉽고 빠른 Android HTTP REST 인터페이스 라이브러리 (0) | 2014.07.19 |
Manifest Activity 태그의 launchMode 에 대해 들어보셨나요? (0) | 2014.07.18 |
android:launchMode, singleTop과 singleTask의 차이 (0) | 2014.07.18 |