Skip to the content.

Home

Welcome to Software Security

Due to increasing malicious activities targeted at computer systems, security has become a significant issue in the development of software. In addition to the usual correctness and reliability, software developers must also pay attention to the security of the software they develop. Secure software development builds security in software by following a set of established and/or recommended rules and practices in software development. Secure software maintenance complements secure software development by ensuring the no security problems are introduced during software maintenance.

A generally accepted view concerning software security is that it is much better to design security into software than to patch it in after software is developed. To design security into software, one must take into consideration every stage of the software development lifecycle. In particular, secure software development involves software requirements security, software design security, software construction security, and software testing security. In addition, security must also be taken into consideration when performing software maintenance as security faults and loopholes can be and often are introduced during maintenance.

Source: Software Engineering Body of Knowledge (SWEBOK)

Possible Roles

How To

Professional Certifications

Online Communities

Blogs

Resources Collections

Learning Resources

Important Note: all learning resources available here are free. If you found any learning resource that requires a fee or the URL is broken/wrong, please inform us. Regarding the MOOCs that are bundled as a specialization track with a fee (e.g. coursera’s specializations and edx’s xseries programs), you can look for each individual course and take it for free (Audit option).

Foundation

MOOCs

Websites

Beginner

MOOCs

Websites

Intermediate

MOOCs

Websites

Advanced

MOOCs

Websites