Le avventure nella firma UEFI di Microsoft

Mi capita di tradurre questo articolo che ha scritto James Bottomley, consulente tecnico del Linux Foundation, che ha iniziato a mettere insieme un pre-bootloader in modo da poter avviare Linux.

Come ho spiegato nel mio post precedente, abbiamo il codice per il pre-bootloader di Linux Foundation in atto. Tuttavia, c'era un file ritardo mentre avevamo accesso al sistema di firma di Microsoft.

La prima cosa da fare è pagare $ 99 a Verisign (ora Symantec) e avere una chiave verificata da Verisign. Lo abbiamo fatto per la Linux Foundation e tutto ciò che vogliono è chiamare la sede centrale per verificare. La chiave restituisce un URL installato nel browser, ma è possibile utilizzare gli strumenti SSL standard di Linux per estrarla e creare il normale certificato e chiave PEM. Non ha nulla a che fare con la firma UEFI, ma viene utilizzato per convalidare il sistema sysdev Microsoft che sei chi dici di essere. Prima di poter creare un account sysdev, devi testarlo firmando un eseguibile che ti danno e caricandolo. Fanno severi requisiti che tu lo firmi su una specifica piattaforma Windows, ma almeno sbsign ha funzionato e bingo il nostro account è stato creato.

Una volta creato l'account, non è ancora possibile caricare i file binari UEFI per la firma senza prima firmare un contratto cartaceo. Gli accordi sono molto onerosi, comprese molte licenze escluse (comprese tutte le GPL per i driver, ma non per i bootloader). La parte più onerosa è che gli accordi sembrano arrivare oltre gli oggetti UEFI che firmi. Gli avvocati della Linux Foundation hanno concluso che è per lo più innocuo per la LF perché non vendiamo prodotti, ma può essere disgustoso per altre società. Secondo Matthew Garrett, Microsoft è disposta a negoziare accordi speciali con le distribuzioni per mitigare alcuni di questi problemi.

Una volta firmati gli accordi, il vero divertimento tecnico. Non puoi semplicemente caricare un binario UEFI e farlo firmare. Per prima cosa devi avvolgerlo in un file .cab. Fortunatamente, esiste un progetto open source che può creare file CAB chiamati lcab. Allora devi firmare il file .cab con la chiave Verisign. Di nuovo, c'è un altro progetto open source che può farlo: osslsigncode. Per chiunque abbia bisogno di questi strumenti, sono disponibili nel mio repository UEFI di openSuse Build Service. L'ultimo problema è caricare il file richiede silverlight. Sfortunatamente il chiaro di luna non sembra funzionare e anche con l'anteprima della versione 4, la casella di caricamento diventa vuota, quindi è ora di usare Windows 7 sotto una kvm (macchina virtuale basata su kernel). Quando arrivi a quella parte, devi anche certificare che il binario "da firmare, non deve essere concesso in licenza con GPLv3 o licenze open source simili". Presumo sia per paura della divulgazione delle chiavi, ma non è affatto chiaro (lo stesso con "licenze open source simili").

Una volta completato il caricamento, il file CAB si interrompe attraverso sette fasi. Sfortunatamente, la prima salita di prova è rimasta bloccato nella fase 6 (la firma dei file). Dopo 6 giorni ho inviato un'e-mail di supporto a Microsoft chiedendo cosa stesse succedendo. La risposta: “Il codice di errore generato dal processo di firma è quello il file non è un'applicazione Win32 valida. È un'applicazione Win32 valida? ”. Risposta: ovviamente no, è un binario UEFI a 64 bit valido. Non c'erano più risposte...

Ho riprovato. Questa volta ho ricevuto un'e-mail di download per il file firmato e il consiglio lo dice la firma fallita. L'ho scaricato e verificato. Il binario funziona sulla piattaforma secureboot ed è firmato con la chiave

