Overview

1 Making Sense of Application Security

Modern software faces relentless, high-impact attacks that now span every layer of the stack—from hardware to browser JavaScript—making security a shared responsibility across engineering roles. High-profile breaches illustrate the steep financial, operational, and reputational costs, prompting organizations to elevate security leadership and treat severe incidents as potentially existential risks. The chapter frames application security as a practical, business-critical discipline that developers must embrace, not an optional specialization.

This reality reshapes developer work: teams are expected to use security features correctly across all products, conform to corporate standards and audits, design with security in mind, and participate in DevSecOps practices. Libraries and frameworks alone are not enough; effectiveness depends on understanding the standards, protocols, and patterns they implement, which makes configuration and debugging far easier. The chapter also underscores software supply chain risk—widespread dependency reuse introduces vulnerabilities and backdoors—advocating automated scanning in CI/CD, continuous rescans as advisories evolve, rapid patch pipelines, and disciplined dependency management (including avoiding internal, unsupported APIs) to keep upgrades feasible and safe.

Security spans many roles—from mathematicians and cryptographers to standards authors, implementers, framework builders, corporate InfoSec, auditors, and attackers—but developers need only enough of each area to apply the right tools wisely and collaborate effectively. The book concentrates on the developer’s lane: foundational cryptography, widely used protocols and standards, and practical application through familiar libraries, with lessons transferable beyond any single language. By the end, readers should be able to recognize risks, design with identity and authorization in mind, secure inter-service communication, spot and fix common flaws, pass audits confidently, and make informed, security-first design choices.

Headlines showcasing major recent data breaches and security vulnerabilities, emphasizing the widespread impact on millions of users and the persistent threat to digital security.
Layers at the top depend on the layers below them. All the layers are required to produce secure application. The standards, protocols, and patterns used to secure applications are the primary focus of this book, they are the foundation that you need to use security libraries in your application effectively.
While developers often focus on libraries, frameworks, and tools at the mid-level, true security stems from foundational knowledge of standards, protocols, and patterns, as well as adherence to corporate and industry security practices. Bridging the gap between these layers leads to more effective and secure development.
The spectrum of technical roles involved in computer security roles and responsibilities

Summary

  • Security vulnerabilities can exist at every layer of the stack, from hardware (e.g., Meltdown, Specter) to application code.
  • Security is everyone’s responsibility, not just InfoSec teams - developers play a central role.
  • The business impact of breaches is massive (e.g., Marriott, Equifax), often costing millions or even billions.
  • CISOs expect developers to:
    • Use all product security features
    • Follow corporate security standards
    • Design and implement secure applications
    • Embrace DevSecOps practices
  • Security libraries (like Spring Security) are essential but hard to use unless you understand the underlying standards and protocols.
  • Supply chain attacks (e.g., Equifax Apache Struts, Event-Stream Bitcoin theft) highlight the need for vigilance in managing dependencies.
  • Automated vulnerability scanning in CI/CD pipelines is a best practice to detect and fix issues quickly.
  • Stick to published APIs in libraries to ensure maintainability and security over time.
  • Different roles contribute to security: mathematicians, cryptographers, standards engineers, framework engineers, InfoSec teams, auditors, and developers.
  • Developers don’t need deep expertise in all these roles, but they must understand enough to apply standards and use libraries correctly.
  • This book teaches developers the foundations (cryptography, protocols, standards) so they can confidently build secure, reliable applications.

FAQ

Why should developers invest time in learning application security?Because security incidents are frequent and costly, and developers are expected to build apps that resist attacks, pass audits, and protect users. Breaches can cost millions (e.g., Marriott’s $126M charge, Equifax’s $1.4B+ cleanup), making security a core skill, not an optional add‑on.
What does “security is everyone’s responsibility” mean in practice?Vulnerabilities can exist at every layer—from hardware to browser JavaScript—so secure outcomes depend on collaboration across roles: hardware engineers, platform teams, InfoSec, and application developers. Each must apply secure design, configuration, and operations for the system to hold.
How do hardware flaws like Meltdown and Spectre affect application security?They showed attackers could bypass CPU isolation to read unauthorized memory, even across cloud tenants. This undermines assumptions about isolation and reinforces the need for defense in depth and rapid patching across the entire stack.
How has executive attention changed developer responsibilities?With CISOs reporting to CEOs, developers are expected to: use all available product security features, follow corporate standards, design and implement secure architectures, and adopt DevSecOps practices that integrate security into build, test, and deploy pipelines.
Why do developers struggle with security libraries and frameworks?Often due to gaps in understanding the standards, protocols, and patterns those libraries implement. Learning fundamentals like TLS and OpenID Connect makes configuring and debugging tools (e.g., Spring Security) much easier and more reliable.
What is software supply chain security and why does it matter?Modern apps depend on hundreds of third‑party libraries. Known flaws (e.g., Apache Struts CVE-2017-5638) or malicious updates (e.g., Event‑Stream backdoor) can compromise applications at scale. Managing this risk is essential to prevent catastrophic failures.
How can teams manage vulnerable dependencies effectively?Use automated vulnerability scanners to inventory dependencies and compare versions against CVE databases. Run scans on every commit and whenever the advisory database updates, fail builds on critical issues, and use tools (e.g., Dependabot) to propose safe upgrades. With solid tests and CI/CD, patches can reach production within hours.
How do we avoid upgrade dead‑ends with third‑party libraries?Use only documented, public APIs. Avoid internal or unpublished interfaces that may be removed. This preserves a clear upgrade path, reduces long‑term maintenance cost, and lowers security risk from outdated components.
Which security roles exist, and where should developers focus?Roles span mathematicians, cryptographers, standards engineers, implementation and framework engineers, corporate InfoSec, auditors/assessors, and hackers. Developers should focus on applying standards, using libraries correctly, collaborating with InfoSec, and producing audit‑ready designs and code.
What will I learn from this book, and is it Java‑only?You’ll learn practical security for real projects: recognizing risks, cryptography basics, applying standards (TLS, OAuth/OIDC), designing for identity/authz, securing service communications, and spotting/fixing common code issues. Examples use Java, but the skills are broadly applicable across languages.

pro $24.99 per month

  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose one free eBook per month to keep
  • exclusive 50% discount on all purchases
  • renews monthly, pause or cancel renewal anytime

lite $19.99 per month

  • access to all Manning books, including MEAPs!

team

5, 10 or 20 seats+ for your team - learn more


choose your plan

team

monthly
annual
$49.99
$399.99
only $33.33 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • renews monthly, pause or cancel renewal anytime
  • renews annually, pause or cancel renewal anytime
  • Software Security for Developers ebook for free
choose your plan

team

monthly
annual
$49.99
$399.99
only $33.33 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • renews monthly, pause or cancel renewal anytime
  • renews annually, pause or cancel renewal anytime
  • Software Security for Developers ebook for free