Security Manager's Journal: Helping out the in-house developers
They're working on a Web-based service and want to build in the authentication capability. But why not just use Active Directory?
Computerworld - This week I found out that my company is developing software in-house. Until now I hadn't known that we were a software development shop, but I guess I shouldn't be surprised. Most companies that I've been with have developed their own software for one purpose or another. I only learned about this software development project when one of the programmers approached me to ask about the best way to store usernames and passwords in the application's database. Yes, that's right -- they built the authentication right inside the application, instead of calling out to an external authentication source.
If you're like me, you're thinking this is crazy. Why build an authentication capability into an application when we already have Active Directory? Seems to me that using Microsoft APIs to perform user authentication would be a lot easier. But I'm not a programmer. I have no idea why people build their own authentication into applications. At my company, we use a lot of off-the-shelf applications, and it seems like only about half of them work with Active Directory. The rest have their own built-in usernames and passwords. So it's not uncommon.
In this case, my company is setting up a new Web-based service for our customers. We use a lot of software-as-a-service (SaaS) applications over the Internet, and I've put each of them through a thorough vendor security review. I want to do the same thing for our new service, now that we are getting into the SaaS business. I'm sure some of our customers will want the same level of security assurance (although I'm consistently amazed when I'm the "first" to review the security of a particular service -- even big-name companies neglect this process). I've written about "The need for real security in a virtual world" (link) and Matthias Thurman wrote about "Stopping stupid human tricks" (link), and this situation is a different but similar take on the subject.
As a first step, I need to answer the question about storing passwords in the application. The developers were planning to save the passwords directly into the application's database, and they wanted to know if those passwords should be stored in encrypted form. Of course the answer is yes -- passwords should always be encrypted, using strong encryption, so that if they somehow leak out, they won't be immediately usable to gain unauthorized access to our application. Next, they wanted to know whether they should create their own encryption in the program, and somehow "hide" the key in the code, or use a public standard like AES. I explained that public standards, especially AES, have gone through a lot of review to ensure that they really work well, and we wouldn't be able to create our own encryption capability with the same level of assurance.
More by J.F. Rice
- Security Manager's Journal: Trapped: Building access controls go kablooey
- Security Manager's Journal: We manage our threats, but what about our vendors?
- Security Manager's Journal: With Heartbleed, suddenly the world is paying attention to security
- Security Manager's Journal: A rush to XP's end of life
- Security Manager's Journal: Security flaw shakes faith in Apple mobile devices
- Security Manager's Journal: Cyberattacks just got personal
- Security Manager's Journal: Target breach unleashes fresh scams
- Security Manager's Journal: Giving thanks for SIEM
- Security Manager's Journal: Hashing out secure applications
- Security Manager's Journal: Why the shutdown is like the cloud
- Top 10 Reasons to Strengthen Information Security with Desktop Virtualization Regain control and reduce risk without sacrificing business productivity and growth
- Preventing Sophisticated Attacks: Anti-Evasion & Advanced Evasion Techniques McAfee Next Generation Firewall applies sophisticated analysis techniques specifically to detect advanced evasion techniques (AET).
- The Security Industry's Dirty Little Secret The debate over advanced evasion techniques (AETs) This report summarizes the findings of a McAfee commissioned research group to determine the level of understanding IT security professionals have about AETs...
- Demand More, Get the Most from the Move to a Next-Generation Firewall Beyond the basics in a next generation firewall, to protect your investment you should demand other valuable features: intrusion prevention, contextual rules, advanced...
- What should I look for in a Next Generation Firewall? SANS Provides Guidance With so many vendors claiming to have a Next Generation Firewall (NGFW), it can be difficult to tell what makes each one different....
- Responding to New SSL Cybersecurity Threat The featured Gartner research examines current strategies to address new SSL cybersecurity threats and vulnerabilities. All Security White Papers | Webcasts
Our new bimonthly Internet of Things newsletter helps you keep pace with the rapidly evolving technologies, trends and developments related to the IoT. Subscribe now and stay up to date!