Security audit of an e-banking solution by means of penetration tests and an architecture and design review