In 2014, Facebook created a program, known as osquery, to help it monitor its Linux, Mac OS X, and FreeBSD systems, releasing the software as open source to spur adoption.
This week, the company announced the host-based agent had been ported to Windows with the help of in security firm Trail of Bits.
Companies can use the program for a variety of system maintenance and security functions, such as verifying that a system is running the latest versions of software, monitoring and auditing who accesses a particular file and searching for specific active processes that might indicate malware.
Overall, the release of the software across all platforms means that companies could use a single agent to monitor all their systems, Dan Guido, co-founder and CEO of Trail of Bits, told eWEEK.
"Enterprises want to move to a single agent per machine, and the most flexible and customizable agent is going to be the way to go," he said. "Osquery is open source, so it can be audited and customized to specific environments. For example, do you want your agent to check the status of an industrial device attached to the controller machine? You can modify osquery to do that."
In basic terms, osquery is a host-based agent that exposes information about the operating system as a relational database. IT and security operations can send queries to the agent to gather information on the systems and potential anomalous or malicious activity.
Porting osquery to Windows from Mac OS X and Linux was not simple. Mac OS X and Linux are both operating systems designed to be compliant with a set of standards known as Portable Operating System Interface or POSIX. Windows uses a different set of specifications, resulting in different models for file permissions, different labels for users and groups and compiler-level discrepancies that were tough to reconcile.
The effort took about six person-months, Artem Dinaburg, principal security engineer with Trail of Bits, told eWEEK.
Among the most interesting parts were discovering and working around subtle differences in how the two operating system models functioned.
"We really got to dive deep into Windows access control lists functionality to simulate the POSIX octal permissions settings," he said.
The program has the potential to open up the endpoint security market. Companies can use the software to quickly create an endpoint security service and benefit from a well-tested open-source solution, said Guido.
"There are still good reasons to write your own endpoint agent if you are a high-end security company and you want to hook deep into the operating system for functionality like live-response, but for 90 percent of the use cases out there it is likely a better decision to base your technology on osquery," Guido said.
"Too many companies attempt to do this on their own and write one-off agents that end up introducing as many security risks as they seek to alleviate."
The authors of osquery knew that to gain widespread adoption among Facebook's IT workers, the software would have to be able to handle a variety of tasks, not just security problems. Thus, osquery can not only handle monitoring and managing security issues, but also reliability and performance. The software is also meant to be extended, Guido said.
"It's made to be extendable and since it's open source, it can be modified to satisfy needs that the original authors never intended," he said.