Diciamo che abbiamo un client di chat p2p open source decentralizzato per comunicazioni sicure. Il vettore di attacco principale sembra essere il meccanismo di aggiornamento (centralizzato). Quali metodi e / o tecniche possono essere utilizzati per minimizzare gli attacchi durante il processo di aggiornamento. Alla fine uno sviluppatore malintenzionato può sempre introdurre codice dannoso, quindi il meglio che possiamo fare è minimizzare quelle possibilità.
Alcuni problemi a cui stavo pensando solo per far girare la palla (ma non sentirti obbligato a rispondere a quelli o limitarti a quelli):
- Dovrebbero essere usati gli aggiornamenti automatici? E dovrebbero essere applicati istantaneamente o vale la pena aspettare un periodo di tempo fisso per poterlo ritirare nel caso di un hack (a costo di bug di sicurezza che si trovano all'aperto per x giorni)?
- È sufficiente una semplice connessione https (con certificato in sospeso?) per impedire attacchi MITM sul file di download o si dovrebbero verificare elementi aggiuntivi come un checksum scaricato da un altro server?
- Si possono prendere provvedimenti contro il governo (l'unica parte che può farlo legalmente) a prendere il server e caricare una nuova versione? (Stavo pensando sulla falsariga di una sorta di sistema in cui il file deve essere ospitato in diverse giurisdizioni o qualcosa del genere)
- Ci sono forse modi per richiedere almeno
n
dim
parti (sviluppatori) per firmare la nuova versione?