Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
dwipe — Outil pour effacer de manière sécurisée et efficace les périphériques et partitions sous Linux. | Kitploit
Outils/GitHubGitHub/joedefen/dwipe
Utilitaires GénérauxOutils de Chiffrement/DéchiffrementAnalyse ForensiqueRécupération de DonnéesSécurité MatérielleUtilitaires et Frameworks
GitHubjoedefen/dwipe

dwipe

Outil pour effacer de manière sécurisée et efficace les périphériques et partitions sous Linux.

Voir le dépôt
164105il y a 7 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

dwipe

dwipe est un outil pour effacer les disques et partitions sous Linux afin de sécuriser vos données. dwipe vise à réduire les erreurs en fournissant des informations abondantes sur vos périphériques lors de la sélection.

Démonstration de dwipe

Comparaison rapide

Fonctionnalitédwipenwipeshreddd
Effacements firmware (SATA/NVMe secure erase)✓✗✗✗
Effacements logiciels (Zéro, Pseudo Aléatoire)✓✓✓✗
IUT interactif✓✓✗✗
Effacements simultanés multiples✓✗✗✗
État d'effacement persistant✓✗✗✗
Détection / libération à chaud✓✗✗✗
Blocage de périphérique/partition✓✗✗✗
Reprise des effacements logiciels interrompus✓✗✗✗
Journalisation des opérations d'effacement✓✗✗✗
Détection/prévention du montage✓✓✗✗
Vérification par échantillonnage statistique rapide✓✗✗✗
Destruction certifiée (normes DoD/Gutmann, vérification complète, certificats)✗✓✗✗
  • Les effacements firmware (SATA/NVMe) sont les plus complets et les plus rapides : L'effacement accéléré par le matériel opère au niveau du contrôleur (secondes à minutes), efface tous les mappages du disque, mais nécessite un effacement complet du périphérique sans rapport de progression ni vérification visible.
  • Les effacements logiciels avec un seul passage de zéros sont suffisants : Les disques modernes (post-2001) sont effacés de manière fiable avec un seul passage de zéros (NIST SP 800-88). Les modes multi-passages sont disponibles pour une confiance supplémentaire mais n'offrent aucune garantie de sécurité supplémentaire.
  • La vérification utilise un échantillonnage statistique intelligent : Même 1 % d'échantillons de vérification sur l'ensemble du disque via 100 sections, offrant une couverture complète sans lecture séquentielle intégrale.

Fonctionnalités phares

  • IUT interactif avec détection à chaud - Mise à jour en temps réel de la liste des périphériques lors des changements de stockage, les nouveaux périphériques sont marqués avec ^
  • Effacements firmware accélérés par le matériel - Prise en charge complète des opérations d'effacement sécurisé au niveau firmware (NVMe Sanitize/Format, SATA ATA Security Erase) qui se terminent en quelques secondes à minutes au lieu d'heures
  • Effacements simultanés multiples - Lancez des effacements sur plusieurs périphériques à la fois avec un suivi individuel de la progression et des états d'achèvement
  • Suivi d'état persistant - Le statut d'effacement survit aux redémarrages ; les états partiellement effacés et complets persistent sur le périphérique (possibilité de reprendre les effacements après des cycles d'alimentation)
  • Identification intelligente des périphériques - Utilise les UUID/PARTUUID/numéros de série pour un suivi stable des périphériques après reconnexions
  • Protections de sécurité - Empêche l'effacement des périphériques montés, détecte les effacements qui se chevauchent, prend en charge le blocage des périphériques, invites de confirmation en ligne
  • Vérification intelligente avec échantillonnage statistique - Vérification rapide qui couvre l'ensemble du disque même à de faibles pourcentages (1 % d'échantillons de vérification provenant des 100 sections du disque)
  • E/S directes vers le disque - Effacement rapide et efficace qui évite la pollution du cache de pages avec détection automatique des ralentissements/blocages et abandon gracieux
  • Plusieurs thèmes de couleurs - Thèmes de couleurs pour le terminal conçus pour la lisibilité avec un retour visuel contextuel (périphériques montés atténués, effacements actifs lumineux)
  • Historique des effacements avec journalisation - Visionneuse d'historique détaillée montrant les horodatages, les systèmes de fichiers, les étiquettes et les pourcentages d'achèvement avec enregistrements persistants

