DECON day 3

if you missed last night’s parties, it was large groups of guys standing around in expensive hotel suites, drinking from red cups, and telling each other how much money they have. i unfortunately couldn’t make it as i had to go play some pokémans in my hotel room and txt angelica.

anyways: the talks.

DEFCON decided to balance the NSA keynote with a “fuck the NSA” panel today. speakers were 2 ACLU lawyers, an NSA historian, and an NSA programmer (retired). during it we learned

  • that the NSA is absolutely keeping a dossier on every american
  • that the NSA does not intercept communications of citizens because the legal definition of interception requires a human to look at the data. if it’s just stored forever, that would be fine
  • that the new Utah facility for storing things stores ~200 exobytes of data (i hope i wrote that down right)
  • that cory doctorow felt the need to clearly say “hello, i am cory doctorow, the writer” when asking his question of the panel

speaking of, cory doctorow gave his talk. he managed to go 11 minutes before calling for civil war, for those competing in that pool.

let me for a moment here slow down the flow of text. i want you to really savor the meat of his talk. ok, shake your brain off, do some mental pickled ginger, clear your mind. ready? ok, the cory doctorow talk:

whereas we currently have a system in some countries that filters the internet, cory deduces that it’s just a matter of time until the US government places ear implants in americans that will prevent them from hearing anti-american voices.

let that sink in. simple A -> B there. ok, we’re continuing.

this means that there must be a trustable way to make sure you’re running the OS you think you’re running.

ok. so A -> B -> C now. iran filters internet -> american anti-dissident implants -> need for trustable computing.

he proposes solving this need with chips in the computer that can sign everything in a secure way, which, like Descartes’ proof of trustable senses arising from the seed of “i think therefore i am”, arises from the sees of the chip and leads to a perfectly trustable computer free from government and corporate intrusion.

now, the philosophy student might point out that Descartes proof actually fell apart midway and he had to bring in “Oh, and God exists and he would never create a world that would lead us wrong” to help himself out, and then later commits a trivial logical fallacy as he gets stuck even with a benevolent God at his side. however sadly i am not a philosophy student and didn’t point it out.

not to spend like half of this post just shitting on that stupid talk, but it really shows (besides the lunacy of trustable computing arising from a tamper proof chip, like somehow the “trusting trust” paper never happened) how a generation of libertarian coders cannot get past the notion that a computer is somehow a part of their body, vs a tool. a computer and general computing is not the end in it’s own right, it’s a step on the road to improving society in some way.

charmingly, the next talk was a showcase of the exact opposite. a hardware / bios hacker decided as an experiment to create a tool that might be used by China (his words) to completely transparently hijack a machine without the owner ever knowing. the scenario he proposes goes as follows

  • all hardware of a certain type, say a network card, is made in China
  • the hardware is flashed with his code by a government operative
  • the code is a rootkit that runs on device boot
  • flashes the bios of the motherboard
  • installs an alternative bios loader graphically disguised as your bios
  • then proceeds to operate invisibly on your machine completely hidden out of sight.

his proof of concept ran behind windows while stealing all HTTP traffic in first demo, then in second actually booted a remote image of windows with a chinese flag wallpaper in a second demo.

i’ll repeat that. a trojan’ed hardware card caused the computer, on boot, to load windows from a remote server and run it like it’s right there. pretty spiffy.

what else was up… some kid found that Las Vegas airport had all their private documents, including access passwords and hardware designs for the flight systems, available in a public CMS and indexed by google. if you heard the rumor that he was arrested, that’s just rumors fyi. he’s fine, talk went as normal.

tangent: this was a skybox talk so it wasn’t described other than the name of the talk.  i only attended it cause it was called “Grepping the Gropers” and thought it’d be about some new uses of grep. oh well.

and finally, the dan kaminsky show happened as well. 5 problems he tries to solve in his hour:
1 – timing attacks. just make everything ran a few microseconds slower to fix that. ok dan.
2 – virtual machines don’t have access to /dev/random because they lack hardware, and so fall back to /dev/urandom and create broken ssh keys. his solution is to create a new /dev/random that’s based on the virtual machine being allowed to poll different things in the parent computer that have clocks and then run the offset noise through a von neumann “transition finder”, then run that through a hash as it goes. he’s got sample code ready. not mathematically perfect, but in practice it would have saved a lot of ssh keys. pretty cool.
3 – php makes it way too hard to do structured queries. his solution is to have a library that replaces “SELECT * WHERE a=^^a” with a structured query that knows ^^a is $a. code ready, and probably going to be ignored by everyone unless php puts it into the default examples page. oh, he did have a zinger here: “An IDE is a tool that moves copy paste from the Edit menu to the File menu”. cute.
4 – how to check if your government is blocking a website? create a minesweeper javascript that pulls favicons remotely. ok dan.
5 – and last, how to make IP scanners run faster? create a stateless scanner that shits SYNs to everyone, then forgets about them until it gets an ACK back. does 80k IPs per second, and has a full SQLite backend. pretty cool. one bug is that google servers are custom and stateless as well, leading to the two applications having the server version of stoner talks with each other. “hello?” “dude what?” “who are you?” “i know” “what?”. etc.

tangent, i just checked my notes and loaded up the doctorow talk to double check if i got the details right, but apparently the only notes i took during that one was the word “huarglblargl”. i guess i’ll trust my memory.

oh. wait. just remembered one more thing that pissed me off in his talk: doctorow did a bit about how computerized leg replacements cost $525,000, and then explained that that will not create a divide between rich and poor because people would simply not own houses in order to buy the expensive legs. ok cory.

3 Replies to “DECON day 3”

  1. Glad you liked 🙂 Some clarifications.

    The argument is that there’s some number of milliseconds noise that will forever obscure some number of nanoseconds noise past the point of no return. If this _isn’t_ true, then the non-constant time string comparison in OpenSSH is exploitable. I haven’t been able to model the equation here though.

    It’s *preferable* for VM’s to ask their host to do this replacement /dev/random work, but it seems to work inside of VM’s regardless.

    Could not agree with you more that the PHP hacks are irrelevant until they make it into samples. This is the challenge, making something good enough to make it there.

    The idea is that we should be able to detect censored sites from clients with no deployed code. works ok, and we’ll be able to do way better with Flash spoofing HTTP and HTTPS headers. In the later, we get certs.


Comments are closed.