Type of Credit: Elective
Credit(s)
Number of Students
Please see the following link to see the updated information.
https://sites.google.com/view/mikehsiao/teaching/data-science-for-cybersecurity-2024
This course serves as an introductory triggering class for students who are interested in cybersecurity analysis using machine learning methods. Students should get familiar with tools, algorithms, concepts, and the execution environment to perform data analysis on cybersecurity data. Students need to learn to be architects to solve security-related problems using data analysis algorithms and tools. Related security concepts, data analysis theories, research papers, and background knowledge will be covered in the class. We will introduce several security systems that implement data analysis algorithms to achieve their security goals.
Note that students should take programming courses before, such as Programming Language I/II. The programming language used in this class is Python (however we will NOT cover any Python language tutorial), and we will leverage TensorFlow and Keras for AI-based analysis. You MUST be familiar with writing programs, be able to find/search solutions from online documents and Stack Overflow, and debug on your own. This course REQUIRES students to implement Python scripts.
Note this course is designed for students who are in their third or fourth year of college. If you have taken any advanced AI/ML/DM course, you may want to skip this course.
能力項目說明
教學週次Course Week | 彈性補充教學週次Flexible Supplemental Instruction Week | 彈性補充教學類別Flexible Supplemental Instruction Type |
---|---|---|
週次 Week |
課程主題 Topic |
課程內容與指定閱讀 Content and Reading Assignment |
教學活動與作業 Teaching Activities and Homework |
學習投入時間 Student workload expectation |
|
課堂講授 In-class Hours |
課程前後 Outside-of-class Hours |
||||
1 |
Introduction to Cybersecurity |
Security Management, Cyber Attack, Data Analysis Environment |
Lecture. |
3 |
6 |
- |
Reserved |
Lecture |
Lecture. |
3 |
6 |
3 |
Supervised Learning: classification I |
Lecture: Table-Based Data and Data Analysis Process, Visualized Machine Learning Tool |
Lecture. Homework: simple classification |
3 |
6 |
4 |
Supervised Learning: classification II |
Lecture: Supervised Learning Algorithms, Tree-based Classification |
Lecture. Homework: tree-based classification |
3 |
6 |
5 |
Unsupervised Learning: clustering |
Lecture: Unsupervised Learning Algorithms, Problematic Data |
Lecture. Homework: clustering email, missing values |
3 |
6 |
6 |
Static Analysis |
Lecture: Static Analysis, Digital Signature |
Lecture. Class Demonstration. Homework: implement a PE parser |
3 |
6 |
- |
Reserved |
Lecture |
Lecture. |
3 |
6 |
8 |
Dynamic Analysis and Packet |
Lecture: Network: Packet Capture, System Call and API Call, |
Lecture. Homework: packet filter |
3 |
6 |
9 |
Midterm |
Midterm |
Midterm |
3 |
6 |
10 |
Deep Learning Basics |
Lecture: The concept of Neural Network. |
Lecture. |
3 |
6 |
11 |
Latent Space |
Lecture: Activation Function Visualization, Auto Encoder |
Lecture. Homework: MNIST |
3 |
6 |
12 |
Latent Space II |
Lecture: K-means and Self-Organizing Map, Word Embedding |
Lecture. Homework: SOM |
3 |
6 |
13 |
Language Model |
Lecture: Bert |
Lecture. Homework: downstream detection |
3 |
6 |
14 |
Text-based Analysis with Orange |
Lecture: The concept of data visualization. |
Lecture. Homework. |
3 |
6 |
15 |
Intrusion Detection | Intrusion Detection |
Lab |
3 |
6 |
16 |
Anomaly Detection | Anomaly Detection |
Lab |
3 |
6 |
17 |
Project Presentation |
Project Presentation |
Project Presentation |
3 |
6 |
18 |
Final |
Final |
Final |
3 |
6 |
The Problem Solving Through Inquiry and Data Analysis rubric can be found here. You MUST read it carefully before submitting your first homework. It allows you to know exactly the way in which you will be assessed, it is helpful in facilitating academic integrity.
https://sites.google.com/view/mikehsiao/teaching/data-science-for-cybersecurity-2024