The internet is inherently safe, and the internet has become unsafe ever since the people who have studied security.
I. The nature of security
The essence of security problem is the question of trust.
The basis of all the security scheme design is based on the trust relationship. We must believe something, there must be some basic assumptions, the security scheme can be established, if we negate everything, the security plan will be like water without, no root wood, can not be designed, and can not be completed.
To grasp the degree of trust conditions, so that it is just right, it is the difficulty of the design of security programs, but also the art of security is the charm of art.
Second, superstition, no silver bullets.
Security is an ongoing process.
Iii. three elements of security
Confidentiality (confidentiality), integrity (Integrity), availability (availability).
Confidentiality requires the protection of data content can not be disclosed, encryption is a common means to achieve confidentiality requirements.
Integrity requires that the content of the protection data be intact and not tampered with. A common technical means of ensuring consistency is digital signatures.
The availability requirement to protect resources is "on demand".
In addition, there are auditable, non-repudiation and so on.
Iv. The art of art in white hats
1. Secure by Default principle
1) blacklist, whitelist
The idea of using the whitelist only allows the trust list to pass, but the idea is to avoid problems like the wildcard "*".
2) Principle of least privilege
Set up a number of rhetorical questions to determine the minimum permissions required for the business.
2. Defense in Depth (Defense in Depth) principle
Contains two meanings: first, the implementation of security programs at different levels, different aspects, to avoid omissions, the different security programs need to cooperate with each other to form a whole; second, to do the right thing in the right place: to implement a targeted security solution where the underlying problem is addressed.
For a complex system, defense-in-depth is a necessary choice for building a security system.
3. Data and Code separation principles
4. The principle of unpredictability
Even if code cannot be repaired, it can be considered a successful defense if it can invalidate the method of attack.
The implementation of unpredictability often requires the use of encryption algorithm, random number algorithm, hashing algorithm, good use of this principle, in the design of security programs tend to do more with less.
The four Principles feature: Secure by Default is the general rule to keep in mind, defense in depth is to look at the problem more comprehensively and correctly; the separation of data from code is the problem from the cause of the vulnerability, and the unpredictability principle is the problem from the angle of overcoming the attack method.
Five, written in the last
Security is a simple knowledge, but also a balance of art.
White Hat speaks web security--my security worldview