Actualizari firmware – Imprimante Hacking

Pericolele actualizarilor de firmware daunatoare sunt cunoscute si au fost discutate din timp de [1] si [2]. Spre deosebire de alte dispozitive in retea, este comun ca imprimantele sa implementeze actualizari de firmware ca lucrari de imprimare obisnuite . Aceasta deschide o poarta larga pentru atacatori, deoarece accesul la functionalitatea de tiparire este de obicei un obstacol redus. Se poate specula doar despre motivatia pentru deciziile de proiectare nesigure, dar pare logic ca motivele istorice joaca un rol: imprimantele erau conectate prin cablu paralel sau USB. Fara conectivitate la retea, securitatea era mai putin importanta si fara un server web protejat cu parola sau functionalitati similare, canalul de imprimare era singura modalitate de a trimite date catre dispozitiv.

Atacurile de modificare a firmware-ului impotriva imprimantelor de retea au fost demonstrate de [3] pentru dispozitivele HP, de [4] pentru seria Canon PIXMA si de [5] si [6] pentru diferite modele Xerox. Ca o contramasura, producatorul de imprimante a inceput sa-si semneze digital firmware-ul [7].

Furnizori

Pentru a oferi o imagine de ansamblu asupra procedurilor de implementare a firmware-ului, au fost descarcate si descarcate in mod sistematic 1.400 de fisiere de firmware pentru primii 10 producatori de imprimante [8]. Rezultatele sunt urmatoarele.

HP

Firmware-ul poate fi descarcat de pe support.hp.com sau direct de la ftp.hp.com prin FTP. Pot fi preluate 419 fisiere in formatul actualizat de firmware de la distanta (.rfu) si 206 binare „HP FutureSmart” (.bdl) mai noi. Fisierele .rfu contin comenzi PJL proprietare, cum ar fi @PJL UPGRADE SIZE = …

Array

, ceea ce indica faptul ca actualizarile de firmware sunt implementate ca lucrari normale de imprimare. Acest lucru a fost demonstrat de [3] si a determinat HP sa semneze digital toate firmware-urile de imprimanta din martie 2012 [7].

Canon

Firmware-ul este disponibil pe www.canon.com/support. Totusi, Canon necesita un numar de serie valabil pentru a descarca orice firmware. Potrivit [4], care au putut modifica firmware-ul pentru seria Canon PIXMA, „nu exista nicio semnatura (modul corect de a face acest lucru), dar are o criptare foarte slaba”. Conform corespondentei prin e-mail cu un reprezentant de asistenta tehnica Canon, „firmware-ul trebuie sa fie semnat digital de Canon pentru ca acesta sa fie acceptat de imprimanta”.

Epson

Firmware-ul poate fi descarcat de pe epson.com si prin FTP de pe download.epson-europe.com. Fisierele sunt sub forma de fisiere .exe cu extragere automata WinZip si pot fi despachetate cu unp [9] Fisierele .efu continute pot fi analizate folosind Binwalk [10] care extrage firmware-ul propriu-zis. Se pot obtine 49 de fisiere .rcx de format necunoscut („SEIKO EPSON EpsonNet Form”) si noua fisiere .prn care contin comenzi PJL (@PJL ENTER LANGUAGE = DOWNLOAD). Epson nu a publicat nicio informatie despre mecanismele de protectie. Firmware-ul lansat inainte de 2016 nu a aplicat semnarea codului si ar putea fi manipulat asa cum arata [11]. Ei „cred ca cantitati uriase ale dispozitivelor produse din 1999 […] ar putea fi vulnerabile”.

valcea

Firmware-ul poate fi obtinut de pe downloads.

Array

dell.com si de la ftp.us.dell.com/printer. Fisierele pot fi despachetate folosind unp si fisierele .zip incluse pot fi extrase cu o varianta de dezarhivare . Dell nu produce niciun dispozitiv de imprimare, dar reface produsele altor furnizori. Prin urmare, s-au gasit o mare varietate de fisiere de firmware, inclusiv 18 .hd care contin @PJL FIRMWARE = ​​… In ceea ce priveste mecanismele de protectie, Dell nu a lansat informatii disponibile publicului.

Frate

