Quanto è sicuro i domini CORS whitelist di github?

1

L'API Github consente di effettuare richieste utilizzando CORS [ 1 ]. Le richieste CORS sono consentite solo da alcuni domini autorizzati:

Any domain that is registered as an OAuth Application is accepted.

Osservo quanto segue:

  1. La lista bianca dei domini è completamente arbitary. Chiunque può installare un'applicazione github oauth per qualsiasi dominio. [ 2 ], senza alcun tipo di verifica del dominio in atto. Ciò significa che cose come localhost , dropbox.com sono già inserite nella whitelist.
  2. La whitelist perde ogni senso per una persona con un intento malevolo, dal momento che può semplicemente falsificare le intestazioni Origin per qualsiasi app / dominio.

La Guida alla sicurezza HTML5 presenta i seguenti punti sulla sicurezza CORS: [ 3 ]

  1. Un utente malintenzionato potrebbe utilizzare Javascript con richieste CORS per far sì che gli attacchi sembrino provenire dalla vittima. (Punto 3 in Universal Allow).
  2. Una certa quantità di fiducia viene inserita nell'intestazione di origine.

    There is a certain amount of trust placed on the Origin’ header. If the basis of this trust is not fully understood then it is possible to make mistakes. The Origin’ header only indicates that the request is from a particular domain, it does not guarantee this fact. The request could actually be from a Perl script which spoofs the Origin header.

  3.   
  Nel caso di github:
  1. Una persona deve registrare un dominio (o utilizzare domini già autorizzati come dropbox.com) per far funzionare le richieste CORS. Ciò potrebbe ancora portare a uno scenario di attacco "pure html" .
  2. Tutte le API di github sono già disponibili tramite JSONP [ 4 ]. Anche non autenticato, il che significa che l'attacco "puro html" potrebbe avvenire in ogni caso.

La mia domanda è: Github guadagna qualcosa (da un punto di sicurezza) con la whitelisting dei domini (per l'accesso API) o è solo un senso di sicurezza mal riposto?

    
posta Nemo 15.07.2012 - 03:06
fonte

1 risposta

1

Consentire a qualsiasi dominio CORS l'accesso all'API di GitHub non rappresenta un grosso problema di sicurezza.

GitHub vuole il pieno controllo su chi ha accesso alle loro API. Il primo passo è che devi contattare GitHub per essere aggiunto alla whitelist delle API CORS:

Please contact us to request white listed access for your application. We prefer sites that setup OAuth applications for their users.

Ciò consente a GitHub di applicare questa parte dei Termini di servizio :

Abuse or excessively frequent requests to GitHub via the API may result in the temporary or permanent suspension of your account’s access to the API. GitHub, in its sole discretion, will determine abuse or excessive usage of the API. GitHub will make a reasonable attempt via email to warn the account owner prior to suspension.

GitHub reserves the right at any time to modify or discontinue, temporarily or permanently, your access to the API (or any part thereof) with or without notice.

    
risposta data 15.07.2012 - 07:11
fonte

Leggi altre domande sui tag