sicurezza e il plugin Qt ben costruito

4

"Tutto quello che dovresti fare è costruire un plugin e potresti completamente pwnare il software."

Sto costruendo un'applicazione usando i plugin. Penso che tutto quello che devi fare è costruire un plugin e copiarlo nella directory corretta e il mio programma principale funzionerebbe felicemente. Mi piacerebbe che il programma principale fosse abbastanza intelligente da rilevare plugin non autorizzati e rifiutarli. Una firma crittografata su ciascun plugin funzionerebbe bene. Qualcuno ha fatto qualcosa per un sicuro, e multipiattaforma, framework per i plugin Qt? O una libreria multipiattaforma per generare firme per librerie condivise?

Sono a conoscenza di come Windows fa questo. Linux non così tanto. Non ho bisogno della compatibilità Mac.

Grazie per il tuo tempo!

    
posta Jay 01.12.2011 - 21:22
fonte

2 risposte

6

Come suggerito da bstpierre, non è possibile proteggersi dagli utenti malintenzionati poiché un plug-in consente per definizione di eseguire codice arbitrario.

Tuttavia, se si desidera impedire il caso di abuso in cui un utente innocente scarica un plug-in che sembra legittimo ma non lo è, è possibile eseguire un controllo della firma con crittografia asimmetrica per assicurarsi che ciò non accada.

Quando parli di cross-platformness, dai un'occhiata a Qt Cryptographic Architecture (il primo hit di google su "qt crypto"). Mi sembra che questo sia quello che stai cercando, anche se non ho esperienza con questo framework.

    
risposta data 01.12.2011 - 23:50
fonte
2

Apprezzo il modo in cui stai cercando di proteggere i tuoi utenti; complimenti. Tuttavia, voglio anche iniettare una piccola nota di cautela, in modo che tu sappia in cosa ti stai cacciando. La parte più difficile non è la crittografia (ad esempio, le firme a chiave pubblica). La parte più difficile è il processo per determinare quali plugin sono considerati legittimi.

Hai intenzione di agire come un gatekeeper, determinando quali plugin sono legittimi? Hai intenzione di costruire una galleria curata di plugin legittimi? Se sì, come hai intenzione di dire quali sono legittimi e quali no? Farai un'attenta revisione del codice del loro codice sorgente? In tal caso, hai riflettuto su come lo finanzi e sostieni, e quali tipi di ritardi imporranno agli sviluppatori di plug-in? Oppure, se pensassi che potresti semplicemente guardare l'aspetto del plugin e lo sapresti, probabilmente sei troppo ottimista; è facile per gli attaccanti creare un plug-in che sembra legittimo ma che in realtà contiene una backdoor.

Questa è una cosa impegnativa. Questa non è una situazione in cui puoi semplicemente scrivere alcune righe di codice e chiamarlo un giorno. Assicurati di essere a conoscenza di ciò che stai tagliando e pensa attentamente ai problemi del processo di business.

    
risposta data 02.12.2011 - 05:24
fonte

Leggi altre domande sui tag