making usb accessible: developing ultra-low-cost, open usb … · 2020-05-21 · •software lead,...

39
DEVELOPING LOW-COST USB TOOLS KATE TEMKIN • MIKAELA SZEKELY TEARDOWN 2019 ACCESSIBLE USB :

Upload: others

Post on 08-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Making USB Accessible: Developing Ultra-low-cost, Open USB … · 2020-05-21 · •software lead, Great Scott Gadgets •glitch witch & open-source-tool-builder •educational (reverse)

DEVELOPING LOW-COST USB TOOLSKATE TEMKIN • MIKAELA SZEKELY

TEARDOWN 2019

ACCESSIBLE USB :

Page 2: Making USB Accessible: Developing Ultra-low-cost, Open USB … · 2020-05-21 · •software lead, Great Scott Gadgets •glitch witch & open-source-tool-builder •educational (reverse)

SO, WHO ARE YOU?

• software lead, Great Scott Gadgets• glitch witch & open-source-tool-builder• educational (reverse) engineer• lauded by the Daily Mail as a “cyber criminal”

Katherine/Kate Temkin (@ktemkin):

Mikaela Szekely (@Qyriad):• student, and yet master*• got a bit too deep in some open-source USB stuff• apparently better at cybercrime (not caught by the Daily Mail)

Page 3: Making USB Accessible: Developing Ultra-low-cost, Open USB … · 2020-05-21 · •software lead, Great Scott Gadgets •glitch witch & open-source-tool-builder •educational (reverse)
Page 4: Making USB Accessible: Developing Ultra-low-cost, Open USB … · 2020-05-21 · •software lead, Great Scott Gadgets •glitch witch & open-source-tool-builder •educational (reverse)

https://usbc.tf

Page 5: Making USB Accessible: Developing Ultra-low-cost, Open USB … · 2020-05-21 · •software lead, Great Scott Gadgets •glitch witch & open-source-tool-builder •educational (reverse)
Page 6: Making USB Accessible: Developing Ultra-low-cost, Open USB … · 2020-05-21 · •software lead, Great Scott Gadgets •glitch witch & open-source-tool-builder •educational (reverse)

LET’S LOOK ATWIRESHARK

Page 7: Making USB Accessible: Developing Ultra-low-cost, Open USB … · 2020-05-21 · •software lead, Great Scott Gadgets •glitch witch & open-source-tool-builder •educational (reverse)

SUPER-CHEAP USB ANALYSIS

Super-cheap FX2 “LA” boards are really freaking cheap, and can capture up to 24MHz via Sigrok.

That’s enough for LS/FS USB!

Page 8: Making USB Accessible: Developing Ultra-low-cost, Open USB … · 2020-05-21 · •software lead, Great Scott Gadgets •glitch witch & open-source-tool-builder •educational (reverse)

REQUEST DECODE WITH SIGROK? YEPDOES IT GO FAR ENOUGH? ...NOT REALLY

SIMPLE LS / FS ANALYSIS

Page 9: Making USB Accessible: Developing Ultra-low-cost, Open USB … · 2020-05-21 · •software lead, Great Scott Gadgets •glitch witch & open-source-tool-builder •educational (reverse)

THE “STATE OF THE ART” IN HS ANALYSISExtremely useful tools...

…with extremely inaccessible price tags.

Page 10: Making USB Accessible: Developing Ultra-low-cost, Open USB … · 2020-05-21 · •software lead, Great Scott Gadgets •glitch witch & open-source-tool-builder •educational (reverse)

WAIT, – engineers who can’t decode USBbecause analyzers are too damned expensive

ISN’T USING USB SUPER COMPLICATED?

Page 11: Making USB Accessible: Developing Ultra-low-cost, Open USB … · 2020-05-21 · •software lead, Great Scott Gadgets •glitch witch & open-source-tool-builder •educational (reverse)
Page 12: Making USB Accessible: Developing Ultra-low-cost, Open USB … · 2020-05-21 · •software lead, Great Scott Gadgets •glitch witch & open-source-tool-builder •educational (reverse)
Page 13: Making USB Accessible: Developing Ultra-low-cost, Open USB … · 2020-05-21 · •software lead, Great Scott Gadgets •glitch witch & open-source-tool-builder •educational (reverse)
Page 14: Making USB Accessible: Developing Ultra-low-cost, Open USB … · 2020-05-21 · •software lead, Great Scott Gadgets •glitch witch & open-source-tool-builder •educational (reverse)

OKAY, SHOW ME THE

SOFTWARE

Page 15: Making USB Accessible: Developing Ultra-low-cost, Open USB … · 2020-05-21 · •software lead, Great Scott Gadgets •glitch witch & open-source-tool-builder •educational (reverse)
Page 16: Making USB Accessible: Developing Ultra-low-cost, Open USB … · 2020-05-21 · •software lead, Great Scott Gadgets •glitch witch & open-source-tool-builder •educational (reverse)

LPC43XX

Page 17: Making USB Accessible: Developing Ultra-low-cost, Open USB … · 2020-05-21 · •software lead, Great Scott Gadgets •glitch witch & open-source-tool-builder •educational (reverse)

GreatFET One (codename Azalea)

● Multi-tool for hardware hacking – including lots of USB functionality.

● Centered around the LPC4330, so we have access to that 204MHz SGPIO fanciness.

● Super-fast USB stack, so we can saturate the host’s USB bus with captured data.

● Build them yourselves! Design files at https://github.com/greatfet-hardware

Page 18: Making USB Accessible: Developing Ultra-low-cost, Open USB … · 2020-05-21 · •software lead, Great Scott Gadgets •glitch witch & open-source-tool-builder •educational (reverse)

