Source: https://cylab.cmu.edu/_files/pdfs/CERT/CSG-V3.pdf