Published March 6, 2023 | Version v1
Software Open

Metamorphic Testing for Web System Security

  • 1. University of Ottawa
  • 2. University of Luxembourg
  • 3. SINTEF Digital, Norway

Description

 

Security testing aims at verifying that the software meets its security properties. In modern Web systems, however, this
often entails the verification of the outputs generated when exercising the system with a very large set of inputs. Full automation is thus required to lower costs and increase the effectiveness of security testing. Unfortunately, to achieve such automation, in addition to strategies for automatically deriving test inputs, we need to address the oracle problem, which refers to the challenge, given an input for a system, of distinguishing correct from incorrect behavior (e.g., the response to be received after a specific HTTP GET request).

In this paper, we propose Metamorphic Security Testing for Web-interactions (MST-wi), a metamorphic testing approach that integrates test input generation strategies inspired by mutational fuzzing and alleviates the oracle problem in security testing. It enables engineers to specify metamorphic relations (MRs) that capture many security properties of Web systems. To facilitate the specification of such MRs, we provide a domain-specific language accompanied by an Eclipse editor. MST-wi automatically collects the input data and transforms the MRs into executable Java code to automatically perform security testing. It automatically tests Web systems to detect vulnerabilities based on the relations and collected data.

We provide a catalog of 76 system-agnostic MRs to automate security testing in Web systems. It covers 39% of the OWASP security testing activities not automated by state-of-the-art techniques; further, our MRs can automatically discover 102 different types of vulnerabilities, which correspond to 45% of the vulnerabilities due to violations of security design principles according to the MITRE CWE database. We also define guidelines that enable test engineers to improve the testability of the system under test with respect to our approach.

We evaluated MST-wi effectiveness and scalability with two well-known Web systems (i.e., Jenkins and Joomla). It automatically detected 85% of their vulnerabilities and showed a high specificity (99.81% of the generated inputs do not lead to a false positive); our findings include a new security vulnerability detected in Jenkins. Finally, our results demonstrate that the approach scale, thus enabling automated security testing overnight.

This pakage provides replicability material for the above-mentioned results.

Files

Catalog of MRs.pdf

Files (16.6 GB)

Name Size Download all
md5:0345fad6154533e85880f1c96055c4f1
932.9 kB Preview Download
md5:0e8103fd4b0e117bf6e5b32273cab704
4.8 GB Download
md5:73281b0750f0cce48d236ba2a457f53f
5.8 GB Download
md5:83a9f228aa2f56fb592d1785c9643d9f
74.4 MB Preview Download
md5:ba571256f4468e60a6a6e46b7a22cfd7
16.4 kB Download
md5:c3fbc76e64685209c7d198a145ab17f7
159.8 kB Preview Download
md5:0f0ba97b85426f8d455ffb7dbf2ba73c
20.8 kB Download
md5:5c20a20f766fa7800baa3c958858c585
245.4 kB Download
md5:cd8a6b17a42e5a4c5ab6bf3210433d76
297.5 kB Download
md5:34438757cc676c4297b5a5e84b6e1ce7
27.5 kB Download
md5:ffaaec9e61412fdff9e15e09b48e7163
5.9 GB Download
md5:6d8593bb834ce411abdaed4d674ea13d
531.2 kB Preview Download