In computer security, a
countermeasure is an action, device, procedure or technique that reduces a threat, a vulnerability, or an
attack by eliminating or preventing it, by minimizing the harm it can cause, or by discovering and reporting it so that corrective action can be taken. Some common countermeasures are listed in the following sections:
Security by design Security by design, or alternately secure by design, means that the software has been designed from the ground up to be secure. In this case, security is considered a main feature. The UK government's National Cyber Security Centre separates secure cyber design principles into five sections: • Before a secure system is created or updated, companies should ensure they understand the fundamentals and the context around the system they are trying to create and identify any weaknesses in the system. • Companies should design and centre their security around techniques and defences which make attacking their data or systems inherently more challenging for attackers. • Companies should ensure that their core services that rely on technology are protected so that the systems are essentially never down. • Although systems can be created which are safe against a multitude of attacks, that does not mean that attacks will not be attempted. Despite one's security, all companies' systems should aim to be able to detect and spot attacks as soon as they occur to ensure the most effective response to them. • Companies should create secure systems designed so that any attack that is successful has minimal severity. These design principles of security by design can include some of the following techniques: • The
principle of least privilege, where each part of the system has only the privileges that are needed for its function. That way, even if an
attacker gains access to that part, they only have limited access to the whole system. •
Automated theorem proving to prove the correctness of crucial software subsystems. •
Code reviews and
unit testing, approaches to make modules more secure where formal correctness proofs are not possible. •
Defense in depth, where the design is such that more than one subsystem needs to be violated to compromise the integrity of the system and the information it holds. • Default secure settings, and design to
fail secure rather than
fail insecure (see
fail-safe for the equivalent in
safety engineering). Ideally, a secure system should require a deliberate, conscious, knowledgeable and free decision on the part of legitimate authorities in order to make it insecure. •
Audit trails track system activity so that when a security breach occurs, the mechanism and extent of the breach can be determined. Storing audit trails remotely, where they can only be appended to, can keep intruders from covering their tracks. •
Full disclosure of all vulnerabilities, to ensure that the
window of vulnerability is kept as short as possible when bugs are discovered.
Security architecture Security architecture can be defined as the "practice of designing computer systems to achieve security goals." These goals have overlap with the principles of "security by design" explored above, including to "make initial compromise of the system difficult," and to "limit the impact of any compromise." Similarly, Techopedia defines security architecture as "a unified security design that addresses the necessities and potential risks involved in a certain scenario or environment. It also specifies when and where to apply security controls. The design process is generally reproducible." The key attributes of security architecture are: • the relationship of different components and how they depend on each other. • determination of controls based on risk assessment, good practices, finances, and legal matters. • the standardization of controls. Practicing security architecture provides the right foundation to systematically address business, IT and security concerns in an organization.
Security measures A state of computer security is the conceptual ideal, attained by the use of three processes: threat prevention, detection, and response. These processes are based on various policies and system components, which include the following: • Limiting the access of individuals using
user account access controls and using
cryptography can protect systems files and data, respectively. •
Firewalls are by far the most common prevention systems from a network security perspective as they can (if properly configured) shield access to internal network services and block certain kinds of attacks through packet filtering. Firewalls can be both hardware and software-based. Firewalls monitor and control incoming and outgoing traffic of a computer network and establish a barrier between a trusted network and an untrusted network. •
Intrusion Detection System (IDS) products are designed to detect network attacks in-progress and assist in post-attack
forensics, while
audit trails and
logs serve a similar function for individual systems. •
Response is necessarily defined by the assessed security requirements of an individual system and may cover the range from simple upgrade of protections to notification of
legal authorities, counter-attacks, and the like. In some special cases, the complete destruction of the compromised system is favored, as it may happen that not all the compromised resources are detected. • Cyber security awareness training to cope with cyber threats and attacks. • Forward web
proxy solutions can prevent the client to visit malicious web pages and inspect the content before downloading to the client machines. Today, computer security consists mainly of preventive measures, like
firewalls or an
exit procedure. A firewall can be defined as a way of filtering network data between a host or a network and another network, such as the
Internet. They can be implemented as software running on the machine, hooking into the
network stack (or, in the case of most
UNIX-based operating systems such as
Linux, built into the operating system
kernel) to provide real-time filtering and blocking. In order to ensure adequate security, the confidentiality, integrity and availability of a network, known as the CIA triad, must be protected and is considered the foundation of information security. To achieve those objectives, administrative, physical and technical security measures should be employed. The amount of security afforded to an asset can only be determined when its value is known.
Vulnerability management Vulnerability management is the cycle of identifying, fixing or mitigating
vulnerabilities, especially in software and
firmware. Vulnerability management is integral to computer security and
network security. Vulnerabilities can be discovered with a
vulnerability scanner, which analyzes a computer system in search of known vulnerabilities, such as
open ports, insecure software configuration, and susceptibility to
malware. In order for these tools to be effective, they must be kept up to date with every new update the vendor releases. Typically, these updates will scan for the new vulnerabilities that were introduced recently. Beyond vulnerability scanning, many organizations contract outside security auditors to run regular
penetration tests against their systems to identify vulnerabilities. In some sectors, this is a contractual requirement.
Reducing vulnerabilities The act of assessing and reducing vulnerabilities to cyber attacks is commonly referred to as
information technology security assessments. They aim to assess systems for risk and to predict and test for their vulnerabilities. While
formal verification of the correctness of computer systems is possible, it is not yet common. Operating systems formally verified include
seL4, and
SYSGO's
PikeOS – but these make up a very small percentage of the market. It is possible to reduce an attacker's chances by keeping systems up to date with security patches and updates and by hiring people with expertise in security. Large companies with significant threats can hire Security Operations Centre (SOC) Analysts. These are specialists in cyber defences, with their role ranging from "conducting threat analysis to investigating reports of any new issues and preparing and testing disaster recovery plans." Whilst no measures can completely guarantee the prevention of an attack, these measures can help mitigate the damage of possible attacks. The effects of data loss/damage can be also reduced by careful
backing up and
insurance. Outside of formal assessments, there are various methods of reducing vulnerabilities, including
hardening systems.
Two factor authentication is a method for mitigating unauthorized access to a system or sensitive information. It requires
something you know: a password or PIN, and
something you have: a card, dongle, cellphone, or another piece of hardware. This increases security as an unauthorized person needs both of these to gain access. Protecting against social engineering and direct computer access (physical) attacks can only happen by non-computer means, which can be difficult to enforce, relative to the sensitivity of the information. Training is often involved to help mitigate this risk by improving people's knowledge of how to protect themselves and by increasing people's awareness of threats. However, even in highly disciplined environments (e.g. military organizations), social engineering attacks can still be difficult to foresee and prevent. Inoculation, derived from
inoculation theory, seeks to prevent social engineering and other fraudulent tricks and traps by instilling a resistance to persuasion attempts through exposure to similar or related attempts.
Hardware protection mechanisms Hardware-based or assisted computer security also offers an alternative to software-only computer security. Using devices and methods such as
dongles,
trusted platform modules, intrusion-aware cases, drive locks, disabling USB ports, and mobile-enabled access may be considered more secure due to the physical access (or sophisticated backdoor access) required in order to be compromised. Each of these is covered in more detail below. • USB
dongles are typically used in software licensing schemes to unlock software capabilities, but they can also be seen as a way to prevent unauthorized access to a computer or other device's software. The dongle, or key, essentially creates a secure encrypted tunnel between the software application and the key. The principle is that an encryption scheme on the dongle, such as
Advanced Encryption Standard (AES) provides a stronger measure of security since it is harder to hack and replicate the dongle than to simply copy the native software to another machine and use it. Another security application for dongles is to use them for accessing web-based content such as cloud software or
Virtual Private Networks (VPNs). In addition, a USB dongle can be configured to lock or unlock a computer. •
Trusted platform modules (TPMs) secure devices by integrating cryptographic capabilities onto access devices, through the use of microprocessors, or so-called computers-on-a-chip. TPMs used in conjunction with server-side software offer a way to detect and authenticate hardware devices, preventing unauthorized network and data access. •
Computer case intrusion detection refers to a device, typically a push-button switch, which detects when a computer case is opened. The firmware or BIOS is programmed to show an alert to the operator when the computer is booted up the next time. • Drive locks are essentially software tools to encrypt hard drives, making them inaccessible to thieves. Tools exist specifically for encrypting external drives as well. • Disabling USB ports is a security option for preventing unauthorized and malicious access to an otherwise secure computer. Infected USB dongles connected to a network from a computer inside the firewall are considered by the magazine Network World as the most common hardware threat facing computer networks. • Disconnecting or disabling peripheral devices (like camera, GPS, removable storage, etc.), that are not in use. • Mobile-enabled access devices are growing in popularity due to the ubiquitous nature of cell phones. Built-in capabilities such as
Bluetooth, the newer
Bluetooth low-energy (LE),
near-field communication (NFC) on non-iOS devices and
biometric validation such as thumbprint readers, as well as
QR code reader software designed for mobile devices, offer new, secure ways for mobile phones to connect to access control systems. These control systems provide computer security and can also be used for controlling access to secure buildings. •
IOMMUs allow for hardware-based
sandboxing of components in mobile and desktop computers by utilizing
direct memory access protections. •
Physical Unclonable Functions (PUFs) can be used as a digital fingerprint or a unique identifier to integrated circuits and hardware, providing users the ability to secure the hardware supply chains going into their systems.
Secure operating systems One use of the term
computer security refers to technology that is used to implement
secure operating systems. Using secure operating systems is a good way of ensuring computer security. These are systems that have achieved certification from an external security-auditing organization, the most popular evaluations are
Common Criteria (CC).
Secure coding In software engineering,
secure coding aims to guard against the accidental introduction of security vulnerabilities. It is also possible to create software designed from the ground up to be secure. Such systems are
secure by design. Beyond this, formal verification aims to prove the
correctness of the
algorithms underlying a system; important for
cryptographic protocols for example.
Capabilities and access control lists Within computer systems, two of the main
security models capable of enforcing privilege separation are
access control lists (ACLs) and
role-based access control (RBAC). An
access-control list (ACL), with respect to a computer file system, is a list of permissions associated with an object. An ACL specifies which users or system processes are granted access to objects, as well as what operations are allowed on given objects. Role-based access control is an approach to restricting system access to authorized users, used by the majority of enterprises with more than 500 employees, and can implement
mandatory access control (MAC) or
discretionary access control (DAC). A further approach,
capability-based security has been mostly restricted to research operating systems. Capabilities can, however, also be implemented at the language level, leading to a style of programming that is essentially a refinement of standard object-oriented design. An open-source project in the area is the
E language.
User security training The end-user is widely recognized as the weakest link in the security chain and it is estimated that more than 90% of security incidents and breaches involve some kind of human error. Among the most commonly recorded forms of errors and misjudgment are poor password management, sending emails containing sensitive data and attachments to the wrong recipient, the inability to recognize misleading URLs and to identify fake websites and dangerous email attachments. A common mistake that users make is saving their user id/password in their browsers to make it easier to log in to banking sites. This is a gift to attackers who have obtained access to a machine by some means. The risk may be mitigated by the use of two-factor authentication. As the human component of cyber risk is particularly relevant in determining the global cyber risk an organization is facing, security awareness training, at all levels, not only provides formal compliance with regulatory and industry mandates but is considered essential in reducing cyber risk and protecting individuals and companies from the great majority of cyber threats. The focus on the end-user represents a profound cultural change for many security practitioners, who have traditionally approached cyber security exclusively from a technical perspective, and moves along the lines suggested by major security centers to develop a culture of cyber awareness within the organization, recognizing that a security-aware user provides an important line of defense against cyber attacks.
Digital hygiene Related to end-user training,
digital hygiene or
cyber hygiene is a fundamental principle relating to information security and, as the analogy with
personal hygiene shows, is the equivalent of establishing simple routine measures to minimize the risks from cyber threats. The assumption is that good cyber hygiene practices can give networked users another layer of protection, reducing the risk that one vulnerable node will be used to either mount attacks or compromise another node or network, especially from common cyberattacks. Cyber hygiene should also not be mistaken for
proactive cyber defence, a military term. The most common acts of digital hygiene can include updating malware protection, cloud back-ups, passwords, and ensuring restricted admin rights and network firewalls. As opposed to a purely technology-based defense against threats, cyber hygiene mostly regards routine measures that are technically simple to implement and mostly dependent on discipline or education. It can be thought of as an abstract list of tips or measures that have been demonstrated as having a positive effect on personal or collective digital security. As such, these measures can be performed by laypeople, not just security experts. Cyber hygiene relates to personal hygiene as computer viruses relate to biological viruses (or pathogens). However, while the term
computer virus was coined almost simultaneously with the creation of the first working computer viruses, the term
cyber hygiene is a much later invention, perhaps as late as 2000 by Internet pioneer
Vint Cerf. It has since been adopted by the
Congress and
Senate of the United States, the FBI,
EU institutions and heads of state.
Difficulty of responding to breaches Responding to attempted
security breaches is often very difficult for a variety of reasons, including: • Identifying attackers is difficult, as they may operate through proxies, temporary anonymous dial-up accounts, wireless connections, and other anonymizing procedures which make back-tracing difficult – and are often located in another
jurisdiction. If they successfully breach security, they have also often gained enough administrative access to enable them to delete
logs to cover their tracks. • The sheer number of attempted attacks, often by automated vulnerability scanners and computer worms, is so large that organizations cannot spend time pursuing each. •
Law enforcement officers often lack the skills, interest or budget to pursue attackers. Furthermore, identifying attackers across a network may necessitate collecting logs from multiple locations within the network and across various countries, a process that can be both difficult and time-consuming. Where an attack succeeds and a breach occurs, many jurisdictions now have in place mandatory
security breach notification laws.
Types of security and privacy •
Access control •
Anti-keyloggers •
Anti-malware •
Anti-spyware •
Anti-subversion software •
Anti-tamper software •
Anti-theft •
Antivirus software •
Cryptographic software •
Computer-aided dispatch (CAD) •
Data loss prevention software •
Firewall •
Intrusion detection system (IDS) •
Intrusion prevention system (IPS) •
Log management software •
Parental control •
Records management •
Sandbox •
Security information management •
Security information and event management (SIEM) •
Software and operating system updating •
Vulnerability management ==Systems at risk==