Security Basics for Financial Applications
Total Page:16
File Type:pdf, Size:1020Kb
WHITE PAPER SECURITY BASICS FOR FINANCIAL APPLICATIONS Abstract Security is the principal requirement for online financial applications. Data privacy, customer trust, and long-term growth all depend on how secure a financial application is. As these applications are accessed from various devices and through numerous channels, financial organizations strive hard to implement a foolproof security system. In this white paper, we will discuss the core security measures that can be considered while building financial applications. We will start with core design concepts for financial applications, move on to the different security techniques and best practices, and finally, provide a basic security design for financial applications. The financial applications referred in this white paper include web applications, financial portals, and other finance domain-related online applications. Financial applications Finance applications include applications applications face a host of threats such as the required information aggregation as performing financial transactions such as identity theft, session hijacking, password well. They are integrated with core banking online banking portals, online insurance hacking etc. which has long term impact systems or finance enterprise applications, applications and such for which security is on revenue and user trust. to provide domain-specific features. a prime concern. Most of the e-commerce Additionally, they also offer a wide range of Online financial applications provide a and retail applications invariably deal personalization and customization features variety of features, such as dashboard with payment transactions and hence that enable finance organizations to launch views, reports, personalized customer security would be an important feature of personalized campaigns and features for pages, and for particular financial domains, these applications as well. Online finance targeted segments. Core security concerns of financial applications The key security aspects in financial authorization, data encryption, transport- permission models, data privacy and applications include secure authentication, level security, role-based access and robust integrity, and security extensions. Key security vulnerabilities and ways to tackle them Based on our experience in financial Man-in-the-middle attacks and details to initiate a financial transaction. applications, we have created a list of the session hijacking An effective way to prevent this attack is common security challenges, the details of to use a security token with each request In this kind of attack, the hacker may that is validated on the server-side. We will security vulnerabilities, and the effective intercept traffic between the requestor learn more about this technique and its measures to address them: and the finance portal. The first step in implementation in the following pages. Multiple sessions preventing such an attack is to use a secure transport layer, such as HTTPS, for Injection attacks Financial applications usually do not allow all secure interactions. The rule applies for The attacker can use SQL injection multiple sessions due to security and data- finance services as well. In addition to this, techniques to gain information access. The integrity concerns. Using a combination of we must encrypt secured data (such as user vulnerability can be exploited by appending the following approaches should restrict information, finance information) during SQL keywords and comments (such as these multiple sessions: transit, and decrypt before rendering to appending ‘1=1’ to the query string). the client. • Create session filters to intercept every In order to effectively mitigate this, we user request, and use a database- Request spoofing and cross-site need to: driven table to check the multiple request forgery (CSRF) session information, in order to restrict Validate all user input on the client as In such a vulnerability, the attacker may • the user sessions based on the session well as the server-side and maintain a send a forged request to the server. data blacklist of characters for this validation The attacker can gain access to request • Restricting the user sessions at the parameters using techniques such as • Encode or remove HTML and SQL- server side: Server modules (such as snooping, and can then construct an reserved characters core banking modules) keep track of attack-script to make the portal believe Use prepared statements instead user that the request is coming from a genuine • of direct SQL commands in the source. For instance, if the attacker obtains Combining these two approaches allows a application. Use object-relational the session ID or is able to intercept the truly single session-based implementation. mapping (ORM) tools, such as request, he / she can use the session Hibernate,for database interactions External Document © 2018 Infosys Limited External Document © 2018 Infosys Limited External Document © 2018 Infosys Limited External Document © 2018 Infosys Limited Key security features of online finance applications Besides core security features such as Nonrepudiation occurs based on the Endpoint security refers to protecting the authentication, authorization, single- following two criteria– The user is the endpoint device to comply with anti- sign-on, session management, account legitimate identity that sent the content/ malware and virus protection to prevent, management, financial application should performed the transaction;the content/ detect, and remediate any malicious also deal with other security such as follows: transaction details are not modified in programming on the system. This helps the middle, as data integrity is ensured in restricting any malicious program that Federated identity and access through a hashing algorithm. might be tracking keystrokes to obtain management sensitive information. Crypto libraries The identity and access management Virtual keyboards help in reducing the risk Crypto libraries are the cryptographic can be federated across the domain, and of key loggers logging keystrokes, as the libraries used in Internet standards to share the same identity store and access clicks happen only on the virtual keyboard provide encryption algorithms. manager for all user groups. This strategy to input the data. This also makes it more works best in subsidiaries and acquired The functionality includes key generation difficult for malware programs to track the entities. algorithms, key exchange agreements, and clicks and obtain the input data. However, there is a possibility that the malware Strong nonrepudiation using DS public-key cryptographic standards. For finance applications, it is recommended to can take screenshots upon each click and Nonrepudiation means that a party cannot use a salted password-hashing algorithm hence, the endpoint should be secure and deny the authenticity of their signature as discussed below. updated with respect to anti-malware upon the sending of a message. programs as well. Endpoint security – Anti-malware / In the digital world, nonrepudiation can virtual keyboards. be achieved through digital signatures. Financial application key design considerations Listed below are some of the key design • Adoption of services-oriented iteratively to ensure that the aspects that need to be kept in mind while architecture for integration – An ESB desired performance service-level developing finance applications. These middleware can be used to handle agreement (SLA) is met complex and multiple services and are additional design factors along with Scalability can be achieved by enable service-oriented integration security. using the appropriate infrastructure between different banking systems and hardware • Open standards-based technology Leveraging open-source technologies and integrations – This includes using wherever applicable Incorporation of a governance standards related to HTML, CSS, and model to proactively check the Continuous build and integration accessibility to name a few • heartbeat of the systems to ensure approach for execution –Tools such as system availability and uptime • Layered architecture using MVC Jenkins Continuous Integration can be pattern – This provides a clear layer- used to maintain build quality • Reusability and automation: Reusing wise separation of components the existing components and Performance, availability, and with each layer handling a distinct • frameworks will profoundly impact scalability –Performance should responsibility. MVC enables loose developer productivity, faster time- be thought through, right from coupling, separation of concerns, and to-market, and significantly increase the component design to the flexibility to change the components in the overall quality. Based on the given performance testing stage. In addition each layer independently business requirements, the following to performance-based design, other components are marked for reuse, • Modular and extensible component performance optimization techniques partially/completely: design –Each of the solution can be adopted, including: components will be designed such that High Level architecture of finance it can be reused for future needs The solution will also be tested applications External Document © 2018 Infosys Limited External Document © 2018 Infosys Limited A high level overview of a sample finance web application is shown below: Support, Management Client Application Content Information, Widgets Widgets Governance, Presentation Common & Layer