Showing posts with label dynamic application security testing. Show all posts
Showing posts with label dynamic application security testing. Show all posts

Friday, 19 June 2020

Strengthening your Web Application Security with Software Testing



There has been a move towards building web applications given the rising cost of mobile applications. However, one thing has remained unchanged – of according low priority to web application security testing. The consequences are quick and dire with cybercriminals targeting such applications confidently. Companies like Monsanto, Ebay, and Target, among many others bore the brunt of security breaches. The situation is not getting under control but rather worsening with each passing day.
It appears the hackers are finding it easy to break into applications and databases at will and decamping with the stolen data. If analysed properly, part of the problem seems to lie with the enterprises themselves. Their obsession with releasing web applications quickly and get ahead of the block is leaving vulnerabilities and glitches go unchecked. In fact, software application security testing is often overlooked in favor of app management, code development, and visual design.
So, as an enterprise if your priority is to be commercial with web applications, then web application security testing needs to be the priority and not an afterthought. Let us first understand the consequences of not making dynamic application security testing an integral part of the SDLC.
·       Resident vulnerabilities can remain unchecked, which are exploited by hackers
·       Breaches occur leading to a loss of sensitive customer and business data and information
·       Enterprises may fall foul of regulatory bodies by not complying with mandatory protocols/regulations
·       Enterprises may face lawsuits from affected parties (customers and clients) and served penalties causing huge financial outgo
·       Brand name takes a hit, sometimes irretrievably
To pre-empt your organization from being at the receiving end of such attacks, you should strengthen the security of web applications or for that matter any software during development. Let us understand how by applying a robust application security testing methodology the security of web applications can be strengthened.
Strengthening web application security with software testing
The importance of testing cannot be glossed over any further and should be applied in letter and spirit. This can strengthen your application’ security mechanism and make it impervious to cyber-attacks.
·       Penetration testing to identify the loopholes: You must know how hackers can attack your web application. This will provide you with insights on the ways to strengthen security. So, conduct penetration testing wherein professional QA testers shall attack the application to identify its loopholes or vulnerabilities. However, conduct such a testing in an isolated environment. The security penetration testing can help you learn more about the following:
o   Cross-site scripting
o   Cross-site request forgery attacks
o   SQL injection attacks
o   Broken authentication
o   Insecure deserialization
·       Keep a backup: It is always a good idea to keep a backup of your data. So, post any cyber-attack scenario when you need to have your website go live once again, the backup data will come in handy. No need to describe the scenario where there is no backup and a malware attack strips everything clean leaving the organization tottering on the brink.
·       Implement DevSecOps: With DevOps implementation, enterprises aim at building a CI/CD pipeline where both Development (along with QA) and Operations work in close coordination and collaboration. This can be further strengthened with DevSecOps where ‘Sec or Security’ is made part of the whole system. Enterprises need to mandatorily follow a culture wherein security becomes everyone’s responsibility and not just of the QA team. As an application security testing strategy employees should scrupulously follow the Risk and Compliance manual and do not inadvertently divulge password or other details.
·       Encryption is a must: Any web application has several APIs connecting various modules to third-party applications. These can be the entry points for hackers to get into the application and siphon off sensitive business and customer information. So, all conduits for data transmission within and outside the application should be encrypted. The same can be verified through software application security testing.
·       Use SSL Encryption or HTTPS: Use SSL (Secure Sockets Layer) or TSL (Transport Layer Security) protocol to encrypt information in your login pages. These can protect sensitive information such as debit/credit card numbers, login details, or social security numbers, among others from falling into the hands of hackers. In addition, many browsers flag certain websites or web applications without HTTPS as insecure thereby preventing potential users from accessing them.

Conclusion
The security testing of web applications is of prime importance, like any other software, as it will help enterprises to secure their deliverables and earn trust from the end customers. In the competitive world of business, it is trust that will keep any company in good stead vis-à-vis its equation with customers and competitors.

Friday, 14 February 2020