Firmware-ul nu poate fi descarcat cu usurinta. In schimb, trebuie sa fie executat un binar Windows care verifica daca exista imprimante disponibile si solicita legaturi de descarcare pentru cel mai recent firmware de la un serviciu web. Prin ghicirea parametrilor corecti, puteti obtine legaturi pentru 98 de fisiere. Fisierele de firmware nu trebuie sa fie despachetate, deoarece vin deja in format brut. 79 de fisiere au extensia .djf si contin @PJL EXECUTE BRDOWNLOAD, in timp ce 9 fisiere .blf contin @PJL ENTER LANGUAGE = PCL. Brother nu a lansat nicio informatie disponibila publicului despre mecanismele de protectie.

Lexmark

Firmware-ul este disponibil pe support.

lexmark.com si poate fi despachetat folosind unp . 63 de fisiere fls pot fi obtinute continand antetul PJL @PJL LPROGRAMRIP pentru instalarea firmware-ului. Pachetele de reclamatii ale lucrarilor de securitate ale Lexmark trebuie sa fie criptate cu un algoritm de criptare simetric printr-o cheie care este cunoscuta doar Lexmark si care este incorporata in siguranta in toate dispozitivele. Cu toate acestea, cea mai puternica masura de securitate vine din faptul ca toate pachetele de firmware trebuie sa includa mai multe semnaturi RSA digitale pe 2048 biti de la Lexmark. Daca aceste semnaturi nu sunt valide, […] firmware-ul este aruncat „[12].

Samsung

Firmware-ul poate fi descarcat de pe www.samsung.com/us/support/download. Fisierele preluate vin fie ca arhive zip sau executabile Windows, care pot fi rulate in vinuri si mai departe neambalate folosind unp . In acest fel, 33 de fisiere .hd incepand cu @PJL FIRMWARE si fisierele .prn asociate care contin @PJL DEFAULT SWUPGRADE = ON pot fi obtinute. Samsung nu a publicat nicio informatie disponibila publicului despre mecanismele de protectie.

Xerox

Firmware-ul este disponibil public pe www.support.xerox.com. Fisierele descarcate au format zip si pot fi despachetate folosind dezarhivare . Fisierele de firmware sunt in diferite formate: 16 fisiere .hd, inclusiv @PJL FIRMWARE = ​​…, 36 de fisiere PostScript pentru dispozitive mai vechi si 35 de fisiere .dlm, care este formatul folosit de Xerox in prezent si include semnaturi digitale. Cu toate acestea, [5] a fost constatat un defect in procesul de desfasurare si extins cu [6], ceea ce a dus la executarea de la distanta a codului – cheia privata si instrumentul folosit pentru semnarea codului erau continute in firmware-ul in sine.

Ricoh

„Centrul de descarcare de firmware” de la support.ricoh.com nu este deschis publicului larg. Din fericire, interweb contine legaturi directe catre cateva pagini de descarcare a driverului / firmware-ului, astfel incat unul este capabil sa obtina 31 de fisiere firmware folosind o simpla cautare Google (site: support.ricoh.com firmware). Fisierele pot fi despachetate folosind unp . 14 fisiere .bin contin @PJL RSYSTEMUPDATE SIZE = … in timp ce 15 fisiere .brn sunt asociate cu un settings.ini, inclusiv @PJL FWDOWNLOAD si USERID = sysadm, PASSWORD = sysadm. Ricoh nu ofera nicio informatie actualizata despre mecanismele de protectie. Intr-o carte alba care dateaza din 2007, Ricoh sustine ca „numai tehnicienii de servicii au o parola si un cont dedicat pentru realizarea actualizarilor de firmware” [13].

Kyocera

Kyocera nu elibereaza firmware utilizatorilor finali. Cu toate acestea, pe un forum de distribuitor Kyocera disponibil public, descarcarile de firmware pentru diferite modele sunt legate: ftp.kdaconnect.com. Fisierele pot fi despachetat folosind UNP si contin montabile cramfs [14] si SquashFS [15] imagini precum si formate binare proprietare. Firmware-ul este implementat ca o lucrare de imprimare cu! R! UPGR’SYS „; EXIT; prepended – comanda de upgrade a limbii de descriere a paginii PRESCRIBE [16]. Kyocera nu a publicat nicio informatie disponibila publicului cu privire la mecanismele de protectie.

Konica

