Rivelare correttamente le carenze di sicurezza dell'API privata

4

Spero di riuscire a orientarmi sul modo corretto di divulgare correttamente le mancanze gravi con un'API di servizi web privata (fonte chiusa).

Inizialmente pensavo che l'API sarebbe stata relativamente ben implementata, quindi ho deciso di sniffare il traffico con Wireshark, con l'intento di decodificarlo in primo luogo per la sfida e in secondo luogo sperarlo di implementarlo in un altro prodotto su cui sto lavorando (aperto fonte).

Ciò che ho scoperto chiaramente mi ha fatto orrore, ci sono problemi di implementazione major che lasciano i dettagli di username / password in testo chiaro sul filo (come esempio di un solo problema).

Il programma non è ampiamente utilizzato, tuttavia il demografico dell'utente a cui fa riferimento potrebbe essere probabilmente quello in cui verrebbe spesso utilizzata una password "preziosa" e, in quanto tale, ritengo che in qualche modo l'autore debba affrontarlo.

Naturalmente, e anche se ciò ostacolerebbe i miei sforzi di integrazione con l'API se l'autore risolve i problemi, desidero comunicarlo prima all'autore e poi al pubblico, nell'interesse di risolvere i problemi. Per raggiungere questi obiettivi, presumo che dovrei seguire le procedure di divulgazione responsabile .

Questo prodotto ha alcuni clienti paganti, tuttavia io non sono uno di questi e uso solo la versione gratuita.

Per quanto mi riguarda, dovrei procedere come segue:

  1. Contatta l'autore (i) in privato, descrivendo i problemi rilevati con i rischi e le opzioni di mitigazione per ciascuno.
  2. Determina un intervallo di tempo adeguato per l'applicazione dei problemi e il rilascio delle correzioni con l'autore del programma.
  3. Una volta scaduto il tempo limite, rilascerò i dettagli dei problemi e la prova del codice concettuale.

Alcune preoccupazioni che ho comunque sono:

  1. Qual è il modo migliore per trasmettere il messaggio che non sto cercando alcun tipo di guadagno finanziario e che questo non è personale e non è destinato a danneggiare il prodotto o l'azienda?
  2. Cosa succede se, nonostante i migliori sforzi, l'autore del prodotto decide di diventare "legale" per cercare di nascondere i problemi? (Certo che probabilmente non sono avvocati, i consigli saranno solo di orientamento generale).
  3. Che cos'è un meccanismo di rilascio valido per il rilascio dei dettagli? Vedo annunci di questo tipo sulla mailing list di Full Disclosure spesso; questo è generalmente considerato un posto adatto per questi?
  4. Ciò richiederebbe l'applicazione di un numero CVE per i problemi riscontrati?
  5. Poiché potenzialmente vorrei entrare nel campo della sicurezza delle informazioni a tempo pieno in futuro, dovrei usare un nome personale sulla divulgazione? O questo mi espone a potenziali problemi legali?
posta j-sec 11.01.2016 - 05:35
fonte

3 risposte

2

1) Segnala il problema. Non dire nemmeno "Non sto cercando di estorcermi".

2) Un modo per evitare completamente i problemi legali è quello di segnalare in modo anonimo. Crea un account webmail usando ToR e fai tutte le comunicazioni attraverso questo. È triste che dobbiamo considerare questo, ma i problemi legali possono causare grossi problemi, anche se non hai violato la legge.

3) Il percorso di divulgazione più ufficiale è [email protected]. Organizzazioni come CERT e Secunia la prenderanno da lì. Generalmente il venditore pubblicherà il proprio advisory; la tua consulenza è come un post sul blog che vorresti promuovere: Twitter, Reddit, ecc.

4) Richiedere un numero CVE ad un certo punto prima di rilasciare l'avviso. È facile ottenerne uno e devi solo rivelare i dettagli del profilo della vulnerabilità.

5) Se il problema viene risolto e il venditore è costruttivo, puoi sollevare il tuo anonimato. Puntare agli avvisi che hai pubblicato è molto utile per l'impiego tecnico di infosec.

Un'altra cosa: ti suggerisco di non visualizzare inizialmente le linee temporali. Fallo solo se sembrano eccessivamente lenti.

    
risposta data 11.01.2016 - 14:27
fonte
1

