Omschrijving
Multitool voor het bouwen, analyseren en hacken van USB-apparaten
Cynthion is een alles-in-één tool voor het bouwen, testen, monitoren en experimenteren met USB-apparaten. Gebouwd rond een unieke FPGA-gebaseerde architectuur, kan de digitale hardware van Cynthion volledig worden aangepast aan de betreffende toepassing. Als gevolg hiervan kan het fungeren als een compromisloze snelle USB-protocol-analyzer, een USB-multitool voor onderzoek of een USB-ontwikkelplatform.
Out-of-the-box fungeert Cynthion als een USB-protocol-analyzer die verkeer tussen een host en elk Low-, Full- of High-Speed ("USB 2.0") USB-apparaat kan vastleggen en analyseren. Het werkt naadloos samen met de open-source analysesoftware Packetry.
Gecombineerd met de LUNA-gateware en Facedancer-bibliotheken wordt Cynthion een veelzijdige USB-onderzoeks- en ontwikkelingstool. Facedancer maakt het snel en gemakkelijk om echte USB-apparaten te maken of ermee te experimenteren (niet alleen emulaties), zelfs als je geen ervaring hebt met digitaal hardwareontwerp, HDL of FPGA-architectuur!
Kenmerken
Cynthion is een volledig herconfigureerbaar testinstrument dat alle hardware, gateware, firmware en software biedt waarmee u kunt werken, en zelfs de master-USB kunt gebruiken. Hieronder vindt u enkele uitdagingen waarvoor u uw Cynthion kunt toepassen:
- Protocolanalyse voor Low-, Full- en High-speed USB: Cynthion biedt alles wat u nodig heeft voor passieve USB-monitoring. Met de Packetry USB-analysesoftware biedt Cynthion alles wat u nodig heeft voor passieve USB-monitoring.
- Je eigen Low-, Full- of High-speed USB-apparaat maken: LUNA biedt Amaranth-gateware waarmee je USB-apparaten kunt maken in gateware, firmware of een combinatie van beide. Met behulp van de Facedancer-bibliotheek kunt u echte USB-apparaten maken of emuleren in Python op hoog niveau.
- Meddler-in-the-Middle (MitM) aanvallen op USB-communicatie: Cynthion-hardware kan functioneren als een "USB-proxy" die in staat is om op transparante wijze USB-gegevens te wijzigen terwijl deze tussen een host en een apparaat stromen. De drie USB-C-verbindingen van elk bord maken gelijktijdige, snelle proxying mogelijk, terwijl een snelle verbinding met de host behouden blijft. Hierdoor kunt u een verbinding proxy maken, met of zonder de hulp van een host-pc.
- USB reverse engineering en beveiligingsonderzoek: Cynthion-hardware en LUNA-gateware vertegenwoordigen een speciaal gebouwde backend voor onderzoekstools zoals Facedancer en USB-fuzzing-bibliotheken, waardoor de emulatie en snelle prototyping van compatibele en niet-compatibele USB-apparaten worden vereenvoudigd. In tegenstelling tot andere USB-emulatieoplossingen is op Cynthion gebaseerde hardware dynamisch herconfigureerbaar, waardoor u de flexibiliteit krijgt om elke eindpuntconfiguratie te creëren en vrijwel elk USB-(mis)gedrag te vertonen.
Specificaties
- Een Lattice Semiconductor LFE5U-12F ECP5 FPGA ondersteund door de
yosys+nextpnr
open-source FPGA-stroom
- Drie snelle USB-interfaces, elk aangesloten op een USB3343 PHY die tot 480 Mbps kan werken.
- Twee USB-C-connectoren voor communicatie in apparaatmodus (linkerzijde)
- Eén USB-C-connector voor communicatie in hostmodus, communicatie in apparaatmodus of USB-analyse (rechterkant)
- Eén USB-A-connector voor communicatie in hostmodus of USB-analyse (rechterkant, gedeeld met USB-C-connector)
- Een Microchip SAMD11-foutopsporingscontroller maakt gebruikersconfiguratie van de FPGA mogelijk en biedt een aantal diagnostische interfaces.
- Een complete, door de gebruiker programmeerbare JTAG-controller die de FPGA kan configureren en via JTAG kan communiceren met gebruikersontwerpen
- Een ingebouwde USB-naar-seriële communicatiebrug voor FPGA-foutopsporing I/O
- Een verscheidenheid aan eenvoudige, ingebouwde foutopsporingsmechanismen, waaronder hulpprogramma's waarmee u eenvoudige, pc-toegankelijke registerinterfaces kunt maken
- Met drie USB-aan/uit-schakelaars kunt u de stroom naar en van de USB-connectoren aan de rechterkant regelen, waardoor gecontroleerde stroomcycli van USB-gevoede apparaten die worden geanalyseerd, worden vergemakkelijkt.
- 64 Mbit (8 MiB) RAM voor het bufferen van USB-verkeer of voor gebruikerstoepassingen
- Twee Digilent Pmod-compatibele I/O-connectoren die 16 snelle FPGA-gebruikers-IO's presenteren die FPGA-applicaties van gebruikers ondersteunen
- 32 Mbit (4 MiB) SPI-aangesloten flitser voor FPGA-configuratie zonder pc
- Zes op FPGA aangesloten gebruikers-LED's en vijf door een microcontroller beheerde status-LED's
- Een PAC1954 4-kanaals I²C-vermogensmonitor-IC, om VBUS-spanningen en -stromen op alle vier de Cynthion USB-poorten te meten.
- Twee FUSB302B I²C USB-C-poortcontrollers, voor de AUX- en TARGET-C-poorten, ter ondersteuning van USB Power Delivery of aangepast USB-C-gedrag.
Downloads