Motivo per non implementare i propri algoritmi / implementazioni [duplicato]

1

Ho capito che le persone non vogliono incoraggiare altre persone a implementare i propri algoritmi / implementazioni di algoritmi a causa di problemi di sicurezza. D'altra parte, le domande sulla creazione della propria implementazione vengono immediatamente "chiuse" con le parole "il primo problema è: la stai implementando tu stesso". Come si può essere in grado di imparare di più sulla sicurezza se non implementare tali cose da sé e imparare dai suoi difetti?!

Mi manca un punto in tutto questo "non dovresti creare la tua implementazione di un algoritmo di sicurezza esistente"?

    
posta user4139197 30.06.2018 - 15:33
fonte

2 risposte

2

No, non importa. Ogni algoritmo che usiamo oggi è stato implementato da qualcuno e quindi è diventato uno standard. Il motivo per cui non è usato come pratica è:

  1. Sicurezza. Un nuovo metodo di hashing / crittografia / qualsiasi cosa abbia bisogno di molto tempo per essere testato a fondo, o addirittura essere ulteriormente sviluppato. Non è sicuro lanciare qualcosa di nuovo in un'istanza se non puoi dimostrare la sua sicurezza contro la crittanalisi.
  2. Compatibilità. Supponiamo che tu sia un'azienda proprietaria di informazioni di credito / debito e tu collabori con sistemi bancari o infrastrutture di governance attraverso DMZ e altri tipi di meccanismi come questo. Il tuo modo di fare hashing / crittografare / qualsiasi informazione è totalmente diversa da quella usata dal resto del mondo, rendendo così molto difficile lo scambio di informazioni quando e dove necessario.

Ci sono un sacco di algoritmi fantastici, nuovi, veloci e impenetrabili, sviluppati da aziende, organizzazioni, dottori di ricerca, sperando che diventino uno standard un giorno. Ma dal momento che tutte le nostre infrastrutture oggi si basano su cose che hanno dimostrato di funzionare, andare dall'altra parte è un rischio che ti prendi alle spalle, tutto da solo.

    
risposta data 30.06.2018 - 15:57
fonte
0

How can one be able to learn more about security if not implementing such things himself and learning from his faults ?!

Certo, provare a implementarlo è un buon modo per imparare, ma solo se lo si confronta per testare e ispezionare da esperti e dichiararlo come tale , senza tentare di usarlo effettivamente in produzione.

Il grosso problema qui è che "l'esperienza di apprendimento" può accadere solo dopo che ti sei attaccato con successo. (puoi credere di aver imparato qualcosa mentre hai appena imparato a creare grandi falle nella sicurezza per la tua azienda)

Molte persone potrebbero semplicemente non rendersi conto di essere l'ennesimo ragazzo intelligente che pensa "hey, dovrei implementare questo algoritmo, imparerò e poi avrò alcune funzioni utili da riutilizzare, è molto più semplice di aggiungere quelle grandi librerie che sembrano troppo complicate per quello che voglio ".

In generale, "reinventare la ruota" è interessante come esperienza di apprendimento, purché rimanga nella sandbox , e / o sia rivisto dagli esperti tanto quanto ciò che è in gioco richiede .

Se implementi un algoritmo di ordinamento un po 'male, allora ciò che rischi di solito è creare un'app di scarsa qualità o anche potrebbe avere un bug che porti a un problema di sicurezza. (Tieni presente che il problema di prestazioni potrebbe essere catastrofico se il tuo cliente ne dipende, forse persino quanto una violazione della sicurezza potrebbe essere)

Se implementi un algoritmo crittografico male allora probabilmente avrà una violazione della sicurezza. E le persone che lo fanno individualmente hanno una probabilità molto elevata di implementare la crittografia in modo sbagliato. E questo è spesso molto problematico per qualsiasi cliente (e te stesso)

TLDR;

L'uso dei tuoi criptocattoli sandbox nel mondo reale potrebbe avere conseguenze molto spiacevoli per i tuoi clienti.

Sì, puoi imparare da esso, ma è meglio avvisare tutti quelli che sembrano non informati che non dovresti giocare con crypto in produzione.

    
risposta data 30.06.2018 - 16:03
fonte

Leggi altre domande sui tag