SlideShare a Scribd company logo
SRLabs	
  Template	
  v12	
  
BadUSB	
  —	
  On	
  accessories	
  that	
  turn	
  evil	
  
Karsten	
  Nohl	
  <nohl@srlabs.de>	
  	
  
Sascha	
  Krißler	
  <sascha@srlabs.de>	
  
Jakob	
  Lell	
  <jakob@srlabs.de>	
  
2	
  
Demo	
  1	
  –	
  USB	
  s&ck	
  takes	
  over	
  
Windows	
  machine	
  
Agenda	
  
3	
  
§  USB	
  background	
  
§  Reprogramming	
  peripherals	
  
§  BadUSB	
  aLack	
  scenarios	
  
§  BadUSB	
  exposure	
  
§  Defenses	
  and	
  next	
  steps	
  
USB	
  devices	
  are	
  recognized	
  using	
  several	
  idenPfiers	
  
4	
  
USB	
  devices	
   Connectors	
  +	
  hubs	
   Host	
  
Root	
  
hub	
  
Examples	
  
USB	
  thumb	
  drive	
  
8	
  –	
  Mass	
  Storage	
  
AA627090820000000702	
  
0	
  –	
  Control	
  
1	
  –	
  Data	
  transfers	
  
Interface	
  class	
  
End	
  points	
  
Iden&fier	
  
a.  1	
  	
  	
  –	
  Audio	
  
b.  14	
  –	
  Video	
  
Webcam	
  
Serial	
  number	
  (opPonal)	
   0258A350	
  
0	
  –	
  Control	
  
1	
  –	
  Video	
  transfers	
  
6	
  –	
  Audio	
  transfers	
  
7	
  –	
  Video	
  interrupts	
  
USB	
  devices	
  are	
  iniPalized	
  in	
  several	
  steps	
  
5	
  
Devices	
  can	
  have	
  
several	
  iden&&es	
  
§  A	
  device	
  indicates	
  
its	
  capabiliPes	
  
through	
  a	
  
descriptor	
  	
  
§  A	
  device	
  can	
  have	
  
several	
  
descriptors	
  if	
  it	
  
supports	
  mulPple	
  
device	
  classes;	
  like	
  
webcam	
  +	
  
microphone	
  
§  Device	
  can	
  
deregister	
  and	
  
register	
  again	
  as	
  a	
  
different	
  device	
  
Power-­‐on	
  +	
  
Firmware	
  init	
  
Load	
  driver	
  
Register	
  
Set	
  address	
  
Send	
  descriptor	
  
Set	
  configuraPon	
  
Normal	
  operaPon	
  
Register	
  again	
  …	
  
OpPonal:	
  deregister	
  
Load	
  another	
  
driver	
  
USB	
  device	
  
USB	
  plug-­‐and-­‐play	
  
USB	
  devices	
  include	
  a	
  micro-­‐controller,	
  hidden	
  from	
  the	
  user	
  
6	
  
8051	
  CPU	
  
Bootloader	
  
USB	
  controller	
  
Controller	
  
firmware	
  
Mass	
  storage	
  
Flash	
  
The	
  only	
  part	
  	
  
visible	
  to	
  the	
  user	
  
Agenda	
  
7	
  
§  USB	
  background	
  
§  Reprogramming	
  peripherals	
  
§  BadUSB	
  aLack	
  scenarios	
  
§  BadUSB	
  exposure	
  
§  Defenses	
  and	
  next	
  steps	
  
Reversing	
  and	
  patching	
  USB	
  firmware	
  took	
  2	
  months	
  	
  
8	
  
1.  Find	
  leaked	
  firmware	
  and	
  
flash	
  tool	
  on	
  the	
  net	
  
2.  Sniff	
  update	
  communicaPon	
  
using	
  Wireshark	
  
3.  Replay	
  custom	
  SCSI	
  
commands	
  used	
  for	
  updates	
  
4.  (Reset	
  bricked	
  devices	
  
through	
  short-­‐circuiPng	
  
Flash	
  pins)	
  
Document	
  firmware	
  	
  
update	
  process	
  
Patch	
  firmware	
  Reverse-­‐engineer	
  firmware	
  
1.  Load	
  into	
  disassembler	
  
(complicaPon:	
  MMU-­‐like	
  
memory	
  banking)	
  
2.  Apply	
  heurisPcs:	
  
–  Count	
  how	
  olen	
  funcPon	
  
starts	
  match	
  up	
  with	
  
funcPon	
  calls	
  for	
  different	
  
memory	
  locaPon	
  guesses;	
  
the	
  most	
  matches	
  indicate	
  
that	
  you	
  guessed	
  right	
  	
  
–  Find	
  known	
  USB	
  bit	
  fields	
  
such	
  as	
  descriptors	
  
3.  Apply	
  standard	
  solware	
  
reversing	
  to	
  find	
  hooking	
  
points	
  
1.  Add	
  hooks	
  to	
  firmware	
  to	
  
add/change	
  funcPonality	
  
2.  Custom	
  linker	
  script	
  compiles	
  
C	
  and	
  assembly	
  code	
  and	
  
injects	
  it	
  into	
  unused	
  areas	
  of	
  
original	
  firmware	
  
Other	
  possible	
  targets	
  
We	
  focused	
  on	
  USB	
  sPcks,	
  
but	
  the	
  same	
  approach	
  
should	
  work	
  for:	
  
§  External	
  HDDs	
  
§  Webcams,	
  keyboards	
  
§  Probably	
  many	
  more	
  …	
  
A	
   B	
   C	
  
Agenda	
  
9	
  
§  USB	
  background	
  
§  Reprogramming	
  peripherals	
  
§  BadUSB	
  aKack	
  scenarios	
  
§  BadUSB	
  exposure	
  
§  Defenses	
  and	
  next	
  steps	
  
10	
  
Demo	
  2	
  –	
  Windows	
  infects	
  USB	
  
s&ck	
  which	
  then	
  takes	
  over	
  
Linux	
  machine	
  
Keyboard	
  emulaPon	
  is	
  enough	
  for	
  infecPon	
  and	
  privilege	
  escalaPon	
  	
  
(w/o	
  need	
  for	
  solware	
  vulnerability)	
  
11	
  
Challenge	
  –	
  Linux	
  malware	
  runs	
  with	
  limited	
  user	
  privileges,	
  but	
  needs	
  
	
  root	
  privileges	
  to	
  infect	
  further	
  sPcks	
  
