Domanda:
È legale violare gli hash MD5?
guest
2020-02-24 22:15:35 UTC
view on stackexchange narkive permalink

Ho visto un sito web che comporta problemi di programmazione. Un problema richiede di scrivere un programma che trovi una stringa a cui viene fornito l'hash MD5.

È criminale decifrare l'hash MD5 trovando quelle stringhe?

Ciò che conta come "criminale" varierà ampiamente a seconda della giurisdizione - senza specificarlo, le risposte non saranno rilevanti.
Nota che trovare una stringa che genererebbe un determinato valore hash è il modo in cui funziona Bitcoin. Nelle criptovalute si chiama mining
@Riot, la domanda può essere generalizzata a: * È illegale in qualsiasi giurisdizione? *
Usare MD5 per qualcosa di diverso dal checksum è il vero crimine.
Se uno strumento che calcola molti hash MD5 è illegale, uno strumento che calcola un hash deve essere illegale, perché chiunque potrebbe semplicemente utilizzare quello strumento più volte.
@MechMK1: Questa è una risposta basata sulla scienza, non una risposta legale. Letteralmente, la legge non funziona così. Chiedere a qualcuno un appuntamento va bene; farlo cento volte è stalking.
@MSalters Sì, anche se coinvolgi le persone lì. Lo "stato" di una persona cambia quando gli chiedi di uscire, quindi il centesimo tentativo è diverso dal primo. Gli hash MD5 non funzionano in questo modo. Anche se sì, sono d'accordo, non è una risposta legale, motivo per cui viene pubblicata come commento e non come risposta.
@slebetman: In altre parole, "se solo ..." ;-)
Indipendentemente dalla legalità, come dimostrerebbe qualcuno che lo ha fatto? le questioni legali riguardano la prova, se non crei la prova, non c'è causa legale. forse hai intenzione di commercializzare software che fa questo. quindi è soggetto a leggi e il programma ne sarebbe una prova.
@j0h quindi ... "Non se riesci a farla franca!"
Come potrebbe essere illegale risolvere scoprire le stringhe causali che si traducono in hash md5. Mi sembra solo un esercizio di matematica. Non più illegale di dire lanciare un pezzo di metallo. Ora, se stai lanciando un'ascia da battaglia nel petto di qualcuno, allora è illegale. Ma l'atto di lanciarsi non è il crimine più dell'atto di calcolare la fonte di un dato MD5. Il crimine sarebbe nell'intento e nei risultati. Non fraintendere "non è illegale" con "nessun atto che lo comporti è illegale".
Tre risposte:
Iñaki Viggers
2020-02-24 22:55:30 UTC
view on stackexchange narkive permalink

È criminale trovare stringhe di cui si conosce l'hash MD5?

No, a meno che il metodo o lo scopo non implichi l'accesso (o il tentativo di ottenere) l'accesso non autorizzato al computer di altri sistemi o reti o danneggiandoli.

Ciò si applica indipendentemente dal fatto che si programma un algoritmo di forza bruta piuttosto o che si interroghi un database pubblico [online] che memorizza gli hash inversi.

@MikeScott "* non dovrebbe essere risposto senza tale specifica *". Diverse questioni di diritto subiscono uno sviluppo molto simile in molte giurisdizioni. La domanda dell'OP tocca una di queste questioni. Le società moderne sono sempre più interconnesse e la conseguente consapevolezza di come le questioni sono legiferate altrove fornisce argomenti più forti / più per attuare disposizioni simili rispetto a se le società vivessero in isolamento. Per quanto riguarda dove l'hashing inverso "potrebbe" essere un reato capitale, si dovrebbe prima valutare se una tecnologia seria sarebbe anche fattibile in una giurisdizione ipotetica che detiene tali punti di vista punitivi.
Philipp
2020-02-24 23:22:24 UTC
view on stackexchange narkive permalink

Il codice penale tedesco prevede la sezione 202c "Atti preparatori allo spionaggio di dati e al phishing", che rende illegale la produzione (nonché il commercio, il possesso, la fornitura, ecc.) di software destinato a commettere crimini informatici. Quindi il semplice atto di creare un tale programma può essere un atto criminale in Germania.