RHODODENDRON

Page 19: Making USB Accessible: Developing Ultra-low-cost, Open USB … · 2020-05-21 · •software lead, Great Scott Gadgets •glitch witch & open-source-tool-builder •educational (reverse)

RECIPE FOR A HIGH SPEED ANALYZER Components:• LPC43xx; or similar• SDRAM for packet buffering*• ULPI PHY• SPI Flash

What this will get you:• a super-cheap analyzer, especially if you omit the SDRAM

● an SDRAM-less design can still capture a lot of stuff

Page 20: Making USB Accessible: Developing Ultra-low-cost, Open USB … · 2020-05-21 · •software lead, Great Scott Gadgets •glitch witch & open-source-tool-builder •educational (reverse)

RECIPE FOR A HIGH SPEED ANALYZER Components:• LPC43xx; or similar• SDRAM for packet buffering*• ULPI PHY• SPI Flash

What this won’t get you:• working analysis software

● wait

Page 21: Making USB Accessible: Developing Ultra-low-cost, Open USB … · 2020-05-21 · •software lead, Great Scott Gadgets •glitch witch & open-source-tool-builder •educational (reverse)
Page 22: Making USB Accessible: Developing Ultra-low-cost, Open USB … · 2020-05-21 · •software lead, Great Scott Gadgets •glitch witch & open-source-tool-builder •educational (reverse)
Page 23: Making USB Accessible: Developing Ultra-low-cost, Open USB … · 2020-05-21 · •software lead, Great Scott Gadgets •glitch witch & open-source-tool-builder •educational (reverse)

FrontendFrontendDecodersBackend

ViewSB Architecture● Three component types run in their own processes; so

they can start and stop independently.● All three components are designed to be easily

swappable using simple, modular python.● All completely open-source, and contributor-friendly!

https://github.com/usb-tools/viewsb

Page 24: Making USB Accessible: Developing Ultra-low-cost, Open USB … · 2020-05-21 · •software lead, Great Scott Gadgets •glitch witch & open-source-tool-builder •educational (reverse)
Page 25: Making USB Accessible: Developing Ultra-low-cost, Open USB … · 2020-05-21 · •software lead, Great Scott Gadgets •glitch witch & open-source-tool-builder •educational (reverse)

OKAY, SHOW ME THE

SOFTWARE

Page 26: Making USB Accessible: Developing Ultra-low-cost, Open USB … · 2020-05-21 · •software lead, Great Scott Gadgets •glitch witch & open-source-tool-builder •educational (reverse)

FrontendFrontendDecodersBackend

Page 27: Making USB Accessible: Developing Ultra-low-cost, Open USB … · 2020-05-21 · •software lead, Great Scott Gadgets •glitch witch & open-source-tool-builder •educational (reverse)
Page 28: Making USB Accessible: Developing Ultra-low-cost, Open USB … · 2020-05-21 · •software lead, Great Scott Gadgets •glitch witch & open-source-tool-builder •educational (reverse)

[capture-cli-ov.py]

Page 29: Making USB Accessible: Developing Ultra-low-cost, Open USB … · 2020-05-21 · •software lead, Great Scott Gadgets •glitch witch & open-source-tool-builder •educational (reverse)

FrontendFrontendDecodersBackend

Page 30: Making USB Accessible: Developing Ultra-low-cost, Open USB … · 2020-05-21 · •software lead, Great Scott Gadgets •glitch witch & open-source-tool-builder •educational (reverse)
Page 31: Making USB Accessible: Developing Ultra-low-cost, Open USB … · 2020-05-21 · •software lead, Great Scott Gadgets •glitch witch & open-source-tool-builder •educational (reverse)

[capture-cli.py]

Page 32: Making USB Accessible: Developing Ultra-low-cost, Open USB … · 2020-05-21 · •software lead, Great Scott Gadgets •glitch witch & open-source-tool-builder •educational (reverse)

FrontendFrontendDecodersBackend

Page 33: Making USB Accessible: Developing Ultra-low-cost, Open USB … · 2020-05-21 · •software lead, Great Scott Gadgets •glitch witch & open-source-tool-builder •educational (reverse)
Page 34: Making USB Accessible: Developing Ultra-low-cost, Open USB … · 2020-05-21 · •software lead, Great Scott Gadgets •glitch witch & open-source-tool-builder •educational (reverse)

[capture-tui.py]

Page 35: Making USB Accessible: Developing Ultra-low-cost, Open USB … · 2020-05-21 · •software lead, Great Scott Gadgets •glitch witch & open-source-tool-builder •educational (reverse)

[oh, and we support usbmon]

Page 36: Making USB Accessible: Developing Ultra-low-cost, Open USB … · 2020-05-21 · •software lead, Great Scott Gadgets •glitch witch & open-source-tool-builder •educational (reverse)

BONUSTIME

Page 37: Making USB Accessible: Developing Ultra-low-cost, Open USB … · 2020-05-21 · •software lead, Great Scott Gadgets •glitch witch & open-source-tool-builder •educational (reverse)

DAISHO

Page 38: Making USB Accessible: Developing Ultra-low-cost, Open USB … · 2020-05-21 · •software lead, Great Scott Gadgets •glitch witch & open-source-tool-builder •educational (reverse)
Page 39: Making USB Accessible: Developing Ultra-low-cost, Open USB … · 2020-05-21 · •software lead, Great Scott Gadgets •glitch witch & open-source-tool-builder •educational (reverse)

BONUSQUESTIONS?