OnePlus App Locker-funktionen kan enkelt förbigås

OnePlus App Locker-funktionen på OnePlus 3, OnePlus 3T och OnePlus 5 som kör OxygenOS kan enkelt kringgås genom att starta en aktivitet.

Det här problemet har åtgärdats i OxygenOS version 4.1.7 för OnePlus 3 och OnePlus 3T.

Programvarans smak som finns på OnePlus-telefoner är känd som OxygenOS. Det lägger till ett par snygga funktioner ovanpå lager Android utan att avvika för långt från vad du kan förvänta dig på en Google-enhet. Jag började nyligen använda OnePlus 5 som en daglig förare själv, och trots kontroverserna tror jag att det är en bra uppgradering för alla fans av Google Nexus-serien. Med det sagt granskar jag varje ny enhet jag får för varje mindre aspekt jag gillar eller ogillar. När jag grävde runt i OxygenOS-inställningarna stötte jag på OnePlus App Locker-funktionen som låser appar som du väljer bakom din pin/lösenord/fingeravtryck.

Till vänster: XDA Labs Hidden by App Locker. Till höger: XDA Feed Hidden by App Lock-funktionen.

Jag är generellt sett ett fan av tredjepartslösningar för funktionsförfrågningar eftersom de inte tvingas på dig och vanligtvis erbjuder fler funktioner än en förstapartslösning. När det gäller ett applås föredrar jag dock mycket en integrerad lösning som OnePlus App Locker som de ska vara svårare att döda (därmed säkrare) samt snabbare (eftersom de inte litar på tillgänglighetstjänster eller läser från användningsstatistiken API). Jag blev dock chockad när jag upptäckte att OxygenOS-applåsfunktionen kunde vara det

lätt förbigås.

Ovanstående demonstration utfördes på en OnePlus 5 som körs OxygenOS 4.5.8

Visserligen är jag det inte behandla detta som ett stort säkerhetsbrist eller något som den här funktionen används mest när du vill dela din telefon med någon (förhoppningsvis någon du redan litar på). Om du förlitar dig på den här funktionen betyder det att du lämnar över din telefon som redan är olåst till någon, så det är inte som om denna bypass kommer runt telefonens viktigaste säkerhetsåtgärder som lösenord/pin/fingeravtryck eller andra krypteringsåtgärder eller fabriksåterställningsskydd. Ändå är ett fel ett fel, och om någon som jag, som inte är en säkerhetsforskare, kunde hitta detta så kan vem som helst.


OnePlus App Locker Bypass Förklaring

Som visas i videon ovan har jag gömt XDA-flöde applikation bakom applåsfunktionen. Som förväntat kan jag inte öppna appen utan att ange mitt lösenord. Om jag försöker gå till Inställningar --> Säkerhet och fingeravtryck --> Appskåp, uppmanas jag att ange mitt lösenord. Men när jag går tillbaka till startskärmen och trycker på en mystisk appikon för en app jag skapade som heter "OnePlus App Locker Bypass" öppnar inställningssidan för App Locker där jag fritt kan inaktivera alla befintliga appar lås.

För att komma åt funktionen OxygenOS App Locker krävs normalt lösenord/PIN-inmatning

Vem som helst borde kunna replikera denna process på sin OnePlus-enhet som kör OxygenOS om de har en launcher som Nova Launcher installerad (det skulle vara massor av människor) eller någon annan applikation som kan startas aktiviteter. Eftersom applåsfunktionen med största sannolikhet används av personer som bara vill dölja vissa känsliga applikationer (som en superhemlig galleriapp som innehåller helt familjevänliga bilder) medan de visas av deras skinande ny telefon, det är osannolikt att de flesta skulle tänka sig att dölja sin startapp. Dessutom, eftersom det inte finns något sätt att dölja paketinstallationsprogrammet bakom ett applås, kan man också installera en bypass-app som min egen för att komma runt OnePlus App Locker.

Om du använder Nova Launcher och är nyfiken på hur du gör detta är det enkelt. Lägg bara till en aktivitetsgenväg till "App Locker" som finns under "Dashboard". Att bara trycka på den här genvägen kommer att starta App Locker-inställningarna utan att den frågar efter ditt lösenord.

OxygenOS App Locker Inställningsaktivitet

Jag är inte riktigt säker på varför App Locker-inställningarna inte ber om lösenordsinmatning när aktiviteten startas från en tredjepartsapp. Ett sätt att lösa detta skulle vara att helt enkelt göra aktiviteten till en ej exporterad verksamhet så den kan inte nås från någon annan app.

<activityandroid: label="@string/app_lock_label"android: name=".applocker.AppLockerSettingsActivity"android: screenOrientation="nosensor">
<intent-filter>
<actionandroid: name="com.oneplus.security.action.APP_LOCKER"/>
<categoryandroid: name="android.intent.category.DEFAULT"/>
intent-filter>
activity>

De AndroidManifest.xml fil av com.oneplus.security, varav en del återges ovan, visar att aktiviteten för OnePlus App Locker-funktionen verkligen är en exporterad aktivitet. Lägger till android: exported=false till aktivitetsmärkningen borde lösa detta problem tror jag.


OnePlus är medveten, kommer att fixa i OxygenOS Update

Vi meddelade OxygenOS-teamet om detta problem och de har erkänt det i följande uttalande:

Vi är medvetna om det här problemet och vi kommer att fixa det i en kommande OTA.

Om du använder applåsfunktionen just nu och vill se till att ingen kan kringgå den, rekommenderar jag att du lägger till alla start- och webbläsarappar ovanpå dina befintliga applås. Det här problemet, enligt min mening, förtar inte mjukvaruupplevelsen av OnePlus 5, men låt detta vara en påminnelse om att alla säkerhetsåtgärder potentiellt kan ha ett hål i sig. Tack och lov den här gången är säkerhetshålet ett ganska litet sådant.