Re: Scary Stuff!

2015-06-18 Thread Fritz Anderson
On Jun 18, 2015, at 8:33 AM, Fritz Anderson fri...@manoverboard.org wrote:
 
 On Jun 17, 2015, at 4:46 PM, Britt Durbrow 
 bdurb...@rattlesnakehillsoftworks.com wrote:
 
 WHAT?!?! No! You gotta use ROT13! ;-P
 
 One pass? Reckless. I use eight.

Sent to the list in error; I  apologize.— F
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: Scary Stuff!

2015-06-18 Thread Fritz Anderson
On Jun 17, 2015, at 4:46 PM, Britt Durbrow 
bdurb...@rattlesnakehillsoftworks.com wrote:
 
 WHAT?!?! No! You gotta use ROT13! ;-P

One pass? Reckless. I use eight.

— F


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: Scary Stuff!

2015-06-17 Thread Doug Hill
This is indeed some scary stuff. The problem with apps creating a local web 
server for Web Socket support also seems particularly worrisome. I second Jens’ 
suggestion to read the paper because it will cause eyes to bug out.

For most of the security problems, you could rewrite your app to opt-out of the 
insecure APIs, system services, etc. and use your own implementation. (see 
Google Chrome not storing passwords in the Keychain anymore) This is obviously 
it’s own set of security issues. Do you want to implement your own secure 
password store and ensure you don’t introduce other security holes? Good luck 
with that.

The one feature that I don’t know anyway to opt-out yet still keep 
functionality is the custom URL scheme registration on iOS. This gets used for 
IPC to open files in another app. Any app could register the same custom URL 
scheme for another app without the knowledge of the user or the original app. 
Users would Open In one of their files, thinking it will go to the original 
app, which gets hijacked by the malicious app. I don’t know if there’s even a 
way to know if another app has hijacked your scheme. Think about opening files 
with confidential/financial data and they suddenly get sent to a malicious app.

I’m looking forward to fixes and/or workarounds soon.

Doug Hill

 On Jun 17, 2015, at 12:44 PM, Jens Alfke j...@mooseyard.com wrote:
 
 As usual, don’t put too much weight into the bite-size digests from the 
 press, especially the Register, which has a track record of sensationalism. 
 Unfortunately the actual truth is fairly bad. I recommend reading the paper:
 
 https://drive.google.com/file/d/0BxxXk1d3yyuZOFlsdkNMSGswSGs/view 
 https://drive.google.com/file/d/0BxxXk1d3yyuZOFlsdkNMSGswSGs/view
 
 Haven’t gotten all the way through it, but the security problems in the OS 
 seem to be not about the fundamentals — the integrity of sandboxes and the 
 Keychain are OK — but some slipshod security at the API level and in the ways 
 these components get used. The two OS X attacks I’ve read about are:
 
 1. Keychain ACLs control which apps are allowed to read which Keychain 
 secrets. But it’s possible for a malicious app to create a blank Keychain 
 password item for a secret it knows some other app will store there (like a 
 login password), and give both itself and the real app access. Then the true 
 app will store the secret in the existing Keychain item, which is readable by 
 the malware so it can get the password from it.
 
 2. Sandboxed apps are given private directories named after their bundle IDs. 
 The Mac App Store submission process verifies that an app’s bundle ID is a 
 valid one that’s registered to the developer … but it doesn’t verify the 
 bundle IDs of embedded executables like plugins, which get their own 
 sandboxes. So a malicious app can include a plugin with the bundle ID 
 registered to a real app, and its plugin will be able to share the sandbox 
 with the real app and read/write its data.
 
 (I may have gotten details wrong. Don’t quote me on this, read the paper 
 yourself.)
 
 Both of these are pretty bad. I’m very disappointed that Apple didn’t address 
 these during the six months’ advance notice that the security researchers 
 gave before they went public.
 
 —Jens


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: Scary Stuff!

2015-06-17 Thread Jens Alfke
As usual, don’t put too much weight into the bite-size digests from the press, 
especially the Register, which has a track record of sensationalism. 
Unfortunately the actual truth is fairly bad. I recommend reading the paper:

https://drive.google.com/file/d/0BxxXk1d3yyuZOFlsdkNMSGswSGs/view 
https://drive.google.com/file/d/0BxxXk1d3yyuZOFlsdkNMSGswSGs/view

Haven’t gotten all the way through it, but the security problems in the OS seem 
to be not about the fundamentals — the integrity of sandboxes and the Keychain 
are OK — but some slipshod security at the API level and in the ways these 
components get used. The two OS X attacks I’ve read about are:

1. Keychain ACLs control which apps are allowed to read which Keychain secrets. 
But it’s possible for a malicious app to create a blank Keychain password item 
for a secret it knows some other app will store there (like a login password), 
and give both itself and the real app access. Then the true app will store the 
secret in the existing Keychain item, which is readable by the malware so it 
can get the password from it.