Prérequis

  • Système d'exploitation Linux (utilise les interfaces /dev/, /sys/, /proc/)
  • Python 3.10 ou supérieur
  • Privilèges root/sudo (demandés automatiquement lorsque vous exécutez l'outil)
  • Utilitaire lsblk (généralement préinstallé sur la plupart des distributions Linux)
  • nvme-cli - Pour les opérations NVMe (détection Sanitize/Format)
  • hdparm - Pour les opérations SATA (détection ATA Security Erase)

Optionnel (pour la copie dans le presse-papiers sur l'écran d'historique) :

  • xclip ou xsel - Pour le presse-papiers X11 (apt install xclip ou xsel)
  • wl-clipboard - Pour le presse-papiers Wayland (apt install wl-clipboard)
  • Les sessions SSH utilisent l'échappement terminal OSC 52 (aucun paquet supplémentaire nécessaire)

Installation

  • Recommandé (avec pipx) : pipx install dwipe
  • Vérifier l'installation : dwipe --help
  • Désinstaller : pipx uninstall dwipe

Démarrage rapide (veuillez LIRE CECI, au moins)

  1. Installer dwipe
  2. Exécuter dwipe depuis un terminal (sudo sera demandé automatiquement)
  3. Observer l'aide contextuelle sur la première ligne
  4. Naviguer avec les touches fléchées ou les touches de type vi (j/k)
  5. Appuyer sur ? pour l'écran d'aide complet
  6. Lorsque vous appuyez sur w pour effacer un disque, vous devez taper l'abréviation (par ex., Rand, Zero, Crypto) ; les effacements sont présentés du moins au plus recommandé, et le dernier est marqué avec *. Normalement, choisissez le dernier choix, mais ...
  7. Les disques et le système d'exploitation mentent souvent sur le type de disque. Dépassez-les tous les deux :
    • Pour les disques durs (HDD), toujours utiliser Rand ou Zero (interruptible, montre la progression).
    • Pour les SSD, toujours utiliser les effacements firmware si disponibles (plus rapides, atteignent les blocs cachés).
  8. Si un disque est 'Frozen', mettez votre système en veille brièvement et reprenez ; dwipe détecte automatiquement la reprise et réanalyse. Ou appuyez sur r pour réanalyser manuellement. Le disque devrait revenir dégelé.
  9. Si un disque est 'Locked', vous devez le déverrouiller manuellement (voir la section « Déverrouiller un périphérique verrouillé » ci-dessous). Si dwipe l'a verrouillé, le mot de passe est NULL ; sinon, utilisez le mot de passe qui l'a verrouillé.
  10. Flux de travail à chaud pour les disques SATA : DEL pour détacher, échanger physiquement les disques, puis r pour réanalyser (si nécessaire).

Fonctionnalités

dwipe offre des capacités complètes d'effacement de disque avec des fonctions de sécurité :

  • Affichage intelligent des périphériques - Affiche les disques et partitions avec étiquettes, tailles, types et informations fabricant/modèle pour aider à identifier correctement les périphériques
  • Protections de sécurité - Empêche l'effacement des périphériques montés, détecte les effacements qui se chevauchent, prend en charge le blocage manuel des disques
  • Détection à chaud - Met à jour la liste des périphériques lorsque le stockage change ; les nouveaux périphériques sont marqués avec ^ pour les repérer facilement
  • Effacements simultanés multiples - Lancez des effacements sur plusieurs périphériques à la fois, avec un suivi individuel de la progression et des états d'achèvement
  • Modes d'effacement flexibles - Choisissez entre Rand, Zero, Rand+V (avec vérification automatique) ou Zero+V (avec vérification automatique)
  • Filtrage des périphériques - Filtrez les périphériques par nom/modèle à l'aide d'expressions régulières en cas de trop nombreux pour un seul écran
  • Capacité d'arrêt - Arrêtez les effacements individuels ou tous les effacements en cours
  • Blocage de disque - Blaquez manuellement les disques pour éviter tout effacement accidentel (le blocage masque toutes les partitions)

Remarque : dwipe affiche les étiquettes de système de fichiers, et si indisponible, l'étiquette de partition. Il est de bonne pratique de bien étiqueter les partitions et les systèmes de fichiers pour faciliter la sélection.

Utilisation

Exécutez simplement dwipe depuis la ligne de commande sans arguments : dwipe

Options de ligne de commande

Remarque : Toutes les options de préférence utilisent vos dernières valeurs enregistrées comme valeurs par défaut. Ces valeurs par défaut sont affichées dans --help et peuvent être modifiées de manière interactive avec des raccourcis clavier. Les arguments de ligne de commande remplacent les préférences enregistrées.

Configuration de l'effacement

  • --mode {-V,+V} - Mode de vérification (par défaut : votre dernière préférence)
    • -V - Effacer sans vérification automatique
    • +V - Vérifier le périphérique après la fin de l'effacement
  • --passes {1,2,4} - Nombre de passages pour les effacements logiciels (par défaut : votre dernière préférence)
    • Un seul passage (1) est standard pour la plupart des cas d'utilisation
    • Les multi-passages (2 ou 4) alternent entre des motifs zéro et aléatoire
  • --verify-pct {1,3,10,30,100} - Pourcentage de vérification (par défaut : votre dernière préférence)
    • Pourcentage du disque à vérifier après l'effacement (1 % = vérification rapide, 100 % = vérification complète)

Affichage et performances

  • --dense {True,False} - Mode d'affichage compact (par défaut : votre dernière préférence)
    • True - Espacement compact (moins de lignes vierges entre les disques)
    • False - Vue espacée (lignes vierges entre les disques pour la lisibilité)
  • --port-serial {Auto,On,Off} - Affichage du port/série du disque (par défaut : votre dernière préférence)
    • Auto - Afficher le port/série uniquement pour les disques entiers (recommandé)
    • On - Toujours afficher le port et le numéro de série
    • Off - Ne jamais afficher le port et le numéro de série

Réglage de la gestion des disques

  • --slowdown-stop {0,4,16,64,256} - Arrêter si le disque ralentit (par défaut : votre dernière préférence, millisecondes)
    • 0 = Désactivé
    • Autres valeurs = Intervalle de vérification en millisecondes pour la dégradation des performances
  • --stall-timeout {0,60,120,300,600} - Délai d'attente de blocage en secondes (par défaut : votre dernière préférence)
    • 0 = Désactivé (pas de délai d'attente)
    • Autres valeurs = Arrêter l'effacement si aucun progrès de transfert de données pendant ce nombre de secondes

Options avancées

  • --firmware-wipes ou -F - Activer les effacements firmware
    • Active les opérations d'effacement sécurisé par matériel (NVMe Sanitize/Format, SATA ATA Security Erase)
    • Sans ce drapeau, seuls les effacements logiciels (Zero/Rand) sont disponibles
  • --dump-lsblk - Afficher les informations de périphérique analysées et quitter (pour le débogage)
  • --help - Afficher le message d'aide avec toutes les options disponibles

Légende des couleurs

dwipe utilise un code couleur pour fournir un retour visuel instantané sur l'état du périphérique et de l'opération :

  • Atténué (gris) - Périphériques montés ou bloqués (ne peuvent pas être effacés)
  • Par défaut (blanc) - Prêt à effacer, état inactif, ou déjà effacé (avant cette session)
  • Cyan/bleu clair + gras - Effacement ou vérification en cours (0-100 % écriture, v0-v100 % vérification)
  • Jaune gras - Effacement arrêté ou partiellement terminé
  • Vert gras - ✅ Effacement terminé avec succès dans CETTE session (prêt à permuter !)
  • Vert plus atténué - ✅ Effacement terminé avec succès lors d'une session précédente .
  • Orange gras - Périphérique nouvellement inséré (échange à chaud)
  • Rouge gras - Invites d'opération destructrice (confirmation d'effacement)

Thèmes de couleurs

dwipe prend en charge plusieurs thèmes de couleurs pour une meilleure visibilité et esthétique.

Thèmes disponibles :

  • default - Défaut du terminal (couleurs ANSI de base)
  • dark-mono - Monochrome sombre (presque blanc sur presque noir avec couleurs vives)
  • light-mono - Monochrome clair (presque noir sur presque blanc avec couleurs vives)
  • solarized-dark - Palette Solarized sombre
  • solarized-light - Palette Solarized claire (pour les fonds de terminal clairs)
  • gruvbox - Palette Gruvbox sombre
  • nord - Palette Nord

Changer de thème :

  • Appuyez sur t depuis l'écran principal pour ouvrir l'écran d'aperçu des thèmes
  • L'écran de thème montre des exemples de couleurs pour chaque usage de couleur (DANGER, SUCCÈS, AVERTISSEMENT, etc.)
  • Appuyez sur t pendant que vous êtes sur l'écran de thème pour parcourir les thèmes disponibles et les prévisualiser en direct
  • Appuyez sur ESC ou ENTRÉE pour revenir à l'écran principal
  • Le thème sélectionné est enregistré et persiste entre les sessions

Fonctionnalités des thèmes :

  • Couleur jaune/avertissement pour les effacements arrêtés (état s) - très visible même lorsqu'ils ne sont pas sélectionnés
  • Couleur rouge/danger pour les invites de confirmation d'effacement
  • Palettes de couleurs coordonnées conçues pour la lisibilité sur terminal

Valeurs d'état du périphérique

La colonne ÉTAT affiche le statut actuel de chaque périphérique :

ÉtatSignification
-Le périphérique est prêt pour l'effacement
^Le périphérique est prêt pour l'effacement ET a été ajouté après le démarrage de dwipe (échange à chaud)
MntLa partition est montée ou le disque a des partitions montées - ne peut pas être effacée
N%L'effacement est en cours (affiche le pourcentage d'avancement, 0-100 %)
vN%La vérification est en cours (affiche le pourcentage d'avancement, v0-v100 %)
STOPL'effacement ou la vérification est en cours d'arrêt
sL'effacement a été arrêté - le périphérique est partiellement effacé (peut redémarrer ou vérifier)
WL'effacement est terminé avec succès (peut effacer à nouveau ou vérifier)
BlkLe disque est manuellement bloqué - les partitions sont masquées et ne peuvent pas être effacées
UnblLe disque vient d'être débloqué (état transitoire)

Actions disponibles

La première ligne affiche les actions disponibles. Certaines sont contextuelles (uniquement disponibles pour certains périphériques) :

ToucheActionDescription
weffacerEffacer le périphérique sélectionné (nécessite confirmation)
vvérifierVérifier un périphérique effacé ou détecter un motif sur un disque non marqué (contextuel)
sarrêterArrêter l'effacement en cours sélectionné (contextuel)
STout arrêterArrêter tous les effacements en cours
DELsupprimerRetirer le disque du système (disques entiers uniquement, contextuel)
bbloquer/débloquerBloquer ou débloquer un disque pour éviter tout effacement accidentel
/filtrerFiltrer les périphériques par expression régulière (affiche les périphériques correspondants + tous les effacements actifs)
rréanalyserRéanalyser tous les périphériques et réinitialiser la détection des capacités matérielles
hhistoriqueAfficher le journal d'historique des effacements
tthèmesOuvrir l'écran d'aperçu des thèmes pour voir et changer les thèmes de couleurs
q ou xquitterQuitter l'application (arrête d'abord tous les effacements)
?aideAfficher l'écran d'aide avec toutes les actions et touches de navigation
ESCeffacer le filtreEffacer le filtre et sauter en haut de la liste
ESCretourRevenir à l'écran précédent si sur un écran imbriqué
aformat de l'heureParcourir le format d'affichage de l'heure de l'historique des effacements (ago+time, ago, time)

