Qnap Outil de déchiffrement autonome pour Hybrid Backup Sync

Mikiya

Chevalier Jedi
25 Octobre 2016
440
0
0
Bonjour à tous !
Je vous propose un outil en JAVA pour déchiffrer en local les fichiers envoyés par Hybrid Backup Sync vers les providers en ligne comme Dropbox ou OneDrive, à l'aide du mot de passe choisi sur le NAS. Actuellement il faut repasser par le NAS pour les ouvrir (ce qui n'est pas bon pour les cas de casses, vols, ...) donc il faut un outil autonome, mais QNAP n'en fournit pas encore.
Je l'ai developpé dans le but d'avoir un outil : léger (< 1 Mo), rapide (<3s pour 300Mo sur ma machine), le plus universel possible, open source, avec un minimum de dépendances.

Je ne pourrais pas être tenu responsable des éventuels dommages, cet outil est fournis en open source et sans garantie.











License:
Outil sous licence GNU version 3.

Description:
Premièrement, ce programme N'EST PAS supporté par QNAP Systems Inc.
Il s'agit d'un outil pour déchiffrer les fichiers envoyés par Hybrid Backup Sync vers les providers en ligne (Dropbox, ...).
Il ne s'agit PAS d'un outil de hacking, il est nécessaire de connaitre le mot de passe utilisé, celui-ci est demandé.
Deux exécutables sont fournis, en ligne de commande ou avec UI, pour des utilisations à la fois en script et par l'utilisateur.
A la fin de chaque déchiffrement, le hash des fichiers clairs est comparé aux originaux clairs pour vérifier la bonne procédure.

Compatibilité:
En tant que programme JAVA, la compatibilité est large, du moment que une JRE7+ est installée.

Requis:
- Un OS récent. x86 et x64 supportés.
- Oracle JAVA JRE 7+,:
http://www.oracle.com/technetwork/java/index.html
ou OpenJDK 7+:
http://openjdk.java.net/

- *** Déprécié si JAVA update 151 au moins est installé ***
- Unlimited JCE policy pour JAVA selon version,ici:
JAVA 7 : http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
JAVA 8 : http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
ATTENTION: Après chaque update JAVA? la policy doit être réappliquée (c'est un copié/collé à faire).
- *********

- Testé sur Windows 10 64bits, CentOS 6 32 bits, Oracle JRE 7, Oracle JRE 8 et Oracle JRE 9.

NOTE IMPORTANTE POUR LES UTILSATEURS MAC AVANT JAVA 151 :
- Utilisez Ctrl+C/Ctrl+V pour copier/coller le mot de passe, Command ne marche pas.
- Pour les JCE il y a 2 emplacements :
JRE: /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/jre/lib/security
JDK: /Library/Java/JavaVirtualMachines/jdk1.x.x_xxx.jdk/Contents/Home/jre/lib/security



Utilisation:
Déjà il faut récupérer vos fichiers en local depuis le provider en ligne.

En ligne de commande:
1. Allez dans le répertoire de l'outil
2. Utilisé la ligne :
java -jar hybrid_backup_sync_decipher_XXX.jar -i CHEMIN_FICHIER_CHIFFRE -o CHEMIN_FICHIER_CLAIR (où XXX est la version courante).
Le mot de passe sera ensuite demandé, à moins de le passer directement avec l'option '-p' en paramètre. Un mode verbose est possible avec '-v'.

Avec UI :
1. Allez dans le répertoire de l'outil
2. Utilisé la ligne :
java -jar hybrid_backup_sync_decipher_XXX_gui.jar (ou lancer depuis votre explorateur)
3. Choisir la source chiffrée et la destination claire
4. Cliquer pour déchiffrer.
5. Un pop-up fournira le résultat, plus d'informations dans le fichier HBSUtility_report.txt dans le repertoir de destination.

Note : Il est possible de déchiffrer un dossier.
Si un dossier est choisi en source, la destination doit aussi être un dossier.
Si un dossier est choisi en destination mais pas pour la source, un fichier du même nom sera crée dans le dossier de destination.
Si un même dossier est choisi en destination et en source, un fichier du même nom sera crée dans le dossier de destination avec un préfix "plain_".


Voila à vous de me dire !

Version courante : 1.4.1

Lien :

https://github.com/Mikiya83/hbs_decipher/releases/

Changelog :
1.4.1 :
– Possibilité de lancer l’IHM redimensionnable avec l’option « r » ou accompagnée d’un fichier « resizeEnable »
– Mise à jour des libs Apache Commons

1.4 :
-Support de l'option de compression en plus du chiffrement dans HBS.
1.3.2 :
-Ajout d'un mode récursif pour déchiffrer une arborescence (à utiliser avec précautions !) et quelques améliorations de la version GUI.
1.2 :
- Ne dépend plus de l'installation manuelle des fichiers JCE si JAVA update 151 est installé.
1.1 :
- Correction d'un soucis sur la détection des fichiers HBS sur les systèmes Unix (soucis d'encodage) depuis HBS 2.1
1.0 :
- Compatible avec le nouveau moteur cloud de la version HBS 2.1.
RC5 :
- Fix pour la taille de police sur écrans à hautes résolutions (mais sans retours et j'ai pas d'écrans High DPI donc dites moi !)
RC4 :
- Fix pour la taille de fenêtres sur écrans à hautes résolutions (taille de fenêtre désormais calculée, 1/2 de la largeur, 1/2 de la hauteur)
RC3 :
- Fix pour l'écrasement d'un fichier en place (renomme avec plain_ la sortie)
RC2 :
-Première version publique