2. Sandboxed apps are given private directories named after their bundle IDs. 
The Mac App Store submission process verifies that an app’s bundle ID is a 
valid one that’s registered to the developer … but it doesn’t verify the bundle 
IDs of embedded executables like plugins, which get their own sandboxes. So a 
malicious app can include a plugin with the bundle ID registered to a real app, 
and its plugin will be able to share the sandbox with the real app and 
read/write its data.

(I may have gotten details wrong. Don’t quote me on this, read the paper 
yourself.)

Both of these are pretty bad. I’m very disappointed that Apple didn’t address 
these during the six months’ advance notice that the security researchers gave 
before they went public.

—Jens
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: Scary Stuff!

2015-06-17 Thread Britt Durbrow
I’ve skimmed the paper; and it seems to me that there is no API/system-level 
solution possible.

I’m not familiar with the Keychain API; owing to not having needed to use it, 
but it seems to me that a best practices approach can solve that issue: check 
that the keychain item’s properties (ACL most importantly) are what you expect 
before using it. However, the OS can’t know ahead-of-time what those ACLs 
should be; consequently it must fall to the app to provide that logic.

Likewise, some containers are supposed to be shared; and others aren’t. The OS 
can’t know what that is; it must fall upon the App Store to validate that. An 
automated heuristics approach backed up by actual human validation of edge 
cases is probably the way to go for this:

1) Bundle identifiers that belong to the developer submitting the app 
automatically get passed.
2) Bundle identifiers that are known to be shared automatically get 
passed.
3) All others get human review.

URL schemes should require registration with Apple; collisions should cause a 
store submission to fail.

And lastly, if you have malware on your system; you are pretty much toast: 
despite all that we do to try to prevent it, no system of this level of 
complexity is perfect, and the good guys have to be right 100% of the time, 
while the bad guys only have to be right once in order for it to worm it’s way 
into the machine.

 On Jun 17, 2015, at 2:07 PM, Jens Alfke j...@mooseyard.com wrote:
 
 
 (“I know! I’ll write the passwords to a plist and XOR the bytes with a 32-bit 
 secret number I hardcode in my app!”)

WHAT?!?! No! You gotta use ROT13! ;-P
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: Scary Stuff!

2015-06-17 Thread Doug Hill
 On Jun 17, 2015, at 2:07 PM, Jens Alfke j...@mooseyard.com wrote:
 
 On Jun 17, 2015, at 1:17 PM, Doug Hill cocoa...@breaqz.com 
 mailto:cocoa...@breaqz.com wrote:
 
 For most of the security problems, you could rewrite your app to opt-out of 
 the insecure APIs, system services, etc. and use your own implementation. 
 (see Google Chrome not storing passwords in the Keychain anymore)
 
 Does it? I’m using Chrome on Mac OS and it uses the Keychain. (I just opened 
 Keychain Access and verified that a password I’d added in Chrome this morning 
 shows up there.) Annoyingly, though, it doesn’t recognize Keychain items 
 created by Safari, which means I have to keep looking up passwords in 
 Keychain Access the first time I visit a site in Chrome.

From The Register article:

Google's Chromium security team was more responsive, and removed keychain 
integration for Chrome, noting that it could likely not be solved at the 
application level.”

Take this as you will from a Register article.

 It does sound like there are some best practices that would defeat some of 
 these attacks — like making sure to always create new Keychain items instead 
 of re-using existing ones.

Also to show how hard it is to handle security issues, from the researchers’ 
paper:

“For Google Gmail, which delete their current keychain items and create new 
ones before updating their data (sic). Note that this practice (deleting an 
existing item) is actually discouraged by Apple, which suggests to modify the 
item instead.”

Even going by Apple’s suggestions it’s hard to get all this right.

Doug

___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: Scary Stuff!

2015-06-17 Thread Michael David Crawford
I was a Debug Meister for Apple in the mid-90s.  It was fascinating
work but I applied for an internal transfer because I had the sense
that my work would never be finished.

That is, we will never run out of bugs.  It gets me down sometimes.
Michael David Crawford, Consulting Software Engineer
mdcrawf...@gmail.com
http://www.warplife.com/mdc/

   Available for Software Development in the Portland, Oregon Metropolitan
Area.


