Cookie

F3: come capire se la chiavetta USB che hai comprato è una fregatura

Pubblicato da TheJoe il

Tempo di lettura stimato: 4 minuti

Effettuare acquisti online è molto comodo, ma ci espone anche al rischio di parecchie seccature. Una su tutte è la possibilità di rimanere fregati. Poco importa se il venditore è un privato oppure una grande catena: sui prodotti tecnologici (a meno che il marchio non sia esplicitamente dichiarato) occorre controllare l’effettiva funzionalità all’arrivo.

È il caso delle chiavette USB. Qualche tempo fa mi sono voluto divertire con un articolo in vendita sul più famoso store online. L’articolo in vendita è una chiavetta USB di dimensioni ridottissime, venduta con un anello da attaccare alle chiavi.

  • Dimensioni dichiarate: 2TB
  • Costo: fra i 5 e i 10 euro

Ovviamente ho acquistato l’articolo ben consapevole della truffa, ma ho voluto divertirmi un po’ e segnalare la vendita truffaldina allo store.

Spoiler: lo store ha “sanzionato” il venditore sospendendo o chiudendo l’account. Di li a pochi giorni ho trovato l’articolo in vendita sullo stesso store attraverso altri account.

Nel momento in cui la chiavetta è arrivata a casa ne ho subito voluta testare l’effettiva dimensione. Infilo la chiavetta nella porta e leggo ciò che rileva il PC.

~ $ lsblk
NAME                 MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda                    8:0    0 465,8G  0 disk 
├─sda1                 8:1    0   489M  0 part /boot
└─sda2                 8:2    0 465,3G  0 part 
  ├─SolusSystem-Swap 253:0    0   3,7G  0 lvm  [SWAP]
  └─SolusSystem-Root 253:1    0 461,6G  0 lvm  /
sdb                    8:16   1     0B  0 disk 
sdc                    8:32   1   1,9T  0 disk 
└─sdc1                 8:33   1   1,9T  0 part /run/media/joe/76E8-CACF
sr0                   11:0    1  1024M  0 rom  
zram0                252:0    0   3,8G  0 disk [SWAP]

Sia il file manager di Gnome, sia lsblk mi danno una memoria di massa appena montata da circa 2TB, compatibile con una memoria di quelle dimensioni effettive. La cosa un po’ mi sorprende… come fa ad essere così capiente una chiavetta così piccola?

Decido allora di installare f3, che per chi non lo sapesse si tratta di un piccolo software a riga di comando pensato appositamente per testare le chiavette USB fraudolente (f3 sta per “Fight Flash Fraud“). Si trova in tutti i repository e l’installazione direttamente da sorgenti è semplice e indolore.

L’utilizzo di f3 è molto semplice: si compone di due utility che vanno lanciate una in seguito all’altra.

Per prima cosa lanciamo f3write per scrivere dei file di dimensioni fisse all’interno della memoria. Poi lanceremo f3read per leggere l’effettivo contenuto della chiavetta. Se ci saranno errori significa che la chiavetta dichiara una capacità falsa.

~ $ f3write /run/media/joe/76E8-CACF/
F3 write 8.0
Copyright (C) 2010 Digirati Internet LTDA.
This is free software; see the source for copying conditions.

Free space: 1.91 TB
Creating file 1.h2w ... 0.02% -- 6.11 MB/s -- 94:30:14

Questa operazione può risultare molto lunga, soprattutto per le chiavette che dichiarano la velocità da USB3 (5 Gbit/s), mentre invece si assestano tra i 5 e i 10 MB/s… e io non ho 94 ore per attendere il completamento del processo di scrittura.

F3 include anche una variante più veloce. In questo caso occorre smontare la memoria di massa e lanciare f3probe come root o superuser puntando al device e non più al mountpoint. Questo secondo approccio è più rapido, ma il risultato può comunque arrivare anche dopo 15 minuti o più. Soprattutto in caso di memorie particolarmente lente (come nel mio caso) è necessario armarsi di pazienza, o trovarsi altro da fare nel frattempo.

~ $ sudo f3probe --destructive --time-ops /dev/sdc
F3 probe 8.0
Copyright (C) 2010 Digirati Internet LTDA.
This is free software; see the source for copying conditions.

WARNING: Probing normally takes from a few seconds to 15 minutes, but
         it can take longer. Please be patient.

Bad news: The device `/dev/sdc' is a counterfeit of type limbo

You can "fix" this device using the following command:
f3fix --last-sec=16082303 /dev/sdc

Device geometry:
	         *Usable* size: 7.67 GB (16082304 blocks)
	        Announced size: 1.91 TB (4096000000 blocks)
	                Module: 2.00 TB (2^41 Bytes)
	Approximate cache size: 511.00 MB (1046528 blocks), need-reset=no
	   Physical block size: 512.00 Byte (2^9 Bytes)

Probe time: 16'48"
 Operation: total time / count = avg time
      Read: 47.87s / 2097717 = 22us
     Write: 15'58" / 7327949 = 130us
     Reset: 1us / 2 = 0us

E questo è il risultato dopo circa 15 minuti. Il sommario presentato ci mostra l’effettiva capacità della chiavetta: 7.67 GB, quando doveva essere di 1.91 TB. La cache è di 511 MB e i blocchi sono da 512 Byte.

Guarda qui:  Una gui per "lshw"

In genere quando copiamo dei dati su queste chiavette i dati vengono scritti fino alla capacità effettiva (in questo caso 7.67 GB), poi vengono sovrascritti. Una volta che avremo finito la copia dei dati ci sembrerà che tutto sia stato salvato correttamente, ma quando andremo ad aprire un file vedremo un errore irreversibile e il dato (il documento, la foto o altro) sarà andato per sempre.

Nell’esempio di qui sopra la prima schermata mostra una directory copiata al raggiungimento del limite fisico della chiavetta. I file sono ancora visibili, ma il contenuto no. La seconda schermata mostra una directory non ancora sovrascritta in cui i file sono ancora presenti.

C’è anche un suggerimento di f3probe per correggere la capacità della chiavetta. In pratica suggerisce di creare una partizione con dimensione totale di 7.67 GB (ultimo settore utile 16082303) e lasciare non partizionato lo spazio successivo. In questo modo inserendo la chiavetta in un PC vedremo solo i 7.67 GB di spazio e non la fuffa che segue.

Lanciando f3fix la chiavetta verrà ripristinata alle dimensioni corrette.

~ $ lsblk
NAME                 MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda                    8:0    0 465,8G  0 disk 
├─sda1                 8:1    0   489M  0 part /boot
└─sda2                 8:2    0 465,3G  0 part 
  ├─SolusSystem-Swap 253:0    0   3,7G  0 lvm  [SWAP]
  └─SolusSystem-Root 253:1    0 461,6G  0 lvm  /
sdb                    8:16   1     0B  0 disk 
sdc                    8:32   1   1,9T  0 disk 
└─sdc1                 8:33   1   7,7G  0 part 
sr0                   11:0    1  1024M  0 rom  
zram0                252:0    0   3,8G  0 disk [SWAP]

TheJoe

Mantengo questo blog a livello amatoriale dal 2009. Sono appassionato di grafica, tecnologia, software Open Source. Fra i miei articoli non sarà difficile trovarne circa la musica, ed alcuni di riflessioni personali, ma preferisco indirizzare la linea del blog principalmente verso la tecnologia. Per informazioni contattami.

0 commenti

Lascia un commento

Segnaposto per l'avatar

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.