Đề cương khóa học
Giới thiệu về Phát triển Secure C và C++
- Hiểu các nguyên tắc phát triển phần mềm an toàn
- Các rủi ro bảo mật phổ biến trong ứng dụng C và C++
- Mối quan hệ giữa lỗi lập trình và lỗ hổng bảo mật
- Chuẩn mực mã hóa an toàn và các thực hành tốt nhất
Lỗi Bảo mật Phổ biến trong Lập trình C và C++
- Nhận diện những lỗi lập trình phổ dẫn đến rủi ro bảo mật
- Vấn đề về an toàn bộ nhớ trong C và C++
- Các mẫu lỗ hổng bảo mật và tác động của chúng
- Phân tích các ví dụ mã không an toàn
Nguyên tắc Lập trình An toàn
- Áp dụng kỹ thuật phòng thủ đa lớp (defence-in-depth)
- Viết mã mạnh mẽ và dễ bảo trì
- Giảm thiểu bề mặt tấn công
- Nguyên tắc thiết kế an toàn cho ứng dụng C và C++
Xác thực Đầu vào và Xử lý Dữ liệu
- Hiểu tầm quan trọng của việc xác thực đầu vào
- Ngăn chặn khai thác từ đầu vào độc hại
- Kỹ thuật làm sạch dữ liệu
- Xử lý an toàn dữ liệu người dùng và dữ liệu bên ngoài
Xử lý Lỗi và Quản lý Ngoại lệ
- Các rủi ro liên quan đến xử lý lỗi không đúng cách
- Thiết kế cơ chế xử lý lỗi và ngoại lệ an toàn
- Tránh rò rỉ thông tin qua các lỗi
- Xây dựng ứng dụng có khả năng phục hồi cao
An toàn Bộ nhớ và Bảo vệ Chống Tràn Đệm
- Hiểu các lỗ hổng liên quan đến quản lý bộ nhớ
- Tràn đệm dựa trên ngăn xếp (Stack-based buffer overflows)
- Tràn đệm dựa trên vùng cấp phát động (Heap-based buffer overflows)
- Nhận diện và ngăn chặn hỏng hóc bộ nhớ
- Kỹ thuật xử lý bộ nhớ an toàn
Bảo vệ Ngăn xếp và Tính năng Bảo mật Thời gian Chạy
- Hiểu các lỗ hổng tràn bộ nhớ ngăn xếp
- Các biện pháp bảo vệ dựa trên trình biên dịch
- Stack canaries và cơ chế bảo vệ
- Bố trí không gian địa chỉ ngẫu nhiên (ASLR)
- Tính năng bảo mật của hệ điều hành hiện đại
Xét nghiệm Bảo mật Nâng cao trong C++
- Quản lý vòng đời đối tượng an toàn
- Ngăn chặn lỗ hổng sử dụng sau khi giải phóng
- Quản lý con trỏ và tham chiếu một cách an toàn
- Tránh các vấn đề nhầm lẫn kiểu dữ liệu
- Sử dụng an toàn các tính năng của ngôn ngữ C++
Công cụ và Kỹ thuật Mã hóa An toàn
- Sử dụng công cụ phân tích tĩnh để xác định lỗ hổng
- Kỹ thuật rà soát mã (code review) cho đánh giá bảo mật
- Phương pháp kiểm thử bảo mật tự động
- Tích hợp các phép kiểm tra bảo mật vào quy trình phát triển
Chuẩn mực và Thực hành Tốt nhất trong Mã hóa An toàn
- Xem xét các hướng dẫn mã hóa an toàn của ngành công nghiệp
- Áp dụng kỹ thuật lập trình phòng thủ
- Xây dựng bảo mật vào vòng đời phát triển phần mềm
- Duy trì ứng dụng C/C++ an toàn và đáng tin cậy
Phòng thực hành Mã hóa An toàn
- Phân tích các ví dụ mã C/C++ có lỗ hổng
- Áp dụng các biện pháp sửa lỗi và cải thiện bảo mật
- Kiểm thử mã đối với các lỗ hổng phổ biến
- Tổng kết khóa học và khuyến nghị phát triển phần mềm an toàn
Yêu cầu
Kiến thức cơ bản về C/C++
Đánh giá (6)
Kinh nghiệm chia sẻ, đó là kiến thức và sự quý giá của người thầy.
Carey Fan - Logitech
Khóa học - C/C++ Secure Coding
Dịch thuật bằng máy
cân bằng giữa lý thuyết và thực hành, nhịp độ, kiến thức và kỹ năng giảng dạy của người huấn luyện
Armando Pinto - EID
Khóa học - C/C++ Secure Coding
Dịch thuật bằng máy
Giảng viên đã cung cấp thông tin cập nhật và các tài liệu tham khảo, công cụ có giá trị.
Jose Vicente - EID
Khóa học - C/C++ Secure Coding
Dịch thuật bằng máy
để có được nhiều thông tin hữu ích về chủ đề của khóa học
Paulo Pereira - EID
Khóa học - C/C++ Secure Coding
Dịch thuật bằng máy
Huấn luyện viên có kiến thức vững chắc và kinh nghiệm, slide đẹp mắt, ví dụ hay.
Celso Almeida - EID
Khóa học - C/C++ Secure Coding
Dịch thuật bằng máy
Thông tin chung về khóa học
Paulo Gouveia - EID
Khóa học - C/C++ Secure Coding
Dịch thuật bằng máy