Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit




Computer Science 460 – Fall 2021

Homework 4


Network Analysis

Let’s get started with some basic tools for traffic monitoring. Make sure you are not using a        VPN for this part. Unless you use Tor or another network encapsulation tool like a VPN, anyone watching your traffic will easily be able to identify your IP address (and therefore some aspects of your identity to the most part). See for yourself what’s being leaked about your identity.

First, open the following URL: https://ipcim.com/en/?p=where.

Question 1:

a)   How accurate is the estimated location? If the estimation is significantly off, why do you think this is the case?

b)   Second, identify your public (not local) IP address using a terminal command (don’t ask Google!), and write down the command that you typed in the terminal.

c)   Third, use the whois command in the terminal on your public IP address from above and report what it returns.

Wireshark (https://www.wireshark.org/) is a widely-used piece of software which analyzes network traffic.

Download and run Wireshark (on Linux/Mac OS you may need to run it as a superuser). Our plan is to capture your Internet traffic. You’ll see that Wireshark detects several       network interfaces on your computer: only one of those is your main “Internet”              interface. You first need to identify this interface.

To do so, on Windows you can use ipconfig, on MacOS you can use ifconfig, or on Linux  either ifconfig or ip a (depending on your distribution, as ifconfig is deprecated and may not be present on your machine) in your terminal, which will show you the list of              interfaces and their corresponding IP ranges. You should be looking for one interface       which is active, and shows an IP range matching your network settings.

For example, on a sample Mac OS X machine, the interface is called “en0”, and it shows  the IP address of “inet 10.0.0.6 netmask 0xffffff00 broadcast 10.0.0.255”, which is in the IP range (10.0.0.x) of my wireless router. It may be different on your machine. Now hit    “start capturing” in Wireshark for the network interface you identified in the previous     step. Once you start capturing, use your web browser and open the URL

http://www.cnn.com/. Once the page has loaded, “stop” capturing in Wireshark, and      save the recorded trace to a pcap file (pcap is a standard file format for network traces).



Question 2:

a)   Describe how you can identify all the packets that belong to your connection to CNN in your captured pcap file. You may first need to identify the IP address of CNN before       filtering it in Wireshark. Can you see the content of your cnn.com connection in your     filtered traffic?

b)   The TLS session between your browser and CNN starts with the Client Hello message.     Find the Client Hello packet and write the host name set in the server_name extension.

c)   Can you identify CNN’s certificate in Wireshark?

Certificate Authorities

Analyze the certificates for https://www.umass.edu/ and https://www.chase.com/. You do not need to use any software other than a modern browser like Chrome. For each of the two            website certificates, answer the following questions:

Question 3:

a)   Which CA has signed this certificate? Which root CA signed the first intermediate CA in the chain? Is this root CA trusted by your browser?

b)   When does it expire?

c)    Do you see an SSL lock icon? If not, say why?

d)   Which encryption and authentication algorithms are used by the website?

e)   Is this a DV or EV certificate?

f)    The CRL Distribution Point is the URL from which the certificate can be downloaded.

g)   What is the public key being certified (just copy/paste in the text)?

h)   What domain names (e.g., other than www.umass.edu) can use this certificate as a valid certificate?

 

 

Denial of Service

We introduced Denial-of-Service (DoS) attacks in class and discussed several examples. A DoS    attacker tries to overwhelm a service provider (e.g., a website) by sending a huge number of      requests. One mechanism devised to prevent DoS is called client puzzles: the service provider    will ask any client who sends a request to solve a puzzle, and the service provider will serve the request only after the client has solved and returned a valid solution to the puzzle. This is a        simple client puzzle: the server will send the client a crypto key k and an integer n. The client is expected to compute and send back the solution such that HMACk(s) ends in n zero bits. n is      called the puzzle difficulty level and it should be n  N, where N is size of the outputs of the        HMAC function.

Question 4:

a)   Why should the server send a different (e.g., randomly generated) k for different client requests?

b)   The client puzzle described above aims at preventing computation amplification attacks (e.g., the server has to do A times computation compared to the attacker). Name one


example DoS attack class that can be defeated using this puzzle. Alternatively, some DoS attacks try to exhaust the network bandwidth of the target server (e.g., the attacker         sends (and/or receives) t bytes of traffic, causing the target server to A × t of her               bandwidth). Name one example DoS attack of this type. Sketch two approaches that can defeat this DoS attack.