Files
nexus/sreweekly/articles/45/01-dns-devastation-top-websites-whacked-offline-as-dyn-dies-again.html
2026-09-12 17:23:01 +08:00

3077 lines
164 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="en-US" dir="ltr" class="resp_fonts">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script>
window.labClientAPIReady = new Promise(function (resolve) {
document.addEventListener(
'labClientAPIReady',
function () { resolve(window.labClientAPI); },
{ once: true }
);
});
</script>
<script type="module">
import { ClientAPI } from '/view-resources/baseview/public/common/ClientAPI/index.js?v=1789024619-L4';
window.labClientAPI = new ClientAPI({
pageData: {
url: 'https://www.theregister.com/on-prem/2016/10/21/dns-devastation-top-websites-whacked-offline-as-dyn-dies-again/799599',
pageType: 'article',
pageId: '799599',
section: 'on_prem',
subsection: '',
title: 'DNS devastation: Top websites whacked offline as Dyn dies again',
seotitle: 'DNS devastation: Top websites whacked offline as Dyn dies again',
sometitle: 'DNS devastation: Top websites whacked offline as Dyn dies again',
description: 'Twitter, Amazon, AirBnB, Github and many others hit in DDoS attack on infrastructure',
seodescription: 'Twitter, Amazon, AirBnB, Github and many others hit in DDoS attack on infrastructure',
somedescription: 'Twitter, Amazon, AirBnB, Github and many others hit in DDoS attack on infrastructure',
device: 'desktop',
cms: 'labrador',
cmsVersion: '4.2.22',
contentLanguage: 'en-US',
published: '2016-10-21T18:55:55.000Z',
modified: '2016-10-23T12:47:51.000Z',
tags: ["ddos", "on_prem", "networks", "dyn", "dns"],
bylines: ["Kieren McCarthy"],
site: {
domain: 'https://www.theregister.com',
id: '2',
alias: 'theregister',
name: 'theregister'
},
paid: 0,
paywall: 'internal'
},
debug: false
});
document.dispatchEvent(new Event('labClientAPIReady'));
</script>
<title>DNS devastation: Top websites whacked offline as Dyn dies again</title>
<meta name="title" content="DNS devastation: Top websites whacked offline as Dyn dies again">
<meta name="description" content="Twitter, Amazon, AirBnB, Github and many others hit in DDoS attack on infrastructure">
<link rel="canonical" href="https://www.theregister.com/on-prem/2016/10/21/dns-devastation-top-websites-whacked-offline-as-dyn-dies-again/799599">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta property="og:type" content="article">
<meta property="og:title" content="DNS devastation: Top websites whacked offline as Dyn dies again">
<meta property="og:description" content="Twitter, Amazon, AirBnB, Github and many others hit in DDoS attack on infrastructure">
<meta property="og:locale" content="en-US">
<meta property="og:site_name" content="theregister">
<meta property="article:published_time" content="2016-10-21T18:55:55.000Z">
<meta property="article:modified_time" content="2016-10-23T12:47:51.000Z">
<meta property="article:author" content="Kieren McCarthy">
<meta property="article:tag" content="ddos">
<meta property="article:tag" content="on_prem">
<meta property="article:tag" content="networks">
<meta property="article:tag" content="dyn">
<meta property="article:tag" content="dns">
<meta property="og:image" content="https://image.theregister.com/225759.jpg?imageId=225759&panox=0&panoy=0&panow=0&panoh=0&width=1200&height=683">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="684">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="DNS devastation: Top websites whacked offline as Dyn dies again">
<meta name="twitter:description" content="Twitter, Amazon, AirBnB, Github and many others hit in DDoS attack on infrastructure">
<meta name="twitter:image" content="https://image.theregister.com/225759.jpg?imageId=225759&panox=0&panoy=0&panow=0&panoh=0&width=1200&height=683">
<link rel="alternate" type="application/json+oembed" href="https://www.theregister.com/on-prem/2016/10/21/dns-devastation-top-websites-whacked-offline-as-dyn-dies-again/799599?lab_viewport=oembed">
<script >// OOPS slot definition v2 — same code on all sites, only SITE_KEY changes:
// theregister.com → 'thereg'
// blocksandfiles.com → 'bandf'
// devclass.com → 'devclass'
// nextplatform.com → 'nextplatform'
window.googletag = window.googletag || { cmd: [] };
googletag.cmd.push(function () {
const SITE_KEY = 'thereg'; // CHANGE PER SITE
const context = document.querySelector('meta[property="og:type"]')?.content === "article" ? "article" : "front";
const device = window.Dac.clientData.labDevice === "mobile" ? "mobile" : "desktop";
const bwidth = window.innerWidth || 0;
const test = new URLSearchParams(window.location.search).get('test');
const author = document.querySelector('meta[property="article:author"]')?.content;
const canonicalUrl = document.querySelector("link[rel=canonical]")?.getAttribute("href");
const articleId = canonicalUrl?.split("/").pop();
googletag.setConfig({
targeting: {
device,
...(bwidth && { bwidth: bwidth + '' }),
...(test && { test }),
...(author && { author }),
...(canonicalUrl && { canonicalUrl }),
...(articleId && { articleId }),
}
});
function createOops() {
if (document.getElementById('oops')) return;
const oopsDiv = document.createElement('div');
oopsDiv.id = 'oops';
oopsDiv.style.cssText = 'width:0;height:0;overflow:hidden;';
document.body.prepend(oopsDiv);
}
if (document.body) {
createOops();
} else {
document.addEventListener('DOMContentLoaded', createOops);
}
googletag.defineOutOfPageSlot('/6978/labrador/' + SITE_KEY + '/' + context + '/' + device + '/oops', 'oops')
.addService(googletag.pubads())
.setConfig({ targeting: { is_oops: '1' } });
});</script><script type="module">import { setArticlePagePostCount } from "https://cdn.theregister.com/assets/javascript/forum_post_counts.cade00e6.js";
setArticlePagePostCount();</script><script type="module" src="https://cdn.theregister.com/assets/javascript/article.2d9d928c.js"></script><script >window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('consent', 'default', {
'analytics_storage': 'granted',
'ad_storage': 'denied',
'ad_user_data': 'denied',
'ad_personalization': 'denied',
'wait_for_update': 500
});
window.googlefc = window.googlefc || {};
window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];
window.googlefc.callbackQueue.push({
'CONSENT_DATA_READY': function() {
if (typeof __tcfapi === 'undefined') return;
__tcfapi('ping', 2, function(pingData) {
if (pingData && pingData.gdprApplies === false) {
gtag('consent', 'update', {
'ad_storage': 'granted',
'ad_user_data': 'granted',
'ad_personalization': 'granted'
});
}
});
}
});</script><script type="module">import { initAccountLink } from "https://cdn.theregister.com/assets/javascript/account_link.9903a027.js";
initAccountLink();</script><script type="module">import { applyDevMode } from "https://cdn.theregister.com/assets/javascript/dev_mode.54481a06.js";
applyDevMode();</script>
<style >.bodytext .column.google-ad.widthFull {
padding-top: 40px;
padding-bottom: 50px;
}
/* Prevents GAM from pushing the footer up automatically */
body {
padding-bottom: 0px !important;
margin-bottom: 0px !important;
}</style>
<link rel="stylesheet" href="https://cdn.theregister.com/assets/css/forum_post_counts.4501b489.css"><link rel="stylesheet" href="https://cdn.theregister.com/assets/css/article.8855f7fa.css"><link rel="stylesheet" href="https://cdn.theregister.com/assets/css/account_link.74f9c2bd.css"><link rel="stylesheet" href="https://cdn.theregister.com/assets/css/labrador_overrides.c9e9a0ef.css">
<script>
const PROVIDER_CONFIG = null
;
if (PROVIDER_CONFIG && !window.__labradorPaywallClientAPIInitialized) {
window.__labradorPaywallClientAPIInitialized = true;
const LOG_PREFIX = '[Paywall:' + PROVIDER_CONFIG.provider + ']';
function checkAuthState() {
if (!window.userStatus) {
return;
}
window.userStatus.verify().then(function() {
var status = window.userStatus.getStatus(PROVIDER_CONFIG.right);
var engagentlyToken = window.userStatus.getEngagently();
if (status >= 2) {
window.labClientAPI.emit('accessGranted', {
provider: PROVIDER_CONFIG.provider,
paid: status,
engagentlyToken: engagentlyToken
});
} else {
var data = { provider: PROVIDER_CONFIG.provider, paid: status || 0 };
if (engagentlyToken) data.engagentlyToken = engagentlyToken;
window.labClientAPI.emit('accessDenied', data);
}
}).catch(function(err) {
window.labClientAPI.emit('accessDenied', { provider: PROVIDER_CONFIG.provider, paid: 0 });
});
}
window.labClientAPIReady.then(function(api) {
api.set(PROVIDER_CONFIG.provider + 'PaywallHelper', {
checkNow: function() { return (window.userStatus && window.userStatus.getStatus(PROVIDER_CONFIG.right)) || 0; },
getStatus: checkAuthState
});
checkAuthState();
});
}
</script>
<meta property="og:url" content="https://www.theregister.com/on-prem/2016/10/21/dns-devastation-top-websites-whacked-offline-as-dyn-dies-again/799599">
<link type="image/x-icon" rel="icon" href="/view-resources/dachser2/public/theregister/favicons/favicon.ico">
<link type="image/svg+xml" rel="icon" href="/view-resources/dachser2/public/theregister/favicons/favicon.svg">
<link type="image/png" rel="icon" sizes="16x16" href="/view-resources/dachser2/public/theregister/favicons/favicon-16x16.png">
<link type="image/png" rel="icon" sizes="32x32" href="/view-resources/dachser2/public/theregister/favicons/favicon-32x32.png">
<link type="image/png" rel="icon" sizes="48x48" href="/view-resources/dachser2/public/theregister/favicons/favicon-48x48.png">
<link type="image/png" rel="icon" sizes="96x96" href="/view-resources/dachser2/public/theregister/favicons/favicon-96x96.png">
<link type="image/png" rel="icon" sizes="192x192" href="/view-resources/dachser2/public/theregister/favicons/web-app-manifest-192x192.png">
<link type="image/png" rel="icon" sizes="512x512" href="/view-resources/dachser2/public/theregister/favicons/web-app-manifest-512x512.png">
<link type="image/png" rel="apple-touch-icon" sizes="180x180" href="/view-resources/dachser2/public/theregister/favicons/apple-touch-icon.png">
<link rel="manifest" href=/view-resources/dachser2/public/theregister/favicons/manifest.json />
<link href="https://fonts.googleapis.com/css?family=Merriweather:300,400,700,900" rel="stylesheet" media="print" onload="this.media='all'" >
<link rel="stylesheet" href="/view-resources/view/css/grid.css?v=1789024619-L4">
<link rel="stylesheet" href="/view-resources/view/css/main.css?v=1789024619-L4">
<link rel="stylesheet" href="/view-resources/view/css/colors.css?v=1789024619-L4">
<link rel="stylesheet" href="/view-resources/view/css/print.css?v=1789024619-L4" media="print">
<link rel="stylesheet" href="/view-resources/view/css/foundation-icons/foundation-icons.css?v=1789024619-L4">
<link rel="stylesheet" href="/view-resources/view/css/site/theregister.css?v=1789024619-L4">
<style data-key="custom_properties">
:root{--primary: rgba(0,0,0,1);--secondary: rgba(255,255,255,1);--tertiary: rgba(214,0,0,1);--quaternary: rgba(0,0,0,1);--bg-secondary: rgba(255,255,255,1);--bg-tertiary: rgba(239,239,239,1);--bg-quaternary: rgba(0,0,0,1);--bg-quinary: rgba(22,22,22,1);--bg-senary: rgba(255,235,235,1);--bg-septenary: rgba(214,0,0,1);--bg-octonary: rgba(248,248,248,1);--bg-nonary: rgba(208, 200, 200, 1);--bg-primary: rgba(255,0,0,1);--bg-septenary-light: rgba(230,102,102,1);--bg-septenary-dark: rgba(150,0,0,1);--bg-nonary-light: rgba(227,222,222,1);--bg-nonary-dark: rgba(146,140,140,1);}
</style>
<style data-key="background_colors">
.bg-secondary {background-color: rgba(255,255,255,1);}.bg-tertiary {background-color: rgba(239,239,239,1);}.bg-quaternary {background-color: rgba(0,0,0,1);color: #fff;}.bg-quinary {background-color: rgba(22,22,22,1);color: #fff;}.bg-senary {background-color: rgba(255,235,235,1);}.bg-septenary {background-color: rgba(214,0,0,1);color: #fff;}.bg-octonary {background-color: rgba(248,248,248,1);}.bg-nonary {background-color: rgba(208, 200, 200, 1);}.bg-primary {background-color: rgba(255,0,0,1);color: #fff;}.bg-septenary-light {background-color: rgba(230,102,102,1);}.bg-septenary-dark {background-color: rgba(150,0,0,1);color: #fff;}.bg-nonary-light {background-color: rgba(227,222,222,1);}.bg-nonary-dark {background-color: rgba(146,140,140,1);}@media (max-width: 1023px) { .color_mobile_bg-secondary {background-color: rgba(255,255,255,1);}}@media (max-width: 1023px) { .color_mobile_bg-tertiary {background-color: rgba(239,239,239,1);}}@media (max-width: 1023px) { .color_mobile_bg-quaternary {background-color: rgba(0,0,0,1);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-quinary {background-color: rgba(22,22,22,1);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-senary {background-color: rgba(255,235,235,1);}}@media (max-width: 1023px) { .color_mobile_bg-septenary {background-color: rgba(214,0,0,1);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-octonary {background-color: rgba(248,248,248,1);}}@media (max-width: 1023px) { .color_mobile_bg-nonary {background-color: rgba(208, 200, 200, 1);}}@media (max-width: 1023px) { .color_mobile_bg-primary {background-color: rgba(255,0,0,1);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-septenary-light {background-color: rgba(230,102,102,1);}}@media (max-width: 1023px) { .color_mobile_bg-septenary-dark {background-color: rgba(150,0,0,1);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-nonary-light {background-color: rgba(227,222,222,1);}}@media (max-width: 1023px) { .color_mobile_bg-nonary-dark {background-color: rgba(146,140,140,1);}}
</style>
<style data-key="background_colors_opacity">
.bg-secondary.op-bg_20 {background-color: rgba(255, 255, 255, 0.2);}.bg-secondary.op-bg_40 {background-color: rgba(255, 255, 255, 0.4);}.bg-secondary.op-bg_60 {background-color: rgba(255, 255, 255, 0.6);}.bg-secondary.op-bg_80 {background-color: rgba(255, 255, 255, 0.8);}.bg-tertiary.op-bg_20 {background-color: rgba(239, 239, 239, 0.2);}.bg-tertiary.op-bg_40 {background-color: rgba(239, 239, 239, 0.4);}.bg-tertiary.op-bg_60 {background-color: rgba(239, 239, 239, 0.6);}.bg-tertiary.op-bg_80 {background-color: rgba(239, 239, 239, 0.8);}.bg-quaternary.op-bg_20 {background-color: rgba(0, 0, 0, 0.2);color: #fff;}.bg-quaternary.op-bg_40 {background-color: rgba(0, 0, 0, 0.4);color: #fff;}.bg-quaternary.op-bg_60 {background-color: rgba(0, 0, 0, 0.6);color: #fff;}.bg-quaternary.op-bg_80 {background-color: rgba(0, 0, 0, 0.8);color: #fff;}.bg-quinary.op-bg_20 {background-color: rgba(22, 22, 22, 0.2);color: #fff;}.bg-quinary.op-bg_40 {background-color: rgba(22, 22, 22, 0.4);color: #fff;}.bg-quinary.op-bg_60 {background-color: rgba(22, 22, 22, 0.6);color: #fff;}.bg-quinary.op-bg_80 {background-color: rgba(22, 22, 22, 0.8);color: #fff;}.bg-senary.op-bg_20 {background-color: rgba(255, 235, 235, 0.2);}.bg-senary.op-bg_40 {background-color: rgba(255, 235, 235, 0.4);}.bg-senary.op-bg_60 {background-color: rgba(255, 235, 235, 0.6);}.bg-senary.op-bg_80 {background-color: rgba(255, 235, 235, 0.8);}.bg-septenary.op-bg_20 {background-color: rgba(214, 0, 0, 0.2);color: #fff;}.bg-septenary.op-bg_40 {background-color: rgba(214, 0, 0, 0.4);color: #fff;}.bg-septenary.op-bg_60 {background-color: rgba(214, 0, 0, 0.6);color: #fff;}.bg-septenary.op-bg_80 {background-color: rgba(214, 0, 0, 0.8);color: #fff;}.bg-octonary.op-bg_20 {background-color: rgba(248, 248, 248, 0.2);}.bg-octonary.op-bg_40 {background-color: rgba(248, 248, 248, 0.4);}.bg-octonary.op-bg_60 {background-color: rgba(248, 248, 248, 0.6);}.bg-octonary.op-bg_80 {background-color: rgba(248, 248, 248, 0.8);}.bg-nonary.op-bg_20 {background-color: rgba(208, 200, 200, 0.2);}.bg-nonary.op-bg_40 {background-color: rgba(208, 200, 200, 0.4);}.bg-nonary.op-bg_60 {background-color: rgba(208, 200, 200, 0.6);}.bg-nonary.op-bg_80 {background-color: rgba(208, 200, 200, 0.8);}.bg-primary.op-bg_20 {background-color: rgba(255, 0, 0, 0.2);color: #fff;}.bg-primary.op-bg_40 {background-color: rgba(255, 0, 0, 0.4);color: #fff;}.bg-primary.op-bg_60 {background-color: rgba(255, 0, 0, 0.6);color: #fff;}.bg-primary.op-bg_80 {background-color: rgba(255, 0, 0, 0.8);color: #fff;}.bg-septenary-light.op-bg_20 {background-color: rgba(230, 102, 102, 0.2);}.bg-septenary-light.op-bg_40 {background-color: rgba(230, 102, 102, 0.4);}.bg-septenary-light.op-bg_60 {background-color: rgba(230, 102, 102, 0.6);}.bg-septenary-light.op-bg_80 {background-color: rgba(230, 102, 102, 0.8);}.bg-septenary-dark.op-bg_20 {background-color: rgba(150, 0, 0, 0.2);color: #fff;}.bg-septenary-dark.op-bg_40 {background-color: rgba(150, 0, 0, 0.4);color: #fff;}.bg-septenary-dark.op-bg_60 {background-color: rgba(150, 0, 0, 0.6);color: #fff;}.bg-septenary-dark.op-bg_80 {background-color: rgba(150, 0, 0, 0.8);color: #fff;}.bg-nonary-light.op-bg_20 {background-color: rgba(227, 222, 222, 0.2);}.bg-nonary-light.op-bg_40 {background-color: rgba(227, 222, 222, 0.4);}.bg-nonary-light.op-bg_60 {background-color: rgba(227, 222, 222, 0.6);}.bg-nonary-light.op-bg_80 {background-color: rgba(227, 222, 222, 0.8);}.bg-nonary-dark.op-bg_20 {background-color: rgba(146, 140, 140, 0.2);}.bg-nonary-dark.op-bg_40 {background-color: rgba(146, 140, 140, 0.4);}.bg-nonary-dark.op-bg_60 {background-color: rgba(146, 140, 140, 0.6);}.bg-nonary-dark.op-bg_80 {background-color: rgba(146, 140, 140, 0.8);}@media (max-width: 1023px) { .color_mobile_bg-secondary.op-bg_20 {background-color: rgba(255, 255, 255, 0.2);}}@media (max-width: 1023px) { .color_mobile_bg-secondary.op-bg_40 {background-color: rgba(255, 255, 255, 0.4);}}@media (max-width: 1023px) { .color_mobile_bg-secondary.op-bg_60 {background-color: rgba(255, 255, 255, 0.6);}}@media (max-width: 1023px) { .color_mobile_bg-secondary.op-bg_80 {background-color: rgba(255, 255, 255, 0.8);}}@media (max-width: 1023px) { .color_mobile_bg-tertiary.op-bg_20 {background-color: rgba(239, 239, 239, 0.2);}}@media (max-width: 1023px) { .color_mobile_bg-tertiary.op-bg_40 {background-color: rgba(239, 239, 239, 0.4);}}@media (max-width: 1023px) { .color_mobile_bg-tertiary.op-bg_60 {background-color: rgba(239, 239, 239, 0.6);}}@media (max-width: 1023px) { .color_mobile_bg-tertiary.op-bg_80 {background-color: rgba(239, 239, 239, 0.8);}}@media (max-width: 1023px) { .color_mobile_bg-quaternary.op-bg_20 {background-color: rgba(0, 0, 0, 0.2);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-quaternary.op-bg_40 {background-color: rgba(0, 0, 0, 0.4);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-quaternary.op-bg_60 {background-color: rgba(0, 0, 0, 0.6);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-quaternary.op-bg_80 {background-color: rgba(0, 0, 0, 0.8);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-quinary.op-bg_20 {background-color: rgba(22, 22, 22, 0.2);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-quinary.op-bg_40 {background-color: rgba(22, 22, 22, 0.4);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-quinary.op-bg_60 {background-color: rgba(22, 22, 22, 0.6);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-quinary.op-bg_80 {background-color: rgba(22, 22, 22, 0.8);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-senary.op-bg_20 {background-color: rgba(255, 235, 235, 0.2);}}@media (max-width: 1023px) { .color_mobile_bg-senary.op-bg_40 {background-color: rgba(255, 235, 235, 0.4);}}@media (max-width: 1023px) { .color_mobile_bg-senary.op-bg_60 {background-color: rgba(255, 235, 235, 0.6);}}@media (max-width: 1023px) { .color_mobile_bg-senary.op-bg_80 {background-color: rgba(255, 235, 235, 0.8);}}@media (max-width: 1023px) { .color_mobile_bg-septenary.op-bg_20 {background-color: rgba(214, 0, 0, 0.2);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-septenary.op-bg_40 {background-color: rgba(214, 0, 0, 0.4);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-septenary.op-bg_60 {background-color: rgba(214, 0, 0, 0.6);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-septenary.op-bg_80 {background-color: rgba(214, 0, 0, 0.8);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-octonary.op-bg_20 {background-color: rgba(248, 248, 248, 0.2);}}@media (max-width: 1023px) { .color_mobile_bg-octonary.op-bg_40 {background-color: rgba(248, 248, 248, 0.4);}}@media (max-width: 1023px) { .color_mobile_bg-octonary.op-bg_60 {background-color: rgba(248, 248, 248, 0.6);}}@media (max-width: 1023px) { .color_mobile_bg-octonary.op-bg_80 {background-color: rgba(248, 248, 248, 0.8);}}@media (max-width: 1023px) { .color_mobile_bg-nonary.op-bg_20 {background-color: rgba(208, 200, 200, 0.2);}}@media (max-width: 1023px) { .color_mobile_bg-nonary.op-bg_40 {background-color: rgba(208, 200, 200, 0.4);}}@media (max-width: 1023px) { .color_mobile_bg-nonary.op-bg_60 {background-color: rgba(208, 200, 200, 0.6);}}@media (max-width: 1023px) { .color_mobile_bg-nonary.op-bg_80 {background-color: rgba(208, 200, 200, 0.8);}}@media (max-width: 1023px) { .color_mobile_bg-primary.op-bg_20 {background-color: rgba(255, 0, 0, 0.2);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-primary.op-bg_40 {background-color: rgba(255, 0, 0, 0.4);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-primary.op-bg_60 {background-color: rgba(255, 0, 0, 0.6);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-primary.op-bg_80 {background-color: rgba(255, 0, 0, 0.8);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-septenary-light.op-bg_20 {background-color: rgba(230, 102, 102, 0.2);}}@media (max-width: 1023px) { .color_mobile_bg-septenary-light.op-bg_40 {background-color: rgba(230, 102, 102, 0.4);}}@media (max-width: 1023px) { .color_mobile_bg-septenary-light.op-bg_60 {background-color: rgba(230, 102, 102, 0.6);}}@media (max-width: 1023px) { .color_mobile_bg-septenary-light.op-bg_80 {background-color: rgba(230, 102, 102, 0.8);}}@media (max-width: 1023px) { .color_mobile_bg-septenary-dark.op-bg_20 {background-color: rgba(150, 0, 0, 0.2);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-septenary-dark.op-bg_40 {background-color: rgba(150, 0, 0, 0.4);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-septenary-dark.op-bg_60 {background-color: rgba(150, 0, 0, 0.6);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-septenary-dark.op-bg_80 {background-color: rgba(150, 0, 0, 0.8);color: #fff;}}@media (max-width: 1023px) { .color_mobile_bg-nonary-light.op-bg_20 {background-color: rgba(227, 222, 222, 0.2);}}@media (max-width: 1023px) { .color_mobile_bg-nonary-light.op-bg_40 {background-color: rgba(227, 222, 222, 0.4);}}@media (max-width: 1023px) { .color_mobile_bg-nonary-light.op-bg_60 {background-color: rgba(227, 222, 222, 0.6);}}@media (max-width: 1023px) { .color_mobile_bg-nonary-light.op-bg_80 {background-color: rgba(227, 222, 222, 0.8);}}@media (max-width: 1023px) { .color_mobile_bg-nonary-dark.op-bg_20 {background-color: rgba(146, 140, 140, 0.2);}}@media (max-width: 1023px) { .color_mobile_bg-nonary-dark.op-bg_40 {background-color: rgba(146, 140, 140, 0.4);}}@media (max-width: 1023px) { .color_mobile_bg-nonary-dark.op-bg_60 {background-color: rgba(146, 140, 140, 0.6);}}@media (max-width: 1023px) { .color_mobile_bg-nonary-dark.op-bg_80 {background-color: rgba(146, 140, 140, 0.8);}}
</style>
<style data-key="border_colors">
.border-bg-secondary{--border-color: var(--bg-secondary);}.mobile_border-bg-secondary{--mobile-border-color: var(--bg-secondary);}.border-bg-tertiary{--border-color: var(--bg-tertiary);}.mobile_border-bg-tertiary{--mobile-border-color: var(--bg-tertiary);}.border-bg-quaternary{--border-color: var(--bg-quaternary);}.mobile_border-bg-quaternary{--mobile-border-color: var(--bg-quaternary);}.border-bg-quinary{--border-color: var(--bg-quinary);}.mobile_border-bg-quinary{--mobile-border-color: var(--bg-quinary);}.border-bg-senary{--border-color: var(--bg-senary);}.mobile_border-bg-senary{--mobile-border-color: var(--bg-senary);}.border-bg-septenary{--border-color: var(--bg-septenary);}.mobile_border-bg-septenary{--mobile-border-color: var(--bg-septenary);}.border-bg-octonary{--border-color: var(--bg-octonary);}.mobile_border-bg-octonary{--mobile-border-color: var(--bg-octonary);}.border-bg-nonary{--border-color: var(--bg-nonary);}.mobile_border-bg-nonary{--mobile-border-color: var(--bg-nonary);}.border-bg-primary{--border-color: var(--bg-primary);}.mobile_border-bg-primary{--mobile-border-color: var(--bg-primary);}.border-bg-septenary-light{--border-color: var(--bg-septenary-light);}.mobile_border-bg-septenary-light{--mobile-border-color: var(--bg-septenary-light);}.border-bg-septenary-dark{--border-color: var(--bg-septenary-dark);}.mobile_border-bg-septenary-dark{--mobile-border-color: var(--bg-septenary-dark);}.border-bg-nonary-light{--border-color: var(--bg-nonary-light);}.mobile_border-bg-nonary-light{--mobile-border-color: var(--bg-nonary-light);}.border-bg-nonary-dark{--border-color: var(--bg-nonary-dark);}.mobile_border-bg-nonary-dark{--mobile-border-color: var(--bg-nonary-dark);}
</style>
<style data-key="font_colors">
.primary {color: rgba(0,0,0,1) !important;}.secondary {color: rgba(255,255,255,1) !important;}.tertiary {color: rgba(214,0,0,1) !important;}.quaternary {color: rgba(0,0,0,1) !important;}@media (max-width: 1023px) { .color_mobile_primary {color: rgba(0,0,0,1) !important;}}@media (max-width: 1023px) { .color_mobile_secondary {color: rgba(255,255,255,1) !important;}}@media (max-width: 1023px) { .color_mobile_tertiary {color: rgba(214,0,0,1) !important;}}@media (max-width: 1023px) { .color_mobile_quaternary {color: rgba(0,0,0,1) !important;}}
</style>
<style data-key="image_gradient">
.image-gradient-bg-secondary{--background-color: var(--bg-secondary);}.color_mobile_image-gradient-bg-secondary{--mobile-background-color: var(--bg-secondary);}.image-gradient-bg-tertiary{--background-color: var(--bg-tertiary);}.color_mobile_image-gradient-bg-tertiary{--mobile-background-color: var(--bg-tertiary);}.image-gradient-bg-quaternary{--background-color: var(--bg-quaternary);}.color_mobile_image-gradient-bg-quaternary{--mobile-background-color: var(--bg-quaternary);}.image-gradient-bg-quinary{--background-color: var(--bg-quinary);}.color_mobile_image-gradient-bg-quinary{--mobile-background-color: var(--bg-quinary);}.image-gradient-bg-senary{--background-color: var(--bg-senary);}.color_mobile_image-gradient-bg-senary{--mobile-background-color: var(--bg-senary);}.image-gradient-bg-septenary{--background-color: var(--bg-septenary);}.color_mobile_image-gradient-bg-septenary{--mobile-background-color: var(--bg-septenary);}.image-gradient-bg-octonary{--background-color: var(--bg-octonary);}.color_mobile_image-gradient-bg-octonary{--mobile-background-color: var(--bg-octonary);}.image-gradient-bg-nonary{--background-color: var(--bg-nonary);}.color_mobile_image-gradient-bg-nonary{--mobile-background-color: var(--bg-nonary);}.image-gradient-bg-primary{--background-color: var(--bg-primary);}.color_mobile_image-gradient-bg-primary{--mobile-background-color: var(--bg-primary);}.image-gradient-bg-septenary-light{--background-color: var(--bg-septenary-light);}.color_mobile_image-gradient-bg-septenary-light{--mobile-background-color: var(--bg-septenary-light);}.image-gradient-bg-septenary-dark{--background-color: var(--bg-septenary-dark);}.color_mobile_image-gradient-bg-septenary-dark{--mobile-background-color: var(--bg-septenary-dark);}.image-gradient-bg-nonary-light{--background-color: var(--bg-nonary-light);}.color_mobile_image-gradient-bg-nonary-light{--mobile-background-color: var(--bg-nonary-light);}.image-gradient-bg-nonary-dark{--background-color: var(--bg-nonary-dark);}.color_mobile_image-gradient-bg-nonary-dark{--mobile-background-color: var(--bg-nonary-dark);}
</style>
<style data-key="custom_css_variables">
:root {
--lab_page_width: 1200px;
--lab_columns_gutter: 11px;
--lab_focus_ring_color: #005fcc;
--lab_social_hover_color: #008cba;
--space-top: 0;
--space-top-adnuntiusAd: ;
}
@media(max-width: 767px) {
:root {
--lab_columns_gutter: 10px;
}
}
@media(min-width: 767px) {
:root {
}
}
</style>
<script src="/view-resources/public/common/JWTCookie.js?v=1789024619-L4"></script>
<script src="/view-resources/public/common/Paywall.js?v=1789024619-L4"></script>
<script>
window.Dac = window.Dac || {};
(function () {
if (navigator) {
window.Dac.clientData = {
language: navigator.language,
userAgent: navigator.userAgent,
innerWidth: window.innerWidth,
innerHeight: window.innerHeight,
deviceByMediaQuery: getDeviceByMediaQuery(),
labDevice: 'desktop', // Device from labrador
device: 'desktop', // Device from varnish
paywall: {
isAuthenticated: isPaywallAuthenticated(),
toggleAuthenticatedContent: toggleAuthenticatedContent,
requiredProducts: [],
},
page: {
id: '799599',
extId: 'theregister-182874'
},
siteAlias: 'theregister',
debug: window.location.href.includes('debug=1')
};
function getDeviceByMediaQuery() {
if (window.matchMedia('(max-width: 767px)').matches) return 'mobile';
if (window.matchMedia('(max-width: 1023px)').matches) return 'tablet';
return 'desktop';
}
function isPaywallAuthenticated() {
if (window.Dac && window.Dac.JWTCookie) {
var JWTCookie = new Dac.JWTCookie({ debug: false });
return JWTCookie.isAuthenticated();
}
return false;
}
function toggleAuthenticatedContent(settings) {
if (!window.Dac || !window.Dac.Paywall) {
return;
}
var Paywall = new Dac.Paywall();
var updateDOM = Paywall.updateDOM;
if(settings && settings.displayUserName) {
var userName = Paywall.getUserName().then((userName) => {
updateDOM(userName !== false, userName, settings.optionalGreetingText);
});
} else {
updateDOM(window.Dac.clientData.paywall.isAuthenticated);
}
}
}
}());
</script>
<script type="module" src="/view-resources/baseview/public/common/baseview/moduleHandlers.js?v=1789024619-L4" data-cookieconsent="ignore"></script>
<!-- DataLayer -->
<script>
var dataLayerData = {};
dataLayerData['id'] = '799599';
dataLayerData['title'] = 'DNS devastation: Top websites whacked offline as Dyn dies again';
dataLayerData['subtitle'] = 'Twitter, Amazon, AirBnB, Github and many others hit in DDoS attack on infrastructure';
dataLayerData['kicker'] = 'Networks';
dataLayerData['created_by'] = '15';
dataLayerData['created_by_name'] = 'Inglis, James';
dataLayerData['page_template_alias'] = 'default';
dataLayerData['published'] = '1477076155';
dataLayerData['published_url'] = '/on-prem/2016/10/21/dns-devastation-top-websites-whacked-offline-as-dyn-dies-again/799599';
dataLayerData['tags'] = 'ddos,on_prem,networks,dyn,dns';
dataLayerData['modified'] = '1477226871';
dataLayerData['article_authors'] = 'Kieren McCarthy';
dataLayerData['testfield'] = 'testvalue';
dataLayerData['section'] = 'on_prem';
dataLayerData['original_url'] = 'https://www.theregister.com/2016/10/21/dns_devastation_as_dyn_dies_under_denialofservice_attack/';
dataLayerData['type'] = 'page_article';
dataLayer = [dataLayerData];
</script><!-- Google Tag Manager -->
<script>
window.dataLayer = window.dataLayer || [];
</script>
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-KVXB44');</script>
<script async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script>
<script>
window.googletag = window.googletag || {cmd: []};
googletag.cmd.push(function() {
var handleAsTablet = (Dac.clientData.device === 'tablet' || Dac.clientData.innerWidth < 1316);
if (!(handleAsTablet && '' === 'true')) {
googletag
.defineSlot('/6978/labrador/thereg/article/desktop/a', [[728,90], [970,90], [970,250], [970,280], [1200,250], [1200,270], [728,91], [970,251], [1200,271], [970,91]], 'labrador/thereg/article/desktop/a')
.addService(googletag.pubads());
}
if (!(handleAsTablet && '' === 'true')) {
googletag
.defineSlot('/6978/labrador/thereg/article/desktop/f', [[728,90], [970,90], [970,250], [970,280], [1200,250], [1200,270], [728,96], [970,256], [1200,276], [970,96], [1200,600], [970,254], [728,94], [970,94], [300,254], [1200,274]], 'labrador/thereg/article/desktop/f')
.addService(googletag.pubads());
}
if (!(handleAsTablet && '' === 'true')) {
googletag
.defineSlot('/6978/labrador/thereg/article/desktop/b', [[728,90], [970,90], [970,250], [970,280], [1200,250], [1200,270], [1200,600], [728,92], [970,252], [1200,272], [970,92], [1200,602]], 'labrador/thereg/article/desktop/b')
.addService(googletag.pubads());
}
if (!(handleAsTablet && '' === 'true')) {
googletag
.defineSlot('/6978/labrador/thereg/article/desktop/c', [[300,250], [300,600], [300,253], [300,603]], 'labrador/thereg/article/desktop/c')
.addService(googletag.pubads());
}
if (!(handleAsTablet && '' === 'true')) {
googletag
.defineSlot('/6978/labrador/thereg/article/desktop/d', [[300,250], [300,254]], 'labrador/thereg/article/desktop/d')
.addService(googletag.pubads());
}
if (!(handleAsTablet && '' === 'true')) {
googletag
.defineSlot('/6978/labrador/thereg/article/desktop/e', [[300,250], [300,255]], 'labrador/thereg/article/desktop/e')
.addService(googletag.pubads());
}
var pageTargeting = {
env: "prod",
site: "theregister",
section: "on_prem",
context: "article"
};
pageTargeting.tags = "ddos,on_prem,networks,dyn,dns";
googletag.setConfig({ targeting: pageTargeting });
var useLazyLoading = true || false;
if (useLazyLoading) {
googletag.setConfig({
lazyLoad: {
fetchMarginPercent: 200 || 150, // Fetch ad content when it is within 1.5 viewports of the visible area
renderMarginPercent: 150 || 150, // Render ads when they are within 1.5 viewports of the visible area
mobileScaling: 2 || 2.0 // Scale the above values by 2.0 on mobile devices to account for slower connections and rendering times
}
});
}
googletag.setConfig({ singleRequest: true });
googletag.setConfig({ collapseDiv: "ON_NO_FILL" });
googletag.enableServices();
});
</script>
<link href="https://fonts.googleapis.com/css?family=Roboto:regular,italic,700,900,600" rel="stylesheet" media="print" onload="this.media='all'" >
<link href="https://fonts.googleapis.com/css?family=Roboto+Condensed:regular,italic,700,900" rel="stylesheet" media="print" onload="this.media='all'" >
<link href="https://fonts.googleapis.com/css?family=Roboto+Flex:regular" rel="stylesheet" media="print" onload="this.media='all'" >
<link href="https://fonts.googleapis.com/css?family=Roboto+Mono:regular,100,200,300,100italic,300italic,200italic,500,italic,500italic,700,600,600italic,700italic" rel="stylesheet" media="print" onload="this.media='all'" >
<style id="dachser-vieweditor-styles">
header#nav, header.pageHeader { font-family: "Roboto"; font-weight: normal; font-style: normal; text-transform: none; letter-spacing: normal; color: #000000; }
.articleList .article-list-title { font-family: "Roboto"; font-weight: normal; font-style: normal; font-size: 1.1875rem; text-transform: none; letter-spacing: normal; }
.pageHeader .search .search-container input[type=text]::placeholder { font-family: "Roboto"; font-weight: normal; font-style: normal; text-transform: none; letter-spacing: normal; }
.bodytext { font-family: "Roboto"; font-weight: normal; font-style: normal; font-size: 1.125rem; text-transform: none; letter-spacing: normal; }@media (max-width: 767px) { .resp_fonts .bodytext {font-size: calc(0.262vw * 16); } }
.articleHeader .headline { font-family: "Roboto"; font-weight: 700; font-style: normal; font-size: 2.75rem; text-transform: none; letter-spacing: normal; }@media (max-width: 767px) { .resp_fonts .articleHeader .headline {font-size: calc(0.262vw * 24); } }
article.column .content .headline { font-family: "Roboto"; font-weight: 700; font-style: normal; font-size: 1.5rem; text-transform: none; letter-spacing: normal; }@media (max-width: 767px) { .resp_fonts article.column .content .headline {font-size: calc(0.262vw * 20); } }
.byline .name { font-family: "Roboto Mono"; font-weight: normal; font-style: normal; font-size: 0.8125rem; text-transform: none; letter-spacing: normal; color: #000000; }@media (max-width: 767px) { .resp_fonts .byline .name {font-size: calc(0.262vw * 13); } }
.articleHeader .subtitle { font-family: "Roboto"; font-weight: normal; font-style: normal; text-transform: none; letter-spacing: normal; }@media (max-width: 767px) { .resp_fonts .articleHeader .subtitle {font-size: calc(0.262vw * 16); } }
article.column .content .subtitle { font-family: "Roboto"; font-weight: normal; font-style: normal; text-transform: none; letter-spacing: normal; }
.byline .name .description { font-family: "Roboto Mono"; font-weight: normal; font-style: normal; text-transform: none; letter-spacing: normal; }
.byline .extended_description { font-family: "Roboto Mono"; font-weight: normal; font-style: normal; text-transform: none; letter-spacing: normal; }
article .bodytext figure .caption { font-family: "Roboto Condensed"; font-weight: normal; font-style: normal; text-transform: none; letter-spacing: normal; }
article .articleHeader .caption { font-family: "Roboto Condensed"; font-weight: normal; font-style: normal; text-transform: none; letter-spacing: normal; }
article .meta .dates { font-family: "Roboto Mono"; font-weight: normal; font-style: normal; font-size: 0.75rem; text-transform: none; letter-spacing: normal; }@media (max-width: 767px) { .resp_fonts article .meta .dates {font-size: calc(0.262vw * 12); } }
article .meta .dates .dateLabel { font-family: "Roboto Mono"; font-weight: normal; font-style: normal; font-size: 0.75rem; text-transform: none; letter-spacing: normal; }@media (max-width: 767px) { .resp_fonts article .meta .dates .dateLabel {font-size: calc(0.262vw * 12); } }
.articleFooter .tags a { font-family: "Roboto Mono"; font-weight: normal; font-style: normal; text-transform: uppercase; letter-spacing: normal; }
body { font-family: "Roboto"; font-weight: normal; font-style: normal; line-height: 1.6; text-transform: none; letter-spacing: normal; }
.articleList .article-list-title { font-family: "Roboto"; font-weight: normal; font-style: normal; font-size: 1rem; text-transform: none; letter-spacing: normal; }@media (max-width: 767px) { .resp_fonts .articleList .article-list-title {font-size: calc(0.262vw * 16); } }
.articleList ul li a .al-title { font-family: "Roboto"; font-weight: normal; font-style: normal; font-size: 1rem; text-transform: none; letter-spacing: normal; }@media (max-width: 767px) { .resp_fonts .articleList ul li a .al-title {font-size: calc(0.262vw * 16); } }
.topBarMenu ul li a, topBarMenu ul li span, .pageHeader .hamburger .hamburger-container .topBarMenu ul li { font-family: "Roboto"; font-weight: normal; font-style: normal; font-size: 1.25rem; text-transform: none; letter-spacing: normal; }@media (max-width: 767px) { .resp_fonts .topBarMenu ul li a, topBarMenu ul li span, .pageHeader .hamburger .hamburger-container .topBarMenu ul li {font-size: calc(0.262vw * 12); line-height: 1.0; } }
.customMenu1 ul li a, .customMenu1 ul li span, .pageHeader .hamburger .hamburger-container .customMenu1 ul li a, .pageHeader .hamburger .hamburger-container .customMenu1 ul li span { font-family: "Roboto"; font-weight: normal; font-style: normal; font-size: 1.125rem; text-transform: none; letter-spacing: normal; }
.articleHeader .kicker { font-family: "Roboto"; font-weight: normal; font-style: normal; font-size: 1rem; text-transform: uppercase; letter-spacing: normal; }@media (max-width: 767px) { .resp_fonts .articleHeader .kicker {font-size: calc(0.262vw * 16); } }
article.column .content .kicker { font-family: "Roboto"; font-weight: normal; font-style: normal; font-size: 1rem; text-transform: uppercase; letter-spacing: normal; }@media (max-width: 767px) { .resp_fonts article.column .content .kicker {font-size: calc(0.262vw * 16); } }
footer.page { font-family: "Roboto"; font-weight: normal; font-style: normal; font-size: 0.75rem; text-transform: none; letter-spacing: normal; text-decoration: none; hyphens: auto; }@media (max-width: 767px) { .resp_fonts footer.page {font-size: calc(0.262vw * 12); } }
.bodytext>p a, .bodytext>ul a, .bodytext>ol a, .bodytext>h2 a, .bodytext>h3 a, .bodytext>h4 a { font-family: "Roboto"; font-weight: normal; font-style: normal; font-size: 1.125rem; text-transform: none; letter-spacing: normal; color: #333333; text-decoration: underline; hyphens: auto; }@media (max-width: 767px) { .resp_fonts .bodytext>p a, .bodytext>ul a, .bodytext>ol a, .bodytext>h2 a, .bodytext>h3 a, .bodytext>h4 a {font-size: calc(0.262vw * 16); } }
.toplist ul li .text h4 { font-family: "Roboto"; font-weight: 700; font-style: normal; font-size: 1.125rem; line-height: 1.5; text-transform: none; letter-spacing: normal; hyphens: auto; }
.articlescroller ul li h3 { font-family: "Roboto"; font-weight: 700; font-style: normal; font-size: 1.1875rem; letter-spacing: normal; hyphens: auto; }
.articlescroller ul li .subtitle { font-family: "Roboto"; font-weight: normal; font-style: normal; font-size: 1rem; letter-spacing: normal; hyphens: auto; }
.articleHeader .lab-article-section { font-family: "Roboto"; font-weight: normal; font-style: normal; font-size: 0.9375rem; text-transform: uppercase; letter-spacing: normal; hyphens: auto; }@media (max-width: 767px) { .resp_fonts .articleHeader .lab-article-section {font-size: calc(0.262vw * 15); } }
article.column .content .section { font-family: "Roboto"; font-weight: normal; font-style: normal; font-size: 0.9375rem; text-transform: uppercase; letter-spacing: normal; hyphens: auto; }@media (max-width: 767px) { .resp_fonts article.column .content .section {font-size: calc(0.262vw * 15); } }
.bodytext > h2 { font-family: "Roboto"; font-weight: 600; font-style: normal; font-size: 1.5625rem; line-height: 1.2; letter-spacing: normal; hyphens: auto; }@media (max-width: 767px) { .resp_fonts .bodytext > h2 {font-size: calc(0.262vw * 25); line-height: 1.2; } }
.font-Roboto { font-family: "Roboto" !important; }
.font-Roboto.font-weight-normal { font-weight: normal !important; }
.font-Roboto.font-weight-bold { font-weight: 700 !important; }
.font-Roboto.font-weight-black { font-weight: 900 !important; }
.font-RobotoCondensed { font-family: "Roboto Condensed" !important; }
.font-RobotoCondensed.font-weight-normal { font-weight: normal !important; }
.font-RobotoCondensed.font-weight-bold { font-weight: 700 !important; }
.font-RobotoCondensed.font-weight-black { font-weight: 900 !important; }
.font-RobotoFlex { font-family: "Roboto Flex" !important; }
.font-RobotoFlex.font-weight-normal { font-weight: normal !important; }
.font-RobotoMono { font-family: "Roboto Mono" !important; }
.font-RobotoMono.font-weight-normal { font-weight: normal !important; }
.font-RobotoMono.font-weight-light { font-weight: 100 !important; }
.font-RobotoMono.font-weight-bold { font-weight: 700 !important; }
</style>
<style id="css_variables"></style>
<script>
window.dachserData = {
_data: {},
_instances: {},
get: function(key) {
return dachserData._data[key] || null;
},
set: function(key, value) {
dachserData._data[key] = value;
},
push: function(key, value) {
if (!dachserData._data[key]) {
dachserData._data[key] = [];
}
dachserData._data[key].push(value);
},
setInstance: function(key, identifier, instance) {
if (!dachserData._instances[key]) {
dachserData._instances[key] = {};
}
dachserData._instances[key][identifier] = instance;
},
getInstance: function(key, identifier) {
return dachserData._instances[key] ? dachserData._instances[key][identifier] || null : null;
},
reflow: () => {}
};
</script>
<script type="application/ld+json">
[{"@context":"http://schema.org","@type":"WebSite","name":"theregister","url":"https://www.theregister.com"},{"@context":"https://schema.org","@type":"NewsArticle","headline":"DNS devastation: Top websites whacked offline as Dyn dies again","description":"Twitter, Amazon, AirBnB, Github and many others hit in DDoS attack on infrastructure","url":"https://www.theregister.com/on-prem/2016/10/21/dns-devastation-top-websites-whacked-offline-as-dyn-dies-again/799599","inLanguage":[{"@type":"Language","alternateName":"en-US"}],"image":[{"@type":"ImageObject","@id":"https://www.theregister.com/on-prem/2016/10/21/dns-devastation-top-websites-whacked-offline-as-dyn-dies-again/799599#primaryimage","url":"https://image.theregister.com/225759.webp?width=1200"}],"keywords":"ddos, on_prem, networks, dyn, dns","thumbnailUrl":"https://image.theregister.com/225759.webp?width=400","articleSection":"on_prem","author":[{"@type":"Person","name":"Kieren McCarthy","url":"https://www.theregister.com/author/Kieren-McCarthy"}],"publisher":{"@type":"Organization","name":"theregister","url":"https://www.theregister.com","logo":{"@type":"ImageObject","url":"https://www.theregister.com/view-resources/dachser2/public/theregister/logo.svg"}},"mainEntityOfPage":"https://www.theregister.com/on-prem/2016/10/21/dns-devastation-top-websites-whacked-offline-as-dyn-dies-again/799599","datePublished":"2016-10-21T18:55:55.000Z","dateModified":"2016-10-23T12:47:51.000Z","isAccessibleForFree":true}]
</script>
<style >@media (min-width: 768px) {
.custom-bodytext-alignment .bodytext>p,
.custom-bodytext-alignment .bodytext>h2,
.custom-bodytext-alignment .bodytext>h3,
.custom-bodytext-alignment .bodytext>h4,
.custom-bodytext-alignment .bodytext>ul,
.custom-bodytext-alignment .bodytext>ol {
padding-left: 220px;
padding-right: 320px;
}
}
@media (min-width: 768px) {
.custom-bodytext-alignment .bodytext .articleList {
padding-left: 230px !important;
width: 880px;
}
}
@media (min-width: 768px) {
.custom-bodytext-alignment .bodytext .google-ad.floatRight {
position: sticky;
top: 125px;
}
}
@media (min-width: 768px) {
.custom-bodytext-alignment .column.google-ad.widthFull,
.custom-bodytext-alignment .placement-top > .column.google-ad,
body.article section.related .large-12.google-ad,
body.front .placement-top > .column.google-ad,
body.front .large-12.google-ad {
padding-left: 0;
padding-right: 0;
}
}</style>
<meta property="article:section" content="on_prem">
<script>
var k5aMeta = { "paid": 0, "author": ["Kieren McCarthy"], "tag": ["ddos", "on_prem", "networks", "dyn", "dns"], "title": "DNS devastation: Top websites whacked offline as Dyn dies again", "teasertitle": "DNS devastation: Top websites whacked offline as Dyn dies again", "kicker": "Networks", "url": "https://www.theregister.com/a/799599", "login": (Dac.clientData.paywall.isAuthenticated ? 1 : 0), "subscriber": (Dac.clientData.paywall.isAuthenticated ? 1 : 0), "subscriberId": (Dac.clientData.subscriberId ? `"${ Dac.clientData.subscriberId }"` : "") };
</script>
<script>
(function () {
var sources = [
'//cl.k5a.io/6156b8c81b4d741e051f44c2.js',
];
function load() {
for (var i = 0; i < sources.length; i++) {
var script = document.createElement('script');
script.src = sources[i];
script.async = true;
document.head.appendChild(script);
}
}
// Kilkaya reads k5aMeta once, when it boots. On a paid article behind a
// client-side paywall the reader's access is not known while the head is
// parsed, so partial/lab4/analytics/kilkaya_metadata publishes k5aMetaReady
// and we hold off until the metadata is correct. Everywhere else the values
// are right already and Kilkaya loads immediately.
if (window.k5aMetaReady) {
window.k5aMetaReady.then(load);
} else {
load();
}
}());
</script>
<style>
:root {
}
</style>
</head>
<body class="l4 article site_theregister section_on_prem"
data-tag="ddos,on_prem,networks,dyn,dns"
data-lab-imported="true"
>
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-KVXB44"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
<script>
document.addEventListener("DOMContentLoaded", (event) => {
setScrollbarWidth();
window.addEventListener('resize', setScrollbarWidth);
});
function setScrollbarWidth() {
const root = document.querySelector(':root');
const width = (window.innerWidth - document.body.offsetWidth < 21) ? window.innerWidth - document.body.offsetWidth : 15;
root.style.setProperty('--lab-scrollbar-width', `${ width }px`);
}
</script>
<a href="#main" class="skip-link">Jump to main content</a>
<header class="pageElement pageHeader">
<div class="row mainrow">
<div class="hamburger to-be-expanded" data-id="pageElements-3">
<div class="positionRelative">
<span class="hamburger-button hamburger-expander ">
<button class="burger-btn" aria-label="Open menu" aria-expanded="false" aria-controls="hamburger-container" aria-haspopup="menu">
<i class="open fi-list"></i>
<i class="close fi-x"></i>
</button>
</span>
<div class="hamburger-container" id="hamburger-container">
<div data-id="pageElements-4" class="search visible dac-hidden-desktop-up">
<form class="search-container" action="/cse" method="get" role="search">
<label for="search-input-4" class="visuallyhidden">Search</label>
<input type="text" id="search-input-4" name="q" placeholder="Search...">
<button type="submit" class="search-button" aria-label="Search">
<i class="open fi-magnifying-glass"></i>
</button>
</form>
</div>
<nav class="navigation mainMenu expandable">
<p class="lab-menu-name dac-hidden-desktop-down">TOPICS</p>
<ul class="menu-list">
<li class="first-list-item has-children">
<span tabindex="0">Security</span>
<ul class="children">
<li class="">
<a href="/security" target="_self">All Security</a>
</li>
<li class="">
<a href="/cyber_crime" target="_self">Cyber-crime</a>
</li>
<li class="">
<a href="/patches" target="_self">Patches</a>
</li>
<li class="">
<a href="/research" target="_self">Research</a>
</li>
<li class="">
<a href="/cso" target="_self">CSO</a>
</li>
</ul>
</li>
<li class="first-list-item has-children">
<span tabindex="0">Off-Prem</span>
<ul class="children">
<li class="">
<a href="/off_prem" target="_self">All Off-Prem</a>
</li>
<li class="">
<a href="/edge_iot" target="_self">Edge and IoT</a>
</li>
<li class="">
<a href="/channel" target="_self">Channel</a>
</li>
<li class="">
<a href="/tag/paas-iaas" target="_self">PaaS and IaaS</a>
</li>
<li class="">
<a href="/saas" target="_self">SaaS</a>
</li>
</ul>
</li>
<li class="first-list-item has-children">
<span tabindex="0">On-Prem</span>
<ul class="children">
<li class="">
<a href="/on_prem" target="_self">All On-Prem</a>
</li>
<li class="">
<a href="/systems" target="_self">Systems</a>
</li>
<li class="">
<a href="/storage" target="_self">Storage</a>
</li>
<li class="">
<a href="/networks" target="_self">Networks</a>
</li>
<li class="">
<a href="/hpc" target="_self">HPC</a>
</li>
<li class="">
<a href="/personal_tech" target="_self">Personal Tech</a>
</li>
<li class="">
<a href="/cxo" target="_self">Cx0</a>
</li>
<li class="">
<a href="/public-sector" target="_self">Public Sector</a>
</li>
</ul>
</li>
<li class="first-list-item has-children">
<span tabindex="0">Software</span>
<ul class="children">
<li class="">
<a href="/software" target="_self">All Software</a>
</li>
<li class="">
<a href="/tag/ai%20and%20ml" target="_self">AI and ML</a>
</li>
<li class="">
<a href="/applications" target="_self">Applications</a>
</li>
<li class="">
<a href="/databases" target="_self">Databases</a>
</li>
<li class="">
<a href="/devops" target="_self">DevOps</a>
</li>
<li class="">
<a href="/tag/os%20platforms" target="_self">OS Platforms</a>
</li>
<li class="">
<a href="/virtualization" target="_self">Virtualization</a>
</li>
</ul>
</li>
<li class="first-list-item has-children">
<span tabindex="0">Offbeat</span>
<ul class="children">
<li class="">
<a href="/offbeat" target="_self">All Offbeat</a>
</li>
<li class="">
<a href="/columnists" target="_self">Columnists</a>
</li>
<li class="">
<a href="/science" target="_self">Science</a>
</li>
<li class="">
<a href="/bofh" target="_self">BOFH</a>
</li>
<li class="">
<a href="/legal" target="_self">Legal</a>
</li>
<li class="">
<a href="/site_news" target="_self">Site News</a>
</li>
<li class="">
<a href="https://www.theregister.com/about_us" target="_self">About Us</a>
</li>
</ul>
</li>
</ul>
</nav>
<script>
(function () {
// This is only called when the user presses the escape key.
function closeElement(event, element) {
if (event.key === 'Escape') {
window.removeEventListener('keydown', closeElement);
// Get all expanded elements and close them
const expanded = document.querySelectorAll('nav.mainMenu.expandable .has-children.expanded');
for (let i = 0; i < expanded.length; i++) {
expanded[i].classList.remove('expanded');
// Traverse up from the element the user has selected to see if it is a child of the expanded element
// If it is, set focus to the first child, as that is the span element with tabindex.
// This is so that if the user has moved on from the menu, we shouldn't mess with the focus and flow
if (document.activeElement.closest('.has-children') === expanded[i]) {
expanded[i].children[0].focus();
}
}
}
}
function toggleElement(event, element) {
// Prevent the default link behavior
event.preventDefault();
// Check if there are other expanded elements and close them
const expanded = document.querySelectorAll('nav.mainMenu.expandable .has-children.expanded');
for (let i = 0; i < expanded.length; i++) {
if (expanded[i] !== element.parentElement) {
expanded[i].classList.remove('expanded');
}
}
// Toggle the class "expanded" on the parent element
// We toggle instead of add/remove the class because we don't know if we are opening or closing the element
element.parentElement.classList.toggle('expanded');
window.addEventListener('keydown', closeElement);
}
// Add extra element for carat and toggle functionality after the span or a element
function addCarat(element) {
const carat = document.createElement('span');
carat.classList.add('carat');
carat.tabIndex = '0';
const sibling = element.querySelector(':scope > a') || element.querySelector(':scope > span');
element.insertBefore(carat, sibling.nextSibling);
element.tabIndex = '-1';
if (sibling.tagName === 'A') {
sibling.tabIndex = '0';
} else if (sibling.tagName === 'SPAN') {
sibling.tabIndex = '-1';
}
}
// Get all elements with class "has-children" and add two events - one click event and one keydown event
// Allow for the same expandable menu to be reused in different viewports by using different classes
let classes = '';
if (classes) {
classes = '.' + classes.trim().split(' ').join('.');
}
const hasChildren = document.querySelectorAll(`nav.mainMenu${ classes }.expandable .has-children > span`);
for (let i = 0; i < hasChildren.length; i++) {
hasChildren[i].addEventListener('click', function(e) {
toggleElement(e, this);
});
hasChildren[i].addEventListener('keydown', function (e) {
// Check for both enter and space keys
if (e.key === 'Enter' || e.key === ' ') {
toggleElement(e, this);
}
});
}
// Get all elements with class "has-children" when toggleChildren is enabled and carat and toggle functionality
const hasChildrenToggle = document.querySelectorAll(`nav.mainMenu${ classes }.expandable.toggleChildren .has-children > span, nav.mainMenu${ classes }.expandable.toggleChildren .has-children > a`);
for (let i = 0; i < hasChildrenToggle.length; i++) {
// Add carat to the element
addCarat(hasChildrenToggle[i].parentElement);
if (hasChildrenToggle[i].tagName === 'A' || hasChildrenToggle[i].tagName === 'SPAN') {
hasChildrenToggle[i].nextSibling.addEventListener('click', function(e) {
toggleElement(e, hasChildrenToggle[i]);
});
hasChildrenToggle[i].nextSibling.addEventListener('keydown', function(e) {
// Check for both enter and space keys
if (e.key === 'Enter' || e.key === ' ') {
toggleElement(e, hasChildrenToggle[i]);
}
});
// Use with caution - ensure that parent li overlaps with child ul to avoid prematurely triggering leave
if (hasChildrenToggle[i].closest('nav').classList.contains('toggleOnHover')) {
hasChildrenToggle[i].addEventListener('mouseenter', function(e) {
hasChildrenToggle[i].parentElement.classList.add('expanded');
});
hasChildrenToggle[i].parentElement.addEventListener('mouseleave', function(e) {
hasChildrenToggle[i].parentElement.classList.remove('expanded');
});
}
}
}
})();
</script>
<script>
(function () {
const menuLinks = document.querySelectorAll(`nav.mainMenu ul li a`);
for (let i = 0; i < menuLinks.length; i++) {
const link = menuLinks[i].pathname;
if (link === window.location.pathname) {
menuLinks[i].parentElement.classList.add('lab-link-active');
} else {
menuLinks[i].parentElement.classList.remove('lab-link-active');
}
}
})();
</script>
<nav class="navigation bottomBarMenu expandable">
<ul class="menu-list">
<li class="first-list-item has-children">
<span tabindex="0">Special Features</span>
<ul class="children">
<li class="dac-hidden-desktop-up">
<a href="/special_features" target="_self">All Special Features</a>
</li>
<li class="">
<a href="/special_features/vmware_explore_2026" target="_self">VMware Explore 2026</a>
</li>
<li class="">
<a href="/special_features/cloud_infrastructure_month_2026" target="_self">Cloud Infrastructure Month 2026</a>
</li>
<li class="">
<a href="/explainer/ai-explainer" target="_self">HPE: AI Explainers</a>
</li>
<li class="">
<a href="/special_features/agentic_ai" target="_self">Agentic AI</a>
</li>
<li class="">
<a href="/special_features/future_of_the_datacenter" target="_self">The Future of the Datacenter</a>
</li>
<li class="">
<a href="/special_features/aws_reinvent" target="_self">AWS:Reinvent</a>
</li>
<li class="">
<a href="/special_features/nvidia_gtc" target="_self">Nvidia GTC</a>
</li>
<li class="">
<a href="/special_features/2025_11_supercomputing_month" target="_self">Supercomputing Month</a>
</li>
<li class="">
<a href="/special_features/computex" target="_self">Computex 2026</a>
</li>
<li class="">
<a href="/special_features/ai_infrastructure_month_2026" target="_self">AI Infrastructure Month 2026</a>
</li>
<li class="">
<a href="/special_features/state_of_storage_2026" target="_self">The State of Storage 2026</a>
</li>
<li class="">
<a href="/special_features/rsa" target="_self">RSA Conference</a>
</li>
</ul>
</li>
<li class="first-list-item has-children">
<span tabindex="0">Vendor Voice</span>
<ul class="children">
<li class="">
<a href="https://vendorvoice.theregister.com/" target="_self">All Vendor Voice</a>
</li>
<li class="">
<a href="https://vendorvoice.theregister.com/aws_fis_capital_markets/" target="_self">Modernizing Financial Services with FIS and AWS</a>
</li>
<li class="">
<a href="https://vendorvoice.theregister.com/barco/" target="_self">Barco</a>
</li>
<li class="">
<a href="https://vendorvoice.theregister.com/infinidat/" target="_self">Infinidat</a>
</li>
<li class="">
<a href="https://vendorvoice.theregister.com/everpure/" target="_self">Everpure</a>
</li>
<li class="">
<a href="https://vendorvoice.theregister.com/rubrik/" target="_self">Rubrik</a>
</li>
<li class="">
<a href="https://vendorvoice.theregister.com/aws_capgemini/" target="_self">Make it real with Capgemini and AWS</a>
</li>
<li class="">
<a href="https://vendorvoice.theregister.com/aws_fis/" target="_self">Money Movement Hub</a>
</li>
<li class="">
<a href="https://vendorvoice.theregister.com/zte_news_and_stories/" target="_self">ZTE</a>
</li>
<li class="">
<a href="https://vendorvoice.theregister.com/nutantix_cloud_native_apps/" target="_self">Nutanix: Scale Kubernetes. Not Chaos.</a>
</li>
<li class="">
<a href="https://vendorvoice.theregister.com/aws_new_horizon/" target="_self">AWS New Horizon</a>
</li>
<li class="">
<a href="https://vendorvoice.theregister.com/digicert" target="_self">Digicert</a>
</li>
<li class="">
<a href="https://vendorvoice.theregister.com/netscout" target="_self">Netscout</a>
</li>
</ul>
</li>
<li class="first-list-item has-children">
<span tabindex="0">Resources</span>
<ul class="children">
<li class="">
<a href="https://intelligence.theregister.com" target="_self">Intelligence</a>
</li>
<li class="">
<a href="https://intelligence.theregister.com/events/list/" target="_self">Webinars &amp; Events</a>
</li>
<li class="">
<a href="https://account.theregister.com/login?r=https%3A%2F%2Faccount.theregister.com%2Fedit%2Fnewsletter%2F" target="_self">Newsletters</a>
</li>
</ul>
</li>
</ul>
</nav>
<script>
(function () {
// This is only called when the user presses the escape key.
function closeElement(event, element) {
if (event.key === 'Escape') {
window.removeEventListener('keydown', closeElement);
// Get all expanded elements and close them
const expanded = document.querySelectorAll('nav.bottomBarMenu.expandable .has-children.expanded');
for (let i = 0; i < expanded.length; i++) {
expanded[i].classList.remove('expanded');
// Traverse up from the element the user has selected to see if it is a child of the expanded element
// If it is, set focus to the first child, as that is the span element with tabindex.
// This is so that if the user has moved on from the menu, we shouldn't mess with the focus and flow
if (document.activeElement.closest('.has-children') === expanded[i]) {
expanded[i].children[0].focus();
}
}
}
}
function toggleElement(event, element) {
// Prevent the default link behavior
event.preventDefault();
// Check if there are other expanded elements and close them
const expanded = document.querySelectorAll('nav.bottomBarMenu.expandable .has-children.expanded');
for (let i = 0; i < expanded.length; i++) {
if (expanded[i] !== element.parentElement) {
expanded[i].classList.remove('expanded');
}
}
// Toggle the class "expanded" on the parent element
// We toggle instead of add/remove the class because we don't know if we are opening or closing the element
element.parentElement.classList.toggle('expanded');
window.addEventListener('keydown', closeElement);
}
// Add extra element for carat and toggle functionality after the span or a element
function addCarat(element) {
const carat = document.createElement('span');
carat.classList.add('carat');
carat.tabIndex = '0';
const sibling = element.querySelector(':scope > a') || element.querySelector(':scope > span');
element.insertBefore(carat, sibling.nextSibling);
element.tabIndex = '-1';
if (sibling.tagName === 'A') {
sibling.tabIndex = '0';
} else if (sibling.tagName === 'SPAN') {
sibling.tabIndex = '-1';
}
}
// Get all elements with class "has-children" and add two events - one click event and one keydown event
// Allow for the same expandable menu to be reused in different viewports by using different classes
let classes = '';
if (classes) {
classes = '.' + classes.trim().split(' ').join('.');
}
const hasChildren = document.querySelectorAll(`nav.bottomBarMenu${ classes }.expandable .has-children > span`);
for (let i = 0; i < hasChildren.length; i++) {
hasChildren[i].addEventListener('click', function(e) {
toggleElement(e, this);
});
hasChildren[i].addEventListener('keydown', function (e) {
// Check for both enter and space keys
if (e.key === 'Enter' || e.key === ' ') {
toggleElement(e, this);
}
});
}
// Get all elements with class "has-children" when toggleChildren is enabled and carat and toggle functionality
const hasChildrenToggle = document.querySelectorAll(`nav.bottomBarMenu${ classes }.expandable.toggleChildren .has-children > span, nav.bottomBarMenu${ classes }.expandable.toggleChildren .has-children > a`);
for (let i = 0; i < hasChildrenToggle.length; i++) {
// Add carat to the element
addCarat(hasChildrenToggle[i].parentElement);
if (hasChildrenToggle[i].tagName === 'A' || hasChildrenToggle[i].tagName === 'SPAN') {
hasChildrenToggle[i].nextSibling.addEventListener('click', function(e) {
toggleElement(e, hasChildrenToggle[i]);
});
hasChildrenToggle[i].nextSibling.addEventListener('keydown', function(e) {
// Check for both enter and space keys
if (e.key === 'Enter' || e.key === ' ') {
toggleElement(e, hasChildrenToggle[i]);
}
});
// Use with caution - ensure that parent li overlaps with child ul to avoid prematurely triggering leave
if (hasChildrenToggle[i].closest('nav').classList.contains('toggleOnHover')) {
hasChildrenToggle[i].addEventListener('mouseenter', function(e) {
hasChildrenToggle[i].parentElement.classList.add('expanded');
});
hasChildrenToggle[i].parentElement.addEventListener('mouseleave', function(e) {
hasChildrenToggle[i].parentElement.classList.remove('expanded');
});
}
}
}
})();
</script>
<script>
(function () {
const menuLinks = document.querySelectorAll(`nav.bottomBarMenu ul li a`);
for (let i = 0; i < menuLinks.length; i++) {
const link = menuLinks[i].pathname;
if (link === window.location.pathname) {
menuLinks[i].parentElement.classList.add('lab-link-active');
} else {
menuLinks[i].parentElement.classList.remove('lab-link-active');
}
}
})();
</script>
</div>
</div>
</div>
<script>
(function(){
const burgerButton = document.querySelector('[data-id="pageElements-3"] .burger-btn');
const dropdownCloseSection = document.querySelector('[data-id="pageElements-3"] .dropdown-close-section');
const hamburgerContainer = document.querySelector('[data-id="pageElements-3"] .hamburger-container');
function toggleDropdown() {
// Toggle the expanded class and aria-expanded attribute
document.querySelector('[data-id="pageElements-3"].hamburger.to-be-expanded').classList.toggle('expanded');
burgerButton.setAttribute('aria-expanded', burgerButton.getAttribute('aria-expanded') === 'true' ? 'false' : 'true');
burgerButton.setAttribute('aria-label', burgerButton.getAttribute('aria-expanded') === 'true' ? 'Close menu' : 'Open menu');
// This doesn't seem to do anything? But there's styling dependent on it some places
document.body.classList.toggle('hamburger-expanded');
}
function getFocusableElements() {
if (!hamburgerContainer) return [];
return Array.from(hamburgerContainer.querySelectorAll(
'a[href], button:not([disabled]), input:not([disabled]), ' +
'select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])'
)).filter(function(el) {
if (el.closest('[hidden]')) return false;
if (getComputedStyle(el).visibility === 'hidden') return false;
const rect = el.getBoundingClientRect();
return rect.width > 0 || rect.height > 0;
});
}
// Called via the event listener - handles Escape (close menu, restore focus) and
// Tab (trap focus within the open menu)
function handleKeydown(e) {
if (e.key === 'Escape') {
toggleDropdown();
// Set the focus back on the button when clicking escape, so the user can continue tabbing down
// the page in a natural flow
burgerButton.focus();
window.removeEventListener('keydown', handleKeydown);
return;
}
if (e.key === 'Tab') {
const focusable = getFocusableElements();
if (focusable.length === 0) return;
if (!e.shiftKey && document.activeElement === focusable[focusable.length - 1]) {
// Tab past last item → burger button
e.preventDefault();
burgerButton.focus();
} else if (e.shiftKey && document.activeElement === burgerButton) {
// Shift+Tab from burger button → last item
e.preventDefault();
focusable[focusable.length - 1].focus();
}
}
}
if(burgerButton) {
burgerButton.addEventListener('click', function(e) {
e.preventDefault();
toggleDropdown();
// If the menu gets expanded, add the event listener that will close it on pressing Escape
// else, remove the event listener otherwise it will continue to listen for escape even if the menu is closed.
if(burgerButton.getAttribute('aria-expanded') === 'true') {
window.addEventListener('keydown', handleKeydown);
} else {
window.removeEventListener('keydown', handleKeydown);
}
})
}
if (dropdownCloseSection) {
dropdownCloseSection.addEventListener('click', function(e) {
e.preventDefault();
toggleDropdown();
});
}
document.querySelectorAll('.hamburger .hamburger-expander, .hamburger .hamburger-container, .stop-propagation').forEach(function (element) {
element.addEventListener('click', function (e) {
e.stopPropagation();
});
});
}());
</script><div data-id="pageElements-7" class="search to-be-expanded dac-hidden-desktop-down bonusButton">
<form class="search-container" action="/cse" method="get" role="search">
<label for="search-input-7" class="visuallyhidden">Search</label>
<input type="text" id="search-input-7" name="q" placeholder="Search...">
<button id="bonusButton" class="bonusButton">
<i class="fi-magnifying-glass" aria-hidden="true"></i>
</button>
</form>
<button class="search-button search-expander" aria-label="Search" aria-expanded="false" aria-controls="search-input-7">
<i class="open fi-magnifying-glass"></i>
<i class="close fi-x"></i>
</button>
</div>
<script>
// Do the check for the search button inside the if statement, so we don't set a global const if there are multiple search buttons
if (document.querySelector('[data-id="pageElements-7"] .search-button')) {
// Now we can set a const that is only available inside the if scope
const searchButton = document.querySelector('[data-id="pageElements-7"] .search-button');
let searchWasExpanded = false;
let hadPointerDown = false;
searchButton.addEventListener('pointerdown', () => {
searchWasExpanded = searchButton.getAttribute('aria-expanded') === 'true';
hadPointerDown = true;
});
searchButton.addEventListener('click', (event) => {
event.preventDefault();
event.stopPropagation();
// For pointer interactions (mouse/touch), use the state captured at pointerdown time,
// before focusout could collapse the search. For keyboard interactions, pointerdown
// never fires, so read aria-expanded directly — focusout doesn't fire on keyboard
// so the current state is still accurate.
const wasExpanded = hadPointerDown ? searchWasExpanded : searchButton.getAttribute('aria-expanded') === 'true';
hadPointerDown = false;
const shouldOpen = !wasExpanded;
searchButton.parentElement.classList.toggle('expanded', shouldOpen);
searchButton.setAttribute('aria-expanded', shouldOpen ? 'true' : 'false');
searchButton.setAttribute('aria-label', shouldOpen ? 'Close search' : 'Open search');
// Set focus to the input.
// This might be dodgy due to moving focus automatically, but we'll keep it in for now.
if (shouldOpen) {
document.getElementById('search-input-7').focus();
}
}, false);
}
if (document.getElementById('bonusButton')) {
document.getElementById('bonusButton').addEventListener('pointerdown', (event) => {
event.preventDefault();
});
document.getElementById('bonusButton').addEventListener('click', (event) => {
document.querySelector('[data-id="pageElements-7"] .search-container').submit();
}, false);
}
// Wrap in a block so const doesn't conflict when multiple search widgets are on the same page
{
const searchWrapper = document.querySelector('[data-id="pageElements-7"]');
if (searchWrapper) {
const searchButton = document.querySelector('[data-id="pageElements-7"] .search-button');
searchWrapper.addEventListener('focusout', (event) => {
if (searchWrapper.classList.contains('expanded') && !searchWrapper.contains(event.relatedTarget)) {
searchWrapper.classList.remove('expanded');
if (searchButton) {
searchButton.setAttribute('aria-expanded', 'false');
searchButton.setAttribute('aria-label', 'Open search');
}
}
});
searchWrapper.addEventListener('keydown', (event) => {
if (event.key === 'Escape' && searchWrapper.classList.contains('expanded')) {
searchWrapper.classList.remove('expanded');
if (searchButton) {
searchButton.setAttribute('aria-expanded', 'false');
searchButton.setAttribute('aria-label', 'Open search');
searchButton.focus();
}
}
});
}
}
</script>
<figure class="logo logo--mobile">
<a href="https://www.theregister.com" aria-label="Go to frontpage">
<img src="/view-resources/dachser2/public/theregister/logo.svg"
alt="Go to frontpage. Logo, The Register"
width="275"
>
</a>
</figure>
<figure class="logo logo--primary">
<a href="https://www.theregister.com" aria-label="Go to frontpage">
<img src="/view-resources/dachser2/public/theregister/logo.svg"
alt="Go to frontpage. Logo, The Register"
width="275"
>
</a>
</figure>
<figure class="logo logo--secondary">
<a href="https://www.theregister.com" aria-label="Go to frontpage">
<img src="/view-resources/dachser2/public/theregister/logo.svg"
alt="Go to frontpage. Logo, The Register"
width="275"
>
</a>
</figure>
<nav class="navigation topBarMenu">
<ul class="menu-list">
<li class="first-list-item login-btn">
<a href="https://account.theregister.com/login" target="_self">Sign in</a>
</li>
</ul>
</nav>
<script>
(function () {
const menuLinks = document.querySelectorAll(`nav.topBarMenu ul li a`);
for (let i = 0; i < menuLinks.length; i++) {
const link = menuLinks[i].pathname;
if (link === window.location.pathname) {
menuLinks[i].parentElement.classList.add('lab-link-active');
} else {
menuLinks[i].parentElement.classList.remove('lab-link-active');
}
}
})();
</script>
</div>
<div class="row dac-hidden-desktop-down bottom-row">
<div class="section">
<nav class="navigation customMenu1">
<ul class="menu-list">
<li class="first-list-item ">
<a href="/tag/ai%20and%20ml" target="_self">AI</a>
</li>
<li class="first-list-item ">
<a href="/security" target="_self">Security</a>
</li>
<li class="first-list-item ">
<a href="/software" target="_self">Software</a>
</li>
<li class="first-list-item ">
<a href="/tag/microsoft" target="_self">Microsoft</a>
</li>
<li class="first-list-item ">
<a href="/devops" target="_self">Developer</a>
</li>
<li class="first-list-item ">
<a href="/tag/open%20source" target="_self">Open Source</a>
</li>
<li class="first-list-item ">
<a href="/tag/bofh" target="_self">BOFH</a>
</li>
<li class="first-list-item ">
<a href="/tag/who%20me" target="_self">Who, Me?</a>
</li>
<li class="first-list-item ">
<a href="/tag/on%20call/" target="_self">On Call</a>
</li>
<li class="first-list-item ">
<a href="/science" target="_self">Science</a>
</li>
</ul>
</nav>
<script>
(function () {
const menuLinks = document.querySelectorAll(`nav.customMenu1 ul li a`);
for (let i = 0; i < menuLinks.length; i++) {
const link = menuLinks[i].pathname;
if (link === window.location.pathname) {
menuLinks[i].parentElement.classList.add('lab-link-active');
} else {
menuLinks[i].parentElement.classList.remove('lab-link-active');
}
}
})();
</script>
</div>
</div>
<script>
(function () {
if (!'IntersectionObserver' in window) { return; }
var scrollEvents = scrollEvents || [];
if (scrollEvents) {
const domInterface = {
classList: {
remove: () => {},
add: () => {}
},
style: {
cssText: ''
}
};
scrollEvents.forEach(function(event) {
if (!event.directional) {
var callback = function(entries, observer) {
if (!entries[0]) { return; }
if (entries[0].isIntersecting) {
event.styles.forEach(function(item) {
(document.querySelector(item.selector) || domInterface).style.cssText = "";
});
event.classes.forEach(function(item) {
item.class.forEach(function(classname) {
(document.querySelector(item.selector) || domInterface).classList.remove(classname);
});
});
} else {
event.styles.forEach(function(item) {
(document.querySelector(item.selector) || domInterface).style.cssText = item.style;
});
event.classes.forEach(function(item) {
item.class.forEach(function(classname) {
(document.querySelector(item.selector) || domInterface).classList.add(classname);
});
});
}
};
var observer = new IntersectionObserver(callback, {
rootMargin: event.offset,
threshold: 1
});
var target = document.querySelector(event.target);
if (target) {
observer.observe(target);
}
}
if (event.directional) {
let previousTop = 0;
window.addEventListener('scroll', function() {
setTimeout(function() {
const currentTop = window.pageYOffset || document.documentElement.scrollTop;
if (currentTop > previousTop + 10) {
event.styles.forEach(function(item) {
(document.querySelector(item.selector) || domInterface).style.cssText = item.style;
});
event.classes.forEach(function(item) {
item.class.forEach(function(classname) {
(document.querySelector(item.selector) || domInterface).classList.add(classname);
});
});
} else if (currentTop < previousTop - 10) {
event.styles.forEach(function(item) {
(document.querySelector(item.selector) || domInterface).style.cssText = "";
});
event.classes.forEach(function(item) {
item.class.forEach(function(classname) {
(document.querySelector(item.selector) || domInterface).classList.remove(classname);
});
});
}
previousTop = currentTop;
}, 200);
});
}
});
}
}());
window.Dac.clientData.paywall.toggleAuthenticatedContent();
</script>
</header>
<section id="mainArticleSection" class="main article">
<div data-element-guid="b2384a92-0c95-4e83-edab-96d7288a4856" class="placeholder placement-top">
<div data-element-guid="0e2f4f3f-4575-48b0-9da6-c7a48f46c9bb" class="column google-ad small-12 large-12 small-abs-12 large-abs-12" style="">
<span class="ad-label">REG AD</span>
<div class="adunit" id="labrador/thereg/article/desktop/a" style="min-height:90px;"></div>
<script>
googletag.cmd.push(function() {
googletag.display('labrador/thereg/article/desktop/a');
});
</script>
</div>
</div>
<main class="pageWidth">
<article class=" "
>
<section class="main article k5a-article" id="main">
<div></div>
<script>
(function() {
let windowUrl = window.location.href;
windowUrl = windowUrl.substring(windowUrl.indexOf('?') + 1);
let messageElement = document.querySelector('.shareableMessage');
if (windowUrl && windowUrl.includes('code') && windowUrl.includes('expires')) {
messageElement.style.display = 'block';
}
})();
</script>
<div data-element-guid="aeef89ba-a6fe-4a40-bf0a-acd2cab94760" class="articleHeader column">
<div class="media">
<div class="floatingText"> </div>
</div>
<p class="kicker below" style="">
<a href="/tag/networks">Networks</a>
</p>
<h1 class="headline mainTitle below" style="">
DNS devastation: Top websites whacked offline as Dyn dies again
</h1>
<p class="subtitle below" style="">
Twitter, Amazon, AirBnB, Github and many others hit in DDoS attack on infrastructure
</p>
<div data-element-guid="e32662b5-504b-4d8b-a8c0-f91b20481918" class="meta">
<div class="bylines">
<div data-element-guid="a99dd1b2-3b98-4b7f-eaef-f9fc9ad63129" class="byline column" itemscope itemtype="http://schema.org/Person">
<div class="content">
<address class="name lab-name-flex">
<span class="lab-hidden-byline-name" itemprop="name">Kieren McCarthy</span>
<a rel="author" itemprop="url" href="https:&#x2F;&#x2F;www.theregister.com&#x2F;author&#x2F;Kieren-McCarthy">
<span class="firstname ">Kieren</span>
<span class="lastname ">McCarthy</span>
</a>
</address>
</div>
</div>
</div>
<div class="dates">
<span class="dateGroup datePublished">
<span class="dateLabel">Published</span>
<time datetime="2016-10-21T18:55:55.000Z">fri 21 Oct 2016 // 19:55 UTC</time>
</span>
</div>
<div class="social">
<a target="_blank" href="https://www.facebook.com/sharer.php?u=https%3A%2F%2Fwww.theregister.com%2Fon-prem%2F2016%2F10%2F21%2Fdns-devastation-top-websites-whacked-offline-as-dyn-dies-again%2F799599" class="fi-social-facebook" aria-label="Share on Facebook"></a>
<a target="_blank" href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fwww.theregister.com%2Fon-prem%2F2016%2F10%2F21%2Fdns-devastation-top-websites-whacked-offline-as-dyn-dies-again%2F799599" class="fi-social-twitter" aria-label="Share on X (Twitter)"></a>
<a target="_blank" href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fwww.theregister.com%2Fon-prem%2F2016%2F10%2F21%2Fdns-devastation-top-websites-whacked-offline-as-dyn-dies-again%2F799599" class="fi-social-linkedin" aria-label="Share on LinkedIn"></a>
<a target="_blank" href="https://bsky.app/intent/compose?text=DNS%20devastation%3A%20Top%20websites%20whacked%20offline%20as%20Dyn%20dies%20again%0Ahttps%3A%2F%2Fwww.theregister.com%2Fon-prem%2F2016%2F10%2F21%2Fdns-devastation-top-websites-whacked-offline-as-dyn-dies-again%2F799599" class="fi-social-bluesky" aria-label="Share on Bluesky"></a>
<a target="_blank" href="https://www.reddit.com/submit?url=https%3A%2F%2Fwww.theregister.com%2Fon-prem%2F2016%2F10%2F21%2Fdns-devastation-top-websites-whacked-offline-as-dyn-dies-again%2F799599&title=DNS%20devastation%3A%20Top%20websites%20whacked%20offline%20as%20Dyn%20dies%20again" class="fi-social-reddit" aria-label="Share on Reddit"></a>
<a target="_blank" href="https://api.whatsapp.com/send?text=DNS%20devastation%3A%20Top%20websites%20whacked%20offline%20as%20Dyn%20dies%20again%0Ahttps%3A%2F%2Fwww.theregister.com%2Fon-prem%2F2016%2F10%2F21%2Fdns-devastation-top-websites-whacked-offline-as-dyn-dies-again%2F799599" class="fi-social-whatsapp" aria-label="Share on WhatsApp"></a>
</div>
</div>
</div>
<div data-element-guid="07dded19-fe0c-41b4-a2f9-bfb1927ba8a7" class="bodytext large-12 small-12 medium-12"
>
<p>An extraordinary, focused attack on DNS provider Dyn continues to disrupt internet services for hundreds of companies, including online giants Twitter, Amazon, AirBnB, Spotify and others.</p>
<p>The worldwide assault <a href="https://www.theregister.com/2016/10/21/dns_dyn_ddos/" target="_blank">started</a> at approximately 11am UTC on Friday. It was a massive denial-of-service blast that knocked Dyn's <a href="http://ddiguru.com/blog/118-introduction-to-anycast-dns" rel="nofollow" target="_blank">DNS anycast</a> servers offline, resulting in knock-on impacts across the internet. Folks immediately started reporting problems; millions of people are affected.</p>
<p>After two hours into the initial tidal wave of junk traffic, Dyn announced it had mitigated the assault and service was returning to normal. But the relief was short lived: just about an hour later, the attack resumed and at the time of writing (1800 UTC), not only is Dyn's service still down but its website is too.</p>
<div data-element-guid="f8a14dad-a81d-461d-b1af-6e79d97c237e" class="column google-ad widthFull" style="">
<span class="ad-label">REG AD</span>
<div class="adunit" id="labrador/thereg/article/desktop/b" ></div>
<script>
googletag.cmd.push(function() {
googletag.display('labrador/thereg/article/desktop/b');
});
</script>
</div>
<p>(Aptly, Dyn researcher Doug Madory had recently <a href="https://www.youtube.com/watch?v=LFJzu0AFDpU" target="_blank">given a talk</a> on DDoS attacks.)</p>
<div data-element-guid="20d8def1-19c2-4033-b42a-cfc4c2b7da29" class="column google-ad floatRight widthAuto" style="">
<span class="ad-label">REG AD</span>
<div class="adunit" id="labrador/thereg/article/desktop/c" ></div>
<script>
googletag.cmd.push(function() {
googletag.display('labrador/thereg/article/desktop/c');
});
</script>
</div>
<p>By blasting Dyn offline, public DNS providers – such as Google and broadband ISPs – are unable to contact Dyn to lookup hostnames for netizens, preventing people from accessing sites using Dyn for DNS.</p>
<p>OpenDNS is about the only major public DNS provider <a href="https://twitter.com/theregister/status/789529258498457600" target="_blank">weathering the storm</a> – if you're having problems connecting to websites, you <a href="https://www.opendns.com/setupguide/" rel="nofollow" target="_blank">should use</a> OpenDNS's resolvers at <code>208.67.222.222</code> and <code>208.67.220.220</code>. OpenDNS uses <a href="https://support.opendns.com/hc/en-us/articles/227987767-Dynamic-IP-Addresses-Technical-Detail-and-FAQ" rel="nofollow" target="_blank">smart caching</a> during outages to keep looking up hostnames even if the websites' backend DNS is flooded off the 'net.</p>
<p>What's happening is basically this: your browser or app tries to connect to somewebsite.com using a public DNS resolver, such as Google's or your cable provider. That resolver tries to get hold of Dyn to lookup the IP address for somewebsite.com, but can't because Dyn's systems have been shoved offline so the resolver gives up. Your software therefore can't get an IP address to connect to and also gives up with an error message.</p>
<div data-element-guid="6ff2d994-54fd-482e-d44c-4bafb02f11b0" id="markup_4230335" class="markupbox column desktop-floatLeft mobile-floatLeft small-12 large-8 small-abs-12 large-abs-8">
<div class="content fullwidthTarget" style="">
<blockquote class="twitter-tweet" data-lang="en">
<p dir="ltr" lang="en">Public DNS providers struggle to resolve websites amid the <a href="https://twitter.com/Dyn">@Dyn</a> DDoS. OpenDNS is holding up. Here’s servers trying to resolve Twitter <a href="https://t.co/WrmBX35RX7">pic.twitter.com/WrmBX35RX7</a></p>
— The Register (@TheRegister) <a href="https://twitter.com/TheRegister/status/789529258498457600">October 21, 2016</a></blockquote>
</div>
</div>
<p>Efforts to uncover the root cause or source of the traffic tsunami have proven fruitless: even the main switchboard is going through to voicemail. Staff are not answer their email or mobile phones and the company's own separate status page has not been updated for over an hour at the time of writing.</p>
<p>An <a href="https://www.dynstatus.com/" target="_blank">update</a> at 4.48pm UTC read: "This DDoS attack may also be impacting Dyn Managed DNS advanced services with possible delays in monitoring. Our Engineers are continuing to work on mitigating this issue."</p>
<h2>What's the impact?</h2>
<p>Dyn provides managed DNS services to a huge array of companies. Ironically, that means that it promises to protect companies from the very DDoS attack that is currently suffering.</p>
<p>By paying for a company to manage your own organization's DNS, the theory is that you can save yourself a lot of time and money by not having to hire IT staff or purchase hardware to handle internet infrastructure issues like DNSSEC, IPv6, and a range of logging and reporting systems.</p>
<div data-element-guid="34dc9db9-5e32-49fa-c3c4-492a519e195d" class="column google-ad widthFull" style="">
<span class="ad-label">REG AD</span>
<div class="adunit" id="labrador/thereg/article/desktop/d" ></div>
<script>
googletag.cmd.push(function() {
googletag.display('labrador/thereg/article/desktop/d');
});
</script>
</div>
<p>Dyn is one of roughly 10 large companies that offers this service for anything ranging from $10 a month for a single domain to thousands of dollars a month for large internet companies.</p>
<p>What is most remarkable about this attack however is that it is specifically targeted at the provider of those services, rather than any particular company.</p>
<p>With no information coming out of Dyn, it is impossible to know exactly what is going on and why, but the fact that it comes just a month after an enormous DDoS on security researcher Brian Krebs' website is raising eyebrows.</p>
<div data-element-guid="8a07b4d1-c302-4d78-9863-5e9e617a47db" id="markup_4230360" class="markupbox column desktop-floatLeft mobile-floatLeft small-12 large-8 small-abs-12 large-abs-8">
<div class="content fullwidthTarget" style="">
<blockquote class="twitter-tweet" data-lang="en">
<p dir="ltr" lang="en">The US Dept of Homeland Security is "investigating all potential causes" of the <a href="https://twitter.com/Dyn">@Dyn</a> DNS outage.</p>
— The Register (@TheRegister) <a href="https://twitter.com/TheRegister/status/789563836374188032">October 21, 2016</a></blockquote>
</div>
</div>
<p>That also was a specific targeted attack and the reason behind it was thought to be Krebs' research on DDoS attacks. The attack was one of the <a href="https://krebsonsecurity.com/2016/09/krebsonsecurity-hit-with-record-ddos/" rel="nofollow" target="_blank">largest ever seen online</a>, and the make matters worse, the <a href="https://github.com/jgamblin/Mirai-Source-Code/tree/master/mirai/bot" rel="nofollow" target="_blank">source code</a> to create the botnet that was used in the attack was then released into the wild.</p>
<p>It's not know if the person behind Krebs' attack is the same one that is attacking Dyn but since Dyn is a company really only known to DNS infrastructure people, it is looks likely.</p>
<h2>Experts</h2>
<p>A raft of security experts have jumped on the issue, with most warning that the DNS itself has very little to protect itself against such an attack.</p>
<p>Richard Meeus, VP of technology at NSFOCUS, which specializes in handling DDoS attacks noted: "DNS has often been neglected in terms of its security and availability from an enterprise perspective – it is treated as if it will always be there in the same way that water comes out of the tap and electricity is there when you switch it on.</p>
<div data-element-guid="7a7ee0e9-fbc4-4506-d5a8-1e1660497d12" class="column google-ad widthFull" style="">
<span class="ad-label">REG AD</span>
<div class="adunit" id="labrador/thereg/article/desktop/e" ></div>
<script>
googletag.cmd.push(function() {
googletag.display('labrador/thereg/article/desktop/e');
});
</script>
</div>
<p>"This attack highlights how critical DNS is to maintaining a stable and secure internet presence, and that the DDOS mitigation processes businesses have in place are just as relevant to their DNS service as it is to the web servers and datacentres."</p>
<p>Lee Munson, a security researcher at Comparitech.com, noted the irony of Dyn going down: "Any company running its own website may well have its own technology in place to mitigate DDoS attacks, but it’s all for nought if the DNS provider itself is not applying a sufficient enough level of protection to its own servers and data centres."</p>
<p>David Gibson, VP of strategy at Varonis, noted: "Like many of our aging technologies, DNS wasn’t built with security in mind… DNS is one of the aging technologies the industry is struggling to update, along with one-factor authentication and unencrypted web connections – the list is very long, and the stakes have never been higher."</p>
<p>Craig Young, a security researcher at Tripwire, added to the general concern: "As with most software designs from the 1980s, security was generally not considered when creating DNS. Because the web is so dependent on this system, it becomes a very visible point of failure as is the case today with service provider Dyn."</p>
<p>And Paul Calatayud, CTO of FireMon, reflected briefly on what this meant for Dyn itself: "What causes me to pause and reflect most in regards to this breaking news is that Dyn DNS is a DNS SaaS provider. Its core job is to host and manage DNS services for its clients. The impact and harm has a ripple effect attributed to the various clients Dyn services. As attackers evaluate their targets, and organisations run to the proverbial cloud for various reasons, it introduces interesting targets for the bad guys."</p>
<p>While we don't know exactly what is going on behind the scenes, two things are for certain: first, this is a game-changer and will be reviewed and talked about for some time; and second, Dyn has suffered a huge loss in reputation; one that will only get worse the longer it stays offline. ®</p>
<p>
<small>See our latest story <a href="https://www.theregister.com/2016/10/21/dyn_dns_ddos_explained/">Dyn DDOS explained, for latest updates</a></small>
</p>
</div>
<div data-element-guid="73a73949-0548-4c8d-832d-77d1cc423ef5" class="column articleFooter">
<span class="tags">
<a href="/tag/ddos" data-tag="ddos">ddos</a>
<a href="/tag/on_prem" data-tag="on_prem">on_prem</a>
<a href="/tag/networks" data-tag="networks">networks</a>
<a href="/tag/dyn" data-tag="dyn">dyn</a>
<a href="/tag/dns" data-tag="dns">dns</a>
</span>
</div>
<div class="row social">
<div class="column large-12 small-12">
<a target="_blank" href="https://www.facebook.com/sharer.php?u=https%3A%2F%2Fwww.theregister.com%2Fon-prem%2F2016%2F10%2F21%2Fdns-devastation-top-websites-whacked-offline-as-dyn-dies-again%2F799599" class="fi-social-facebook" aria-label="Share on Facebook"></a>
<a target="_blank" href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fwww.theregister.com%2Fon-prem%2F2016%2F10%2F21%2Fdns-devastation-top-websites-whacked-offline-as-dyn-dies-again%2F799599" class="fi-social-twitter" aria-label="Share on X (Twitter)"></a>
<a target="_blank" href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fwww.theregister.com%2Fon-prem%2F2016%2F10%2F21%2Fdns-devastation-top-websites-whacked-offline-as-dyn-dies-again%2F799599" class="fi-social-linkedin" aria-label="Share on LinkedIn"></a>
<a target="_blank" href="https://bsky.app/intent/compose?text=DNS%20devastation%3A%20Top%20websites%20whacked%20offline%20as%20Dyn%20dies%20again%0Ahttps%3A%2F%2Fwww.theregister.com%2Fon-prem%2F2016%2F10%2F21%2Fdns-devastation-top-websites-whacked-offline-as-dyn-dies-again%2F799599" class="fi-social-bluesky" aria-label="Share on Bluesky"></a>
<a target="_blank" href="https://www.reddit.com/submit?url=https%3A%2F%2Fwww.theregister.com%2Fon-prem%2F2016%2F10%2F21%2Fdns-devastation-top-websites-whacked-offline-as-dyn-dies-again%2F799599&title=DNS%20devastation%3A%20Top%20websites%20whacked%20offline%20as%20Dyn%20dies%20again" class="fi-social-reddit" aria-label="Share on Reddit"></a>
<a target="_blank" href="https://api.whatsapp.com/send?text=DNS%20devastation%3A%20Top%20websites%20whacked%20offline%20as%20Dyn%20dies%20again%0Ahttps%3A%2F%2Fwww.theregister.com%2Fon-prem%2F2016%2F10%2F21%2Fdns-devastation-top-websites-whacked-offline-as-dyn-dies-again%2F799599" class="fi-social-whatsapp" aria-label="Share on WhatsApp"></a>
</div>
</div>
</section>
</article>
<section class="related desktop-fullWidth mobile-fullWidth fullwidthTarget">
<div data-element-guid="b11523ac-e688-4f14-a580-adaecf344fc7" class="page-content"><div data-element-guid="8f7951ba-ebad-4fd5-c4bd-d71f87f031c9" class="row small-12 large-12" style="">
<div data-element-guid="a8786a63-73c0-4cfb-f58e-b5f6b7619cf5" class="column google-ad small-12 large-12 small-abs-12 large-abs-12 large-12 small-12" style="">
<span class="ad-label">REG AD</span>
<div class="adunit" id="labrador/thereg/article/desktop/f" ></div>
<script>
googletag.cmd.push(function() {
googletag.display('labrador/thereg/article/desktop/f');
});
</script>
</div>
</div>
<div data-element-guid="69870730-7102-43a1-de98-2d8355ed586c" class="row small-12 large-12" style="">
<!-- placeholder(#1) -->
<div data-element-guid="7a08d206-dc65-4440-8df9-b8670693ecac" class="front_rows small-12 large-12 small-abs-12 large-abs-12 large-6 small-12 large-12 small-12">
<div class="content fullwidthTarget" style="">
<div data-element-guid="06b3fb90-9516-4852-9951-35e6c1258027" class="row small-12 large-12" style="">
<div data-element-guid="d6e8ebeb-3092-49e9-b1f2-d58d8201ff65" id="markup_5253783" class="markupbox column small-12 large-12 small-abs-12 large-abs-12">
<div class="content fullwidthTarget" style="">
</div>
</div>
</div>
<div data-element-guid="4bbed283-a2c5-4166-9180-f14b373db0ee" class="row small-12 large-12 desktop-space-outsideTop-small mobile-space-outsideTop-small desktop-space-outsideBottom-medium mobile-space-outsideBottom-medium bg-tertiary color_mobile_bg-tertiary op-bg_80 color_mobile_op-bg_80 hasContentPadding mobile-hasContentPadding" style="">
<div data-element-guid="c613a685-236f-4105-8a50-8126cec1f926" class="columns small-12 large-4 small-abs-12 large-abs-4"><div data-element-guid="0ab19c22-f064-4243-94db-ad9523462ffe" class="row small-12 large-12" style="">
<article data-element-guid="a9be01e0-5084-4618-a6e5-bc5051e67bc3" class="column small-12 large-12 small-abs-12 large-abs-4 " data-site-alias="theregister" data-section="software" data-tag="ai and ml,software,saas,oracle,applications" data-instance="5248919" itemscope>
<div class="content bg-nonary-light color_mobile_bg-nonary-light op-bg_40 color_mobile_op-bg_40 border-bg-octonary mobile_border-bg-octonary border-side-bottom mobile_border-side-bottom border_width_2 border_width_mobile_2 hasContentPadding mobile-hasContentPadding hasBorder mobile-hasBorder" style="">
<a itemprop="url" class="" href="https://www.theregister.com/software/2026/09/11/oracle-says-ai-will-save-it-from-the-saaspocalypse-not-bring-it-on/5295736" data-k5a-url="https://www.theregister.com/a/5295736" rel="">
<div class="media ">
<figure data-element-guid="0ee86205-d05f-412e-8463-ef472188c588" class="" >
<div class="img fullwidthTarget">
<picture>
<source srcset="https://image.theregister.com/5295741.jpg?imageId=5295741&panox=0.00&panoy=0.00&panow=100.00&panoh=100.00&heightx=0.00&heighty=0.00&heightw=100.00&heighth=100.00&width=706&height=318&format=webp&format=webp"
width="353"
height="159"
media="(min-width: 768px)"
type="image/webp">
<source srcset="https://image.theregister.com/5295741.jpg?imageId=5295741&panox=0.00&panoy=0.00&panow=100.00&panoh=100.00&heightx=0.00&heighty=0.00&heightw=100.00&heighth=100.00&width=706&height=318&format=webp&format=jpg"
width="353"
height="159"
media="(min-width: 768px)"
type="image/jpeg">
<source srcset="https://image.theregister.com/5295741.jpg?imageId=5295741&panox=0.00&panoy=0.00&panow=100.00&panoh=100.00&heightx=0.00&heighty=0.00&heightw=100.00&heighth=100.00&width=960&height=432&format=webp&format=webp"
width="480"
height="216"
media="(max-width: 767px)"
type="image/webp">
<source srcset="https://image.theregister.com/5295741.jpg?imageId=5295741&panox=0.00&panoy=0.00&panow=100.00&panoh=100.00&heightx=0.00&heighty=0.00&heightw=100.00&heighth=100.00&width=960&height=432&format=webp&format=jpg"
width="480"
height="216"
media="(max-width: 767px)"
type="image/jpeg">
<img src="https://image.theregister.com/5295741.jpg?imageId=5295741&panox=0.00&panoy=0.00&panow=100.00&panoh=100.00&heightx=0.00&heighty=0.00&heightw=100.00&heighth=100.00&width=960&height=432&format=webp&format=jpg"
width="480"
height="216"
alt=""
loading="lazy"
style=""
>
</picture>
</div>
</figure>
<div class="floatingText">
<div class="labels">
</div>
</div>
</div>
<h2 itemprop="headline"
class="headline t19"
style=""
>Oracle says AI will save it from the SaaSpocalypse, not bring it on
</h2>
<p itemprop="description"
class="subtitle t14"
style=""
>
It’s a better interface, can speed installations, and drives IaaS sales too
</p>
</a>
<time itemprop="datePublished" datetime="2026-09-11T04:43:10+02:00"></time>
</div>
</article>
<article data-element-guid="d5752714-6923-482a-acff-6c7be1ba49a1" class="column small-12 large-12 small-abs-12 large-abs-4 " data-site-alias="theregister" data-section="ai and ml" data-tag="voice ai,api,ai and ml,artificial intelligence,openai" data-instance="5248921" itemscope>
<div class="content bg-nonary-light color_mobile_bg-nonary-light op-bg_60 color_mobile_op-bg_60 border-bg-octonary mobile_border-bg-octonary border-side-bottom mobile_border-side-bottom border_width_2 border_width_mobile_2 hasContentPadding mobile-hasContentPadding hasBorder mobile-hasBorder" style="">
<a itemprop="url" class="" href="https://www.theregister.com/ai-and-ml/2026/09/10/openai-arms-devs-with-ai-conversation-tool-that-can-talk-and-listen-at-the-same-time/5295708" data-k5a-url="https://www.theregister.com/a/5295708" rel="">
<div class="media ">
<div class="floatingText">
<div class="labels">
</div>
</div>
</div>
<div
style=""
class="kicker below t14">
ai AND ml
</div>
<h2 itemprop="headline"
class="headline t19"
style=""
>OpenAI arms devs with AI conversation tool that can talk and listen at the same time
</h2>
<p itemprop="description"
class="subtitle t14"
style=""
>
GPT-Live-1 makes speaking to AI models more fluid
</p>
</a>
<time itemprop="datePublished" datetime="2026-09-11T00:59:00+02:00"></time>
</div>
</article>
<article data-element-guid="bb22098e-9b3c-4782-b74c-7711294fcf2a" class="column small-12 large-12 small-abs-12 large-abs-4 " data-site-alias="theregister" data-section="storage" data-tag="storage" data-instance="5248923" itemscope>
<div class="content bg-nonary-light color_mobile_bg-nonary-light op-bg_60 color_mobile_op-bg_60 border-bg-septenary mobile_border-bg-septenary mobile_no_border_side border_width_2 border_width_mobile_2 hasContentPadding mobile-hasContentPadding hasBorder mobile-hasBorder" style="">
<a itemprop="url" class="" href="https://www.theregister.com/storage/2026/09/08/partner-content-hpe-makes-its-unified-storage-claim-real-as-b10000-r6-hits-ga/5294566" data-k5a-url="https://www.theregister.com/a/5294566" rel="sponsored nofollow">
<div class="media ">
<div class="floatingText">
<div class="labels">
</div>
</div>
</div>
<h2 itemprop="headline"
class="headline t19"
style=""
>HPE makes its “unified storage” claim real as B10000 R6 hits GA
</h2>
<p itemprop="description"
class="subtitle t14"
style=""
>
PARTNER CONTENT: Pairs block and adjacent file workloads with independent scaling of performance and capacity
</p>
</a>
<time itemprop="datePublished" datetime="2026-09-08T10:00:00+02:00"></time>
</div>
</article>
</div>
</div><div data-element-guid="f6ddbf86-659e-49fc-a8b1-49335cdab812" class="columns small-12 large-4 small-abs-12 large-abs-4"><div data-element-guid="0bc148e8-a10f-48d0-a80c-9cb123d20afe" class="row small-12 large-12" style="">
<article data-element-guid="757c9104-16dd-484d-b68d-5426da1adfef" class="column small-12 large-12 small-abs-12 large-abs-4 " data-site-alias="theregister" data-section="ai and ml" data-tag="ai and ml,security,anthropic" data-instance="5248925" itemscope>
<div class="content bg-nonary-light color_mobile_bg-nonary-light op-bg_60 color_mobile_op-bg_60 border-bg-octonary mobile_border-bg-octonary border-side-bottom mobile_border-side-bottom border_width_2 border_width_mobile_2 hasContentPadding mobile-hasContentPadding hasBorder mobile-hasBorder" style="">
<a itemprop="url" class="" href="https://www.theregister.com/ai-and-ml/2026/09/10/latest-anthropic-horror-story-chills-with-tales-of-kamikaze-drone-swarms-and-bioweapons-research/5295702" data-k5a-url="https://www.theregister.com/a/5295702" rel="">
<div class="media ">
<div class="floatingText">
<div class="labels">
</div>
</div>
</div>
<div
style=""
class="kicker below t14">
security
</div>
<h2 itemprop="headline"
class="headline t19"
style=""
>Latest Anthropic horror story chills with tales of kamikaze drone swarms and bioweapons research
</h2>
<p itemprop="description"
class="subtitle t14"
style=""
>
Everyone from ShinyHunters to Russian freelancers is in on the illicit model fun
</p>
</a>
<time itemprop="datePublished" datetime="2026-09-11T00:38:35+02:00"></time>
</div>
</article>
<article data-element-guid="9e6258d2-802b-484c-8eee-51bc92196816" class="column small-12 large-12 small-abs-12 large-abs-4 " data-site-alias="theregister" data-section="columnists" data-tag="ai and ml,security,columnists,openai,opinion,hugging face" data-instance="5248927" itemscope>
<div class="content bg-nonary-light color_mobile_bg-nonary-light op-bg_40 color_mobile_op-bg_40 border-bg-octonary mobile_border-bg-octonary border-side-bottom mobile_border-side-bottom border_width_2 border_width_mobile_2 hasContentPadding mobile-hasContentPadding hasBorder mobile-hasBorder" style="">
<a itemprop="url" class="" href="https://www.theregister.com/columnists/2026/09/07/openais-rebel-agent-swarm-died-young-but-its-chilling-logs-live-on/5294446" data-k5a-url="https://www.theregister.com/a/5294446" rel="">
<div class="media ">
<figure data-element-guid="1958528f-18fc-4f52-8a68-18ef1aa447d8" class="" >
<div class="img fullwidthTarget">
<picture>
<source srcset="https://image.theregister.com/5219893.jpg?imageId=5219893&panox=0.00&panoy=0.00&panow=100.00&panoh=100.00&heightx=0.00&heighty=0.00&heightw=100.00&heighth=100.00&width=706&height=318&format=webp&format=webp"
width="353"
height="159"
media="(min-width: 768px)"
type="image/webp">
<source srcset="https://image.theregister.com/5219893.jpg?imageId=5219893&panox=0.00&panoy=0.00&panow=100.00&panoh=100.00&heightx=0.00&heighty=0.00&heightw=100.00&heighth=100.00&width=706&height=318&format=webp&format=jpg"
width="353"
height="159"
media="(min-width: 768px)"
type="image/jpeg">
<source srcset="https://image.theregister.com/5219893.jpg?imageId=5219893&panox=0.00&panoy=0.00&panow=100.00&panoh=100.00&heightx=0.00&heighty=0.00&heightw=100.00&heighth=100.00&width=960&height=432&format=webp&format=webp"
width="480"
height="216"
media="(max-width: 767px)"
type="image/webp">
<source srcset="https://image.theregister.com/5219893.jpg?imageId=5219893&panox=0.00&panoy=0.00&panow=100.00&panoh=100.00&heightx=0.00&heighty=0.00&heightw=100.00&heighth=100.00&width=960&height=432&format=webp&format=jpg"
width="480"
height="216"
media="(max-width: 767px)"
type="image/jpeg">
<img src="https://image.theregister.com/5219893.jpg?imageId=5219893&panox=0.00&panoy=0.00&panow=100.00&panoh=100.00&heightx=0.00&heighty=0.00&heightw=100.00&heighth=100.00&width=960&height=432&format=webp&format=jpg"
width="480"
height="216"
alt=""
loading="lazy"
style=""
>
</picture>
</div>
</figure>
<div class="floatingText">
<div
style=""
class="kicker floating bg-primary color_mobile_bg-primary secondary color_mobile_secondary hasTextPadding mobile-hasTextPadding hasTextColor hasTextColorMobile">
COLUMNISTS
</div>
<div class="labels">
</div>
</div>
</div>
<h2 itemprop="headline"
class="headline t19"
style=""
>OpenAI's rebel agent swarm died young, but its chilling logs live on
</h2>
<p itemprop="description"
class="subtitle t14"
style=""
>
'The Collective' learned to communicate, organize, cheat, and apparently sacrifice its own
</p>
</a>
<time itemprop="datePublished" datetime="2026-09-07T10:30:00+02:00"></time>
</div>
</article>
<article data-element-guid="b8d1c518-25f5-4e1e-b9b0-92bec0bde645" class="column small-12 large-12 small-abs-12 large-abs-4 " data-site-alias="theregister" data-section="security" data-tag="apple watch,apple,audio intelligence,privacy,security,ai" data-instance="5248929" itemscope>
<div class="content bg-nonary-light color_mobile_bg-nonary-light op-bg_60 color_mobile_op-bg_60 border-bg-octonary mobile_border-bg-octonary border-side-bottom mobile_border-side-bottom border_width_2 border_width_mobile_2 hasContentPadding mobile-hasContentPadding hasBorder mobile-hasBorder" style="">
<a itemprop="url" class="" href="https://www.theregister.com/security/2026/09/10/watch-out-apple-timepiece-can-grab-snippets-of-conversation-without-both-speakers-consent/5295666" data-k5a-url="https://www.theregister.com/a/5295666" rel="">
<div class="media ">
<div class="floatingText">
<div class="labels">
</div>
</div>
</div>
<div
style=""
class="kicker below t14">
SECURITY
</div>
<h2 itemprop="headline"
class="headline t19"
style=""
>Watch out: Apple timepiece can grab snippets of conversation without both speakers' consent
</h2>
<p itemprop="description"
class="subtitle t14"
style=""
>
War is peace. Freedom is slavery. Privacy is surveillance
</p>
</a>
<time itemprop="datePublished" datetime="2026-09-10T21:50:24+02:00"></time>
</div>
</article>
</div>
</div>
<!-- placeholder(#1) -->
<div data-element-guid="b0b79df7-305b-4d35-9581-2ac153eddd40"
id="toplist_5248931"
class="column toplist layout_vertical small-12 large-4 small-abs-12 large-abs-4">
<div class="content bg-secondary color_mobile_bg-secondary hasContentPadding mobile-hasContentPadding"
style="--active-tab-background-color: var(--bg-primary);">
<h3 class="headline t32 font-weight-bold m-font-weight-bold bg-primary color_mobile_bg-primary align-center mobile_text_align_align-center font-Roboto hasTextPadding mobile-hasTextPadding">
TOP STORIES
</h3>
<ul class="toplist-results toplist-counter">
<li
data-section="personal tech"
data-tags="consumer rights,european union,personal tech,repairability,right to repair,smartphones"
data-hostname="www.theregister.com"
data-source-display-name="www.theregister.com"
data-tab-content="">
<figure class="media paywall-position-hidePaywallLabel">
<a href="/personal-tech/2026/09/07/smartphone-makers-dont-bother-to-comply-with-eu-repairability-requirements/5294532">
<img src="//image.theregister.com/4093968.jpg?imageId=4093968&x=0&y=0&cropw=100&croph=100&panox=0&panoy=0&panow=100&panoh=100&width=70&height=60" alt="">
</a>
</figure>
<div class="text kicker-position-hideKicker paywall-position-hidePaywallLabel">
<a href="/personal-tech/2026/09/07/smartphone-makers-dont-bother-to-comply-with-eu-repairability-requirements/5294532">
<div class="kicker-paywall-container">
<span class="kicker">PERSONAL TECH</span>
</div>
<h4>Smartphone makers don't bother to comply with EU repairability requirements</h4>
</a>
</div>
</li>
<li
data-section="security"
data-tags="pwned,security"
data-hostname="www.theregister.com"
data-source-display-name="www.theregister.com"
data-tab-content="">
<figure class="media paywall-position-hidePaywallLabel">
<a href="/security/2026/09/03/terminated-employee-cost-company-hundreds-of-thousands-of-dollars-because-nobody-revoked-access/5292763">
<img src="//image.theregister.com/5292773.jpg?imageId=5292773&x=0&y=0&cropw=100&croph=100&panox=0&panoy=0&panow=100&panoh=100&width=70&height=60" alt="">
</a>
</figure>
<div class="text kicker-position-hideKicker paywall-position-hidePaywallLabel">
<a href="/security/2026/09/03/terminated-employee-cost-company-hundreds-of-thousands-of-dollars-because-nobody-revoked-access/5292763">
<div class="kicker-paywall-container">
<span class="kicker">SECURITY</span>
</div>
<h4>Terminated employee cost company hundreds of thousands of dollars because nobody revoked access</h4>
</a>
</div>
</li>
<li
data-section="virtualization"
data-tags="exclusive,virtualization,vmware,vmware explore 2026,vsphere"
data-hostname="www.theregister.com"
data-source-display-name="www.theregister.com"
data-tab-content="">
<figure class="media paywall-position-hidePaywallLabel">
<a href="/virtualization/2026/09/02/vmware-swings-its-focus-back-to-low-end-server-virt-promises-vsphere-standard-upgrade/5294083">
<img src="//image.theregister.com/247020.jpg?imageId=247020&x=0&y=0&cropw=100&croph=100&panox=0&panoy=0&panow=100&panoh=100&width=70&height=60" alt="">
</a>
</figure>
<div class="text kicker-position-hideKicker paywall-position-hidePaywallLabel">
<a href="/virtualization/2026/09/02/vmware-swings-its-focus-back-to-low-end-server-virt-promises-vsphere-standard-upgrade/5294083">
<div class="kicker-paywall-container">
<span class="kicker">virtualization</span>
</div>
<h4>VMware swings its focus back to low-end server virt, promises vSphere Standard upgrade </h4>
</a>
</div>
</li>
<li
data-section="off-prem"
data-tags="cloud computing,google cloud,off-prem,router"
data-hostname="www.theregister.com"
data-source-display-name="www.theregister.com"
data-tab-content="">
<figure class="media paywall-position-hidePaywallLabel">
<a href="/off-prem/2026/09/04/google-engineer-unplugged-every-fiber-they-could-see-and-surprise-took-down-a-chunk-of-the-g-cloud/5294418">
<img src="//image.theregister.com/5263102.jpg?imageId=5263102&x=0&y=0&cropw=100&croph=100&panox=0&panoy=0&panow=100&panoh=100&width=70&height=60" alt="">
</a>
</figure>
<div class="text kicker-position-hideKicker paywall-position-hidePaywallLabel">
<a href="/off-prem/2026/09/04/google-engineer-unplugged-every-fiber-they-could-see-and-surprise-took-down-a-chunk-of-the-g-cloud/5294418">
<div class="kicker-paywall-container">
<span class="kicker">OFF-PREM</span>
</div>
<h4>Google engineer unplugged every fiber they could see and – surprise! – took down a chunk of the G-Cloud</h4>
</a>
</div>
</li>
<li
data-section="os platforms"
data-tags="microsoft,os platforms,windows 11"
data-hostname="www.theregister.com"
data-source-display-name="www.theregister.com"
data-tab-content="">
<figure class="media paywall-position-hidePaywallLabel">
<a href="/os-platforms/2026/09/03/windows-11-update-sends-some-desktops-into-an-unwanted-goth-phase/5294142">
<img src="//image.theregister.com/261311.jpg?imageId=261311&x=0&y=8.06&cropw=100&croph=71.67&panox=0&panoy=8.06&panow=100&panoh=71.67&width=70&height=60" alt="">
</a>
</figure>
<div class="text kicker-position-hideKicker paywall-position-hidePaywallLabel">
<a href="/os-platforms/2026/09/03/windows-11-update-sends-some-desktops-into-an-unwanted-goth-phase/5294142">
<div class="kicker-paywall-container">
<span class="kicker">OS PLATFORM</span>
</div>
<h4>Windows 11 update sends some desktops into an unwanted goth phase</h4>
</a>
</div>
</li>
<li
data-section="offbeat"
data-tags="analog,hardware,offbeat,retro computing"
data-hostname="www.theregister.com"
data-source-display-name="www.theregister.com"
data-tab-content="">
<figure class="media paywall-position-hidePaywallLabel">
<a href="/offbeat/2026/09/08/retired-man-turns-spare-room-into-soviet-era-supercomputer/5295046">
<img src="//image.theregister.com/5295094.jpg?imageId=5295094&x=0&y=0&cropw=100&croph=100&panox=0&panoy=0&panow=100&panoh=100&width=70&height=60" alt="">
</a>
</figure>
<div class="text kicker-position-hideKicker paywall-position-hidePaywallLabel">
<a href="/offbeat/2026/09/08/retired-man-turns-spare-room-into-soviet-era-supercomputer/5295046">
<div class="kicker-paywall-container">
<span class="kicker">offbeat</span>
</div>
<h4>Retired man turns spare room into Soviet-era supercomputer</h4>
</a>
</div>
</li>
</ul>
</div>
</div>
<script type="text/javascript">
(function() {
function initializeToplistTabs_5248931() {
const container = document.getElementById('toplist_5248931');
if (!container) return;
const nav = container.querySelector('.tab-navigation');
const contentItems = container.querySelectorAll('ul > li:not(.no-results)');
const firstTab = nav ? nav.querySelector('.tab') : null;
const activeTab = nav ? nav.querySelector('.tab.active') : null;
if (nav && !activeTab) {
handleTabClick(firstTab);
}
if (!firstTab || contentItems.length === 0) {
// If there are no tabs, make sure all content is visible.
contentItems.forEach(item => item.style.display = '');
return;
}
// This function handles the filtering logic.
function handleTabClick(clickedTab) {
if (!clickedTab) return;
const targetDomain = clickedTab.getAttribute('data-domain');
const allTabs = nav.querySelectorAll('.tab');
allTabs.forEach(tab => tab.classList.remove('active'));
clickedTab.classList.add('active');
// Show or hide content items based on the selected tab
contentItems.forEach(item => {
const tabMode = 'default';
const itemTabContent = item.getAttribute('data-tab-content');
if (tabMode === 'hostname' || tabMode === 'tags') {
if (itemTabContent && itemTabContent.trim().toLowerCase() === targetDomain.trim().toLowerCase()) {
item.style.display = '';
} else {
item.style.display = 'none';
}
} else {
item.style.display = '';
}
});
}
// Use a single event listener on the navigation container.
if (nav) {
nav.addEventListener('click', function(event) {
event.preventDefault();
const clickedTab = event.target.closest('.tab');
if (clickedTab) {
handleTabClick(clickedTab);
}
});
}
}
// Make function globally accessible for editor
window.initializeToplistTabs_5248931 = initializeToplistTabs_5248931;
// Initialize on load
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', initializeToplistTabs_5248931);
} else {
initializeToplistTabs_5248931();
}
})();
</script>
</div>
<div data-element-guid="ea3e891d-a254-4fa5-9e86-0042e6799ec6" class="row small-12 large-12 desktop-space-outsideTop-medium mobile-space-outsideTop-medium" style="">
<!-- placeholder(#1) -->
<div data-element-guid="5867f2f9-d789-4ebd-ac97-87265a1e9759" class="column articlesByTag toplist small-12 large-4 small-abs-12 large-abs-4">
<div class="content " style="">
<h3 itemprop="headline" class="t30 tm27 font-weight-bold m-font-weight-bold bg-black color_mobile_bg-black font-Roboto underline hasTextPadding mobile-hasTextPadding" style=""><a href="https://beta.theregister.com/tag/ai" aria-label="AI">AI</a></h3>
<ul>
<li>
<a href="/security/2026/09/10/watch-out-apple-timepiece-can-grab-snippets-of-conversation-without-both-speakers-consent/5295666">
<div class="text-container">
<p class="abt-kicker">SECURITY</p>
<h4 class="abt-title">Watch out: Apple timepiece can grab snippets of conversation without both speakers' consent</h4>
<p class="abt-subtitle">War is peace. Freedom is slavery. Privacy is surveillance</p>
</div>
</a>
</li>
<li>
<a href="/systems/2026/09/10/d-matrix-drinks-the-nvidia-kool-aid-with-nvlink-fusion-and-mgx-rack-designs/5295403">
<div class="text-container">
<p class="abt-kicker">SYSTEMS</p>
<h4 class="abt-title">d-Matrix drinks the Nvidia Kool-Aid with NVLink Fusion and MGX rack designs</h4>
<p class="abt-subtitle">AI infrastructure startup joins Qualcomm, Arm, Marvell, Amazon, Fujitsu, and MediaTek as NVLink true believers</p>
</div>
</a>
</li>
<li>
<a href="/ai-and-ml/2026/09/10/anthropic-reveals-fourth-likely-crime-committed-by-its-ai/5295412">
<div class="text-container">
<p class="abt-kicker">ai and ml</p>
<h4 class="abt-title">Anthropic reveals fourth likely crime committed by its AI</h4>
<p class="abt-subtitle">Claude's Felony Bench rap sheet is now as long as OpenAI's</p>
</div>
</a>
</li>
<li>
<a href="/systems/2026/09/09/samsung-to-help-fortify-openais-semiconductor-supply-chain/5295374">
<div class="text-container">
<p class="abt-kicker">SYSTEMS</p>
<h4 class="abt-title">Samsung to help fortify OpenAI's semiconductor supply chain</h4>
<p class="abt-subtitle">Semiconductor supply chains are hard, but Samsung offers OpenAI relief in many forms spanning compute and memory</p>
</div>
</a>
</li>
<li>
<a href="/ai-and-ml/2026/09/08/google-deepmind-rises-above-the-ai-scrum-with-genome-atlas/5295137">
<div class="text-container">
<p class="abt-kicker">AI+ML</p>
<h4 class="abt-title">Google DeepMind rises above the AI scrum with genome atlas</h4>
<p class="abt-subtitle">See, AI can be used for good ... or at the very least, a useful distraction from the bad</p>
</div>
</a>
</li>
</ul>
</div>
</div>
<!-- placeholder(#2) -->
<div data-element-guid="e5d90dd5-e92e-472a-9948-b2389698e07e" class="column articlesByTag toplist small-12 large-4 small-abs-12 large-abs-4">
<div class="content " style="">
<h3 itemprop="headline" class="t30 tm27 font-weight-bold m-font-weight-bold bg-black color_mobile_bg-black font-Roboto underline hasTextPadding mobile-hasTextPadding" style=""><a href="https://beta.theregister.com/security" aria-label="InfoSec">Infosec</a></h3>
<ul>
<li>
<a href="/security/2026/03/22/russians-posing-as-signal-support-to-launch-phishing-raids/5221189">
<div class="text-container">
<p class="abt-kicker">Security</p>
<h4 class="abt-title">Russians are posing as Signal support to launch phishing attacks</h4>
<p class="abt-subtitle">PLUS: US takes down Iranian propaganda sites; Marketing company asks 'Why Do We Have Your Information?' And more!</p>
</div>
</a>
</li>
<li>
<a href="/security/2025/07/21/microsoft-warns-on-prem-sharepoint-users-of-a-zero-day/550805">
<div class="text-container">
<p class="abt-kicker">Security</p>
<h4 class="abt-title">Microsoft patches failed to fix on-prem SharePoint, which is now under zero-day attack</h4>
<p class="abt-subtitle">PLUS: China upgrades smartphone surveillance tools; Ring eases anti-snooping stance; and more</p>
</div>
</a>
</li>
<li>
<a href="/special-features/2024/08/12/def-con-launches-public-policy-report-volunteer-program/408600">
<div class="text-container">
<p class="abt-kicker">Black Hat and DEF CON</p>
<h4 class="abt-title">DEF CON Franklin project enlists hackers to harden critical infrastructure</h4>
<p class="abt-subtitle">Voting village reports have been so successful, says Jeff Moss, that the whole of DEF CON will now be included</p>
</div>
</a>
</li>
<li>
<a href="/security/2024/08/07/eqt-buys-majority-share-in-cybersecurity-outfit-acronis/853853">
<div class="text-container">
<p class="abt-kicker">Security</p>
<h4 class="abt-title">EQT buys majority share in Swiss cybersecurity biz Acronis</h4>
<p class="abt-subtitle">Went at equivalent of $3.5B+ valuation for entire firm, though portion sold not specified</p>
</div>
</a>
</li>
<li>
<a href="/special-features/2024/05/08/10-years-since-the-first-corp-ransomware-and-no-end-in-sight/1259096">
<div class="text-container">
<p class="abt-kicker">Malware Month</p>
<h4 class="abt-title">Ten years since the first corp ransomware, Mikko Hyppönen sees no end in sight</h4>
<p class="abt-subtitle">On the plus side, infosec's a good bet for a long, stable career</p>
</div>
</a>
</li>
</ul>
</div>
</div>
<!-- placeholder(#3) -->
<div data-element-guid="83da923f-416e-4549-8d8f-1b9302e80c05" class="column articlesByTag toplist small-12 large-4 small-abs-12 large-abs-4">
<div class="content " style="">
<h3 itemprop="headline" class="t30 tm27 font-weight-bold m-font-weight-bold bg-black color_mobile_bg-black underline hasTextPadding mobile-hasTextPadding" style=""><a href="https://beta.theregister.com/tag/FOSS">FOSS</a></h3>
<ul>
<li>
<a href="/devops/2026/09/10/shopify-extends-lifeline-to-tailwind-as-vibe-coding-erodes-web-dev-platforms-bottom-line/5295672">
<div class="text-container">
<h4 class="abt-title">Shopify extends lifeline to Tailwind as vibe coding erodes web dev platform's bottom line</h4>
<p class="abt-subtitle">Acquisition gives open source CSS framework 'a stable long-term home'</p>
</div>
</a>
</li>
<li>
<a href="/os-platforms/2026/09/09/switzerland-tests-a-foss-escape-route-from-microsoft-365/5294878">
<div class="text-container">
<h4 class="abt-title">Switzerland tests a FOSS escape route from Microsoft 365</h4>
<p class="abt-subtitle">Swiss Army sticks a knife in American cloud apps with its own FOSS push</p>
</div>
</a>
</li>
<li>
<a href="/os-platforms/2026/09/07/feel-peak-windows-was-7-you-might-like-kumander-linux/5294760">
<div class="text-container">
<h4 class="abt-title">Feel peak Windows was 7? You might like Kumander Linux</h4>
<p class="abt-subtitle">Debian and Xfce – solid, sensible choices – with a pretty skin</p>
</div>
</a>
</li>
<li>
<a href="/os-platforms/2026/09/04/canonical-shuttering-some-of-its-legacy-chat-channels/5294524">
<div class="text-container">
<h4 class="abt-title">Canonical shuttering some of its legacy chat channels</h4>
<p class="abt-subtitle">The Ubuntu Pastebin went in June, IRC gets demoted next</p>
</div>
</a>
</li>
<li>
<a href="/personal-tech/2026/09/03/audacity-audio-editing-app-no-longer-looks-like-its-from-the-early-2000s/5294270">
<div class="text-container">
<h4 class="abt-title">Audacity audio-editing app no longer looks like it's from the early 2000s</h4>
<p class="abt-subtitle">The FOSS tool for audio editing has a fresh coat of paint, and new features to boot</p>
</div>
</a>
</li>
<li>
<a href="/os-platforms/2026/09/03/haiku-os-rises-/-beta-6-sails-open-web-/-virtual-winds-fly-fast/5294184">
<div class="text-container">
<h4 class="abt-title">Haiku OS rises / Beta 6 sails open web / Virtual winds fly fast</h4>
<p class="abt-subtitle">A real alternative to running some kind of FOSS Unix clone</p>
</div>
</a>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
</main>
</section>
<template class="definitionTemplate">
<div class="definitionPopup">
<div class="definitionInfo">
<p></p>
<span></span>
<button class="definitionClose">&#10005;</button>
</div>
</div>
</template>
<script>
(function() {
const audioPlayers = document.querySelectorAll('.dacInlineAudio');
for (const audioPlayer of audioPlayers) {
window.dachserData.push('audioInline', audioPlayer);
}
window.addEventListener('load', function() {
if (window.Dac && window.Dac.Definition) {
const definition = new Dac.Definition();
definition.setup();
}
});
})();
</script>
<script>
window.lab_article_data = window.lab_article_data || {};
if (lab_article_data[799599]) {
lab_article_data[799599].tagsString = 'ddos,on_prem,networks,dyn,dns';
lab_article_data[799599].section = 'on_prem';
lab_article_data[799599].pageType = 'article';
} else {
lab_article_data[799599] = {
tagsString: 'ddos,on_prem,networks,dyn,dns'
, section: 'on_prem'
, pageType: 'article'
};
}
</script>
<footer class="page">
<div data-element-guid="1b2aade5-2711-4202-83e0-c1ee17a28b9b" class="row-section desktop-space-outsideBottom-none mobile-space-outsideBottom-none bg-quaternary color_mobile_bg-quaternary hasContentPadding mobile-hasContentPadding" style="">
<div class="row small-12 large-12 desktop-space-outsideBottom-none mobile-space-outsideBottom-none desktop-space-insideTop-none mobile-space-insideTop-none bg-quaternary color_mobile_bg-quaternary hasContentPadding mobile-hasContentPadding" style="">
<div data-element-guid="342e5400-b668-48dd-b811-7f53040cac1f" id="markup_102602" class="markupbox column small-12 large-12 small-abs-12 large-abs-12 desktop-fullWidth mobile-fullWidth">
<style></style>
<div class="content fullwidthTarget bg-quaternary color_mobile_bg-quaternary hasContentPadding mobile-hasContentPadding" style="">
<div style="display: flex; justify-content: center; margin-top: -0.5rem; margin-bottom: -0.5rem;">
<img src="https://www.theregister.com/files/2025/10/15/The_register_full_icon_white.svg" alt="Logo" width="120" style="margin-bottom: 0.25rem;">
<p style="font-family: Roboto; font-size: 14px; margin-bottom: 0.25rem; margin-left: 0.5rem; font-weight: 700;">Biting the hand that feeds IT</p>
</div>
</div>
</div>
</div>
</div>
<div data-element-guid="652fb46f-93f4-42cd-8110-7307542d326a" class="row-section desktop-space-outsideTop-none mobile-space-outsideTop-none bg-quinary color_mobile_bg-quinary hasContentPadding mobile-hasContentPadding" style="">
<div class="row small-12 large-12 desktop-space-outsideTop-none mobile-space-outsideTop-none bg-quinary color_mobile_bg-quinary hasContentPadding mobile-hasContentPadding" style="">
<article data-element-guid="eb364ced-8795-41d6-ac71-8c68f9bb5aa7" class="column small-12 large-2 small-abs-12 large-abs-2 " data-site-alias="" data-section="" data-instance="100744" itemscope>
<style></style>
<div class="content" style="">
<div class="media ">
<div class="floatingText">
<div class="labels">
</div>
</div>
</div>
<h2 itemprop="headline"
class="headline t16 tm16 font-Roboto"
style=""
>About Us
</h2>
<p itemprop="description"
class="subtitle t14 tm14 font-Roboto"
style=""
>
<a href="https://www.theregister.com/profile/contact" aria-label="Contact our reporters securely and safely" data-lab-underline="" class="">Contact us</a><br><a href="https://situationpublishing.com/contact/" target="_blank">Advertise with us</a><br><a href="https://www.theregister.com/profile/about_the_register">Who we are</a><br><a href="https://account.theregister.com/register/?product=reg_weekly">Newsletter</a>
</p>
<time itemprop="datePublished" datetime=""></time>
</div>
</article>
<article data-element-guid="93b271a3-0687-4bc8-8aa0-f8608675b096" class="column small-12 large-2 small-abs-12 large-abs-2 " data-site-alias="" data-section="" data-instance="100745" itemscope>
<style></style>
<div class="content" style="">
<div class="media ">
<div class="floatingText">
<div class="labels">
</div>
</div>
</div>
<h2 itemprop="headline"
class="headline t16 tm16 font-Roboto"
style=""
>Our Websites
</h2>
<p itemprop="description"
class="subtitle t14 tm14 font-Roboto"
style=""
>
<a href="https://www.nextplatform.com/" target="_blank">The Next Platform</a><br><a href="https://devclass.com/" target="_blank">DevClass</a><br><a href="https://blocksandfiles.com/" target="_blank">Blocks and Files</a><br><a href="https://situationpublishing.com/" target="_blank">Situation Publishing</a>
</p>
<time itemprop="datePublished" datetime=""></time>
</div>
</article>
<article data-element-guid="95965a77-7ca7-4314-ad6b-45263a326748" class="column small-12 large-2 small-abs-12 large-abs-2 " data-site-alias="" data-section="" data-instance="100746" itemscope>
<style></style>
<div class="content mobile_no_border_color mobile_no_border_side" style="">
<div class="media ">
<div class="floatingText">
<div class="labels">
</div>
</div>
</div>
<h2 itemprop="headline"
class="headline t16 tm16"
style=""
>Your Privacy
</h2>
<p itemprop="description"
class="subtitle t14 tm14 font-Roboto"
style=""
>
<a href="https://www.theregister.com/Profile/cookies">Cookies Policy</a><br><a href="https://www.theregister.com/profile/privacy" aria-label="Privacy Policy">Privacy Policy</a><br><a href="https://www.theregister.com/profile/terms_and_conditions_of_use">Ts &amp; Cs</a><br><a href="https://www.theregister.com/Profile/privacy_policy_california_residents/">Do not share my personal information</a><br><a href="https://www.theregister.com/profile/terms_and_conditions_of_use" aria-label="Your Consent Options">Your Consent Options</a>
</p>
<time itemprop="datePublished" datetime=""></time>
</div>
</article>
<article data-element-guid="cf683f5c-2c72-45ed-adc7-1d2b49035294" class="column small-12 large-4 small-abs-12 large-abs-4 " data-site-alias="" data-section="" data-instance="102499" itemscope>
<style></style>
<div class="content mobile_no_border_color mobile_no_border_side" style="">
<div class="media ">
<div class="floatingText">
<div class="labels">
</div>
</div>
</div>
<h2 itemprop="headline"
class="headline t16 tm14"
style=""
>Archives<br class="newline newline-mobile"><br class="newline newline-desktop"><span data-lab-font_weight_desktop="font-weight-normal" class="font-weight-normal m-font-weight-normal t14" data-lab-text_size_desktop="14"><a href="https://www.theregister.com/archive" aria-label="Archives" target="_blank">27 years of articles</a></span>
</h2>
<time itemprop="datePublished" datetime=""></time>
</div>
</article>
<article data-element-guid="181414e4-8d1d-4724-9997-6e1172b8476c" class="column small-12 large-2 small-abs-12 large-abs-2 " data-site-alias="" data-section="" data-instance="2918009" itemscope>
<style>@media (max-width: 1023px) { [data-element-guid="181414e4-8d1d-4724-9997-6e1172b8476c"] .content { margin-right:14% !important; margin-left:12% !important; } }</style>
<div class="content color_mobile_no_bg_color border-side-left mobile_border-side-top border_width_2 border_width_mobile_2" style="">
<div class="media ">
<div data-element-guid="2f5fde96-d7da-483d-abd8-5991a1502f25" id="markup_2918010" class="markupbox column small-12 large-12 small-abs-12 large-abs-2">
<style></style>
<div class="content fullwidthTarget" style="">
<div>
<img src="https://beta.theregister.com/files/2025/10/09/SituationPublishing_Logo_Evolution_Twolines-White-Barlow (1).svg" alt="Situation Publishing Logo" style="max-width: 200px; height: auto; display: block; margin: 0 auto 0.5rem;">
<p style="font-family: Roboto, sans-serif; font-size: 12px; color: #FFFFFF; margin: 0;">
Copyright. All rights reserved © 1998-2026.
</p>
</div>
</div>
</div>
<div class="floatingText">
<div class="labels">
</div>
</div>
</div>
<time itemprop="datePublished" datetime=""></time>
</div>
</article>
</div>
</div>
</footer>
<script src="/view-resources/baseview/public/common/build/baseview_dependencies_dom.js?v=1789024619-L4" data-cookieconsent="ignore"></script>
<script src="/view-resources/baseview/public/common/adLabel.js?v=1789024619-L4"></script>
<script>
window.dachserData.handlers = {
parallax: function(item) {
if (window.Dac && window.Dac.Parallax) {
new Dac.Parallax(item);
} else {
console.warn('parallax: Missing required class Dac.Parallax. Content will not animate.');
}
},
swipehelper: function(item) {
if (window.Dac && window.Dac.SwipeHelper) {
var element = document.querySelector(item.selector);
if (!element) {
console.warn('SwipeHelper: Missing element for selector: "' + item.selector + '".');
return null;
}
return new Dac.SwipeHelper(element, item);
} else {
console.warn('SwipeHelper: Missing required function Dac.SwipeHelper.');
return null;
}
},
readprogress: function(item) {
if (window.Dac && window.Dac.ReadProgress) {
var element = document.querySelector(item.selector);
if (!element) {
console.warn('ReadProgress: Missing element for selector: "' + item.selector + '".');
return;
}
new Dac.ReadProgress(element, item);
} else {
console.warn('ReadProgress: Missing required function Dac.ReadProgress.');
}
},
tabnavigation: function(item) {
if (window.Dac && window.Dac.TabNavigation) {
new Dac.TabNavigation(item);
} else {
console.warn('TabNavigation: Missing required function Dac.Tabnavigation.');
}
},
elementattributetoggler: function(item) {
if (window.Dac && window.Dac.ElementAttributeToggler) {
new Dac.ElementAttributeToggler(item);
} else {
console.warn('ElementAttributeToggler: Missing required class Dac.ElementAttributeToggler.');
}
},
articlelists: (item) => {
if (window.Dac && window.Dac.ArticleLists) {
new Dac.ArticleLists(item);
} else {
console.warn('ElementAttributeToggler: Missing required class Dac.ArticleLists.');
}
}
};
window.dachserData.execute = () => {
// Parallax
// Register each element requiering js-animations
const parallaxQueue = window.dachserData.get('parallax') || [];
parallaxQueue.forEach(item => {
window.dachserData.handlers.parallax(item);
});
// SwipeHelper, used by several components like ArticleScroller etc.
// Register each element using SwipeHelper:
const swipehelperQueue = window.dachserData.get('swipehelper') || [];
swipehelperQueue.forEach(item => {
window.dachserData.setInstance(
'swipehelper',
item.selector,
window.dachserData.handlers.swipehelper(item)
);
});
// ReadProgress
const readprogressQueue = window.dachserData.get('readprogress') || [];
readprogressQueue.forEach(item => {
window.dachserData.handlers.readprogress(item);
});
// Tab-navigation
const tabnavigationQueue = window.dachserData.get('tabnavigation') || [];
tabnavigationQueue.forEach(item => {
window.dachserData.handlers.tabnavigation(item);
});
// ElementAttributeToggler
const elementAttributeTogglerQueue = window.dachserData.get('elementattributetoggler') || [];
elementAttributeTogglerQueue.forEach(item => {
window.dachserData.handlers.elementattributetoggler(item);
});
const articlelistsQueue = window.dachserData.get('articlelists') || [];
articlelistsQueue.forEach(item => {
window.dachserData.handlers.articlelists(item);
});
};
(function () {
window.dachserData.execute();
}());
</script>
<script id="twitter-wjs" type="text/javascript" async defer src="//platform.twitter.com/widgets.js"></script><script >document.addEventListener("DOMContentLoaded", () => {
const link = document.querySelector('[aria-label="Your Consent Options"]');
if (!link) return;
let ready = false;
link.addEventListener("click", (e) => {
e.preventDefault();
if (ready) {
googlefc.callbackQueue.push(googlefc.showRevocationMessage);
}
});
let attempts = 0;
const check = setInterval(() => {
if (typeof googlefc !== "undefined" && googlefc.callbackQueue) {
clearInterval(check);
ready = true;
} else if (++attempts >= 6) {
clearInterval(check);
link.remove();
}
}, 1000);
});</script>
</body>
</html>