Phát Triển Ứng Dụng .Net Và Java An Toàn (Application Security)
5 ngày (40 giờ)
Ngày nay, rất nhiều hệ thống và ứng dụng được phát triển bằng các ngôn ngữ phổ biến như Java và .NET. Khóa học này thảo luận về các vấn đề liên quan đến việc phát triển các ứng dụng Java và .NET một cách bảo mật. Khóa học sẽ tập trung nhiều vào phần thực hành và bao hàm những chủ đề liên quan đến phát triển ứng dụng an toàn cho Java và .NET, thảo luận các lỗ hổng hoặc lỗi thường gặp khi lập trình và đề xuất các phương án khắc phục, nâng cao tính an toàn của hệ thống. Đây là khóa học được tổng hợp từ 2 khóa học CASE .NET và CASE .JAVA nổi tiếng của EC-Council.
Sau khi hoàn tất khóa học, học viên sẽ có khả năng:
- Có khả năng suy nghĩ độc lập và hiểu biết về các vấn đề liên quan đến tính an toàn thông tin của hệ thống.
- Học viên có khả năng nhận diện các lỗ hổng thường gặp và đề xuất các phương án giải quyết các lỗ hổng trên Java và .Net, tích hợp vào quá trình phát triển phần mềm an toàn.
- Có khả năng phát triển các ứng dụng an toàn trên Java và .Net.
- Kiến thức về Top 10 của OWASP.
- Học viên là lập trình viên Java và .Net muốn phát triển phần mềm Java và .Net an toàn hoặc các kỹ sư ATTT muốn tìm hiểu về ATTT trên Java và .Net.
- Có kiến thức nền tảng về Hệ Điều Hành, Mạng Máy Tính, Kiến Trúc Máy Tính.
- Có khả năng đọc tài liệu tiếng Anh ở mức cơ bản (để tham khảo tài liệu).
- Có khả năng sử dụng Linux cơ bản (không bắt buộc nhưng khuyến khích trang bị).
Không yêu cầu điều kiện tiên quyết. Khóa học phù hợp với mọi đối tượng có nhu cầu.
Sau khi hoàn tất khóa học, học viên sẽ được cấp chứng nhận hoàn tất khóa học theo quy định của Cecomtech.
- Hiểu về Bảo mật Ứng dụng, Mối đe dọa và Tấn công
Sau khi hoàn thành module này, học viên sẽ có khả năng:
- Hiểu nhu cầu và lợi ích của bảo mật ứng dụng.
- Thể hiện sự hiểu biết về các cuộc tấn công cấp ứng dụng phổ biến.
- Giải thích nguyên nhân của các lỗ hổng cấp ứng dụng.
- Giải thích các thành phần khác nhau của bảo mật ứng dụng toàn diện.
- Giải thích nhu cầu và lợi ích của việc tích hợp bảo mật vào Vòng đời Phát triển Phần mềm (SDLC).
- Phân biệt các hoạt động chức năng và bảo mật trong SDLC.
- Giải thích Vòng đời Phát triển Bảo mật của Microsoft (SDL).
- Thể hiện sự hiểu biết về các tiêu chuẩn, mô hình và khung tham chiếu bảo mật phần mềm khác nhau.
- Thu thập Yêu cầu Bảo mật
Sau khi hoàn thành module này, học viên sẽ có khả năng:
- Hiểu tầm quan trọng của việc thu thập các yêu cầu bảo mật.
- Giải thích Kỹ thuật Yêu cầu Bảo mật (SRE) và các giai đoạn của nó.
- Thể hiện sự hiểu biết về Các trường hợp Lạm dụng (Abuse Cases) và Mô hình hóa Trường hợp Lạm dụng.
- Thể hiện sự hiểu biết về Các trường hợp Bảo mật (Security Cases) và Mô hình hóa Trường hợp Bảo mật.
- Thể hiện sự hiểu biết về Các câu chuyện về Kẻ lạm dụng và Bảo mật.
- Giải thích mô hình Kỹ thuật Yêu cầu Chất lượng Bảo mật (SQUARE).
- Giải thích Mô hình Đánh giá Rủi ro, Tài sản và Lỗ hổng Quan trọng về Hoạt động (OCTAVE).
- Thiết kế và Kiến trúc Ứng dụng An toàn
Sau khi hoàn thành module này, học viên sẽ có khả năng:
- Hiểu tầm quan trọng của thiết kế ứng dụng an toàn.
- Giải thích các nguyên tắc thiết kế an toàn khác nhau.
- Thể hiện sự hiểu biết về mô hình hóa mối đe dọa.
- Giải thích quy trình mô hình hóa mối đe dọa.
- Giải thích mô hình STRIDE và DREAD.
- Thể hiện sự hiểu biết về Thiết kế Kiến trúc Ứng dụng An toàn.
- Các Thực hành Mã hóa An toàn cho Xác thực Đầu vào
4.1 .NET
Sau khi hoàn thành module này, học viên sẽ có khả năng:
- Hiểu tầm quan trọng của xác thực đầu vào mạnh mẽ.
- Thể hiện sự hiểu biết về các kỹ thuật xác thực đầu vào an toàn trong Web Forms, ASP.NET Core và MVC.
- Thể hiện sự hiểu biết về các kỹ thuật mã hóa phòng thủ chống lại các cuộc tấn công SQL Injection.
- Thể hiện sự hiểu biết về các kỹ thuật mã hóa phòng thủ chống lại các cuộc tấn công Thao túng Tham số.
- Thể hiện sự hiểu biết về các kỹ thuật mã hóa phòng thủ chống lại các cuộc tấn công Thay đổi Thư mục (Directory Traversal).
- Thể hiện sự hiểu biết về các kỹ thuật mã hóa phòng thủ chống lại các lỗ hổng Chuyển hướng Mở.
4.2 JAVA
Sau khi hoàn thành module này, học viên sẽ có khả năng:
- Hiểu nhu cầu của xác thực đầu vào.
- Giải thích các kỹ thuật xác thực dữ liệu.
- Giải thích xác thực dữ liệu trong framework Struts.
- Giải thích xác thực dữ liệu trong framework Spring.
- Thể hiện kiến thức về các lỗi xác thực đầu vào phổ biến.
- Thể hiện kiến thức về các thực hành mã hóa an toàn phổ biến để xác thực đầu vào.
- Các Thực hành Mã hóa An toàn cho Xác thực và Ủy quyền
5.1 .NET
Sau khi hoàn thành module này, học viên sẽ có khả năng:
- Hiểu các vấn đề xác thực và ủy quyền.
- Giải thích xác thực và ủy quyền trong Web Forms.
- Giải thích xác thực và ủy quyền trong ASP.NET Core.
- Giải thích xác thực và ủy quyền trong MVC.
- Thể hiện sự hiểu biết về các kỹ thuật xác thực và ủy quyền trong Web Forms.
- Thể hiện sự hiểu biết về các kỹ thuật xác thực và ủy quyền trong ASP.NET Core.
- Thể hiện sự hiểu biết về các kỹ thuật xác thực và ủy quyền trong MVC.
5.2 JAVA
Sau khi hoàn thành module này, học viên sẽ có khả năng:
- Hiểu các khái niệm xác thực.
- Giải thích việc triển khai xác thực trong Java.
- Thể hiện kiến thức về các điểm yếu xác thực và biện pháp phòng ngừa.
- Hiểu các khái niệm ủy quyền.
- Giải thích Mô hình kiểm soát truy cập.
- Giải thích ủy quyền EJB.
- Giải thích Xác thực và Ủy quyền Java (JAAS).
- Thể hiện kiến thức về các lỗi phổ biến trong ủy quyền và biện pháp đối phó.
- Giải thích bảo mật Java EE.
- Thể hiện kiến thức về xác thực và ủy quyền trong Spring Security Framework.
- Thể hiện kiến thức về các thực hành mã hóa phòng thủ chống lại các vấn đề xác thực và ủy quyền bị hỏng.
- Các Thực hành Mã hóa An toàn cho Mật mã học
6.1 .NET
Sau khi hoàn thành module này, học viên sẽ có khả năng:
- Hiểu mật mã học trong .NET.
- Giải thích mã hóa đối xứng.
- Thể hiện sự hiểu biết về các thực hành mã hóa phòng thủ sử dụng mã hóa đối xứng.
- Giải thích mã hóa bất đối xứng.
- Thể hiện sự hiểu biết về các thực hành mã hóa phòng thủ sử dụng mã hóa bất đối xứng.
- Giải thích Hashing.
- Giải thích Chữ ký số.
- Giải thích Chứng chỉ số.
- Thể hiện sự hiểu biết về các thực hành mật mã an toàn cụ thể của ASP.NET Core.
6.2 JAVA
Sau khi hoàn thành module này, học viên sẽ có khả năng:
- Hiểu các khái niệm cơ bản và nhu cầu mật mã học trong Java.
- Giải thích mã hóa và khóa bí mật.
- Thể hiện kiến thức về việc triển khai lớp cipher.
- Thể hiện kiến thức về chữ ký số và việc triển khai của nó.
- Thể hiện kiến thức về Secure Socket Layer (SSL) và việc triển khai của nó.
- Giải thích Quản lý khóa an toàn.
- Thể hiện kiến thức về chứng chỉ số và việc triển khai của nó.
- Thể hiện kiến thức về việc triển khai Hash.
- Giải thích Mật mã Java Card.
- Giải thích Mô-đun Crypto trong Spring Security.
- Thể hiện sự hiểu biết về Những điều nên và không nên trong Mật mã Java.
- Các Thực hành Mã hóa An toàn cho Quản lý Phiên
7.1 .NET
Sau khi hoàn thành module này, học viên sẽ có khả năng:
- Hiểu các khái niệm quản lý phiên.
- Giải thích các kỹ thuật quản lý phiên khác nhau.
- Thể hiện sự hiểu biết về các thực hành mã hóa phòng thủ chống lại các cuộc tấn công chiếm quyền phiên.
- Thể hiện sự hiểu biết về các thực hành mã hóa phòng thủ chống lại các cuộc tấn công phát lại phiên và cố định phiên.
- Thể hiện sự hiểu biết về các kỹ thuật ngăn chặn phiên khỏi cross-site scripting, script phía máy khách và tấn công CSRE.
- Thể hiện sự hiểu biết về các kỹ thuật quản lý phiên an toàn cụ thể của ASP.NET Core.
7.2 JAVA
Sau khi hoàn thành module này, học viên sẽ có khả năng:
- Giải thích các kỹ thuật quản lý phiên Java khác nhau.
- Thể hiện kiến thức về quản lý phiên trong framework Spring.
- Thể hiện kiến thức về các lỗ hổng phiên và kỹ thuật giảm thiểu của chúng.
- Thể hiện kiến thức về các thực hành tốt nhất và hướng dẫn để quản lý phiên an toàn.
- Các Thực hành Mã hóa An toàn cho Xử lý Lỗi
8.1 .NET
Sau khi hoàn thành module này, học viên sẽ có khả năng:
- Hiểu các khái niệm xử lý lỗi và ngoại lệ.
- Giải thích nhu cầu về xử lý ngoại lệ an toàn.
- Thể hiện sự hiểu biết về các thực hành mã hóa phòng thủ chống lại việc tiết lộ thông tin.
- Thể hiện sự hiểu biết về các thực hành mã hóa phòng thủ chống lại việc xử lý lỗi không đúng cách.
- Thể hiện sự hiểu biết về các thực hành xử lý lỗi an toàn trong ASP.NET Core.
- Giải thích các thực hành tốt nhất về kiểm toán và ghi nhật ký an toàn.
8.2 JAVA
Sau khi hoàn thành module này, học viên sẽ có khả năng:
- Giải thích Xử lý ngoại lệ và lỗi trong Java.
- Giải thích các hành vi ngoại lệ sai lầm.
- Thể hiện kiến thức về những điều nên và không nên trong xử lý lỗi.
- Giải thích xử lý lỗi Spring MVC.
- Giải thích Xử lý ngoại lệ trong Struts2.
- Thể hiện kiến thức về các thực hành tốt nhất để xử lý lỗi.
- Giải thích Ghi nhật ký trong Java.
- Thể hiện kiến thức về Log4j để ghi nhật ký.
- Thể hiện kiến thức về các kỹ thuật mã hóa để ghi nhật ký an toàn.
- Thể hiện kiến thức về các thực hành tốt nhất để ghi nhật ký.
- Kiểm thử Bảo mật Ứng dụng Tĩnh và Động (SAST & DAST)
Sau khi hoàn thành module này, học viên sẽ có khả năng:
- Hiểu Kiểm thử Bảo mật Ứng dụng Tĩnh (SAST).
- Thể hiện kiến thức về các kỹ thuật đánh giá mã an toàn thủ công cho các lỗ hổng phổ biến nhất.
- Giải thích Kiểm thử Bảo mật Ứng dụng Động.
- Thể hiện kiến thức về các công cụ quét lỗ hổng ứng dụng tự động để thực hiện DAST.
- Thể hiện kiến thức về các công cụ kiểm thử bảo mật dựa trên proxy để thực hiện DAST.
- Triển khai và Bảo trì An toàn
10.1 .NET
Sau khi hoàn thành module này, học viên sẽ có khả năng:
- Hiểu tầm quan trọng của triển khai an toàn.
- Giải thích các thực hành bảo mật ở cấp độ máy chủ.
- Giải thích các thực hành bảo mật ở cấp độ mạng.
- Giải thích các thực hành bảo mật ở cấp độ ứng dụng.
- Giải thích các thực hành bảo mật ở cấp độ IIS.
- Giải thích các thực hành bảo mật ở cấp độ .NET.
- Giải thích các thực hành bảo mật ở cấp độ máy chủ SQL.
- Thể hiện kiến thức về các hoạt động bảo trì và giám sát bảo mật.
10.2 JAVA
Sau khi hoàn thành module này, học viên sẽ có khả năng:
- Hiểu tầm quan trọng của triển khai an toàn.
- Giải thích các thực hành bảo mật ở cấp độ máy chủ.
- Giải thích các thực hành bảo mật ở cấp độ mạng.
- Giải thích các thực hành bảo mật ở cấp độ ứng dụng.
- Giải thích các thực hành bảo mật ở cấp độ vùng chứa web (Tomcat).
- Giải thích các thực hành bảo mật ở cấp độ cơ sở dữ liệu Oracle.
- Giải thích các thực hành bảo mật ở cấp độ máy chủ SQL.
- Thể hiện kiến thức về các hoạt động bảo trì và giám sát bảo mật.
