Overview

1 Making Sense of Application Security

Security has become a universal concern as breaches and vulnerabilities regularly impact users and organizations worldwide. This chapter explains that weaknesses can exist at every layer of the computing stack—from hardware to browser code—making protection a shared responsibility across roles. It sets a practical tone for developers: understand real-world stakes, navigate tradeoffs among speed, cost, and safety, and gain working competence with cryptography, authentication, and secure communication to prevent tomorrow’s headlines.

Using a simple SQL injection example, the chapter demonstrates how mishandling untrusted input turns into exploitable behavior, and how defenses like parameterized queries reflect a security-first mindset. It then maps where security lives in a developer’s workflow—design, implementation, dependency management, configuration, deployment, and maintenance—while showing how corporate expectations and audits shape day-to-day engineering choices. A key message is that libraries and tools are necessary but not sufficient: understanding the underlying standards, protocols, and patterns they implement enables correct configuration, faster debugging, effective DevSecOps practices, and safer defaults.

Because modern software depends on complex supply chains, the chapter underscores risks from vulnerable or compromised dependencies and promotes continuous scanning, rapid patching, and disciplined reliance on stable public APIs to keep upgrades practical. It situates developers within a broader security ecosystem—spanning mathematicians, cryptographers, standards authors, library and framework engineers, InfoSec teams, auditors, and hackers—clarifying what developers must know to collaborate and ship securely without specializing in every field. It concludes with a learning path that builds from fundamentals to applied standards so you can design with identity in mind, protect data in transit and at rest, detect and fix common flaws, pass audits confidently, and deliver software users can trust.

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.
  • 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 is learning application security essential for developers?Because high‑profile breaches and vulnerabilities occur across every layer of the stack—from hardware to browser JavaScript—and a single incident can severely damage or end a company. Security is a shared responsibility, and developers are on the front line of preventing defects that attackers exploit.
What does secure development look like in practice?It means anticipating how untrusted input interacts with your system, using safe patterns (for example, parameterized queries to prevent SQL injection), and building with a security‑first mindset. Security spans design, coding, dependency choices, configuration, and ongoing operations.
How did hardware flaws like Meltdown and Spectre change security assumptions?They proved isolation can fail at the hardware level, allowing cross‑tenant data exposure in cloud environments. This reinforces defense‑in‑depth, rapid patching, and vigilance across all layers—not just software.
Where does security show up in a developer’s day‑to‑day work?- Design: auth choices, service communication, trust boundaries - Implementation: input validation, correct crypto use, safe patterns - Dependency management: select/update third‑party libraries - Configuration: TLS, identity providers, secure defaults - Deployment/maintenance: respond to CVEs, patch, rotate secrets
How are executive security expectations reshaping the developer role?Developers are expected to use product security features correctly, meet corporate standards and audits, design and implement secure apps, and adopt DevSecOps practices—collaborating closely with operations and security.
Why focus on standards, protocols, and patterns instead of only libraries?Libraries implement standards (like TLS and OpenID Connect). Understanding the underlying concepts makes libraries easier to configure, debug, and use effectively—for example, setting up SSO with Spring Security when you already grasp OIDC.
What is software supply chain risk, and why does it matter?Modern apps depend on hundreds of third‑party components. Known vulnerabilities left unpatched (e.g., the Equifax/Struts CVE) or malicious updates (e.g., the Event‑Stream backdoor) can lead to catastrophic compromise. Every direct and transitive dependency must be scrutinized.
Which tools and practices help manage vulnerable dependencies?Automated scanners (e.g., Dependabot and commercial tools) should run in CI on every commit, fail builds when vulnerable versions appear, rescan as CVE data updates, and open upgrade PRs. Combined with tests and automated delivery, teams can patch within hours.
Which security roles should developers understand and why?Mathematicians and cryptographers create the foundations; standards and implementation engineers define and build interoperable protocols; framework engineers package common use cases; corporate InfoSec sets policies; auditors assess compliance; hackers find weaknesses. Developers don’t need to be experts in all roles but must understand enough to apply standards, collaborate, and pass audits.
What skills will I gain from this book?- See what security means in real projects - Recognize common risks and attacker paths - Apply crypto basics to protect data - Use standards like TLS and OAuth effectively - Design with identity, authentication, and authorization - Secure service‑to‑service communication - Spot and fix common code mistakes - Make confident, security‑minded design choices (language‑agnostic, with Java examples)

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
$499.99
only $41.67 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
$499.99
only $41.67 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