You are on page 1of 24

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

BÀI GIẢNG MÔN HỌC


CHUYÊN ĐỀ AN TOÀN PHẦN MỀM
CHƯƠNG 1 –
GIỚI THIỆU CHUNG

Giảng viên: TS. Hoàng Xuân Dậu


Điện thoại/E-mail: dauhx@ptit.edu.vn
Bộ môn: An toàn thông tin - Khoa CNTT1
BÀI GIẢNG MÔN HỌC CHUYÊN ĐỀ AN TOÀN PHẦN MỀM
CHƯƠNG 1 – GIỚI THIỆU CHUNG

ĐÁNH GIÁ MÔN HỌC

❖ Các điểm thành phần:


▪ Chuyên cần: 10% (Kiểm tra vấn đáp)
▪ Bài tập/thảo luận: 40% (Kiểm tra vấn đáp)
▪ Thi cuối kỳ: 50% (báo cáo & trả lời câu hỏi)

Trang 2
BÀI GIẢNG MÔN HỌC CHUYÊN ĐỀ AN TOÀN PHẦN MỀM
CHƯƠNG 1 – GIỚI THIỆU CHUNG

CHUYÊN ĐỀ AN TOÀN PHẦN MỀM

Hình thức học:


❖Ôn tập các kiến thức đã học
❖Đọc tài liệu, thực hành và làm báo cáo
chuyên đề
❖Báo cáo chấm điểm

Trang 3
BÀI GIẢNG MÔN HỌC CHUYÊN ĐỀ AN TOÀN PHẦN MỀM
CHƯƠNG 1 – GIỚI THIỆU CHUNG

Các topics

1. Nghiên cứu về phần mềm độc hại


2. Nghiên cứu về tấn công khai thác lỗi tràn bộ đệm
3. Nghiên cứu về giao thức PGP và ứng dụng
4. Tìm hiểu về hệ thống DNS, các dạng tấn công và phòng
chống
5. Tìm hiểu hệ thống phát hiện xâm nhập host Wazuh
6. Tìm hiểu hệ thống phát hiện xâm nhập mạng Suricata
7. Tìm hiểu về dịch vụ email, bảo mật email và lọc spam
emails
8. Nghiên cứu về hạ tầng khóa công khai PKI, chứng chỉ số
và chữ ký số

Trang 4
BÀI GIẢNG MÔN HỌC CHUYÊN ĐỀ AN TOÀN PHẦN MỀM
CHƯƠNG 1 – GIỚI THIỆU CHUNG

Các topics

9. Tìm hiểu nền tảng bảo mật Security Onion


10. Nghiên cứu về các kỹ thuật giấu tin và ứng dụng
11. Tìm hiểu về mạng VPN và ứng dụng
12. Tìm hiểu về nền tảng xử lý dữ liệu lớn Apache Hadoop
13. Tìm hiểu về các nền tảng xử lý dữ liệu lớn Apache Spark
và Apache Storm
14. Tìm hiểu và triển khai tường lửa ứng dụng web (Web
Application Firewall).
15. Tìm hiểu về công nghệ chuỗi khối (Blockchain) và các
ứng dụng.
16. Tìm hiểu về các phương pháp kiểm thử an toàn phần
mềm và ứng dụng.
Trang 5
BÀI GIẢNG MÔN HỌC CHUYÊN ĐỀ AN TOÀN PHẦN MỀM
CHƯƠNG 1 – GIỚI THIỆU CHUNG

Nghiên cứu về phần mềm độc hại

1. Khái quát về các phần mềm độc hại


2. Phân loại các phần mềm độc hại
3. Cơ chế lây nhiễm của các phần mềm độc hại
4. Các phương pháp phòng chống các phần mềm độc hại
5. Nghiên cứu các phương pháp phân tích các phần mềm độc
hại (phân tích tĩnh, phân tích động).
6. Thử nghiệm phân tích một mẫu virus hoặc mã độc đã biết,
hoặc cài đặt 1 malware đơn giản.

Trang 6
BÀI GIẢNG MÔN HỌC CHUYÊN ĐỀ AN TOÀN PHẦN MỀM
CHƯƠNG 1 – GIỚI THIỆU CHUNG

Nghiên cứu về tấn công khai thác lỗi tràn bộ đệm

1. Khái quát về lỗi tràn bộ đệm (buffer-overflow)


2. Mô hình quản lý & cấp phát bộ nhớ (Stack, Heap)
3. Cơ chế xảy ra lỗi tràn bộ đệm
4. Các kỹ thuật tấn công khai thác lỗi tràn bộ đệm
5. Các biện pháp/kỹ thuật phòng chống
6. Phân tích, tìm lỗi tràn bộ đệm trên 1 phần mềm/đoạn mã và
tìm phương pháp khai thác (Tràn trên Stack, hoặc Heap).

