Il rilevamento di chiavi di crittografia con codice rigido in applicazioni come DeepSeek comporta una combinazione di ispezione manuale e strumenti automatizzati. Ecco un approccio dettagliato per identificare tali vulnerabilità:
ispezione manuale
1. Revisione del codice: gli sviluppatori dovrebbero rivedere regolarmente la loro base di codice per eventuali valori hardcoded, in particolare durante le fasi di debug. Ciò include l'ispezione dei commenti del codice e della documentazione per informazioni sensibili che potrebbero essere state lasciate nella base di codice.
2. Recensioni di pari: l'implementazione di revisioni tra pari può aiutare a catturare segreti hardcoded all'inizio del ciclo di sviluppo. Questo processo prevede che gli altri sviluppatori ispezionino il codice per potenziali rischi per la sicurezza.
rilevamento automatizzato
1. Strumenti di analisi del codice statico: utilizzare strumenti come la scansione rapida di Black Duck, che può analizzare il codice sorgente per segreti incorporati e informazioni sensibili. Questi strumenti possono rilevare automaticamente i segreti con codice hard su vari tipi e formati di file.
2. Strumenti di analisi binaria: strumenti come Black Duck Binary Analysis (BDBA) possono scansionare i prodotti di spedizione finali o i contenuti del contenitore per trovare segreti in binari e archivi. Ciò è particolarmente utile per rilevare i tasti hardcoded nelle applicazioni compilate.
3. Strumenti open source: strumenti di leva finanziaria come Frida per la strumentazione dinamica e l'analisi delle funzioni di app in fase di esecuzione. Frida può essere utilizzata per agganciarsi alle funzioni crittografiche e verificare se le chiavi di crittografia sono codificate.
4. Scanner segreti: utilizzare strumenti come TruffleHog per scansionare le basi di codice per i segreti con codice hard. Questi strumenti sono progettati per identificare i modelli che corrispondono a tipi segreti comuni, come chiavi API o chiavi di crittografia.
tecniche specifiche per DeepSeek
Date le vulnerabilità specifiche identificate in DeepSeek, come l'uso di algoritmi di crittografia simmetrici insicuri (3DE) e chiavi codificate, è possibile applicare le seguenti tecniche:
- Reverse Engineering: utilizzare strumenti come RADARE2 per invertire l'ingegnere l'app e identificare i parametri di crittografia, inclusi chiavi con codice rigido e vettori di inizializzazione.
- Analisi dinamica: impiegare Frida per agganciarsi alle funzioni di crittografia dell'app e verificare la presenza di chiavi con codice rigido. Ciò comporta la traccia di chiamate CCCrypt per determinare quali dati vengono crittografati e decrittografati.
Combinando questi metodi, gli sviluppatori e i ricercatori della sicurezza possono rilevare efficacemente le chiavi di crittografia con codice rigido in applicazioni come DeepSeek, garantendo migliori pratiche di sicurezza e proteggendo i dati degli utenti.
Citazioni:
[1] https://www.nownecure.com/blog/2025/02/06/nowsecure-uncovers-multiple-security-and-privacy-flaws-in-deepseek-ios-mobile-app/
[2] https://www.blackduck.com/blog/finding-hard-coded-secrets-before-you-suffer-a-breach.html
[3] https://www.bardeen.ai/answers/deepseek-data-privacy-and-security
[4] https://trufflesecurity.com/blog/research-finds-12-000-live-api-keys-e --passwords-in-deepseek-s-training-data
[5] https://blog.ostorlab.co/hardcoded-secrets.html
[6] https://fpt-is.com/en/insights/deepseek-and-the dangers-no-one-tells/
[7] https://securityscorecard.com/blog/a-deep-peek-at-deepseek/
[8] https://blog.codacy.com/hard-coded-ecrets
[9] https://www.bankinfosecurity.com/security-researchers-warn-new-rew-inks-in-deepseek-app-a-27486