|
Homework |
Reading
Assignment: Chapters 1 (skip section 1.4) and 3.
Lab Assignment 1 (5 points):
Download Cygwin-X by visiting http://x.cygwin.com/ and following the
instructions for "Downloading and Installing". Don't worry about adding
on extra modules. We'll do this later. When you have installed the
program correctly, bring up an X-window (refer to user manual), type
your first and last name at the command prompt and print out a screen
shot. The screenshot is due on Tuesday, January 17.
|
Reading Assignment:
Chapter 2
Articles: Security
Domains (Read entire article) TCSEC
(Read the entire Introduction- from Historical Perspective up until
Part I; Sections 3.1.1.2, 3.1.3.1.1, 3.2.2.1.1, 3.2.3.1.1; all of
sections 6 and 8) |
Reading Assignment:
Chapters 9 and 10 Lab Assignment 2 (10 points):
Download and run the Microsoft Baseline Security Analyzer Tool 2.0
from here.
If your are not using Internet Explorer for a browser, you may need
to download a validation plug-in first. You can leave the default
settings as-is when you run the tool. Save a screen-shot of your results.
Then complete the "Securing Windows, Step-by-Step" lab found
in Appendix C of your book. You can skip C.7 as hopefully you are
already running anti-virus software. Once you have completed all of
the steps, run the MBSA tool once again. Save a second screen-shot
of these results. Compare the two screenshots to see if vulnerabilities
that were found in the first scan were fixed in the second scan. To
get credit for the lab, you only need to hand in both screenshots
(either through email or hand in paper copies in class). If you are
worried the changes you make to your computer may affect future performance,
you can create a restore point on your computer before making the
changes in Appendix C (see setting
a restore point).
The second portion of the lab will involve unix security. Open your
cygwin-x application. Start an X-Window. Move to the tmp directory
by typing "cd /tmp." Create a file with the touch command.
You can name the file your first name. So in my case, I would type
"touch matt". Now list all files/directories in the /tmp
directory by typing "ls -la". Notice the default permissions
that were applied to the file when you created it. You can check default
permission settings by using the umask command. First type in "man
umask" to read how this program works (you'll have to tab further
down the page until you find umask by using the space bar). Then type
CTRL-Z to get back to your prompt. Type in "umask" and notice
the settings. You can also check access control settings by typing
in "getfacl filename" and of course replacing filename with
the actual name of your file. Once you've done this take a screen
shot. You can set access control settings with the setfacl command.
Use the man pages to read about these commands for further assitance.
To see what processes are running on your system, type in "ps
-ef". Take a screen shot. Now terminate one of those processes
by using the kill command. You need to identify the process ID of
the process you wish to terminate. The process ID will be the number
in the left most column after your user name. Type in "kill -9
PID" and replace PID with the correct process ID. List your running
processes again ("ps -ef") and take another screen shot.
Make sure that the proccess that you terminated is no longer showing
in the list. Finally, you can view linking information regarding a
particular executable. Run the nedit text editor by typing "nedit
&". Make sure you type the & sign. After the editor pops
up, go back to your prompt and use the "ps -ef | grep nedit"
to locate the PID of nedit. You can man grep if you want to know how
it works. Then type in "strace -p PID -w" to attach the
strace program to the nedit process (man strace before running it).
Notice the information that appears on the screen. This will probably
continue to change, but take a screen shot at some point. To kill
strace and nedit, go back to the prompt where you typed the strace
command, list all running processes ("ps -ef"), and type
in "kill -9 PID1 PID2" and replace PID1 with the process
ID of nedit an PID2 with the process of starce. Both processes should
end. Exit out of your X-window. Then, in the cygwin prompt, use the
ps -ef command to locate the PID for xwin. Kill that process and exit
out of the prompt. All screenshots are due on Thursday,
February 2. |
Reading Assignment:
Chapter 11
Articles: Database Security-Concepts, Approaches,
and Challenges by Elisa Bertino and Ravi Sandhu, IEEE Transactions
on Dependable and Secure Computing, Vol. 2, No.
1, January-March 2005. (The easiest way to retrieve this article is
to log on to https://sslvpn.pitt.edu
with your Pitt credentials, select Pitt Digital Library, choose the
option "Databases A-Z", click the IEEXPLORE
link halfway down the page, and search for the above article's title).
www.sans.org/resources/policies/Server_Security_Policy.pdf
http://www.cert.org/security-improvement/modules/m07.html
http://www.cert.org/security-improvement/practices/p025.html
|
Reading Assignment:
Articles:
http://peter.korsgaard.com/articles/bufferoverflows.php
http://www.astalavista.com/index.php?section=docsys&cmd=details&id=38
http://www.insecure.org/stf/smashstack.txt
Here is a link to a short video presentation (no sound): tutorial.avi
Lab Assignment 3 (10 points):
This lab will consist of two parts. The first involves host security
on a Windows system. Download the GFI LANguard System Integrity
Monitor tool from the following URL:
http://www.download.com/GFI-LANguard-System-Integrity-Monitor/3000-2653_4-10175457.html.
This tool is used to maintain the integrity of files on your local
host. Once you tell the software what files you want it to watch,
it will create unique identifiers (cryptographic md5 hashes) for
each file. If any of those files are altered, that particular file's
unqique identifier will also change. When the software scans the
altered file later, it will be able to tell the file was altered
because it will detect that the unique identifier changed. Once
you have installed the software properly, create a file on your
system with your name as part of the tile of the file (e.g. mattz.txt).
Then you must configure the software to scan that file. For installation
and step-by-step configuration instructions, please refer to the
following URL:
http://support.gfi.com/manuals/en/lansim/helpcontents1.htm.
Schedule the scan 10 minutes from now (record this on a screenshot).
Once you have created the scan (name it whatever you want) make
sure you add the new file you created to the scan (the manual tells
you how to do this). Select your newly created scan, open the properties
box, and choose the Schedule tab, and click the Scan Now button.
Once the scan finished, alter the text file you created (add some
text and save it). Once the scan runs (10 minutes from the time
you set up the scan), it should detect that the file was altered.
You can demonstrate this to me in two ways.First, if you have the
ability to connect to a local mail server, you can configure the
scan (on the Email tab) to email the altert to my Pitt email address.
However, a simpler approach is to check your Windows Event Viewer.
You can check this the way we did it in class or by expanding the
Event Viewer in the left hand pane of your GFI LANguard System Integrity
Monitor application. You'll see there was a new log created entitled
the name of the software. Choose that log, select the entry that
was created from the scan, and right-click it and choose properties.
This is your system telling you that it detected that the file was
altered. Take a screenshot. Now you're done, just email me both
screenshots that you took (or hand them in class).
The second part of the lab involves cygwin-x. Open up your cygwin
prompt and launch an X-window. You must launch the X-window for
this lab to work. Your are going to implement the syslog daemon.
Remember, syslogd is the main logging facility for unix. In cygwin,
you must run a script first before starting the syslogd daemon.
First, change into the /bin directory. Since there are a lot of
different programs in this directory, you want to narrow down your
search. Type in the following: ls -la | grep syslog. ls is the command
to list files and directories. You are narrowing the list by stating
you only want to display directories/files that contain the test
"syslog" in them. There should be three in your list.
You need to run the syslogd-config script. Do this by typing the
following: ./syslogd-config Answer yes to any questions. Once finished,
a new configuration file should have been created for you. Change
into the /etc directory. List the files and folders using the ls
command. There should now be a file called syslog.conf. You can
alter what the system logs by editing this file. Open this file
in any text editor. If you want to use nedit and you have downloaded
it from the cygwin-x website, type in: nedit syslog.conf &. The
& puts this in the background. Once you have opened the file in
a text editor, take a screenshot. Notice that the bottom line does
not have a # in front of it. That means that line has not been commented
out. *.* means you are going to log everything. Close the file.
Now change into the /var/log directory (cd /var/log). Use the ls
command to list the files/directories. There should now be a file
called messages. If not, type in the following to creat it: touch
messages. Then type in: chmod 755 messages. This will alter the
permissions of the file. Any log messages will be written to this
file. Now you must run syslog. Just type in (syslog &) at your prompt.
This will start the syslog daemon. Any events will log to /var/log/messages.
Type in: ps -ef | grep syslog. This will confirm you are running
syslog. Take a screen shot. Now try to generate a message. You can
read the man page for syslog by typing in: man syslogd. You can
then read what events are recorded by syslog. You can also google
"syslog events" as well. Once you have recorded any event in /var/log/messages,
use the cat commnand to display the results of the file to the terminal:
cat /var/log/messages. Take your final screenshot. That's it!
All Screenshots are due on Thursday, February 16.
|
|
Reading Assignment:
Chapters 5 and 6
Articles:
Cryptology Paper
Lab Assignment:
This lab will involve using cryptography for confidentiality, integrity,
and non-repudiation. For the first portion of the lab, you need to download
a packet sniffer called ethereal (www.ethereal.com). From the download
page, download the Windows version. Once you download the software, just
execute it. An installer will take care of everything, including installing
all other necessary components. You can accept all defaults. The documentation
page explains how to use the GUI to capture packets so I will not explain
it here. You need to execute ethereal so that it will sniff all packets
going to and from your machine. Then you need to telnet (using the DOS
prompt or any other telnet client) into paradox.sis.pitt.edu. It is important
that you don't provide your real username and password. You can make up
any username and password and try to connect. Once you receive the rejection
notice, stop ethereal. Now find the packet where the username and password
were sent to the paradox server. Again, refer to the documentation (hint:
you can sort packets by protocol or you can use the Filter option). Once
you've located the correct packet, find the data section of the packet
in the bottom window of the GUI. Take a screenshot (the username and password
must be viewable). As you can see, your information was sent in "plaintext".
Any attacker could sniff this traffic and steal your credentials. We must
attempt to secure the confidentiality of the network traffic by using
cryptography. We can do this by using a more secure protocol that uses
encryption, such as SSH (Secure Shell). In order to use ssh, you must
use a client that ssh built into it. You can use cygwin (if you haven't
uninstalled it yet). Or you can download a free ssh client. This site
will give you plenty to choose from- http://www.openssh.com/windows.html.
Using any of these clients is pretty simple. Typically, you have to choose
ssh as a communication option, enter the server destination (paradox.sis.pitt.edu),
and then enter your real username and password. Don't worry about entering
a public key or verifying the server's public key (you can usually bypass
this by selecting the correct option to skip it). If you already use WSFTP
to upload files to a server (doesn't have to be paradox) then you can
choose to use ssh instead of telnet. Whatever you choose, make sure you
start ethereal before you login with the ssh client. Once you've logged
in successfully, stop ethereal. Locate the same packet used to send your
username and password. Notice how the data is encrypted and is not legible.
If an attacker were to sniff this data, he/she would not be able to read
it. Take a screenshot of ths packet.
Now we will use cryptography to prove integrity. Visit the astalavista
webiste (www.astalavista.com) and locate the download page for the tool
called superscan (you can search the site for this software and choose
the one that says "v4.0"- the file name is superscan4.zip).
Notice how there is an MD5 Checksum value. Copy this value into a text
editor for later use. Download the file. Now, just as you located an ssh
client, you need to download a free "MD5" hashing software for
Windows. You can google for one as there are many out there (I used one
from www.fastsum.com). Also, cygwin has a built-in command line program
called md5sum as do many linux distributions. What you need to do is create
a hash of the superscan file you downloaded previously using the MD5 software
(the software is typically straightforward and usually you just need to
choose the file you want to create a hash for and click a button). Take
a screenshot of the result. Now make sure your result matches the MD5
hash value you copied into your text editor. If they match, that means
the file was not altered (unless of course somebody hacked into the astalavista
website and altered the file and changed the MD5 value that is displayed).
Now we have used cryptography to prove integrity.
Finally, we will use cryptography to prove non-repudiation/authentication.
Log in to your Pitt acccount using a browser (http://my.pitt.edu). Double-click
the lock in the bottom-right of the page. Find where it shows who the
issuer of the certificate is (i.e. who the certificate authority is).
Take a screenshot. Then locate the public key field and click on it. Notice
the algorithm that is being used. Take another screen-shot. Now locate
where your certificates are stored (for IE, select Internet Options- Tools-
Content tab- Then click the Certificates button). Find the certificate
authority that issued the certificate for my.pitt.edu within the "
Trusted Root Certification Authorities" tab (there may be more than
one that matches but make sure the "class" value is correct).
View the certificate and take your final screen shot. This shows that
the certificate for my.pitt.edu was vouched for by that particular certificate
authority. This certificate is what authenticates my.pitt.edu to our machine.
This lab assignment is due by Saturday, March 25. |