Tuttavia, la corte costituzionale tedesca ha stabilito nel 2009 che questa legge dovrebbe essere applicata solo se è la prova che il programma era effettivamente inteso per commettere un crimine (come violare un database di password e quindi utilizzare quelle password per l'accesso non autorizzato ai dati):

Un'ulteriore restrizione deriva dal fatto che il reato contro Deve avvenire la preparazione di un crimine informatico. Il fattore decisivo è che l'autore abbia previsto il crimine informatico suo o di qualcun altro. Questo non è il caso se il programma viene prodotto, acquisito o reso disponibile a qualcun altro, ad esempio ai fini di audit di sicurezza, lo sviluppo di software di sicurezza o per scopi di formazione nel settore della sicurezza IT.

La mia traduzione:

Un'altra limitazione è che l'atto deve essere in preparazione di un crimine informatico. È essenziale che l'autore del reato si aspetti che venga commesso un crimine proprio o di terzi. Questo non è il caso se il programma è stato creato, ottenuto o fornito, ad esempio, per lo sviluppo di software di sicurezza o per uso didattico nel settore della sicurezza IT.

Quindi uno potrebbe farla franca se riescono a convincere il giudice che hanno creato e utilizzato il programma solo per scopi educativi.

Quella legge tedesca (prima che la giurisprudenza la perfezionasse) era folle. In base alla lettera di quella legge, molti strumenti di rete che sono parti normali di qualsiasi sistema operativo moderno (come il comando ping) sono stati ciminalizzati, perché potrebbero essere potenzialmente utilizzati per attaccare (ad esempio ping of death). In linea di principio, chiunque avesse un computer o uno smartphone violava tale legge. Solo successivamente (nel 2009) è stato incluso l'intento dell'utente di tale software. (Il che ha molto più senso: un martello può essere usato per uccidere qualcuno. Questo non rende tutti i falegnami criminali.)
Mi ricorda [* furtum usus *] (https://de.wikipedia.org/wiki/Gebrauchsanma%C3%9Fung): essenzialmente prendere in prestito qualcosa senza permesso, ma con l'intento di restituirlo. * Furtum usus * non è punibile in Germania, ma di solito il problema è dimostrare che hai sempre inteso restituirlo. I tribunali in genere rifiutano questo argomento dai ladri. L'ho fatto una volta quando la mia tessera della biblioteca era scaduta e ho preso il libro comunque perché ne avevo bisogno per l'esame CS. (Mi sono laureato.) Il bibliotecario aveva i miei dati personali e ho detto "ci vediamo tra poche ore". Non è un furto.
La traduzione in inglese di quella legge mi suggerisce che non è necessario convincere il giudice che stavi creando e utilizzando il programma solo per scopi educativi. Non è più vicino a dire che i pubblici ministeri devono convincere il giudice che lo stavi usando per un crimine? Queste sono cose abbastanza diverse, ea quanto pare hai confuso l'onere della prova, a meno che non si trattasse solo di un problema di traduzione.
@JMac È corretto, l'onere della prova è sugli accusatori.
@Tonny Anche la prima versione della legge aveva l'intento di possedere il software in preparazione di (altre) attività illegali al suo interno. È positivo che il BVerfG abbia enfatizzato questa parte, ma quella è sempre stata parte di ciò che l'accusa avrebbe dovuto dimostrare.
@ChristopherCreutzig Dato che lavoro nell'IT per un'azienda parzialmente tedesca, allora avevo motivo di rivedere quella legge insieme al nostro team legale. Abbiamo concluso tutti che l'intento della legge era ovvio, ma la formulazione era abbastanza vaga da non dirlo effettivamente. E così potrebbe essere interpretato da un pubblico ministero nel peggior modo possibile. E questo è accaduto davvero: è stato spesso usato come un costo aggiuntivo applicato praticamente a chiunque fosse accusato di un crimine informatico. Ciò si è interrotto nel 2009 quando un caso del genere è finalmente arrivato alla Corte costituzionale e la Corte ha chiarito questo aspetto.
@Tonny Non ho intenzione di affermare che i legislatori fanno un buon lavoro nel formulare la legge, e non volevo sostenere che i pubblici ministeri facessero sempre ciò che doveva essere fatto. Applicare accuse extra, anche se non hanno davvero una possibilità in tribunale, è sfortunatamente normale per * alcune * delle persone a cui addebitiamo il rispetto della legge. Per quanto posso vedere, il testo iniziava sempre con " Wer eine Straftat nach § 202a o § 202b vorbereitet, indem er ... "(la mia traduzione:" Quelli che preparano un crimine ai sensi del § 202a o § 202b di ... "), e ciò rende la preparazione di un altro crimine parte di ciò che deve essere provato.
"software __inteso__ per commettere crimini informatici" se, come suggerisce la storia citata, _intent_ in Germania significa qualcosa di simile a ciò che significa nei paesi di lingua inglese con radici di common law, il semplice atto di creare un programma del genere non potrebbe mai essere un crimine. Non che questo precluda costosi e rovinosi (per gli imputati) tentativi di provare il contrario.
dm76752
2020-03-06 04:31:59 UTC
view on stackexchange narkive permalink

Non può essere criminale, perché molte persone tentano di farlo come professione.

Chiunque metta alla prova la sicurezza dei sistemi software o indaga sulle vulnerabilità lo fa e ottiene un buon stipendio per questo. Tutte le tecnologie di crittografia che ora sono considerate non sicure sono state testate in questo modo.

La domanda originale era: "È illegale scrivere codice che decifra una stringa crittografata e pubblicare il codice? E la mia risposta è che non può essere illegale. Ogni ricercatore di sicurezza nel mondo sta cercando di controllare i sistemi esistenti, anche quelli basati sulla crittografia, per i punti deboli e, naturalmente, sviluppano metodi per aggirare questa crittografia e pubblicare i risultati.


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 4.0 con cui è distribuito.
Loading...