Trang 7
BÀI GIẢNG MÔN HỌC CHUYÊN ĐỀ AN TOÀN PHẦN MỀM
CHƯƠNG 1 – GIỚI THIỆU CHUNG

Nghiên cứu về giao thức PGP và ứng dụng

1. Giới thiệu và ứng dụng của PGP


2. Các mô hình hoạt động của PGP
3. Nền tảng mã hoá khoá bí mật cho PGP (DES, 3-DES, AES)
4. Nền tảng mã hoá khoá công khai cho PGP (Diffie-Hellman,
RSA)
5. Chữ ký số cho PGP (chữ ký số RSA, chữ ký số DSA)
6. Cài đặt demo PGP đảm bảo tính bí mật và toàn vẹn trong
truyền file, hoặc email.

Trang 8
BÀI GIẢNG MÔN HỌC CHUYÊN ĐỀ AN TOÀN PHẦN MỀM
CHƯƠNG 1 – GIỚI THIỆU CHUNG

Tìm hiểu về hệ thống DNS, các dạng tấn công


và phòng chống

1. Tìm hiểu về hệ thống DNS: giới thiệu, kiến trúc và hoạt


động của hệ thống tên miền
2. Các dạng tấn công vào DNS
3. Các cơ chế đảm bảo an toàn cho DNS (DNSSec,
DomainKeys,…)
4. Cài đặt, quản trị Windows DNS
5. Cài đặt, quản trị Bind DNS
6. Demo 1 dạng tấn công vào máy chủ DNS

Trang 9
BÀI GIẢNG MÔN HỌC CHUYÊN ĐỀ AN TOÀN PHẦN MỀM
CHƯƠNG 1 – GIỚI THIỆU CHUNG

Tìm hiểu hệ thống phát hiện xâm nhập host Wazuh

1. Tổng quan về xâm nhập và các kỹ thuật và hệ thống phát


hiện xâm nhập
2. Giới thiệu Wazuh
3. Kiến trúc và hoạt động của Wazuh
4. Tìm hiểu về luật và tạo luật Wazuh
5. Cài đặt Wazuh agents và server
6. Demo khả năng phát hiện xâm nhập/bất thường của
Wazuh (tối thiểu 3 kịch bản).

Trang 10
BÀI GIẢNG MÔN HỌC CHUYÊN ĐỀ AN TOÀN PHẦN MỀM
CHƯƠNG 1 – GIỚI THIỆU CHUNG

Tìm hiểu hệ thống phát hiện xâm nhập mạng Suricata

1. Tổng quan về xâm nhập và các kỹ thuật và hệ thống phát


hiện xâm nhập
2. Giới thiệu Suricata
3. Kiến trúc, hoạt động, luật và tạo luật Suricata
4. So sánh Suricata và Snort (giống, khác, ưu điểm, nhược
điểm)
5. Cài đặt Suricata
6. Demo khả năng phát hiện xâm nhập/bất thường của
Suricata (tối thiểu 3 kịch bản).

Trang 11
BÀI GIẢNG MÔN HỌC CHUYÊN ĐỀ AN TOÀN PHẦN MỀM
CHƯƠNG 1 – GIỚI THIỆU CHUNG

Tìm hiểu về dịch vụ email, bảo mật email


và lọc spam emails

1. Kiến trúc và hoạt động của hệ thống email


2. Mô tả các giao thức gửi nhận email (SMTP, POP, IMAP)
3. Các vấn đề đối với email và dịch vụ email
4. Các biện pháp bảo mật email và dịch vụ email (Danh sách
đen, S/MIME, Sender Policy Framework, Sender ID
Framework, DKIM)
5. Tìm hiểu vấn đề lọc spams
6. Cài đặt và thử nghiệm hệ thống lọc spams Spamassassin.

Trang 12
BÀI GIẢNG MÔN HỌC CHUYÊN ĐỀ AN TOÀN PHẦN MỀM
CHƯƠNG 1 – GIỚI THIỆU CHUNG

Nghiên cứu về hạ tầng khóa công khai PKI,


chứng chỉ số và chữ ký số
1. Nền tảng mã hoá khoá công khai cho chữ ký số
2. Hạ tầng khóa công khai PKI
3. Tìm hiểu về chứng chỉ số khoá công khai
4. Mô tả quá trình trao đổi khoá bí mật sử dụng chứng chỉ số
khoá công khai
5. Mô hình tạo chữ ký số và kiểm tra chữ ký số RSA, DSA
6. Cài đặt chương trình tạo và kiểm tra chữ ký số cho các file
tài liệu .doc, docx, pdf, xml (ghi chữ ký số vào file tài liệu).