Desi nu este promovat in mod activ, firmware-ul pentru imprimantele Konica Minolta poate fi descarcat de pe download6.konicaminolta.eu. Dispozitivele mai noi conectate la Internet au capacitatea de a efectua singure actualizari de firmware. Fisierele comprimate vin in diferite formate si pot fi despachetate folosind unp , dezarhivare si tar care rezulta in 38 de fisiere .bin proprii, 20 de module de imprimanta softload bazate pe PostScript pentru dispozitive mai vechi si 14 fisiere cu extensii diferite care contin comenzi PJL precum @PJL ENTER LANGUAGE = FIRMUPDATE. Cartea alba de securitate Konica Minolta sustine ca firmware-ul este verificat folosind o „valoare hash” [17]. Se poate indoia ca o astfel de schema este securizata criptografic.

Rezultate

Din zece producatori analizati, noua folosesc comenzi PJL pentru toate sau cel putin unele dintre procedurile lor de actualizare a firmware-ului, care este un indicator puternic pentru faptul ca actualizarile sunt implementate ca lucrari de imprimare obisnuite. Producatorul ramas – Kyocera – aplica limba de descriere a paginii PRESCRIBE . Prin urmare, se poate afirma ca este comuna in industria de tiparire instalarea de noi firmware pe canalul de imprimare propriu-zis si numirea unui defect de proiectare prezent in aproape orice dispozitiv de imprimare: date si cod pe acelasi canal. Exploatarea acestei probleme este insa dificila, intrucat pentru majoritatea producatorilor nu se poate face o declaratie motivata privind mecanismele de protectie. Prin urmare, o analiza aprofundata a atacurilor de modificare a firmware-ului ar trebui sa faca parte din cercetarile viitoare. Un rezumat al anteturilor sau tipurilor de fisiere pentru toate fisierele de firmware obtinute este prezentat mai jos:

Cantitate Extensie Vanzator Antet sau tip de fisier HP rfu 419 @PJL UPGRADE SIZE = … bdl 206 Format binar FutureSmart Epson rcx 49 SEIKO EPSON EpsonNet Form prn 9 @PJL ENTER LANGUAGE = DESCARCARE brn 7 Binar necunoscut, include fisierul de configurare Dell fls, fly 30 @ PJL LPROGRAMRIP prn 25 @PJL ENTER LANGUAGE = DESCARCARE hd 18 @PJL FIRMWARE = ​​… brn 3 binar necunoscut, include fisierul de configurare ps 2 PostScript (titlu: Firmware Update ) pjl 1 @PJL ENTER LANGUAGE = FLASH Brother djf 79 @PJL EXECUTE BRDOWNLOAD 9 @PJL ENTER LANGUAGE = PCL Lexmark fls 63 @PJL LPROGRAMRIP cos, fls 6 Formular binar necunoscut Samsung hd 33 @PJL FIRMWARE = ​​… fls, hd0 4 @PJL DEFAULT P1284VALUE = … Xerox ps 36 PostScript (titlu: Firmware Update) dlm 35 Modul de incarcare dinamica Xerox prn, bin 20 @PJL ENTER LANGUAGE = DESCARCARE hd 16 @PJL FIRMWARE = ​​… brn 10 Binar necunoscut, include bin file de configurare 10 @PJL SET JOBATTR = „@ SWDL” fls, hd, hde 8 @ PJL DEFAULT P1284VALUE = … fls, xfc 4 @PJL ENTER LANGUAGE = XFLASH pjl 3 @PJL FSDOWNLOAD [nume] .rpm axf 3 RISC OS AIF executabil Ricoh brn 15 @PJL FWDOWNLOAD … bin 14 @PJL RSYSTEMUPDATE SIZE = … fls 4SL … LPROGRAMRIP Kyocera cramfs, img 98 cramfs image bin, squashfs 79 squashfs image bin, kmmfp 41 u-boot legacy uImage efi, kmpanel 13 format de imagine proprietar Konica Minolta bin 38 binar necunoscut, fisier suplimentar de checkum ps 20 PostScript (titlu: module de imprimanta soft ) ftp, prn 11 @PJL ENTER LANGUAGE = ACTUALIZARE FIRMUPDATE 1 @PJL ENTER LANGUAGE = UPGRADE

Cum sa testeze acest atac?

