제공자:
배울 내용
Practice improving the security and robustness of your programs.
Create threat models and apply basic cryptography.
Evaluate and remediate fragile C++ library code.
Exploit common types of injection problems and fix the root causes.
귀하가 습득할 기술
이 전문 분야 정보
응용 학습 프로젝트
The courses provide ample practice activities including exploiting WebGoat, an OWASP project designed to teach penetration testing.
This Specialization is intended for software developers of any level who are not yet fluent with secure coding and programming techniques.
관련 경험이 어느 정도 필요합니다.
관련 경험이 어느 정도 필요합니다.
특화 과정 이용 방법
강좌 수강
Coursera 특화 과정은 한 가지 기술을 완벽하게 습득하는 데 도움이 되는 일련의 강좌입니다. 시작하려면 특화 과정에 직접 등록하거나 강좌를 둘러보고 원하는 강좌를 선택하세요. 특화 과정에 속하는 강좌에 등록하면 해당 특화 과정 전체에 자동으로 등록됩니다. 단 하나의 강좌만 수료할 수도 있으며, 학습을 일시 중지하거나 언제든 구독을 종료할 수 있습니다. 학습자 대시보드를 방문하여 강좌 등록 상태와 진도를 추적해 보세요.
실습 프로젝트
모든 특화 과정에는 실습 프로젝트가 포함되어 있습니다. 특화 과정을 완료하고 수료증을 받으려면 프로젝트를 성공적으로 마쳐야 합니다. 특화 과정에 별도의 실습 프로젝트 강좌가 포함되어 있는 경우, 다른 모든 강좌를 완료해야 프로젝트 강좌를 시작할 수 있습니다.
수료증 취득
모든 강좌를 마치고 실습 프로젝트를 완료하면 취업할 때나 전문가 네트워크에 진입할 때 제시할 수 있는 수료증을 취득할 수 있습니다.

이 전문 분야에는 4개의 강좌가 있습니다.
Principles of Secure Coding
This course introduces you to the principles of secure programming. It begins by discussing the philosophy and principles of secure programming, and then presenting robust programming and the relationship between it and secure programming. We'll go through a detailed example of writing robust code and we'll see many common programming problems and show their connection to writing robust, secure programs in general. We’ll examine eight design principles that govern secure coding and how to apply them to your own work. We’ll discuss how poor design choices drive implementation in coding. We’ll differentiate between informal, formal, and ad hoc coding methods. Throughout, methods for improving the security and robustness of your programs will be emphasized and you will have an opportunity to practice these concepts through various lab activities. A knowledge of the C programming language is helpful, but not required to participate in the lab exercises.
Identifying Security Vulnerabilities
This course will help you build a foundation of some of the fundamental concepts in secure programming. We will learn about the concepts of threat modeling and cryptography and you'll be able to start to create threat models, and think critically about the threat models created by other people. We'll learn the basics of applying cryptography, such as encryption and secure hashing. We'll learn how attackers can exploit application vulnerabilities through the improper handling user-controlled data. We'll gain a fundamental understanding of injection problems in web applications, including the three most common types of injection problems: SQL injection, cross-site scripting, and command injection.
Identifying Security Vulnerabilities in C/C++Programming
This course builds upon the skills and coding practices learned in both Principles of Secure Coding and Identifying Security Vulnerabilities, courses one and two, in this specialization. This course uses the focusing technique that asks you to think about: “what to watch out for” and “where to look” to evaluate and ultimately remediate fragile C++ library code.
Exploiting and Securing Vulnerabilities in Java Applications
In this course, we will wear many hats. With our Attacker Hats on, we will exploit Injection issues that allow us to steal data, exploit Cross Site Scripting issues to compromise a users browser, break authentication to gain access to data and functionality reserved for the ‘Admins’, and even exploit vulnerable components to run our code on a remote server and access some secrets. We will also wear Defender Hats. We will dive deep in the code to fix the root cause of these issues and discuss various mitigation strategies. We do this by exploiting WebGoat, an OWASP project designed to teach penetration testing. WebGoat is a deliberately vulnerable application with many flaws and we take aim at fixing some of these issues. Finally we fix these issues in WebGoat and build our patched binaries. Together we will discuss online resources to help us along and find meaningful ways to give back to the larger Application Security community.
제공자:

캘리포니아 대학교 데이비스 캠퍼스
UC Davis, one of the nation’s top-ranked research universities, is a global leader in agriculture, veterinary medicine, sustainability, environmental and biological sciences, and technology. With four colleges and six professional schools, UC Davis and its students and alumni are known for their academic excellence, meaningful public service and profound international impact.
자주 묻는 질문
환불 규정은 어떻게 되나요?
하나의 강좌에만 등록할 수 있나요?
재정 지원을 받을 수 있나요?
해당 강좌를 무료로 수강할 수 있나요?
이 강좌는 100% 온라인으로 진행되나요? 직접 참석해야 하는 수업이 있나요?
전문 분야를 완료하면 대학 학점을 받을 수 있나요?
전문 분야를 완료하면 대학 학점을 받을 수 있나요?
전문 분야를 완료하는 데 얼마나 걸리나요?
Do I need to take the courses in a specific order?
궁금한 점이 더 있으신가요? 학습자 도움말 센터를 방문해 보세요.