Trang 13
BÀI GIẢNG MÔN HỌC CHUYÊN ĐỀ AN TOÀN PHẦN MỀM
CHƯƠNG 1 – GIỚI THIỆU CHUNG

Tìm hiểu nền tảng bảo mật Security Onion

1. Tổng quan về xâm nhập và các kỹ thuật và hệ thống phát


hiện xâm nhập
2. Giới thiệu Security Onion
3. Kiến trúc và hoạt động của Security Onion
4. Tìm hiểu về luật và tạo luật Security Onion
5. Cài đặt Security Onion
6. Demo khả năng phát hiện xâm nhập/bất thường của
Security Onion (tối thiểu 3 kịch bản).

Trang 14
BÀI GIẢNG MÔN HỌC CHUYÊN ĐỀ AN TOÀN PHẦN MỀM
CHƯƠNG 1 – GIỚI THIỆU CHUNG

Nghiên cứu về các kỹ thuật giấu tin và ứng dụng

1. Khái quát về giấu tin và các kỹ thuật giấu tin


(Steganography)
2. Các định dạng ảnh
3. Các định dạng video
4. Các kỹ thuật giấu tin trong ảnh
5. Các kỹ thuật giấu tin trong video
6. Cài đặt thử nghiệm một kỹ thuật giấu tin trong ảnh.

Trang 15
BÀI GIẢNG MÔN HỌC CHUYÊN ĐỀ AN TOÀN PHẦN MỀM
CHƯƠNG 1 – GIỚI THIỆU CHUNG

Tìm hiểu về mạng VPN và ứng dụng

1. Khái quát về VPN và ứng dụng (Khái niệm, các mô hình


triển khai, ứng dụng của VPN)
2. Các giao thức tạo đường hầm cho VPN: PPTP, L2TP
3. Các giao thức tạo đường hầm cho VPN: L2F, MPLS
4. Giao thức bảo mật cho VPN: IPSec
5. Giao thức bảo mật cho VPN: SSL/TLS
6. Cài đặt thử nghiệm
a. Remote access VPN
b. Site-to-site VPN.

Trang 16
BÀI GIẢNG MÔN HỌC CHUYÊN ĐỀ AN TOÀN PHẦN MỀM
CHƯƠNG 1 – GIỚI THIỆU CHUNG

Tìm hiểu về nền tảng xử lý dữ liệu lớn Apache Hadoop

1. Tìm hiểu khái quát về dữ liệu lớn (Big data) và các phương
pháp xử lý dữ liệu lớn
2. Tìm hiểu khái quát về Apache Hadoop: giới thiệu, tính
năng, kiến trúc
3. Tìm hiểu chi tiết về HDFS: kiến trúc, hoạt động
4. Tìm hiểu chi tiết về Map – Reduce
5. Cài đặt, cấu hình hệ thống Apache Hadoop trên tối thiểu 2
máy ảo
6. Thử nghiệm xử lý 1 file dữ liệu đủ lớn (văn bản, log,…)

Trang 17
BÀI GIẢNG MÔN HỌC CHUYÊN ĐỀ AN TOÀN PHẦN MỀM
CHƯƠNG 1 – GIỚI THIỆU CHUNG

Tìm hiểu về nền tảng xử lý dữ liệu lớn


Apache Spark và Apache Storm
1. Tìm hiểu khái quát về dữ liệu lớn (Big data) và các phương
pháp xử lý dữ liệu lớn
2. Tìm hiểu khái quát về Apache Spark : giới thiệu, tính năng,
kiến trúc
3. Tìm hiểu khái quát về Apache Storm: giới thiệu, tính năng,
kiến trúc
4. So sánh 2 nền tảng xử lý dữ liệu lớn Apache Spark và
Apache Storm (giống, khác, ưu điểm, nhược điểm)
5. Cài đặt, cấu hình hệ thống Apache Spark trên tối thiểu 2
máy ảo
6. Thử nghiệm xử lý 1 file dữ liệu đủ lớn (văn bản, log,…)
Trang 18
BÀI GIẢNG MÔN HỌC CHUYÊN ĐỀ AN TOÀN PHẦN MỀM
CHƯƠNG 1 – GIỚI THIỆU CHUNG

Tìm hiểu và triển khai tường lửa ứng dụng web

1. Tìm hiểu về các dạng tấn công web (SQLi, XSS và Top 10
OWASP 2017)
2. Tìm hiểu các phương pháp các dạng tấn công web
3. Tìm hiểu về tường lửa ứng dụng web
▪ Các phương pháp lọc
▪ Các loại tường lửa ứng dụng web
4. ModSecurity: Kiến trúc, hoạt động, luật
5. Cài đặt ModSecurity và website mẫu cần bảo vệ
6. Thử nghiệm phát hiện và ngăn chặn tấn công web sử dụng
ModSecurity (tối thiểu 3 kịch bản).

