On Apr 26, 2012, at 8:21 AM, Justin Lebar wrote: > (cc only dev-b2g, per Mounir's plea that we stop mass cross-posting.)
I realize Mounir doesn't like cross-posting because doesn't want to be on all those lists, but I'm not sure why he thinks in turn everyone else should subscribe to his list just to participate in the API discussions. If there's a single list these discussions should be happening on its dev-webapps not b2g. This is different from most typical Mozilla discussions as it requires the participation of a broad set of stakeholders, all of whom should not be expected to subscribe to dev-b2g to participate. I realize that sucks, but it sucks less than having a minority of people participating then having to restart the conversation when all of the other stakeholders are added. >> The following discussion is still accurate > > No, it has a number of basic problems, which I pointed out in an > earlier post. Perhaps you missed it? Huh? My link was to the discussion of the types of applications per Ben's previous question, not directly related to browser API. Sorry for the confusion. > Here's what I'd written: > > ====== > >> Potential mitigations: container should not be able to script into browser >> iframe > > In general, you cannot mitigate risk from an untrusted browser. > > An untrusted browser can arbitrarily phish you. You type in > "bank.com", the browser takes you to evil.com and displays "bank.com" > in its URL bar. It even displays a lock icon. You type in your > username and password. Evil.com records it. > > I think it is a mistake to talk about things like preventing the > container from injecting script into the iframe. That is only useful > for preventing a tiny class of attacks out of many, many possible > attacks. In this model the untrusted browser has access to the shared cookie and password stores, right? This allows an app to load arbitrary website content and script into it, becoming a mass XSS and password stealing vector. Not something I'd want every app to have access to, and the permission dialog would have to be carefully worded to communicate the risk. Quite likely this would be unavailable to unauthenticated apps, and authenticated apps would have a pretty scary warning. >> Use cases for authenticated code: Display remote content (e.g. from >> developer's site, or the contents of a tweet), or perform interactions with >> web-based services, including OAuth, OpenID, >> PayPal, Facebook Connect, etc. etc. > > <iframe mozbrowser> is explicitly not for this. We need to be able to > run the mozbrowser in a separate process, and that precludes any > interaction of this sort between the parent and the child. So is this really intended just for implementing browsers rather than interacting with content, and we can live with a fairly scary permission dialog (i.e. "has access to passwords and your private online data")? >> [Given that the browser is built in to b2g, what would a replacement browser >> actually be?] > > The browser is built in just like the calculator app. A user could > download another calculator app. They could also download another > browser app (modulo security constraints). Not as worried about calculator apps. :) Lucas. _______________________________________________ dev-security mailing list dev-security@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-security