Perché dovresti cancellare la tua bacheca quando esci dall'app?

7

Ho eseguito la scansione di una mia applicazione iOS e la vulnerabilità ad alto rischio sembra essere che il pannello di montaggio non viene cancellato quando termino l'applicazione. Non voglio che l'utente perda informazioni potenzialmente utili che ha copiato a causa di eccessiva zelo, specialmente quando i dati sono ancora molto insicuri quando l'app non è stata terminata e altre app vengono eseguite in tandem.

In una domanda simile alla mia, ma per il pannello di Windows è suggerito che questo non sarebbe un problema ad alto rischio in quanto il pasteboard dovrebbe essere l'ultima delle mie preoccupazioni quando il malware è presente sul mio dispositivo. Qual è la ragione principale per cui dovrei farlo e perché è considerato un rischio piuttosto elevato?

L'app ha accesso a Internet e contiene SPI.

    
posta Declan McKenna 15.01.2016 - 00:31
fonte

3 risposte

3

Quando il malware è presente sul dispositivo, in effetti, se si conservano i dati su cartoncino, questi dati saranno l'ultima delle preoccupazioni. Tuttavia, questa è ancora una cattiva pratica.

Non si dovrebbero archiviare importanti dati utente negli appunti. Non dovresti nemmeno metterlo nel cartone / negli appunti comunque. Perché? Perché un'applicazione dannosa potrebbe accedere ai dati degli appunti. Immagina un sito web accede ai tuoi appunti (normalmente o tramite un exploit) o un altro l'applicazione lo memorizza e lo invia a un server remoto?

Che cosa succede se c'è un metodo come:

sendDataToRemoteServerForPurposesOfExtremeHaxoring(string evilLaugh, string pasteboardData) ?

Così:

// Oh noes!
UIPasteboard *pasteBoard = [UIPasteboard generalPasteboard];
sendDataToRemoteServerForPurposesOfExtremeHaxoring("Mwahahahahaha", pasteBoard.string);

Inoltre, memorizzare la password di un utente e altre informazioni critiche negli appunti è, a mio parere, un enorme, enorme no-no. Cosa succede se l'utente lo incolla accidentalmente? Cosa succede se un'applicazione lo sfrutta? Cosa succede se un sito web lo sfrutta? Ci sono molte ragioni per non farlo.

    
risposta data 19.01.2016 - 17:15
fonte
5

Gli appunti non possono essere considerati un luogo sicuro , questo per diversi motivi:

  • Malware che accedono al contenuto degli appunti : nella tua domanda ti sei concentrato sui malware installati nella tua macchina, tuttavia potrebbero esserci dei malware transitori (come un banner di Adobe Flash dannoso su un sito web che hai visitato per istanza ...) che non infetterà il tuo computer quando è in esecuzione, ma solo tentare di ottenere il contenuto degli appunti in quel momento e inviarlo a casa loro,

  • Manipolazione errata dell'utente : una manipolazione errata potrebbe portare a incollare il contenuto sbagliato nel posto sbagliato. Di solito senza conseguenze, con dati sensibili tali manipolazioni errate possono ancora avere pesanti conseguenze,

  • Persone attorno all'utente : quando il computer viene lasciato incustodito e sbloccato o se l'attenzione dell'utente viene temporaneamente distratta, è molto veloce per qualcun altro premere un Ctrl-V quindi Ctrl-Z sulla sua tastiera per vedere rapidamente il contenuto degli appunti senza che l'utente se ne accorga.

Mentre è ancora meglio evitare l'uso completo degli appunti, quando è necessario attenuare tale minaccia è quello di garantire che i dati sensibili non rimangano negli appunti troppo a lungo: idealmente dovrebbe rimanere lì abbastanza tempo per essere usato e non più.

Nella tua domanda suggerisci di cancellare gli appunti quando l'applicazione termina. L'efficienza dipende molto dal modo in cui viene utilizzata l'applicazione: se questo è il tipo di applicazione che viene chiusa solo alla fine della giornata, tale misura sembra inefficace.

Un buon esempio e fonte di ispirazione per questa situazione può essere il gestore della password KeePass che propone di gestirlo in due modi, a seconda di preferenze dell'utente:

  • Per evitare l'uso completo degli appunti, KeePass propone ciò che chiama Auto-Type : it riempirà direttamente i campi mirati simulando le pressioni dei tasti appropriate. Il vantaggio è che nessun dato passa mai attraverso gli Appunti, tuttavia tale comportamento è più complesso da implementare e potrebbe non essere completamente compatibile o portatile (specialmente vero dato che si parla di un'applicazione mobile),

  • Quando si usano gli appunti per copiare / incollare le password, KeePass può essere configurato per cancellare automaticamente gli appunti dopo un breve periodo di tempo. Durante la copia di una password, KeePass visualizza nella parte inferiore della finestra principale una barra di avanzamento decrescente che fornisce all'utente un feedback visivo sullo stato di timeout, e una volta scaduto il timeout (15 o 30 secondi per esempio) e se clipboard contiene ancora i dati di KeePass , quindi KeePass elimina il contenuto degli appunti (l'utente non deve utilizzare uno di questi "gestori della cronologia degli appunti" per questo per essere veramente efficace però).

risposta data 19.01.2016 - 18:04
fonte
2

Mi concentrerò sull'aspetto iOS qui - altre risposte menzionano cose non applicabili su iOS (ad esempio 'Auto-type:'). Sono uno sviluppatore iOS e ho lavorato su app "sicure".

Purtroppo, ogni "scanner di sicurezza" che ho provato per il codice iOS è al meglio quello che chiamerò "altamente fuorviante". Sospetto che la frase che userei normalmente non sia sufficientemente adatta alla famiglia per lo stackexchange.

La "vulnerabilità" e la loro mitigazione suggerita sono "altamente fuorvianti". Entrambi danneggiano l'usabilità e non aiuta quando un iPad esegue l'app in multitasking "fianco a fianco", né in altre situazioni.

Come dice WhiteWinterWolf, dovresti considerare di non lasciare i dati altamente sensibili negli Appunti di sistema in primo luogo se questo funziona per il tuo caso d'uso. In iOS, puoi implementare un Appunto interno all'app, sottoclassando UITextField , UITextView (ecc.) E fornendo sostituzioni per UIResponderStandardEditActions che non utilizzano il sistema [UIPasteboard generalPasteboard] .

Se hai un caso d'uso convincente per consentire il passaggio dei dati ad altre applicazioni, da iOS 10, puoi anche impostare UIPasteboardOptionExpirationDate e UIPasteboardOptionLocalOnly (dato che iOS 10 ora condivide gli appunti su tutti i dispositivi registrati nel stesso account iCloud per impostazione predefinita) per cercare di limitare l'esposizione.

    
risposta data 17.03.2017 - 12:21
fonte

Leggi altre domande sui tag