The technology industry loves throwing around the term machine learning (ML). It’s used in a variety of contexts, from technology providers claiming to have "invented the math" behind machine learning, to others applying it to less than scientific outcomes. This doesn’t help the fact that the science of ML as it applies to cybersecurity is probably one of the most complex and least understood topics today. To bring some clarity to the topic, let’s walk through five key steps you’ll need to take to develop and operationalize a true ML system capable of predicting an outcome based on the data it trains on.
What is machine learning?
According to WhatIs.com, “Machine learning focuses on the development of computer programs that can teach themselves to grow and change when exposed to new data.” Rather than following static program instructions, ML systems use algorithms to build a model from example inputs in order to make data-driven predictions or decisions.
The human brain is, perhaps, the best example of a machine learning system. Your brain rapidly collects information and automatically processes it. Without you being aware, it corroborates independent data points. Then, based on past experiences, your brain contrasts known and unknown information. From there, you reach a conclusion that produces an emotion, decision, or course of action.
For example, imagine that you’re taking a walk downtown in a city you’ve never visited before. You turn onto a new block and take in your surroundings. Immediately, your brain gets to work determining whether or not it is safe to walk down the street. It makes note of the time of day – it’s mid-day and the sun is out. There are other people casually walking around. The sidewalks are clean, and the storefronts are well maintained. Your brain processes all of this information and concludes that you can safely walk down the street. You’re not necessarily aware of this conclusion, but your subconscious has taken in the information to make the decision.
As you turn down another block, your brain takes in new information. It’s still light out, but the surroundings look drab and gray. None of the businesses are open, and the area is deserted. In a split second your brain compares this information to what you already know and perceives potential danger, resulting in the decision to turn back.
The 5-step ML process
Software-based machine learning attempts to emulate the same process that the brain uses. At a high level, the process consists of five steps:
Using machine learning for cybersecurity
ML is actively being used today to solve advanced threat problems like identifying infected machines on the corporate network. For example, a system can watch the traffic going to and from connected devices. While some of the outbound traffic goes to potentially malicious websites, this one piece of evidence doesn’t prove that the user device is infected. This data must be viewed and weighed in context with other evidence.
A laptop on the network is communicating with a website, maybebad.com. The site isn’t necessarily malicious, but it isn’t benign, either. An ML system understands domain reputations and assigns a value of "grey" to maybebad.com’s reputation. As the system studies the communications between the user’s laptop and the website, patterns arise. Within three hours the laptop visits the website on average every 19 minutes with a standard deviation of 38 seconds. Using ML classifiers, we can determine if this behavior is statistically more likely to be initiated by malware or the user. It turns out that it is more likely malware-driven and that the laptop is talking to a potentially malicious website in an automated fashion.
Examples like this demonstrate how ML can empower threat researchers and security professionals in the fight against advanced persistent threats. Going forward, it will be exciting to see what ML systems can do.