Tải bản đầy đủ (.pdf) (9 trang)

ĐỀ CƯƠNG CHI TIẾT HỌC PHẦN LẬP TRÌNH AN TOÀN

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (638.57 KB, 9 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>TRƯỜNG ĐH NGOẠI NGỮ - </b>

<b>TIN HỌC TP.HCM <sup>CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM </sup>Khoa CÔNG NGHỆ THÔNG TIN Độc Lập - Tự Do - Hạnh Phúc </b>

<b>CHƯƠNG TRÌNH GIÁO DỤC ĐẠI HỌC </b>

<b>Trình độ đào tạo: Đại học Ngành: Cơng nghệ thông tin Mã số: 7480201 </b>

<b>ĐỀ CƯƠNG CHI TIẾT HỌC PHẦN </b>

<i><b>1. Thông tin chung về HP </b></i>

<b>1.1 Mã học phần: 1250104 1.2 Tên học phần: Lập trình an toàn 1.3 Ký hiệu học phần: 1.4 Tên tiếng Anh: Programming Security </b>

ThS. Cao Tiến Thành ThS. Đỗ Phi Hưng ThS. Nguyễn Anh Vũ

<b>1.8 Điều kiện tham gia học phần: </b>

<b>2. Mục tiêu HP 2.1. Mục tiêu chung </b>

Học phần cung cấp khả năng tổng quan về các tấn công trong ứng dụng. Các kiến thức về tấn công, khai thác lỗ hổng và bảo mật về mặt lập trình. Từ kiến thức về tấn cơng, khai thác phổ biến, lập trình viên có thể phịng chống lỗi cơ bản và chú trọng trong từng chi tiết lập trình nhằm tránh lỗi về bảo mật.

<b>2.2. Mục tiêu HP cụ thể 2.2.1. Về kiến thức: </b>

<small> </small>

Nắm được các tính năng bảo mật và nguyên tắc mã hóa an tồn.

<small> </small>

Nắm được kỹ thuật phịng thủ cho các cuộc tấn cơng SQL Injection

<small> </small>

Hiểu được kỹ thuật phòng thủ cho các cuộc tấn công canonicalization và ACL

<small> </small>

Nắm được các kỹ thuật phịng thủ chống lại các cuộc tấn cơng phiên, cookie

<small> </small>

Hiểu rõ tầm quan trọng của lập trình an tồn và các kỹ năng cần thiết để lập trình an tồn.

<small> </small>

Phân loại các kỹ thuật tấn cơng và phịng thủ trong lập trình an toàn.

<b>2.2.2. Về kỹ năng: </b>

<small> </small>

Lập trình với các quy tắc an tồn

<small> </small>

Lập trình chống các cuộc tấn cơng thơng thường

<small> </small>

Có kỹ năng xử lý, phịng thủ và giảm thiểu lỗ hổng trong lập trình.

<small> </small>

Có khả năng thực hiện mã hóa đầu ra để ngăn chặn các cuộc tấn công xác nhận đầu vào.

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>2.2.3. Về thái độ </b>

<small> </small>

Năng lực tự chủ và trách nhiệm.

<b>3. Chuẩn đầu ra của HP “Lập trình an tồn” </b>

<b>Bảng 3.1. Chuẩn đầu ra (CĐR) của HP </b>

Sau khi học xong học phần, SV có khả năng:

CLO1 Nắm vững các tính năng bảo mật và ngun tắc mã hóa an tốn

CLO2 Có khả năng lập trình chú trọng yếu tố an tồn trên code, cookie, đầu vào, đầu ra

CLO3 Có năng lực lập trình chống các cuộc tấn cơng thơng thường

CLO4 Áp dụng được kiến thức lập trình an tồn để xử lý lỗi, phịng thủ và giảm thiểu lỗ hổng trong lập trình

CLO5 Có khả năng tự giải quyết một số vấn đề thực tế. Có năng lực đọc hiểu giáo trình, bài giảng bằng tiếng Anh.

CLO6 Chuyên cần, có ý thức rèn luyện kỹ năng làm việc cẩn thận, chuyên nghiệp và sáng tạo..

<b>4. Mối liên hệ giữa CĐR HP (CLO) với CĐR CTĐT (PLO) </b>

Mức độ đóng góp của CLO vào PLO được xác định cụ thể:

Mức 1 – CLO có đóng góp vừa vào PLO Mức 2 – CLO có đóng góp nhiều vào PLO

Chú thích: 2 - Cao, 1 - Thấp - phụ thuộc vào mức hỗ trợ của CLO đối với PLO ở mức bắt đầu (1) hoặc mức nâng cao hơn mức bắt đầu, có nhiều cơ hội được thực hành, thí nghiệm, thực tế,…(2)

<b>Bảng 4.1.Mối liên hệ của CĐR HP (CLO) đến CĐR của CTĐT (PLO) </b>

<b>PLO </b> (1) (2) (3) (4) (5) (6) (7a) (8a) (9a) (10a) (11a)

<b>Bảng 5.1. Phương pháp, hình thức kiểm tra - đánh giá kết quả học tập của SV ở HP </b>

<b><small>Th/phần </small></b>

<b><small>đánh giá </small><sup>Trọng </sup><small>số </small><sup>Bài đánh giá </sup><sup>Trọng số </sup><small>con </small></b>

<b><small>Rubric Lquan đến CĐR nào ở bảng 3.1 </small></b>

<i><b><small>HD PP đánh giá </small></b></i>

<small>A1. Kiểm tra thường xuyên (KTTX) </small>

<small>20% </small>

<small>A1.1. Từng buổi học 30% </small>

<small>R1 CLO 6 - Điểm danh </small>

<small>- Đánh giá hoạt động trên lớp A1.2. Tuần 10: Kiểm </small>

<small>tra trên lớp </small>

<small>20% </small>

<small>R3 CLO 1 CLO 2 CLO 4 CLO 5 </small>

<small>- Đánh giá kết quả hiểu và vận dụng kiến thức </small>

<small>A1.3. Tuần 14: Làm việc nhóm trên case study </small>

<small>50% </small>

<small>R3 CLO 1 CLO 2 CLO 5 A2. Đánh </small>

<small>giá phần thực hành </small>

<small>30% </small>

<small>Sinh viên hoàn thành bài thực hành trong buổi thực hành </small>

<small>100% R3 R7 </small>

<small>CLO 2 CLO 3 CLO 4 </small>

<small>- GV giao bài thực hành vào đầu mỗi buổi thực hành </small>

<small>- GV chấm kết quả vào cuối buổi thực hành A3. Đánh </small>

<small>giá cuối kỳ </small> <sup>50% </sup> <sup>Kiểm tra cuối kỳ. </sup> <small>100% </small>

<small>Kiểm tra viết </small>

<small>CLO 1 </small>

<small>CLO 2 </small>

-

T<small>rắc nghiệm - Bài tập </small>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<small>3CLO 4 </small>

<small>CLO 5 </small>

<b>6. Kế hoạch và nội dung giảng dạy HP </b>

<b>Bảng 6.1. Kế hoạch và nội dung giảng dạy của HP theo tuần </b>

<b>Tuần/ Buổi </b>

<b>CĐR của bài học (chương)/ </b>

<b>chủ đề </b>

<b>Lquan đến CĐR nào ở bảng 3.1 </b>

<b>PP giảng dạy đạt CĐR </b>

<b>Hoạt động </b>

<b>học của SV(*) <sup>Tên bài </sup> đánh giá </b>

(ở cột 3 bảng

<b>5.1 </b>

(1) (2) (3) (4) (5) (6) (7) (8) 1

<b>Chương 1: Giới thiệu lập </b>

CLO1 1.1. Thuyết giảng

1.2. Đặt câu hỏi gợi mở để sinh viên trả lời

1.3. Liên hệ với những kiến thức thực tế

- Phần chuẩn bị ở nhà: Đọc trước nội dung ở chương 2,3 cuốn [1] và phần 1 cuốn [3]

- Ghi chú, tham gia các hoạt động trên lớp

A1.1

2

<b>Chương 2: .Net framework security </b>

<b>2.1 .Net runtime security 2.2 .Net Class libraries </b>

security

3 + Nắm được các kỹ thuật giúp bảo mật trên nền tảng lập trình .net,

+ Nắm được các runtime và các lớp thư viện bảo mật trên nền tảng .net

CLO1 CLO6

2.1. Thuyết giảng

2.2. Đặt câu hỏi gợi mở để sinh viên trả lời

2.3. Cho bài tập

- Phần chuẩn bị ở nhà: Đọc trước nội dung ở chương 4,5 cuốn [1] và chương và phần 2 cuốn [2]

- Ghi chú, tham gia các hoạt động trên lớp (nghe giảng, trả lời câu hỏi, làm bài tập)

+ Nắm được các runtime và các lớp thư viện bảo mật trên nền tảng .net

CLO1, CLO6

3.1. Thuyết giảng 3.2. Đặt câu hỏi

3.3. Demo 3.4. Cho bài tập

- Phần chuẩn bị ở nhà: Đọc trước nội dung ở chương 4,5 cuốn [1] và chương và phần 2 cuốn [2]

- Ghi chú, tham gia các hoạt động trên lớp

CLO1 CLO6

4.1. Thuyết giảng 4.2. Đặt câu

- Phần chuẩn bị ở nhà: Đọc trước nội

A1.1

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

<small>4</small>

lập trình nhập xuất

<b>3.2 Lọc </b>

đến nhập xuất trong lập trình và tầm quan trọng của kiểm tra nhập xuất + Vận dụng tấn công dựa trên các lỗi lập trình nhập xuất

hỏi 4.3. Demo 4.4. Cho bài tập vận dụng

dung ở chương 6,7 cuốn [1] và chương 9,10 cuốn [3] - Ghi chú, tham gia các hoạt động trên lớp

5

<b>Chương 3: Kiểm tra nhập xuất (tiếp theo) </b>

<b>3.3 Lọc (tiếp theo) 3.4 Sandboxing </b>

3 + Nắm được các vấn đề liên quan đến nhập xuất trong lập trình và tầm quan trọng của kiểm tra nhập xuất + Vận dụng tấn cơng dựa trên các lỗi lập trình nhập xuất

CLO1, CLO2, CLO4, CLO6

5.1. Thuyết giảng 5.2 Đặt câu hỏi

5.3. Cho bài tập vận dụng kiến thức 5.4 Demo

- Phần chuẩn bị ở nhà: Đọc trước nội dung ở chương 6,7 cuốn [1] và chương 9,10 cuốn [3] - Ghi chú, tham gia các hoạt động trên lớp

A1.1

6

<b>Chương 4: Authorization và Authentication </b>

<b>4.1 Authorization và </b>

Authentication

<b>4.2 Lỗ hổng liên quan </b>

Authorization và Authentication

3 + Nắm được các khái niệm về ủy quyền (authorization) và xác thực (authentication)

+ Phân loại xác thực và ủy quyền và vận dụng tấn công dựa các lỗ hổng liên quan. + Làm quen với cách tổ chức nhóm trên case study

CLO2 CLO3, CLO5, CLO6

6.1. Thuyết giảng 6,2, Demo 6.3. Đặt câu hỏi

6.4. Cho bài tập vận dụng kiến thức mạng 6.5. Làm việc nhóm

- Phần chuẩn bị ở nhà: Đọc trước nội dung ở

chương 8 cuốn [1], chương 5 cuốn [4] - Ghi chú, tham gia các hoạt động trên lớp

- Thành lập nhóm

A1.1

7

<b>Chương 4: Authorization và Authentication (tiếp theo) </b>

<b>4.3 Lỗ hổng liên quan </b>

Authorization và Authentication (tiếp theo)

<b>4.4 </b>

Bảo mật đường truyền

3 + Nắm được các khái niệm về ủy quyền (authorization) và xác thực (authentication)

+ Phân loại xác thực và ủy quyền và

CLO1, CLO2, CLO3, CLO6

7.1. Thuyết giảng 7.2. Đặt câu hỏi

7.3. Demo 7.4. Cho bài tập

- Phần chuẩn bị ở nhà: Đọc trước nội dung ở

chương 8 cuốn [1], chương 5 cuốn [4] - Ghi chú, tham gia các hoạt động trên lớp

A1.1.

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

vận dụng tấn công dựa các lỗ hổng liên quan.

8

<b>Chương 5: Bảo mật Session và State Management </b>

<b>5.1 Khái niệm Session </b>

Management và công nghệ Session Management

3 + Nắm được khái niệm về bảo mật session và state management

CLO1, CLO2, CLO3, CLO6

8.1. Thuyết giảng 8.2. Đặt câu hỏi

8.3. Demo 8.4. Cho bài tập

- Phần chuẩn bị ở nhà: Đọc trước nội dung ở chương 9 cuốn [1] và phần 3 cuốn [2]

- Ghi chú, tham gia các hoạt động trên lớp

A1.1

9

<b>Chương 5: Bảo mật Session và State Management </b>

<b>5.2 Các loại tấn công </b>

trên Session Management

3 + Nắm được các loại tấn công trên Session Management

CLO1 CLO3, CLO6

9.1. Thuyết giảng 9.2. Đặt câu hỏi

9.3. Cho bài tập

9.4. Ôn lại kiến thức đã học

- Phần chuẩn bị ở nhà: Đọc trước nội dung ở chương 9 cuốn [1] và phần 3 cuốn [2]

- Ghi chú, tham gia các hoạt động trên lớp

- Ôn lại kiến thức đã học

3 + Nắm được các khái niệm, kỹ thuật kiểm soát, bắt lỗi và phân tích lỗi

CLO1, CLO2, CLO4, CLO5, CLO6

10.1. Thuyết giảng

10.2. Đặt câu hỏi

10.3. Cho bài kiểm tra

- Phần chuẩn bị ở nhà: Đọc trước nội dung ở chương 15 cuốn [1] và chương 7 cuốn [4]

- Ghi chú, tham gia các hoạt động trên lớp

- Làm bài kiểm tra. - Vận dụng sáng tạo kiến thức đã học vào vấn đề thực tế - Báo cáo phần việc đã được thực hiện trong nhóm

A1.1, A1.2.

CLO1 CLO2, CLO4, CLO6

11.1. Thuyết giảng

11.2. Đặt câu hỏi

11.3. Cho bài

- Phần chuẩn bị ở nhà: Đọc trước nội dung ở chương 15

A1.1

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

phân tích lỗi tập

11.4. Demo

cuốn [1] và chương 7 cuốn [4]

- Ghi chú, tham gia các hoạt động trên lớp

12

<b>Chương 7: An Tồn File 7.1 File Handling 7.2 Tấn cơng trên File </b>

3 + Nắm được các khái niệm về an tồn file + Có khả năng vận dụng kiến thức để giải case study

CLO2, CLO4, CLO5, CLO6

12.1. Thuyết giảng 12.2. Đặt câu hỏi

12.3. Nhận xét đánh giá kết quả làm việc nhóm trên case study

- Phần chuẩn bị ở nhà: Đọc trước nội dung ở chương 16 cuốn [1] - Ghi chú, tham gia các hoạt động trên lớp

- Rút kinh nghiệm từ các nhận xét của giảng viên - Rút kinh nghiệm từ lỗi của các nhóm khác

CLO2, CLO4, CLO6

13.1. Thuyết giảng

13.2. Đặt câu hỏi

13.3. Demo 13.4. Cho bài tập

- Phần chuẩn bị ở nhà: Đọc trước nội dung ở chương 16 cuốn [1] - Ghi chú, tham gia các hoạt động trên lớp

CLO2, CLO4, CLO5, CLO6

14.1. Thuyết giảng 14.2 Đặt câu hỏi

- Phần chuẩn bị ở nhà: Thảo luận và đóng góp ý kiến vào bài giải case study.

Hoàn tất phần việc đã được phân cơng trong nhóm Đọc trước nội dung ở chương 18 cuốn [1] và phần 5 cuốn [3]

- Ghi chú, tham gia các hoạt động trên lớp

- Nộp báo cáo case stydy của môn học

A1.1.

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

kiến thức đã được học chuẩn bị thi cuối kỳ

CLO1, CLO2, CLO4, CLO5, CLO6

15.1. Ôn tập kiến thức 15.2. Nhận xét, đánh giá và công bố kết quả làm việc nhóm trên case study

- Ghi chú, tham gia các hoạt động trên lớp

- Rút kinh nghiệm từ các case study

A1.1, A1.3

Theo lịch thi

<b>- Học phần thực hành: </b>

<b>Bảng 6.2. Kế hoạch và nội dung giảng dạy của HP thực hành theo tuần </b>

<b>Tuần/ Buổi </b>

<b>CĐR của bài học (chương)/ </b>

<b>chủ đề </b>

<b>Lquan đến CĐR nào ở bảng 3.1 </b>

<b>PP giảng dạy đạt CĐR </b>

<b>5.1 </b>

(1) (2) (3) (4) (5) (6) (7) (8) 1 Chương 1: Cài đặt mơi

trường lập trình an toàn

3 TH + Nắm được cách cài đặt mơi trường lập trình an tồn

CLO2 CLO3

- Thuyết giảng

-

Hướng dẫn sinh viên thực hiện

-

Đặt câu hỏi

- Nghe giảng, ghi chú

-

Trả lời câu hỏi

-

Làm bài tập trên máy

A2

2 Chương 2: .Net framework security

3 + Nắm được các runtime và thư viện lập trình an tồn

CLO3 CLO6

- Thuyết giảng

-

Hướng dẫn sinh viên thực hiện

-

Đặt câu hỏi

- Nghe giảng, ghi chú

-

Trả lời câu hỏi

-

Làm bài tập trên máy

A2

3 Chương 3: Kiểm tra nhập

+ Năm được tầm quan trọng của kiểm tra nhập xuật và các kỹ thuật tấn công lỗi lập trình nhập xuất

CLO3 CLO6

- Thuyết giảng

-

Hướng dẫn sinh viên thực hiện

-

Đặt câu hỏi

- Nghe giảng, ghi chú

-

Trả lời câu hỏi

-

Làm bài tập trên máy

A2

4

Chương 4: Authorization và Authentication

3 + Nắm được các kỹ thuật tấn công dựa trên lỗi lập trình liên quan đến ủy quyền và xác thực.

CLO3 CLO6

- Thuyết giảng

-

Hướng dẫn sinh viên thực hiện

-

Đặt câu hỏi

- Nghe giảng, ghi chú

-

Trả lời câu hỏi

-

Làm bài tập trên máy

A2

5 Chương 5: Bảo mật Session và State

3 + Nắm được kỹ

thuật bảo mật <sup>CLO2 </sup>CLO3

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

Management phiên và quản lý

trạng thái <sup>CLO6 </sup> <sub>- </sub>

<sup>giảng </sup>Hướng dẫn sinh viên thực hiện

-

Đặt câu hỏi

giảng, ghi chú

-

Trả lời câu hỏi

-

Làm bài tập trên máy

6 Chương 6: Error

Handling, Auditing, and Logging

3 + Nắm được các kỹ thuật bắt lỗi, điều tra, phân tích lỗi trong lập trình an tồn

CLO2 CLO4 CLO6

- Thuyết giảng

-

Hướng dẫn sinh viên thực hiện

-

Đặt câu hỏi

- Nghe giảng, ghi chú

-

Trả lời câu hỏi

-

Làm bài tập trên máy

A2

7 Chương 7: An Toàn File 3 + Nắm được kỹ thuật tấn công và bảo mật trên file

CLO2 CLO6

- Thuyết giảng

-

Hướng dẫn sinh viên thực hiện

-

Đặt câu hỏi

- Nghe giảng, ghi chú

-

Trả lời câu hỏi

-

Làm bài tập trên máy

A2

8

Chương 8: Cấu hình quản lý và bảo mật code

3 + Nắm được kỹ thuật cấu hình quản lý và bảo mật code

CLO4 CLO6

- Thuyết giảng

-

Hướng dẫn sinh viên thực hiện

-

Đặt câu hỏi

- Nghe giảng, ghi chú

-

Trả lời câu hỏi

-

Làm bài tập trên máy

A2

9

Chương 8: Cấu hình quản lý và bảo mật code (tiếp theo)

3 + Nắm được kỹ thuật cấu hình quản lý và bảo mật code

CLO2 CLO4 CLO6

- Thuyết giảng

-

Hướng dẫn sinh viên thực hiện

-

Đặt câu hỏi

- Nghe giảng, ghi chú

-

Trả lời câu hỏi

-

Làm bài tập trên máy

A2

10 Thi thực hành 3 CLO2 CLO3 CLO4 CLO5

- Coi thi và

chấm điểm <sup>- Làm bài thi </sup> <sup>A2 </sup>

<b>(*) Ghi chú: </b>

<i>- (3) Số tiết (LT/TH/TT): Xác định số tiết lý thuyết, thực hành, thực tập của từng chương </i>

<i>- (6) PP giảng dạy đạt CĐR: Nêu tên các PP giảng dạy sử dụng trong từng chương để đạt CĐR </i>

<i>- (7) Hoạt động học của SV: Xác định các nội dung SV cần chuẩn bị tại nhà (đọc tài liệu nào, từ trang thứ mấy, LVN để giải quyết BT, làm dự án ……..); Hoạt động tại lớp (thảo luận nhóm, làm BT thường </i>

<i><b>xuyên số.…). </b></i>

<b>7. Học liệu: </b>

<b>Bảng 7.1. Sách, giáo trình, tài liệu tham khảo </b>

<b>XB </b>

<b>Tên sách, giáo trình, tên bài báo, văn bản </b>

<b>NXB, tên tạp chí/ nơi ban hành VB Giáo trình chính </b>

O'Reilly Media

<b>Sách, giáo trình tham khảo </b>

3 Jason Andress, Ryan Linn

2016 Coding for Penetration Testers, 2nd Edition

Syngress

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

<small>9</small>

4 Ankit Mishra 2015 Secure Your Spring-Based Applications Packt Publishing

<b>Bảng 7.2. Danh mục địa chỉ web hữu ích cho HP </b>

<b>nhật </b>

1

<i><b>8. Cơ sở vật chất phục vụ giảng dạy: </b></i>

<b>Bảng 8.1. Cơ sở vật chất giảng dạy của HP </b>

<b>TT </b>

<b>Tên giảng đường, PTN, xưởng, cơ sở </b>

<b>TH </b>

<b>Danh mục trang thiết bị, phần mềm chính </b>

<b>phục vụ TN,TH <sup>Phục vụ cho nội dung Bài </sup>học/Chương Tên thiết bị, dụng cụ, phần </b>

<b>mềm,… </b>

<b>Số lượng </b>

<i>1 </i>

Phòng máy Khoa CNTT Phần mềm VMWare Workstation Các máy ảo Windows Server 2012, Windows Server 2008, Windows 7, Windows 10

</div>

×