Trang 19
BÀI GIẢNG MÔN HỌC CHUYÊN ĐỀ AN TOÀN PHẦN MỀM
CHƯƠNG 1 – GIỚI THIỆU CHUNG

Tìm hiểu về công nghệ Blockchain và các ứng dụng

1. Tìm hiểu khái quát về Blockchain


• Các khái niệm (khối, mã băm, proof of work, giao dịch...)
• Các ưu và nhược điểm
2. Ứng dụng của Blockchain
3. Hàm băm và ký số sử dụng trong Blockchain
4. Kiến trúc và các thành phần cơ bản của Blockchain
5. Các nền tảng hỗ trợ Blockchain (Bitcoin, Ethereum,
Hyperledger Fabric, Hyperledger Sawtooth, R3 Corda...)
6. Cài đặt và thử nghiệm 1 nền tảng Blockchain.

Trang 20
BÀI GIẢNG MÔN HỌC CHUYÊN ĐỀ AN TOÀN PHẦN MỀM
CHƯƠNG 1 – GIỚI THIỆU CHUNG

Tìm hiểu về các phương pháp kiểm thử an toàn


phần mềm và ứng dụng
1. Tìm hiểu về quy trình kiểm thử phần mềm và kiểm thử an toàn phần
mềm
2. Các phương pháp kiểm thử phần mềm an toàn
3. Tìm hiểu về công cụ rà quét lỗ hổng website Acunetix Web Vulnerabilty
Scanner
4. Tìm hiểu về công cụ rà quét lỗ hổng hệ thống Nexus Scanner
5. Tìm hiểu về công cụ rà quét dịch vụ và lỗ hổng hệ thống nmap (cài đặt
thêm các nmap scripts)
6. Cài đặt và thử nghiệm:
• Quét 5 website bằng Acunetix Web Vulnerabilty Scanner và phân tích kết quả
• Quét máy ảo Linux Metasploitable 2 sử dụng nmap vulners scripts.

Trang 21
BÀI GIẢNG MÔN HỌC CHUYÊN ĐỀ AN TOÀN PHẦN MỀM
CHƯƠNG 1 – GIỚI THIỆU CHUNG

Lịch học chi tiết

Ngày Giờ bắt đầu Nội dung


- Giới thiệu môn học, pp đánh giá
- Giới thiệu các đề tài và các yêu cầu
5/10 (T3) 14h30 - Sinh viên trao đổi tạo các nhóm thực hiện
- Chốt danh sách các nhóm thực hiện (khoảng 5
người/nhóm)
6/10 (T4) Nghỉ, tự học
Kiểm tra vấn đáp các nhóm 1-8 về các nội dung 1+2
12/10 (T3) 14h30
của từng đề tài (10%)
Kiểm tra vấn đáp các nhóm 8-16 về các nội dung 1+2
13/10 (T4) 14h30
của từng đề tài (10%)
Kiểm tra vấn đáp các nhóm 1-6 về các nội dung 3+4
19/10 (T3) 14h30
của từng đề tài (40%)

Trang 22
BÀI GIẢNG MÔN HỌC CHUYÊN ĐỀ AN TOÀN PHẦN MỀM
CHƯƠNG 1 – GIỚI THIỆU CHUNG

Lịch học chi tiết

Ngày Giờ bắt đầu Nội dung

Kiểm tra vấn đáp các nhóm 7-11 về các nội dung
20/10 (T3) 14h30
3+4 của từng đề tài (40%)

Kiểm tra vấn đáp các nhóm 12-16 về các nội dung
26/10 (T3) 14h30
3+4 của từng đề tài (40%)

2/11 (T3) 14h30 Báo cáo (Nhóm 1-4)

9/11 (T3) 14h30 Báo cáo (Nhóm 5-8)

16/11 (T3) 14h30 Báo cáo (Nhóm 9-12)

23/11 (T3) 14h30 Báo cáo (Nhóm 13-16)

Trang 23
BÀI GIẢNG MÔN HỌC CHUYÊN ĐỀ AN TOÀN PHẦN MỀM
CHƯƠNG 1 – GIỚI THIỆU CHUNG

Báo cáo kết thúc

❖ Báo cáo:
▪ Nộp báo cáo text: khoảng 30 trang (hạn nộp 23h59 ngày 1/11)
▪ Mỗi nhóm báo cáo bằng slides và demo trong tối đa 30 phút
▪ Trả lời câu hỏi cho từng thành viên.
▪ Demo là bắt buộc với mỗi nhóm.

❖ Điểm đánh giá (50%) gồm 3 thành phần:


▪ Báo cáo text và slides: 15%
▪ Demo: 15%
▪ Trả lời câu hỏi cá nhân: 70%.

Trang 24

You might also like