Software Security Engineering is about building systems to remain dependable in the face of malice, error, or mischance. To develop secure software systems, security should not be considered as a pure technical issue which is added as an afterthought, but security considerations must be integrated into the software engineering practice. Most attacks to software systems are based on vulnerabilities caused by poorly designed and developed software. The enforcement of Security at the Design phase can reduce the cost and effort associated with the introduction of security during implementation. There's no substitute for working software security as deeply into the development process as possible. Security Architecture is the knowledge in technologies needed to build secure platforms.