Come divulgare responsabilmente una vulnerabilità in un algoritmo diffuso?

4

Per essere chiari, è puramente ipotetico.

Ieri sono stato colpito alla testa con alcuni mattoncini e, nella confusione di commozioni cerebrali, ho scoperto un attacco preimage perfetto su SHA2. Per ogni dato hash, posso trovare immediatamente un valore che lo hash. Voglio rivelare questo responsabilmente.

Poiché si tratta di un algoritmo e non di un programma, non c'è nessuno che possa applicarlo in un periodo di prova. E poiché si tratta di un algoritmo diffuso, non posso semplicemente contattare alcune persone e dirgli di passare a un'altra funzione di hash. Cosa dovrei fare?

    
posta Hovercouch 24.03.2018 - 05:46
fonte

1 risposta

1

Il periodo di grazia è proporzionale alla complessità e al tempo necessario per porre rimedio alla vulnerabilità. Ad esempio, prendi questo thread su segnalazione di una vulnerabilità alla sicurezza di un'autorità di certificazione attendibile , un problema piuttosto serio con conseguenze di vasta portata. Un poster spiega bene il protocollo di reporting:

The rules of responsible disclosure, as decribed here, say that you should contact the vendor and negotiate a period of time - between 1 week and 6 months, depending on the depth of the changes required - in which they can implement a patch, revoke and re-issue certificates, publish security bulletins, etc, before you go public with your findings. The intention is that at the end of the negotiated period you get your public recognition, but your going public can't do any more harm - if the vendor has done their job properly.

Immagino, nel tuo scenario, che il venditore vulnerabile possa (si spera) inoltrare le informazioni agli altri. Potresti anche contattare CERT , che ha fiducia e ha esperienza nell'affrontare tali argomenti su larga scala. In un simile thread al uno che ho linkato sopra, c'è questo:

You should let the developer(s) know privately so that they have a chance to fix it. After that, if and when you go public with the vulnerability, you should allow the developer enough time to fix the problem and whoever is exposed to it enough time to upgrade their systems. Personally, I would allow the developer to make the announcement in a security bulletin in most cases rather than announcing it myself.

Probabilmente possiamo essere d'accordo sul fatto che sarebbe una cattiva idea renderla pubblica immediatamente, perché ciò lascerebbe la porta aperta allo sfruttamento. Quindi informarli privatamente è il modo migliore per andare. Nel frattempo, probabilmente l'avrebbero riparato, aggiornato o passato a qualcos'altro. Quali altre opzioni ragionevoli ci sono?

Infine, ci sono casi reali di vulnerabilità crittografiche, e quegli algoritmi erano largamente usati. Un esempio è Dual_EC_DRBG , un algoritmo basato su una curva ellittica, che è stato utilizzato per un certo periodo di tempo prima di essere revocato a causa di problemi di sicurezza. Mi sono istruito su questo thread .

    
risposta data 24.03.2018 - 07:04
fonte

Leggi altre domande sui tag