Écran d'historique

Appuyez sur h pour voir le journal d'historique des effacements. L'écran d'historique montre toutes les opérations d'effacement et de vérification avec horodatages, informations sur le périphérique et résultats.

Actions de l'écran d'historique :

  • e - Développer/réduire l'entrée pour afficher les détails JSON complets
  • c - Copier l'entrée actuelle dans le presse-papiers (voir ci-dessous)
  • / - Rechercher/filtrer les entrées (préfixer avec / pour une recherche JSON approfondie)
  • a - Parcourir le format de l'heure (ago+time, ago, time)
  • ESC - Revenir à l'écran principal

Méthodes de copie dans le presse-papiers (détectées automatiquement) :

EnvironnementMéthodeRemarques
Session SSHOSC 52Séquence d'échappement du terminal ; nécessite un support du terminal (iTerm2, kitty, alacritty, Windows Terminal, tmux avec set-clipboard on)
Waylandwl-copyNécessite le paquet wl-clipboard
X11xclip/xselNécessite le paquet xclip ou xsel
RepliTerminalQuitte dans le shell, affiche l'entrée pour copie manuelle

Remarque : Si OSC 52 ne fonctionne pas avec votre terminal, le texte apparaît toujours à l'écran pour une sélection manuelle. Pour tmux, activez le presse-papiers avec set -g set-clipboard on dans votre .tmux.conf.

