Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the complianz-gdpr domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/iednnet/public_html/wp-includes/functions.php on line 6114

Warning: Cannot modify header information - headers already sent by (output started at /home/iednnet/public_html/wp-includes/functions.php:6114) in /home/iednnet/public_html/wp-includes/rest-api/class-wp-rest-server.php on line 1893

Warning: Cannot modify header information - headers already sent by (output started at /home/iednnet/public_html/wp-includes/functions.php:6114) in /home/iednnet/public_html/wp-includes/rest-api/class-wp-rest-server.php on line 1893

Warning: Cannot modify header information - headers already sent by (output started at /home/iednnet/public_html/wp-includes/functions.php:6114) in /home/iednnet/public_html/wp-includes/rest-api/class-wp-rest-server.php on line 1893

Warning: Cannot modify header information - headers already sent by (output started at /home/iednnet/public_html/wp-includes/functions.php:6114) in /home/iednnet/public_html/wp-includes/rest-api/class-wp-rest-server.php on line 1893

Warning: Cannot modify header information - headers already sent by (output started at /home/iednnet/public_html/wp-includes/functions.php:6114) in /home/iednnet/public_html/wp-includes/rest-api/class-wp-rest-server.php on line 1893

Warning: Cannot modify header information - headers already sent by (output started at /home/iednnet/public_html/wp-includes/functions.php:6114) in /home/iednnet/public_html/wp-includes/rest-api/class-wp-rest-server.php on line 1893

Warning: Cannot modify header information - headers already sent by (output started at /home/iednnet/public_html/wp-includes/functions.php:6114) in /home/iednnet/public_html/wp-includes/rest-api/class-wp-rest-server.php on line 1893

Warning: Cannot modify header information - headers already sent by (output started at /home/iednnet/public_html/wp-includes/functions.php:6114) in /home/iednnet/public_html/wp-includes/rest-api/class-wp-rest-server.php on line 1893
{"id":471,"date":"2024-02-05T10:58:29","date_gmt":"2024-02-05T07:58:29","guid":{"rendered":"https:\/\/iedn.net\/?p=471"},"modified":"2024-02-05T10:58:29","modified_gmt":"2024-02-05T07:58:29","slug":"the-downfall-of-the-runet-possible-scenarios","status":"publish","type":"post","link":"https:\/\/iedn.net\/en\/the-downfall-of-the-runet-possible-scenarios\/","title":{"rendered":"The Downfall of the Runet, possible scenarios."},"content":{"rendered":"
\n

30 January 2024 – A massive outage affecting all national domain zones of Runet drew the attention of experts from around the world to the problem of the resilience of the existing Internet infrastructure, and in particular to the critical technology responsible for its security, such as DNSSEC.<\/span><\/p>\n<\/div>\n

\n

In this article, I would like to summarise the key points of this incident using concrete evidence, and draw some conclusions about the causes of this significant event.<\/span><\/p>\n<\/div>\n

<\/div>\n
\n

The main reason for this incident was probably the excessive ambitions of the Moscow traffic exchange node (MSK-IX), which is trying to lead the management of the Runet infrastructure with a view to its possible isolation and separation from the global network.<\/span><\/p>\n<\/div>\n

\n

The aim was to control not only traffic exchange nodes, but also national domain zones. This also indicates a desire to test the possibility of controlling the national domain zone as part of gaining full control over the Internet within the country, and is actually the first practical step in creating a “sovereign” Internet.<\/span><\/p>\n<\/div>\n

<\/div>\n
\n

However, as we can see, the transition of DNSSEC management from the Internet Technical Centre, which has traditionally led the support of national domains, to MSK-IX is not an easy task, and given the exodus of qualified personnel, it is not trivial.<\/span><\/p>\n<\/div>\n

\n

As a result, MSK-IX’s attempt to become the DNSSEC backup centre without sufficient testing and pre-validation resulted in a crash and a complete shutdown of the network.<\/span><\/p>\n<\/div>\n

<\/div>\n
\n

As a result, rather than sharing responsibility and improving system reliability, MSK-IX’s actions created a second point of failure, once again highlighting the importance of careful planning and testing when making changes to critical infrastructure. More generally, it highlights the shortcomings of current WAN architecture, where the actions of a small node can cause real problems.<\/span><\/p>\n<\/div>\n

<\/div>\n
\n

What happened in the end? As you will see below, the main problem was errors in the KSK signature,<\/span><\/p>\n<\/div>\n

\n

It is obvious that in the MSK settings the developers did not implement the offline KSK signature that the Technical Centre for Internet (TCI) relies on, and only one KSK was observed in the zone.<\/span><\/p>\n<\/div>\n

<\/div>\n
\n

As a result, an error occurred during the creation of the .ru zone file. That is, despite the presence of the correct keys, the signatures of the DNS records were incorrect, leading to a failure in domain resolution and a widespread system outage.<\/span><\/p>\n<\/div>\n

\n

This bug caused problems with key rotation and the dual signature mechanism.<\/span><\/p>\n<\/div>\n

\n

In a normal state, the process involved normal KSK and ZSK key rotation, but as a result of the bug, the old ZSK (44301) was returned and became active alongside the existing problematic ZSK (52263), leading to a dual signature rollback scenario. At the same time, there were still issues where signatures created by ZSK (52263) were not correctly verified, indicating a mismatch in the mathematics of the signatures.<\/span><\/p>\n<\/div>\n

<\/div>\n
\n

Management attempted to remedy the situation by removing the RRSIG for the keyset, resulting in a loss of connection to the root. Eventually, the zone was “repaired” by removing the offending signatures (rollback to earlier in the day).<\/span><\/p>\n<\/div>\n

\n

Analysing this situation, it is possible that the well-functioning legacy DNSSEC procedures in .ru and related zones may have been affected by the experimental changes, possibly in the context of creating a redundant DNSSEC infrastructure, resulting in an additional point of failure.<\/span><\/p>\n<\/div>\n

<\/div>\n
\n

As a result, this incident revealed a lack of transparency in DNSSEC procedures, particularly in the verification of the actual signers of signatures. This is a precedent that should be seriously analysed by all entities responsible for network resilience, not only in Russia.<\/span><\/p>\n<\/div>\n

<\/div>\n
\n

To illustrate these points, let’s look at two DNS queries made during the outage:<\/span><\/p>\n

\n

Query to Server 62.76.76.62<\/span>:<\/span><\/strong><\/p>\n<\/div>\n

\n
    \n
  • Status: NOERROR<\/span><\/li>\n
  • SOA and RRSIG records were correctly returned for the .ru domain.<\/span><\/li>\n
  • Query Time: 46 msec<\/span><\/li>\n
  • Server: 62.76.76.62<\/span><\/li>\n
  • This indicates that some servers, like 62.76.76.62, were responding correctly.<\/span><\/li>\n<\/ul>\n<\/div>\n
    \n

    Query to Server 8.8.8.8 (Google DNS):<\/span><\/strong><\/p>\n<\/div>\n

    \n