Approach	
  –	
  Steal	
  sudo	
  password	
  in	
  screensaver	
  
Restart	
  screensaver	
  
(or	
  policykit)	
  with	
  
password	
  stealer	
  
added	
  via	
  an	
  
LD_PRELOAD	
  library	
  	
  
§  User	
  enters	
  password	
  to	
  
unlock	
  screen	
  
§  Malware	
  intercepts	
  
password	
  and	
  gains	
  root	
  
privileges	
  using	
  sudo	
  
12	
  
Demo	
  3	
  –	
  Android	
  phone	
  changes	
  
DNS	
  sePngs	
  in	
  Windows	
  
Network	
  traffic	
  can	
  also	
  be	
  diverted	
  by	
  “DHCP	
  on	
  USB”	
  
13	
  
AKack	
  steps	
  
1.  USB	
  sPck	
  spoofs	
  
Ethernet	
  adapter	
  
2.  Replies	
  to	
  DHCP	
  query	
  
with	
  DNS	
  server	
  on	
  the	
  
Internet,	
  but	
  without	
  
default	
  gateway	
  
Result	
  
3.  Internet	
  traffic	
  is	
  sPll	
  routed	
  
through	
  the	
  normal	
  Wi-­‐Fi	
  
connecPon	
  
4.  However,	
  DNS	
  queries	
  are	
  sent	
  to	
  
the	
  USB-­‐supplied	
  server,	
  enabling	
  
redirecPon	
  aLacks	
  
DNS	
  assignment	
  in	
  
DHCP	
  over	
  spoofed	
  
USB-­‐Ethernet	
  
adapter	
  
All	
  DNS	
  
queries	
  go	
  to	
  
aLacker’s	
  DNS	
  
server	
  
“Can	
  I	
  charge	
  my	
  phone	
  on	
  your	
  laptop?”	
  –	
  	
  
Android	
  phones	
  are	
  the	
  simplest	
  USB	
  aLack	
  plaworm	
  
14	
  
Prepara&on	
  –	
  Android	
  comes	
  with	
  an	
  Ethernet-­‐
over-­‐USB	
  emulaPon	
  needing	
  liLle	
  configuraPon	
  
AKack	
  –	
  Phone	
  supplies	
  default	
  route	
  over	
  USB,	
  
effecPvely	
  intercepPng	
  all	
  Internet	
  traffic	
  
DHCP	
  overrides	
  
default	
  gateway	
  
over	
  USB-­‐Ethernet	
  
Computer	
  sends	
  all	
  
Internet	
  traffic	
  
through	
  phone	
  
Hacked	
  by	
  the	
  second	
  factor?	
  
Using	
  keyboard	
  emulaPon,	
  a	
  
virus-­‐infected	
  smartphone	
  
could	
  hack	
  into	
  the	
  USB-­‐
connected	
  computer.	
  
This	
  compromises	
  the	
  
“second	
  factor”	
  security	
  
model	
  of	
  online	
  banking.	
  	
  
Proof-­‐of-­‐concept	
  
released	
  at:	
  
srlabs.de/badusb	
  
Bonus:	
  Virtual	
  Machine	
  break-­‐out	
  
15	
  
Malicious	
  
VM	
  
Host	
  
1.  VM	
  tenant	
  reprograms	
  
USB	
  device	
  (e.g.,	
  using	
  
SCSI	
  commands)	
  
3.  USB	
  device	
  spoofs	
  key	
  
strokes,	
  changes	
  DNS,	
  …	
  
2.  USB	
  peripherals	
  
spawns	
  a	
  second	
  
device	
  that	
  gets	
  
connected	
  to	
  the	
  
VM	
  host	
  
Boot-­‐sector	
  virus,	
  USB	
  style	
  
16	
  
Hide	
  rootkit	
  from	
  OS/AV.	
  
When	
  an	
  OS	
  accesses	
  the	
  
sPck,	
  only	
  the	
  USB	
  
content	
  is	
  shown	
  
Infect	
  machine	
  when	
  
boo&ng.	
  
When	
  the	
  BIOS	
  accesses	
  
the	
  sPck,	
  a	
  secret	
  Linux	
  is	
  
shown,	
  booPng	
  a	
  root	
  kit,	
  
infecPng	
  the	
  machine,	
  
and	
  then	
  booPng	
  from	
  
hard	
  disk	
  
Fingerprint	
  	
  
OS/BIOS.	
  
Patched	
  USB	
  
sPck	
  firmware	
  
can	
  disPnguish	
  
Win,	
  Mac,	
  
Linux,	
  and	
  the	
  
BIOS	
  based	
  on	
  
their	
  USB	
  
behavior	
  
USB	
  content,	
  
for	
  example	
  
Linux	
  install	
  
image	
  
Secret	
  Linux	
  
image	
  
17	
  
Demo	
  4	
  –	
  USB	
  thumb	
  drive	
  emulates	
  
keyboard	
  and	
  second	
  drive	
  to	
  infect	
  
computer	
  during	
  boot	
  
Family	
  of	
  possible	
  USB	
  aLacks	
  is	
  large	
  
18	
  
More	
  aKack	
  ideas	
   Effect	
  
§  External	
  storage	
  can	
  choose	
  to	
  hide	
  files	
  
instead	
  of	
  delePng	
  them	
  
§  Viruses	
  can	
  be	
  added	
  to	
  files	
  added	
  to	
  storage	
  
§  First	
  access	
  by	
  virus	
  scanner	
  sees	
  original	
  file,	
  
later	
  access	
  sees	
  virus	
  
§  Emulate	
  a	
  keyboard	
  during	
  boot	
  and	
  install	
  a	
  
new	
  BIOS	
  from	
  a	
  file	
  in	
  a	
  secret	
  storage	
  area	
  
on	
  a	
  USB	
  sPck	
  
§  Emulate	
  a	
  USB	
  display	
  to	
  access	
  security	
  
informaPon	
  such	
  as	
  Captchas	
  and	
  randomly	
  
arranged	
  PIN	
  pads	
  
AKacks	
  shown	
  
Emulate	
  
keyboard	
  
Hide	
  data	
  on	
  
s&ck	
  or	
  HDD	
  
Rewrite	
  data	
  
in-­‐flight	
  
Update	
  PC	
  
BIOS	
  
Spoof	
  display	
  
Spoof	
  
network	
  
card	
  
“USB	
  boot-­‐	
  
sector”	
  virus	
  
Agenda	
  
