Bescherming ontwikkelde software

Pagina: 1
Acties:
  • 197 views sinds 30-01-2008
  • Reageer

  • Emielio|IA
  • Registratie: Oktober 1999
  • Laatst online: 03-08-2018

Emielio|IA

Shit On My Interface

Topicstarter
Ik ben al geruime tijd op zoek naar een juridisch en technisch correcte methode om ontwikkelde software en hardware en tevens de bijbehorende intelligentie goed in te dekken. Dit wil ik het liefst laten uitvoeren door een externe en onafhankelijke partij. Wie heeft ervaring met deze vraag en kan me hiermee verder helpen? Welke partijen zijn geschikt om te benaderen en waar moet ik zoal rekening mee houden?

Of All The Things I've Lost In Life, I Miss My Mind The Most...


  • teun-v
  • Registratie: Maart 2005
  • Niet online

teun-v

Koffie? ja graag...

Ik weet niet wat je precies wilt gaan beschermen en waarop maar mischien is het wat om dit te doen doormiddel van hardware tokens. Ik weet zo geen nederlands bedrijf die dit aan biedt. Maar je zou in iedergeval kunnen kijken naar Sentinel van SafeNet. Zij bieden eventueel ook hulp bij het invoeren van een gepast licentie model. Kijk hier voor meer info.

Ook gek op Ovalracen? | Canon EOS 350 D | Canon EF-S 10-22mm F/3.5-4.5 | Sigma 17-70 F/2.8-4.5 DC Macro | Canon EF 70-200 F/2.8L USM | >Blog< |


  • Emielio|IA
  • Registratie: Oktober 1999
  • Laatst online: 03-08-2018

Emielio|IA

Shit On My Interface

Topicstarter
Kopieer-beveiliging is inderdaad een wezenlijk punt. Maar ik zit ook te denken aan het versleutelen van broncode op laptops en verwisselbare media, zoals memory-sticks en cd's / dvd's. In feite komt het neer op het totale beveiligings-aspect, tijdens de ontwikkeling t/m oplevering en installatie bij de klant.

Of All The Things I've Lost In Life, I Miss My Mind The Most...


Verwijderd

Bij een vorige werkgever werd gebruik gemaakt van USB dongles (hardware), die gebruikt werden om versleutelde software/documentatie etc. te kunnen lezen. Zonder de combinatie van dongle en licensie code kon de data niet gelezen worden. Ik ben bij dit proces slechts zijdelings betrokken geweest en kan je dus helaas geen details vertellen.

Zij maakten gebruik van HASP USB dongles. In hoeverre die ook voor jou interessant zijn, weet ik niet.

  • Plopeye
  • Registratie: Maart 2002
  • Laatst online: 12-12-2025
Verwijderd schreef op maandag 10 juli 2006 @ 14:18:
Bij een vorige werkgever werd gebruik gemaakt van USB dongles (hardware), die gebruikt werden om versleutelde software/documentatie etc. te kunnen lezen. Zonder de combinatie van dongle en licensie code kon de data niet gelezen worden. Ik ben bij dit proces slechts zijdelings betrokken geweest en kan je dus helaas geen details vertellen.

Zij maakten gebruik van HASP USB dongles. In hoeverre die ook voor jou interessant zijn, weet ik niet.
Helaas zijn er voor HASP sleutels al voldoende tooltjes die een rom image kunnen maken van de dongel en vervolgens via een emulator te gebruiken zijn.

Ik zou iets anders proberen...

Ik zit hier zelf ook mee ivm een .net app maar heb nog geen goeie oplossing kunnen vinden...
en zal dit topic dan ook op de voet volgen...

Unix is user friendly, it's only selective about his friends.....


  • mkleinman
  • Registratie: Oktober 2001
  • Laatst online: 10:53

mkleinman

8kWp, WPB, ELGA 6

Pfoe, misschien eens kijken naar Vormetric Coreguard? Ik weet dat www.northwave.nl zich daarmee bezig houdt.

Duurzame nerd. Veel comfort en weinig verbruiken. Zuinig aan doen voor de toekomst.


Verwijderd

Of je leert met piracy leven ;) Ik geef toe, het is een fase waar je door heen moet. (Heeft ook even geduurd voor we dat hier accepteerde)

Maar op een bepaald moment loop je het risico dat je meer met het beveiliging van je software bezig bent dan met je software zelf :) (Herinneren we ons Bleem nog, die was op een bepaald moment zo streng beveiligt dat het origineel zelfs niet eens fatsoenlijk wilde starten)

Andere optie is het versleutelen met bijv ASprotect, maar ook daar zijn weer wel cracks, patches etc etc voor te vinden. Als de software maar intressant genoegt is, gaan mensen een poging nemen het te kraken simpel als dat. Eigenlijk is de beste beveiliging gewoon on intressante software maken, maar dat is weer zo slecht voor je bank rekening ;)

Piracy is eigenlijk een soort van vleiend gedrag, het betekend dat je software boeiend genoegt is, en mensen die niet willen betalen, betalen het echt niet hoor. Zelfs niet als je het zwaar beveiligt, dat is absoluut geen enkele motivatie om het alsnog te kopen.