Types d'effacement

dwipe prend en charge les effacements firmware (accélérés par le matériel) et les effacements logiciels. Les effacements firmware nécessitent le drapeau --firmware-wipes ou -F. Les tableaux ci-dessous listent les méthodes d'effacement de la plus souhaitable (Rang 1) à la moins.

Disques NVMe

RangAbrévNom officielRemarques
1CryptoSanitize Cryptographic EraseLe plus rapide ; efface les clés de chiffrement ; invalidation instantanée des données
2BlockSanitize Block EraseRapide ; réinitialise tous les blocs à l'état désalloué
3FCryptoFormat with Crypto EraseRapide ; reformate l'espace de noms avec effacement de clé
4FEraseFormat with User Data EraseRapide ; reformate avec effacement simple des données ; moins approfondi que crypto
5OvwrSanitize OverwriteMinutes ; écrit un motif sur tous les blocs ; le plus approfondi mais rarement nécessaire
6RandSoftware Random WriteSolution de repli ; écrit des données aléatoires via logiciel ; heures pour les grands disques
7ZeroSoftware Zero WriteSolution de repli ; écrit des zéros via logiciel ; vérifiable mais plus lent

SSD SATA (avec fonctions crypto/nettoyage)

RangAbrévNom officielRemarques
1SCryptoSanitize Cryptographic EraseLe plus rapide ; efface les clés de chiffrement ; nécessite la fonction SANITIZE
2EnhancedATA Security Erase EnhancedRapide ; effacement approfondi spécifique au fabricant avec destruction de clé crypto
3SBlockSanitize Block EraseRapide ; réinitialise les blocs à l'état d'usine ; nécessite la fonction SANITIZE
4EraseATA Security Erase NormalMinutes ; écrit des zéros sur tous les secteurs ; largement pris en charge
5SOverwriteSanitize OverwriteMinutes ; écrase avec un motif ; nécessite la fonction SANITIZE
6RandSoftware Random WriteSolution de repli ; ne peut pas atteindre les blocs usés ou remappés
7ZeroSoftware Zero WriteSolution de repli ; ne peut pas atteindre les blocs usés ou remappés

