One of the topics of interest at 7 Tutorials is security. Not only we write articles and tutorials about how to have a safe computing experience but we also review security products on a regular basis. One of the things we wanted to learn more about, is how security products are made: what are the steps involved? the most important challenges? etc. Luck has it that we got the chance to meet with Alexandru Constantinescu - Social Media Manager at Bitdefender, who immediately said: "Hey! Why don't you pay us a visit and learn more from our team? We accepted the invite and today we can share with you an extensive discussion about how security products are made."
Our Discussion Partners
BitDefender is a security company which should not require much of an introduction. Or at least not to our readers. They are the leading security company in Romania and they develop security products which received lots of praise and appreciation. Their products are constantly showing up in lists with top security solutions.
We went to the BitDefender headquarters in Bucharest and had a lengthy discussion with Cătălin Coșoi - Chief Security Researcher (in the picture above) and Alexandru Bălan - Senior Product Manager. They are both very knowledgeable and friendly people, with whom we enjoyed having this conversation.
How Security Products are Made
We did not waste a lot of time on introductions and we immediately started our conversation.
What are the stages you go through, while developing a new version of a security product, such as an Internet Security Suite?
The approach is not really different from your typical software development project. Let's say we just launched the 2012 version of our products. As soon as the launch ends, we start working on the 2013 version. First, we decide on the set of features and changes that will be introduced in this next version.
In order to identify the features that will have a great impact for the next version, we have discussions with several audiences: reviewers, security experts, technical experts and users who are able to give us insights on what works, what doesn't and what could work well in the next version. On top of that, our own technical team gives input based on their expertise and vision of where they would like take the product. We also do a market analysis to better understand the direction(s) where other companies are heading. Based on all these inputs, we make a call on what gets included in the next version and what doesn't.
Then, we have the development stage, with several test phases included. First, we have an internal preview when we test our pre-beta software. Next, we have several beta stages:
- An internal beta – just like the internal preview, but with a slightly bigger audience testing the product;
- A private beta – where we choose a closed circle of users from outside the company to test the product. We involve up to a few thousand users and we choose people whose feedback we consider helpful. We include knowledgeable users, people with whom we had a longer collaboration, technical experts whose opinion we value, etc.;
- A public beta – it takes place 2 to 3 months prior to the actual launch. At this time, anyone interested can pick up the product, test it and provide feedback.
During the beta stages we fine-tune the product on a continuous basis and, just before launch, we have a small time-window to make the final touches. Then the launch takes place, where marketing, PR, sales and other teams are involved in making the required buzz, while the development team handles any issues that might come up.
Indeed, it doesn't sound different from other software development projects. However, are there any challenges specific to this niche of developing security software?
That would have to be the need for agility in the truest sense of the word. It is key to our niche, more than in any other line of software development. In order to protect our client's computers, networks and devices, we must be very fast in responding to new threats. Generally, you don't have many new types of threats appearing in a day. Most malware is simply an evolution of older malware and we find it generally easy to deal with this. However, when something truly new comes up, we must act very fast. In only a few hours you have to deliver at least an update to your definitions or heuristics that will keep your clients safe.
It is even harder when, in order to answer to a new threat, it is not enough to update our definitions and we must develop a new feature in our product. This impacts not only the products currently used by our customers but also the new products we are developing.
Let's take for example Facebook. As it grew in popularity, it became a frequent tool for distributing spam and malware. As you would expect, we always had an eye on this social network and monitored the malware links being spread through it and included them in our cloud database. However, we felt the need to develop a new tool that deals with malware on Facebook in a better way. This is how we created the concept for BitDefender SafeGo (a product reviewed also on 7 Tutorials). In the autumn of 2010 we launched the first version of this product and later, it became an integral part of our security products, such as BitDefender Internet Security Suite 2012.
Indeed, a great example. Speaking of BitDefender SafeGo – do you intend to keep it available also as a free product for non-paying customers, as is today?
Yes, this product will be available both in our commercial security products and as a free Facebook and Twitter app. That's because security problems on Facebook will continue to exist and spread. This product helps us identify malware faster and protect both our paying and non-paying customers. Also, we think that making this tool available for free helps raise awareness about BitDefender to customers who might not have heard about us. If they like BitDefender SafeGo, we have a higher chance of them considering other security products we develop.
Any other examples of when great agility is needed?
Another thing we do our best to do, is try to spot opportunities for meeting other types of security needs people have, not only your standard virus detection and protection. For example, if you remember the controversy about Carrier IQ – a piece of software installed by many mobile vendors, that was logging information such as location without notifying users or allowing them to opt-out. Even though this was not a piece of malware and was preinstalled on your phone by your mobile carrier, many people wanted to know if they had it installed on their phones or not. When we learned about it, it was a Saturday. A member of our team went to the office, spent about 3 to 4 hours and developed a free product from scratch, for Android users. It is called Bitdefender Carrier IQ Finder and it allowed Android users to quickly learn if they are being tracked or not.
Let's talk a bit about cloud computing. We see it used more and more in security products. Some vendors even offer only cloud-based security in their products. What do you think about this approach?
Cloud computing definitely has an important role in the space of security solutions. However, we believe that a hybrid approach which uses both definition databases and the cloud, delivers the best results. When only the cloud is used, you are dependent on the Internet connection. If that's gone, the system remains unprotected. Having a mix of malware definitions and the cloud, delivers better results in most computing scenarios.
Do you plan to use cloud computing even more in the future? Maybe even take the same cloud-only approach?
Not really. We believe in using those technologies that best fit the purpose. For example, if we want to protect the web browser of a user, then we use only the cloud. Malicious websites are the same, indifferent of the operating systems and browsers people use to access them. Also, if there is no Internet access, the user cannot browse the web. Therefore, there is no problem if the cloud protection is also unavailable.
For the antivirus we believe it is best to use both classic definitions and the cloud. The definitions help provide protection when the cloud is not available due to an Internet connection drop-out. Also, they make the behavioral analysis of files and applications run faster than when trying to use the cloud for the same purpose. When our software is doing any kind of behavioral and action analysis, the definitions provide more speed than the cloud does.
Tell us a bit more about the technologies BitDefender uses to protect a system.
In general, in BitDefender products there are three main technologies that are used to secure systems:
- Behave – this monitors and learns the general behavior of your applications;
- Active Virus Control – monitors the actions taken by an application and blocks those which are suspicious or mal-intentioned.
- Cloud – gathers information from lots of sources about malware and updates itself continuously. The data from the cloud is used by almost all protection modules included in our products.
What are your sources for finding and learning about new forms of malware?
We have many sources for learning about new viruses and malware in general:
- Honeypots;
- BitDefender SafeGo, with its support for both Facebook & Twitter;
- The data sent from our clients' computers about infections and suspicious activities;
- Our collaboration with other security providers;
- Public malware databases.
Honeypots. That sounds interesting. Tell us a bit more about them. What exactly are they?
Honeypots are systems we distributed across our network, that act as victims. Their role is to look like vulnerable targets, which have valuable data on them. We monitor these honeypots continuously and collect all kinds of malware and information about black hat activities.
Another thing we do, is broadcast fake e-mail addresses that are automatically collected by spammers from the Internet. Then, they use these addresses to distribute spam, malware or phishing e-mails. We collect all the messages we receive on these addresses, analyze them and extract the required data to update our products and keep our users secure and spam free.
Let's assume you just identified a new piece of malware. What do you do with it? How do you find out what it does and how to best disinfect a system?
At least initially we are not that interested in learning what that piece of malware does. We are interested to learn if its behavior is suspicious or not, if it is a virus or not. This allows our products to act and do things such as cut access to the network or place into quarantine that piece of malware.
All the new pieces of malware that are identified get sent automatically to our research lab in Iaşi. The team there takes care of deconstructing the viruses, understanding what they do and updating our definitions database with the appropriate information.
Speaking of the research team, tell us a bit more about them and their work on "hacking" viruses.
Well, they are very specialized team that works in a very closed environment, from all perspectives. For example, we don't want viruses they work on, to get out in the wild or spread into our own network. All of them are security experts skilled in things that vary from encryption to being fluent with multiple programming languages (including Assembly language), knowledge of internet protocols, hacking techniques, etc.
They are in charge of decrypting the code of a virus and updating our definitions databases with the appropriate information. However, before they get to work on creating a definition update on their own, they must go through a lengthy process of training and specialization that takes 9 months. They are not allowed to work with our definition databases on their own until they have gone through all the required training and have proven that they know what they have to do.
Also, we would like to clarify an urban legend, if you would like to call it that way: many believe that the best hackers and virus makers get hired by security companies, including BitDefender. At least when it comes to our company, this is not true. During the hiring process, we filter out all the candidates who have created malware or have done any kind of black-hat hacking.
We prefer to be joined by team members whom we can trust. We want people to join us because they enjoy a great security challenge and do not use their skills and intelligence for selfish purposes. Everyone in our research team can at least create their own virus if not even hack a more complex system. However, they don't do it because they believe it is not the right thing to do and not the correct use of their talents. Also, our company would not tolerate this kind of behavior.
How often do your products look for new definitions on your servers?
Once every 45 to 60 minutes. It is very important for us to have new definitions delivered as soon as possible. Sometimes, if a given situation requires it, we also send push notifications, so that our security products update themselves immediately and don't wait for the scheduled update to take place. We would like to be able to send data as soon as we learn something new. However, that is not feasible from a technical perspective and it would ruin the computing experience of our users. That's why we keep push notifications and updates to a minimum and use them only when it really makes sense.
Do you collaborate with other companies and share knowledge and information about the latest security threats?
Yes, we do. We collaborate with 6 other companies, including our partners to which we licensed our technology, such as F-Secure or G-Data. However, we cannot disclose the names of the other companies.
How much do you invest in the more secondary features, that don't necessarily contribute to enhancing the security of a system? I'm referring to features included mostly in Total Security Suites, such as: Parental Controls, File Backup, File Synchronization, etc.
Obviously, the classic features of a security suite such as antivirus, firewall, antispam, etc are the main focus of our team's work and receive most of our company's development resources. However, we do have dedicated teams for each of the secondary features we offer in our products and they are staffed as needed, depending on the amount of work required to maintain these modules. You can imagine that we don't need as many people working on Parental Controls as on the antivirus protection engine.
BitDefender has a classic line-up of products: BitDefender Antivirus, Internet Security Suite, Total Security Suite and Sphere, which offers a license for up to 3 users that can use the top security suite you provide, on any platform you support, on an unlimited number of devices. Which of these concepts is most popular with your users? Do they prefer the added features of a Total Security suite or the more classic security products?
BitDefender Internet Security Suite is definitely our most popular product. There are people who enjoy the added features of a Total Security Suite but they are in minority. However, we've been pleasantly surprised by the success and positive feedback we received for our new BitDefender Sphere product. It seems many people enjoy having a unified security solution that can protect their PCs, Macs and Android-based Smartphones or Tablets. They very much enjoy the flexibility of purchasing just one more affordable license to protect all the computing devices in their homes.
Last but not least, let's talk a bit about Windows 8 and its new Metro interface. Do you plan to offer security solutions designed for the new touch interface? Will you provide separate security products for Windows 8 tablets?
We are definitely working on providing some exciting products for Windows 8 and the new Metro interface. The challenge with Metro is that applications run with restrictions and limited permissions. They don't have full access to the system as Desktop applications do. Therefore we need to find ways to get around that and provide effective protection.
Unfortunately though, we are not at liberty to discuss more specifics about our plans with security products for Windows 8. We will be able to provide more information closer to Windows 8 being finalized and made available.
Conclusion
As you can see from this discussion, developing a good security solution is no easy task. It involves lots of work, knowledge of different aspects of computing, networking and security. We hope you found this conversation interesting and useful in learning more about the whole process involved.
Before we close this article, we would like to thank BitDefender for sending us this invitation and giving us the opportunity to have a very interesting conversation with some of their best specialists.