This book is based on the author's 18 years of teaching and research experience. It covers the fundamental principles in Computer and Internet security, including software security, hardware security, network security, web security, and cryptography. Its goal is to help readers understand how various attacks work, what their fundamental causes are, how to defend against them, and how various defense mechanisms work. The book can be used as a textbook for undergraduate and graduate courses. Over 80 universities and colleges adopted the first edition of this book within the first 15 months since it was published in late 2017.
The author strongly believes in "learning by doing", so the book takes a hands-on approach. For each security principle, the book uses a series of hands-on activities to help explain the principle; readers can touch, play with, and experiment with the principle, instead of just reading about it. For instance, if a security principle involves an attack, the book guides readers to actually launch the attack (in a contained environment). In some cases, if a principle involves a security mechanism, such as firewall or Virtual Private Network (VPN), the book guides readers to implement a mini-version of such a mechanism (e.g., mini-firewall or mini-VPN). Readers can learn better from such hands-on activities.
The hands-on activities are based on the author's widely adopted SEED Labs, which have been used by over 1000 institutes in more than 65 countries.