Disques durs SATA (disques mécaniques)

RangAbrévNom officielRemarques
1RandSoftware Random WritePréféré ; interruptible, reprenable, montre la progression
2ZeroSoftware Zero WritePréféré ; interruptible, reprenable, vérification rapide
3EnhancedATA Security Erase EnhancedLent (heures) ; non interruptible ; pas de progression ; même résultat que logiciel
4EraseATA Security Erase NormalLent (heures) ; non interruptible ; pas de progression ; même résultat que logiciel

Remarque : Les disques durs n'ont pas d'usure ni de blocs cachés, donc les effacements logiciels sont aussi approfondis que les effacements firmware mais offrent un meilleur contrôle (progression, pause/reprise, interruptibilité).

Partitions et clés USB/disques amovibles

RangAbrévNom officielRemarques
1RandSoftware Random WritePréféré ; motif imprévisible ; vérification statistique
2ZeroSoftware Zero WritePlus simple ; vérification rapide (échoue au premier octet non nul)

Remarques :

  • Les effacements firmware affichent uniquement les méthodes prises en charge par chaque disque (voir colonne FwCAPS).
  • Les effacements firmware incluent une vérification ponctuelle automatique.
  • Le suffixe +V active la vérification automatique après les effacements logiciels. Sans +V, appuyez sur v pour vérifier manuellement.
  • Les effacements logiciels multi-passages (2 ou 4) alternent des motifs zéro/aléatoire, se terminant sur votre mode sélectionné.
  • Les clés USB et les partitions n'ont pas d'effacement firmware—seuls les effacements logiciels sont disponibles.

Reprise des EFFACEMENTS LOGICIELS arrêtés

Les effacements arrêtés (état s) peuvent être repris en appuyant sur w sur le périphérique. Choisissez le même type d'effacement ou il recommencera à 0 % d'avancement.

Comment fonctionne la reprise :

  • Préserve le mode d'effacement d'origine (Rand ou Zero) depuis le début de l'effacement
  • Utilise le paramètre de passages actuel pour déterminer combien écrire en plus
  • Continue à partir du décalage d'octet exact où il a marqué l'arrêt (arrondi à la limite de tampon). Les « marques » sont écrites environ toutes les 30 s, donc pour les effacements qui ne se terminent pas gracieusement, la position peut être jusqu'à 30 s (ou un peu plus) des derniers blocs de disque effacés.

Exemples de reprise :

Arrêté àPassages actuelsCe qui se passe
50 %1 passageReprend : écrit les 50 % restants
150 % (1,5 sur 4 passages)1 passageDéjà terminé (150 % > 100 %)
150 % (1,5 sur 4 passages)4 passagesReprend : écrit 2,5 passages supplémentaires (150 % → 400 %)
100 % (1 passage terminé)2 passagesReprend : écrit le passage 2 (100 % → 200 %)

Avantages :

  • Modifiez le paramètre de passages avant de reprendre pour finir plus vite (réduire) ou ajouter plus de passages (augmenter)
  • Pas besoin de recommencer depuis le début
  • Le marqueur de progression est mis à jour toutes les 30 secondes, donc la reprise fonctionne même après des plantages ou une perte d'alimentation
  • La validation automatique empêche les motifs finaux corrompus

Stratégie de vérification des effacements logiciels

Les effacements logiciels utilisent une vérification intelligente avec analyse statistique et optimisations d'échec rapide. La vérification est configurable et optionnelle.

Échantillonnage intelligent :

  • Divise le disque en 100 sections égales
  • Échantillonne aléatoirement un pourcentage configurable (1 %, 3 %, 10 %, 30 %, 100 %) de CHAQUE section
  • Assure une couverture complète du disque même avec 1 % de vérification
  • Définissez le pourcentage de vérification avec l'option de ligne de commande --verify-pct (enregistré comme préférence)

