Tekniska bloggspel, Android-app-apk, tips och tricks

iPhone-kraschfel kan orsakas av kod som lagts till för att blidka…

iOS 11.4.1-uppdateringen som Apple släppte på måndagen är mest känd för att göra det svårare för brottsbekämpande myndigheter att komma åt låsta iPhones. På tisdagen kastade säkerhetsforskaren Patrick Wardle lite ljus över en annan fix. Han sa att hans korrigerade adresskod som Apple lade till har potential att blidka den kinesiska regeringen; detta är en kod som orsakar ett fel på vissa iDevices när en användare kommer in från Taiwan eller får ett meddelande med en Taiwan-flagga-emoji.

“Även om dess inverkan var begränsad till en denial of service (NULL-pointer dereference), gjorde det en intressant fallstudie i iOS-kodanalys”, säger Wardle, en före detta Agency-hacker. National Security, skrev i ett blogginlägg. “Och om Apple inte hade försökt blidka den kinesiska regeringen i första hand, skulle det inte vara något fel! “

Wardle, nu säkerhetsexpert på macOS och iOS på Digital Security, sa att han var förvirrad när en vän först rapporterade att hennes helt korrigerade, icke-jailbroken enhet kraschade varje gång hon skrev taiwanesiska eller fick ett meddelande med den taiwanesiska flaggan. Han hade inga problem med att återskapa den fjärrutlösta buggen, som kraschade alla iOS-appar som hanterade fjärrmeddelanden, inklusive iMessage, Facebook Messenger och WhatsApp. Wardle har dock upptäckt att endast enheter med regionspecifika konfigurationer påverkas.

Iphones ökända stängda dörrkaraktär gör felanalys svår. Det hjälper till att isolera minnesplatserna där en nollpekare refereras och en felaktig instruktion orsakade det. Wardle förlitar sig också på iPhones återställningsbilder för vissa kodbibliotek. Till slut upptäckte han att problemet orsakades av koden som klassificerade meddelandena utifrån de emojis de hade. Han märkte också att buggen verkar utlösas när iOS har en landskod som inkluderar Kina eller en språkinställning som inkluderar kinesiska (hans väns telefon anger regionen som USA och språket som engelska). Engelska, sedan kinesiska).

Upptäckten ledde så småningom till en enkel lösning. Wardle förklarar:

“Efter mer än två år av att inte ha kunnat gå in i ‘Taiwan’ eller få DOS på distans när hennes telefon får en Taiwan-flagga-emoji, hur man fixar det (kudo till min vän Josh S.) för idén!), flytta helt enkelt region bort från USA till Kina, sedan tillbaka till USA. “

“Jag är inte 100% säker på varför (eller hur man fixar detta), men jag antar det eller ställer in “Country”-värdet till “US” så den booleska flaggan (vid byte_1b1c9bb00) är nu inställd på 0x1, dvs CFStringCompare() “blir aldrig anropad…eller, anrop till CFLocaleCopyCurrent() / CFLocaleGetValue() returnerar inte längre NULL, vilket betyder att en giltig sträng har skickats till CFStringCompare().”

Wardle har spårat det möjliga syftet med felkoden till det dokumenterade iOS-beteendet att dölja Taiwan-flaggan från emoji-menyn eller inte visas på skärmen när regionen är inställd på Kina. Apple svarade inte på ett e-postmeddelande där han sökte kommentarer för detta inlägg. Wardle har även privatrapporterat detta fel till Apple. Sårbarheten har indexerats som CVE-2018-4290 och korrigerats i iOS 11.4.1.

Källa: arstechnica