Why Application Security should be your top priority and what you can do about it?



Web or mobile applications are ruling our lives. From paying utility bills, playing games, and browsing on social media to booking movie and airline tickets and receiving news-feeds, applications are here to stay. According to statistics, the annual downloads of applications in the year 2020 is likely to touch 258 billion (Source: app-scoop.com). What does this imply? Our lives are going to be increasingly driven by digital applications. These bring in their wake attributes like convenience, ease of navigation, speedy delivery, and security, among others. However, the last one, ‘security’, has turned out to be a challenge of sorts with cyber threats growing incessantly.

Today, cyber threats have assumed menacing proportions with alarming consequences - for individuals, enterprises, and governments alike. These have evolved with advanced technologies and the propensity of users to remain indifferent. Cyber threats are just lurking behind the IT infrastructure waiting to exploit the built-in vulnerabilities. So, how does one remain vigilant and preempt such an eventuality? The answer lies in conducting a robust and time-bound application security testing. It ensures the timely detection of any vulnerability, breach, or risk, thereby allowing the organization to mitigate it.

It is not that only a certain size or kind of business becomes a victim of cybercrime. Everyone using the digital ecosystem is vulnerable. So, as we go about expanding our digital capabilities, we must also lay equal emphasis on strengthening the security framework. This can be done by conducting routine software application security testing in the SDLC. Further, as the Internet of Things (IoT) revolution slowly but steadily envelops the digital landscape, there is a concurrent increase in cybersecurity scare. The biggest challenge to have emerged is identifying the weak nodes among the billions of interconnected IoT devices.

Planning and running an application security testing exercise can have challenges (and vulnerabilities) such as:

l  Presence of threats like SQL injections and cross-site scripting
l  Lack of a proper strategy for application security testing
l  Not using the right dynamic application security testing tools
l  Inadequate tracking of the test progress
l  Reduced scope of testing due to the pressure of time and speed
l  Inability to build the right team and plan
l  Failure to adhere to the established security protocols
l  Absence of an application inventory. The same would have tracked expired SSL certificates, mobile APIs, and added domains, among others

How to build a robust application security testing methodology

The threat from hackers is real as enterprises have become wary of falling prey to their shenanigans. Statistically, cybercrime is expected to cost a global loss of around $6 trillion annually by 2021 (Source: Annual Cybercrime Report of Cybersecurity Ventures.) Also, hackers have been found to attack every 39 seconds or 2,244 times a day on an average as per a survey by the University of Maryland. Hence, web and mobile application security testing should be accorded the highest priority. Let us understand the process to build an effective strategy.

# Analyze the software development process: Many-a-times the processes drawn for building software can have gaps or weak links. These can bring a smile on the faces of hackers. Thus, testers should scrutinize or analyze the development cycle to identify the gaps or vulnerabilities.

# Create a threat model: Post analyzing the development process, prepare a threat model to understand the data flow through the application. This way, testers can identify the problem areas or defective locations in the process.

# Automate: The testing of applications comprises steps that are iterative in nature. These mundane tasks can tie human resources, which otherwise could have been used to execute other critical tasks. So, to improve efficiency and better identification of glitches, the testing process should be automated. By running automated test scripts, testers and developers can examine the source code to identify vulnerabilities. Thereafter, the same can be mitigated before actual deployment.

# Manual testing not to be dispensed with: Even though manual testing receives a lot of flak when it comes to the identification of errors, they can be effective as well. This is due to the fact that automated tools working on a script can miss certain errors that are not accounted for in the script. This is where manual testing can help by leveraging human expertise.

# Fixing metrics: The vulnerabilities in an application can only be ascertained when the features and functionalities are tested against a set of metrics. These help enterprises to focus on specific areas and improve risk management.


Conclusion

Cyber threats have emerged as key concerns for enterprises or organizations. They can have damaging consequences when it comes to factors like trust and customer experience. By undertaking static or dynamic application security testing, enterprises can address such issues and truly harness the benefits of an advanced digital ecosystem.