2012-08-12 12 views

risposta

3

Ebbene sì. Trattenere in modo intrinseco qualcosa significa che c'è più possibilità di qualcuno che non dovrebbe ottenerlo, ottenerlo. Se è sensibile, allora è un pericolo introdotto di recente.

Le due domande pertinenti sono:

  1. Quante probabilità ci sono di essere trapelato.
  2. Quanto è sensibile questo.

Non è molto probabile che venga memorizzato qualcosa nella cache, ma è possibile.

Qualcosa nella cache memorizzato e accessibile tramite una sessione o un cookie è più probabile che venga trapelato (dirottare la sessione o il cookie, rispettivamente).

Qualcosa nella cache di un database è più probabile che sia trapelato (è più facile rubare un file che un dump della memoria).

Prendere per un esempio del mondo reale, siti Web che dispongono di un'opzione "ricordami". Questo fa e molti siti social fanno. Aumenta il rischio che qualcuno possa ottenere i dati necessari per impersonare te, ma in realtà il peggio che ciò potrebbe significare è andare in giro con lo spamming fino a quando il tuo account non sarà bannato - fastidioso ma non alla fine del mondo.

La maggior parte dei siti bancari non dispone di un'opzione "ricordami". Il rischio di perdita è altrettanto basso (anzi inferiore se insistono che confermi prima di determinate operazioni), ma il valore dei dati equivalenti è molto più alto e il rischio non è più accettabile.

Modifica: una cosa importante da notare nell'esempio che do. I siti che "ti ricordano" lo fanno ricordando in qualche modo che sei loggato, non l'utente/passaggio necessario per farlo (siti come questo che usano OpenID non vedono nemmeno un utente/passaggio). Se ti ricordi di un utente/passato rischi di perdere un utente/pass utilizzato in molti siti, piuttosto che rischiare di consentire a qualcuno di accedere solo al tuo sito, quindi il rischio è molto più alto.

1

Dipende da ciò che si fa con esso. I dati sono conservati nella memoria del server web. Non ci sarebbe alcun modo per accedere a questi dati, a meno che tu non abbia scritto un modo per farlo, o che l'autore dell'attacco abbia avuto accesso al tuo codice sorgente & accesso in scrittura all'app web.

+0

Una volta che un utente è autenticato, invece di avere 10 sessioni, come sessione ("username"), sessione ("dept"), ecc .; suggerisci di aggiungere un oggetto alla cache con tutti e 10 gli attributi? Ad esempio, ho un metodo: Sub [Set] (chiave As String, data As Object, minutesToCache As CacheTimes) – JoshYates1980

2

Come da schema di Microsoft & pratiche questo ciò che suggeriscono

Do not cache sensitive data

Se il metodo di servizio contiene dati sensibili, come ad esempio un password, numero di carta di credito, o lo stato del conto, si non dovrebbe essere memorizzato nella cache. Se i dati sensibili sono memorizzati nella cache sul computer client, ha implicazioni di sicurezza serie perché lascia i dati interessanti disponibili per gli utenti malintenzionati.

eseguire le seguenti misure per garantire che i dati sensibili non è cache:

operazioni di verifica per i dati sensibili. Rivedi tutte le tue operazioni per l'utilizzo di dati sensibili. Questo può includere ma non è limitato a: Informazioni che contengono informazioni identificative personali (PII) o possono essere utilizzate per derivare PII che non devono essere condivise con gli utenti Informazioni che un utente fornisce che non vorrebbero condivise utenti dell'applicazione Informazioni provenienti da una fonte attendibile esterna che non è progettata per essere condivisa con gli utenti Rivedere le operazioni per la memorizzazione nella cache dei dati riservati. Controlla in che modo ciascuna operazione gestisce i dati sensibili e assicura che non sia memorizzata nella cache. Ci sono tre modelli di sensibili caching di dati che è possibile rivedere per: Personalizzata codice caching come l'uso di un dizionario o SortedList oggetto uso della cache ASP.NET tramite System.Web.Caching.Cache. L'utilizzo di un blocco di cache Enterprise Library

+0

Voglio memorizzare nella cache guid key e user mail per identificare l'utente come rimanere login ma chiuso la pagina web, quindi quando aprirà il mio sito effettuerà l'accesso automatico. questi dati sono sensibili perché se qualcuno ha questa chiave e la posta può accedere a questo account. Quindi è ragionevole memorizzare questo tipo di dati nella cache? Grazie –

0

tendo a memorizzare nella cache i dati crittografati e fare solo la decrittografia al momento della richiesta. Finalmente azzerando la memoria.

Indovina se è stato lasciato in memoria, in testo normale, non sarebbe troppo difficile per un utente malintenzionato risolvere il problema da un dump della memoria.

Problemi correlati