A lot of the focus of the MBTA vs MIT case has been discussion of the CharlieCards. These are MiFare classic cards which have been known to be broken earlier this year. There is also a paper disposable card called the CharlieTicket that uses a magnetic stripe. The MIT students presentation states that these are cloneable and forgeable using a $150 magnetic stripe reader/writer.

From the Confidential Memo Prepared for the MBTA which was publicly disclosed by the MBTA is court filing:

This seems to break all the rules of integrity of sensitive data storage. How could someone store money on a magnetic stripe in 2008 and not store an identifier that references the account in a central database?

The tickets do have a unique identifier generated when the card is initially purchased so a fraud detection system could be in place or is planned. But this would require tracking the value on the ticket or the usage of the ticket centrally so it isn't clear why the value is stored on the card in the first place.

There are so many question about the security of this public system. Fraud costs the Massachusetts taxpayer money and refitting an insecure, ill-designed system costs the Massachusetts taxpayer money. [Disclosure: I am a Massachusetts taxpayer.]

It should be a requirement that the current system or the (hopefully) upgraded system be tested by an independent organization that specializes in cryptosystems. If the independent testing uncovers vulnerabilities, they need to be fixed before the system is fielded. Then the system should be retested to verify the fixes. Once the system is deemed secure by an independent organization, a summary of the test document should be published for public inspection. It should include the types of testing conducted and the results.

The public trust requires inspection of taxpayer funded projects to make sure they meet acceptible standards and vendors held responsible for deficiencies. Projects that use computers and software should not get a free pass. It will be interesting to see if the CharlieTicket system is ever held up to public scrutiny.

Veracode Security Solutions
Veracode Security Threat Guides

About Chris Wysopal

Chris Wysopal, co-founder and CTO of Veracode, is recognized as an expert and a well-known speaker in the information security field. He has given keynotes at computer security events and has testified on Capitol Hill on the subjects of government computer security and how vulnerabilities are discovered in software. His opinions on Internet security are highly sought after and most major print and media outlets have featured stories on Mr. Wysopal and his work. At Veracode, Mr. Wysopal is responsible for the security analysis capabilities of Veracode technology.

Comments (2)

BCreighton | August 15, 2008 12:57 pm

If the value isn't stored on the card, then the system isn't able to collect fares when the network isn't available (say, a bus is in a tunnel, or the network is down). That doesn't mean that the system shouldn't or couldn't check a centralized card database, encrypt the data, or even use a checksum with an effective possible entropy greater than 6 bits (even SYSV sum(1) gives you 16 bits).

In short: as they implied in their recommendations, the problem isn't with a) or b), it's with c) and d).

Even with crypto, there are still plenty of points of attack -- if you think IKE is complicated, try working out the logistics of key distribution for fare readers and buses from Providence to Newburyport.

One question I'm curious about that isn't explicitly mentioned in either the presentation or the recommendations is: do the CharlieTickets have machine-readable unique IDs that are tracked by the fare readers? If this isn't the case, the resulting attack doesn't even require a magstripe reader: Buy a card; slice the important tracks into two (or more if you're lucky) identical pieces; re-assemble each onto a new card; and go to town. There's a breakdown of the fields in the slides, but I'm not sure whether or not it's a complete description of the card.

By the way, since apparently no journalist has bothered to dig this far (even though it's mentioned in the presentation slides), the contractors responsible for the MBTA's system are <a href="http://www.oti.co.il/content.aspx?id=263" rel="nofollow">Scheidt &amp; Bachmann/OTI</a>. S&amp;B is also responsible for the awesome LIRR/Metro-North card system that <a href="http://www.nytimes.com/2008/08/13/nyregion/13scam.html?em" rel="nofollow">lets users buy cards even if their debit cards don't have enough money to cover the cost</a>.

Anton Aylward | August 21, 2008 5:23 pm

Compare this with the system used by the Toronto Transit Corporation.
The 'pass' is for a given period and allows unlimited travel in that period. As such the gates only have to check to see if the pass is used within its valid timeframe.

The economics of this are obviously different. See http://www3.ttc.ca/

A commuter will make 2 trips a day at $2.75, minimum, so there is a small saving. But the TTC benefits from a plan that gives a predictable cash flow. The consumer also benefits from the convenience of the pass for extra 'incidental' trips. No doubt the overall economic analysis also takes into account that this is an incentive to use the transit system compared to driving.

Regardless: what I find interesting is how different cities seem to come to different conclusions and use different economic models given much the same data about commuters.

Please Post Your Comments & Reviews

Your email address will not be published. Required fields are marked *

Love to learn about Application Security?

Get all the latest news, tips and articles delivered right to your inbox.