19	
  
§  USB	
  background	
  
§  Reprogramming	
  peripherals	
  
§  BadUSB	
  aLack	
  scenarios	
  
§  BadUSB	
  exposure	
  
§  Defenses	
  and	
  next	
  steps	
  
We	
  analyzed	
  the	
  possible	
  reach	
  of	
  BadUSB	
  from	
  two	
  perspecPves	
  
20	
  
Top-­‐down	
  analysis	
   BoKom-­‐up	
  analysis	
  
§  Start	
  from	
  largest	
  USB	
  controller	
  
vendors	
  
§  Find	
  their	
  chip	
  families	
  for	
  
popular	
  use	
  cases	
  
§  Analyze	
  datasheets	
  and	
  web	
  
sites	
  for	
  whether	
  chips	
  can	
  be	
  
reprogrammed	
  
§  Start	
  from	
  actual	
  hardware	
  
§  Open	
  device	
  to	
  find	
  which	
  chips	
  
are	
  used	
  
§  Determine	
  whether	
  bootloader	
  
and	
  firmware	
  storage	
  (e.g.	
  SPI	
  
flash)	
  are	
  available	
  
§  Try	
  to	
  find	
  firmware	
  update	
  	
  
tools	
  for	
  their	
  chips	
  
§  5	
  device	
  classes:	
  Host,	
  Hub,	
  
Charger,	
  Storage,	
  Peripheral	
  
§  From	
  top	
  8	
  chip	
  vendors	
  
§  Totaling	
  52	
  chip	
  families	
  (not	
  
every	
  vendor	
  serves	
  each	
  class)	
  
§  Analyzed	
  33	
  devices	
  from	
  six	
  
device	
  classes:	
  
Hub,	
  Input/HID,	
  Webcam,	
  SD	
  
adapter,	
  SATA	
  adapter	
  
§  Results	
  released	
  at	
  
opensource.srlabs.de	
  
Both	
  analyses	
  suggest	
  that	
  up	
  to	
  half	
  of	
  
USB	
  chips	
  are	
  BadUSB-­‐vulnerable	
  
21	
  
4	
  
6	
  
1	
  
4	
  
8	
  
2	
  
4	
  
4	
  
5	
  
5	
  
4	
  
4	
  
1	
  
Peripheral	
  
Storage	
  
Charger	
  
Hub	
  
Host	
  
1	
  
4	
  
1	
  
2	
  
3	
  
3	
  
2	
  
4	
  
3	
  
4	
  
1	
  
5	
  
SATA	
  adapter	
  
SD	
  adapter	
  
Webcam	
  
Input	
  
Probably	
  vulnerable	
  
Top-­‐down:	
  Perhaps	
  vulnerable,	
  	
  
depends	
  on	
  design	
  /	
  configuraPon;	
  	
  
BoLom-­‐up:	
  more	
  research	
  needed	
  
Unlikely	
  vulnerable	
  
Top-­‐down	
  analysis	
   BoKom-­‐up	
  analysis	
  
Small	
  hardware	
  design	
  differences	
  can	
  determine	
  BadUSB-­‐
vulnerability	
  
22	
  
These	
  USB	
  hubs	
  both	
  
contain	
  the	
  same	
  
controller	
  chip	
  
Only	
  one	
  of	
  them	
  
also	
  contains	
  an	
  
SPI	
  flash	
  that	
  can	
  
store	
  BadUSB	
  
modificaPons	
  
Recent	
  trends	
  suggest	
  that	
  BabUSB-­‐exposure	
  is	
  further	
  growing	
  
23	
  
Some	
  device	
  types	
  appear	
  more	
  reprogrammable	
  /	
  BadUSB-­‐vulnerable:	
  
§  The	
  early	
  devices	
  of	
  a	
  new	
  standard	
  (e.g.	
  the	
  first	
  available	
  USB	
  3	
  devices)	
  
§  Peripherals	
  with	
  special	
  funcPonality	
  (e.g.	
  SATA	
  adapter	
  that	
  can	
  copy	
  disks)	
  
§  High-­‐end	
  peripherals	
  
§  Custom-­‐tailored	
  chips	
  in	
  high-­‐volume	
  devices	
  were	
  tradiPonally	
  less	
  likely	
  to	
  
be	
  reprogrammable;	
  probably	
  because	
  mask	
  ROMs	
  are	
  cheaper	
  than	
  Flash	
  
§  Many	
  such	
  use	
  cases	
  are	
  increasingly	
  served	
  with	
  reprogrammable	
  mulP-­‐
purpose	
  chips,	
  that	
  realize	
  economies	
  of	
  scale	
  by	
  combining	
  applicaPons	
  
§  USB	
  controllers	
  found	
  not	
  to	
  be	
  reprogrammable	
  were	
  missing	
  an	
  essenPal	
  
component	
  for	
  upgrades,	
  such	
  as	
  bootloader	
  or	
  Flash	
  to	
  store	
  the	
  update	
  
§  All	
  those	
  controllers	
  that	
  bring	
  the	
  essenPals	
  seem	
  to	
  be	
  upgradable	
  
§  ProtecPon	
  from	
  malicious	
  updates	
  is	
  very	
  rare:	
  Only	
  one	
  (large)	
  chip	
  family	
  
brings	
  fuse	
  bits;	
  none	
  implement	
  firmware	
  signing	
  
	
  
Trend	
  1	
  –	
  
Newer	
  and	
  
more	
  complex	
  
devices	
  are	
  
more	
  
vulnerable	
  
Trend	
  2	
  –	
  Chips	
  
become	
  more	
  
versa&le,	
  and	
  
thereby	
  more	
  
vulnerable	
  
Trend	
  3	
  –	
  Most	
  
controllers	
  that	
  
can	
  be	
  
programmed	
  
are	
  vulnerable	
  
Insight	
  
Agenda	
  
24	
  
§  USB	
  background	
  
§  Reprogramming	
  peripherals	
  
§  BadUSB	
  aLack	
  scenarios	
  
§  BadUSB	
  exposure	
  
§  Defenses	
  and	
  next	
  steps	
  
No	
  effecPve	
  defenses	
  from	
  USB	
  aLacks	
  exist	
  
25	
  
Protec&on	
  idea	
  
§  USB	
  devices	
  do	
  not	
  always	
  have	
  a	
  unique	
  serial	
  number	
  
§  OS’s	
  don’t	
  (yet)	
  have	
  whitelist	
  mechanisms	
  
