The researchers developed the poker-like model as a way for developers and security experts to team and share their knowledge throughout the software development process -- including before they write the very first line of code. "The dual purpose of a Protection Poker session is (1) to structure a collaborative, interactive, and informal practice for misuse case development and threat modeling; and (2) to spread software security knowledge throughout a team," they wrote in a recently published paper (PDF).
Software development teams, including everyone from upper-level management to in-the-trenches programmers, sit around a table and play a modified game of poker, complete with a special set of cards created by the researchers. The managers, for example, present their ideas for features or applications to the programmers. Then all of the "players" vote on how valuable the data is that the new feature would use, and how simple it would be to attack that feature. They vote using the cards, which let them rank the value of the data and the ease of hacking it on a scale of 1 to 100.
Players flip their cards at the same time, and those with the lowest and highest rankings on the two questions elaborate on why they voted that way. The idea is to generate discussion among the development team and to tap the different types of knowledge each member brings to the table, according to NC State.
Red Hat Software's IT group has been running a pilot test of the Protection Poker method since October. According to NC State, the system has helped the software firm discover vulnerabilities in software before they rolled it out internally. Laurie Williams, associate professor of computer science at NC State and the lead researcher on the Protection Poker project, is negotiating other pilot projects, as well, in both the commercial and government spaces.
Security experts say Protection Poker is an innovative and approachable way to conduct threat modeling. "This reminds me a lot of threat modeling exercises I have conducted as a consultant. The idea is to get a conversation going about risks to the system at the highest level without getting bogged down in how the code is, or is going to be, implemented," says Chris Wysopal, CTO of Veracode, who says he has facilitated this type of conversation and collaboration using a whiteboard to help eliminate the attack surface in an application.
"I like the poker approach because it is interactive and helps the developers think about risk, which is typically hard for them to do," he says. "I would want someone with application security expertise at the table, too. It's the interaction between the developers, who know the software well, with application security people, who know the threat space well, that makes for the best decision-making."
This type of banter and discussion can help eliminate nice-to-have but risky features, for instance, he says.
Wysopal says threat modeling is not widely used today -- mostly just within organizations with mature, secure development life cycle processes in place. So a low-overhead approach like Protection Poker might help make threat modeling more mainstream and more approachable: "It has been difficult for [threat modeling] to catch on because it requires experienced application security people to lead the conversations with the developers. After that, the developers are able to perform threat modeling on their own. The 'poker' process has the potential for facilitating this learning curve."
Have a comment on this story? Please click "Discuss" below. If you'd like to contact Dark Reading's editors directly, send us a message