Securitatea semnarii codului se bazeaza pe pastrarea cheii private intr-un secret comercial pe termen lung. Cu toate acestea, exista inca imprimante in salbaticie, care sunt potential vulnerabile la firmware-ul rau intentionat – fie pentru ca nu au fost inca actualizate sau pentru ca algoritmii proprietatii de control sunt vandute ca scheme de semnatura digitala securizate criptografic. Cu siguranta trebuie subliniat faptul ca analiza firmware-ului poate fi dificila daca furnizorii nu isi documenteaza formatele firmware-ului si rutinele de actualizare. De obicei, acest lucru necesita o tehnica inversa. Prin urmare, testarea fezabilitatii atacurilor de modificare a firmware-ului nu este banala. Intr-un test simplu, se poate roti un singur bitsi verificati daca firmware-ul modificat este inca acceptat de dispozitivul de imprimanta. Daca nu, imprimanta verifica fie o suma de control, fie o semnatura digitala. Gasirea diferentei nu este intotdeauna usoara si scrierea firmware-ului rau intentionat (cu un control corect) poate fi un proiect care necesita mult timp.

Alte scenarii de atac includ:

  • Chiar daca firmware-ul este semnat, se poate trece la o versiune a firmware-ului (semnata) anumita, care prezinta deficiente de securitate cunoscute.
  • Chiar daca firmware-ul este semnat, acesta poate fi montat uneori pentru a obtine informatii suplimentare (in special firmware-ul Konica Minolta este montabil usor).
  • Doar pentru ca firmware-ul este semnat nu inseamna sigur. Folosind binwalk / grep etc., puteti gasi componente cu vulnerabilitati cunoscute precum CVE-2015-7547.

Cine poate efectua acest atac?

Oricine poate imprima, de exemplu prin unitatea USB sau prin cablu, prin imprimarea Port 9100 sau prin tiparire cross-site.

  1. Detectia codurilor rau intentionate pentru firmware-ul deschis , F. Adelstein, M. Stillerman si D. Kozen, Conferinta aplicatiilor pentru securitatea computerelor, 2002. Proceedings. 18 Anual, IEEE, 2002, p. 403-412
  2. Phishing cu consumatoare electronice: routere de rau intentionate , A. Tsow, MTW 190, 2006
  3. ↑ 3.0 3.1 Primiti-ma daca indrazniti: atacurile de modificare a firmware-ului si cresterea imprimantei malware , A. Cui si J. Stolfo, 2011
  4. ↑ 4.0 4.1 Hacking Imprimante Canon Pixma – Doomed Encryption , M. Jordon, 2014
  5. ↑ 5.0 5.1 De la Patched to Pwned: Atacking Xerox’s Multifunction Printers Patch Process , D. Heiland, 2011
  6. ↑ 6.0 6.1 Imprimante Xerox PWN (… din nou): Despre atacurile hardware si clonarea securizata (in) , P. Weidenbach si R. Ernst, Fraunhofer FKIE, 2016
  7. ↑ 7.0 7.1 Buletinul de securitate HPSBPI02728 SSRT100692 Rev. 6 , HP Inc., 2012
  8. Exploating Network Printers , J. Muller, 2016, p. 56-58
  9. Utilitatea de restaurare a fisierelor executabile UNP , A. Karwath
  10. Instrumentul de analiza a firmware-ului Binwalk , C. Heffner
  11. [1] Epson WorkForce Lipsa semnaturii de firmware / CSRF , R. Spenneberg
  12. Caracteristici de securitate ale imprimantelor multifunctionale si monofunctionale Lexmark, Lexmark International, 2013, pag. 6
  13. Cartea alba pentru securitatea retelei pentru dispozitive de imprimare multifunctionale si digitale , Ricoh Corp., 2007, p. 10
  14. cramfs – Un sistem de fisiere Linux conceput pentru a fi simplu, mic si pentru a comprima bine lucrurile , D. Quinlan
  15. squashfs – Un sistem de fisiere comprimat de citire numai pentru Linux , P. Lougher si R. Lougher
  16. Kyocera Laser Printer FS-1900 Manual de service , Kyocera Corp., 2001, cap. 3-19
  17. Cartea alba de securitate Konica Minolta , Konica Minolta, Inc., 2015, p. 26