oggetto = / C = US / ST = Washington / L = Redmond / O = Microsoft Corporation / OU = MOPR / CN = Microsoft Windows UEFI Driver Publisher
emittente = / C = US / ST = Washington / L = Redmond / O = Microsoft Corporation / CN = Microsoft Corporation UEFI CA 2011

Ho chiesto all'assistenza perché il processo indicava un errore ma avevo un download valido e, dopo una raffica di email, mi hanno risposto "non utilizzare quel file che era firmato erroneamente. Tornerò da te. " Non sono ancora sicuro di quale sia il problema, ma se guardi l'oggetto della chiave di firma, non c'è niente nella chiave da indicare alla Linux Foundation, quindi sospetto che il problema sia che il binario è firmato con una chiave Microsoft generica invece di una chiave specifica (e revocabile) legata alla Linux Foundation.

Tuttavia, questo è lo stato: continueremo ad aspettare che Microsoft fornisca a Linux Foundation un pre-bootloader firmato e convalidato. Quando ciò accadrà, verrà caricato sul sito di Linux Foundation affinché tutti possano usarlo.

fonte: http://blog.hansenpartnership.com/adventures-in-microsoft-uefi-signing/

Trai le tue conclusioni, ma ci vorrà tempo.


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   Rolo suddetto

    Se davvero il problema dei PC con win8 OEM forniti con il sistema UEFI viene risolto disabilitando UEFI dal BIOS, mi sembra un errore che sia la fondazione Linux che Fedora, Ubuntu e io non sappiamo quale altra distro, paghiamo il certificato e accettare le limitazioni imposte da Microsoft.

    DOBBIAMO SMETTERE DI ESSERE AGNELLI !!!!!

    1.    sig84 suddetto

      ma so che Windows 8 rimane non avviato

      1.    Blaire pascal suddetto

        Hehehe, nemmeno un grosso problema. Beh, almeno per me. È un'opinione personale, non voglio offendere nessuno.

    2.    Shiba87 suddetto

      UEFI non può essere disabilitato dal BIOS, poiché UEFI è il firmware che viene a sostituire il BIOS più che longevo.

      Quello di cui parliamo è Secure Boot, una funzionalità UEFI che verifica l'autenticità del software con cui avviamo il computer tramite firme digitali, è Secure Boot che va disabilitato.

      Non è semplice come disabilitare Secure Boot e basta, è necessario che il produttore abbia avuto la considerazione di includere un menu che consenta agli utenti di disabilitare Secure Boot, se il produttore non vuole che sia disabilitato sarà molto complicato affinché l'utente possa farlo, arrivando possibilmente all'estremo da dover sostituire il firmware della scheda madre con uno non ufficiale.

      La soluzione della Linux Foundation sarebbe una soluzione "universale" per qualsiasi hardware colpito da questa malattia e consentirebbe di installare qualsiasi sistema pagando una singola firma digitale una sola volta, che è sicuramente ciò che li spaventa e perché stanno facendo così tanto

      1.    msx suddetto

        «Non è semplice come disabilitare Secure Boot e basta, è necessario che il produttore abbia preso in considerazione di includere un menu che consenta agli utenti di disabilitare Secure Boot, se il produttore non vuole che sia disabilitato sarà molto complicato per l'utente essere in grado di farlo, »

        Quindi quello che devi fare è una campagna di alfabetizzazione digitale in cui viene spiegato agli utenti che richiedono computer con quella caratteristica e se non ne acquistano altri.

      2.    targon suddetto

        Tutto questo per fare soldi convalidando ciò che può e non può essere avviato con l'avvio sicuro.

  2.   contro suddetto

    La totale incompetenza è indistinguibile dalle cattive intenzioni.

  3.   Hugo suddetto

    Anche se c'è una famosa frase di Robert J. Hanlon che dice: "Non attribuire mai alla malizia ciò che è adeguatamente spiegato dalla stupidità", nel caso particolare di Microsoft, tante sciocche difficoltà a un presunto processo ben concepito e ideato per un migliore sicurezza, continua a dare l'impressione che stiano ostacolando la Linux Foundation in modo che linux non possa essere installato su nuovi PC con UEFI, quindi Microsoft non ha concorrenza.

    1.    Blaire pascal suddetto

      Esatto. Non mi piace l'idea, un presunto inizio sicuro ... Mi spaventa. Mi sembra che Microsoft abbia scopi molto ... mafiosi.

      1.    bamler suddetto

        Sono più che stanco di Microsoft e delle sue manipolazioni, e ho persino paura delle sue intenzioni, e stanco che finga di dominare ciascuno dei PC o dispositivi esistenti sul mercato.

        Spero che Linux finisca di decollare in massa e prevalga tra gli utenti finali e Windows sia finalmente emarginato, totale, per la schifezza del sistema operativo che è.

        1.    Hugo suddetto

          Questo mi ricorda il brevetto concesso a Microsoft con il quale il sistema predefinito è limitato, e per sbloccare il suo pieno potenziale o installare qualsiasi programma di terze parti, sono necessarie licenze per le quali, ovviamente, l'utente o gli utenti devono pagare. terze parti che desiderano che le loro applicazioni siano installate sul sistema operativo. Il fatto che non l'abbiano ancora implementato non significa che non intendano farlo, e ho l'impressione che l'UEFI stia preparando il terreno per questo.

  4.   erunamoJAZZ suddetto

    Quello che mi sorprende è che i binari 64bist falliscono e forzano i binari a 32 bit…. Sono retrogradi, non ci sono quasi nessun nuovo processore con architettura x86 a 32 bit sul mercato. Dovrebbe funzionare a 64 bit.

    uu

  5.   jorgemanjarrezlerma suddetto

    La firma digitale o l'avvio protetto sta tentando di impedire l'avvio di "qualcosa" diverso dal sistema. È anche al fine di evitare la cosiddetta pirateria o la copia illegale di software proprietario.

    Fare un'analisi e fare qualche ricerca sulla cosiddetta cassaforte Win8 con il suo tanto decantato avvio sicuro ha dimostrato la sua incompetenza in quanto hanno recentemente scoperto un buco di sicurezza.

    A causa di quanto sopra, e senza dover essere un genio del settore, con dottorandi e altri, si può dedurre che è solo un concetto di marketing accompagnato dalla premessa di Microsoft di diventare un sistema chiuso in stile mela.

    Personalmente rivedendo, consultando e studiando posso affermare dal mio punto di vista personale che UEFI / Secure Boot è una frode e una truffa che mira solo a costringere e supportare il progetto Microsoft a chiudere completamente il suo ecosistema, sfruttando il fatto che può ancora esercitare determinati pressione nel segmento dei personal computer.

  6.   pavloco suddetto

    Questa vacanza troverò un modo per citare in giudizio Microsoft. Li odio.

    1.    Blaire pascal suddetto

      Hehehe, se avessi il desiderio e il tempo, li esigerei anch'io. È una violazione della libertà. A meno che non facciano un'altra versione del famigerato EULA in cui specificano che accettando il contratto stai aderendo a non installare nessun altro software lol, il che non mi sorprenderebbe.

    2.    bamler suddetto

      +1

  7.   nosferatux suddetto

    Vedremo come fa microsoft con il suo win8 e il suo UEFI / secureboot, forse perderà un po 'di mercato a favore dei macbook o dei chromebook.

    E chissà, forse un giorno qualche produttore di PC apparirà a favore di Linux e di altri sistemi gratuiti.

  8.   nosferatux suddetto

    mmm, e se le comunità Linux si "manifestassero" il giorno di Internet e il giorno del programmatore, per esempio, davanti a qualche negozio hp (per non dire altro) mostrando il loro apprezzamento per il marchio ma il loro disaccordo con l'uso di Windows?

    E se in quei giorni la "festa dell'installazione" andasse in piazza o nelle piazze?

    1.    Hugo suddetto

      La triste realtà è che tutti gli utenti Linux messi insieme costituiscono una frazione degli utenti Windows, quindi i produttori di hardware danno naturalmente la priorità al sistema operativo con la quota di mercato più alta. quindi vedo improbabile che una dimostrazione possa cambiare le cose.

      A mio parere, ad esempio, rendere Linux una piattaforma più attraente per applicazioni e giochi potrebbe avere più influenza di molte dimostrazioni contro la SM. Ma questo richiede tempo (e risorse).

  9.   Charlie Brown suddetto

    Va bene attaccare Micro $ oft e il suo Secure Boot, ma ricorda che sono i produttori di schede madri ad averlo incluso di default nell'UEFI, come se ci fosse un solo OS; Microsoft ... hanno preso una strada sbagliata. Considerando il caso, mi sembra che in futuro saremo costretti a flashare l'UEFI delle schede con versioni "rilasciate" come facciamo oggi con le ROM di alcuni prodotti. Fortunatamente, l'ingegnosità di chi aspira alla libertà si è dimostrata più forte di quella di chi cerca di sradicarla.

    1.    Shiba87 suddetto

      Amico… .non è semplice come il produttore che sceglie se includere o meno l'avvio sicuro nel suo hardware, non dimenticare che Microsoft è un monopolio, infatti è IL monopolio e come produttore dire no a Microsoft può significare da dover affrontare i propri avvocati, aumentare il costo delle licenze che rendono la tua attrezzatura molto più costosa, o addirittura perdere l'80% del mercato interno.

      Non è che li difenda, ma se qualcosa che Microsoft sa fare è proprio questo, imporre sulla base dell'estorsione e del monopolio, l'unica opzione sarebbe che tutti i produttori o almeno la maggioranza acconsentissero e lo fermassero subito. , ma è tremendamente difficile che accada e una singola azienda, non importa quanto grande sia, ci penserà due volte prima di rischiare i propri affari, non importa quanto ingiusto / strisciante / assurdo ciò che Microsoft chiede.

  10.   Alf suddetto

    Si è parlato molto di questo problema in vari blog e forum, ma ho giorni a pensare a qualcosa, forse è una mia follia ma, nel caso di DELL e HP (non conosco altre aziende) che vendono macchine Linux , l'avvio sicuro si staccherà?

    1.    Hugo suddetto

      Penso di aver letto che in questi casi i produttori inseriscono un doppio sistema UEFI / BIOS in modo che se disabiliti l'UEFI tornerai al BIOS. Questo ovviamente dovrebbe aumentare i costi.

      Alla fine il BIOS deve scomparire come lo conosciamo a favore di UEFI o altri standard migliori che si credono, perché la tecnologia BIOS è vecchia e quindi impone limitazioni.

  11.   Shiba87 suddetto

    Signori, una firma alla petizione della FSF su questo argomento:

    Noi firmatari esortiamo tutti i produttori di computer che implementano il cosiddetto "avvio protetto" dell'UEFI a farlo in un modo che consenta l'installazione di sistemi operativi liberi. Per rispettare la libertà degli utenti e proteggere veramente la loro sicurezza, i produttori devono consentire ai proprietari di computer di disabilitare le restrizioni di avvio o fornire un sistema affidabile per installare ed eseguire un sistema operativo gratuito di loro scelta. Ci impegniamo a non acquistare né raccomandare computer che tolgono all'utente questa libertà fondamentale e incoraggeremo attivamente le persone nelle nostre comunità a evitare tali sistemi in gabbia.

    http://www.fsf.org/campaigns/secure-boot-vs-restricted-boot/statement

    1.    msx suddetto

      Perfetto, richiesta firmata e condivisa con il LUG e il resto del web, grazie per il commento.