Flaw in Netscape rejoinder (was Re: FV Demonstrates Fatal Flaw in Software Encryption of Credit Cards)

Jeff Weinstein jsw at netscape.com
Thu Feb 1 06:30:38 PST 1996


Nathaniel Borenstein wrote:
> I should also apologize for the fact that I couldn't resist in pointing
> out lots of little problems with your proposed attack, and that I'm
> responding to your plan in the order you described it.  This means that
> we don't get to the really major flaw in your strategy towards the end,
> so what comes at first will seem like nitpicking.

  No problem.  This is how we find flaws and make systems stronger.

> Excerpts from mail.cypherpunks: 30-Jan-96 Re: FV Demonstrates Fatal F..
> Jeff Weinstein at netscape. (2739*)
> 
> > It would not be much harder than the demonstrated keyboard attack
> > to create a hacked version of winsock that would implement an
> > attack against First Virtual.  If the attacker had a list of web
> > pages that accept FV payments it would be very easy to collect
> > the ID numbers.
> 
> A list of stores?  First of all, this attack is already amazingly
> focused.  Our DLL to implement the attack on credit cards is 16K, and
> doesn't need to target any specific buyers, sellers, or programs.  The
> more complex the attack & the bigger the software, the more likely it is
> to be noticed.  But this is just a minor nit.  Read on.

  A gigabyte drive has lots of corners to hide stuff.  A list of the
top 1000 first virtual sites would not be very large.  On a windows
system it could be hidden in the c:\windows\system directory, where
a 100k file with an unintelligible name would not seem unusual.

> > There is no need to attack the large datastream
> > of keyboard input when the search can be easily narrowed.  Since
> > FV doesn't use encryption the attack could easily be implemented
> > in winsock, making it independent of any client software.
> 
> What's really funny (to me, at least) here and in a lot of other aspects
> of the cypherpunk reaction to FV is the continuing assumption that the
> choice of FV vs encryption is an either/or thing.  Combine FV's Virtual
> PIN mechanism with transport encryption and you've indiputably got
> something that's a LOT safer than just using credit cards with
> encryption, and a bit safer than our current system, too.  But I know,
> the correct focus here is FV's current system.  So read on.
> 
> At this point in your attack, you skip a step:  You don't explain how
> you correlate the FV ID to email address.  This means that your attack
> will ONLY work for systems where the user is always using the same PC to
> web browse and read his mail.  In practice, even if this is true 99% of
> the time, the remaining 1% would probably cause your attack to be
> detected pretty quickly if deployed on a large, automated scale.  But,
> for the sake of argument, let's imagine that it's true 100% of the time.
>  Read on.

  You would not send the FV ID to the "bad guys" until you saw a complete
FV transaction take place.  You remember the ID when you see it, but
only send it after seeing the e-mail verification message.

> > A version
> > that infected the win95 IP stack could be quite effective.  The list
> > of FV accepting sites would be easily obtainable via a query of
> > altavista.  Since the infected system is on the internet and has
> > to periodically send its results to the attacker, it could download
> > an updated list of FV pages at the same time.
> 
> Seems to me your "not much harder" claim is starting to break down here,
> with an automated virus spreading itself all over the net and
> downloading lists from altavista weekly.  And the amount of net traffic
> you're generating may make this attack a lot more quickly detected than
> ours.  (In fact, I imagine that if the folks at AltaVista or Lycos noted
> thousands of identical searches focused on merchants accepting First
> Virtual, they'd probably contact us, more out of concern for their own
> load management than anything else.)  But still, read on -- we're
> finally coming to the good part.

  I guess I didn't explain this well enough.  The attacker would do
a single altavista query, and then broadcast it via some existing
mechanism over the net.  Weekly postings to some low volume junk
newsgroup would do the trick.

> > Attacking the e-mail verification step of the FV system could also
> > be accomplished via a hacked winsock.  A bit of POP3 aware code
> > in the winsock could intercept the verification messages and keep
> > the e-mail client from ever seeing them.  It could automatically
> > generate "Yes" responses for all such messages.
> 
> OK, so you're only interested in POP3 mail tools?  That's wonderful, but
> there's also systems that use IMAP, systems that use raw SMTP to locally
> resident message stores, and many odder things.  There's also people who
> get their mail through AOL, Compuserve, Prodigy, etc.  There's people
> who live on a PC or Mac, but who read mail on a UNIX system (e.g. many
> Delphi and Netcom users).

  So I only get half or a third of the millions of people conducting
commerce over the internet.  If this stuff ever really takes off that
will be plenty.