Basandosi esclusivamente su come hai scritto una domanda qui, sembra ovvio che tu abbia le migliori intenzioni nel farlo e che sei abbastanza capace di chiarire queste intenzioni in forma scritta. Basta indicare le tue motivazioni in modo semplice e rispettoso, come hai fatto qui, e qualsiasi editore seriamente impegnato nel suo prodotto dovrebbe prendere sul serio anche il tuo messaggio.

Alcuni punti generali da tenere a mente per questo tipo di cose:

Chiedi la persona giusta con cui parlare prima di menzionare qualsiasi dettaglio.
Vuoi trasmettere le tue informazioni a un architetto o sviluppatore rilevante, o forse a un manager che abbia abbastanza conoscenze tecniche per capire correttamente il problema e chi comprenderà anche la necessità di mantenere un coperchio sul problema fino a quando non verrà risolto. Potrebbe essere necessario un po 'di tempo (?) Per ottenere l'accesso alla persona con cui hai bisogno di parlare, ma sono certo che questa persona apprezzerà lo sforzo.

Sii rispettoso Non tutti rispondono ugualmente bene a ciò che può essere interpretato sia come critica che come possibile minaccia (di divulgazione pubblica). Ricorda che è probabile che ci sia un certo orgoglio coinvolto. È inoltre del tutto possibile che gli sviluppatori siano pienamente consapevoli del problema, ma che le priorità non siano abbastanza elevate, o che considerino semplicemente un abuso improbabile, e lo abbiano finora ignorato. In entrambi i casi, è più probabile che tu abbia successo se ti presenti come una persona simpatica e sinceramente utile (che, come ho già notato in precedenza, lo fai). Spero che questo ti aiuterà a evitare la domanda 2 del tutto (non riesco a immaginare uno sviluppatore che voglia mai coinvolgere un avvocato in un problema come questo a meno che non si senta in dovere di farlo).

Detto questo, assicurati che capiscano che sei serio e che vuoi vedere risolto il problema.

Richiesta di un identificativo CVE
Non ho familiarità con i requisiti per ottenere un ID CVE o quanto pertinente sarebbe nel tuo caso specifico. Forse puoi trovare alcune informazioni utili nelle FAQ di mitre.org ? Puoi trovare informazioni sulla procedura di candidatura stessa dallo stesso sito . Fare attenzione quando menziono questo, per non sembrare troppo aggressivo o minaccioso nei confronti dell'editore.

    
risposta data 11.01.2016 - 13:09
fonte
1

Durante il tentativo di implementare alcune funzionalità relative al tuo prodotto {nome prodotto}, ho notato qualcosa che potrebbe potenzialmente avere una vulnerabilità di sicurezza. Sarebbe possibile parlare con qualcuno riguardo questo problema, che si riferisce a {divulgazione di informazioni sensibili / potenziale rifiuto di servizio / invasioni aliene accidentali}. A causa della natura di questo problema, preferirei rivelare tutti i dettagli a un membro del personale tecnico.

Grazie,

{finder}

  • È opportuno concordare con loro un tempo ragionevole di divulgazione, non imposto su di essi - alcune società hanno pubblicato tempi di divulgazione (ad esempio 90 giorni), ma altri potrebbero avere cicli di rilascio fissi o dipendenze da terze parti (ad esempio, Apple impiega un po 'per ottenere cose attraverso il processo di invio dell'app store, quindi potrebbero essere in grado di risolverlo domani, ma non saranno pubblicate fino al prossimo mese)
  • Fornisci PoC su richiesta o una volta che parli per correggere la persona. Questo dovrebbe evitare di imbattersi come dopo un premio.
  • Se diventano "legali", assicurati di poter dimostrare di non aver fatto nulla di illegale. Ad esempio, hai tutto il diritto di guardare il traffico sulla tua rete, anche se è stato generato da un'applicazione che non hai scritto. Il tentativo di nascondere i problemi tende a suggerire che gli sviluppatori non si preoccupano realmente della sicurezza dei propri utenti - prima o poi qualcuno meno scrupoloso sfrutterà il problema. Nulla di ciò che puoi fare se non sono disposti a ordinarlo, oltre a mettere in guardia (di fatto) altri potenziali utenti attraverso mezzi come gli elenchi di divulgazione.
risposta data 11.01.2016 - 13:25
fonte

Leggi altre domande sui tag