Żewġ affarijiet kompletament differenti jissejħu blokkar tat-test ċar fuq Android. Waħda hija politika ġewwa app li tordna lill-istek tan-netwerk tagħha stess biex jirrifjuta HTTP sempliċi. L-oħra hija arranġament fil-livell tal-apparat li jipprova jipproteġi kollox fuq it-telefon f'daqqa, normalment billi jgħaddi t-traffiku minn VPN. Huma jsolvu problemi differenti, u t-tieni ma tistax tissewwi l-ewwel: tunnel jipproteġi s-segment bejn it-telefon u l-ħruġ, filwaqt li app li titkellem HTTP tibqa titkellem HTTP ma kull ma jinsab lil hinn minn dak il-ħruġ.

Żewġ problemi taħt isem wieħed

L-ewwel problema hija t-tagħbija: l-app tikteb kredenzjali jew tokens f talba li mhijiex encrypted mit-tarf sat-tarf, għalhekk kull qabża li tista taraha tista taqraha. It-tieni hija l-mogħdija: l-app tista tkun perfettament tajba, u xorta trid li l-operatur Wi-Fi lokali ma jitgħallem xejn dwar fejn tikkonnettja. VPN jindirizza t-tieni u biss it-tieni.

Dik id-distinzjoni tiddetermina ta min hi s-sewqa. It-tagħbija hi ta min iqassam l-app, għax dak il-kodiċi biss jiddeċiedi liema URL tissejjaħ u jekk tiġix ivvalidata ċertifikat. Il-mogħdija hi tal-apparat jew tan-netwerk, għax hija dwar fejn jivvjaġġaw il-pakketti, mhux x ikollhom ġo fihom.

L-ewwel mogħdija: l-app li tikkontrolla

Jekk tqassam l-app, is-sewqa hija deċiżjoni tat-trasport flimkien ma politika li tinforzaha. Dawwar kull punt tat-tmiem lejn HTTPS, żomm il-validazzjoni tal-isem tal-host u taċ-ċertifikat mixgħula, u ħassar il-fallback għal HTTP sempliċi minflok ma tħallih daqs bandiera tal-konfigurazzjoni il bogħod. Ridirezzjoni ma tgħinx hawn: talba HTTP li tirċievi 301 tkun diġà bagħtet il-headers u l-body tagħha fil-beraħ, għalhekk il-kredenzjali qatt m għandhom jivvjaġġaw bl-assunzjoni li r-ridirezzjoni se tipproteġihom.

Minn Android 7.0 il quddiem, Network Security Configuration tesprimi l-politika. Il-fajl hawn taħt huwa l-iżgħar verżjoni utli: jirrifjuta t-test ċar kullimkien sakemm eċċezzjoni speċifika għad-dominju ma tgħidx mod ieħor.

<network-security-config>
    <base-config cleartextTrafficPermitted="false" />
</network-security-config>

Irreferi għal dak ir-riżors mill-manifest, imbagħad aqra l-eċċezzjonijiet li diġà jeżistu qabel ma tqassam. Dominju antik tad-debug jew entrata SDK ta fornitur ta pagamenti jistgħu bil-kwiet jerġgħu jippermettu t-test ċar għall-host li kont qed tipprova tipproteġi.

Żewġ dettalji tal-verżjoni ta min jafhom. L-apps li jimmiraw għal API 28 jew aktar ġodda diġà jirrifjutaw it-test ċar b mod awtomatiku, għalhekk app li għadha titkellem HTTP sempliċi jew qed timmira għal livell API aktar antik jew għandha eċċezzjoni x imkien. U meta tkun preżenti konfigurazzjoni tas-sigurtà tan-netwerk, l-attribut tal-manifest il-quddiem android:usesCleartextTraffic m għadux jiddeċiedi l-kwistjoni, u għalhekk xi drabi jidher li t-tibdil ta dik il-bandiera ma jagħmel xejn.

It-tieni mogħdija: l-app li ma tikkontrollax

