How Safe is Your Web Service

You are probably using several software applications that talk to each other.  Whether you have a custom web application or prepackaged financial solution, getting applications and services to communicate requires a skill, technique, and knowledge to protect your information.  So, what happens when your web service is not secure? What information could you be leaking and how could you be vulnerable?

Security Concerns

The four concerns of web service security are privacy, message integrity, authentication, and authorization.

  • Privacy refers to ensuring that messages are not visible to anyone except the web service and the web service consumer. Traffic should be encrypted so that machines in the middle cannot read the messages.
  • Message integrity provides a guarantee that the message received has not been tampered with during transmission.
  • Authentication provides assurances that the message originates from where it claims it did. Both a legal term as well as a technical term, non-repudiation refers to the concern of not only authenticating a message, but proving the origin of that message to other parties.
  • Authorization refers to ensuring that only consumers who should have access to a resource of your web service actually have access to that resource. Authorization requires authentication because without authentication an attacker could pretend to be a highly privileged user.

Building a web service or API (application programming interface) requires a methodology for exchanging secure information, and there are two popular solutions: SOAP and REST.

Technology Choices

Simple Object Access Protocol (SOAP) is a popular protocol specification. It is a complicated specification and some developers, though well-meaning, leave security vulnerabilities.  An example of a vulnerability is SOAP injection. What is SOAP injection? It occurs when the server attempts to parse the XML message from a client. If the XML message is malformed, meaning that it does not follow the rules that the server expects it to follow, the server may return an error message that actually shows code and gives insight into the underlying system. Developers may turn off this behavior. However, this is often forgotten before a deployment.

REST (Representational State Transfer) is an architectural style for distributed systems. The World Wide Web is one such distributed system. REST has become a popular architectural choice for designing web services. Such web services are referred to as RESTful web services. An advantage of using REST is that the security vulnerabilities are well known as they are the same vulnerabilities that impact web sites. This means that developers who are familiar with website security will be able to leverage their knowledge to secure RESTful web services.

Final Thoughts

Developers working with either of these technologies must be concerned with the four security points. No methodology or architectural choice ensures that your information is well-protected. It is important that your consultants explain the architecture they plan to use and how their implementation plan accounts for security concerns. If your developer does not have a detailed answer, it is a red flag.


Can You Afford PCI Compliance?

I remember hearing it on the radio; another major retail store was targeted by hackers, a store I had shopped not two weeks prior. That sinking feeling struck, the one that calls me to drop everything in order to familiarize myself with my credit card company’s phone bank to cancel my cards.

New brawny standards protect us against such events and the incentive for a company to comply is tremendous, but tough standards are not great if they are tough to reach. So we ask; is the arsenal guarding us from online theft too hard to grasp for the average online business?

That arsenal is called PCI DSS (Payment Card Industry Data Security Standard) Compliance, and is an overarching security standard defined by the Payment Card Industry Security Standards Council to establish common processes and precautions for handling, processing, storing and transmitting credit card data. It was created with both a carrot and a stick to prevent data security breaches like the ones we have seen with companies like TJX, Bank of America, Citigroup, BJ’s Wholesale Club, Hotels.com, LexisNexis, Polo Ralph Lauren and Wachovia.

These company names are huge, which makes them bigger targets. Still, the bulls-eye is on any of us who take credit cards online, and there is no company that wants to face customers with the bad news that they have been compromised.

The “carrot” alone is the personal satisfaction that your customers’ card data is buttoned up. Further allurement is the safe harbor provided by credit card companies from penalties and fines to merchants who are compliant.

The “stick,” however, comes with the threat of removal of your ability to process credit cards. Punitive fines of up to $500,000 per incident or $90-300 per stolen record will also inspire a business to comply.

Still, the price-tag for compliance is high and they even make calculators to figure it all out. This is one article that helps define the cost this way:

Level 1 Merchant:

  • Initial scope – $250,000
  • Becoming compliant – $550,000
  • Annual cost – $250,000

Level 2 Merchant:

  • Initial scope – $125,000
  • Becoming compliant – $260,000
  • Annual Cost – $100,000

Level 3 and 4 Merchants:

  • Initial scope – $50,000
  • Becoming compliant – $81,000
  • Annual cost – $35,000

Developers  have their work cut out for them as they must undergo the lengthy and costly process of validating their application. And all this will not get any less burdensome as the Security Standards Council releases a new version of the PCI DSS about every 2 years. Recurring audits, and additional/new hardware requirements are all stifling to the average businessman.

But there is good news. By working with an approved Gateway that doesn’t require your server to store, process, or transmit card data you can save the hassle. These allow safe payment processing and reduce the regulatory scope by sending crucial data to their servers instead of yours.

There is also safety in choosing a cart that is widely accepted as compliant, like Shopify and BigCommerce; As opposed to a custom cart solution where compliance must be created from scratch.

Authorize.net, Paypal or Braintree provide off-your-server processing, and of these we have found Braintree to provide the most convenience because the data is not stored on your hosted server – even in memory.  Unlike Paypal (basic or express checkout), it also allows shoppers to remain on your site.

So to answer our initial question; PCI Compliance is too costly for the average businessman to comply, but we are fortunate to live in a free market that sees bureaucracy as an opportunity. Companies like Braintree may have been created with profit in mind, but they are offering a service that gives us carrots and saves us from the stick.

 

 


The Great Security Question Hoax

Much of our identities are locked away in the ether. Kept safe in vapor pockets by banks and wireless providers with paper thin questions like, “What is your mother’s maiden name?”  We’ve all answered them, developing password fatigue as we try to remember our favorite sports team or if we used our grandfather’s given name or “Gampy.”

Some things are not that hard to figure out.  That Sarah Palin and her husband Todd met in high school was ferreted out by one such hacker just before her Yahoo mail became public knowledge.  Same with the name of Paris Hilton’s dog. Yep. Hacked.

A paper in Technology Review states, “researchers from Microsoft and Carnegie Mellon University plan [showed] that the secret questions…are woefully insecure.” Participants in a study were able to guess 30 percent and 57 percent of the correct answers of security questions asked in the top-five list of guesses. Of people that participants would not trust with their password, 45 percent could still answer a question about where they were born, and 40 percent could correctly give their pet’s name.

With all the insecurity, security questions are still used as an authenticator by key institutions as an extra security layer. Yet it’s an old-school (circa 1906) solution to a new-school problem in an age where Gampy’s name is one blog post away from a hacker’s cheeseburger in paradise.

Good security questions are hard to design as they need to be definitive, applicable, memorable and safe. If the question is too hard, it might be easily forgotten by the person who is being protected. In the study mentioned earlier, participants forgot 16 percent of the answers within three to six months.

— If the question is too easy, the world of hurt can be indescribably huge.

As a user, you could increase your own security by giving false random answers, calling the bank for a reset whenever you forget them. Still, it is a work-around for a system employed way too liberally by banks that know better.

Perhaps they do it to make customers feel like they are participating in their own security. And better systems, like sending new passwords by email, require hiring an extra person on the phone bank as customers need tech-support when they forget how to use these systems or when they lose auto-generated emails in their spam filters.

Password questions are still king as there is no viable alternative.  They reduce customer phone calls, giving companies incentive to keep status quo.  Still, finding the balance between customer convenience and protection from identity theft might be difficult. With much at stake, responsible corporations with our identities in their hands might consider titanium locks over vapor.