Ka xayir qoraalka cad ee apps-ka Android adigoon ku tiirsanayn VPN
Qoraalka cad ee payload-ka iyo qoraalka cad ee jidka waa laba mushkiladood oo kala duwan. Kan kowaad ku hagaaji app-ka, kan labaad-na tunnel ama siyaasad qalab.
Laba shay oo gabi ahaan kala duwan ayaa loo yaqaan xayiridda qoraalka cad ee Android. Mid waa siyaasad ku dhex jirta app oo ku amarta network stack-keeda gaarka ah inuu diido HTTP caadi ah. Kan kalena waa habayn heer qalab oo isku dayda inay wax kasta oo telefoonka ku jira isku mar ilaaliso, badanaa iyadoo traffic-ka mariso VPN. Waxay xalliyaan mushkilado kala duwan, kan labaadna ma hagaajin karo kan kowaad: tunnel wuxuu ilaaliyaa qaybta u dhaxaysa telefoonka iyo bixista, halka app ku hadasha HTTP ay weli HTTP kula hadasho wax kasta oo ka shisheeya bixistaas.
Laba mushkilad oo hal magac hoos yimaada
Mushkiladda kowaad waa payload-ka: app-ku waxay qoraa aqoonsiga ama tokens-ka codsi aan si dhammaad ilaa dhammaad loo shifrin, sidaas darteed boodbood kasta oo arki kara ayaa akhrin kara. Kan labaad waa jidka: app-ku si buuxda ayuu u fiicnaan karaa, adiguna waxaad weli rabtaa in hawlgalka Wi-Fi ee maxalliga ah uusan waxba ka ogaan halka ay ku xiranto. VPN waxay ka hadashaa kan labaad oo kaliya.
Farqigaas ayaa go'aamiya yaa iska leh hagaajinta. Payload-ku waa kan keenaya app-ka, sababtoo ah koodkaas oo kaliya ayaa go'aamiya URL-ka la wacayo iyo in shahaadada la xaqiijiyo. Jidku waa kan qalabka ama shabakadda, sababtoo ah waa su'aasha halka baakaduhu aadaan, ma aha waxa ay qaadaan.
Jidka kowaad: app-ka aad maamusho
Haddii aad adigu keento app-ka, hagaajintu waa go'aan gaadiid oo lagu daray siyaasad dhaqangelisa. U jeedi qayb kasta oo dhammaad HTTPS, ka fogow xaqiijinta magaca martigeliyaha iyo shahaadada inay furan tahay, oo tirtir dariiqa dib ugu noqoshada HTTP caadi ah halkii aad ka tegi lahayd hal calan oo qaabeynta ah meel ka fog. Dib u jiidid halkan ma caawiso: codsi HTTP oo hela 301 ayaa horey u diray cinwaannadiisa iyo jidhkiisa si furan, sidaas darteed aqoonsigu waa inuusan waligiis safrin isagoo u malaynaya in dib u jiididdu ilaalin doonto.
Android 7.0 iyo wixii ka dambeeya, Network Security Configuration ayaa muujiya siyaasadda. Faylka hoose waa nooca ugu yar ee faa'iido leh: wuxuu diidaa qoraalka cad meel kasta haddii aanay ka-reebitaan gaar ah oo domain-ku wax kale odhan.
<network-security-config>
<base-config cleartextTrafficPermitted="false" />
</network-security-config>Ka tixraac kheyraadkaas manifest-ka, ka dibna akhri ka-reebitaannada horey u jiray ka hor intaadan gudbin. Domain hore oo debug ah ama gelitaan SDK oo bixiyaha lacag-bixinta ah ayaa si aamusnaan ah mar kale u oggolaan kara qoraalka cad ee martigeliyaha aad isku dayday inaad ilaaliso.
Laba faahfaahin oo nooca ah ayaa mudan in la ogaado. Apps-ka u jeeda API 28 ama ka cusub ayaa horey u diida qoraalka cad si caadi ah, sidaas darteed app weli ku hadasha HTTP caadi ah ayaa ama u jeeda heer API hore ama meel ka-reebitaan ku leh. Marka ay jirto qaabeyn ammaan shabakadeed, astaanta manifest hore android:usesCleartextTraffic ma go'aaminayso su'aasha, taasina waa sababta beddelidda calankaas mararka qaar u muuqato mid aan waxba qaban.
Jidka labaad: app-ka aadan maamulin
App-ka saddexaad ee la rakibay ma beddeli karto qaabeynta ammaankiisa iyadoo la adeegsanayo dejinta isticmaale. Xulashooyinka macquulka ah waa kontaroolada isku-xirka ammaan ee badeecada lafteeda, beddel la ilaaliyo oo horey u isticmaalaya TLS, ama siyaasad qalab la maamulo oo xaddidaysa waxa qalabku ordi karo. Kuwani waa ballanqaadyo kala duwan, oo kaliya kan saddexaad ayaa ku fida koox qalab.
Xeerarka shabakaddu waa beddello ka itaaldaran sida ay u muuqdaan. Oggolaanshaha kaliya dekedda 443 ma dhaqangeliso TLS la xaqiijiyay, sababtoo ah borotokoolo badan oo qoraal cad ah ayaa loo rari karaa dekeddaas, xayiridda dekedda 80-na ma daboolo qoraalka cad ee dekedo kale. Habka HTTPS-kaliya ee browser-ka ayaa sidoo kale ku xaddidan browser-kaas, ma aha app iimayl ama sheekaysi oo gaar ah oo isla telefoonka ku jira.
Rakibidda shahaado dhexgal si traffic-ku u muuqdo mid shifran waa isbeddel kalsooni, ma aha hagaajin. Waxay ku beddelaysaa xaqiijinta server-ka app-ka tanada, app aan bilowgii xaqiijin shahaadooyinka laguma hagaajiyo taas; waxaad kaliya dhaqaaqday yaa akhrin kara qulqulka.
Xaggee VPN caawiyaa iyo xaggee aanu caawin
Tunnel waa qalabka saxda ah marka shuruuddu tahay in shabakadda maxalliga ahi waxba ka ogaan shabakadda, ama app-ku gaaro adeeg gaar ah oo aan si kale u gaari karin. Waa qalabka khaldan si loo sameeyo macmiil HTTP inuu ku hadlo HTTPS, sababtoo ah codsigu wuxuu ka baxaa tunnel-ka sida uu u galay.
Android waxay ku dartaa xaddidaad wax ku ool ah: platform-ku wuxuu ordiyaa hal adeeg VPN markiiba. App shaandhayn maxalli ah oo booskaas qaata ayaa la tartama tunnel-ka fog ee aad runtii u baahan tahay, u dhexgalka labadana waa hawlgasho heer qalab ah ee ma aha heer app. Booskaas kaliya waa sabab wanaagsan in siyaasadda payload-ka lagu hayo app-ka oo tunnel-ka loo hayo jidka.
Kiiska kaliya ee labaduba isku darsamaan waa server gaar ah oo adiguna maamusho. Halkaas tunnel wuxuu jidka ka dhigi karaa mid gaar ah inkasta oo borotokoolku weli qoraal cad yahay, taas oo yaraysa soo-gaadhista laakiin aan beddelin waxa payload-ku yahay. U qaado sidii yaraynta khatarta, ma aha sida shifridda xogta.
Waxa la tijaabiyo ka hor intaadan u yeerin mid la xayiray
Ka bilow dejinta caadiga ah ee dadka yaabisa: app u jeeda API 28 ama ka cusub waa inuu horey u diido qoraalka cad, sidaas darteed hubi heerka bartilmaameedka ka hor intaadan ku darin qaabeyn nuqul ka ah dejinta caadiga ah. Kadib si ula kac ah u tijaabi kiiska guuldarrada: codsi u jeeda martigeliye HTTP caadi ah waa inuu guuldarraystaa ee ma aha inuu si aamusnaan ah ku guulaysto dariiqa kaydka.
adb shell dumpsys package com.example.app | grep -E 'targetSdk|versionName'
adb logcat | grep -i cleartextKiiska guusha, xaqiiji in wicitaanka HTTPS uu xaqiijiyo silsilad shahaado dhab ah iyo in proxy leh shahaado aan la aamini karin la diido halkii la u dulqaadan lahaa. Gacan-qabashada ku guulaysata shahaado kasta waxba kama caddayn ammaanka gaadiidka.
App-ka saddexaad, qor xadka aad runtii dhaqangelin karto, hadday tahay siyaasad qalab la maamulo, xeer shabakadeed ama waxba, oo ku sheeg shuruudaha aqbalaadda. Hagaha qaabeynta ammaanka Android wuxuu taxayaa caadiyada platform-ka iyo qaybaha ixtiraamaya siyaasadda, taasina waa qaybta go'aamisa in qaabeyntaadu waxba qabanayso iyo in kale.