Comments
yourfanat wrote: I am using another tool for Oracle developers - dbForge Studio for Oracle. This IDE has lots of usefull features, among them: oracle designer, code competion and formatter, query builder, debugger, profiler, erxport/import, reports and many others. The latest version supports Oracle 12C. More information here.
Cloud Expo on Google News
SYS-CON.TV
Cloud Expo & Virtualization 2009 East
PLATINUM SPONSORS:
IBM
Smarter Business Solutions Through Dynamic Infrastructure
IBM
Smarter Insights: How the CIO Becomes a Hero Again
Microsoft
Windows Azure
GOLD SPONSORS:
Appsense
Why VDI?
CA
Maximizing the Business Value of Virtualization in Enterprise and Cloud Computing Environments
ExactTarget
Messaging in the Cloud - Email, SMS and Voice
Freedom OSS
Stairway to the Cloud
Sun
Sun's Incubation Platform: Helping Startups Serve the Enterprise
POWER PANELS:
Cloud Computing & Enterprise IT: Cost & Operational Benefits
How and Why is a Flexible IT Infrastructure the Key To the Future?
Click For 2008 West
Event Webcasts
Even If They Hacked It, So What? Why Threat Modeling Matters By @daedtech | @DevOpsSummit #DevOps
Eliminating waste is by far my favorite part of the agile approach to software

Even If They Hacked It, So What? Why Threat Modeling Matters
by Erik Dietrich

Eliminating waste is by far my favorite part of the agile approach to software.

In a world where the entirety of a piece of software is designed up front, I might ship and learn only after the fact that nobody ever uses the software's WhizBang feature.

That's brutal - the entire development team spent three months on that. But in an iterative world where we ship every week or two, we'd have shipped a small slice of that feature, seen that it wasn't getting used, and pivoted to something that provided more value to the users.

The same concept can also be applied to the security of your software. This doesn't mean you'll implement security and ditch it after two weeks if no one tries to break in, or that you should wait until something bad happens to implement security functionality.

But it does mean you should assess threats from a likelihood and impact perspective and then prioritize them accordingly. And, like delivering features, you should do this as close to the start of the project as possible.

This is where threat modeling comes in.

What is threat modeling?
Threat modeling involves being deliberate about identifying who would want to attack the system you are building and how those people would go about conducting the attack. Significantly, as Margaret Rouse points out, it is also about determining "where the most effort should be applied to keep a system secure."

Threat modeling isn't just a brief brainstorming session followed by items hastily added to a team's backlog. Teams define entire processes around it, such as this one described by Microsoft, with varying levels of formalism. The key is to identify all manner of threats and then to tie them to business significance - and thus, priority. Implementing counter-measures then becomes a first class feature for the team.

Some obvious examples come to mind.
If you run an E-Commerce site, financially motivated thieves will want to game the payment system to get free things.  Perhaps politically motivated people would want to get administrative access to publicly vandalize the site with some kind of message. Or perhaps one user would want to target another, gaining inappropriate access to see what that person buys and sells.

But there are also less obvious examples that are equally important. If the site is storing personal information, which operational or IT administrative employees have access to it? Would it be possible for them to record that information and retain it, even after leaving the company? What would happen if they did?

It's not just your employees, either.
Do you have an agency that you're subcontracting operational work to, who, in turn, might be subcontracting it even further? What sort of access do those folks have, and what could they do with it? If your relationship turned sour, could they try to hold your operations hostage somehow?

It is by answering these questions that you start to understand what could happen and how to prioritize counter-measures. And you also gain a sense for how likely a threat is, how important it is to protect pieces of your infrastructure, and if a threat really even matters.

As strange as it may sound- not all threats are equally important.

Security in a Vacuum
Software developers are conscientious people that take pride in their work and knowledge. In a vacuum, this can lead to situations where they make decisions on the basis of doing "the right thing" as a matter of principle rather than profit. They might say to themselves, "what kind of programmer would I be if I didn't create a login for our site and salt and encrypt the passwords being stored to the database?" This would obviously be followed by implementing such a scheme.

