Privacy and Confidentiality in Security Testing
There are many privacy and confidentiality risks that you can’t omit which makes it essential for QA teams to work in sync with developers to avoid these risks.
Join the DZone community and get the full member experience.Join For Free
Privacy and confidentiality are two commonly used terms that appear together when we talk about personal information, its security, and how to protect it from compromise. But there is often confusion about the differences between the two.
What Is Healthcare Data Security and What Does QA Testing Have To Do With Privacy and Confidentiality?
Let’s look at it from a real-life perspective where the privacy of a person is crucial as well as confidentiality.
We will use an average patient in a healthcare organization, government, or private medical entity to describe our scenario. This person is an individual who has to give the health organization his\her consent to process their personal information. Any information that the patient voluntarily gives to this medical company, goes under the criteria “privacy.”
In the same context, as a professional institution, the health organization has to guarantee confidentiality and protect personal information from unsanctioned access by others. That guarantee goes under the criteria “confidentiality.”
The next participant of this chain is the doctor, who is the link between the individual and the health organization. The doctor is also a part of this health organization and agrees to adhere to patient privacy policies. This agreement binds medical offices, doctors, nurses, as well as all persons employed under the umbrella of the medical institution. In addition to discussing these private matters in a facility, said individuals are also obliged to refrain from discussing a patient’s information in their personal lives. Otherwise, they will break the confidentiality agreement and a person’s privacy can be subject to legal repercussions.
This situation with privacy and confidentiality in the medical sphere has parallels with the QA testing process. Whenever an individual user (patient) signs up for a service or software, the software company (health organization) requires that the user divulges personal information and access to this. After this information is processed in their system, the QA tester (The doctor) is given access to this personal information and must follow privacy and confidentiality agreements.
To sum things up, we can highlight a few main differences between privacy and confidentiality.
Privacy – applies to an individual or a person - its nature is a personal choice to keep your life matters and information away from public interruptions.
Examples of Personal (Private) information that can be attributed to an individual:
- Name and details such as date and place of birth
- Physical characteristics, medical or health condition records
- Any contact information such as phone numbers, emails, addresses
- Your identification number (passport or driver license)
Confidentiality – applies to information, and it transforms into a professional obligation not to share details of individuals with any third party without their consent.
Here are a few examples of confidential information:
- Transaction details and banking information
- Technical or legal documents
- Logins, passwords, etc.
There are several laws and privacy/confidentiality regulatory compliances in Europe and the US like Sarbanes-Oxley Act, Federal Information Security Management Act, EU General Data Protection Regulation, etc. Their primary goal is to create and implement security programs, to prevent privacy and confidentiality risks and protect against potential fraud.
How To Implement Security Testing With Your QA Team
Now when we understand the difference between privacy and confidentiality and how it can affect a person, we can talk about keeping these privacy and confidentiality safe while testing. The increasing number of malware bots makes business owners concerned about keeping data confidential. It also makes implementing security testing vital for any software development, and especially for web applications.
Knowing how to test software to prevent any personal data from being compromised from their site is essential. For this, let’s go through the steps QA testers can take to implement security testing. To illustrate our suggestions we'll use the interface of aqua ALM that is popular among QA teams for test management in security testing.
Double-check Your Business Demands
Before any basic testing, the first step we must take is to determine the business’s particular security goals. Additionally, understanding business processes will help find vulnerabilities of the product and define the actual and hidden security needs.
The system setup is the key to accurate tests, and this step is usually pretty straightforward. Gather all system specifications, including the network operating system, information about hardware, and what technology they used to build their system.
Threats Profile and Traceability Matrix
The main goal of security testing is to prevent applications from malware penetrations and others access and also protect the confidentiality and privacy of a person.
But as we mentioned above, to do this, we need to collect information about potential risks and possible privacy vulnerabilities, create a list of these threats, and then a threat profile based on this list. This list is also suitable for creating a traceability matrix which helps to track how each entity affects the other.
Having a threats profile can help us evaluate the critical nature of tests we will run and what risks need to be assessed.
Preparing Tools and Documentation
The combination of automatic and manual tests can be the most efficient decision for security testing. But before starting or executing tests, we should finalize our software security document to address all privacy and confidentiality vulnerabilities.
Security and Regression Test Case Execution
By the time we get to this step, we will have to run all planned tests to identify vulnerabilities. After these tests are carried out, we will need to fix these tests and, if required, rerun the tests. We should also remember the regression test to ensure that the new changes didn’t produce new bugs.
Collecting Tests Details into Report
Based on the results of every test, we must make a detailed report. Highlight weaknesses and problems of the software you managed to fix, and don’t forget to describe potential vulnerabilities that can still persist.
There are many more privacy and confidentiality risks that we can’t omit, including surveillance breaches, lack of control from authorities, etc. The QA team is the one that must take action and work in sync with developers to avoid these risks.
However, It might be challenging to implement security testing if your QA team doesn’t have any application security background. But it is pretty easy to grasp security testing methods and processes from other QA testing solutions or integrate them with your software.
Implementing privacy and confidentiality is one of the top priorities in any software development and the ability to protect them is the quality mark. Companies should provide QA testers with effective solution to run the tests for quality assurance compliance, bug tracking, test execution, data migration and also give access to all necessary tools for security testing.
Published at DZone with permission of Tania Zhydkova. See the original article here.
Opinions expressed by DZone contributors are their own.