T. Andrew Yang

Email: yang@uhcl.edu

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

Tel.: (281) 283-3835

Last updated:

11/11: presentation schedule updated

11/10: presentation schedule updated

11/3: Presentation schedule updated

10/19: final exam date fixed

10/12: sample midterm exam added

10/12: removal of spurious content

9/16: Remaining assignments posted

9/8: Assignment 1 due date extended

8/25: submission of research paper revised

8/24/2021: first posted

CSCI 5234-01 Web Security

fall 2021 (8/23 12/3 + final week)

o   UHCL Return to Campus FAQ: https://www.uhcl.edu/return-to-campus/faq

o   Instruction Mode:

·        This class will be held as a face-to-face class with supplemental services using Blackboard, Zoom, and websites. 

·        Because of the pandemic, during the first two weeks, the class attendance will be 50% online and 50% in-person. The instructor will teach the class in the assigned classroom while simultaneously broadcasting the instruction online using Zoom. On odd weeks, those whose student IDs end with an odd number will attend the class in person and those whose IDs end with an even number will attend the class online. On even weeks, those whose student IDs end with an even number will attend the class in person and those whose IDs end with an odd number will attend the class online. Again, because of the pandemic, if you cannot attend an in-person class, there will be no penalty.

·        To join an ongoing class session, click 'Zoom Class Sessions' in the Blackboard menu. NOTE: If this is the first time you use Zoom on your computer, you will be prompted to install the Zoom software. Click the downloaded exe file to start the installation.

o   Visit https://blackboard.uhcl.edu/ to access your classes in the UHCL’s Blackboard system.

·       For those who are new to Blackboard, visit the UHCL's Blackboard Student Support page (at https://www.uhcl.edu/computing/coursedevelopment/blackboardstudentsupport) to become familiar with the Blackboard app.

·       In the Blackboard, a discussion board is available for class-related announcements and discussions. Because of uncertainty caused by the pandemic, changes to the class schedule may be announced unexpectedly. Announcements will be posted in the Welcome forum of the Discussion Board. Be sure to check the posted messages at least once a day.

Class Notes, Topics & Schedule

Assignments & Projects


Time & Classroom

Wedn., 4:00pm – 6:50pm (Delta 158B)

Prerequisite: Web Applications Development (csci/cinf4230) and Computer Security (csci/cinf4233 or csci5233), or instructor's approval.

Note: If you do not have either of the prerequisites, you MUST talk to the instructor. It is assumed that students enrolled in this class are familiar with fundamental topics such as cryptography (symmetric vs asymmetric encryptions/decryptions), security protocols (RSA, DES, Triple-DES, digital signatures, digital certificates, etc.), and n-tier web applications development.

Course Description: Fundamental coverage of issues and techniques in developing secure web-based applications; related topics such as network security, web server security, application-level security and web database security, etc.

Course Objectives: The primary objective of this course is to study and practice fundamental techniques in developing secure web-based applications, including vulnerability of web-based applications and how to protect those applications from attacks. In addition, advanced topics related to Web, such as E-commerce security, Cloud security, collaborative Web-based applications, etc., will also be studied. Students are encouraged to complete a publishable research paper on one of the related topics.

 

Learning Outcome:

·        Understand security-related issues in Web-based systems and applications.

·        Understand the fundamental security components of a computer system.

·        Be able to evaluate a Web-based system with respect to its security requirements.

·        Understand the process of developing secure networked systems.

·        Understand the fundamental mechanisms of securing a Web-based system.

·        Be able to implement security mechanisms to secure a Web-based application.

·        Understand security issues and common controls in electronic commerce systems.

Class Format: Lectures are combined with discussions and, if applicable, student presentations and discussions of advanced topics. Students are expected to be active participants, by studying the relevant chapters and/or research papers, and participating at in-class discussions.

Lifelong learning

“Education is not something you can finish.” (Isaac Asimov)

A note about Bloom's Taxonomy and your learning …