Limita&on	
  
§  The	
  firmware	
  of	
  a	
  USB	
  device	
  can	
  typically	
  only	
  be	
  read	
  back	
  
with	
  the	
  help	
  of	
  that	
  firmware	
  (if	
  at	
  all):	
  A	
  malicious	
  firmware	
  
can	
  spoof	
  a	
  legiPmate	
  one	
  
Block	
  cri&cal	
  device	
  
classes,	
  block	
  USB	
  
completely	
  	
  
§  Obvious	
  usability	
  impact	
  
§  Very	
  basic	
  device	
  classes	
  can	
  be	
  used	
  for	
  abuse;	
  not	
  much	
  is	
  
lel	
  of	
  USB	
  when	
  these	
  are	
  blocked	
  
§  ImplementaPon	
  errors	
  may	
  sPll	
  allow	
  installing	
  unauthorized	
  
firmware	
  upgrades	
  
§  Secure	
  cryptography	
  is	
  hard	
  to	
  implement	
  on	
  small	
  
microcontrollers	
  
§  Billions	
  of	
  exisPng	
  devices	
  stay	
  vulnerable	
  
Whitelist	
  USB	
  devices	
  
Scan	
  peripheral	
  
firmware	
  for	
  malware	
  
Use	
  code	
  signing	
  for	
  
firmware	
  updates	
  
Disable	
  firmware	
  
updates	
  in	
  hardware	
  
§  Simple	
  and	
  effec&ve	
  (but	
  mostly	
  limited	
  to	
  new	
  devices)	
  
 	
  	
  	
  
Responsibility	
  for	
  BadUSB	
  miPgaPon	
  is	
  unclear	
  
26	
  
BadUSB	
  malware	
  
becomes	
  more	
  realis&c	
  	
  
Fixes	
  are	
  not	
  yet	
  in	
  sight	
  
No	
  response	
  
from	
  chip	
  
vendors	
  
§  Sample	
  exploit	
  code	
  
for	
  Phison	
  USB	
  3	
  
controllers	
  was	
  
released	
  by	
  Adam	
  
Caudill	
  and	
  Brandon	
  
Wilson	
  at	
  Derbycon	
  
in	
  September	
  
§  Only	
  miPgaPon	
  
aLempts	
  right	
  now	
  
are	
  quick	
  fixes	
  such	
  
as	
  GData’s	
  Keyboard	
  
Guard	
  
§  Phison,	
  the	
  mostly	
  discussed	
  vendor,	
  
notes	
  that	
  they	
  are	
  already	
  offering	
  
beLer	
  chips.	
  Their	
  customers	
  don’t	
  seem	
  
to	
  chose	
  them	
  olen	
  
§  Other	
  affected	
  vendors	
  have	
  stayed	
  quiet	
  
No	
  response	
  
from	
  
peripheral	
  
vendors	
  
§  No	
  affected	
  vendor	
  offers	
  patches	
  or	
  a	
  
threat	
  advisory	
  
§  OS	
  implementers	
  do	
  not	
  appear	
  to	
  work	
  
on	
  soluPon;	
  with	
  one	
  excepPon:	
  FreeBSD	
  
adds	
  an	
  opPon	
  to	
  switch	
  off	
  USB	
  
enumeraPon	
  
No	
  OS	
  
vendor	
  
response	
  
vs.	
  
§  Use	
  the	
  
reprogrammable	
  
chips	
  for	
  other	
  
applicaPons	
  than	
  USB	
  
storage	
  
§  The	
  flowswitch	
  /	
  
phison	
  project,	
  for	
  
example,	
  aims	
  for	
  a	
  
low-­‐cost	
  USB	
  3	
  
interface	
  for	
  FPGAs	
  
USB	
  peripherals	
  can	
  also	
  be	
  re-­‐programmed	
  for	
  construcPve	
  
purposes	
  
27	
  
Idea	
  2	
  –	
  Repurpose	
  
cheap	
  controller	
  chips	
  
Idea	
  1	
  –	
  Speed	
  up	
  database	
  queries	
  
§  Data	
  can	
  be	
  parsed	
  on	
  the	
  sPck	
  before	
  (or	
  instead	
  of)	
  
sending	
  it	
  back	
  to	
  the	
  host	
  
§  Our	
  original	
  moPvaPon	
  was	
  to	
  speed	
  up	
  of	
  A5/1	
  rainbow	
  
table	
  lookups	
  
Take	
  aways	
  
28	
  
QuesPons?	
  
	
  usb@srlabs.de	
  
§  USB	
  peripherals	
  provide	
  for	
  a	
  versaPle	
  
infec&on	
  path	
  
§  As	
  long	
  as	
  USB	
  controllers	
  are	
  re-­‐
programmable,	
  USB	
  peripherals	
  should	
  
not	
  be	
  shared	
  with	
  others	
  
§  Once	
  infected	
  –	
  through	
  USB	
  or	
  otherwise	
  
–	
  malware	
  can	
  use	
  peripherals	
  as	
  a	
  hiding	
  
place,	
  hindering	
  system	
  clean-­‐up	
  
Scope	
  of	
  top-­‐down	
  analysis	
  
The	
  USB	
  microcontroller	
  market	
  is	
  split	
  among	
  many	
  vendors	
  
29	
  
Microchip	
  (SMSC)	
  
10%	
  
Cypress	
  
8%	
  
Alcor	
  
7%	
  
Renesas	
  
6%	
  
Genesys	
  
5%	
  
ASMedia	
  
5%	
  
Phison	
  
5%	
  FTDI	
  
4%	
  
ST-­‐E	
  
4%	
  
JMicron	
  
3%	
  
TI	
  
3%	
  
Silicon	
  MoPon	
  
3%	
  
Silicon	
  
Labs	
  
3%	
  
Exar	
  
2%	
  
Displaylink	
  
2%	
  
Fresco	
  
1%	
  
PLX	
  
1%	
  
Via	
  Labs	
  
1%	
  
Others	
  
26%	
  
Wired	
  USB	
  Market	
  Share	
  
(2012	
  Cypress	
  Shareholders	
  MeePng)	
  
Source:	
  goo.gl/NtN0cf	
  

More Related Content

PPTX
PPTX
Multi core processors
PPTX
Red hat ppt
PPTX
Linux Device Driver’s
PPTX
Virtualization
PPTX
IP Source Guard
PDF
Deep Dive into the AOSP
Multi core processors
Red hat ppt
Linux Device Driver’s
Virtualization
IP Source Guard
Deep Dive into the AOSP

