Understanding the Oct 21 Cyber Attack

On the Friday of the attack on Dyn that caused mass website outages, I unknowingly clicked on a link from an author’s website to her Twitter account. This lady needs to update her link, I grumbled to myself when it didn’t work. Then, I tried going straight to Twitter to search for her name. Huh, I thought, when the page wouldn’t load. A few hours later, I read an article about the Dyn cyberattack.

Obviously, it’s horrifying for a number of reasons that this kind of attack, with such widespread effects, can occur. But for me, there was a layer of excitement when I read about it, because I had just learned about how our computers access websites on the internet a few days earlier.

Basically, here’s what’s supposed to happen when you type a website address into your browser.

  1. A request is sent through the Internet Service Provider (ISP).
  2. The request lands at a Domain Name Server (DNS). The server is an actual piece of hardware that helps locate the numerical Internet Protocol (IP) address of the website.
  3. When the website is located using the IP address, packets of data are sent back to your computer, and the website loads.

To take Twitter, Reddit, and The New York Times, etc, down on Oct 21st, hackers didn’t attack the individual sites. They attacked the company (Dyn) whose servers connect us with those sites. Dyn was inundated with requests from devices that had been infected with malware, meaning that clients with legitimate requests couldn’t get through. This is called a Distributed Denial-of-Service (DDoS) attack.

More knowledgeable people out there: if I got any parts of this wrong, please inform me. (Like I said, I just learned this myself a few weeks ago, so there’s potential for error). Understanding the gist, however, has certainly helped me grasp the severity and implications of this kind of attack. I’m curious to see how the balance of security and the growing availability and dependence on internet-connected devices will play out in the future.

 

Advertisements

An HTML Reintroduction

In college, I took one course in HTML, and sweated my way through the absolute basics (I had never even opened a plain text file before starting the class, and had definitely never heard of a “div.”) This week, I reintroduced myself to HTML, and was surprisingly delighted by how much I remembered, considering my general stress and feelings of inadequacy in that years-ago class.

For newcomers to coding, I’d highly recommend using HTML as a starting point, despite everything I just said about fretting my way through Intro to Web Development.

The trial-and-error of learning is different in HTML (hyper text markup language) and CSS (cascading style sheets) than other languages, because instead of getting a scary error message (like I would when improperly writing a function in Ruby), I’m opening my code in an actual webpage and checking out how it looks. The diagnosis is usually, “that looks like crap,” or “hey, that looks pretty good,” or “that looks alright, but I can probably make it better.” And by the way, no matter how bad everything looks, it’s still a very cool feeling, seeing my work displayed on the regal stage of a Firefox browser window.

Another beginner-friendly aspect, is that you can make quite a bit, knowing very little HTML. Here’s a page I made in about five minutes with some light Googling:

Calming pile of rocks

Here’s the code I typed into an HTML file:

HTML example

Starting with header tags (I used <h1> in the first line of code), paragraph tags (see the <p> in the second line), and–if you want to get fancy, some links or images (I inserted the rocks photo with the code in the third line), you can get pretty far in jazzing up a web page. Codecademy is a great place to pick up enough basics to get started.

I remember at the end of my Intro to Web Development course feeling a little boxed-in by HTML and CSS. While it makes a web page look nice, it can’t really do anything. That’s where other languages come in. Now, after pushing myself to learn languages such as Ruby, it’s oddly comforting returning to HTML.