On Wed, Jun 17, 2015 at 1:17 PM, Doug Hill cocoa...@breaqz.com wrote:
 This is indeed some scary stuff. The problem with apps creating a local web 
 server for Web Socket support also seems particularly worrisome. I second 
 Jens’ suggestion to read the paper because it will cause eyes to bug out.

 For most of the security problems, you could rewrite your app to opt-out of 
 the insecure APIs, system services, etc. and use your own implementation. 
 (see Google Chrome not storing passwords in the Keychain anymore) This is 
 obviously it’s own set of security issues. Do you want to implement your own 
 secure password store and ensure you don’t introduce other security holes? 
 Good luck with that.

 The one feature that I don’t know anyway to opt-out yet still keep 
 functionality is the custom URL scheme registration on iOS. This gets used 
 for IPC to open files in another app. Any app could register the same custom 
 URL scheme for another app without the knowledge of the user or the original 
 app. Users would Open In one of their files, thinking it will go to the 
 original app, which gets hijacked by the malicious app. I don’t know if 
 there’s even a way to know if another app has hijacked your scheme. Think 
 about opening files with confidential/financial data and they suddenly get 
 sent to a malicious app.

 I’m looking forward to fixes and/or workarounds soon.

 Doug Hill

 On Jun 17, 2015, at 12:44 PM, Jens Alfke j...@mooseyard.com wrote:

 As usual, don’t put too much weight into the bite-size digests from the 
 press, especially the Register, which has a track record of sensationalism. 
 Unfortunately the actual truth is fairly bad. I recommend reading the paper:

 https://drive.google.com/file/d/0BxxXk1d3yyuZOFlsdkNMSGswSGs/view 
 https://drive.google.com/file/d/0BxxXk1d3yyuZOFlsdkNMSGswSGs/view

 Haven’t gotten all the way through it, but the security problems in the OS 
 seem to be not about the fundamentals — the integrity of sandboxes and the 
 Keychain are OK — but some slipshod security at the API level and in the 
 ways these components get used. The two OS X attacks I’ve read about are:

 1. Keychain ACLs control which apps are allowed to read which Keychain 
 secrets. But it’s possible for a malicious app to create a blank Keychain 
 password item for a secret it knows some other app will store there (like a 
 login password), and give both itself and the real app access. Then the true 
 app will store the secret in the existing Keychain item, which is readable 
 by the malware so it can get the password from it.

 2. Sandboxed apps are given private directories named after their bundle 
 IDs. The Mac App Store submission process verifies that an app’s bundle ID 
 is a valid one that’s registered to the developer … but it doesn’t verify 
 the bundle IDs of embedded executables like plugins, which get their own 
 sandboxes. So a malicious app can include a plugin with the bundle ID 
 registered to a real app, and its plugin will be able to share the sandbox 
 with the real app and read/write its data.

 (I may have gotten details wrong. Don’t quote me on this, read the paper 
 yourself.)

 Both of these are pretty bad. I’m very disappointed that Apple didn’t 
 address these during the six months’ advance notice that the security 
 researchers gave before they went public.

 —Jens


 ___

 Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

 Please do not post admin requests or moderator comments to the list.
 Contact the moderators at cocoa-dev-admins(at)lists.apple.com

 Help/Unsubscribe/Update your Subscription:
 https://lists.apple.com/mailman/options/cocoa-dev/mdcrawford%40gmail.com

 This email sent to mdcrawf...@gmail.com

___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: Scary Stuff!

2015-06-17 Thread Jens Alfke

 On Jun 17, 2015, at 1:17 PM, Doug Hill cocoa...@breaqz.com wrote:
 
 For most of the security problems, you could rewrite your app to opt-out of 
 the insecure APIs, system services, etc. and use your own implementation. 
 (see Google Chrome not storing passwords in the Keychain anymore)

Does it? I’m using Chrome on Mac OS and it uses the Keychain. (I just opened 
Keychain Access and verified that a password I’d added in Chrome this morning 
shows up there.) Annoyingly, though, it doesn’t recognize Keychain items 
created by Safari, which means I have to keep looking up passwords in Keychain 
Access the first time I visit a site in Chrome.

 This is obviously it’s own set of security issues.

Totally. It would be a bad idea for developers to respond to this research by 
creating their own secure storage. (“I know! I’ll write the passwords to a 
plist and XOR the bytes with a 32-bit secret number I hardcode in my app!”)

It does sound like there are some best practices that would defeat some of 
these attacks — like making sure to always create new Keychain items instead of 
re-using existing ones. Hopefully people with the expertise will publish some. 
(Maybe there are some in the paper? I haven’t had time to finish it yet.)

—Jens
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Scary Stuff!

2015-06-17 Thread Dave
Hi,

Has everyone seen this?

http://www.theregister.co.uk/2015/06/17/apple_hosed_boffins_drop_0day_mac_ios_research_blitzkrieg/
 
http://www.theregister.co.uk/2015/06/17/apple_hosed_boffins_drop_0day_mac_ios_research_blitzkrieg/

Scares the living daylights out of me!

Cheers
Dave

___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: Scary Stuff!

2015-06-17 Thread Torsten Curdt
Wow - and not fixed in those 6 months.
That does not sound good.
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: Scary Stuff!

2015-06-17 Thread Dave

 On 17 Jun 2015, at 09:44, Torsten Curdt tcu...@vafer.org wrote:
 
 Wow - and not fixed in those 6 months.
 That does not sound good.

That’s the scariest part! I thought that Apple might have made an announcement 
about it after the article appeared on The Register, but not seen anything 
yet!



___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com