当前位置:网站首页>Excellent test engineer must have 4 safety test methods!

Excellent test engineer must have 4 safety test methods!

2022-06-11 10:14:00 Software test network

One . Safety test

1、 Security testing methods

Testing means can be used for security testing , At present, the main safety testing methods are :

1) Static code security testing

Mainly through the security scanning of the source code , According to the data flow in the program 、 control flow 、 Semantic and other information are matched with its unique software security rule base , Find out the potential security vulnerabilities in the code .

Static source code security testing is a very useful method , It can find all the code that may have security risks in the coding phase , In this way, developers can solve potential security problems at an early stage . And that's why , Static code testing is more suitable for the early code development stage , Not the test phase .

2) Dynamic penetration test

Penetration testing is also a common safety testing method . Is to use automated tools or manual methods to simulate the input of hackers , Attack test the application system , Find out the security vulnerabilities at runtime .

The characteristic of this test is that it is true and effective , Generally, the problems found are correct , It's more serious . But a fatal disadvantage of penetration testing is that the simulated test data can only reach a limited number of test points , Coverage is very low .

3) Program data scanning

A software with high security requirements , Data cannot be destroyed during operation , Otherwise, it will lead to buffer overflow type attacks . The method of data scanning is usually memory test , Memory testing can find many vulnerabilities such as buffer overflow , Such vulnerabilities are difficult to find by other test methods .

for example , Scan the memory information when the software is running , See if there is any information that leads to hidden dangers , Of course, this requires special tools to verify , It is difficult to do it by hand .

2、 Reverse security testing process

Most software security tests are based on the principle of defect space reverse design , That is, check where there may be potential safety hazards in advance , Then test these possible hidden dangers .

therefore , The reverse test process starts from the defect space , Establish defect threat model , Find the intrusion point through the threat model , Scan and test known vulnerabilities at the intrusion point . The advantage is that known defects can be analyzed , Avoid known types of defects in software , But there is usually nothing you can do about unknown attack means and methods .

1) Establish defect threat model

The establishment of defect threat model mainly starts with the known security vulnerabilities , Check the software for known vulnerabilities . When building a threat model , You need to first determine what professional areas the software involves , Then, the model is built according to the attack means encountered in various professional fields .

2) Find and scan intrusion points

Check which defects in the threat model may occur in the software , Then bring the possible threats into the intrusion point matrix for management . If there is a mature vulnerability scanning tool , Then directly use the vulnerability scanning tool to scan , Then the suspicious problems found are included in the intrusion point matrix for management .

3) Verification test of intrusion matrix

After creating the intrusion matrix , The corresponding test cases can be designed for the specific items of the intrusion matrix , Then test and verify .

3、 Forward security test process

In order to avoid the test incompleteness caused by the reverse design principle , A positive testing method is needed to test the software completely , Enable the tested software to prevent unknown attack means and methods .

1) First identify the test space

Identify all variable data in the test space , Due to the high cost of security testing , Among them, we should focus on identifying the external input layer .

for example , Demand analysis 、 Outline design 、 Detailed design 、 The test space should be identified in the coding stages , The test space tracking matrix is established .

2) Define the design space precisely

Focus on whether the design space is clearly defined in the requirements , And whether the data involved in the requirements have identified its legal value range .

In this step , The most important thing to pay attention to is the exact word , The design space should be accurately defined in strict accordance with the principle of security .

3) Identify potential safety hazards

According to the test space and design space found and the conversion rules between them , Identify which test spaces and which transformation rules may have security risks .

for example , The more complex the test space , That is, the more complex the test space partition or the more variable data combination relationships, the less secure it is . And the more complex the conversion rules are , The more likely it is to go wrong , These are security risks .

4) Establish and verify intrusion matrix

After the safety hazard identification is completed , The intrusion matrix can be established according to the identified security risks . List potential safety hazards , Identify variable data with potential safety hazards , And identify the level of potential safety hazards . For those variable data with high security risk level , Detailed test case design must be carried out .

4、 The difference between forward and reverse testing

The forward testing process is to find defects and vulnerabilities based on the test space .

The reverse test process is based on the known defect space to find out whether the same defects and vulnerabilities will occur in the software , Both have their own advantages and disadvantages .

1) Forward test

The advantage of the process is that the test is sufficient , But the workload is relatively large . therefore , Software with low security requirements , Generally, it can be tested according to the reverse test process , For software with high security requirements , It should focus on the forward test process , The reverse test process is supplemented .

2) Reverse test

One of the main advantages of the process is its low cost , Just verify the known possible defects , But the disadvantage is that the test is not perfect , The test space cannot be completely overwritten , Unknown attack means cannot be found .

原网站

版权声明
本文为[Software test network]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/162/202206110925362473.html