T. Andrew Yang

Email: yang@uhcl.edu

Web page: http://cse.uhcl.edu/yang

Tel.: (281) 283-3835

Last updated:

4/8: Lab 3 updated

3/30: Labs 2 and 3 published

2/11: lab 1 published

2/5/2020: updated hands-on labs information

1/22/2020: first published

 

CSCI 5234 Web Security
Spring 2020


 

Note:
When composing your answers, make sure you give the original author(s) the necessary credits if your answer contains information from sources other than your own brain. J
Refer to http://sce.uhcl.edu/yang/citing.htm if more information is needed in using proper citing.


Assignment

 Total points: 100

 

1.      (5 pts) Visit the class discussion group (see the syllabus page).  Throughout this class, you are responsible for regularly visiting the discussion group to find recent announcements, reminders, and discussions.  Send a brief message to the discussion group to introduce yourself (including your full name as the subject line) and one item you most desire to learn in this class.

 

2.      A refresher of Java Security:

Study the source codes SignatureAuthenticationClient.java and SignatureAuthenticationServer.java, both of which are available at http://sce.uhcl.edu/yang/teaching/proJavaSecurityCode.html.

1)    (15 pts) Run the programs and hand in appropriate screen snapshots to show the execution results. Add a statement to the beginning of the programs such that the first output line shows your full name. Attach the screen output as part of this assignment.

2)    (10 pts) When receiving a digital signature from the client, how does the authentication server verify the client's signature? That is, how would the server know that the signature is really the client's?

 

3.      Study the textbooks and/or applicable web sites to find answers for the following questions. Online glossaries such as those listed in the syllabus page may also be used.

Note: It is required that you clearly identify the source(s) of your information.

1)     (5 pts) What is a ‘man-in-the-middle attack’?

2)     (5 pts) What is a ‘replay attack’?

3)     (5 pts) Is a replay attack a type of man-in-the-middle attack? Justify your answer.

4)     (5 pts) What is ‘pagejacking’?

5)     (5 pts) What is a ‘session hijacking attack’?

6)     (5 pts) What is ‘web access management’?

7)     (5 pts) What is ‘end-to-end security’?

8)     (5 pts) Explain what 'input sanitization' is and why it is critical for secure web operations.

9)     (5 pts) What is ‘out-of-band communication’?

10)  (5 pts) What is 'two-factor authentication'? Why is using more than one factor important in authenticating a user?

11)  (5 pts) What is a 'server certificate'?

12)  (5 pts) How is a 'server certificate' used in providing authentication in a Web-based application?

13)  (5 pts) What is a ‘payment gateway’?

14)  (5 pts) In a networked computer system, there exist two general forms of authentication service: data origin authentication service and peer entity authentication service. Explain what they are and their relationships (common features vs differences).

 

Go to the Index


Research Project

Note: This is an individual project.

 

The goal of this project is for you to visit refereed publications (as well as some relevant web sites) to perform a detailed investigation of a chosen research topic. The topic you choose should be aligned with your chosen team project topic, by investigating related literature and resources about that topic. If you need suggestions when choosing the topic, feel free to discuss with the instructor.

 

Each person should create and maintain a distinct discussion thread in the discussion group, by responding to the instructor's post named 'Research projects should be posted here". Progress of your project should be updated weekly in that thread. How well you maintain your discussion thread is part of the grading.

A benefit of this approach is that both the instructor and your classmates will be able to view your progress and, if applicable, share their thoughts and comments.

 

Items to be submitted:

 

  1. (Before the midterm) The abstract & literature survey

A preliminary abstract of your presentation topic is due early in the semester. Check the syllabus for the due date. Each student should publish his/her abstract in the class discussion board by the due date.

The abstract should be 1-2 pages long, and contains the following sections:

(1)   Class name (i.e., CSCI5234 Web Security)

(2)   Your name and an email address that you check regularly (that is, at least once a day)

(3)   Topic of your investigation

(4)   General description of the topic

(5)   Why is the topic related to web security?

(6)   Survey of related work

Discuss at least three articles related to your chosen topic.

VERY Important: Make sure you properly cite the work of other researchers or professionals. Visit http://sce.uhcl.edu/yang/citing.htm for more information about cited references.

Warning: Missing or improper cited references in your abstract and final report will result in poor score for your research project.