Détection de motif :

  • Vérification zéro : Échoue immédiatement au premier octet non nul (rapide !)
  • Vérification aléatoire : Analyse statistique de la distribution des octets
    • Teste si la distribution des octets est uniforme (toutes les valeurs d'octets 0-255 apparaissent de manière assez égale)
    • Échec rapide périodiquement si un motif non aléatoire est détecté
    • Vérifie la présence de preuves d'aléatoire pour distinguer des données structurées

Modes de vérification :

  1. Vérification automatique (après effacement) : Utilisez un mode avec le suffixe +V (Rand+V ou Zero+V) et définissez le % de vérification > 0
  2. Vérification manuelle (appuyez sur v) : Vérifier les périphériques déjà effacés ou détecter un motif sur des disques non marqués (nécessite % de vérification > 0)
  3. Détection de disque non marqué : Peut vérifier les disques sans système de fichiers pour détecter s'ils sont tous à zéro ou aléatoires
    • Si réussi, écrit un marqueur comme si le disque avait été effacé
    • Utile pour détecter des disques pré-effacés ou vérifier un effacement fabricantVerification States:
  • ✓ (coche verte) - Vérification réussie
  • ✗ (X rouge) - Échec de la vérification
  • Aucun symbole - Non vérifié
  • Pendant la vérification : vN% affiche la progression (v0% à v100%)

Pourquoi l'échantillonnage statistique est meilleur que le séquentiel :

  • L'échantillonnage statistique avec 100 sections offre une meilleure couverture qu'une lecture séquentielle au même pourcentage
  • Détecte les problèmes plus rapidement (peut tomber sur un mauvais secteur dès les premières sections)
  • L'analyse statistique valide réellement l'aléatoire (le séquentiel ne le peut pas)
  • Beaucoup plus rapide qu'une vérification séquentielle à 100%

Stratégie de vérification de l'effacement du firmware

Les effacements de firmware (effacement sécurisé SATA/NVMe) utilisent une vérification ponctuelle inconditionnelle qui est effectuée automatiquement pour tous les effacements de firmware. Cela vérifie que la commande d'effacement matériel a bien été exécutée.

Approche de vérification ponctuelle :

  • Avant l'effacement : écrire des blocs de données de test à trois emplacements stratégiques (début, milieu, fin du disque)
  • Exécuter la commande d'effacement du firmware au niveau du contrôleur
  • Après l'effacement : lire ces trois emplacements de test et vérifier qu'ils ne contiennent plus les données d'origine
  • Si un bloc de test contient encore des données similaires, l'effacement a échoué et est signalé

Pourquoi les vérifications ponctuelles sont efficaces :

  • Prouve que l'effacement interne du disque a réellement été traité (pas seulement un accusé de réception de commande)
  • La stratégie à trois emplacements (0%, 50%, 100% du disque) garantit une couverture sur l'ensemble du périphérique
  • Détecte les bogues du firmware ou les défaillances matérielles qui pourraient prétendre avoir réussi mais ne rien faire
  • Beaucoup plus rapide qu'une vérification séquentielle (seulement 3 blocs lus au lieu d'un pourcentage du disque entier)
  • Obligatoire et inconditionnelle : aucune configuration utilisateur ni étape de vérification supplémentaire n'est nécessaire

Remarque importante : Les effacements de firmware n'affichent pas de vérification basée sur un pourcentage comme les effacements logiciels. La vérification ponctuelle se déroule silencieusement dans le cadre de l'opération d'effacement, et le succès/échec est enregistré dans le marqueur d'état d'effacement persistant.

Informations de progression

Lors de l'effacement logiciel d'un périphérique, dwipe affiche :

  • Temps écoulé - Temps depuis le début de l'effacement (ex. 1m18s)
  • Temps restant - Estimation du temps jusqu'à la fin (ex. -3m6s)
  • Taux d'écriture - Débit actuel (ex. "45.2MB/s")
  • MaxSlowDown - Rapport entre la vitesse d'écriture la plus rapide et la plus lente (ex. ÷2). Si le seuil est dépassé, le travail d'écriture s'arrête.
  • MaxWriteDelay - Plus grand délai d'écriture détecté (ex. 𝚫122ms). Si le seuil est dépassé, le travail d'écriture s'arrête.

État persistant

Les états W (effacé) et s (partiellement effacé) sont persistants après redémarrage. Ceci est accompli en écrivant des métadonnées dans les premiers 16 Ko du périphérique :

  • Premiers 15 Ko : zéros
  • 1 Ko suivant : métadonnées JSON (horodatage, octets écrits, taille totale, mode, état de vérification)

Lorsqu'un périphérique avec état persistant est affiché, des informations supplémentaires apparaissent :

  • Quand il a été effacé et le pourcentage d'achèvement
  • État de vérification : ✓ (réussi), ✗ (échoué), ou aucun symbole (non vérifié)

L'écran d'aide

Lorsque ? est tapé, vous pouvez voir les touches disponibles et les options de ligne de commande avec leurs paramètres actuels.

Navigation

Vous pouvez naviguer dans la liste des périphériques en utilisant :

  • Touches fléchées - Haut/Bas pour se déplacer dans la liste
  • Touches type Vi - j (bas), k (haut), g (haut), G (bas)
  • Page Up/Down - Navigation rapide dans les longues listes

Filtrage des périphériques

La touche / active le filtrage de recherche incrémental avec un comportement de type vim :

Fonctionnement :

  • Appuyez sur / pour commencer le filtrage
  • Tapez votre motif regex - la liste des périphériques se met à jour au fur et à mesure que vous tapez (filtrage en temps réel)
  • La position de votre curseur est indiquée par | dans l'en-tête
  • Touches fléchées, Début/Fin et Retour arrière fonctionnent pour l'édition
  • ENTRÉE pour accepter le filtre
  • ÉCHAP pour annuler et restaurer le filtre précédent

Exemples de filtres :