[ Voor 9% gewijzigd door Verwijderd op 11-07-2006 08:45 . Reden: zin vergeten ]


  • MissingDog
  • Registratie: Augustus 2002
  • Niet online
Ik denk dat dan de enige manier is om je applicatie te hosten in een Citrix omgeving, geheel in eigen beheer...met een zeer goede uptime & backup garantie naar de klanten. Dit is de enige manier waarop je 100% controle hebt over wat er met je software gebeurt. Daarnaast is er ook geen gezeik met het kwijtraken van keys, dongles die na een upgrade ineens niet herkend worden en platformonafhankelijkheid van je software (voor elk systeem is er wel een Citrix client).

Verwijderd

Dat is een optie idd, maar stel je voor he. Je hebt software gemaakt voor de aansturing van bijv een 5-assige freestafel. Hoe ga je dan die data van je citrix server (ik ga er vanuit dat je die remote hebt staan) naar je freestafel krijgen? En hoe goed denk je dat citrix performed met bijv CAD applicaties?? Ga je dan 1 citrix server per werkplek weg zetten???

Of als je bijv een pakketje hebt gemaakt om 25 DVD's naar 1 HD DVD te zetten? Ga je dan eerst al die 25 DVD's over een internet verbinding naar je citrix server streamen?

In theorie leuk, in de praktijk niet realistisch voor bepaalde toepassingen.

  • MissingDog
  • Registratie: Augustus 2002
  • Niet online
Verwijderd schreef op dinsdag 11 juli 2006 @ 09:07:
Dat is een optie idd, maar stel je voor he. Je hebt software gemaakt voor de aansturing van bijv een 5-assige freestafel. Hoe ga je dan die data van je citrix server (ik ga er vanuit dat je die remote hebt staan) naar je freestafel krijgen? En hoe goed denk je dat citrix performed met bijv CAD applicaties?? Ga je dan 1 citrix server per werkplek weg zetten???

Of als je bijv een pakketje hebt gemaakt om 25 DVD's naar 1 HD DVD te zetten? Ga je dan eerst al die 25 DVD's over een internet verbinding naar je citrix server streamen?

In theorie leuk, in de praktijk niet realistisch voor bepaalde toepassingen.
Die freestafels hebben tegenwoordig toch een embedded systeem? Niet zomaar een PCtje waar je gekopieerde troep op kunt dumpen? Daarnaast zou je gewoon via een UTPtje de data naar het embedded systeem kunnen sturen vanaf de app-server. SSH sessie/TFTP met instructie file.

Voor hardware-afhankelijke software is een andere beveiliging wellicht beter ja...encrypted extern bestandssysteem met online-verificatie (usb strongdisk). Kun je op alle werkstations mee werken, maar niet zo 123 kopieeren

25 DVD's naar 1 HD DVD...sinds wanneer kan je niet meer aangeven 'use local resources' bij het opzetten van een applicatieserver (nee, geen desktop/terminal server op basis van Citrix)....zijn meerdere varianten te implementeren...ene is volledige desktop-omgeving remote, andere is puur applicatie-hosting met alles op het lokale systeem uitvoeren. Zelfde kan ook met die CAD toepassing van je.

[ Voor 3% gewijzigd door MissingDog op 11-07-2006 09:17 ]


Verwijderd

De freestafels die ik hier heb staan hebben nog een serieele poort voor dataoverdracht. Het is niet dat je even een freestafel van 150K buiten zet omdat een applicatie ineens remote moet werken. Wat ik al zei, er is een fijne lijn tussen wat in theorie leuk werkt, maar in de praktijk voor problemen kan zorgen :)

Applicatie streaming is nog steeds de applicatie op je server uitvoeren, althans dat is wat onze citrix verkoper hier vorige week nog heeft zitten verkondigen toen we het over een upgrade van ons huidige citrix park hadden ;)

Je streamt enkel de output naar je lokale screen en niet je volledige applicatie. Anders zou je namelijk bij het starten eerst de volledige applicatie overhalen en dat zou het streamen volledig nutteloos maken. Het idee was volgens citrix dat je een ICA client installeerd op bijv je ipaq en vervolgens via GPRS enkel de screendata overhaalt. Anders moet je namelijk nog steeds eerst 70Mb overhalen voor word opstart. En als je de locale resource mapt, en de applicatie draait nog steeds op de server en verwacht de data ook op server nivo. Hoe je het ook draait, die data zal toch echt eerst op die server terecht moeten komen.

Nogmaals dit is geen aanval, en citrix kan voor 9 van de 10 applicatie's een perfecte uitkomst zijn. In belgie werkt bijv het sociaal secretariaat met een published application over internet en dat draait perfecto. Maar voor een hoop software is het geen echte oplossing omdat de kosten vele malen hoger zijn dan de baten ooit zullen zijn.

[ Voor 13% gewijzigd door Verwijderd op 11-07-2006 09:39 . Reden: regeltje toegevoegt :) ]


  • Emielio|IA
  • Registratie: Oktober 1999
  • Laatst online: 03-08-2018

