Ове информације су намењене програмерима са апликацијама које садрже пропуст у вези са унакрсним скриптовањем апликација.
Шта се дешава
Једна апликација или више њих садржи пропуст у вези са WebView унакрсним скриптовањем апликација, што злонамерним апликацијама може да омогући да краду колачиће и друге податке корисника. Погледајте обавештење у Play конзоли. Уклонићемо из Google Play-а све апликације које и после датума наведених у Play конзоли буду садржале безбедносне пропусте.
Треба да реагујете
- Пријавите се у Play конзолу и идите до одељка Обавештења да бисте видели које апликације су угрожене и рокове за решавање тих проблема.
- Ажурирајте апликације на које се ово односи и исправите пропусте.
- Пошаљите ажуриране верзије апликација на које се ово односи.
У том периоду нова апликација или ажурирање апликације ће имати статус Чека на објављивање док не прегледамо захтев. Ако апликација није исправно ажурирана, и даље ћете видети упозорење.
Додатне информације
Злонамерне апликације могу да преваре WebView-ове који омогућавају JavaScript и учитавају податке добијене из непоузданих намера ради покретања JavaScript кода у небезбедном контексту. Препоручујемо вам да спречите овај пропуст на један од следећих начина:
1. опција: Уверите се да се угрожене активности не извозе
Пронађите активности са угроженим WebView-овима. Ако ове активности не морају да преузимају намере из других апликација, можете да подесите android:exported=false за активности у манифесту. Овим се обезбеђује да злонамерне апликације не могу да шаљу штетне уносе у WebView-ове у тим активностима.
2. опција: Заштитите WebView-ове у извезеним активностима
Ако желите да подесите неку активност са угроженим WebView-ом као извезену, препоручујемо вам да унесете следеће промене:
- Заштитите позивање на evaluateJavascript и loadUrl
Уверите се да су параметри за evaluateJavascript увек поуздани. Позивање на evaluateJavascript преко уноса који садржи грешку из непоузданих намера омогућава нападачима да покрену штетне скрипте у угроженом WebView-у. Слично томе, позивање на loadUrl преко уноса са грешком који садржи URL-ове са javascript: шемама омогућава нападачима да покрену штетне скрипте.
- Спречите учитавања небезбедних фајлова
Уверите се да угрожени WebView-ови не могу да учитају базу података о колачићима.Злонамерне апликације у два корака могу да нападну WebView-ове који из непоузданих намера учитавају URL-ове са путањом file:// који садрже грешку. Први корак: Злонамерна веб-страница може да дода ознаке <script> у базу података о колачићима. Други корак: Овај измењени фајл базе података колачића може да се учита ако злонамерна апликација шаље намеру са URL-ом file:// који упућује на базу података колачића WebView-а или ако сама злонамерна веб-страница преусмерава свој WebView на URL фајла. Злонамерна ознака <script> сачувана у бази података о колачићима ће се учитати и извршити, што може да вам украде податке о сесији.
Можете да се уверите да угрожени WebView-ови не могу да учитавају базу података о колачићима WebView-а на следећа три начина.
- Онемогућите сав приступ фајловима.
- Уверите се да WebView учитава само URL-ове file:// и потврдите да сви учитани URL-ови file:// усмеравају на безбедне фајлове. Имајте на уму да нападач може да користи симболичан линк да би преварио провере путање URL-а. Да бисте спречили такав напад, пре учитавања проверите каноничку путању сваког непоузданог URL-а file:// уместо обичне провере путање URL-а.
- Ако желите да омогућите и URL-ове http:// и URL-ове file://, примените верификацију URL-а file:// користећиshouldOverrideUrlLoading иshouldInterceptRequest у обрађивачу WebViewClient. На тај начин обезбеђујете да сви URL-ови учитани у WebView буду верификовани, а не само URL-ови који су директно послати у позив функције loadUrl().
Ту смо да помогнемо
Ако имате техничких питања у вези са пропустом, можете да их поставите на Stack Overflow и користите ознаку android-security. Да бисте боље разумели кораке које треба да предузмете за решавање овог проблема, обратите се тиму корисничке подршке за програмере.