CS2105 in The News: Whatever happened to the IPv4 address crisis?

Whatever happened to the IPv4 address crisis?

Unallocated IPv4 address blocks are gone forever. However, carriers still have IPv4 addresses available for allocation, so IPv4 addresses will remain in use for some time to come. And though there may be no immediate crisis for service providers, businesses, or customers, there is steady pressure to enable IPv6 in every segment of the network ecosystem as the best way to address IPv4 address scarcity.

Assignment 1: Clarifications II

A few clarifications/tips related to Assignment 1.

  • You can assume that the browsers generate properly formatted HTTP requests. You only need to handle user errors, such as, when users enter a URL pointing to a non-existing file.
  • Beware of Runtime.exec(String[] cmdarray, String[] envp). If the standard environmental variables, such as HOME is missing from the parameter envp, the perl script will not run properly. The script expects that HOME to be set to the user’s home directory. The symptoms of this bug is that todo.pl tries to create a folder /a1/data, which it does not have permission to.
  • Beware of readline(). It returns only after it encounters a new line character. Note that neither HTTP request or response BODY guarantees that it ends with a new line character. If you use readline(), you may have to wait forever for it to return.
  • If you are ssh-ing into cs2105-z from Windows ssh client, you may have key mapping issues when you use vim. You can copy my .vimrc from ~ooiwt/.vimrc on cs2105-z, which maps the keys properly, to resolve this issue.

Lecture 6: IP

17 February, 2014.

“The Internet has Ran Out of IPv4 Addresses. These Hacks, Used to Keep the Internet Growing, Are Absolutely Brilliant.”

We now venture into the network layer and look at IP and the associated protocols (DHCP, ICMP, NAT) in more details.

Slides: PDF

Please read the following sections in the textbook. Reading:
Chapter 4 of KR.

  • 4.1 Introduction
  • 4.2.2 Datagram Networks
  • 4.4 The Internet Protocol (IP) (exclude 4.4.4, 4.4.5)

Problem Set 2 Q3/4

Here are a bunch of links related to Question 3 and 4 in Problem Set 2.

Firesheep:

  • Firesheep

    It’s extremely common for websites to protect your password by encrypting the initial login, but surprisingly uncommon for websites to encrypt everything else. This leaves the cookie (and the user) vulnerable. HTTP session hijacking (sometimes called “sidejacking”) is when an attacker gets a hold of a user’s cookie, allowing them to do anything the user can do on a particular website. On an open wireless network, cookies are basically shouted through the air, making these attacks extremely easy.

  • A video demo of Firesheep.
  • Implications of Firesheep on Facebook and Twitter.

DNS Cache Poisoning:

  • Angry Bird Website Defaced

    Angry Birds developer Rovio has confirmed its website was briefly hijacked, most likely by hackers who managed to tamper with domain name system settings that ultimately control what server receives requests for a particular domain name.

  • DNS Cache Poisoning Used in Brazilian Phishing Attack

    According to Zscaler, attackers managed to force several DNS servers to resolve santander.com.br to an IP address under their control.

    The spoofed page hosted on the rogue web server was very well crafted and looked identical to the real one.

Finally, a report from last month shows that many DNS servers remains insecure.

  • Half the internet lacks DNS security extensions

    Just under half of the internet (47 percent) remains insecure insofar as many top level domains (TLDs) have failed to sign up to use domain name system security extensions (DNSSEC), including intensive internet using countries such as Italy (.it), Spain (.es) and South Africa (.za), leaving millions of internet users open to malicious redirect to fake websites, reports Ultra Electronics AEP.

CS2105 in The News: Is Online Privacy Possible?

http://web.mit.edu/newsoffice/2014/is-online-privacy-possible.html

There are two types of browser cookies: those that help sites to function, and those that enable ad tracking and monetization. When you browse the Internet normally, the first type of cookie is retained on websites so that when you visit the same website again, it remembers your preferences. The second type of cookie tells advertisers and other companies about your online behavior, what links you clicked on, which sites you visited, how you got there, and where you went next.

Assignment 1: Clarifications

We received several FAQs about Assignment 1 last week. Please take note of them.

1. Can we use existing libraries that handle HTTP / CGI for this assignment?

NO. The purpose of this assignment is for you to learn about how HTTP and CGI work together, and demonstrate that to us by solving the assignment. If you use existing libraries or wrapper class (such as HttpURLConnection) you will not learn (and showed us that you know how) the internals of how HTTP/CGI works.

2. We want to implement delete/edit first, before we implement add. How can we manually create TODO entries for testing?

I have edited the file “TODO” and the files under the “data” directory so that they have three items in the list. You can copy them over to your own a1 directory.

cp ~sadm/a1/TODO $HOME/a1
cp -r ~sadm/a1/data $HOME/a1

3. Where can we find WebServer.java? How to run WebServer.java?

Somehow many of you missed this blog post. The code from Lecture 3 is posted there. As to how to run (or compile), please refer to . If you not as comfortable with command line as you should, you are free to use your favorite IDE (Eclipse, NetBeans, etc) to compile and run the server.

Lecture 5: UDP and TCP

10 February, 2014.

“You Won’t Believe How Simple the UDP Protocol is. But The Complexity of TCP Will Make You Cry.”

We will continue our discussion of generic reliable protocols, finishing it off with Selective Repeat protocol.

We will then look at the two major transport protocols on the Internet, namely, UDP and TCP in more details.

Please read the following sections in the textbook. Reading:
Chapter 3 of KR.

  • 3.3 Connectionless Transport: UDP
  • 3.5 Connection-oriented Transport: TCP

Slides: PDF

Assignment 1

Here is your first assignment. You may download the PDF version of Assignment 1 here. You have three weeks to complete this assignment in a team of two. The assignment is due on 21 February 2014. Some word of advice:

  1. Start early. Plan your time properly.
  2. Write your own code. Do not copy from your class mates.
  3. Read the description carefully. It is long, but is full of useful information. The assignment is rather straight forward once you understand what to do.
  4. Read the instructions carefully and follow them exactly.
  5. Ask for help from teaching staff if you have questions.