## 3 Countermeasure to Suppression Attack
### Analysis of Suppression Attack  
The MPL uses a sequence number to normally maintain the order of data messages transmitted from a source node. However, the sequence number can be misused by an adversary to attack the network. For example, a malicious node can intentionally multicast a series of spoof data messages with continuous sequence numbers within a short period of time to increase the minimum sequence number stored in the Seed Set. This can prevent the legitimate nodes from accepting valid data messages with a sequence number less than the minimum sequence number from the source node, and cause them to delete data messages with a sequence number less than the minimum sequence number from the Buffered Message Set. Suppose that a source node (\(n_{s}\)) multicasts a data message (\(pkt[seq]\)) with a sequence number (\(seq\)) to a node (\(n_{d}\)) via intermediate nodes (e.g., \(n_{a}\), \(n_{b}\), and \(n_{c}\)), as shown in Figure 2a, where other nodes that subscribe to the same MPL domain also could receive and multicast the data message. We implicitly assume that each node faithfully and collaboratively multicasts \(pkt[seq]\) and thus, \(n_{d}\) can successfully receive the data message. However, a malicious node can easily launch the suppression attack by multicasting a series of spoof data messages with continuous sequence numbers to increase the minimum sequence number stored in the Seed Set at legitimate nodes. In Figure 2b, a malicious node (\(n_{m}\)) multicasts a series of spoof data messages with continuous sequence numbers ranging between \(s_{min}\) and \(s_{new}\) within a short period of time, denoted as \({}^{*}pkt[s_{min},s_{new}]\), to its neighbor nodes. The malicious node could increase the time of multicasting a series of spoof data messages with continuous sequence numbers, however, the malicious node does not benefit from doing so because the minimum sequence number maintained in the Seed Set will not be increased greatly. Here, \(s_{min}\) is the minimum sequence number stored in the Seed Set at neighbor nodes. Through frequently exchanged MPL control messages, it is not hard for a malicious node to find the stored minimum sequence number at neighbor nodes. When a legitimate node, e.g., \(n_{a}\), receives \({}^{*}pkt[s_{min},s_{new}]\) from \(n_{m}\), it updates the minimum sequence number stored in the Seed Set to (\(s_{new}+1\)) and then deletes any data message that has sequence number less than (\(s_{new}+1\)) from the Buffered Message Set. When the source node (\(n_{s}\)) generates and multicasts a new data message (\(pkt[seq]\)), where \(seq<(s_{new}+1)\), the legitimate node (\(n_{a}\)) will not accept \(pkt[seq]\) based on the MPL protocol since \(pkt[seq]\) has the sequence number less than the minimum sequence number stored in the Seed Set. As shown in Figure 2b, due to the suppression attack, a great number of legitimate nodes that are located in the affected zone cannot accept valid data messages from the source node, suffering from denial of service. In Figure 3, we measure the packet reception rate against the suppression attack rate and number of spoof data messages (\(N_{spkt}\)). In this paper, the suppression attack rate indicates how frequently a malicious node multicasts a series of spoof data messages with continuous sequence numbers to increase the minimum sequence number stored in the Seed Set. As shown in Figure 3, when the suppression attack rate increases, the packet reception rate of legitimate node decreases quickly. This is because the series of spoof data messages with continuous sequence numbers makes the minimum sequence number increase, and data messages with smaller sequence number from source node will not be accepted. As the number of spoof data messages \(N_{spkt}\) increases in each attack, a lower packet reception rate is observed compared to that of \(N_{spkt}\) = 10.