Source code data security experience sharing

So far, we have learned that many projects have been implemented. In summary, the industry has the following characteristics:

1. The level of software R&D personnel is relatively high, first of all, it must be difficult to be cracked;

2. The level of anti-monitoring, anti-encryption, and anti-leakage of software developers is relatively high, and it is relatively difficult to prevent. Ordinary encryption products are easy to be killed in seconds. People who want to spend time, process forgery, IP forgery, dll injection, etc., and lazy people can go to the next point tool on the Internet, which can basically be done. Not to mention people who understand security, I believe that 95% of the encryption products currently on the market can hardly survive 10 minutes;

3. Most employees will resist surveillance or encryption. Unless the company is strong enough, the money is enough, and the unit is good enough, it will be difficult to push forward. If you want to promote the project, you need to find a balance point;

The software development environment is also more complicated:

1. VC++ (MFC/ATL/COM/service/Socket), JAVA (JSP/J2EE/J2SE/J2ME), PHP, C# (app/.net), protel, etc., if it is in the power industry or embedded, PLC For industrial control and Android development, the development tools are even more strange. At this time, using traditional encryption products to solve the problem is basically a dead end, because it is impossible to associate so many processes;

2. It cannot affect local debugging and compilation, especially network-related debugging or service debugging, and emulator debugging;

3. Most of the servers are linux, and the clients basically have virtual machines;

There are generally three points in the use of behavior management:

1. Need to give employees a certain amount of freedom. For example, searching information on the Internet, QQ, etc., as long as it does not involve company secrets, he is still allowed to do it without monitoring. In this way, employees will not be too disgusted;

2. Safety and convenience are opposites. It is impossible to grasp a balance point without affecting work efficiency. If the impact is too strong, it will be disgusted and it will not help the company;

3. There is no absolute security. The purpose of security is to increase the cost of leaks, not to completely eliminate leaks. No one dares to say that their products have no problems. Even for a company as big as Microsoft, the products still have bugs;

4. When the anti-leakage scheme is really needed, there must be a set of reasonable rules and regulations and a suitable security software, which are used together and complement each other;

When choosing a product, you need to meet some conditions at the same time:

1. Does not affect compilation and debugging;

2. Does not affect version management and version comparison;

3. It can’t just encrypt source codes such as .cpp, and its appendages, obj, exe, etc. need to be controlled;

4. Do not destroy files;

5. It is best for the source code document to be plaintext on the server and ciphertext on the employee's development machine to reduce dependence on encryption software and prevent security incidents;

6. It cannot affect the access to external networks to check information, access to QQ, etc., but it cannot cause leaks through this;

I recently met a client who had a R&D department. Originally, they used diskless workstations for development, with drawings and source codes. The main purpose of using diskless is to prevent leaks. At the beginning, when there were 20-30 people, it should be said that the effect was very satisfactory, but now this department has 100 people, and the related department is almost 500 people. The reason is that when the number of concurrency is large, the network load and server load are too high. They do drawing design and industrial control source code development. Almost every designer must use software that consumes a lot of resources, such as AutoCAD, Pro.E and SolidWoks. When debugging the industrial control source code, it is necessary to use the local serial port, parallel port or network. As a result, I had to buy some notebooks that are separated from the diskless system. The problem of slow speed, I originally wanted to expand the diskless workstation, but the cost is too expensive, and the department is still expanding, so it is not an option to go on like this. In the words of their leaders: everyone has a workstation, then there must be no speed Question, but where is the value of diskless? In addition, although the diskless files are no longer kept locally, it is very inconvenient because of leaks when surfing the Internet. Secrets can still be leaked via mail, network, etc. Notebooks for local debugging can still leak secrets.

Finally, it was replaced with the SDC sandbox (sandbox is also a cloud concept) solution,

1) There is no direct relationship between the number of terminals and server load (SDC sandbox supports 5000 users online at the same time);

2) There is no speed problem when the client runs the design software that occupies a large amount of resources (and the running loss of a single machine is within 5%);

3) Design results and drawings, source codes and documents can only be stored on the server, and files on the server cannot be created, modified, edited, saved, etc. (local cannot be saved); including notebooks.

4) Non-clients or external PCs cannot access the server and access other clients, making them isolated and isolated;

5) At the same time of R & D and design, Internet access (web browsing, data download, QQ, MSN use) is allowed, but the data on the server cannot be transmitted to cause leakage;

6) Notebook peripherals, U disk, CD, floppy disk, etc. are all read-only;

7) WinPE CD starts the local client (including notebook), or removes the local hard disk, no data leakage. (There is no local drawing data);

8) Any file on the server needs to go through the approval process if it is to be taken out of a confidential environment;

Guess you like

Origin blog.csdn.net/cnsinda_sdc/article/details/129957897