
Keeping up with the Jones’ Security Initiatives
Frequently, those directing software security initiatives ask what others in their space are doing. I believed this was a perfectly reasonable question and answered, dutifully protecting each side’s confidentiality as best as humanly possible. Indeed, this kind of perspective represents one key value Cigital provides to our clients.
Over time my relationship with clients deepened, as did their maturity in software security. Their questions also deepened, getting more specific: “How far down the static analysis tool adoption path are my competitors?” I can’t see any way of answering questions this specific without giving away others’ competitive advantage, potentially exposing them to risk, or violating their trust (not to mention NDAs). Stuck wondering if I would be unable to provide further perspective, I began to question this perspective’s real value:
“Is the Jones family really the goal?” I asked myself. Actually, I’m pretty sure it isn’t. Each organization’s security efforts should grow very differently from one and other. They’ll start at different places, sure. Not only that, but even if you tackle the same problem as your competitor chooses to tackle, the ‘optimal’ approach for each organization differs. Why? Because each IT shop grew up to support their business differently. Metaphorically both you and the Joneses have children—but both sets of children have very different special needs.
Certainly, hallmarks of a good program exist. At this point, I consider organizations behind unless they:
- Conduct source code and architectural reviews of software produce and acquire;
- Leverage a static analysis tool suite in reviews;
- Train developers using hands-on instructor-lead courses;
- Augment training with continuing education;
- Distribute technology-specific security guidance, showing developers proper use of open source toolkits, frameworks, and COTS components;
- Subject applications to penetration testing in production;
- Measure both the vulnerability of software as well as the effectiveness of means by which software is secured.
While not exhaustive, the above list indicates a firm commitment to whitebox analysis. Cigital helps companies deploy the above means, in lock-step with each other, in order to get maximum benefit. Without help though, which measure you focus on next depends your organization. But additionally, how you make each effective will also depend on specifics of your organization. I’ve listed several factors that play into software security initiative decision making:
- Do you build, acquire, or buy most of your deployed software?
- Is your company an IT shop, supporting a business, or a product company?
- How do you characterize the bulk of your developers: Off-shore, out-sourced, contracted, seasoned, new to the field?
- What background do your Security resources possess: Network security, Development, Architecture, Management?
- What languages do you use, primarily, for software development?
- How varied is your development platform and build environment?
- Where do security resources report in the organization?
- Is the organizational culture centralized, one of strong governance? Or, does the organization rely on engineers to direct its efforts?
- What architectural paradigms does your application suite conform to? Are they primarily n-tier, monolithic, client/server, or federated? What messaging, transaction, structural, and behavioral patterns do they implement?
- What assets do the applications protect: functionality, data?
Obviously, when we conduct an organizational assessment we augment the above questions with a wealth of others.
Having explored data the above prompts gather, I suggest organizations build on their strengths rather than attacking weakness head-on. For instance, rather than foisting security analysts on development to do architectural analysis, I suggest teams subscribing to an agile methodology begin by augmenting use cases with misuse/abuse cases. Later, those teams can build towards threat modeling and begin to add elements of architectural analysis into their process of re-factoring. Augmenting a familiar activity always proceeds more smoothly than adding another (perhaps foreign) step. This advice stands in complete opposition to what I commonly give to IT shops with strong central governance: begin conducting architectural risk analysis immediately.
Over time, your security efforts will achieve coverage over prescribed best practices. Playing off your organization’s strengths can keep development more comfortable as it maneuvers to deal with security, often a new objective. If your security group succeeds in rolling out security practices synergistically development will view them as resources, not annoying cops. Ideally development begins to pull security into their efforts—requesting their time proactively because they see the value.
Remember, there’s no one-size-fits-all solution, especially in a discipline as young as software security. What will work best for you depends on the specifics of your organization. So rather than worrying about the Joneses look to understand your own situation better and respond to it in turn.
-jOHN
Technorati Tags: software security