But what if the application consisted only of publicly-available functionality and content, such as a simple web-based calculator? Should the developers have done "the right thing" or should they have just skipped implementing signup/login altogether?

Testers are similarly conscientious people that take pride in their work and knowledge - and who can also slip up in the same way. "What kind of tester would I be if I didn't test a scenario where the user doesn't actually enter a password?" They might test this scenario and submit a defect, noting that users could bypass signup and get straight to the content by leaving the password field blank. But if all of the content is publicly available, who cares?

Left to their own devices, these folks will run with "the right thing" due to their sense of professionalism and previous battle scars. That is why threat modeling is so important - it moves decisions about security from happening in ad-hoc fashion at the individual level to deliberate fashion at the team or project level.

Threat Modeling for Business Value
In the example above of creating a spurious login page, nobody ever stopped to ask, "If they hacked it, so what?" If a hacker were able to spoof an existing user and log in, they would...do what, exactly? Use the calculator? Who cares?

If threat modeling had been performed, and those questions had been asked, creation of a login page would either have been deprioritized or, more likely, jettisoned altogether. It would not have come across a developer's desk as something to implement in the first place, and a developer would be unlikely to take it upon herself to do it as gold plating. After all, the team would already have been through the threat modeling process and thus, all aware that ‘unauthorized' access to the calculator is a non-issue.

Instead, the team might have come away understanding that distributed denial of service attacks (DDos) were a threat to the calculator's core business. They would then be able to plan high availability and remediation of threat as properties of the system from the beginning. In this fashion, the team is working not just on the highest value user features but also on the highest value security features as well.

Assumption of Control
With both user features and security properties of the system, it's important to prioritize the work with the highest ‘bang for the buck' factor. But there's an additional component to the specific value of threat modeling.

The attack vectors for a piece of software or a system are conceptually infinite, as the black hat hackers of the world are constantly dreaming up creative new ways to ruin your day. What's not infinite is the time and resources of the team - those are often highly constrained.

Right out of the gate you face a tall order. The only hope of keeping up is to identify the most damaging, likely threats and design your system in a way that mitigates these.

In a world where attacks on your application are a constant way of life, threat modeling gives you the best fighting chance to sleep easily, knowing that you've got a good strategy for preventing the worst attacks and that you've spent your money wisely.

Read the original blog entry...

About SmartBear Blog
As the leader in software quality tools for the connected world, SmartBear supports more than two million software professionals and over 25,000 organizations in 90 countries that use its products to build and deliver the world’s greatest applications. With today’s applications deploying on mobile, Web, desktop, Internet of Things (IoT) or even embedded computing platforms, the connected nature of these applications through public and private APIs presents a unique set of challenges for developers, testers and operations teams. SmartBear's software quality tools assist with code review, functional and load testing, API readiness as well as performance monitoring of these modern applications.

Latest Cloud Developer Stories
"Storpool does only block-level storage so we do one thing extremely well. The growth in data is what drives the move to software-defined technologies in general and software-defined storage," explained Boyan Ivanov, CEO and co-founder at StorPool, in this SYS-CON.tv interview at...
You know you need the cloud, but you’re hesitant to simply dump everything at Amazon since you know that not all workloads are suitable for cloud. You know that you want the kind of ease of use and scalability that you get with public cloud, but your applications are architected ...
Is advanced scheduling in Kubernetes achievable?Yes, however, how do you properly accommodate every real-life scenario that a Kubernetes user might encounter? How do you leverage advanced scheduling techniques to shape and describe each scenario in easy-to-use rules and configura...
As Marc Andreessen says software is eating the world. Everything is rapidly moving toward being software-defined – from our phones and cars through our washing machines to the datacenter. However, there are larger challenges when implementing software defined on a larger scale - ...
A strange thing is happening along the way to the Internet of Things, namely far too many devices to work with and manage. It has become clear that we'll need much higher efficiency user experiences that can allow us to more easily and scalably work with the thousands of devices ...
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021



SYS-CON Featured Whitepapers
ADS BY GOOGLE