Some months ago there were some press announcements re attacks on TXT
by Joanna Rutkowska's group at Invisible Things Lab (ITL). I believe
it had to do with SMM and the semi-mythical SMM Transfer Monitor
supported by TXT.

Recently there was a new TXT flaw found by the same group. Details of
the attack, and updated SINIT modules from Intel, were released
yesterday.

Somewhat ironically, the SINIT bug relates to a problem area many of
us have run into in unsuccessfully trying to get various machines to
go into TXT mode, namely the DMAR table in memory which describes
devices and their memory access translations. This table is prepared
by BIOS, but SINIT doesn't trust it. It goes over it with a fine tooth
comb, checking it against the actual hardware devices which SINIT
finds to exist, and then when SINIT is satisfied, it copies the table
into secure memory for use by tboot. I and others have had problems
where SINIT doesn't like something about the table and refuses to
launch, leaving us scratching our heads as to what is wrong.

ITL did not bother with head scratching, they just disassembled the
SINIT code to see what it was doing. (This is because they were
looking for attacks rather than trying to help befuddled would-be
tboot users, but I can't help thinking that their skills would be
useful in our debugging efforts.) They discovered a bug, as I said: a
certain device register is 64 bits but SINIT only read the lower 32
bits and used that as an address. Oops, an easy mistake to make; I
have done much the same but that software was not security sensitive.
ITL wrote something into the high 32 bits before launching TXT and as
a result the device table is not where SINIT thinks it is, hence SINIT
gets fooled, and as they say, 0wned. Specifically SINIT doesn't find
out about one of the DMA units and doesn't set it up with VT-d
protections, allowing it to later be made to spray all over memory
right on top of the supposedly protected region.

I suppose I should remind readers of my call for Intel to open-source
this security critical code in the hopes that our many eyes may find
bugs without relying on embarrassing public press releases saying that
TXT is broken.

Invisible Things blog posting with link to paper:
http://theinvisiblethings.blogspot.com/2009/12/another-txt-attack.html

Intel security advisory:
http://security-center.intel.com/advisory.aspx?intelid=INTEL-SA-00021&languageid=en-fr

Fresh new SINIT modules available from sourceforge:
http://sourceforge.net/projects/tboot/files/

So where is the CRL so we know not to trust attestations from broken
SINITs? Or something like OCSP with a server run by Intel that we can
query to see which SINITs are good and which are bad? Intel is going
to be in trouble if anyone actually starts to use this technology,
with their current lack of attention to these kinds of details!

Hal Finney

------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev 
_______________________________________________
tboot-devel mailing list
tboot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tboot-devel

Reply via email to