Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

MacRumors

macrumors bot
Original poster
Apr 12, 2001
64,416
32,243



Developer Felix Krause today shared a proof of concept phishing attack that's gaining some traction as it clearly demonstrates how app developers can use Apple-style popups to gain access to an iPhone user's Apple ID and password.

As Krause explains, iPhone and iPad users are accustomed to official Apple requests for their Apple ID and password for making purchases and accessing iCloud, even when not in the App Store or iTunes app.

phishingconcept1-800x718.jpg

Using a UIAlertController that emulates the design of the system request for a password, developers can create an identical interface as a phishing tool that can fool many iOS users.
Showing a dialog that looks just like a system popup is super easy, there is no magic or secret code involved, it's literally the examples provided in the Apple docs, with a custom text.

I decided not to open source the actual popup code, however, note that it's less than 30 lines of code and every iOS engineer will be able to quickly build their own phishing code.
Though some of the system alerts would require a developer to have a user's Apple ID email address, there are also popup alerts that do not require an email and can recover a password.

phishingconcept2-800x718.jpg

The phishing method that Krause describes is not new, and Apple vets apps that are accepted to the App Store, but it's worth highlighting for iOS users who may not be aware that such a phishing attempt is possible.

As Krause says, users can protect themselves by being wary of these popup dialogues. If one pops up, press the Home button to close the app. If the popup goes away, it's tied to the app and is a phishing attack. If it remains, it's a system request from Apple.

Krause also recommends users dismiss popups and enter their credentials directly within the Settings app.

Krause has reported the issue to Apple and recommends a fix that would include Apple asking customers to enter their credentials into the Settings app rather than directly through a popup that can be easily mimicked. Alternatively, he suggests credential requests could include an app icon to indicate that an app is asking rather than the system.

As extra protection from attacks like this, Apple customers should enable two-factor authentication as it prevents attackers from being able to log into an Apple ID account without a code from a verified device.

Article Link: Developer Demonstrates iOS Phishing Attack That Uses Apple-Style Password Request
 

ignatius345

macrumors 604
Aug 20, 2015
7,215
12,032
Fair point about our social conditioning on these dialogs. I don't know of a good way to address this though.
I think this one is on Apple. A user gets legitimately asked for his/her password enough times and fatigue sets in, and they stop really thinking about it.

Ultimately it's a UX problem that needs to be solved so that entering one's iCloud password is 1) hard to fake and 2) doesn't happen any more often than necessary.
 

jclo

Managing Editor
Staff member
Dec 7, 2012
1,985
4,358
This is very smart actually... I'm surprised this isn't massively used by shady apps already.

I've never heard of this actually being used within an app before, so Apple must be pretty vigilant about finding and preventing apps that try to do it.
 

MonkeyDavid

macrumors member
Aug 5, 2011
35
49
Apple needs to fix the bug(s) that ask for the password at random times (I also have one where occasionally the request pops up then disappears before I can type anything).
 
  • Like
Reactions: S G and tonyr6

fairuz

macrumors 68020
Aug 27, 2017
2,486
2,589
Silicon Valley
Not so clever. Old trick from the 90s. The old solution that still works: Give security-related system popups some obvious indication of legitimacy that can't be spoofed, like something in the bezel.

Hard part is sandboxing apps so they can't spoof it. TouchID in iOS is one good solution.
 
Last edited:

mikecorp

Suspended
Mar 20, 2008
502
341
hey it happened to me too, but only since I upgraded to ios 11, but the pop up had wrong address which I do not use to sign in. I dismissed it as I thought it was strange especially, I did not do anything that would require password.
 

Solomani

macrumors 601
Sep 25, 2012
4,785
10,478
Slapfish, North Carolina
I've never heard of this actually being used within an app before, so Apple must be pretty vigilant about finding and preventing apps that try to do it.

But with hundreds of apps being approved on a monthly basis…. it only takes 1 or 2 rogue app devs to sneak through to exploit the massive userbase to their advantage. I think that the concept of Apple "screening" the apps/devs is not foolproof enough. Apple also needs to add some kind of built-in iOS security barrier to prevent *any* dev from doing anything that can do this (should they attempt it). Just IMHO
 
  • Like
Reactions: DCIFRTHS

iosuser

macrumors 65816
Mar 12, 2012
1,005
752
I knew it’s just a matter of time, what’s surprising is it took this long. Sometimes when I get prompted, I purposely enter some gibberish as my password to make sure that it was recognized as wrong password. Not just on my i-devices but on the computer browser as well. Yeah I wear a tinfoil hat around the house :p
 

thisisnotmyname

macrumors 68020
Oct 22, 2014
2,438
5,251
known but velocity indeterminate
I think this one is on Apple. A user gets legitimately asked for his/her password enough times and fatigue sets in, and they stop really thinking about it.

Ultimately it's a UX problem that needs to be solved so that entering one's iCloud password is 1) hard to fake and 2) doesn't happen any more often than necessary.

Your "hard to fake" comment got me thinking, there are areas of the screen (banner) that web and app developers don't have full control over. They could do something like the padlock icon on browsers up there.
 

macTW

Suspended
Oct 17, 2016
1,395
1,975
A non-worry event with Apple vetting each app. But interesting it can happen nonetheless.
 

fairuz

macrumors 68020
Aug 27, 2017
2,486
2,589
Silicon Valley
I had been wondering when this would be brought up, there’s really nothing that sets apart legitimate system requests on either iOS or macOS. Let’s hope that Apple finally does something about it.
It's easy to fix in iOS since apps are sandboxed, so they could lock some part of the screen, but I know apps can access the entire screen currently. Dunno how it could be fixed in macOS for unsandboxed apps.
 

fairuz

macrumors 68020
Aug 27, 2017
2,486
2,589
Silicon Valley
Similarly, macOS's Authorization Service dialog box is also easily spoofed.
keychain_access_unlock.jpg

Similar to Windows' Control-Alt-Delete, Apple's iOS and macOS should make it impossible to spoof these dialog boxes.
The Windows security dialogs don't require control-alt-delete, which I think I understand is a sacred system-only input. They seem to have the same problem. They just have complicated full-screen animations and stuff that I'm guessing are to make it harder to spoof just from a practical standpoint.

Problem is so many things ask for permission for stupid things like "outgoing network connections" that people are used to blindly approving.
 

960design

macrumors 68040
Apr 17, 2012
3,731
1,609
Destin, FL
I'm not the only developer to have thought of this back in 2008. Pretty sure, Apple will shut you down forever, if you try something like this. The good news is that you could do it on Android and no one would ever shut you down.
I do agree that with Apple's many legitimate popups, conditioning does come into effect. Apple should probably make a red border or red characters or something unique for legitimate password requests.
 

deanthedev

Suspended
Sep 29, 2017
1,287
2,406
Vancouver
“The phishing method that Krause describes is not new, and Apple vets apps that are accepted to the App Store”

So just another non-story about some supposed security flaw in iOS.
 
  • Like
Reactions: 960design
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.