Rescue activity has additional decision parameters. If a crashed agent were located by the swarm, the cost of additional time and fuel that would be required to recover the agent should be incorporated into the model as a function that opposes the primary mission function. Additional conditional statements must be programmed to gauge agent failure in the first place. If the agent has failed due to a locally present disruption, deploying additional agents may result in their loss too.
2.4. Security
Swarm security is divided into two main categories. Physical agent security and protecting the swarm from cyber threats. Both are discussed in the following sections.
2.4.1. Physical Security
The physical security of agents deals with the detection of threats that might physically impede swarm progress. Additionally, defense or escape countermeasures should be designed as part of securing any multi-agent system. The counteraction from swarm agents is a response of the agents once a threat is detected and can include the following.
In either case, a threat classifier is needed for UAV swarms to detect and recognize potential threats. One defense approach to incoming malicious agents is to engage a swarm of counter-attack drones to intercept intruders. The approach by [
115] follows a similar method by deploying a swarm of drones that approaches the intruder UAV. The deployed defense agents form a cluster around the intruder and restrict its movement while attempting to herd it to a non-threatening location. The assumption is that the enemy agent is aware of other agents surrounding it and will take steps to prevent collision with them. However, if an enemy agent is not equipped with such abilities, there is a high possibility that it may collide with one or more of the defender agents and result in damage or loss. UAV agents can also be used to jam network connections of enemy agents and stop their crucial operations. A GPS spoofing attack was proposed in [
116] where it attempts to take control of an enemy agent. This is considered accomplished when it can successfully artificially specify the enemy agent’s perceived position and velocity. By controlling the agent and providing false data it is possible to disable the enemy. For example, the spoofer used in this study earlier demonstrated similar actions whereby it falsely produced ascending actions on a captured UAV that was hovering. To compensate, the agent started a descent and would have been catastrophic unless precautionary manual control took over [
116,
117]. However, such solutions which involve the deployment of additional drones for counterattack can be an expensive process considering the physical interactions that might take place among these agents. Replacement and repair of damaged defender aircraft can be costly. Such approaches should be deployed only, when necessary, when the main swarm is deemed incompetent to defend itself. Other solutions exist that can be accommodated onboard existing UAVs without the need for additional agents. Enemy agent ability jamming and evasive maneuvers are often advised in UAV swarm defense [
97]. For recognition of enemy agents, detection methods are necessary, especially to differentiate between swarm agents and foreign agents. While this can be done using software in-loop, network recognition, and unique hardware identifiers, vision-based frameworks are also being studied. For example, ref. [
118] uses a vision-based object detection method backed by deep learning to detect and track a potential enemy UAV. In addition to detection, a tracking system is implemented to keep the detected agent in a local bounding box and follow it.
2.4.2. Network Security
A large portion of control tasks for UAVs is dependent on a network structure. Any device, node, or link over a network is susceptible to cyber-attacks. With recent developments of malicious agents attempting to dissuade swarms from functioning, damaging the network capabilities of an UAV swarm is the primary method of executing attacks [
57]. Moreover, the remote nature of UAVs, combined with limited battery power, fast switching routing, formation topologies, and small onboard computing power has made securing drone networks a challenge. As with any network, FANETs are susceptible to attacks as well, more so because of their high mobility and reduced computational powers. Onboard agents have reduced computational power, and most of the processor load might be dedicated to functions such as flight, navigation, and mission tasks. Any security measures thus need to consume as little energy and computation resources as possible [
51].
Although attacks such as eavesdropping can be prevented using encryption for transmission, other attacks may still penetrate UAV networks. The encryption keys must be secure themselves to guarantee performance. Current security and management deployments assume that UAV swarms may accomplish tasks on a single charge. If refueling is needed, the subtraction of old agents and the addition of new swarm agents should be considered. Article [
45] creates a swarm broadcast protocol that accounts for rapid changes in swarm numbers, such as the addition of new drones. It also accounts for agents leaving the swarm for activities such as fuel recharge. The addition of new agents may require them to use the encryption keys used to secure network transmissions. However, challenges to this approach include offset delays that may be caused by validating new agents, the transmission of keys, and unstable networks interrupting the key transfer process. A loss of key transmission could cause new agents to be unable to decrypt transmissions [
45]. The requirements of the key management scheme proposed are also similar to the IDS requirements discussed in the next section. A lightweight management scheme that consumes low network and CPU resources is desirable. Secure broadcast protocols work whereby every time the swarm changes its agent composition a new secure key is created. This is done to prevent the old key from being used by any attackers. The new agents have separate identifiers that recognize them to be a part of the swarm, this identifier unlocks the broadcast packet that contains the new key. The master maintains a list of all agent identifiers actively connected, and every time an agent sends a leave or join request the identifier table gets updated, and a new broadcast key is sent out. To prevent offset delays during key sharing, agents also receive an updated copy of the identifier table. They can then verify that the nearest neighbor is a verified agent and send the key packet. In this way, the master does not have to send the key to every individual agent. Intrusion detection systems are a reliable and efficient way of securing computer networks. Recent studies demonstrate they can be deployed on UAV networks as well [
119].
As with a regular IDS, an UAV-IDS is created to detect any suspicious activity on the network and prevent its execution. Intrusion detection systems can be developed based on behaviors or anomalies. Bio-inspired particle detection IDS can also be used [
120]. An updated taxonomy of intrusion detection systems has been conducted by the authors in previous research [
121]. The IDS monitors network traffic such as data packets, transmission power, and routes, as well as new incoming requests from nodes.
While traditional attacks for computer networks may not directly apply here, IDS protocols can be easily modified to suit FANET requirements. An integration with Hyperledger Fabric, a distributed ledger platform, is possible to maintain unique identifiers for all acceptable nodes thereby blocking any unknown nodes from gaining access [
122]. An IDS functionality can also be influenced by its deployment location. Typically, an IDS located at ground control may have access to higher resources than on-board implementations. The placement can be determined depending on factors such as the level of protection required, the type of IDS being used, as well as resource requirements of the IDS itself. Multi-layered IDS are possible but require additional considerations of network and node capacity during system development. A policy-based IDS can be created that sets distinct patterns of behavior that are allowed whereas all others are flagged and sent to a higher-level operation for additional examination. Several research challenges as mentioned by [
106] discuss detection latency, IDS computational costs, and implementation overheads. A solution is required that is multi-positioned (agents and ground control both), multi-layered, and comprehensive in terms of attack detection and mitigation. Add to that the challenges faced by current IDS implementations, such as bottlenecks due to higher bandwidth and a lack of concrete defense policies [
123], and attack classifiers contribute further challenges to the problem. Articles [
124,
125] have a rule-based mechanism for the IDS. Detection rules for some of the most notorious attack types are predefined. The location is at the ground station and categorizes each agent in the swarm by its alleged threat. An intrusion report message is generated by each agent and sent to the ground station, which assists in verifying agent status as well as any foreign agents that might seek to infiltrate the swarm. A verification check is conducted by using anomaly detection backed by learning algorithms trained to identify and label behaviors.
The addition of learning algorithms significantly expands the capability of intrusion detection systems, and blockchain-supported network security has also been recently explored as a way of securing UAV swarms. Blockchain is a peer-to-peer (P2P) distributed ledger that is secure, transparent, and flexible. It can store data in a chain of blocks that are tamper-proof. Smart contracts can be developed on the chain to execute specific predefined actions. Blockchain has widespread use in security, finance, and government applications [
126]. Blockchain technology is a viable solution to issues with UAV network security.
Current UAV softwarization techniques are summarized in [
122] such as the wide range of attacks on control, application, and data plane. Several proposed blockchain-based architectures are a comprehensive solution to these issues.
Figure 7 demonstrates a simplified blockchain based method for securing low level swarms. A blockchain instance runs on a cloud and ground-based station. Every agent in the swarm has a hardcoded unique identifier. A state table with the agents and their identifiers is maintained by the blockchain and synced across the station nodes. Agents validate their existence at every iteration and the blockchain is updated accordingly. A spoofed agent with an identifier that is not present on the blockchain is unable to join the swarm, is denied communication services and is recognized immediately.
Figure 7. A blockchain based methodology for securing UAV swarms.
Integration benefits include communication data security and transparency in node transactions. However current blockchain technology has scaling and latency issues [
127]. A proper framework choice is needed that fits the stochastic requirements of UAV swarms. The first step is the selection of an appropriate consensus algorithm for the blockchain itself. Fast consensus algorithms instead of proof of work are required. Article [
53] recommends PBFT (practical byzantine fault tolerance) consensus that has a frequency of 500 Hz. Such higher frequencies can satisfy the intensive demands of routing policies, resource allocation, and mobility management in addition to deploying secure swarms. Article [
122] in particular focuses on the security and privacy of communication links for UAVs via blockchain-supported softwarization architecture. By ensuring the authenticity of virtual machines in the virtual infrastructure, it is also capable of protecting against various security threats.