Re[2]: Secure Chrome and Secure MetaData (correction)

Hi James,

I'll try and get my list on a Wiki soon.  Meanwhile, let me know if my
update didn't address your issues...

JAD> Notably missing from your list is cross site scripting and session
JAD> fixation attacks...

Great point!  The "old" definition of XSS was when folks used frames
and such to exploit browser oversights, which I think are problems now
largely plugged?  My understanding of the only thing left would be ...

    6.18. preventing foreign script in web site context (eg: cookie
          theft, bogus injected login screens on live site, etc)
    6.19. input data sanitization. eg: - someone typing this in a
          "name" input box: <script>alert(document.cookie)</script>
    6.20. output data sanitization - eg - not allowing this to be
          printed in a form value= field without escaping the quotes
          ' onclick='alert(document.cookie



    2.10. Exploiting outdated technology - eg: old browsers allowing
          frames from site A to read content in site B.
          
    4.9. people using outdated older technology (see 2.10)

    2.11. undismissable download dialogues (eg: active-X) - see 3.3


    
eg: 6.20 the above becomes:-
<input type=hidden name=foo value='' onclick='alert(document.cookie'>

from the careless cgi:-
$val=&dblookup("foo"); # i.e. "' onclick="alert(document.cookie'";
print "<input type=text name=foo value='$val'>";


Shoulder surfing is not an issue because we all see dots or "****"
when we type passwords in - however - my own internet banking has
forced us all to use an online keypad (to block keyloggers) thus
making it impossible for me to log in whenever anyone is around me:
this is a surprisingly common occurrence that you probably don't notice
because *currently* your password is "***" protected, but this threat
needs to be in my list because careless people don't understand just
how far "backwards" they can push things when they decide not to do
this anymore...   Anyone knowing I use the bank I do (eg: a
co-worker), is now given extra incentive to "social engineer" me into
logging in while in their presence, since it's so easy to see my
username and password on my screen when I do this!

1.4.1 through 1.4.3 listed known *purposes* of typographic attacks
(not the actual attacks - 1.4 is the actual typo attack)

1.5. Not many people think "chrome" will solve anything - the movement
is towards customer secrets right now, given this fact.

I do think a "standard login" might be helpful, but I doubt it's
something we can expect all browser vendors to simultaneously
implement and then all users to upgrade to within any useable
timeframe.  That said - I do *not* see any reason why this has to be
limited to the browser - web services can do this just as well.

Kind Regards,
Chris Drake


Thursday, July 6, 2006, 12:48:20 PM, you wrote:


JAD>      --
JAD> Chris Drake wrote:
 >> 1. Confidence Tricks
 >>
 >>    1.1. phishing emails
 >>     1.1.1. to lure victims to spoof sites
 >>     1.1.2. to lure victims into installing malicious code
 >>     1.1.3. to lure victims towards O/S vulnerabilities to inject
 >>            malicious code
 >>     1.1.4. to lure victims into revealing information directly via
 >>            reply or via embedded FORMS within the email
 >>
 >>    1.2. telephone phishing
 >>     1.2.1. to directly extract auth info
 >>     1.2.2. to direct victim to spoof site
 >>
 >>    1.3. person-to-person phishing / situation engineering
 >>     1.3.1. to directly extract auth info (ask)
 >>     1.3.2. to direct victim to spoof site

JAD> All of these rely both on impersonation, AND on users being trained to
JAD> reveal shared secrets on demand in a wide variety of contexts and
JAD> environments.  So we need to both make impersonation difficult, and also
JAD> reduce this unilateral revelation of widely shared secrets, reduce this
JAD> use of widely shared secrets.

 >>     1.3.3. shoulder surfing (aka 4.5.2)
 >>     1.3.4. physical attack - see 4.7

JAD> These attacks are rare, because people are instinctively on guard
JAD> against them - observe behavior at ATMs.  ATM shoulder surfing tends to
JAD> be resisted so forcefully that there is no sharp line between ATM
JAD> shoulder surfing and ATM mugging.  It is more a martial arts problem
JAD> than a software engineering problem.

 >>    1.4. typographic attacks
 >>     1.4.1. spoofing (eg: paypa1.com - using a number 1 for a little L)
 >>     1.4.2. direct download of malicious code
 >>     1.4.3. browser exploit injection

JAD> The classic instance of browser exploit injection was a bug in the
JAD> Microsoft image viewer that allowed a carefully crafted image to contain
JAD> assembly code that the image viewer would execute with the full 
JAD> authority of the user.  I don't see that this constitutes a "typographic
JAD> attack"

 >>    1.5. online phishing
 >>     1.5.1. pop-up/pop-behind windows to spoof sites
 >>     1.5.2. floating <DIV> or similar elements (eg: emulating an entire
 >>            browser UI)

JAD> Untrusted and possibly hostile data should not have sufficient authority
JAD> over the viewer's display to do this - the concept of "secure chrome" is
JAD> largely about preventing this attack.

JAD> Related attacks resulting from excess authority over the viewer display
JAD> are those porn sites that will not let you leave - every time you close
JAD> one popup, two more are spawned.

JAD> A more malevolent attack using the same principle (excess authority over
JAD> the display) is the web page that *insists* you download and execute an
JAD> active X component, and sits in your face, until you do so, refusing to
JAD> be dismissed.  Supposedly the function of the Active X component is to
JAD> allow you to view the web page correctly, but in practice, it usually
JAD> uses your modem to auto dial an extremely expensive sex talk line in
JAD> some foreign country, one whose topic is as embarrassing as possible to
JAD> discourage the victim from creating a fuss, and/or takes over your
JAD> computer for a zombie net.

 >> 2. Remote Technical Tricks
 >>
 >>    2.1. spoof techniques
 >>     2.1.1. vanilla fake look-alike spoof web sites
 >>     2.1.2. CGI proxied look-alike web site (server CGI talks to real
 >>            site in real time - "man in the middle attack")
 >>     2.1.3. popup windows hiding the address bar (3.4.1/3.4.2)
 >>     2.1.4. <DIV> simulated browsers (1.5.2)
 >>
 >>    2.2. iframe exploits (eg: 1.5.1/1.1.3) (spammers buy iframes to
 >>         launch 1.5 and 1.4 attacks)
 >>    2.3. p2p filesharing publication of products modified to
 >>         remove/limit protection - PGP, IE7, Mozilla, ...
 >>    2.4. DNS poisoning (causes correct URL to go to spoof server)
 >>    2.5. traffic sniffing (eg: at ISP, telco, WiFi, LAN, phone tap...)
 >>    2.6. proxy poisoning (correct URL returns incorrect HTML)
 >>    2.7. browser exploits (correct URL returns incorrect HTML)
 >>    2.8. targeted proxy attack
 >>     2.8.1. directs to vanilla spoof web site (2.1.1)
 >>     2.8.2. uses CGI re-writing to proxy legitimate site (eg: convert
 >>            HTTPS into HTTP to activate traffic sniffing) (2.1.2)
 >>     2.8.3  activates 5.7
 >>    2.9.  Authorized exploitation - see 3.5.
 >>
 >>
 >> 3. Local Technical Tricks
 >>
 >>    3.2. Software vulnerabilities (aka exploits - eg - 1.1.3)
 >>     3.1.1. Known
 >>     3.1.2. Unknown
 >>
 >>    3.2. Browser "toolbars" (grant unrestricted DOM access to SSL data)
 >>
 >>    3.3. Trojans
 >>     3.3.1. Standalone modified/hacked legitimate products (eg: PGP or
 >>            a MSIE7) with inbuilt protection removed/modified.
 >>     3.3.2. Bogus products (eg: the anti-spyware tools manufactured by
 >>            the Russian spam gangs)
 >>     3.3.3. Legitimate products with deliberate secret functionality
 >>            (eg: warez keygens, sony/CD-Rom music piracy-block addins)
 >>     3.3.4. Backdoors (activate remote control and 3.4.1/3.4.2)
 >>
 >>    3.4. Viruses
 >>     3.4.1. General - keyloggers, mouse/screen snapshotters
 >>     3.4.2. Targeted - specifically designed for certain victim sites
 >>            (eg paypal/net banking) or certain victim actions (eg:
 >>            password entry, detecting typed credit card numbers)
 >>
 >>    3.5. Authorized exploitation (authority (eg: Microsoft WPA/GA,
 >>         Police, ISP, MSS, FBI, CIA, MI5, Feds...) engineer a Trojan or
 >>         Viral exploit to be shipped down the wire to local PC,
 >>         potentially being legitimately signed/authenticated software.)
 >>
 >>    3.6. Visual tricks
 >>     3.6.1. browser address bar spoofing
 >>     3.6.2. address bar hiding
 >>
 >>    3.7. Hardware attacks
 >>     3.7.1. keylogger devices
 >>     3.7.2. TEMPEST
 >>     3.7.3. malicious hardware modification (token mods, token
 >>            substitution, auth device substitution/emulation/etc)
 >>
 >>    3.8. Carnivore, DCS1000, Altivore, NetMap, Echelon, Magic Lantern,
 >>         RIPA, SORM...
 >>
 >> 4. Victim Mistakes
 >>
 >>    4.1. writing down passwords
 >>    4.2. telling people passwords
 >>     4.2.1. deliberately (eg: friends/family)
 >>     4.2.2. under duress (see 4.7)
 >>    4.3. picking weak passwords
 >>    4.4. using same passwords in more than one place
 >>    4.5. inattentiveness when entering passwords
 >>     4.5.1. not checking "https" and padlock and URL
 >>     4.5.2. not preventing shoulder surfing
 >>    4.6. permitting accounts to be "borrowed"
 >>    4.7. physical attack (getting mugged)
 >>     4.7.1. to steal auth info
 >>     4.7.2. to acquire active session
 >>     4.7.3. to force victim to take action (eg: xfer money)
 >>    4.8. allowing weak lost-password "questions"/procedures
 >>
 >>
 >> 5. Implementation Oversights
 >>
 >>    5.1. back button
 >>    5.2. lost password procedures
 >>    5.3. confidence tricks against site (as opposed to user)
 >>    5.4. insecure cookies (non-SSL session usage)
 >>    5.5. identity theft? site trusts user's lies about identity
 >>    5.6. trusting form data
 >>    5.7. accepting auth info over NON-SSL (eg: forgetting to check
 >>         $ENV{HTTPS} is 'on' when performing CGI password checks)
 >>    5.8. allowing weak lost-password "questions"/procedures
 >>    5.9. replay
 >>    5.10. robot exclusion (eg: block mass password guessing)
 >>    5.11. geographical exclusion (eg: block logins from Korea)
 >>    6.12. user re-identification - eg - "We've never seen you using
 >>          Mozilla before"
 >>    6.13. site-to-user authentication
 >>    6.14. allowing users to "remember" auth info in browser (permits
 >>          local attacks by unauthorised users)
 >>    6.15. blocking users from being allowed to "remember" auth info in
 >>          browser (facilitates spoofing / keyloggers)
 >>    6.16. using cookies (may permit local attacks by unauthorised
 >>          users)
 >>    6.17. not using cookies (blocks site from identifying malicious
 >>          activity or closing co-compromised accounts)
 >>
 >>
 >> 6. Denial of Service attacks
 >>
 >>    6.1. deliberate failed logins to lock victim out of account
 >>    6.2. deliberate failed logins to acquire out-of-channel subsequent
 >>         access (eg: password resets)


JAD> Notably missing from your list is cross site scripting and session
JAD> fixation attacks - which are flaws in web sites, rather than flaws in
JAD> the internet protocols and architecture.  Each particular website has
JAD> all the tools it needs to create web sites that resist session fixation
JAD> and cross site scripting, but they usually do not, and it is in fact
JAD> hard to build a large site that does not contain bugs that allow session
JAD> fixation and/or cross site scripting.  The cure lies in in fixing the
JAD> tools with which web sites are programmed - in fixing the languages in
JAD> which web sites are programmed to make this kind of error less likely.
JAD> Also, if a standard login mechanism was built in the browser and/or
JAD> operating system, instead of each website rolling their own, they would
JAD> be less likely to roll their own wrongly.  Built in login would take
JAD> care of 99.9% of session fixation attacks, and most cross site scripting
JAD> attacks.

JAD>      --digsig
JAD>           James A. Donald
JAD>       6YeGpsZR+nOTh/cGwvITnSR3TdzclVpR0+pr3YYQdkG
JAD>       X4W475db7hpev0naSKV4sqlWhxanEd3CZFzJJoks
JAD>       4i+VSGjfZ0WyxW3/FPQ9odEHjkUXcH4KCmwZmCI9O

Received on Thursday, 6 July 2006 04:01:07 UTC