Pratiche di sicurezza per plugin / estensioni

2

Che tipo di pratiche di sicurezza comune si applicano gli sviluppatori di software quando consentono l'aggiunta di estensioni o plug-in al proprio software, come ad es. Firefox, Photoshop e GIMP fanno? Può essere su Windows o Linux o Mac.

Esempio di scenari:

  1. Cosa impedisce al plug-in di installare codice dannoso aggiuntivo nel sistema che gli consentirà di fare tutto ciò che desidera (backdoor ecc.)?
  2. Cosa impedisce al plug-in di spiare l'utente mentre è in uso?

Ovviamente chiunque può creare un plugin dannoso e nessuno lo sospetterà. Mi chiedo perché non sia mai successo a Firefox (per quanto ne sappiamo).

    
posta mnoq 23.12.2016 - 08:09
fonte

4 risposte

1

Se si desidera consentire i plug-in, i soli metodi realistici per proteggere l'applicazione principale sono:

  • Rivedi il codice

    Permettono solo le submission che possono essere riviste e mettere a disposizione risorse sufficienti per fare effettivamente le recensioni. Le recensioni possono essere automatizzate o manuali, un mix di entrambi è indubbiamente il migliore.

    Le presentazioni di sola lettura richiedono anche una sorta di marketplace ufficiale per i plug-in e dovresti anche avere la possibilità per gli utenti finali di rivedere e commentare pubblicamente.

  • Applica un modello di sicurezza restrittivo

    Potresti assicurarti che i plugin possano intraprendere solo determinate azioni relativamente sicure. Ad esempio, potresti impedire loro di contattare gli URL esterni al tuo per impedire loro di "telefonare a casa" e di perdere dati.

    Potresti estenderlo ulteriormente per consentire azioni meno sicure ma solo dopo una revisione manuale del codice.

Fare entrambe le cose insieme è l'approccio migliore.

Questi sono processi abbastanza comuni ma ovviamente richiedono tempo pari al costo. La seconda opzione è la più economica ma può anche essere la più difficile da implementare in modo sicuro.

Ci sono molti esempi di casi in cui questo genere di cose non funziona bene, il più ovvio è l'app store Android in cui le app dannose vengono regolarmente rilevate anche troppo spesso, solo dopo anni di permanenza nel negozio. Anche l'app store di Windows ne ha risentito nei suoi primi giorni. Per quanto posso ricordare, ognuno dei 3 principali browser ha anche avuto estensioni maligne ad un certo punto.

Per proteggere te stesso, dovresti scegliere solo estensioni ben utilizzate con un numero consistente e consistente di recensioni positive. Preferibilmente quelli con supporto ben finanziato. Ovviamente si dovrebbe mantenere l'uso dell'estensione al minimo e qualcosa come Extensity per Chrome è buono in quanto consente di attivare e disattivare facilmente e rapidamente le estensioni a piacimento. Cerca di non utilizzare le estensioni appena inviate finché non vedi che sono state provate e considerate affidabili da altri.

Se puoi, tieni d'occhio le notizie in modo che tu possa individuare quando viene evidenziata un'estensione per essere stato sottoposto a revisione indipendente della sicurezza o quando ha fallito. Inoltre, fai attenzione alle estensioni che cambiano la proprietà in quanto i nuovi proprietari potrebbero non essere così onesti.

Realisticamente, la maggior parte delle persone non sarà in grado di fare quelle ultime raccomandazioni però.

    
risposta data 23.12.2016 - 10:08
fonte
1

Questa è una questione di fiducia, e direi che si tratta di un problema più sociale che tecnologico. Certo, ci sono soluzioni tecniche (come solo dare accesso ad un linguaggio di scripting limitato, provare a sandbox il plugin, ecc.) Ma queste possono spesso essere violate o violate.

Dare un'occhiata a come il sistema operativo si occupa dei programmi potrebbe essere utile qui, perché in un certo senso un programma è un plugin per il sistema operativo.

Il sistema operativo desktop tradizionale consente all'utente di decidere quali programmi considerare affidabili e di eseguirli a proprio rischio. L'utente deve decidere autonomamente se si fida della casa editrice di un programma specifico.

Questo ha funzionato bene per l'utente esperto, ma se dai un'occhiata al numero di barre degli strumenti del browser sul computer dei tuoi genitori sono sicuro che sarai d'accordo che è stato tutt'altro che perfetto. Internet è disseminato di trojan che rende facili gli obiettivi a utenti inesperti (e alcune volte anche agli esperti).

L'ascesa di smartphone e tablet ha dato agli sviluppatori una lavagna pulita su cui lavorare e hanno optato per un nuovo sistema. Invece di lasciare che gli utenti decidano di quale editore si fidano, i fornitori di sistemi operativi gestiscono negozi ufficiali da cui tutte le app devono essere scaricate. Per essere disponibile, deve superare la revisione della sicurezza ei fornitori possono punire i publisher che tentano di diffondere malware rimuovendo i loro prodotti.

In questo scenario, gli utenti non devono fidarsi dei singoli editori. Devono solo avere fiducia che i venditori facciano un buon lavoro nelle loro recensioni. Sfortunatamente, questo sistema ha dimostrato di essere anche meno resistente all'acqua, dal momento che il software nella zona grigia e il malware definitivo riescono ancora a sottrarsi alla recensione passata.

Quindi penso che queste siano le due opzioni principali:

  • Consenti agli utenti di decidere quali plug-in si fidano e subire i conseguenti se sbagliano la loro fiducia.
  • Avere un negozio ufficiale in cui tutti i plug-in devono passare in rassegna e lasciare che gli utenti si fidino di quel processo. Se quella fiducia è fuori luogo, entrambi voi e loro ne soffrirete i conseguenti.
risposta data 23.12.2016 - 10:28
fonte
0

Questo dipende totalmente dal team di sviluppo di quel prodotto.

Di solito,

  • Limitazione dei plug-in (accesso ai cookie, cronologia del browser, database SQLite). Questo in realtà dipende da quanto vuoi rendere flessibile il tuo prodotto.
  • Code Review / Audit: rivedere il codice dei plugin automaticamente e manualmente prima di spingere il plug-in per pubblicizzare le persone e scaricarle.
  • Blocca / Consenti parzialmente ai plug-in scaricati da altre fonti in attesa di un mercato ufficiale.
risposta data 23.12.2016 - 09:30
fonte
0

Un'ulteriore opzione a quelle già menzionate è caricare solo i plug-in firmati con un certificato specifico, che gli sviluppatori / le aziende affidabili devono acquisire da te. Naturalmente, i certificati possono anche essere rubati e utilizzati in modo improprio per creare plugin che sembrano legittimi, ma offrirebbe un ostacolo piuttosto grande per i programmatori malintenzionati.

    
risposta data 23.12.2016 - 10:08
fonte

Leggi altre domande sui tag