Security Fundamentals: Integrity in Data Systems
Get started on your cybersecurity degree at American Military University.
By Edward J. Hawkins, II
This is the second of three articles on security fundamentals.
Integrity is a word that can have various meanings depending on its context and how it is used. How one person defines integrity may be how someone else defines the word. Writing in the Harvard Business Review on Leadership, Thomas Teal defines integrity to mean “being responsible…communicating clearly and consistently, being an honest broker, keeping promises, knowing oneself, and avoiding hidden agendas.”
Teal’s definition contains some correlating ideas that are fundamentally related to the security goal of integrity. These ideas are:
- Data consistency
- Honest data
- Hidden attributes
Most IT security professionals agree that integrity means the assurance that data that is either stored or in transit will be changed, manipulated or deleted only by authorized persons or processes. Corruption of data is the failure to maintain data integrity. The goal of most organizations is to keep data honest.
Honest Data and Threats to Integrity
The idea of keeping data honest might seem to be more trivial than what is actually involved. This is due to the nature of information systems and their ability to store, retrieve and manipulate (e.g. change or delete) the ones and zeros that make up every aspect of digital communications and intelligence.
So how can we as a society of digital users, get and maintain honest data? In their Information Assurance Handbook, co-authors Cory Schou and Steven Hernandez offer two possible solutions: 1. Apply “a mathematical technique [which can] later be verified” and 2. Implement a system that “manages the processes to enter and manipulate [data].”
What Schou and Hernandez are referring to in the first solution is the use of cryptography because cryptography utilizes a mathematical algorithm that is supposed to be irreversible and creates what is called a hash value. A hash value is a mathematical signature of some data that can be used to validate the integrity of the data.
By using hash values, the owner of the data can validate that a given set of data remains unchanged. However, each time an authorized change is made to the data, a new hash value must be taken, and the old value removed from the database of current values.
The threats to data integrity may come from authorized and unauthorized sources. In Information Security Fundamentals, author Thomas R. Peltier identifies five potential threats to data integrity which must be taken into consideration when trying to keep data honest:
- “Data stream[s] could be intercepted”
- “Faulty programming could modify data”
- “Copies of [data] could be diverted to unauthorized or unintended persons”
- “data could be entered incorrectly
- “Intentional incorrect data entry”
The last two can be the most devastating to an organization because unless there is an integrity system in place, it may be hard to identify and correct the error.
Implementing Data Integrity
Unlike confidentiality, implementing integrity requires a bit more finesse due to the level of granularity that may be involved, depending on the sensitivity of the data.
With confidentiality, cryptography is typically implemented and provides data owners with the ability to mask the data in a way that renders it unreadable to those who don’t have proper access. With integrity, on the other hand, the data may not be encrypted, and therefore readable by anyone with access (authorized or not) to the information system.
So how can we ensure integrity if anyone has access in the real world? The solution of choice goes by the phrase file integrity, checking or monitoring. Several software companies can automate this process.
The company that really originated this concept is Tripwire, which originally offered its file integrity checker as part of Linux, but now develops and sells an enterprise-level solution of its products. An open source version of the original still exists.
In some cases, intrusion detection and prevention systems also include this type of function into their array of tools. But it is incumbent on the information system owner to validate the capabilities of the security products that get implemented on their systems.
Unlike confidentiality, the implementation of integrity systems involves more time and effort to ensure that an information system remains honest. Just deploying some form of confidentiality system does not fully satisfy the security goals of integrity. While they do bolster those goals, if the information system is subject to an insider threat, what good are confidentiality systems? These systems should run in concert with each other and build upon the required level of security for the information system.