Emielio|IA

Shit On My Interface

Topicstarter
We wijken nu een beetje af van de daadwerkelijke vraag. Het probleem is niet zozeer Piracy, ik ben meer op zoek naar een oplossing om tijdens de ontwikkeling van de hardware en software gedekt te zijn. Het mag dus niet zo zijn dat een (tijdelijke) medewerker of gast er zomaar met de data vandoor kan gaan. De data zal dus versleuteld moeten zijn; ik zit zelf te denken aan meerdere beveiligingsniveau's.

Of All The Things I've Lost In Life, I Miss My Mind The Most...


  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 08:27

Tomatoman

Fulltime prutser

Eigenlijk kun je deze vraag wat algemener stellen, namelijk: hoe kun je voorkomen dat een medewerker er met willekeurige digitale bedrijfsgegevens vandoor gaat? Of het nou om broncode gaat, een contract in de vorm van een Word-document of een lijst van alle medewerkers die is gedownload uit het corporate telefoonboek - de vraag is niet wezenlijk anders.

De eerste stap die je moet nemen is natuurlijk een open deur: zorg dat een medewerker slechts toegang heeft tot de informatie die hij daadwerkelijk nodig heeft voor het uitoefenen van zijn functie. Zo hoeft de programmeur niet bij de contracten te kunnen op de centrale server, maar wel bij alle broncode waar hij op dat moment aan werkt. Dit is eenvoudig te implementeren met het toekennen van rechten aan de account van iedere medewerker.

De tweede stap is dat in het contract van iedere medewerker en iedere inlener is vastgelegd dat hij geen dingen doet die schadelijk zijn voor het bedrijf. Ook mag hij geen broncode van het bedrijf meenemen of gebruiken zonder toestemming van het bedrijf. Deze bepaling is van wezenlijk belang op het moment dat de medewerker over de schreef gaat en je disciplinaire maatregelen wilt nemen of elkaar bij de rechter treft.

De derde stap is bepalen hoe groot het restrisico is. Gaat je bedrijf failliet als de inlener ervandoor gaat met de broncode waar hij op dat moment aan werkt? Krijg je een enorme claim aan je broek als hij bedrijfsgevoelige applicatiedata meeneemt uit de applicatie die op dat moment voor een klant wordt ontwikkeld? Zo ja, dan moet je extra maatregelen treffen. Zo nee, weegt dan alle moeite wel op tegen het risico dat je loopt?

Extra maatregelen kunnen zijn dat downloads van informatie naar USB-sticks, floppy's en dergelijke worden verboden en dat medewerkers hun laptop niet mee naar huis mogen nemen. Maar ook hier geldt: verbieden is één, het naleven van de regels is twee. Werkelijk voorkomen dat data zoals broncode wordt gestolen is vrijwel ondoenlijk. Als broncode op het scherm van de medewerker verschijnt, kan hij het altijd wel per e-mail naar huis sturen of desnoods uitprinten.

Verzin jij maar een bescherming, dan verzin ik een list om die bescherming te omzeilen. Je kunt het ongeoorloofd meenemen van bedrijfsgegevens moeilijk maken, maar niet meer dan dat. Daar is geen technologische oplossing voor te verzinnen, tenzij je in een bunker gehuisvest bent en alle medewerkers bij de poort fouilleert. Helaas, het is niet anders. :)

Een goede grap mag vrienden kosten.


Verwijderd

idd, als iemand kwaad wilt, gaat hij kwaad doen.

Dan hebben we het nog niet over het feit dat iemand niet fysiek code steelt, maar wel ideeen en in zijn vrije tijd gewoon nabouwt wat ie overdag bij jou aan het maken is.

  • empheron
  • Registratie: Mei 2004
  • Laatst online: 09-02 22:39
Voor het beschermen van de code (intellectueel eigendom / copyrights) kun je gebruik maken van een paar simpele zaken : Code-Signing en obfuscation.

Afhankelijk van de gebruikte ontwikkelomgeving (met je .Net of Java dan zit je goed) zijn er voor Code-Signing standaard mogelijkheden. Verder kun je met obfuscation redelijk goed reverse-engineering tegen gaan (je maakt het de hackers in ieder geval een stuk moeilijker).

Indien je zelf de beschikking hebt over een webserver dan kun je in je applicatie bijvoorbeeld iets inbouwen waardoor deze bij opstarten contact opneemt met een webservice. Deze webservice kun je het een en ander laten doorgeven bijvoorbeeld machinenaam, ip-adressen, sleutels, gebruikersnaam + wachtwoord etc. Jouw webservice geeft dan akkoord om de applicatie door te laten starten.

Door obfuscation en code-signing voorkom je dat anderen in je code gaan hacken om deze controle eruit te slopen.

Niets is waterdicht natuurlijk... zo moeilijk mogelijk maken is dus je enige keus. Dongles zijn vaak te duur en onpraktisch.

[ Voor 7% gewijzigd door empheron op 11-07-2006 16:46 ]

Pagina: 1