Ho parlato di chiavetta USB ma sono dei token crittografici, insomma delle
Smartcard con API PKCS#11 per la firma/autenticazione/cifratura.

Ma questa applicazione è un fat client o una web app? Perché se è un fat
client lo scenario che fai, a meno di non avere un DB che supporti
anch'esso il PKCS#11 per l'autenticazione, è ragionevole (cioè te la
intercettano). Se invece hai una web app con autenticazione PKCS#11 non
intercettano un bel niente sempre che la web app e il DB siano in un posto
presidiato e acceduti solo dagli amministratori.

ciao

roberto


Il giorno 16 marzo 2016 13:15, Federico Scrinzi <[email protected]> ha scritto:

> Cosa cambia se l'autenticazione è in una chiavetta super sicura se poi le
> credenziali lasciano la chiavetta per raggiungere il programma che si
> connette al DB? Posso sempre intercettare la password, connettermi al DB e
> lanciare le query che voglio. Implementare controlli di sicurezza nel
> client non ha senso e non è fixabile con nessuna chiavetta.
>
> O ho capito male quello che intendi?
>
> On March 15, 2016 6:01:42 AM GMT+00:00, Roberto Battistoni <
> [email protected]> wrote:
>
>> Siamo alle solite. Alla fine c’è sempre una password storata nel codice per 
>> superare delle difficoltà organizzative lato security (aka costringere gli 
>> utenti ad utilizzare una loro pwd etc. etc.).
>>
>> Comunque qualsiasi sia il metodo di obfuscation che usi, con un debugger, 
>> eseguendo passo passo l’applicazione, riesci a “scovare” la password finale. 
>> Quindi ti puoi inventare il mondo, ma se “laqualunque" ha accesso (pieno) a 
>> quel PC sei comunque nei guai.
>>
>> Però, visto che lo faccio anche io perché poi alla fine è più importante far 
>> “girare” le cose che tenerle spente perché insicure, mi viene in mente che 
>> potresti fare un processo watchdog esterno che ogni tot mesi/gg (decidi tu), 
>> killa l’applicazione, fa il download da un tuo sito trusted e aggiorna 
>> l’applicazione con una “nuova” versione con nuova password storata inside. 
>> Se la pwd ti serve per accedere al DB che sarà da un’altra parte e quindi 
>> raggiungibile
>> anch’esso in remoto, dovrai cambiare in modo sincrono la pwd anche qui.
>>
>> Più complicato il giro, ma almeno hai una rotazione della credenziale che 
>> costringe a far rifare il giro ai cattivoni di turno.
>>
>> Ma usare una chiavetta USB con a bordo un certificato con chiave privata per 
>> l’autenticazione? Consegnare una procedura in cui la chiavetta va richiesta 
>> ad un responsabile che ne tiene traccia? Troppo complesso per il tuo 
>> ambiente? Potresti comunque proporlo come alternativa. Se non te lo 
>> accettano e ti avallano la pwd storata nel codice allora se la saranno 
>> cercata…a buon intenditor poche parole :)
>>
>> bye
>> r
>>
>>  Il giorno 07 mar 2016, alle ore 13:06, Giuseppe Paternò (Gippa) 
>> <[email protected]> ha scritto:
>>>
>>>  Ciao!
>>>
>>>  E' troppo lunga da spiegarvi, ma devo "schiantare" nel codice una
>>> password.
>>>  L'ambiente non e' controllato, quindi meglio che un file di configurazione 
>>> o -peggio- un passaggio a command line o via envvars.
>>>
>>>  Ora, non pretendo la sicurezza assoluta visto il contorno, ma vorrei 
>>> evitare che con un semplice hexdump venga fuori la password.... almeno lo 
>>> faccio impegnare un po'
>>>
>>>  Cosa mi consigliate per fare una string ubfuscation, preferibilmente in 
>>> golang?
>>>  Ciao ciao,
>>>  Gippa
>>>
>>
>> ------------------------------
>>
>> http://www.sikurezza.org - Italian Security Mailing List
>>
>>
> --
> Sent from my Android device with K-9 Mail. Please excuse my brevity.
>

Rispondere a