last day (18 days later) » 

15:17
51
Q: How to protect my code from “insider” threats when hiring my first employee?

arao6I quit my job to start my own SaaS product. I’m now looking to hire my first employee (another developer). I will be taking appropriate legal precautions to protect my IP, but I’m wondering what other reasonable actions that I can take to further protect my code / data. The last thing that I want...

A lot of big tech companies actually have it much more open than what you're describing here. Obviously they have robust logging in place and good lawyers in case anything does happen, but you often see developers having full administrative access to their workstations, no disabling of USB ports, no website blocking, etc. They focus their efforts on building employee trust instead, because this is fundamentally a people problem. You have to also think about what kind of culture you're building when you implement a lot of draconian measures indicating you don't trust employees.
You're trying to solve a human problem with technological restrictions. This will not only not work, it will most likely backfire, as you're stopping your employee from doing so many things they'll need to work efficiently. Competent candidates, who have other job opportunities, will most probably quit quickly - if I had to work under those conditions, I'd look for something else and quit as soon as I could.
You're not Tesla. As a startup, any relationship with your first employees other than complete trust is very dangerous. Large companies grow security and bureaucracy for a reason. As a startup, you and all your employees are sharing the risk of your whole enterprise ending up worthless, leaving you broke and them jobless. Both the probability and the consequences of this risk far outweigh the risk of someone stealing the code and finding it useful for something else. You're asking them to share your risk; the least you can do is trust them.
In addition I would say don't enable virtualization in system
@sahasrara62 as a developer virtualization or at least the docker form is required
15:17
Practical security management is not about maximizing security but rather about making the proper tradeoffs according to realistic risk assessment. In your situation it seems that you should not trade off the benefits of low friction, convenience and trusful relations in order to gain some extra security - implement extra measures if and only if they don't hamper development (separate laptop, full drive encryption) and don't implement those measures that do (disabling ports and sites, excessive monitoring).
"This must be a common problem for businesses". It's not a common problem, but when it happens it gets a lot of media attention as it makes for a great story. A lot more common is the idea for a developer/business-owner that their product is so great and unique that everyone is out to get them and steal their precious code. This is understandable as you form an emotional bond with your product, you give it more value than it probably has...giving way to some (most likely) unwarranted paranoia.
What’s the threat here? Assume the employee is malicious and has unrestricted access to your code. Then what? It’s still a big risk for the employee to quit and compete against you using your code. It’s value decreases a lot if someone has to use it knowing they’ll be sued should they be discovered.
To: [email protected] Subject: Class1.cs` Body: _paste code here. Thousands of dollars of technical roadblocks defeated.
I can code in 15 min an HTTP server where a .zip can be POSTed. Are you going to whitelist all the permissible IP addresses? All you do with such setup is shoo away the best coders.
If you consider the employee your enemy, how do you plan to find trustworthy people? You won't, on the contrary.
15:17
@mmmmmm agree, but if enable on system through virtual box you can change the whole system settings and enable usb, unblock Internet ip and might risk the data
As a general rule, if you read about it in the news, it is typically not a common problem, because if it were common, it wouldn't be newsworthy.
A really dedicated person could scroll through source code while recording with a phone camera. The only defense is to make all source code completely invisible, which results in a fun "blind man's bluff" style of locating typos.
Don't you think your suggested precautions are so detailed, you're almost forcing the wood to hide the trees? You list nine steps pretty-much exactly equivalent to the single "secure their computer against what I personally can think of tight now" and that's it. There's nothing else… Why not hire a security consultant?
Unless your startup deals with nukes (the nuclear ones) or online heart surgeries, finding that setup my first instincts will be to a) break the system and b) not work for you. People react to how you treat them and for most types of startups this seems ridiculously overblown, so I either react ridiculous too... or just go away laughing.
15:17
As others have said, it's a people problem, not a technical one. One point I didn't see addressed is "I must be searching for the wrong thing because I can’t seem to find a guide anywhere on this issue." Try searching for "Data Loss Prevention" (DLP). Most solutions involve some sort of edge scanner or service, watching traffic leave your network.
bta
bta
Where is your company located? In many locales, industrial espionage laws already protect you (or at least carry such stiff penalties that most employees would think twice and competitors wouldn't risk using stolen IP).
While still startup, you want to empower your employees as much as possible for them to work as effective as possible. Look at our Universe - when it was only a startup, it used root privileges to crank up expansion rate to escape the madness there was and condense matter to start making new things. :D
Moo
Moo
With that list of restrictions, I dont think you have anything to worry about with regard to employees stealing data or the codebase - they simply wont stay around long enough for that to happen.
"The last thing that I want happen is what happened to Tesla where someone dumped the source code onto iCloud and ran off with it to a competitor." And where is Tesla now ? Nobody cares about your code, it's all worthless without your vision. You're not the NSA.
Handing the employee a laptop to which they can't even plug a mouse? It's like you're trying to make the employee hostile to you.
15:17
Instead of giving them a laptop, setup a VM in Azure or AWS with whatever restrictions you want. Then just let them log in there to the work. You can easily shut it down or turn it off and prevent any further access. On a related note, I don't know any high-calibre developers that would work for you with any of the mentioned restrictions unless you're paying an ungodly amount of money in salary to them.
You can do something similar to what the Polaroid company did with their instant cameras: they obtained patents on almost everything in the camera, but didn't patent a few key parts, and kept information on those safely secured. (Likely next to Colonel Sander's Secret Recipe.) So don't allow access to a few code libraries. I had a co-worker that worked on an aerospace account, where he could only look at one page of a printout of a program, and not take notes, etc. Fun!
I wish you the best in your start-up; this is your first employee, you have to trust them. Who will monitor the logs to catch them in the act? More importantly, who will set up software and transfer files for them? You certainly cannot do that; your time is already stretched thin.
Moo
Moo
@MarkStewart the OP mentions Visual Studio, which almost certainly means .Net - in which case, its trivial to decompile from a .Net compiled dll to actual usable and understandable code. Blocking access to source code will barely slow down a developer who wants to get access to that code - infact, you can step into decompiled .Net source code as part of the VS debugging process... the IDE does it all for you.
@Moo While that is true, and the suggestion easier to implement when you have services and the coder just sees the service interface, basically all security is just about making it harder - as long as it is also low effort to implement you still gain something, you just need to also understand what you gain: not absolute security just a little hurdle in many cases - and what you pay (e.g. the additional inconvenience to either yourself or the employee).
just develop your software open source

  last day (18 days later) »