Domanda:
Qual è lo scopo di utilizzare un sistema operativo open source e sicuro se lo stai eseguendo su una macchina con firmware closed source?
herzEGG
2016-03-11 22:32:22 UTC
view on stackexchange narkive permalink

Sono molto interessato al sistema operativo OpenBSD, poiché attualmente mi sembra essere l'opzione che prende la sicurezza più seriamente rispetto ai suoi contemporanei. Ma mentre ne leggevo, mi è venuto in mente che anche se OpenBSD è tutto ciò che afferma di essere, che importanza hanno tutta quella sicurezza e apertura, se sto eseguendo il sistema operativo su BIOS / hardware proprietario closed-source? p>

Sono a conoscenza di Open BIOS, coreboot e Libreboot, ma mi chiedo perché i sistemi incentrati sulla sicurezza come OpenBSD non siano così importanti nell'utilizzo del firmware aperto. Non si sconfigge lo scopo della sicurezza aperta utilizzando innanzitutto un firmware chiuso?

Sembra che tu stia equiparando "open source" a sicurezza. Anche il codice sorgente chiuso può essere protetto. La tua domanda dipenderà anche da cosa vuoi proteggerti e da quale codice open source ti dà nel tuo scenario che closed source non fa.
A tal fine, la serietà della sicurezza per il team di sviluppo di openBSD non si basa sul fatto che sia open source, piuttosto è il fatto che il team si mantiene a uno standard elevato; quindi, la serietà della sicurezza del software sottostante dovrebbe essere valutata secondo gli stessi criteri. Un punto di partenza sarebbero le vulnerabilità note contro bios / BMC / ecc di alcuni fornitori.
Sì, associo l'apertura con più sicurezza. Non sono sicuro che questa sia una posizione "giusta" nel campo della sicurezza tecnologica o più "filosofica". Immagino solo che se qualcuno può guardare il tuo codice è più difficile farla franca con qualcosa di dannoso, come nel caso Superfish di Lenovo, e non prendi la promessa di sicurezza solo a parole. Quindi sì, lo sviluppo di openBSD potrebbe davvero essere di uno standard molto alto, ma il fatto che sia aperto non garantisce che sia davvero di alto livello? Come "chiunque" può cercare se stesso?
Solo perché un gruppo di persone PU guardare qualcosa non garantisce che lo farà; inoltre non garantisce la divulgazione di eventuali vulnerabilità rilevate. Quindi, l'open source non garantisce più sicurezza e protezione, semplicemente facilita il processo che POTREBBE portare a più sicurezza e protezione.
@herzEGG Essere sicuri in virtù dell'apertura è stato smentito molte volte, più recentemente dal progetto openSSL.
OpenBSD prende _un aspetto_ della sicurezza più seriamente di chiunque altro.
Software gratuito significa che puoi assumere _ chiunque_ per controllarlo.
Penso che questo sia effettivamente un ottimo punto.
Potresti trovare [questo documento] (http://blog.invisiblethings.org/2015/12/23/state_harmful.html) pertinente o almeno interessante. Potresti anche prendere in considerazione il sistema operativo Qubes se "prendere sul serio la sicurezza" è la tua considerazione principale. Disclaimer: non l'ho mai usato da solo, lo trovo concettualmente interessante.
Ecco perché abbiamo bisogno di hardware aperti.
OpenBSD si basa sullo stesso firmware proprietario sottostante, ecc., Come tutti gli altri sistemi operativi concorrenti. ** SE ** quella fondazione ha delle vulnerabilità, almeno OpenBSD potrebbe avere meno probabilità di aumentare i rischi intrinseci.
@schroeder Sì, "open source" dovrebbe essere equiparato (o per lo meno, fortemente correlato positivamente) a "sicuro", attraverso il principio di Kerckhoff, che afferma che si deve sempre presumere che l'avversario abbia piena conoscenza del funzionamento del sistema. Se i bravi ragazzi non hanno a disposizione la stessa conoscenza, come possono fidarsi che sia sicura?
@MasonWheeler si presume, ovviamente, che un progetto open source sia pensato per essere sicuro. GitHub è pieno di codice grossolanamente insicuro ... Come ho detto sopra, è necessario definire ciò che si spera di proteggere con la possibilità di vedere il codice.
@schroeder Perché qualcuno che ha accesso al funzionamento completo e di cui ti fidi per esprimere tali giudizi, te lo ha detto.
@Mason La tua conclusione non segue dalla premessa. Sì, il principio di Kerckhoff afferma che un sistema deve essere sicuro anche se i meccanismi interni sono noti all'avversario. Ma questo non implica l'opposto - `a -> b` * non * implica` b -> a`. Potresti avere questa opinione, ma non attribuire erroneamente un simile sentimento a Kerckhoff.
@Voo Questa non è la premessa. Secondo Wikipedia: [Il principio di Kerckhoffs è stato riformulato (o forse formulato in modo indipendente) da Claude Shannon come "il nemico conosce il sistema", cioè "si dovrebbero progettare sistemi partendo dal presupposto che il nemico acquisirà immediatamente piena familiarità con essi" .] (https://en.wikipedia.org/wiki/Kerckhoffs's_principle) Se l'assunto che "il nemico conosce il sistema" deve essere preso per scontato, anche se non è necessariamente vero, allora deve anche essere preso come un dato di fatto che * sei in svantaggio se anche i tuoi amici non conoscono il sistema. *
@mason kerckhoff sta facendo un'affermazione nella forma `a-> b`. Quello che stai cercando di argomentare allora è che perché `a-> b` allora anche` b-> a` deve essere vero. E questo semplicemente non segue in nessun sistema logico che io conosca. Potreste essere dell'opinione che l'altra affermazione sia comunque vera, ma non deriva da Kerckhoff.
@Voo Ancora una volta, stai fraintendendo l'affermazione che sto facendo. Sfortunatamente, non sono sicuro di come spiegarlo in modo più chiaro di quanto ho già detto.
Undici risposte:
Tom Leek
2016-03-12 00:25:25 UTC
view on stackexchange narkive permalink

Storicamente, il movimento open source non riguarda la sicurezza ma la libertà . Fondamentalmente, Richard Stallman era molto costernato di non essere in grado di giocherellare con la sua stampante perché la fonte del driver non era disponibile.

La posizione di OpenBSD sull'essere "sicuro" non deriva dall'essere open source, ma su un l'obiettivo e l'impegno a fare le cose correttamente per quanto riguarda la sicurezza (ancora storicamente, OpenBSD è nato perché alcuni sviluppatori di NetBSD erano molto più bravi a programmare che a gestire relazioni pacifiche da uomo a uomo).

L'associazione tra sicurezza e open source è più recente. In effetti, fin dall'inizio, è stato spiegato come un concetto incompleto (vedi le famose Riflessioni sulla fiducia in fiducia di Ken Thompson). Un elemento della discussione è la Legge di Linus che dice:

visti un numero sufficiente di occhi, tutti i bug sono superficiali

L'idea centrale è che, con un numero sufficiente di revisori, verranno rilevati bug, e questo si estende ai bug relativi alla sicurezza. Ciò vale, tuttavia, solo in base alla premessa che sono revisori. Il software open source semplifica le revisioni esterne, ma ciò non significa che le revisioni esterne avvengano effettivamente. Quando è stata l'ultima volta che hai letto il codice sorgente esistente?

Caso in questione: OpenSSL. Dopo che è stata trovata un'altra vulnerabilità nella base del codice, è stato creato un fork, chiamato LibreSSL, e hanno iniziato uno sforzo di revisione esplicito, che ha trovato diversi problemi seri nella base del codice. Questi problemi erano presenti da anni, proprio nel mezzo di una libreria che si può dire essere una delle librerie più importanti relative alla sicurezza nell'ecosistema Linux. Quindi questo era open source, e tuttavia non era (del tutto) sufficiente per ottenere un corretto rilevamento delle vulnerabilità.

Quindi, ovviamente, l'open-source aiuta con la sicurezza, ma non quanto si può sperare.

Ciò che realmente porta l'open source è un rischio molto maggiore per le persone che vogliono installare volontariamente backdoor. È difficile creare codice che sembri innocuo per i revisori e continui a fare cose cattive (esiste un concorso per tale codice).

Apprezzo il collegamento al concorso The Underhanded C!
Penso che l'aspetto della libertà e la sicurezza siano correlati. È vero quello che dici su openSSL e sui bug che non vengono scoperti. Ma se OpenSSL fosse chiuso, la capacità di forkarlo è zero. Inoltre, con il software closed source devi semplicemente fidarti di chiunque abbia scritto il codice. Con OSS, puoi esaminare il codice per verificare quanto sia trasparente. Non devi necessariamente nemmeno trovare un vero exploit, conta semplicemente "WTF al minuto". Non credo che nessuno dei principali browser abbia scelto di utilizzare OpenSSL, forse proprio per questo motivo.
Richard Stallman ha poco a che fare con l'open source. Promuove il software libero. Queste sono cose diverse.
Vale la pena notare nel contesto di OpenSSL che OpenSSL 1.1.0 a quanto pare richiede molti degli stessi passaggi che il fork di LibreSSL ha intrapreso, eseguendo una seria pulizia del codice e rimuovendo effettivamente i codici obsoleti / vulnerabili. [Al momento, è disponibile come versione alpha 3.] (https://openssl.org/news/newslog.html)
RMS era "contro" la sicurezza in molti dei modi in cui è convenzionalmente inteso oggi, credendo che ogni utente di una macchina multiutente debba essere un amministratore: https://lists.debian.org/debian-devel/2002/09/msg01810 .html
@SteveSether - "Con il software closed source devi semplicemente fidarti di chiunque abbia scritto il codice." Non è vero - solo perché * tu * non puoi vedere la fonte non significa che non si sia verificata una revisione esterna.
@JamesSnell In quel raro caso, la fiducia è semplicemente riposta su un'altra terza parte, il revisore del codice. Il revisore del codice ha un conflitto di interessi intrinseco qui, poiché sono pagati dalla società che ha prodotto il sorgente. Inoltre, se un'azienda ottiene una "recensione negativa", può semplicemente accantonarla e pagare qualcun altro per una migliore.
Brad Bouchard
2016-03-12 00:03:28 UTC
view on stackexchange narkive permalink

L'open source non inequivocabilmente = più sicuro / protetto

Chiunque PU CAN guardare al software / hardware open source, ma questo non garantisce che "chiunque" LO guarderà; inoltre, se lo guardano, non significa nemmeno che riveleranno qualcosa che ritengono possa essere una vulnerabilità. Le persone danno troppa importanza all'open source e uno degli errori in cui credono è che se un gruppo di persone PU guardare a qualcosa che è improvvisamente più sicuro e protetto. Questo non è inequivocabilmente vero. È bello poter avere molti occhi sul prodotto, ma l'etica e la morale di quegli occhi mi preoccupano tanto quanto la loro abilità tecnica.

Detto questo, ce ne sono molti vantaggi dell'open source se il concetto alla base è implementato correttamente.

Inoltre, closed source non = meno sicuro / non sicuro.

Ma per rispondere direttamente alla tua domanda, no, non si annulla automaticamente lo scopo di utilizzare un sistema operativo noto che si occupa di sicurezza come OpenBSD eseguendolo su hardware closed source poiché l'hardware stesso potrebbe avere un codice / firmware molto sicuro dietro di esso tanto quanto qualcosa di aperto potrebbe.

Inoltre, colorami di stupido, ma sento che è di buon senso che è più difficile trovare falle di sicurezza nel software per il quale non hai il codice sorgente che in uno che hai ... il che non deve essere usato come scusa in impostazioni improprie, ma che è realisticamente vero.
C'era OpenSSL, dove probabilmente molte persone l'hanno guardato, e poi hanno distolto lo sguardo con disgusto, con pochissima lettura e comprensione del codice, fino a quando la merda non ha colpito la ventola.
Questo post evita completamente il problema della fiducia. Anche se il firmware è sicuro, chi può dire che fa solo ciò che afferma?
@Sqeaky: Anche se è open source e sicuro, chi può dire che l'hardware sta facendo quello che dovrebbe?
Almeno sai che non è backdoor ... Penso che tu abbia capito la questione dell'OP sbagliato.
@Saibot - falso, è possibile eseguire il backdoor anche tramite hardware. A meno che tu non crei tutto da solo (e intendo ** tutto **, comprese le tue maschere chip), hai sempre una strada per qualcun altro di scivolare in una porta sul retro. Buon divertimento ~!
@Clockwork-Muse Voglio dire, almeno sai che il firmware non è backdoor.
@Saibot - dipende, come è stato caricato sull'hardware? ** L'hai ** caricato tu stesso, durante il montaggio della scheda dai componenti? Se la risposta è "no", allora può ancora essere backdoor (e talvolta anche se lo facessi ...). Sarà lo stesso binario? No, ma potresti non avere alcun modo per osservarlo, _e_ poiché di solito devi fare domande sul firmware su se stesso / per eseguire funzioni di aggiornamento, può mentire.
@Clockwork-Muse Sono d'accordo, ma non capisci cosa intendo. Ovviamente, ci sono altri problemi di sicurezza sull'hardware e l'installazione del firmware, ma se il firmware diventa open source, è un progresso.
@Saibot - Il fatto che il firmware possa essere open source è irrilevante per i problemi di sicurezza se non si dispone di una configurazione affidabile. Non accetteresti una macchina Linux da Joe Random sostenendo che è sicura, vero? In tal caso, sarebbe più semplice verificare la (non) sicurezza, ma è lo stesso problema. È il problema menzionato nel collegamento Reflections On Trusting Trust menzionato in un'altra risposta; devi fidarti dell'intera catena, non solo di ciò che puoi osservare.
@Clockwork-Muse Se un software o un hardware è una scatola nera, non devi fare altro che fidarti. Altrimenti, hai la possibilità di effettuare audit. Perché dovrei fidarmi di qualsiasi azienda perché afferma che il suo prodotto è sicuro? Dovrei essere in grado di testare le loro affermazioni.
L'hardware è semplicemente una cosa separata di cui fidarsi. Qualcuno così preoccupato per la fiducia che sta controllando tutto probabilmente ha un meccanismo in atto per controllare o creare il proprio hardware.
Grant
2016-03-12 08:05:00 UTC
view on stackexchange narkive permalink

Lasciando da parte l'argomento "open source == secure", puoi anche considerare questa domanda come "Perché eseguire un sistema operativo sicuro quando non è garantito che il BIOS / firmware sia sicuro".

Perché preoccuparsi di chiudere la mia porta di casa quando un malintenzionato può rompere le finestre?

Non creerai mai un sistema completamente sicuro. Quello che puoi fare è assicurarti di lavorare per proteggere le parti che sono facili da sfruttare per un utente malintenzionato. È molto più faticoso creare exploit del firmware e sono limitati a prendere di mira un determinato modello di hardware. Considerando che un bug del sistema operativo è più facile da sfruttare e influisce su una base target più ampia.

Quindi sì, idealmente vuoi entrambi, ma averne solo uno non è inutile.

Vale anche la pena ricordare che gli exploit del firmware spesso richiedono un accesso fisico, a quel punto il firmware "sicuro" può essere sostituito o manomesso.
I modelli di minaccia e le vie di attacco sono diversi.Un'analogia migliore sarebbe "perché preoccuparsi di chiudere a chiave la mia porta di casa quando potrei essere rapinato mentre vado al negozio?".Avere un firmware insicuro non ti renderà meno sicuro, ad esempio, di un bug ffmpeg più che essere vulnerabile all'aggressione non vale la pena chiudere le porte.Risolvono problemi completamente diversi.
Jens Erat
2016-03-12 16:16:02 UTC
view on stackexchange narkive permalink

Il software open source (gratuito / libero) non riguarda (principalmente) la sicurezza. Uno dei suoi aspetti più importanti è la fiducia : puoi verificare cosa è in esecuzione, è molto più difficile nascondere qualcosa di dannoso. Alcune persone affermano anche che più persone leggeranno (potrebbero) il codice, il che significa che è più probabile che le vulnerabilità vengano trovate e risolte, con conseguente maggiore qualità del codice. Di questo si è già discusso in profondità nella risposta di Tom Leek. Non approfondirò questo argomento discutibile in questa risposta, poiché la tua domanda non riguarda il motivo per cui il software open source è più sicuro, ma perché preoccuparsi se il firmware è closed source.

Mettendo da parte il fatto che anche il software open source non è necessariamente sicuro, l'esecuzione di codice affidabile su firmware non attendibile non renderà l'esecuzione del codice non attendibile? Certo! Ma il vettore di attacco è potenzialmente più piccolo. È molto più difficile accedere alle interfacce del firmware del dispositivo che accedere al sistema operativo e al software applicativo del computer, che potrebbero persino fornire servizi in Internet (e molte altre interfacce per completare sconosciuti). Non ci sarà mai una sicurezza completa, ma puoi provare a ridurre al minimo i rischi entro un determinato budget.

Con uno sforzo adeguato, il firmware closed source (UEFI / BIOS) può essere sostituito con software open source : Coreboot è un ottimo esempio che implementa un firmware aperto per alcuni prodotti. Ma l ' UEFI / BIOS non è l'unico firmware : a volte sono ancora necessari BLOB come il motore di gestione Intel, i dispositivi hardware come le schede grafiche e di rete hanno il firmware, il tuo disco rigido ha, c'è persino un microcodice caricato nel PROCESSORE. E tutti hanno un controllo più o meno arbitrario sulla memoria e / o sull'archiviazione. Infine, potresti persino diffidare del fornitore di CPU, che potrebbe implementare circuiti dannosi in un semplice hardware.

A un certo punto devi fermarti e semplicemente fidarti del fornitore , poiché i costi aumentano notevolmente quanto più in profondità si scende lo stack verso l'hardware. Hai la capacità di verificare finalmente un progetto di CPU complesso e di produrre la CPU da solo?

Al Chaos Communicaiton Congress 2015 (32C3), si è tenuto un bel discorso su come ottenere Verso laptop x86 (ragionevolmente) affidabili , fornendo un riepilogo sull'argomento.

Steffen Ullrich
2016-03-11 23:06:58 UTC
view on stackexchange narkive permalink

Non esistono cose come la sicurezza completa, ma si può rendere più difficile violare la sicurezza. Mentre sarebbe possibile compromettere il sistema dall'interno del BIOS, UEFI, Intel SME, BIOS della rete o delle schede grafiche, microcodice della CPU, cattivo design della CPU ... questo è considerevolmente più difficile che usare un bug in un programma nello spazio utente o il kernel del sistema operativo. Quindi i ragazzi di OpenBSD si preoccupano dei problemi che possono risolvere e che aiutano davvero. Ciò non significa che non siano a conoscenza degli altri problemi.

Sono un laico nella misura in cui devo cercare ciò che le specifiche UEFI consentono; ma in effetti, compromettere un sistema attraverso il firmware della scheda madre sembra totalmente banale (l'UEFI specifica l'accesso alla rete al momento dell'avvio). Quel codice sarebbe semplicemente parte del prodotto, inserito da un'agenzia governativa, da un'azienda ficcanaso o da un dipendente malintenzionato (o tutti e tre) al momento della produzione. Apparentemente ciò è stato fatto dalla NSA con i prodotti Cisco, parola chiave Jetplow. E la NSA fa parte di un governo eletto.
Graham Hill
2016-03-11 23:15:22 UTC
view on stackexchange narkive permalink

Il firmware è tipicamente confuso con l'hardware e nella maggior parte delle situazioni sei costretto a fidarti dell'hardware (per mancanza di un'alternativa migliore). Quindi finisci per fidarti del firmware.

Non che questa sia una buona cosa: la fiducia non è mai in InfoSec! Ma se ti fidi dell'hardware, non guadagni troppo se non ti fidi del firmware.Se vuoi spaventarti su questo argomento, guarda Ralf Weinmann parlare del software in banda base che ogni telefono ha ma nessuno pensa mai informazioni su: https://www.youtube.com/watch?v=fQqv0v14KKY

Non direi che la fiducia "mai" sia una buona cosa in InfoSec; ci sono molte occasioni e contesti in cui è necessario e buono.
+0.Cos'è questo "telefono" di cui parli?
Chris Jefferson
2016-03-14 03:49:34 UTC
view on stackexchange narkive permalink

Ci sono sempre livelli più profondi da considerare e gli utenti devono scegliere dove fermarsi.

  • Molti chip hanno un firmware / BIOS non flasabile. Lo vuoi, anche se non potresti mai modificarlo?
  • E il microcodice del tuo processore? Questo può essere sostituito (ed è)
  • E il microcodice non modificabile del tuo processore / GPU / ...?

L'unico modo per essere "veramente al sicuro" sarebbe avere il design esatto di ogni chip nella tua macchina e un modo per verificare che i chip fisici abbiano quel design esatto, ma nessun Intel / AMD non te lo darebbe mai, c'è sempre qualche blocco di cui non puoi fidarti.

Brent Kirkpatrick
2016-03-12 03:52:53 UTC
view on stackexchange narkive permalink

Tieni presente che la recente complessità del software BIOS (cioè che è vulnerabile agli attacchi), è un nuovo sviluppo relativo alla storia del campo. Per questo motivo, ci sono pochissime valutazioni complete delle minacce per BIOS e software firmware. Per realizzare una situazione sicura, è necessario utilizzare sia un firmware sicuro, sia open source che closed source, e un sistema operativo sicuro. Usare un BIOS closed source sicuro e un sistema operativo open source sicuro è un'opzione perfettamente ragionevole.

Cort Ammon
2016-03-13 01:35:36 UTC
view on stackexchange narkive permalink

Come si può dire, l'open source non è sinonimo di sicurezza. L'open source è estremamente trasparente, il che può aiutare nella revisione, ma presume che la revisione venga completata. Presuppone inoltre che la revisione venga eseguita tenendo conto dei tuoi interessi. È in fase di revisione a un livello di cui ti fidi?

In molti laboratori governativi, il codice open source è in realtà diffidente . Si fidano maggiormente del codice sorgente chiuso commerciale. Ci sono molte ragioni, ma una che è particolarmente rilevante qui è che il codice sorgente chiuso commerciale ha alle spalle una società commerciale. Se hanno particolari problemi di sicurezza che desiderano affrontare, può essere più facile lavorare con un'azienda per risolvere i problemi piuttosto che assumere il tuo esperto per fare la revisione. D'altra parte, non esiste alcuna azienda che produca un prodotto open source, quindi può essere molto difficile convincere la legione di revisori che esaminano il codice open source a esaminare i tuoi problemi particolari. Hanno scoperto che, nel caso di avversari che scrivono intenzionalmente backdoor che prendono di mira loro , piuttosto che prendere di mira qualsiasi utente arbitrario, è molto più facile intrufolarsi nell'open source e non vengono spesso presi in considerazione. Un'azienda ha molto più da perdere permettendo che le backdoor danneggino i propri clienti rispetto a un programmatore che scrive open source nel tempo libero.

Micheal Johnson
2016-03-13 23:09:13 UTC
view on stackexchange narkive permalink

Anche se non puoi fidarti del firmware, essere in grado di fidarti del sistema operativo (e delle applicazioni) aumenta la fiducia complessiva che puoi avere nel sistema.

Inoltre, il firmware è raramente (se mai) utilizzato oltre l'avvio del sistema e le possibilità che una vulnerabilità o una backdoor al suo interno influisca con successo sul sistema operativo una volta che è attivo e funzionante sono quasi nulle.

Cfr. Jetplow di CISCO. Come puoi dire che le probabilità sono quasi nulle se il vettore di attacco è integrato, dimostrato e totalmente banale? Come sarebbe utile se "il firmware è raramente (se mai) utilizzato oltre l'avvio" (potenzialmente da una posizione di rete), anche se fosse vero?
Pensavo che stessimo parlando di computer desktop / laptop (e _forse_ dispositivi mobili) qui, dove il firmware viene utilizzato per avviare il sistema operativo e poi non di nuovo. Poiché in tali sistemi il firmware viene utilizzato solo per avviare il sistema operativo, e il sistema operativo reinizializza molte cose, è difficile per il firmware piantare qualcosa di dannoso nel sistema operativo.
Il tuo "il firmware viene utilizzato solo per avviare il sistema operativo" dovrebbe leggere "il firmware è * presumibilmente * utilizzato solo per avviare il sistema operativo".
No, _è_ utilizzato solo per avviare il sistema operativo. Il firmware non può fare nulla una volta che il sistema operativo ha preso il controllo della CPU e ha preso il controllo dell'hardware.
Sono certo che il firmware possa installare tutti i tipi di backdoor e "astrazioni hardware" (leggi: key logger) durante l'avvio. Il firmware ha accesso al disco rigido e alla rete. Diavolo, potrebbe installare un nuovo kernel da qualsiasi luogo. Non è * supposto. * Questo è molto corretto. Per qualsiasi altra cosa tutte le scommesse sono disattivate. Possiedi l'UEFI, possiedi la macchina. Possiedi la macchina, possiedi gli utenti.
Dopo aver letto alcune delle altre risposte, potremmo effettivamente significare due cose diverse. Hai ragione sul fatto che il firmware effettivo non fa molto dopo l'avvio con i sistemi operativi moderni. È quindi probabile che non ci siano molti attacchi che utilizzano difetti in un firmware non compromesso una volta che una macchina è attiva e in esecuzione. Il punto era che, date le fughe di notizie di Snowden, è in realtà piuttosto probabile che * il firmware di molti dispositivi sia intenzionalmente compromesso * (come nell'esempio CISCO). Non sarei sorpreso se ciò interessasse anche i tipici server aziendali dei principali fornitori. Se fossi in Cina o in Corea, lo farei.
Sebbene ci siano stati alcuni backdoor / exploit del firmware proof-of-concept (e potenzialmente anche alcuni "in the wild"), il più delle volte questi sono rilevabili e / o evitabili con misure di sicurezza appropriate. Un sistema operativo ad alta sicurezza potrebbe controllare i checksum dei file di sistema rispetto a una fonte attendibile che il firmware è improbabile / incapace di compromettere (ad esempio un disco rimovibile di sola lettura) e quindi cancellare la memoria del sistema e reinizializzare tutto. Piuttosto difficile trovare un keylogger lì dentro. Se il firmware sta caricando il kernel in una VM, il kernel può rilevarlo in base a vari attributi hardware.
Walter
2016-03-14 07:59:00 UTC
view on stackexchange narkive permalink

Ti ricordo che non dovresti lasciare che il perfetto sia il nemico del bene.

Sì, OpenBSD è a rischio perché funziona su firmware closed source. C'è un po 'di cattura-22 qui. Le piattaforme hardware closed source costituiscono la maggior parte di ciò che è disponibile in commercio sul mercato aperto. Quindi, se vuoi che le persone utilizzino il tuo software / siano al servizio di qualcun altro, dovrai eseguire alcuni di quel firmware.

Dal punto di vista della sicurezza, possono risolvere molti problemi con la sicurezza del software scrivendo ed eseguendo il software OpenBSD. Gli exploit presenti nel firmware vengono solitamente eseguiti da un gruppo ristretto e selezionato di persone (la maggior parte degli attacchi al firmware sono molto più specializzati).

Dato un sistema operativo open source, i gruppi hardware open source possono iniziare con una base software nota. Senza una grande base di capitale, costruire entrambi allo stesso tempo è proibitivo (la maggior parte degli anni, OpenBSD ha a malapena la base per il software che scrive).

Fino a quando un aperto buono e conveniente esiste una soluzione hardware sorgente, lamentarsi del fatto che le persone non utilizzano una soluzione hardware open source sembra sputare sotto la pioggia.

Inoltre, il software open source è (in parte) sicuro perché molte persone sono in grado di rivedere il codice e modificarlo, se necessario. Anche se esistesse una soluzione hardware open source accessibile, molte persone non sarebbero in grado di rivedere l'hardware, specialmente a livello di silicio, perché mancano di competenze e / o attrezzature. In quanto tale, l'hardware open source a prezzi accessibili non sarebbe una soluzione a meno che non si producano anche strumenti convenienti per la sicurezza / convalida dell'hardware E una massiccia campagna educativa inizia a insegnare alle persone la sicurezza dell'hardware.


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...