?
Solved

Protect Source Code From Developers

Posted on 2011-10-10
14
Medium Priority
?
419 Views
Last Modified: 2012-05-12
Hi,
We got 54 software developers, they are working in ERP solution.
Is there any (technical ) way to protect our code during development so that if a developer leaves the company at least unable to access files not in his domain of development?

We already protect the code legally, we are looking for technical way (only).

is TFS helps?
0
Comment
Question by:ethar1
14 Comments
 
LVL 15

Expert Comment

by:Minh Võ Công
ID: 36947063
0
 

Author Comment

by:ethar1
ID: 36947080
That protect the dll from decompile.
0
 
LVL 9

Accepted Solution

by:
pritamdutt earned 1000 total points
ID: 36947099
I would suggest you to implement a Source Code Control System Such as SVN/VSS/ Team foundation Server to implement such a mechanism.

This will help you achieve following:
1. Version of entire source code
2. Specifying permissions to who can access what piece of code etc.

This will help in a longer run, if not already implemented!

Read more about Team Foundation Server, Subversion, Git

Hope this helps.
0
Efficient way to get backups off site to Azure

This user guide provides instructions on how to deploy and configure both a StoneFly Scale Out NAS Enterprise Cloud Drive virtual machine and Veeam Cloud Connect in the Microsoft Azure Cloud.

 
LVL 9

Expert Comment

by:pritamdutt
ID: 36947136
Here is one such tool http://www.preemptive.com/products/dotfuscator/overview, you already have community edition of this product as part of Visual Studio.
0
 
LVL 8

Assisted Solution

by:jagrut_patel
jagrut_patel earned 200 total points
ID: 36947191
"... if a developer leaves the company at least unable to access files.."?
I am not able to understand how a developer who is no longer on you team can access a source code file which, I guess, is residing in your company's private network.

If what you mean is to protect the binaries than as others mentioned obfuscation can help.

Source Control systems can help you manage which developers can 'commit' (edit and save) which files. If some developer leaves, you can revoke rights of that developer from Source Control system.
0
 

Author Comment

by:ethar1
ID: 36947203
what if copy the complate source code?
0
 

Author Comment

by:ethar1
ID: 36947292
pritamdutt, using TFS, will allow to compaile all project and run it for test but not access all codes?
0
 
LVL 11

Assisted Solution

by:madgino
madgino earned 400 total points
ID: 36947302
If all developers need to compile the full project (which is usually the case) then you can't do nothing as in order to compile they must be able to read it and if they can read it they can copy it.

Otherwise maybe a smart Source Control system can decline access to some files and allow to others. If you go this way maybe you can split the project in multiple modules and grant each team access to only a specific module which can compile self-alone but it's not useful enough for the functionality point of view. Also maybe you can create some 'dummy' classes with no code that can be used for compiling the project and allow access to the full classes only to some developers.

Anyhow in my opinion the overhead overcomes the benefits.

0
 
LVL 9

Expert Comment

by:pritamdutt
ID: 36947307
With respect to your requirement of preventing an user from copying the source code using any of the following methods:
- Copy to External drive
- Copy to a personal email account


To address these scenarios you would require an excellent Data Leak Prevention Tool & Policy in place.

I am providing link of few such products for your review and further reading:
Code Green Networks
Proofprint
McAfee Data Protection Tools
Trust Wave
Verdasys


Hope this helps!
0
 

Author Comment

by:ethar1
ID: 36947494
Thanks for the links I will check it.
We stop access to usb & all drivers , and block the CD + monitoring all outgoing emails + not allowing emails more then 50kb + restrict access to internet.
But my question is how to prevent the developer from reading source code not related to his job ?
0
 
LVL 9

Expert Comment

by:pritamdutt
ID: 36947574
To prevent a user from reading unrelevant source code.. Configure a source code control system with strict access control.

Which means, you would not be giving the developer permission to access irrelevant code.

Hope this helps!
0
 
LVL 9

Assisted Solution

by:richard_hughes
richard_hughes earned 400 total points
ID: 36947697
Hello ethar1

The only real way to protect your source code is by following methods like this. These methods would stop the developer copying the code for themselves:

1) Not allowing any personal laptops/computer being brought into the development lab
2) No use of USB sticks etc...
3) Strictly monitor internet access so that the source code cannot be uploaded
4) Disallow emails to any email address but authorized addresses so that the source code cannot be emailed

But I am afraid that it is not 100% possible to protect your source code, as the developer can always remember the code. Enforcing the developer to sign an NDA may help here though.

Thanks,

Richard Hughes
0
 

Author Comment

by:ethar1
ID: 36948411
pritamdutt, if I restrict access to irrelevent code, the developer can run the whole application?
richard_hughes, We already apply all that and more. the problem that the developer may read the code and memorize it.
The concept we are look for is no developer access any code not built by him.
in same time he can run the whole application for testing.
0
 
LVL 9

Expert Comment

by:pritamdutt
ID: 36949531
Hi ethar!

Generally in a large scale modular application such as yours a test/developer needs to have only reference to Function Definitions, and not the whole source code.
They can use the compile DLLs of the other modules to performs tests

0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
The article shows the basic steps of integrating an HTML theme template into an ASP.NET MVC project
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…
Are you ready to place your question in front of subject-matter experts for more timely responses? With the release of Priority Question, Premium Members, Team Accounts and Qualified Experts can now identify the emergent level of their issue, signal…

840 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question