:geek:
 
Merci :D
Je vais guetter pour suivre les mises à jours si elles cassent l'outil. ;)
La une petite update mineure, avec ajout d'un changelog aussi.
 
RC4 en ligne, update du lanceur graphique suite à une remontée de fenêtre minuscule sur une surface pro 4, désormais la taille est calculée. Rien d'autre à l'horizon, pas de remontées négatives c'est encourageant :geek:

edit : bon à priori la RC4 corrige la taille des fenètres sur hautes résolutions mais la taille des polices elle foire encore... Le moyen le plus propre et universel serait en JavaFX mais ça demanderait du rework et JAVA 8 mini (je préfère rester au 7 mini), je vais faire l'impasse, le soft est utilisable sur écrans High DPI mais c'est écrit petit, et sinon il y a le mode "ligne de commande". Essai en RC5
 
RC5 à tester (j'ai tenté d'adapter un peu la taille de police qui foire sur écrans type retina / surface pro, mais je peux pas vérifier donc faites un retour ceux qui peuvent merci !)
 
Bon alors grosse mise à jour aujourd'hui !
Et je vous invite TOUS à la faire rapidement car grosse faille à priori fixée :eek:
Je vais étudier un peu ça pour vérifier, et ça a cassé la compatibilité avec mon outil, comme je m'y attendais.
Vu que QNAP n'en propose toujours pas, je vais voir si une update est possible facilement.
 
Voila update en 1.0, normalement compatible avec la nouvelle version :D (et je confirme le fix de sécurité).
 
Update 1.1 : Correction d'un soucis sur la détection des fichiers HBS sur les systèmes Unix (soucis d'encodage) depuis HBS 2.1.
Au passage j'ajoute une note, sur Mac, pour copier coller le password, il faut utiliser Ctrl+C/Ctrl+V, Command ne marche pas.
 
Update 1.3.2
Ajout d'un mode récursif pour déchiffrer une arborescence (à utiliser avec précautions !) et quelques améliorations de la version GUI.
 
Update 1.4:
Support de l'option de compression en plus du chiffrement dans HBS (je l'avais jamais remarqué !)
edit 1.4.1 : release mineure pour contourner les cas où la fenêtre n'est pas bien dimensionnée (si Windows est zoomé).
 
Petit up pour signaler que le projet a un peu avancé, avec des bugfixs, des petites améliorations graphiques, une compatibilité MAVEN (pour ceux à qui cela parle ;) ), et surtout une version Android qui se prépare grâce à l'aide de Sky-84 !

C'est toujours par ici pour la version PC : https://github.com/Mikiya83/hbs_decipher ("Releases" pour le téléchargement)
et là pour un avant gout de la version Android (en beta un peu "caché" pour l'instant, mais ça marche bien) : https://github.com/Sky-84/hbs_decipher_for_Android
 
Bonjour Mikya
Avant tout bravo et merci pour ce travail qui sans doute profitera à la communauté

Pour ma part j'utilise Hybrid Backup Sync pour sauvegarder mes fichiers sur Amazon, bref sur mon PC j'utilise AxCrypt depuis plusieurs années et je crypte avec tous mes fichiers sensibles avant de les envoyer sur amazon. quand je récupère mes fichiers il suffit juste que je les décrypte avec le même outil assez rapidement d'ailleurs

Donc ma question en espérant qu'elle ne soit pas trop idiote : quel serait mon intérêt d'utiliser un outil comme le tiens ( ça ne remet en aucun cas l'excellent travail que tu viens de fournir ni l’intérêt en général de ton outil )

merci pour ta réponse
 
Salut
Pas de soucis à poser la question bien au contraire. Il existe de multiples alternatives quand on est sur PC (AxCrypt mais aussi des outils comme BoxCryptor,... spécialisés dans la sauvegarde chiffrée sur Cloud). Donc ce n'est pas vraiment pour ce cas la que mon outil s'adresse. Hybrid Backup Sync peut en effet être utilisé comme tu le fais pour dupliquer ce qui vient déjà du PC et en faire une copie simple de sauvegarde, et dans ce cas, au plus tôt c'est chiffré mieux c'est, donc sur le PC directement.
Mais il y a aussi de nombreux cas ou l'on veut garder les fichiers en clair sur le NAS. Soit pour y accéder depuis d'autres applis (films, photos,...) soit pour garder un accès facile depuis les autres appareils (tel, navigateurs...). Dans ce cas, le fichier est en clair sur le NAS par volonté, mais la copie "de sécurité" sur un cloud externe elle n'a pas besoin de l'être. Donc on demande à Hybrid Backup Sync de chiffrer le fichier lorsque l'on configure la copie vers Amazon ou autre. C'est ce cas la que gère mon outils.
Car Hybrid Backup Sync chiffre et déchiffre de lui même sur le NAS, mais QNAP ne fournit pas d'outil officiel pour déchiffrer les fichiers sur un PC ou bien sans le NAS s'il a un pépin tout simplement. Dans ces cas là, mon outil peut servir ;)
A chacun d'adapter au mieux à son cas et surtout à l'arrivée de pas laisser trainer des fichiers sensibles en clair sur les drives, c'est l'essentiel !