Le filtre prend en charge les expressions rationnelles. Voici quelques exemples utiles :``` /sda # Show only sda and its partitions /sd[ab] # Show sda, sdb and their partitions /nvme # Show all NVMe devices /nvme0n1p[12] # Show only partitions 1 and 2 of nvme0n1 /usb # Show devices with "usb" in their labels

root@kitploit:~
Appuyez sur **ESC** depuis l'écran principal pour effacer le filtre et revenir à l'affichage de tous les périphériques.

**Remarque :** Les motifs regex invalides sont ignorés - le filtre reste sur le dernier motif valide pendant que vous tapez.

## Considérations de sécurité

**Limitations importantes des effacements logiciels :**

- `dwipe` prend en charge l'effacement multi-passes avec des motifs alternés, mais n'implémente pas les séquences de motifs certifiées DoD 5220.22-M ou Gutmann spécifiques
- Plus qu'adéquat pour les **données personnelles et professionnelles** qui ne nécessitent pas une destruction certifiée (obsolète)
- **PAS adapté** aux données classifiées, top-secret ou hautement sensibles nécessitant un effacement spécifique avec motifs certifiés et certificats de conformité
- **Considérations sur les SSD** :
  - Les SSD modernes utilisent l'usure nivelée (wear-leveling) et peuvent conserver des données dans des blocs non mappés
  - TRIM/DISCARD peut empêcher l'effacement complet des données
  - Pour les SSD, envisagez les utilitaires d'effacement sécurisé du fabricant pour une sécurité maximale
  - Le mode aléatoire peut ne pas apporter une sécurité supplémentaire par rapport aux zéros sur les SSD

**Bonnes pratiques :**
- Vérifiez soigneusement les étiquettes et tailles des périphériques avant l'effacement
- Utilisez la fonction **Bloc** pour protéger les disques critiques
- Envisagez le chiffrement pour les données sensibles comme mesure de sécurité principale

---
---

## Dépannage

### dwipe ne démarre pas
- **Erreur : "cannot find lsblk on $PATH"** - Installez le paquet `util-linux`
- **Permission refusée** - `dwipe` demande automatiquement sudo ; assurez-vous de pouvoir utiliser sudo

### Problèmes d'affichage du terminal
- **Affichage corrompu après un crash** - Exécutez la commande `reset` ou `stty sane`
- **Les couleurs ne fonctionnent pas** - Assurez-vous que votre terminal prend en charge les couleurs (la plupart des terminaux modernes le font)

### Problèmes d'effacement
- **Impossible d'effacer un périphérique** - Vérifiez la colonne STATE :
  - **Mnt** - Démontez d'abord la partition : `sudo umount /dev/sdXN`
  - **Blk** - Appuyez sur **b** pour débloquer
  - **Busy** - Une autre partition sur le disque est en cours d'effacement
- **L'effacement est très lent** - Normal pour les grands disques ; vérifiez le taux d'écriture pour confirmer la progression
- **L'effacement semble bloqué** - Probablement dû à des disques défectueux ; les E/S directes rendent la progression presque constante sur les bons disques.

---
### Considérations sur l'effacement du firmware

Les effacements du firmware (opérations d'effacement sécurisé SATA/NVMe) ont des caractéristiques différentes des effacements logiciels :

**Disques gelés :**
- Les disques SATA sont généralement gelés par le BIOS/UEFI pendant le POST comme mesure de sécurité
- Il s'agit d'une fonction de sécurité au niveau du disque, pas d'une limitation de `dwipe`
- **Solution** : Suspendre brièvement votre système et reprendre ; `dwipe` détecte automatiquement la reprise et rescanner (ou appuyez sur **r** manuellement). La suspension/reprise met sous tension cyclique le lien SATA ce qui efface le gel.
- Si le disque reste gelé après la suspension/reprise, essayez une mise hors tension complète (10+ minutes pour décharger les condensateurs du disque) suivie d'un démarrage et d'un rescannage

**Particularités et compatibilité des périphériques :**
- Les périphériques de stockage ont diverses implémentations de firmware et particularités matérielles qui affectent les opérations d'effacement sécurisé
- Certains disques peuvent ne pas prendre en charge complètement certaines opérations de nettoyage, avoir des problèmes de synchronisation, ou présenter un comportement inattendu
- `dwipe` ne peut pas garantir que tous les périphériques seront effacés avec succès—certains matériels peuvent simplement ne pas coopérer avec les commandes d'effacement
- Vérifiez toujours un disque après l'effacement (utilisez la touche **v**) pour confirmer que l'effacement a bien eu lieu
- Pour une destruction de données critique sur du matériel capricieux, envisagez d'utiliser des outils d'effacement sécurisé spécifiques au fabricant comme solution de repli

---
### Gestion des disques défectueux ou en défaillance

dwipe inclut des protections intégrées pour les périphériques de stockage problématiques :

**Gestion automatique des erreurs.** Lors de la rencontre d'erreurs disque pendant l'effacement :
*   Erreurs d'écriture consécutives : L'effacement s'arrête après 3 échecs d'écriture consécutifs
*   Seuil d'erreur total : L'effacement s'arrête après 100 erreurs d'écriture totales
*   Réessai automatique : En cas d'échec d'écriture, le périphérique est automatiquement fermé et rouvert (récupération d'erreur transitoire)
*   Récupération des descripteurs de fichier : Les mauvais états FD sont détectés et les handles sont rafraîchis

**Détection de blocage et de ralentissement.** dwipe surveille les performances d'écriture et peut interrompre les opérations problématiques :
*   Détection de blocage : Arrêt si aucune progression pendant 5 minutes (configurable)
*   Détection de ralentissement : Mesure la vitesse de base pendant les 5 premières secondes, arrêt si la vitesse tombe en dessous du seuil (par ex., 1/4 de cette vitesse de base)
*   Suivi de progression : Surveillance continue pour s'assurer que les écritures atteignent réellement le périphérique

**Si un effacement se bloque...** Si un effacement semble figé ou sans réponse :
*   Première tentative : Appuyez sur s pour arrêter proprement l'effacement sélectionné
*   Attendez patiemment : Certaines opérations sur disque peuvent prendre des minutes pour expirer au niveau du noyau
*   Si toujours bloqué : Appuyez sur S (Shift+s) pour arrêter TOUS les effacements
*   Dernier recours : Si l'interface est complètement gelée :
    *   Appuyez sur Ctrl-Z pour suspendre `dwipe`
    *   Dans le terminal, exécutez : `sudo pkill -f "python.*dwipe" (cible uniquement les processus dwipe)`
    *   Exécutez reset pour restaurer le terminal si l'affichage est corrompu

**Prévenir les problèmes avec les supports problématiques.** Pour les disques connus comme défectueux ou le matériel douteux :
*   Commencez par une vérification : Appuyez d'abord sur v pour tester la lisibilité
*   Utilisez des vitesses plus faibles : Activez la limitation des pages sales (touche d) pour réduire la pression sur les E/S
*   Surveillez les journaux système : Vérifiez dmesg -w dans un autre terminal pour les erreurs de disque
*   Envisagez des problèmes matériels : Les boîtiers USB, les câbles et les contrôleurs causent souvent des problèmes

**Motifs d'erreur disque courants**
*   Déconnexions USB : dwipe détectera et tentera une récupération
*   Secteurs défectueux : Les erreurs seront comptées ; le travail s'arrête si excessif
*   Dépassements de délai du contrôleur : Le noyau peut se bloquer ; la détection de blocage devrait se déclencher
*   Disque plein : Les erreurs d'écriture après la fin du périphérique sont gérées avec élégance

**Récupération après abandon.** Si un effacement s'arrête en raison d'erreurs disque :
*   L'état du périphérique affiche s (arrêté/partiel)
*   Vous pouvez tenter de reprendre (w) - peut réussir si l'erreur était transitoire
*   Ou vérifier (v) pour voir ce qui a été réellement écrit
*   Envisagez de remplacer le disque si les erreurs persistent

Remarque : Certains disques sont fondamentalement cassés et ne peuvent pas être effacés de manière fiable. dwipe protégera lui-même et votre système, mais ne peut pas corriger les pannes matérielles.

---
#### Recommandations pour l'effacement SATA via USB
* Exigence 1 : Prise en charge SAT (SCSI-ATA Translation)

  * Le pont USB doit être capable de "transmettre" les commandes ATA.
  * Le test : Si l'application peut voir la section "Sécurité" dans les détails du disque, le pont prend en charge SAT.

* Exigence 2 : Alimentation stable
  * Les effacements du firmware (surtout sur les disques durs 3,5") consomment une puissance de pointe significative.
  * Le risque : Si un câble USB "bus-only" alimenté par USB est utilisé, la tension peut chuter pendant l'effacement, provoquant une réinitialisation du pont et "briquant" le disque dans un état verrouillé.
  * La recommandation : Utilisez toujours une station d'accueil USB alimentée en externe pour les disques 3,5".

* Exigence 3 : Intégrité du délai de commande
  * Le pont ne doit pas avoir de "Watchdog Timer" agressif.
  * Le risque : Certains ponts se déconnectent s'ils ne voient pas de "données" pendant 60 secondes. Lors d'un effacement du firmware, le disque est occupé en interne et n'envoie pas de données.
  * La recommandation : Utilisez des chipsets de haute qualité comme ASMedia (1153E) ou JMicron (JMS578).

##### Déverrouiller un périphérique verrouillé```
sudo hdparm --user-master u --security-unlock NULL /dev/sdX
sudo hdparm --user-master u --security-disable NULL /dev/sdX

Contribuer

Les issues et pull requests sont les bienvenus sur github.com/joedefen/dwipe

Licence

Licence MIT - voir le fichier LICENSE pour plus de détails.

Télécharger l’outil