(7)   A tentative outline (agenda) of your final report. That is, the sections/subsections that you plan to include in the final paper.

 

  1. (Last three weeks) Make a 15-minute oral presentation of your completed project. Use the CSE Oral Communication Rubric when making the oral presentations.

 

  1. (Right after the last class meeting) The final written report

1.      The written report should include your findings about the chosen topic.

2.      A draft of the final report should be published in the class discussion group to solicit comments from your classmates and the instructor.

Warning: Missing or improper cited references in your abstract and final report will result in poor score for this assignment.

3.      The following is a suggested outline of your final report:

                                          i.     Title

                                        ii.     Your name (and email address)

                                       iii.     An abstract (50-100 words)

                                       iv.     Introduction to the topic

                                         v.     Significance of the chosen topic with respect to the security of web-based applications

                                       vi.     Survey of related work

                                     vii.     Implemented demonstrations, if applicable.

                                    viii.     Your findings

                                       ix.     Future work: research ideas and projects possibly related to the topic

                                         x.     Conclusion

                                       xi.     Appendix (if any)

 

Go to the Index



Hands-on Labs 

Note about hands-on labs:

Note: The lab may be completed by an individual person or by a team of two persons. A team can consist no more than two persons.

-       You are welcome to use your own laptops to implement the hands-on labs (by setting up virtual boxes and virtual hosts on it).

-       For those who prefer to use university computers, some of the computers in the D201 lab are reserved for this class.

-       To get access to the D201 lab, contact the Computer Science secretary to set up access privileges.

 

Preparation for the hands-on labs:

Go over the following documents before starting your hands-on labs.

·        Lab setup

·        Using Wireshark

 

Lab 1 Cross Site Request Forgery (CSRF)

Total: 100 points

Complete the CSRF lab from the SEED project.

Description of the lab, additional information, and other resources about the lab can be found on the SEED project website; see https://seedsecuritylabs.org/Labs_16.04/Web/. NOTE: For this lab, follow the instructions as given in the Description page from https://seedsecuritylabs.org/Labs_16.04/Web/Web_CSRF_Elgg/. A local copy of the Description can be found here.

In addition, more information about the specific lab can be found in the textbook by Dr. Du.

Check out these supplementary notes about implementing this lab.

-        Evaluation of the lab:

A.    (60%) You will earn 15% for each of the tasks successfully implemented and demonstrated to the TA.

B.     (40%) Hand in a detailed lab report to describe what you have done and what you have observed. Please provide details using Firefox’s add-on tools, Wireshark, and/or screenshots. You also need to provide explanation to the observations that are interesting or surprising.

 

Go to the Index


Lab 2 Cross-site Scripting (CSS)

Total: 100 points

Complete the CSS lab from the SEED project.

Description of the lab, additional information, and other resources about the lab can be found on the SEED project website; see https://seedsecuritylabs.org/Labs_16.04/Web/. NOTE: For this lab, follow the instructions as given in the Description page from https://seedsecuritylabs.org/Labs_16.04/Web/Web_XSS_Elgg/. A local copy of the Description can be found here.

In addition, more information about the specific lab can be found in the textbook by Dr. Du.

Check out these supplementary notes about implementing this lab.

-        Evaluation of the lab:

C.    (70%) You will earn 10% for each of the tasks successfully implemented and demonstrated to the TA.

D.    (30%) Hand in a detailed lab report to describe what you have done and what you have observed. Please provide details using Firefox’s add-on tools, Wireshark, and/or screenshots. You also need to provide explanation to the observations that are interesting or surprising.

 

Go to the Index


Lab 3 SQL Injection

Total: 100 points

Complete the SQL Injection lab from the SEED project.

Description of the lab, additional information, and other resources about the lab can be found on the SEED project website; see https://seedsecuritylabs.org/Labs_16.04/Web/. NOTE: For this lab, follow the instructions as given in the Description page from https://seedsecuritylabs.org/Labs_16.04/Web/Web_SQL_Injection/. A local copy of the Description can be found here.

In addition, more information about the specific lab can be found in the textbook by Dr. Du.

Check out these supplementary notes about implementing this lab.

-        Evaluation of the lab:

E.     (80%) You will earn 10% for each of the tasks/sub-tasks successfully implemented and demonstrated to the TA.

F.     (20%) Hand in a detailed lab report to describe what you have done and what you have observed. Please provide details using Firefox’s add-on tools, Wireshark, and/or screenshots. You also need to provide explanation to the observations that are interesting or surprising.

 

Go to the Index