How USB Does (and Doesn’t) Work: A Security Perspective