Android 보안 WebViewUXSS 취약점

Android 보안 WebViewUXSS 취약점
  • 0X01 머리말
  • XSS는 우리가 비교적 익숙한 공격 방식으로 저장형 XSS, 반사형 XSS,DOM XSS 등을 포함하지만 UXSS(유니버설 XSS)의 또 다른 빈틈 유형은 주로 빈틈의 캐리어와 영향 범위에 나타난다.XSS 문제는 어느 WEB 사이트나 응용 프로그램에 안전 문제가 존재하지만 동원 정책의 제약을 받아 공격자는 빈틈이 있는 사이트의 답장 정보만 접근할 수 있고 다른 지역의 답장 정보는 접근할 수 없다.UXSS는 주로 브라우저나 브라우저 확장 프로그램의 안전 결함에서 비롯된 것으로 사이트 자체에 빈틈이 존재하지 않아도 빈틈을 촉발할 수 있다. 공격자는 브라우저가 열고 캐시하는 모든 페이지(다른 영역)의 세션 정보를 얻을 수 있기 때문에 UXSS 빈틈의 살상력이 매우 강하다.Google은 웹킷을 안드로이드에 이식하고 웹뷰 구성 요소로 SDK에 봉인했지만, 이전에 PC 버전인 크롬에 등장했던 웹킷의 빈틈은 SDK에서 복구되지 않았기 때문에 역사의 비극은android에서 다시 한 번 상연됩니다.https://bugs.chromium.org/p/c...수색하다.다음은 대응하는 몇 가지 빈틈을 소개한다. 
  • 0X02 CVE-2011-3881

  • WebKit, as used in Google Chrome before 15.0.874.102 and Android before 4.4, allows remote attackers to bypass the Same Origin Policy and conduct Universal XSS (UXSS) attacks via vectors related to(1) the DOMWindow::clear function and use of a selection object,(2) the Object::GetRealNamedPropertyInPrototypeChain function and use of an proto property,(3) the HTMLPlugInImageElement::allowedToLoadFrameURL function and use of a javascript: URL,(4) incorrect origins for XSLT-generated documents in the XSLTProcessor::createDocumentFromSource function, and(5) improper handling of synchronous frame loads in the ScriptController::executeIfJavaScriptURL function.
    이 빈틈은 주로 HTMLPlugInImageElement::allowedToLoadFrameURL 함수에서Javascript URL 주소에 대한 검사가 부족하고 원본 검사가 완전하지 않아서 발생하는 전역 문제:POC:
    window.onload = function(){
        object = document.createElement("object");
        object.data = "http://google.com/";
        document.body.appendChild(object);
        object.onload = function() {
        object.data = "javascript:alert(document.body.innerHTML)";
        object.innerHTML = "foo";
        }
    }
    

     
  • 0X03 CVE-2014-6041

  • The Android WebView in Android before 4.4 allows remote attackers to bypass the Same Origin Policy via a crafted attribute containing a u0000 character, as demonstrated byanonclick="window.open ('\u0000javascript:  sequence to the Android Browser application 4.2.1 or a third-party web browser.은 많은 업체가 시스템 자체 웹뷰를 직접 사용하기 때문에 이 취약점의 영향을 더욱 확대하여 당시 많은 주류 애플리케이션이 잇달아 총에 맞았다.POC:
    
    

     
  • 0X04 체크
  • 이러한 빈틈은 안전 동태를 제어하는 방식으로 자동화된 검측을 할 수 있으며, 관련 검측 사례는https://bugs.chromium.org/p/c...(bugid)에서 을(를) 검색했습니다. 
  • 0X05 보안 권장사항
  • 앞에서 언급한 이러한 UXSS 빈틈은 모두 안드로이드 4.4에서 복구되었고 웹키트를 자동으로 업그레이드하여 빈틈을 제때에 복구할 수 있도록 한다.사용자: 1) 최신 버전의 안드로이드 시스템 2) 보안이 알 수 없는 링크 업체를 함부로 클릭하지 마십시오. 1) 클라이언트는 onPageStarted(WebView view, String URL, Bitmap favicon) 방법을 사용하여 점프하기 전에 크로스 필드 판단 2) 최신 웹키 핵을 사용하지만 APK의 크기가 커집니다.Google Webkit 공식 업데이트를 따라가야 합니다.3) 클라이언트가 iframe object 태그 속성에 대해 필터 4) 정기적으로 빈틈 도구 검사(예를 들어 안전한 빈틈 라이브러리는 시장에 나타난 샘플에 따라 동시 업데이트)
     
  • 0X06 참조
  • http://drops.wooyun.org/tools...https://bugs.chromium.org/p/c...https://security.tencent.com/...텐센트 어안전기술팀

    좋은 웹페이지 즐겨찾기