Sysdig Falco
Sysdig falco
Falco developed the core software supporting the sysdig open source solution. Specifically, it uses the sysdig kernel module to request intervention and the sysdig library for monitoring and decision making. Both are used and working on hundreds of thousands of machines today. This means that even for the first "0.1.0" version the security is very good.
Note that Falco does not attempt to write, report, report or alter. Following the Unix "just do one thing" philosophy, Falco is the ultimate tool for reporting and monitoring designed to integrate with any system you currently use. Falco is a long-term employee. It can be installed in the container as a container to monitor the host itself and all containers running on it. Of course, it can be installed as a regular hosting package. During deployment, the falco system calls the event stream and checks each event against a list of rules in its configuration file.
In production, you probably don't need to run the shell in the container. You can see this using the following rule: The key here is the pain area - it describes the conditions this rule addresses. In this case, the first line means that the search occurred in the box, and the second line defines the action name. If you're familiar with sysdig, you'll soon learn the sysdig syntax as well. Another important feature of is output: it contains strings for the structure and output when there is a match.
(More information on this code can be found in Falco's code; it doesn't include what's in the box).
It's worth mentioning here that this detection happens on every container on the host where you installed falco - just run the falco container and it will monitor every container on the host for you, including the launcher.
You know the pain of SQL injection crashing your server? Or web server vulnerabilities, generic code execution attacks, php vulnerabilities etc? Determining all of these with a web-based benchmark model is difficult and requires you to constantly update your signature library. But at the end of the day, most of these attacks usually cause the server to behave badly, such as starting a process or writing unexpected data. Falco might think that such behavior is just some ground rules.
For example, you can write code to detect when a process starts and define its properties, such as the process name and parent name:
This code uses a simple sysdig-like filter and two statements on proc.name: spawn_process and proc_is_new. What are these expressions? They are called macros. Macros are simple elements that can be reused in code and other macros, providing a way to break up and name different formulas.
The macro details for these two statements are as follows:
The first macro only controls the call to execute the program. Second, it takes the time since the process started (5 seconds by default) to determine if the process is "new".
If process binaries like ls or ps are making external TCP connections, there is a problem - the possible explanation is that the host is infected. While it's best to check the root cluster as it is (perhaps using most of the rules above), it's important to dig deep and find out what's going on. Try after the attack.
In this case, for example, we detect the connection using a rule about the "connect" syscall and look at the process or executable file name to check if it's a process system binary:
(Note that the actual code shipped with Falco compiles all system binaries from different packages, not just the three cases above).
Let's stop and think about how to do this using network methods (firewalls or IDS). Looking at the packet, the TCP connection cannot be associated with the host process. And since the infected binary is perfectly accessible by hosts (eg. download tarballs from S3) we can't even whitelist the target as a solution. Analyzing network performance in the context of the process so that known port connectivity is correct is often difficult using traditional methods, but very easy on top of the sysdig engine.
One really cool and useful thing that comes with Falco is the ability to re-evaluate policies against archival history. If you have configured security monitoring, you have probably gone through repetitive tasks such as:
- Fine-tuning the configuration
- Reproducing a "security event" manually
- Verify that the event capture layer (if not, go to 1)
Using Falco, it can read sysdig capture data regularly thanks to a better way. When using sysdig to capture events, you only need to re-render the security event once, then you can redo the capture every time falco runs when the code is updated. Very easy. Finally you can automate this, try falco the output of the capture file like Every time you update or update the system!
Comments
Post a Comment