What's hot (20)

PDF
병렬프로그래밍과 Cuda
PPT
History of Linux
PPTX
Usb connector
ODP
Q4.11: Porting Android to new Platforms
PPT
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
PPTX
Enterprise class storage &amp; san
PDF
Quick and Easy Device Drivers for Embedded Linux Using UIO
PPT
Wintel ppt for dhcp
PPTX
PDF
LAS16-TR06: Remoteproc & rpmsg development
PDF
Building aosp
PPT
Basic Linux Internals
PPT
U Boot or Universal Bootloader
PPTX
Temperatura Zabbix Procedimento Temper Usb
PDF
Character Drivers
PPTX
Cascateamento x Empilhamento de Switches
PDF
SR-IOV, KVM and Emulex OneConnect 10Gbps cards on Debian/Stable
PPTX
Linux Basics Knowlage sharing.pptx
PDF
PPT
Usb Overview
병렬프로그래밍과 Cuda
History of Linux
Usb connector
Q4.11: Porting Android to new Platforms
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
Enterprise class storage &amp; san
Quick and Easy Device Drivers for Embedded Linux Using UIO
Wintel ppt for dhcp
LAS16-TR06: Remoteproc & rpmsg development
Building aosp
Basic Linux Internals
U Boot or Universal Bootloader
Temperatura Zabbix Procedimento Temper Usb
Character Drivers
Cascateamento x Empilhamento de Switches
SR-IOV, KVM and Emulex OneConnect 10Gbps cards on Debian/Stable
Linux Basics Knowlage sharing.pptx
Usb Overview
Ad

Viewers also liked (20)

PPTX
DerbyCon 2014 - Making BadUSB Work For You
PDF
BadUSB, and what you should do about it
PDF
SACON Orientation
PDF
ATP Technology Pillars
PPTX
NIST Critical Security Framework (CSF)
PPTX
Keynote Session : The Non - Evolution of Security
PDF
Security Strategy and Tactic with Cyber Threat Intelligence (CTI)
PPTX
Keynote Session : Emerging Healthcare Tech & Future Security Impact
PDF
Workshop on Endpoint Memory Forensics
PPTX
SOC Architecture Workshop - Part 1
PDF
SOC Architecture - Building the NextGen SOC
PDF
From Business Architecture to Security Architecture
PPTX
Application Security Architecture and Threat Modelling
PPTX
Keynote Session : Internet Of Things (IOT) Security Taskforce
PPTX
Enterprise Security Architecture
PPTX
Security Strategy and Tactic with Cyber Threat Intelligence (CTI)
PDF
Practical Enterprise Security Architecture
PPTX
Understanding the Cyber Security Vendor Landscape
PPTX
Keynote Session : Kill The Password
PDF
Application Threat Modeling
DerbyCon 2014 - Making BadUSB Work For You
BadUSB, and what you should do about it
SACON Orientation
ATP Technology Pillars
NIST Critical Security Framework (CSF)
Keynote Session : The Non - Evolution of Security
Security Strategy and Tactic with Cyber Threat Intelligence (CTI)
Keynote Session : Emerging Healthcare Tech & Future Security Impact
Workshop on Endpoint Memory Forensics
SOC Architecture Workshop - Part 1
SOC Architecture - Building the NextGen SOC
From Business Architecture to Security Architecture
Application Security Architecture and Threat Modelling
Keynote Session : Internet Of Things (IOT) Security Taskforce
Enterprise Security Architecture
Security Strategy and Tactic with Cyber Threat Intelligence (CTI)
Practical Enterprise Security Architecture
Understanding the Cyber Security Vendor Landscape
Keynote Session : Kill The Password
Application Threat Modeling
Ad

Similar to BadUSB — On accessories that turn evil by Karsten Nohl (20)

PDF
Attacking The USB Vector
PDF
Microcontroller mayhem - ECTF & USSS 2011
PDF
BAD USB 2.0
PPTX
Adventures in USB land
PDF
Алексей Мисник - USB устройства для пентеста
PDF
ABYSS OF BADUSB
PPTX
Hacking the future with USB HID
PPTX
USB Defender Overview
PDF
Building Trojan Hardware at Home
PDF
USB Hacking - LearnDay@Xoxzo #11
PPTX
Redteaming HID attacks
PPTX
SC Magazine Congress Chicago - BadUSB & Beyond
PDF
Oleksyk applied-anti-forensics
PDF
Ce hv6 module 41 hacking usb devices
PPTX
Creating Havoc using Human Interface Device
PDF
USB: Undermining Security Barriers
PDF
Unit 2 DNS Spoofing in a BadUSB Attack.pdf
PDF
Andy Davis' Black Hat USA Presentation Revealing embedded fingerprints
PPT
Ch02 System Threats and Risks
PPTX
Owning windows 8 with human interface devices
Attacking The USB Vector
Microcontroller mayhem - ECTF & USSS 2011
BAD USB 2.0
Adventures in USB land
Алексей Мисник - USB устройства для пентеста
ABYSS OF BADUSB
Hacking the future with USB HID
USB Defender Overview
Building Trojan Hardware at Home
USB Hacking - LearnDay@Xoxzo #11
Redteaming HID attacks
SC Magazine Congress Chicago - BadUSB & Beyond
Oleksyk applied-anti-forensics
Ce hv6 module 41 hacking usb devices
Creating Havoc using Human Interface Device
USB: Undermining Security Barriers
Unit 2 DNS Spoofing in a BadUSB Attack.pdf
Andy Davis' Black Hat USA Presentation Revealing embedded fingerprints
Ch02 System Threats and Risks
Owning windows 8 with human interface devices

More from Priyanka Aash (20)

