Tapjacking
Basiese Inligting
Tapjacking is 'n aanval waar 'n boosaardige aansoek bekendgestel word en bo-op 'n slagoffer-aansoek posisioneer. Sodra dit die slagoffer-aansoek sigbaar verduister, is sy gebruikerskoppelvlak ontwerp op so 'n manier dat dit die gebruiker mislei om daarmee te interaksieer, terwyl dit die interaksie na die slagoffer-aansoek deurgee. In werklikheid verblind dit die gebruiker om te weet dat hulle eintlik handelinge op die slagoffer-aansoek uitvoer.
Opname
Om programme wat vatbaar is vir hierdie aanval op te spoor, moet jy soek na uitgevoerde aktiwiteite in die Android-manifes (let daarop dat 'n aktiwiteit met 'n intent-filter outomaties uitgevoer word per verstek). Sodra jy die uitgevoerde aktiwiteite gevind het, kontroleer of hulle enige toestemming benodig. Dit is omdat die boosaardige aansoek ook daardie toestemming nodig sal hê.
Beskerming
Android 12 (API 31,32) en hoër
Volgens hierdie bron, word tapjacking-aanvalle outomaties voorkom deur Android van Android 12 (API 31 & 30) en hoër. Dus, selfs as die aansoek vatbaar is, sal jy dit nie kan uitbuit nie.
filterTouchesWhenObscured
filterTouchesWhenObscured
As android:filterTouchesWhenObscured
op true
ingestel is, sal die View
nie aanrakings ontvang wanneer die venster van die aansig deur 'n ander sigbare venster verduister word nie.
setFilterTouchesWhenObscured
setFilterTouchesWhenObscured
Die eienskap setFilterTouchesWhenObscured
wat op true ingestel is, kan ook die uitbuiting van hierdie kwesbaarheid voorkom as die Android-weergawe laer is.
Indien op true
ingestel, kan byvoorbeeld 'n knoppie outomaties deaktiveer word as dit verduister word:
Uitbuiting
Tapjacking-ExportedActivity
Die mees onlangse Android-toepassing wat 'n Tapjacking-aanval uitvoer (+ aanroeping voor 'n uitgevoerde aktiwiteit van die aangevalle toepassing) kan gevind word op: https://github.com/carlospolop/Tapjacking-ExportedActivity.
Volg die README-instruksies om dit te gebruik.
FloatingWindowApp
'n Voorbeeldprojek wat FloatingWindowApp implementeer, wat gebruik kan word om bo-op ander aktiwiteite te plaas vir 'n kliek-aanval, kan gevind word in FloatingWindowApp (bietjie oud, sterkte met die bou van die apk).
Qark
Dit lyk asof hierdie projek nou nie meer onderhou word nie en hierdie funksionaliteit werk nie meer behoorlik nie
Jy kan qark gebruik met die --exploit-apk
--sdk-path /Users/username/Library/Android/sdk
parameters om 'n skadelike aansoek te skep om vir moontlike Tapjacking kwesbaarhede te toets.
Die beperking is relatief eenvoudig aangesien die ontwikkelaar kan kies om nie aanrakinggebeure te ontvang wanneer 'n aansig bedek word deur 'n ander. Gebruik die Android-ontwikkelaarsverwysing:
Soms is dit noodsaaklik dat 'n aansoek kan verifieer dat 'n aksie met die volle kennis en toestemming van die gebruiker uitgevoer word, soos die toestaan van 'n toestemmingversoek, 'n aankoop doen of op 'n advertensie klik. Ongelukkig kan 'n skadelike aansoek probeer om die gebruiker te mislei om hierdie aksies uit te voer, sonder om bewus te wees, deur die beoogde doel van die aansig te verberg. As 'n remedie bied die raamwerk 'n aanrakingsfiltermeganisme wat gebruik kan word om die sekuriteit van aansigte wat toegang tot sensitiewe funksionaliteit bied, te verbeter.
Om aanrakingsfiltering te aktiveer, roep
setFilterTouchesWhenObscured(boolean)
aan of stel die android:filterTouchesWhenObscured uitlegkenmerk in op waar. Wanneer dit geaktiveer is, sal die raamwerk aanrakings verwerp wat ontvang word wanneer die aansig se venster deur 'n ander sigbare venster bedek word. As gevolg hiervan sal die aansig nie aanrakings ontvang wanneer 'n toebroodjie, dialoog of ander venster bo die aansig se venster verskyn nie.
Last updated