PDA

Voir la version complète : Protéger un support contre la copie mais autoriser la lecture.



Buite
07/10/2011, 11h21
Bonjours les canards,

Connaissez vous un moyen de protéger un support (en l'occurrence un DD externe) contre la copie mais en autorisant la lecture?


Je vous explique, dans le DD il y aurait plusieurs logiciels et énormément de données, il faudrait que les utilisateurs puissent exécuter les logiciels mais ne puisse pas utiliser les données (ce sont les logiciels qui utilisent les données). J'ai pu lire quelques sujet sur le verrouillage et autre trics qui sont facilement contournables donc inintéressants. Dans ce cas précis il faudrait que ce soit impossible à contourner (oui oui je sais l'impossible n'est pas français :rolleyes:).

J'avais même penser à cacher l'intégralité du contenu du disque dur, car en effet les logiciels sont appelé par un autre logiciel qui lui se situe sur la station de travail. Ce serait une solution adapté au problème, l'utilisateur n'a pas accès lui même au disque dur donc il ne voit pas ce qu'il contient donc il ne copie pas! L'accès serait réservé seulement à un logiciel spécifié.

De plus (et la ça devient tendu) au besoin il faudrait qu'un patch ou une mise à jour soit capable d'écrire sur le DD.

Donc je résume, un DD externe contenant des programmes et des données, l'utilisateur ne peut pas y accéder (si possible en cachant le contenu), mais si il y a une mise à jour elle y a accès.

Merci pour votre aide.

aggelon
07/10/2011, 11h53
Euh.... c'est du data leak prevention dont tu nous parles... c'était très à la mode il y a quelques années, avant qu'ils arrivent tous à la même conclusion: ça coute super cher et c'est toujours contournable, l'utilisateur qui veut copier tes données y arrivera toujours...

On retombe donc sur la définition de base de la sécurité : "que le gain obtenu soit inférieur au coût mis en œuvre pour l'obtenir"... en clair, la solution que tu vas choisir dépend de où tu vas mettre le curseur 'tolérance'...

http://fr.wikipedia.org/wiki/Fuite_d%27information -> bon courage...

Buite
07/10/2011, 12h17
Je sais bien que c'est compliqué, cher, chronophage et contournable.

Le problème est que les logiciels et données fournis sur le DD sont vraiment très très couteux et il est certain que si on livre un DD tel quel sans protection la copie se fera dans la seconde. Je ne cherche pas à trouver un moyen qui empêcherai même les plus costaux des hackeurs qui défonce la CIA en 4 lignes de commande dans les films américain. Juste un moyen qui pour le commun des motels serait une barrière. Une solution simple et peux couteuse à mettre en place. A dire vraie il en existe mais il existe aussi des tonnes de tutoriel pour les contourner (vive le net).

J'ai peut être eu une petite idée qui ne devrait pas être trop chronophage. Je sais qu'il est possible de modifier les droit d'accès à un disque dur depuis les propriétés de celui-ci (lecture, écriture, exécution). Dans le menu on nous propose plusieurs types d'utilisateurs que se soit administrateur, utilisateur enregistrés, utilisateur logés... Est il possible d'y ajouter une autorisation par rapport à un logiciel? Comme cela Je verrouille le DD et seulement mon logiciel pourra pioché dedans voire même recalibrer les droits d'accès si nécessaire.

Je penses que ce serait la solution la plausible.

aggelon
07/10/2011, 12h20
Je suppose que tu parles des droits NTFS ?
Peut-être qu'en créant un utilisateur spécifique, en donnant les droits qu'à cet utilisateur et en éxecutant le soft sous le compte de cet utilisateur ('Executer en tant que', l'héritier de la commande runas), ça pourrait peut-être marcher et peut-être suffire ?

Buite
07/10/2011, 13h44
Oui je parle de ces droits là.

Je suis en train de regarder ça. Le problème c'est que si l'on place le DD sur un poste ne disposant pas de cet utilisateur spécifique est ce que le logiciel aurait toujours accès au contenu du disque dur? Si oui ce serait parfait! Si non, je testerai autre chose.

aggelon
07/10/2011, 14h22
J'aurais justement pensé le contraire : les droits NTFS fonctionnent notamment avec un identifiant de sécurité (SID) qui est généré lors de la création de l'objet utilisateur...

Ainsi, tu crées l'utilisateur sur le poste lors de l'install, puis seulement tu accordes les droits à cet utilisateur, ce qui te permet d'implémenter (oh-oh!) les 2 mamelles de la sécurité : ce que je possède (le DD externe) + ce que je sais (le login/pwd).

Dis autrement: le disque ne fonctionnera QUE sur le PC sur lequel tu as 'installé' le logiciel (chez ton client je suppose), les données ne seront pas accessible si on met le DD sur un autre PC

(je te MP quand même)

Buite
07/10/2011, 14h51
Est ce qu'il est possible de créer un logiciel ou une ligne de commande qui modifie les droit d’accès d'un DD depuis la session, histoire qu'il n'y ai que lui qui ai les droits sans avoir a venir lui installer?

aggelon
07/10/2011, 14h55
oui, ça peut se scripter: double-clic sur un .CMD fait maison, et n'importe qui ouvrant le colis reçu par la poste peut mettre en place la sécurité... mais bon, ça revient à livrer la clé en même temps que la serrure :p

Buite
07/10/2011, 14h59
Sauf si je demande à l'utilisateur d'avaler la clé, la plupart le feront! Les autres je les élimine!

aggelon
07/10/2011, 15h18
Arf ! :lol:

deathdigger
07/10/2011, 15h41
Le disque dur doit obligatoirement atterrir chez l'utilisateur ?
Y'aurait pas moyen plutôt de brancher ce HDD sur un poste/serveur et que les personnes y accèdent via connexion à distance ?
Ou alors, si t'as des Citrix chez toi, tu publies uniquement les applications (même pas de bureau partagé).

Buite
07/10/2011, 15h55
Les données sont trop lourdes pour qu'une connexion internet actuelle puissent les faire transitées sans que ça ne gêne l'utilisateur. Si non c'est sûr que cela aurait été la bonne solution.

deathdigger
07/10/2011, 16h11
Faut-il faire transiter les données ?
Si tu as une appli sur un serveur X qui utilise des données en local (ou sur un serveur dans le même réseau local), tu n'auras pas de transfert de données vers l'utilisateur (uniquement l'écran dans un sens et les inputs claviers/souris dans l'autre).

Daedaal
07/10/2011, 17h45
Pour le coup des permissions NTFS -si mes souvenirs sont bons- l'administrateur d'une machine peut faire un "take ownership" sur n'importe quel fichier/répertoire situé sur un disque local (sauf peut être certains fichiers système windows)...

Pas sûr que cette solution soit viable pour faire face à ton problème...

aggelon
07/10/2011, 18h28
ouais, c'est ce que j'avais dit en MP :sad:

altofeux
07/10/2011, 19h06
si les logiciels et les données sont si couteux que ça pourquoi ne pas rajouter un peu de sous au budget et fournir une machine pour les lire au lieu d'un simple DD ? ça doit être beaucoup plus facile à sécuriser.

Après pour en rester au simple DD, n'est-il pas possible de le crypter, en y ajoutant un programme qui servirait d'interface avec les données et programmes sur le disque ?

Daedaal
07/10/2011, 20h28
ouais, c'est ce que j'avais dit en MP :sad:

Aucune animosité personnelle, mais tu ne trouves pas que c'est COMPLETEMENT CON (et je pèse mes mots) de réserver ça à un MP, alors que d'autres personnes qui se poseraient une question peu ou prou similaire pourraient tomber sur le topic, qui -de fait- leur conseillerait une connerie au lieu de leur exposer la réalité des choses ?
:|

aggelon
07/10/2011, 20h52
Ouais, c'est une façon de voir les choses...

En fait, sachant qu'à chaque mesure de sécurité correspond au moins une contre-mesure,
et que la mesure choisie répond cependant au moins à un niveau sécurité (même s'il te semble bas, il peut cependant pas mal bloquer les utilisateurs de base),
je préfère d'une manière générale ne diffuser que les mesures de sécurité, et non pas les moyens de les contourner...

Mon smiley :sad: n'était pas pour le fait que je me trouvais con de ne l'avoir dit qu'en MP, mais le fait que tu diffuses cette contre-mesure publiquement...

Si tu penses que proposer une mesure de sécurité pour laquelle il existe un contournement est complétement con, alors il n'y aura forcément que des réponses connes (vu qu'aucune sécurité n'est imparable, comme je l'avais indiqué en préambule de ma réponse)... donc, autant laisser tomber la sécurité et laisser toutes les portes ouvertes :|

Wanou
07/10/2011, 21h37
Ben la seule réponse, elle est simple: si le logiciel est si couteux que cela, il faut développer une solution maison, genre un controleur, qui ne va décrypter les données qu'à la demande, si on lui fournit des clefs selon un protocole à la con , volontairement complexe, et que seul ton logiciel utilise.
La variante étant de développer un FS à la con, là aussi pour empêcher qu'on puisse lire le disque.

On en revient au truc de base: si tu veux VRAIMENT protéger tes données... Il ne faut pas distribuer les données.
Tu as des tonnes de solution (Genre Citrix, RemoteDesktop...) qui te permettent d'héberger une appli sur un de tes serveurs, et de permettre à un utilisateur d'accèder au logiciel sans avoir accès à l'infra derrière.

Le défaut, c'est que ce sont des solutions 'online'.

Daedaal
08/10/2011, 12h23
Ouais, c'est une façon de voir les choses...

En fait, sachant qu'à chaque mesure de sécurité correspond au moins une contre-mesure,
et que la mesure choisie répond cependant au moins à un niveau sécurité (même s'il te semble bas, il peut cependant pas mal bloquer les utilisateurs de base),
je préfère d'une manière générale ne diffuser que les mesures de sécurité, et non pas les moyens de les contourner...

Mon smiley :sad: n'était pas pour le fait que je me trouvais con de ne l'avoir dit qu'en MP, mais le fait que tu diffuses cette contre-mesure publiquement...

Si tu penses que proposer une mesure de sécurité pour laquelle il existe un contournement est complétement con, alors il n'y aura forcément que des réponses connes (vu qu'aucune sécurité n'est imparable, comme je l'avais indiqué en préambule de ma réponse)... donc, autant laisser tomber la sécurité et laisser toutes les portes ouvertes :|

J'ai beau être plutôt d'accord sur le fond (toute mesure de sécurité peut être contournée avec les méthodes et outils appropriés), il n'en reste pas moins que la solution NTFS ne correspond pas aux besoins de l'OP : elle n'est en aucun cas prévue pour ça, et son "contournement" est librement et facilement accessible dans les fonctions de base de l'OS (pire, ça se fait via l'UI en 5-6 clics :|).

Maintenant, si tu considères que "clic droit">"Properties">"Security">"Advanced">"Ownership"... est une full disclosure ou une manipulation complexe qu'il convient de ne pas révéler sur un forum public, nous n'avons effectivement pas la même compréhension du terme "sécurité".

Bref, c'est une solution aussi inappropriée que ta réaction à mon post. Et comme cette discussion n'apporte rien à l'OP, en ce qui me concerne toute suite à notre conversation sur ce sujet a plutôt sa place en MP.

---------- Post added at 12h23 ---------- Previous post was at 12h07 ----------

Et un gros +1 concernant le post de Wanou : Dés lors que tu donnes un accès physique aux données, il est extrêmement difficile de garantir la moindre sécurité desdites données. Même avec un cryptage complet des données et une API spécifique qui décrypte à la volée les données nécessaires à ton soft, le fait que le support soit accessible permet -à terme- de lui faire subir les outrages intimes nécessaires à un décryptage complet. Maintenant, l'investissement (temps et re$$ource$ nécessaires) pour cracker la protection peut être très supérieur au bénéfice qu'on cherche à en tirer (et là, on peut considérer que c'est plutôt pas mal protégé).

Ceci dit, j'imagine que les données et autres applications contenues sur le support que tu souhaites sécuriser sont elle-mêmes couvertes par une licence. Peut être que la sécurisation peut passer par la facturation de ladite licence à l'utilisateur final (c'est plus cher, mais la sécurité n'est plus ton problème... Surtout que le développement d'une solution custom devra aussi être répercuté sur le prix de vente, et qu'il peut être TRES élevé.).

Buite
08/10/2011, 13h57
Coin!

Merci pour vos réponses et votre participation.

Les données doivent êtres livrées sur un support, nous ne pouvons pas les "streamer" ou mettre en place une machine (ou un serveur) chez le client.

J'avais pensé à la solution de cryptage des données mais j'ai peur que cela alourdisse le travail du CPU et mette a mal tous notre travail sur l'optimisation des logiciels.

En fait j'ai pensé a une solution ce matin, solution qui ne devrait pas nous coûter trop cher en développement. Et oui il ne faudrait pas perde plus d'argent à évité la copie que ce qu'elle nous fait déjà perdre. Dans le DD nous fournissons principalement des données, donc pourquoi en plus du DD ne pas ajouter une clé USB U3 (clé usb en lecture seule grâce à une puce physique dons incontournable) qui elle contiendrait 2 ou 3% des données (les plus importantes) en plus d'un petit soft (léger) qui lui serait garant des droits affecter au DD.

Et pour "sécuriser" les 97 ou 98% de données sur le DD complétement repenser arborescence même de ces données mêmes pour que même si quelqu'un copie le DD il ne puisse l'utiliser car ce serait la clé qui contiendrai les chemins exact des données. En fait le logiciel interne interroge la clé qui elle renvoie la bonne adresse. (à voire pour crypter le fichier d'adresse)

Donc c'est toujours contournable mais beaucoup plus complexe et ça devrait être moins coûteux à mettre en place.

Rocca
08/10/2011, 15h31
Mouai par contre j'aurais une suggestion, pense un truc tout con hein!! Panne de la clef USB ! Si cela arrive on fait quoi ?? Prends les devants dès à présent pour pallier au problème ;)

Wanou
08/10/2011, 21h52
[...]
une clé USB U3 (clé usb en lecture seule grâce à une puce physique dons incontournable)

Ouaf ouaf ouaf ouaf.
Comme disait mon vieux prof d'info (et avant lui hoover): on ne peut avoir une confiance dans un machin physique que si on le coupe en 4 et qu'on enterre les 4 pieces aux 4 coins du globe dans un endroit tenu secret.
A ton avis, il faut combien de seconde pour faire tomber une protection U3 ? ?

moimadmax
09/10/2011, 11h44
Sinon j'ai déjà vu des solutions dans des conteneur VMware. Mais je ne sais pas du tout ce que cela vaut.

Buite
09/10/2011, 13h22
Ouais je suis en plein doute là...

Je ne sais plus trop comment protéger tous ça tout en étant obligé de livre un DD.

Je sais ben que rien n'est infaillible, il faut que je trouve le juste milieu.

deathdigger
10/10/2011, 09h49
En fait, je pense qu'il faut que tu nous en dises plus sur le programme en lui-même :
- Comment sont stockées les données ?
- Que fait ton programme par rapport à ces données ?

En gros : Si tes données sont stockées dans une base (mysql ou autre), pourquoi ne pas fournir un PC qui fera office de serveur BDD, et ton programme se connecte dessus.

Après tu peux aussi filer un PC sous linux avec un profil qui donne accès uniquement au lancement de ton programme.

La meilleure solution selon moi restant la connexion à distance via citrix ;)

Buite
10/10/2011, 10h28
Je vais me renseigner je ne sais pas ce que j'ai le droit de dire (charte confidentialité et tous le blabla).

Wanou
10/10/2011, 19h40
Je pense à un truc autrement: pourquoi tu veux réinventer l'eau chaude ?
Parce que, je ne sais pas si tu le sais, mais il y a des éditeurs spécialisés dans ce genre de problèmes: les clefs Sentinel HASPs & Co, par exemple, necessitent de vrais connaissances pour être cassées.
(On en revient toujours au même problème: tu ne pourras jamais l'empecher: il faut juste rendre le truc tellement compliqué que personne de sensé ne se lancera dans une telle entreprise).

Buite
11/10/2011, 11h02
Je ne connaissais pas, merci de ton aide je vais regarder plus précisément.