Cảm ơn bạn đã gửi yêu cầu! Một thành viên trong đội ngũ của chúng tôi sẽ liên hệ với bạn ngay lập tức.
Cảm ơn bạn đã gửi đặt chỗ! Một thành viên trong đội ngũ của chúng tôi sẽ liên hệ với bạn ngay lập tức.
Đề cương khóa học
1. An ninh CNTT và lập trình an toàn
- Nguyên tắc Bảo mật Cơ bản: Tính bảo mật, tính toàn vẹn và tính khả dụng (CIA) trong bối cảnh các ứng dụng Java.
- Chu kỳ Phát triển Phần mềm An toàn (SSDLC): Tích hợp bảo mật từ giai đoạn yêu cầu đến triển khai.
- Phong cách Lập trình An toàn: Phòng thủ nhiều lớp, đặc quyền tối thiểu và giá trị mặc định an toàn.
- Phân loại Lỗ hổng Chuẩn: Hiểu về CWE (Enumeration các điểm yếu chung) và OWASP.
2. Bảo mật ứng dụng Web
- Phân tích Chi tiết OWASP Top Ten: Phân tích chi tiết về Inject (Tiêm mã), Xác thực bị hỏng (Broken Authentication) và Phơi bày dữ liệu nhạy cảm.
- Script xuyên trang (XSS): Các kịch bản XSS phản chiếu, lưu trữ và dựa trên DOM trong Java/JSP.
- Gia công yêu cầu xuyên trang (CSRF): Cơ chế tấn công và triển khai token Chống CSRF.
- Quản lý Phiên: Bảo mật cookie, cố định phiên (session fixation) và quản lý thời gian hết hạn.
- Bảo mật API: Bảo vệ các endpoint REST và SOAP khỏi sự lạm dụng.
3. Bảo mật Dịch vụ Web
- Dịch vụ Web so với Ứng dụng Web truyền thống: Sự khác biệt trong bề mặt tấn công.
- Bảo mật Lớp Truyền vận: Cấu hình SSL/TLS cho client và server Java.
- Bảo mật Tin nhắn: Tính toàn vẹn và bảo mật ở cấp độ payload.
- Các Tiêu chuẩn Xác thực: Triển khai OAuth 2.0, OpenID Connect và JWT (JSON Web Tokens).
4. Bảo mật XML
- Lỗ hổng Phân tích XML: Phòng tránh các cuộc tấn công Thực thể Bên ngoài XML (XXE).
- Xác thực Schema XML: Các thực hành tốt nhất để áp đặt schema nghiêm ngặt.
- Ký Số Kỹ thuật số XML: Triển khai chữ ký để đảm bảo tính không phủ nhận.
- Mã hóa XML: Các cách tiếp cận chuẩn để mã hóa nội dung XML.
5. Nền tảng Bảo mật Java
- Kiến trúc Bảo mật Java: Gói
java.securityvà kiến trúc nhà cung cấp. - Nhà cung cấp Bảo mật: Cài đặt và cấu hình các nhà cung cấp như Bouncy Castle.
- Điều khiển Truy cập: Tệp chính sách, Quyền (Permissions) và Quản lý Bảo mật (Security Manager) (Phi hiện đại so với Hiện đại).
- Quản lý KeyStore: Tạo và quản lý keystore và truststore cho các chứng chỉ.
6. Mã hóa Thực hành
- Các Thuật toán Mã hóa: Tổng quan về Mã hóa đối xứng (AES), Asymmetric (RSA, ECC) và băm (SHA-256/512).
- Sinh Số Ngẫu nhiên: Sự nguy hiểm của
java.util.Randomso vớijava.security.SecureRandom. - Quản lý Khóa: Chiến lược sinh, lưu trữ và xoay vòng khóa.
- Kiến trúc Mã hóa Java (JCA): Sử dụng các lớp
Cipher,MessageDigestvàMac. - Mở rộng Mã hóa Java (JCE): Hiểu các tệp chính sách và hạn mức không giới hạn (unlimited strength jurisdiction).
7. Dịch vụ Bảo mật Java
- SSL/TLS trong Java: Sử dụng
SSLSocketFactoryvàHttpsURLConnection. - Quản lý Tin cậy (Trust Managers): Tùy chỉnh xác minh tin cậy cho các môi trường PKI riêng tư.
- Bộ Xác thực (Authenticators): Xác thực bằng lập trình sử dụng
Authenticator.getDefault(). - Phân tích Chứng chỉ: Đọc và phân tích các chứng chỉ X.509 bằng lập trình.
8. Bảo mật Java EE
- Bảo mật Khai báo: Điều khiển truy cập dựa trên vai trò (RBAC) sử dụng
web.xmlvà annotation. - Bảo mật Lập trình: Sử dụng
HttpServletRequest.isUserInRole()vàgetRemoteUser(). - JAAS (Dịch vụ Xác thực và Ủy quyền Java): Cấu hình
login.confvà triển khai cácLoginModule. - Bảo mật Servlet: Các ràng buộc bảo mật do container quản lý và các phương pháp xác thực (FORM, BASIC, DIGEST).
9. Các lỗi lập trình phổ biến và lỗ hổng
- Nghịch chuỗi Không An toàn (Insecure Deserialization): Các rủi ro của
ObjectInputStreamvà việc bỏ qua các kiểm tra bảo mật. - Tiêm Mã Lệnh (Command Injection): Giảm thiểu các lỗ hổng thực thi ở cấp hệ điều hành.
- Vượt qua Đường dẫn (Path Traversal): Làm sạch các đầu vào hệ thống tệp để ngăn chặn việc vượt qua thư mục.
- Lạm dụng Phản chiếu (Reflection Abuse): Các rủi ro liên quan đến
java.lang.reflectvà việc bỏ qua điều khiển truy cập. - Thông tin Bật tin Cứng (Hardcoded Credentials): Xác định và loại bỏ các bí mật khỏi mã nguồn.
- Lỗi Triển khai Mã hóa: Sử dụng chế độ ECB, khóa yếu hoặc IV tĩnh.
10. Nguồn kiến thức
- Công cụ Phân tích Tĩnh: Sử dụng SonarQube, Checkmarx và Fortify cho quét tự động.
- Công cụ Phân tích Động: Tổng quan về Burp Suite và OWASP ZAP.
- Cơ sở dữ liệu CVE: Cách theo dõi và phản ứng với các lỗ hổng mới trong framework Java.
- Tài liệu Khuyến nghị: Danh sách sách, tài liệu và bảng kiểm tra lập trình an toàn.
Yêu cầu
Không có.
21 Giờ
Đánh giá (4)
kiến thức của người huấn luyện rất cao - ông ấy biết rõ về nội dung đang nói và có thể trả lời các câu hỏi của chúng tôi
Adam - Fireup.PRO
Khóa học - Advanced Java Security
Dịch thuật bằng máy
Bài tập thực hành
Olek - Fireup.PRO
Khóa học - Advanced Java Security
Dịch thuật bằng máy
bài tập lập trình
Mirek - Fireup.PRO
Khóa học - Advanced Java Security
Dịch thuật bằng máy
Nó mở rộng rất nhiều và cung cấp nhiều thông tin về bảo mật
Nolbabalo Tshotsho - Vodacom SA
Khóa học - Advanced Java Security
Dịch thuật bằng máy