What is necessary to design a secure web application?
As early as the design phase, the development team works with the security team to consider web application security.
Threat modeling takes a range of factors into account:
- Is sensitive data encrypted in all states and still calculable?
- Can authentication stick to be certificate based or are passwords still necessary?
- Are user privileges implemented with sufficient security?
- Which attack vectors does the system detect itself?
- What is the rating of vulnerability risk?
- Could developer certificates be compromised during an application build process?
- Are there on going scheduled security checks and pen tests?
- Can the security be maintained easily in the long run?
The result of this modeling is:
Even a distinguished design of a web application only mitigates common and known attack vectors.
A list of thousands of potential threats will not be realistic when it comes to zero-day exploits.
So what to prioritize?
Regardless of the implementation of security measures, assets have to be kept safe!
Therefore, we recommend prioritizing data encryption at all stages so that the attacker is left empty-handed in the event of an incident.
Manipulated or corrupted data has to be prevented from being processed and possibly archived.
Our answer to these challenges is a fully automated certificate-based data encryption at all stages, where all private keys are secured and generated by HSMs and not inside applications.
Users and developers access the web application with personal certificates stored on hardware keys and encrypt data with their certificates.
The certificate authority and the identity access management realizes a sophisticated privileged access management, practicing restrictions.
All login credentials are in one centralized encrypted repository and user rights are granular controlled and visible monitored.