È sicuro trasferire il token di accesso di Facebook tramite TCP?

2

È sicuro trasferire il token di accesso di Facebook tramite TCP? Qual è la cosa peggiore che può accadere se qualcuno ottiene il token?

    
posta AviD 12.12.2011 - 09:03
fonte

2 risposte

4

Dipende da cosa stai cercando di fare e che tipo di connessione TCP stai usando.

Per farla breve, ti darò alcune cose da considerare:

  1. TCP è solo un altro protocollo di trasferimento come HTTP. Se non è criptato, potrebbero succedere cose come le intercettazioni e peggio. Ma dal momento che non stai lanciando la prossima versione di WikiLeaks, potresti essere al sicuro quando trasferisci quel token di accesso in chiaro. Eppure, non sto dicendo che lo raccomando!
  2. Il token di accesso di Facebook è abbastanza sicuro da trasferire se non c'è connessione ad altri dati. Significato: nessuno saprebbe a cosa servirà una stringa casuale di caratteri se non trasferisci dati che mostrano più informazioni accanto al token di accesso stesso.
  3. Il token di accesso è solo una parte di un intero. Il solo fatto di non uccidere l'account Facebook di nessuno.

Come detto: TCP è proprio come FTP, HTTP e tutti gli altri protocolli. Se non è crittografato, le persone possono recuperare e utilizzare le informazioni intercettate più rapidamente. Come risposta rapida alla tua domanda generalizzata, questo dovrebbe soddisfare.

Se ti aspetti un'analisi dei rischi approfondita, noi (le persone che cercano di aiutare rispondendo) dovremmo sapere qualcosa in più sul "Perché TCP e che cosa". Ma alla fine, ti ritroverai con una connessione criptata (TCP o altro) se vuoi essere sicuro al 100% che stai trasmettendo in modo SICURO token di accesso a Facebook da qualche altra parte tranne Facebook. Pensa ad esso come il tuo database MySQL ... non stai memorizzando le password in modo non criptato o sei? Lo stesso vale per la trasmissione di dati sensibili: tienilo al sicuro e crittografare quello che puoi perché non sai mai dove il prossimo script-kid potrebbe essere in agguato per rovinarti la giornata.

Hmmm ...

Perché ho la sensazione che la risposta più breve sarebbe stata un semplice "no" a due lettere?

-

Aggiorna

Come alcuni commenti mostrano che c'è una grande mancanza nella comprensione della sicurezza dei dati, aggiungerò alcune righe.

Alcuni hanno sostenuto che HTTPS esegue la crittografia in-stream. Non è così. HTTPS combina Hypertext Transfer Protocol (HTTP) con protocollo SSL / TLS.

Le trasmissioni HTTPS potrebbero essere crittografate, ma dal punto di vista SICUREZZA, tutto può essere intercettato, crittografato o meno.

Successivamente, alcuni sembrano mischiare HTTPS con il meno usato S-HTTP (Secure HTTP). C'è una grande differenza!

guarda la domanda

La domanda era:

"Is it safe to transfer Facebook access token via TCP? What is the worst that can happen if someone gets the token?"

La risposta è NO , devi usare protocolli sicuri per evitare attacchi di tipo eavesdropping / man-in-the-middle.

Ma supponiamo che l'OP sia intelligente e utilizzi HTTPS come un wrapper crittografico. Con HTTPS potresti evitare di attaccare o attaccare man-in-the-middle, ma non puoi ignorare che un attacco con testo cifrato avrà ancora successo! Per una prima lettura di questo, controlla "LIMITAZIONI di HTTPS" agli attacchi link e "CSS" a link .

Come l'OP ha chiesto del "caso peggiore", la risposta è: "intercettazione della chiave, decrittazione opzionale dei dati intercettati quando viene utilizzato un livello di sicurezza come HTTPS e alla fine potrebbe portare all'abuso del token ".

Ora, se la domanda fosse stata "quanto è probabile che ciò accada", avrei risposto: "praticamente improbabile, ma questo non significa che non possa accadere".

Ma se controlli di nuovo la domanda, scoprirai che non era parte della domanda. Quindi non entrerò in statistiche e calcoli di probabilità qui. Inoltre, ci mancano parti importanti del "come e perché" della trasmissione, quindi nessuno può dare una risposta definitiva in merito alla probabilità. Sarebbe poco professionale, per non dire altro.

altre forme di attacco

Non importa come lo fai - alla fine, tutto ciò che è crittografico non protetto e inviolabile deve ancora essere inventato.

A seconda del paese, possono esserci e ci saranno tutta una serie di ulteriori problemi di sicurezza ... e non sto parlando della Cina! Guarda come Tunesia ha dato un calcio alla sicurezza di FaceBook con qualcosa di così semplice, che dovrebbe farti venire i brividi lungo la schiena: link

guarda di nuovo la domanda

Non prendere le domande sulla sicurezza con leggerezza. Puoi commentare la mia risposta e votarla, ma ciò non renderà più sicura la trasmissione di un token di Facebook via TCP!

Specialmente, poiché l'OP non indica che sta usando alcun tipo di livello di sicurezza, dobbiamo interpretarlo come se il token di FaceBook fosse trasmesso da IP "a" a IP "b" in modo non sicuro!

Una normale trasmissione di dati tramite TCP non è sicura per definizione per diversi motivi, dei quali ho semplicemente graffiato la superficie di alcuni.

Posso solo ripetere: non prendere le domande di sicurezza con leggerezza.

    
risposta data 12.12.2011 - 09:23
fonte
3

No, non è sicuro.

I token di accesso sono piuttosto sensibili . Chiunque conosca il token di accesso per un utente può accedere ai dati dell'utente ed eseguire alcune azioni come utente , fino a quando il token è valido. Ad esempio, chiunque conosca il token di accesso T può accedere ai dati dell'utente accedendo a https://graph.facebook.com/me?access_token=T .

I dettagli di esattamente ciò che il token di accesso può essere usato variano. Un token di accesso viene concesso a un'applicazione quando l'utente autorizza l'applicazione (ad esempio, approva l'installazione dell'applicazione). Quando l'utente autorizza l'applicazione, all'utente viene chiesto di approvare le autorizzazioni richieste dall'app. Il token di accesso da solo concede quindi l'accesso a tali autorizzazioni. Pertanto, un token di accesso è sufficiente per consentire a un cattivo ragazzo di fare tutto ciò che l'app a cui inizialmente è stato concesso il token di accesso era autorizzato a fare. A seconda di quali permessi sono stati concessi all'app, questo potrebbe includere cose come leggere il muro dell'utente, ottenere informazioni sull'utente, trovare informazioni sugli amici dell'utente, postare sul muro dell'utente o cose del genere.

Se si invia il token di accesso tramite una connessione TCP non crittografata, un intercettatore che può catturare il traffico inviato può recuperare il token di accesso e quindi utilizzarlo per accedere ai dati dell'utente o intraprendere azioni per conto dell'utente. Non va bene.

Per questi motivi, dovresti trattare i token di accesso come riservati e non devi mai inviare token di accesso su un canale non crittografato.

Facebook usa sempre HTTPS ogni volta che trasmette un token di accesso. Dovresti fare lo stesso: invia il token di accesso solo su canali criptati, come HTTPS; non inviare mai un token di accesso su canali non criptati.

    
risposta data 25.02.2012 - 07:03
fonte

Leggi altre domande sui tag