Għal app ta parti terza installata ma tistax terġa tikteb il-konfigurazzjoni tas-sigurtà tagħha permezz ta setting tal-utent. L-għażliet realistiċi huma l-kontrolli tal-konnessjoni sigura tal-prodott innifsu, alternattiva miżmuma li diġà tuża TLS, jew politika ta apparat immaniġġjat li tillimita x jista jħaddem l-apparat. Dawn huma impenji differenti, u t-tielet wieħed biss jiskala għal flotta.

Ir-regoli tan-netwerk huma sostituti aktar dgħajfa milli jidhru. Li tippermetti biss il-port 443 ma jinforzax TLS awtentikat, għax ħafna protokolli tat-test ċar jistgħu jiġu mċaqalqa lejn dak il-port, u l-imblukkar tal-port 80 ma jkoprix it-test ċar fuq ports oħra. Il-modalità biss-HTTPS tal-browser hija wkoll limitata għal dak il-browser, mhux għal app tal-posta jew chat separata fuq l-istess telefon.

L-installazzjoni ta ċertifikat ta interċettazzjoni biex it-traffiku jidher encrypted hija bidla fil-fiduċja, mhux sewqa. Din tissostitwixxi l-awtentikazzjoni tas-server tal-app b tagħkom, u app li ma kinitx tivvalida ċertifikati mill-bidu ma tissewwix b dan; inti biss ċaqlaqt min jista jaqra l-fluss.

Fejn tgħin VPN u fejn le

Tunnel huwa l-għodda t-tajba meta r-rekwiżit huwa li n-netwerk lokali ma jitgħallem xejn dwar il-konnessjoni, jew li l-app tilħaq servizz privat li ma tistax tilħaq mod ieħor. Hija l-għodda żbaljata biex tagħmel klijent HTTP jitkellem HTTPS, għax it-talba toħroġ mit-tunnel eżattament kif daħlet fih.

Android iżid restrizzjoni prattika: il-pjattaforma tmexxi servizz VPN wieħed biss f daqqa. App tal-filtrazzjoni lokali li tieħu dak il-post tikkompeti mat-tunnel remot li verament għandek bżonn, u l-bidla bejn it-tnejn hija operazzjoni fil-livell tal-apparat, mhux tal-app. Dak il-post wieħed huwa raġuni tajba biex iddaħħal il-politika tat-tagħbija fl-app u żżomm it-tunnel għall-mogħdija.

L-uniku każ fejn it-tnejn jikkoinċidu huwa server privat li tmexxi int ukoll. Hemmhekk tunnel jista jagħmel il-mogħdija privata għalkemm il-protokoll għadu test ċar, li jnaqqas l-espożizzjoni iżda ma jbiddilx x inhi t-tagħbija. Ittrattah bħala tnaqqis tar-riskju, mhux bħala encryption tad-data.

X għandek tittestja qabel ma tgħid li huwa mblukkat

Ibda mill-default li tissorprendi lin-nies: app li timmira għal API 28 jew aktar ġodda diġà għandha tirrifjuta t-test ċar, għalhekk iċċekkja l-livell fil-mira qabel ma żżid konfigurazzjoni li tidduplika default. Imbagħad ipprova l-każ tal-falliment apposta: talba lil host HTTP sempliċi trid tfalli, mhux tirnexxi bil-kwiet permezz ta fallback.

adb shell dumpsys package com.example.app | grep -E 'targetSdk|versionName'
adb logcat | grep -i cleartext

Għall-każ ta suċċess, ikkonferma li s-sejħa HTTPS tivvalida katina ta ċertifikati reali u li proxy b ċertifikat mhux fidu jkun miċħud minflok ittollerat. Handshake li jirnexxi kontra kwalunkwe ċertifikat ma pprova xejn dwar is-sigurtà tat-trasport.

Għal app ta parti terza, ikteb il-limitu li tassew tista tinforza, kemm jekk hija politika ta apparat immaniġġjat, regola tan-netwerk jew xejn, u għidha fil-kriterji tal-aċċettazzjoni. Il-gwida tal-konfigurazzjoni tas-sigurtà ta Android telenka l-defaults tal-pjattaforma u liema komponenti jirrispettaw il-politika, u dak huwa l-parti li tiddetermina jekk il-konfigurazzjoni tiegħek tagħmel xejn.

Artikli relatati