> You're not going to catch all of them.  Moreover, even if you say
> "that's fine, we only need some of them", your attack is now dead in the
> water.  Why?  Because you have no way of telling, in your attack virus,
> what kind of technology is going to be used to read mail.  This means
> that your attack will inevitably, and quickly, hit some people who DO
> receive the mail.  Our fraud department will be quickly notified (when
> the user answers "fraud" to our query, a human sees it right away) and
> we'll be off to the races, collecting clues.  It will be work tracking
> it down, but we'll have a good shot in identifying the attack and
> producing a program that helps users spot it on their system (the moral
> equivalent of an anti-viral program) in less time than it would take you
> to even suspect that the attack FV outlined had taken place in the world
> of software-encrypted credit cards.

  It should be quite easy to determine what protocol a user uses to read
their mail from within winsock.  If we want to limit it to pop3 users, we
could just keep track of connections to port 110.  As noted before, if
they don't use pop we don't target them.

> Your attack would be caught by us relatively quickly because our model
> is based not on a single fail-safe piece of security software, but on
> *process* security.  The overall process is multifaceted, with many
> checks and balances.  What if, for example, I go to someone else's
> machine and use their web browser to buy something using MY First
> Virtual ID?  Your attack will capture my ID and allow you to try to use
> it, but the email confirmation will go elsewhere, quite possibly to an
> uninfected machine.  When reproduced on a mass scale, this kind of thing
> will be noticed pretty fast.  In contrast, credit cards are a one-way
> payment mechanism -- the number (and sometimes some other info typed in
> close proximity) is basically all you need.  Just steal that without
> getting noticed and the crime is done.

  With the explosive growth of internet connected PCs, I think that
the number of people who "surf" and read e-mail on different machines
is dwindling rapidly.  I am happy to skip those old guard of the
internet and concentrate on the newbies who only have one computer
and one account.

> >   I believe that FV is just as vulnerable to these types of
> > attacks as any of the encryption based credit card schemes, if
> > not more so.  The thing that really protects FV is that it can
> > only be used to buy bit, not real goods, and the bad guys don't
> > generally care about stealing bits.  This is also what makes FV
> > not generally useful to people who want to shop over the internet.
> 
> Actually, you're a bit behind the times.  We removed that restriction
> from our system a couple of months ago.  There still aren't many people
> using our system for physical goods, mostly because of our 91-day fund
> holding period, but we have gotten the green light from our financial
> partners to waive that for qualified, established merchants, once we
> make a few technical changes behind the scenes.
> 
> The fact is that our original restriction against physical goods was
> never designed to protect against fraud.  Rather, it was a conscious
> attempt to do two things:  1) bound the risk our bank perceived in being
> the first bank ever to explicitly agree to handle an Internet-based
> payment system (this was mid-1994, remember), and 2) to focus the
> attention of our prospective users on the situations that were in fact
> reasonably well-suited to an economic model in which consumers had the
> explicit option of refusing payment.  Some of our sellers very quickly
> realized that no matter what we said, it was straightforward to use our
> system for physical goods, shipping them only after the consumer said
> "yes", and we eventually changed our terms and conditions to reflect
> that reality.  The 91 day hold, on the other hand, WAS designed to
> protect against fraud -- from the *merchant* side, which is why we have
> no qualms about waiving it for qualified merchants.

  Well this means that an attack against First Virtual would be more
interesting.

> Now, actually, I want to commend you.  This is as close as I've ever
> seen anyone come to constructing a plausible automated attack on FV.
> The IP stack is a very clever attack vector, and I honestly can't claim
> to have anticipated it.  However, I do think that the flaw in your
> approach reinforces my belief in the importance of multi-layered
> defenses.  In fact, a multi-layered security strategy is the ONLY
> defense against vulnerabilities you haven't thought of yet.  That's the
> real reason why ANY scheme based on one-way instruments like credit card
> numbers is particularly hard to make secure.  -- Nathaniel

  I still think that someone could construct an attack against the
current FV system using the techniques I've described.  It would be
more complicated to construct than the keyboard attack but that has
been proven time and again not to be a barrier.  Someone who could
construct the Morris worm or the year ago IP spoofing attacks could
do it. 

  I think that you may have to rethink some of your assumptions that
were valid back when you designed the system, but are no longer given
the current growth and changing demographics of the internet.

  I'd really like to see some effort spent on closing some of the more
gaping holes in the underlying systems.  Why should it be so easy
for one program to snoop on the keystrokes directed to another?
Why should it be so easy for a program downloaded from the net
to patch a part of the operating system?

	--Jeff

-- 
Jeff Weinstein - Electronic Munitions Specialist
Netscape Communication Corporation
jsw at netscape.com - http://home.netscape.com/people/jsw
Any opinions expressed above are mine.






More information about the cypherpunks-legacy mailing list