PPTX
AI Code Generation Risks (Ramkumar Dilli, CIO, Myridius)
PDF
From Chatbot to Destroyer of Endpoints - Can ChatGPT Automate EDR Bypasses (1...
PDF
Cracking the Code - Unveiling Synergies Between Open Source Security and AI.pdf
PDF
Oh, the Possibilities - Balancing Innovation and Risk with Generative AI.pdf
PDF
Lessons Learned from Developing Secure AI Workflows.pdf
PDF
Cyber Defense Matrix Workshop - RSA Conference
PDF
A Constitutional Quagmire - Ethical Minefields of AI, Cyber, and Privacy.pdf
PDF
Securing AI - There Is No Try, Only Do!.pdf
PDF
GenAI Opportunities and Challenges - Where 370 Enterprises Are Focusing Now.pdf
PDF
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
PDF
10 Key Challenges for AI within the EU Data Protection Framework.pdf
PDF
Techniques for Automatic Device Identification and Network Assignment.pdf
PDF
Keynote : Presentation on SASE Technology
PDF
Keynote : AI & Future Of Offensive Security
PDF
Redefining Cybersecurity with AI Capabilities
PDF
Demystifying Neural Networks And Building Cybersecurity Applications
PDF
Finetuning GenAI For Hacking and Defending
PDF
(CISOPlatform Summit & SACON 2024) Kids Cyber Security .pdf
PDF
(CISOPlatform Summit & SACON 2024) Regulation & Response In Banks.pdf
PDF
(CISOPlatform Summit & SACON 2024) Cyber Insurance & Risk Quantification.pdf
AI Code Generation Risks (Ramkumar Dilli, CIO, Myridius)
From Chatbot to Destroyer of Endpoints - Can ChatGPT Automate EDR Bypasses (1...
Cracking the Code - Unveiling Synergies Between Open Source Security and AI.pdf
Oh, the Possibilities - Balancing Innovation and Risk with Generative AI.pdf
Lessons Learned from Developing Secure AI Workflows.pdf
Cyber Defense Matrix Workshop - RSA Conference
A Constitutional Quagmire - Ethical Minefields of AI, Cyber, and Privacy.pdf
Securing AI - There Is No Try, Only Do!.pdf
GenAI Opportunities and Challenges - Where 370 Enterprises Are Focusing Now.pdf
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
10 Key Challenges for AI within the EU Data Protection Framework.pdf
Techniques for Automatic Device Identification and Network Assignment.pdf
Keynote : Presentation on SASE Technology
Keynote : AI & Future Of Offensive Security
Redefining Cybersecurity with AI Capabilities
Demystifying Neural Networks And Building Cybersecurity Applications
Finetuning GenAI For Hacking and Defending
(CISOPlatform Summit & SACON 2024) Kids Cyber Security .pdf
(CISOPlatform Summit & SACON 2024) Regulation & Response In Banks.pdf
(CISOPlatform Summit & SACON 2024) Cyber Insurance & Risk Quantification.pdf

Recently uploaded (20)

PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PPTX
cloud_computing_Infrastucture_as_cloud_p
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Hindi spoken digit analysis for native and non-native speakers
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PDF
Approach and Philosophy of On baking technology
PDF
A novel scalable deep ensemble learning framework for big data classification...
PDF
Web App vs Mobile App What Should You Build First.pdf
PPTX
A Presentation on Touch Screen Technology
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Chapter 5: Probability Theory and Statistics
PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
August Patch Tuesday
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
DP Operators-handbook-extract for the Mautical Institute
PDF
Hybrid model detection and classification of lung cancer
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
cloud_computing_Infrastucture_as_cloud_p
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Encapsulation_ Review paper, used for researhc scholars
Hindi spoken digit analysis for native and non-native speakers
Group 1 Presentation -Planning and Decision Making .pptx
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
Approach and Philosophy of On baking technology
A novel scalable deep ensemble learning framework for big data classification...
Web App vs Mobile App What Should You Build First.pdf
A Presentation on Touch Screen Technology
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Chapter 5: Probability Theory and Statistics
Enhancing emotion recognition model for a student engagement use case through...
August Patch Tuesday
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
DP Operators-handbook-extract for the Mautical Institute
Hybrid model detection and classification of lung cancer
Accuracy of neural networks in brain wave diagnosis of schizophrenia

BadUSB — On accessories that turn evil by Karsten Nohl

  • 1. SRLabs  Template  v12   BadUSB  —  On  accessories  that  turn  evil   Karsten  Nohl  <nohl@srlabs.de>     Sascha  Krißler  <sascha@srlabs.de>   Jakob  Lell  <jakob@srlabs.de>  
  • 2. 2   Demo  1  –  USB  s&ck  takes  over   Windows  machine  
  • 3. Agenda   3   §  USB  background   §  Reprogramming  peripherals   §  BadUSB  aLack  scenarios   §  BadUSB  exposure   §  Defenses  and  next  steps  
  • 4. USB  devices  are  recognized  using  several  idenPfiers   4   USB  devices   Connectors  +  hubs   Host   Root   hub   Examples   USB  thumb  drive   8  –  Mass  Storage   AA627090820000000702   0  –  Control   1  –  Data  transfers   Interface  class   End  points   Iden&fier   a.  1      –  Audio   b.  14  –  Video   Webcam   Serial  number  (opPonal)   0258A350   0  –  Control   1  –  Video  transfers   6  –  Audio  transfers   7  –  Video  interrupts  
  • 5. USB  devices  are  iniPalized  in  several  steps   5   Devices  can  have   several  iden&&es   §  A  device  indicates   its  capabiliPes   through  a   descriptor     §  A  device  can  have   several   descriptors  if  it   supports  mulPple   device  classes;  like   webcam  +   microphone   §  Device  can   deregister  and   register  again  as  a   different  device   Power-­‐on  +   Firmware  init   Load  driver   Register   Set  address   Send  descriptor   Set  configuraPon   Normal  operaPon   Register  again  …   OpPonal:  deregister   Load  another   driver   USB  device   USB  plug-­‐and-­‐play  
  • 6. USB  devices  include  a  micro-­‐controller,  hidden  from  the  user   6   8051  CPU   Bootloader   USB  controller   Controller   firmware   Mass  storage   Flash   The  only  part     visible  to  the  user  
  • 7. Agenda   7   §  USB  background   §  Reprogramming  peripherals   §  BadUSB  aLack  scenarios   §  BadUSB  exposure   §  Defenses  and  next  steps  
  • 8. Reversing  and  patching  USB  firmware  took  2  months     8   1.  Find  leaked  firmware  and   flash  tool  on  the  net   2.  Sniff  update  communicaPon   using  Wireshark   3.  Replay  custom  SCSI   commands  used  for  updates   4.  (Reset  bricked  devices   through  short-­‐circuiPng   Flash  pins)   Document  firmware     update  process   Patch  firmware  Reverse-­‐engineer  firmware   1.  Load  into  disassembler   (complicaPon:  MMU-­‐like   memory  banking)   2.  Apply  heurisPcs:   –  Count  how  olen  funcPon   starts  match  up  with   funcPon  calls  for  different   memory  locaPon  guesses;   the  most  matches  indicate   that  you  guessed  right     –  Find  known  USB  bit  fields   such  as  descriptors   3.  Apply  standard  solware   reversing  to  find  hooking   points   1.  Add  hooks  to  firmware  to   add/change  funcPonality   2.  Custom  linker  script  compiles   C  and  assembly  code  and   injects  it  into  unused  areas  of   original  firmware   Other  possible  targets   We  focused  on  USB  sPcks,   but  the  same  approach   should  work  for:   §  External  HDDs   §  Webcams,  keyboards   §  Probably  many  more  …   A   B   C  
  • 9. Agenda   9   §  USB  background   §  Reprogramming  peripherals   §  BadUSB  aKack  scenarios   §  BadUSB  exposure   §  Defenses  and  next  steps  
  • 10. 10   Demo  2  –  Windows  infects  USB   s&ck  which  then  takes  over   Linux  machine  
  • 11. Keyboard  emulaPon  is  enough  for  infecPon  and  privilege  escalaPon     (w/o  need  for  solware  vulnerability)   11   Challenge  –  Linux  malware  runs  with  limited  user  privileges,  but  needs    root  privileges  to  infect  further  sPcks   Approach  –  Steal  sudo  password  in  screensaver   Restart  screensaver   (or  policykit)  with   password  stealer   added  via  an   LD_PRELOAD  library     §  User  enters  password  to   unlock  screen   §  Malware  intercepts   password  and  gains  root   privileges  using  sudo  
  • 12. 12   Demo  3  –  Android  phone  changes   DNS  sePngs  in  Windows  
  • 13. Network  traffic  can  also  be  diverted  by  “DHCP  on  USB”   13   AKack  steps   1.  USB  sPck  spoofs   Ethernet  adapter   2.  Replies  to  DHCP  query   with  DNS  server  on  the   Internet,  but  without   default  gateway   Result   3.  Internet  traffic  is  sPll  routed   through  the  normal  Wi-­‐Fi   connecPon   4.  However,  DNS  queries  are  sent  to   the  USB-­‐supplied  server,  enabling   redirecPon  aLacks   DNS  assignment  in   DHCP  over  spoofed   USB-­‐Ethernet   adapter   All  DNS   queries  go  to   aLacker’s  DNS   server  
  • 14. “Can  I  charge  my  phone  on  your  laptop?”  –     Android  phones  are  the  simplest  USB  aLack  plaworm   14   Prepara&on  –  Android  comes  with  an  Ethernet-­‐ over-­‐USB  emulaPon  needing  liLle  configuraPon   AKack  –  Phone  supplies  default  route  over  USB,   effecPvely  intercepPng  all  Internet  traffic   DHCP  overrides   default  gateway   over  USB-­‐Ethernet   Computer  sends  all   Internet  traffic   through  phone   Hacked  by  the  second  factor?   Using  keyboard  emulaPon,  a   virus-­‐infected  smartphone   could  hack  into  the  USB-­‐ connected  computer.   This  compromises  the   “second  factor”  security   model  of  online  banking.     Proof-­‐of-­‐concept   released  at:   srlabs.de/badusb  
  • 15. Bonus:  Virtual  Machine  break-­‐out   15   Malicious   VM   Host   1.  VM  tenant  reprograms   USB  device  (e.g.,  using   SCSI  commands)   3.  USB  device  spoofs  key   strokes,  changes  DNS,  …   2.  USB  peripherals   spawns  a  second   device  that  gets   connected  to  the   VM  host  
  • 16. Boot-­‐sector  virus,  USB  style   16   Hide  rootkit  from  OS/AV.   When  an  OS  accesses  the   sPck,  only  the  USB   content  is  shown   Infect  machine  when   boo&ng.   When  the  BIOS  accesses   the  sPck,  a  secret  Linux  is   shown,  booPng  a  root  kit,   infecPng  the  machine,   and  then  booPng  from   hard  disk   Fingerprint     OS/BIOS.   Patched  USB   sPck  firmware   can  disPnguish   Win,  Mac,   Linux,  and  the   BIOS  based  on   their  USB   behavior   USB  content,   for  example   Linux  install   image   Secret  Linux   image  
  • 17. 17   Demo  4  –  USB  thumb  drive  emulates   keyboard  and  second  drive  to  infect   computer  during  boot  
  • 18. Family  of  possible  USB  aLacks  is  large   18   More  aKack  ideas   Effect   §  External  storage  can  choose  to  hide  files   instead  of  delePng  them   §  Viruses  can  be  added  to  files  added  to  storage   §  First  access  by  virus  scanner  sees  original  file,   later  access  sees  virus   §  Emulate  a  keyboard  during  boot  and  install  a   new  BIOS  from  a  file  in  a  secret  storage  area   on  a  USB  sPck   §  Emulate  a  USB  display  to  access  security   informaPon  such  as  Captchas  and  randomly   arranged  PIN  pads   AKacks  shown   Emulate   keyboard   Hide  data  on   s&ck  or  HDD   Rewrite  data   in-­‐flight   Update  PC   BIOS   Spoof  display   Spoof   network   card   “USB  boot-­‐   sector”  virus  
  • 19. Agenda   19   §  USB  background   §  Reprogramming  peripherals   §  BadUSB  aLack  scenarios   §  BadUSB  exposure   §  Defenses  and  next  steps  
  • 20. We  analyzed  the  possible  reach  of  BadUSB  from  two  perspecPves   20   Top-­‐down  analysis   BoKom-­‐up  analysis   §  Start  from  largest  USB  controller   vendors   §  Find  their  chip  families  for   popular  use  cases   §  Analyze  datasheets  and  web   sites  for  whether  chips  can  be   reprogrammed   §  Start  from  actual  hardware   §  Open  device  to  find  which  chips   are  used   §  Determine  whether  bootloader   and  firmware  storage  (e.g.  SPI   flash)  are  available   §  Try  to  find  firmware  update     tools  for  their  chips   §  5  device  classes:  Host,  Hub,   Charger,  Storage,  Peripheral   §  From  top  8  chip  vendors   §  Totaling  52  chip  families  (not   every  vendor  serves  each  class)   §  Analyzed  33  devices  from  six   device  classes:   Hub,  Input/HID,  Webcam,  SD   adapter,  SATA  adapter   §  Results  released  at   opensource.srlabs.de  
  • 21. Both  analyses  suggest  that  up  to  half  of   USB  chips  are  BadUSB-­‐vulnerable   21   4   6   1   4   8   2   4   4   5   5   4   4   1   Peripheral   Storage   Charger   Hub   Host   1   4   1   2   3   3   2   4   3   4   1   5   SATA  adapter   SD  adapter   Webcam   Input   Probably  vulnerable   Top-­‐down:  Perhaps  vulnerable,     depends  on  design  /  configuraPon;     BoLom-­‐up:  more  research  needed   Unlikely  vulnerable   Top-­‐down  analysis   BoKom-­‐up  analysis  
  • 22. Small  hardware  design  differences  can  determine  BadUSB-­‐ vulnerability   22   These  USB  hubs  both   contain  the  same   controller  chip   Only  one  of  them   also  contains  an   SPI  flash  that  can   store  BadUSB   modificaPons  
  • 23. Recent  trends  suggest  that  BabUSB-­‐exposure  is  further  growing   23   Some  device  types  appear  more  reprogrammable  /  BadUSB-­‐vulnerable:   §  The  early  devices  of  a  new  standard  (e.g.  the  first  available  USB  3  devices)   §  Peripherals  with  special  funcPonality  (e.g.  SATA  adapter  that  can  copy  disks)   §  High-­‐end  peripherals   §  Custom-­‐tailored  chips  in  high-­‐volume  devices  were  tradiPonally  less  likely  to   be  reprogrammable;  probably  because  mask  ROMs  are  cheaper  than  Flash   §  Many  such  use  cases  are  increasingly  served  with  reprogrammable  mulP-­‐ purpose  chips,  that  realize  economies  of  scale  by  combining  applicaPons   §  USB  controllers  found  not  to  be  reprogrammable  were  missing  an  essenPal   component  for  upgrades,  such  as  bootloader  or  Flash  to  store  the  update   §  All  those  controllers  that  bring  the  essenPals  seem  to  be  upgradable   §  ProtecPon  from  malicious  updates  is  very  rare:  Only  one  (large)  chip  family   brings  fuse  bits;  none  implement  firmware  signing     Trend  1  –   Newer  and   more  complex   devices  are   more   vulnerable   Trend  2  –  Chips   become  more   versa&le,  and   thereby  more   vulnerable   Trend  3  –  Most   controllers  that   can  be   programmed   are  vulnerable   Insight  
  • 24. Agenda   24   §  USB  background   §  Reprogramming  peripherals   §  BadUSB  aLack  scenarios   §  BadUSB  exposure   §  Defenses  and  next  steps  
  • 25. No  effecPve  defenses  from  USB  aLacks  exist   25   Protec&on  idea   §  USB  devices  do  not  always  have  a  unique  serial  number   §  OS’s  don’t  (yet)  have  whitelist  mechanisms   Limita&on   §  The  firmware  of  a  USB  device  can  typically  only  be  read  back   with  the  help  of  that  firmware  (if  at  all):  A  malicious  firmware   can  spoof  a  legiPmate  one   Block  cri&cal  device   classes,  block  USB   completely     §  Obvious  usability  impact   §  Very  basic  device  classes  can  be  used  for  abuse;  not  much  is   lel  of  USB  when  these  are  blocked   §  ImplementaPon  errors  may  sPll  allow  installing  unauthorized   firmware  upgrades   §  Secure  cryptography  is  hard  to  implement  on  small   microcontrollers   §  Billions  of  exisPng  devices  stay  vulnerable   Whitelist  USB  devices   Scan  peripheral   firmware  for  malware   Use  code  signing  for   firmware  updates   Disable  firmware   updates  in  hardware   §  Simple  and  effec&ve  (but  mostly  limited  to  new  devices)  
  • 26.         Responsibility  for  BadUSB  miPgaPon  is  unclear   26   BadUSB  malware   becomes  more  realis&c     Fixes  are  not  yet  in  sight   No  response   from  chip   vendors   §  Sample  exploit  code   for  Phison  USB  3   controllers  was   released  by  Adam   Caudill  and  Brandon   Wilson  at  Derbycon   in  September   §  Only  miPgaPon   aLempts  right  now   are  quick  fixes  such   as  GData’s  Keyboard   Guard   §  Phison,  the  mostly  discussed  vendor,   notes  that  they  are  already  offering   beLer  chips.  Their  customers  don’t  seem   to  chose  them  olen   §  Other  affected  vendors  have  stayed  quiet   No  response   from   peripheral   vendors   §  No  affected  vendor  offers  patches  or  a   threat  advisory   §  OS  implementers  do  not  appear  to  work   on  soluPon;  with  one  excepPon:  FreeBSD   adds  an  opPon  to  switch  off  USB   enumeraPon   No  OS   vendor   response   vs.  
  • 27. §  Use  the   reprogrammable   chips  for  other   applicaPons  than  USB   storage   §  The  flowswitch  /   phison  project,  for   example,  aims  for  a   low-­‐cost  USB  3   interface  for  FPGAs   USB  peripherals  can  also  be  re-­‐programmed  for  construcPve   purposes   27   Idea  2  –  Repurpose   cheap  controller  chips   Idea  1  –  Speed  up  database  queries   §  Data  can  be  parsed  on  the  sPck  before  (or  instead  of)   sending  it  back  to  the  host   §  Our  original  moPvaPon  was  to  speed  up  of  A5/1  rainbow   table  lookups  
  • 28. Take  aways   28   QuesPons?    usb@srlabs.de   §  USB  peripherals  provide  for  a  versaPle   infec&on  path   §  As  long  as  USB  controllers  are  re-­‐ programmable,  USB  peripherals  should   not  be  shared  with  others   §  Once  infected  –  through  USB  or  otherwise   –  malware  can  use  peripherals  as  a  hiding   place,  hindering  system  clean-­‐up  
  • 29. Scope  of  top-­‐down  analysis   The  USB  microcontroller  market  is  split  among  many  vendors   29   Microchip  (SMSC)   10%   Cypress   8%   Alcor   7%   Renesas   6%   Genesys   5%   ASMedia   5%   Phison   5%  FTDI   4%   ST-­‐E   4%   JMicron   3%   TI   3%   Silicon  MoPon   3%   Silicon   Labs   3%   Exar   2%   Displaylink   2%   Fresco   1%   PLX   1%   Via  Labs   1%   Others   26%   Wired  USB  Market  Share   (2012  Cypress  Shareholders  MeePng)   Source:  goo.gl/NtN0cf