"Giuseppe Paternò (Gippa)" <[email protected]> writes:

> Cosa mi consigliate per fare una string ubfuscation, preferibilmente
> in golang?

Non sono convinto possa essere sicuro (anzi penso il contrario), ma
stupidamente io userei un hash sha256 o sha512 di una stringa a cui
applicherei un rot(qualcosa) e successivamente estrarrei n caratteri da
questo, con hexdump del compilato non si riesce ad identificare la
stringa:

micky@minnie:/tmp/micky$ echo password | sha256sum 
6b3a55e0261b0304143f805a24924d0c1c44524821305f31d9277843b8a10f4e  -

micky@minnie:/tmp/micky$ cat pswd.go 
package main

import "fmt"

func main() {
        password := 
"6b3a55e0261b0304143f805a24924d0c1c44524821305f31d9277843b8a10f4e"

        fmt.Println("Password: ", password)
}

micky@minnie:/tmp/micky$ hexdump pswd | grep 6b3a
006b3a0 4850 5c89 0824 b5e8 fbb0 0fff e80b 7b1e
016b3a0 ddd8 0002 0010 0000 4567 0123 dded 0002
micky@minnie:/tmp/micky$ 

con strings appare ovviamente in chiaro:

micky@minnie:/tmp/micky$ strings pswd  | grep 6b3a
6b3a55e0261b0304143f805a24924d0c1c44524821305f31d9277843b8a10f4e
micky@minnie:/tmp/micky$

ma se a questa stringa applichi una trasformazione tipo rot(qualcosa) o
più complessa che magari abbia come alfabeto di destinazione
A-Za-z0-9+-*/!"£$%&/()= e dalla trasformata estrai un po' di caratteri
in qualche modo (tipo prendere il primo, il primo, il secondo, il terzo,
il quinto... carattere) per generare la password un po' di lavoro
l'attaccante dovrà farlo.

Ciao, Micky
-- 
The sysadmin has all the answers, expecially "No"
________________________________________________________
http://www.sikurezza.org - Italian Security Mailing List

Rispondere a