(source: https://tips.uark.edu/using-blooms-taxonomy/ )


Instructor: Dr. T. Andrew Yang

-       Email address: yang@uhcl.edu

-       Web site: http://cse.uhcl.edu/yang (or https://sceweb.uhcl.edu/yang

-       Office: Delta 174

-       Phone: (281) 283-3835 (Please leave a message if not available.

-       Drop-in Office Hours

               Tuesdays: 12:00pm-1:00pm

               Wednesdays: 3:00pm-4:00pm

               Thursdays: 12:00pm-1:00pm

Join Zoom Meeting
https://uhcl.zoom.us/j/96573323294?pwd=MllEYzh1VDJ5WmpQbXNvTXRobWlYUT09

Meeting ID: 965 7332 3294
Passcode: 040252
One tap mobile
+13462487799,,96573323294# US (Houston)
+12532158782,,96573323294# US (Tacoma)

Dial by your location
        +1 346 248 7799 US (Houston)
        +1 253 215 8782 US (Tacoma)
        +1 669 900 6833 US (San Jose)
        +1 312 626 6799 US (Chicago)
        +1 929 205 6099 US (New York)
        +1 301 715 8592 US (Washington DC)
Meeting ID: 965 7332 3294
Find your local number: https://uhcl.zoom.us/u/adsTWeRnjD

Join by Skype for Business
https://uhcl.zoom.us/skype/96573323294

-       To communicate with the professor, you are encouraged to email your questions or issues to yang@uhcl.edu and, if necessary, set up a time with the professor to have an online meeting. Emails are typically replied within 24 hours. If you have not received a response within 24 hours, either send a reminder email or leave a message at (281) 283-3835.

 

-       Using emails effectively:

Emailing has become an indispensable tool in most work places.

Emails without a subject line or the signature line will be considered as potentially malicious and be discarded. Here is a sample subject line: "CSCI 1320 assignment #1, question 3". The signature line should have your full name and the name of the class.

Although email messages tend to be informal, please check the grammar and spelling of your messages to ensure their legibility.

Try to provide sufficient details in your email message, such as the problem(s) you have encountered, the solution(s) you have tried, and the outcome you have got from these solution(s).

Teaching assistant info and office hours

Note: Contact the instructor (yang@uhcl.edu) immediately if you have any problem with the TA or the office hours.

 

TA name: Venkata Naga Bhaavagni Maddi

UHCL email id: MaddiV4951@uhcl.edu

Email Address: bhaavagni.maddi99@gmail.com

 

Office Hours 

Monday: 8:00 AM  12:00 PM

Tuesday: 8:00 AM  12:00 PM

Wednesday: 9:00 AM  12:00 PM

Thursday: 9:00 AM  12:00 PM

 

Office hours are conducted in Delta PC Lab (2nd floor) and as Zoom meetings as well.

Below are the zoom meeting details:

Topic: Venkata Naga Bhaavagni Maddi's Personal Meeting Room

 

Join Zoom Meeting

https://us05web.zoom.us/j/6895538478?pwd=cU9aelgwZm1tYVEvNW1iQ1NiYjgrZz09

 

Meeting ID: 689 553 8478

Passcode: gELJ9W


Required Text:

D: Wenliang Du, Computer & Internet Security: A Hands-on Approach, 2nd Edition, May 1, 2019. ISBN-10: 1733003932, ISBN-13: 978-1733003933.

+ Instructor's handouts in the class and/or on the Web

Recommended Text:

Z: Michal ZalewskiThe Tangled Web: A Guide to Securing Modern Web Applications, No Starch Press; 1 edition (November 15, 2011). ISBN-10: 1593273886, ISBN-13: 978-1593273880.


Supplemental Materials

  • JDBC Security:

o   Oracle's secure JDBC

  • Oracle related links:

o   Architecture of Oracle Net Services

o   Oracle's Listener Control Utility (lsnrctl)

o   Transparent Network Substrate (TNS)

  • Servlet Security & certificates:

o   SSL Configuration HOW-TO, the Apache Tomcat 5.5 Servlet/JSP Container: http://tomcat.apache.org/tomcat-5.5-doc/ssl-howto.html

Glossaries, RFCs, Related Websites, etc.

  • Internet Glossaries

o   RFC2828: Internet Security Glossary. R. Shirey. May 2000.

o   http://www.netlingo.com: searchable online dictionary

o   http://www.sharpened.net/glossary/index.php: Definitions of Computer and Internet Terms

  • HTTP & History of the WWW:

o   [HTTP 1991] The Original HTTP as defined in 1991.

o   [HTTP 1992] Basic HTTP as defined in 1992.

o   [HTTP 1996]  RFC1945 : Hypertext Transfer Protocol -- HTTP/1.0. T. Berners-Lee, R. Fielding, H. Frystyk. May 1996. Informational. (Note: This document also defines HTTP/0.9.) local copy

o   [HTTP 1999] RFC2616 : Hypertext Transfer Protocol -- HTTP/1.1. R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. Leach, T. Berners-Lee. June 1999. DRAFT STANDARD. local copy

o   [irt.org 1998] WWW How It All Began.

o   [isoc.org 2000] The Internet Society. A Brief History of the Internet. August 4, 2000.

  • RFCs related to HTTP:

o   Searching the RFC database: https://www.rfc-editor.org/

o   The Internet Engineering Task Force (IETF): http://www.ietf.org/

o   RFC2616: Hypertext Transfer Protocol -- HTTP/1.1. R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. Leach, T. Berners-Lee June. June 1999. DRAFT STANDARD. local copy of rfc2616

o   RFC2617: HTTP Authentication: Basic and Digest Access Authentication. J. Franks, P. Hallam-Baker, J. Hostetler, S. Lawrence, P. Leach, A. Luotonen, L. Stewart. June 1999. DRAFT STANDARD. local copy of rfc2617

o   RFC2965: HTTP State Management Mechanism. D. Kristol, L. Montulli. October 2000. PROPOSED STANDARD. local copy of rfc2965

o   RFC2585: Internet X.509 Public Key Infrastructure Operational Protocols: FTP and HTTP. R. Housley, P. Hoffman. May 1999. PROPOSED STANDARD.  local copy of rfc2585 This document specifies the conventions for using the File Transfer Protocol (FTP) and the Hypertext Transfer Protocol (HTTP) to obtain certificates and CRLs from PKI repositories.  Additional mechanisms addressing PKI repository access are specified in separate documents.

  • RFCs related to TLS:

o   RFC2246: The TLS Protocol Version 1.0. T. Dierks, C. Allen. January 1999. PROPOSED STANDARD. local copy of rfc2246

o   RFC2712: Addition of Kerberos Cipher Suites to Transport Layer Security (TLS). A. Medvinsky, M. Hur. October 1999. PROPOSED STANDARD. local copy of rfc2712

o   RFC2817: Upgrading to TLS within HTTP/1.1. R. Khare, S. Lawrence. May 2000. PROPOSED STANDARD (Updates RFC2616). local copy of rfc2817

o   RFC2818: HTTP over TLS. E. Rescorla. May 2000. INFORMATIONAL. local copy of rfc2818

o   RFC2830: Lightweight Directory Access Protocol (v3): Extension for Transport Layer Security. J. Hodges, R. Morgan, M. Wahl. May 2000. PROPOSED STANDARD (Updated by RFC3377). local copy of rfc2830

o   RFC3268: Advanced Encryption Standard (AES) Ciphersuites for Transport Layer Security (TLS). P. Chown. June 2002. PROPOSED STANDARD. local copy

  • Other Related RFCs:

o   RFC2827/BCP0038: Network Ingress Filtering: Defeating Denial of Service Attacks which employ IP Source Address Spoofing. P. Ferguson, D. Senie. May 2000. BEST CURRENT PRACTICE. local copy

o   RFC3377: Lightweight Directory Access Protocol (v3): Technical Specification. J. Hodges, R. Morgan. September 2002. PROPOSED STANDARD. local copy of rfc3377

  • Related Web Sites & Documents:

o   Man in the middle attack as explained on Wikipedia

o   Bejtlick, Richard. "Implementing Network Security Monitoring with Open Source Tools": Interesting discussions of net monitoring issues, including open source tools such as tcpdump, argus, snort, trafd/trafshow, sguil, etc.

o   VeriSign Technical Brief. "Building an E-Commerce Trust Infrastructure: SSL Server Certificates and Online Payment Services"

o   Cryptography FAQ Index: http://www.faqs.org/faqs/cryptography-faq/

o   Cryptography.org: http://www.cryptography.org/

o   The Open SSL Project (SDKs for free download): http://www.openssl.org/


·        SEEDS Security labs: https://seedsecuritylabs.org/

·        SEEDS Web Security labs: http://www.cis.syr.edu/~wedu/seed/labs12_04.html

·        Computer & Internet Security - Slides, Problems and Labs: https://www.handsonsecurity.net/resources.html


Topics and Notes
NOTE: The following schedule will be adhered to as closely as possible, although changes are probable. Always check with your instructor if you are not sure what would be covered next week.

week (dates)

Topics & Slides (Book: Chapters)

Due Dates

1 (8/25)

-        Syllabus

§  Blackboard: Discussion Board, Labs, Exams, etc.

§  Zoom: Online sessions

§  Web: syllabus & schedule

§  Emails

-        Projects

-        Presentations

 

A. Overview - Security Mechanisms, Vulnerabilities

-        Is Your Traditional Security Stack Giving You A False Sense of Security? By Kevin Mitnick, and Perry Carpenter. Jan 7 2020 | 60 mins

·   Form your project team for the hands-on labs (team or individual)

 

·   Discussion/selection of research projects (individual)

2 (9/1)

-        Overview: security components and mechanisms

Exercise about mechanisms and prerequisites

3 (9/8)

-        Exercise about mechanisms and prerequisites

Assignment 1

4 (9/15)

-        Security of Web Applications (Z: Ch 1, Ch 18)

Assignment 2

5 (9/22)

-        Cross-Site Request Forgery (D: Ch 10)

Post your team membership to the discussion group.

Assignment 1

6 (9/29)

-        Cross-Site Scripting Attack (D: Ch 11)

-        SQL Injection Attack (D: Ch 12)

Lab 1

7 (10/6)

B. Public Keys, Certificates, SSL/TLS

-        Public Key Cryptography (D: Ch 23)

Post the abstract of your research project to the discussion group to solicit comments.

10/8: Submit the abstract in Blackboard.

8 (10/13)

Midterm exam

Time: 4:00pm – 5:30pm

-        Sample midterm exam

Midterm exam

9 (10/20)

-        Public Key Infrastructure (D: Ch 24)

10 (10/27)

-        Transport Layer Security (TLS) (D: Ch 25)

Lab 2

11 (11/3)

-        The microservice architecture and security issues

a.      What are Microservices? (video)

b.     What are Microservices? (AWS)

c.      Implementing Microservices on AWS

d.      Microservices Landscape: Security in the New World of Containers and Serverless

e.      Microservices Architecture: Security Strategies and Best Practices

f.       How to Secure Microservices Architecture

 

12 (11/10)

C. Project presentations

Singh, Abhishek Kumar: Fraud Detection Techniques for Online Fraud Transaction in E-Commerce

Patel, Swapnil:  Code Security while uploading your code to public repository

Raut, Ram: Reduce Risk Against Cyber Threats and Attack

Soppa, Bhavana: PHISHING ATTACKS

Vangavet, Jagadeesh Chandra: DNS ATTACKS

Vommi, Dhanush: Advanced Persistent Threat Attack

Ambakhutwala, Huzaifa: Vulnerabilities in Internet of Things (IOT)

Patel, Samarth: Working of Anti Malware

Post your draft research paper to the discussion group to solicit comments.

13 (11/17)

-        Project presentations

Martinez, Emily: Botnets

Althafar, Abdulelah Mohammed: Common Web Application vulnerabilities, threats and countermeasures

Bankit, Santhosh Kumar Reddy: Challenges in web security

Vunnam, Mahidhar Rao: Spyware attacks and web security solutions

Euscate, Jason: Shor’s Algorithm and Grover’s Algorithm effects on Encryption and Cyber Security

Janagama, Rohith: A STUDY ON DDOS ATTACKS, DANGER AND ITS PREVENTION

Kerketta, Vandana: Analysis of the Cross Site Scripting(XSS) Attack Detection Methods

Kunduru, Sathwik: LDAP Injection

Mallu, Chandana: Blockchain Technology

 

14 (11/24)

Thanksgiving holidays. No class meetings.

Lab 3

15 (12/1)

-        Project presentations

Malepati, Juhi: Cryptojacking and its counter-measures

Mangi, Sai Charan Reddy: MAN-IN-THE-MIDDLE ATTACKS

Mettu, Pranay: Structured Query Language Injection Attacks and Countermeasures

Naga, Khyathi: Emerging Threats and Countermeasures

Natte, Shruthi: Reasons why using public Wi-Fi can be harmful

Parupalli, Supriya: Ethical Hacking: The Importance of Protecting User Data

Pasam, Venkata: Cross Site Request Forgeries

Gadde, Anuja: CRYPTOJACKING DETECTION USING CPU UASGE METRICS AND                          MACHINE LEARNING (ML)

- Review for the final exam

> Fill out online evaluation at https://apps.uhcl.edu/OnlineEvals

Lab 3

12/1: Submit the final version of your research paper in Blackboard.

16 final exam

Final exam: comprehensive, open-book

Date/Time: Wednesday, December 8, 4:00pm – 5:30pm

Final exam

 


Evaluation:

category

Percentage

Assignment (5% X 2)

10%

midterm exam

20%

final exam (open book)

25%

Hans-on labs (10% X 3)

30%

Research project

15%

Total:

100%

Attendance Policy: You are expected to attend all classes (either in person or online). If you have ever missed a class session, be sure to watch the recorded session to learn what had been covered. It is your responsibility to get hold of whatever may have been discussed in the class.

Class Participation: Participating in the class is expected. You should ask or answer questions during the in-class or online discussions.

Grading Scale:

The accumulated points from all the categories determine a person's final grade. There will be no extra-credit projects.

Percentile

Grade

 

Percentile

Grade

90% or above

A

 

70% - 73%

C

87% - 89%

A-

 

67% - 69%

C-

84% - 86%

B+

 

64% - 66%

D+

80% - 83%

B

 

60% - 63%

D

77% - 79%

B-

 

57% - 59%

D-

74% - 76%

C+

 

Less than 57%

F

Exemption from the final exam: Students who have performed fantastically before the final exam may be exempted from taking the final exam.

 

 

Tests & Exams:

Both analytic and synthetic abilities are emphasized. Being able to apply the learned knowledge toward problem solving is also highly emphasized in the tests. 

Unless due to unexpected, documented emergency, no make-up exams will be given. No make-up exams will be granted once the exams have been corrected and returned to the class.

A note about applying problem-solving to your learning:

An important part of problem solving is correct understanding of the given problem.

-        Try to have a good grasp of the problem before starting the process of finding the solution(s).

-        Use any resources, including the instructor, the TA, your classmates/friends, and online resources to ensure that you have correctly understood the given problem.

-        While trying to figure out the solution(s), continue to verify your understanding of the problem.

-        Read the given instructions carefully before taking any action; while preparing your solutions, be sure to follow the given instructions.

Assignments and Late Penalty:

Assignments will be posted at the class web site as well as in the Blackboard. The due date and time of each assignment is specified when it is published in the Blackboard.

Unless previously approved by the instructor, a late assignment or lab will not be graded. No extension will be granted except for documented emergency. Starting to work on the assignments as early as possible is always the best strategy.

 

Assignments Guidelines:

a. Identification page: All assignments must have your name, and course name/number/section number (e.g., CSCI5234-01) at the top of the first page.

b. Proper stapling: Staple all the pages together at the top-left corner. NOTE: Do not use paper clips.

c. Order ! Order! Arrange the solutions following the sequence of the questions. Write the question number at the top-right corner of each page.

d. Word processing: It is required that you type your reports (e.g., print them using a printer). Use a word processor and appropriate typesetting and drawing tools to do the assignments. Spell-check the whole document before printing it. You may lose points due to spelling or grammatical errors. 

Projects:

The projects will involve the design and implementation of encryption/decryption algorithms and/or application of the algorithms to real-world problems. Students are expected to employ the theories and techniques learned in the class to design the system.

Details of the projects are available at Assignments & Projects.

NOTE: When a grade is assigned, the grade can only be appealed within a week after the grade has been posted.

Academic Honesty Policy:

NOTE: Unless otherwise specified, all assignments, projects, quizzes, tests and exams are individual work.

Students should take caution not to violate the academic honesty policy specified by the university.

Per the UHCL academic honesty policy, plagiarism is defined as follow.

Plagiarism:

a. Incorporating the work or idea of another person into one’s own work without acknowledging the source of that work or idea.

b. Attempting to receive credit for work performed by another person, including papers obtained in whole or part from individuals or other sources.

c. Copying copyrighted computer programs or data files belonging to someone else.

 


Instructor's Notes:

  • Important: If you think you have lost some points due to grading errors, make sure you approach the instructor within a week after the assignment, project, or test has been returned to you.
  • To get the most out of this class, you need to read the textbooks and spend time using computers regularly. Be prepared for a class by previewing the material to be covered in that class and participate in discussions and problem-solving exercises, if applicable, in the class.
  • Due to the intensive nature of graduate classes, 15-20 hours per week are expected of students in studying the textbook/notes and working on the assignments, in addition to class attendance. Expect to spend more hours during summer sessions.
  • As a student being trained to become a professional person, you are expected to behave according to the professional codes of conduct (e.g., the IEEE Code of Conduct) or code of ethics (e.g., the ACM Code of Ethics). As a starting point, listed below are some of the common behaviors that do not conform to the codes of ethics:
    • Being regularly late for the class.
    • Chatting with another person while the instructor or someone is giving a speech in class.
    • Being regularly late when submitting assignments.
    • Asking the instructor or the TA for a favor when submitting a late assignment.
    • Checking out others’ answers during an exam.
    • Continuing to write on the paper when an exam’s time is up.
    • Violating academic honesty when working on the assignments or projects.
    • Using others’ write-up without proper citing when writing a paper or report.

Related Links:

·        UHCL General Program Requirements: http://www.uhcl.edu/XDR/Render/catalog/archives/125/06/

 

·        Withdrawals, Appeals, GPA, Repeated Courses, and the 6 Drop Rule: http://www.uhcl.edu/XDR/Render/catalog/archives/125/06/%23A0110#A0110

 

·        ASSESSMENT FOR ACCREDITATION:

The School of Science and Computer Engineering may use assessment tools in this course and other courses for curriculum evaluation.  Educational assessment is defined as the systematic collection, interpretation, and use of information about student characteristics, educational environments, learning outcomes, and client satisfaction to improve program effectiveness, student performance, and professional success. This assessment will be related to the learning objectives for each course and individual student performance will be disaggregated relative to these objectives.  This disaggregated analysis will not impact student grades, but will provide faculty with detailed information that will be used to improve courses, curriculum, and student performance.

·        UHCL Disability Policy:

If you believe that you have a disability requiring an academic adjustment/auxiliary aid, please contact Disability Services by phone at 281-283-2648, or email disability@uhcl.edu, or go to the office in the Student Services Building (SSCB), Room 1.302.

The University of Houston System complies with Section 504 of the Rehabilitation Act of 1973 and the Americans with Disabilities Act of 1990, pertaining to the provision of reasonable academic adjustments/auxiliary aids for students with a disability. In accordance with Section 504 and ADA guidelines, each University within the System strives to provide reasonable academic adjustments/auxiliary aids to students who request and require them.

 

Go to the Index