Unlike in the aforementioned IT security evaluation methods, justified trust must meet clearly defined criteria and express these as a trust level. Evaluation Assurance Levels (EAL) indicate how high the (justified) confidence in IT security is from the point of view of a certifying authority.
The Common Criteria specify seven levels. The lowest level (EAL 1) expresses that a system has been functionally tested. In practice, this level is practically meaningless, because the cost of security certification is significantly higher than for unsystematic or semi-systematic approaches, but does not deliver more in terms of results. The highest level (EAL 7) also has no practical significance, because at this level mathematical proofs of certain security aspects must be provided, which can extremely difficult or impossible in practice.
Software with high complexity, a large code base, and a high number of assets that need to be protected, is more difficult to certify. An evaluation object such as a small bare metal application that has small functionality is significantly easier to certify than an operating system with a network stack and generally large functionality.
The compromise in reasonable confidence for a comprehensive software, therefore, lies in a high level such as EAL4 or even EAL5 with an ST that includes not only partial aspects (this is also possible), but all important functionalities.
In the final stages of the Common Criteria certification process, evaluators will perform a thorough vulnerability analysis through penetration testing, much like an adhoc security approach, but based on all the knowledge of the product gathered in the earlier stages of the evaluation (review of production specifications and documentation with traceability to code, functional testing of security requirements, etc.).
Conclusion
Adhoc and semi-systematic approaches are well suited to providing a quick assessment of the obvious potential for attack. But they may be unable to identify problematic structures early in the product life cycle and to fix them permanently. In the worst case, it is conceivable and does happen that an existing, mature and already established product has irreparable security gaps.
Certification processes such as Common Criteria are more complex and expensive, but provide more actual protection. This is expressed by levels of justified confidence awarded by independent certification bodies. This systematic approach allows developers to take a 360° view of threats and process their assets accordingly. Vulnerabilities that are typically missed in adhoc testing are also found during the process of security certification.
Certification thus pursues a long-term, holistic commitment to increasing the architectural security of software and IT systems. This methodical approach to making software secure drastically reduces the risk of irreparable software architecture.