SpectrumWebCo

Your Cart

Your cart is empty

Looks like you haven't added any software to your cart yet.


Runtime Security for ML Workloads: Integrating Falco with Kled.io
General

Runtime Security for ML Workloads: Integrating Falco with Kled.io

Sarah Wang

Sarah Wang

February 25, 2025 (1mo ago)

<h2>Introduction</h2> <p>As machine learning becomes more prevalent in critical business applications, the need for robust security measures becomes increasingly important. ML pipelines present unique security challenges: they process sensitive data, contain valuable intellectual property in the form of models, and often run on powerful infrastructure that could be targeted for resource theft.</p> <p>In the Kled.io platform, we've integrated Falco, a Cloud Native Computing Foundation (CNCF) project, to provide real-time security monitoring for ML workloads. This article explores how this integration enhances security posture for data scientists and ML engineers using our platform.</p> <h2>The Security Challenge in ML Operations</h2> <p>Machine learning operations face several security concerns:</p> <ul> <li><strong>Data exposure</strong>: Training data often contains sensitive information</li> <li><strong>Model theft</strong>: Trained models represent significant intellectual property</li> <li><strong>Resource hijacking</strong>: GPU resources are valuable targets for cryptomining</li> <li><strong>Supply chain attacks</strong>: Dependencies could introduce vulnerabilities</li> <li><strong>Inference attacks</strong>: Models may be probed to extract private training data</li> </ul> <p>Traditional security tools often fall short for ML workflows as they:</p> <ol> <li>Lack context about ML-specific operations</li> <li>Cannot distinguish between normal ML activities and suspicious behavior</li> <li>Add too much overhead for performance-sensitive training jobs</li> <li>Don't integrate well with ML tooling and environments</li> </ol> <h2>What is Falco?</h2> <p>Falco is an open-source, cloud-native runtime security project that acts as a behavioral monitoring system. Originally created by Sysdig and now a CNCF graduated project, Falco can:</p> <ul> <li>Monitor container, host, and Kubernetes activities</li> <li>Detect anomalous behaviors and security violations</li> <li>Generate alerts based on rule violations</li> <li>Integrate with security response systems</li> </ul> <p>Falco operates by analyzing:</p> <ul> <li>System calls</li> <li>Kubernetes audit logs</li> <li>Cloud provider audit logs</li> </ul> <p>Its rule engine uses a declarative language to express security policies that identify suspicious activities and trigger appropriate responses.</p> <h2>Falco Integration in Kled.io</h2> <p>Kled.io's Falco integration is designed specifically for ML workloads with:</p> <h3>1. ML-Specific Security Rules</h3> <p>We've developed custom rulesets focused on ML operations:</p> <figure data-rehype-pretty-code-figure=""><pre tabindex="0" data-language="yaml" data-theme="min-light min-dark"><code data-language="yaml" data-theme="min-light min-dark" style="display: grid;"><span data-line=""><span style="--shiki-light:#24292EFF;--shiki-dark:#B392F0">- </span><span style="--shiki-light:#D32F2F;--shiki-dark:#F8F8F8">rule</span><span style="--shiki-light:#D32F2F;--shiki-dark:#F97583">:</span><span style="--shiki-light:#22863A;--shiki-dark:#FFAB70"> ML Training Data Access from Unexpected Process</span></span> <span data-line=""><span style="--shiki-light:#D32F2F;--shiki-dark:#F8F8F8"> desc</span><span style="--shiki-light:#D32F2F;--shiki-dark:#F97583">:</span><span style="--shiki-light:#22863A;--shiki-dark:#FFAB70"> Detect when sensitive training data is accessed by unauthorized processes</span></span> <span data-line=""><span style="--shiki-light:#D32F2F;--shiki-dark:#F8F8F8"> condition</span><span style="--shiki-light:#D32F2F;--shiki-dark:#F97583">:</span><span style="--shiki-light:#D32F2F;--shiki-dark:#F97583"> ></span></span> <span data-line=""><span style="--shiki-light:#2B5581;--shiki-dark:#9DB1C5"> container.id != "" and </span></span> <span data-line=""><span style="--shiki-light:#2B5581;--shiki-dark:#9DB1C5"> open_read and </span></span> <span data-line=""><span style="--shiki-light:#2B5581;--shiki-dark:#9DB1C5"> fd.directory = "/data/training" and </span></span> <span data-line=""><span style="--shiki-light:#2B5581;--shiki-dark:#9DB1C5"> not proc.name in (ml_authorized_processes)</span></span> <span data-line=""><span style="--shiki-light:#D32F2F;--shiki-dark:#F8F8F8"> output</span><span style="--shiki-light:#D32F2F;--shiki-dark:#F97583">:</span><span style="--shiki-light:#D32F2F;--shiki-dark:#F97583"> ></span></span> <span data-line=""><span style="--shiki-light:#2B5581;--shiki-dark:#9DB1C5"> Training data accessed by unexpected process (user=%user.name </span></span> <span data-line=""><span style="--shiki-light:#2B5581;--shiki-dark:#9DB1C5"> process=%proc.name parent=%proc.pname command=%proc.cmdline file=%fd.name)</span></span> <span data-line=""><span style="--shiki-light:#D32F2F;--shiki-dark:#F8F8F8"> priority</span><span style="--shiki-light:#D32F2F;--shiki-dark:#F97583">:</span><span style="--shiki-light:#22863A;--shiki-dark:#FFAB70"> WARNING</span></span> <span data-line=""><span style="--shiki-light:#D32F2F;--shiki-dark:#F8F8F8"> tags</span><span style="--shiki-light:#D32F2F;--shiki-dark:#F97583">:</span><span style="--shiki-light:#24292EFF;--shiki-dark:#B392F0"> [</span><span style="--shiki-light:#2B5581;--shiki-dark:#9DB1C5">ml</span><span style="--shiki-light:#212121;--shiki-dark:#BBBBBB">,</span><span style="--shiki-light:#2B5581;--shiki-dark:#9DB1C5"> data</span><span style="--shiki-light:#24292EFF;--shiki-dark:#B392F0">]</span></span></code></pre></figure> <h3>2. GPU Resource Monitoring</h3> <p>Special attention is paid to GPU resource usage patterns that might indicate cryptomining or other unauthorized activities:</p> <figure data-rehype-pretty-code-figure=""><pre tabindex="0" data-language="yaml" data-theme="min-light min-dark"><code data-language="yaml" data-theme="min-light min-dark" style="display: grid;"><span data-line=""><span style="--shiki-light:#24292EFF;--shiki-dark:#B392F0">- </span><span style="--shiki-light:#D32F2F;--shiki-dark:#F8F8F8">rule</span><span style="--shiki-light:#D32F2F;--shiki-dark:#F97583">:</span><span style="--shiki-light:#22863A;--shiki-dark:#FFAB70"> Unexpected GPU Usage Pattern</span></span> <span data-line=""><span style="--shiki-light:#D32F2F;--shiki-dark:#F8F8F8"> desc</span><span style="--shiki-light:#D32F2F;--shiki-dark:#F97583">:</span><span style="--shiki-light:#22863A;--shiki-dark:#FFAB70"> Detect unusual GPU usage that might indicate cryptomining</span></span> <span data-line=""><span style="--shiki-light:#D32F2F;--shiki-dark:#F8F8F8"> condition</span><span style="--shiki-light:#D32F2F;--shiki-dark:#F97583">:</span><span style="--shiki-light:#D32F2F;--shiki-dark:#F97583"> ></span></span> <span data-line=""><span style="--shiki-light:#2B5581;--shiki-dark:#9DB1C5"> container.id != "" and </span></span> <span data-line=""><span style="--shiki-light:#2B5581;--shiki-dark:#9DB1C5"> spawned_process and </span></span> <span data-line=""><span style="--shiki-light:#2B5581;--shiki-dark:#9DB1C5"> (proc.name = "ccminer" or proc.name = "ethminer" or proc.name = "cgminer") or</span></span> <span data-line=""><span style="--shiki-light:#2B5581;--shiki-dark:#9DB1C5"> (proc.cmdline contains "stratum+tcp")</span></span> <span data-line=""><span style="--shiki-light:#D32F2F;--shiki-dark:#F8F8F8"> output</span><span style="--shiki-light:#D32F2F;--shiki-dark:#F97583">:</span><span style="--shiki-light:#D32F2F;--shiki-dark:#F97583"> ></span></span> <span data-line=""><span style="--shiki-light:#2B5581;--shiki-dark:#9DB1C5"> Potential cryptomining activity detected (user=%user.name </span></span> <span data-line=""><span style="--shiki-light:#2B5581;--shiki-dark:#9DB1C5"> process=%proc.name command=%proc.cmdline container=%container.name)</span></span> <span data-line=""><span style="--shiki-light:#D32F2F;--shiki-dark:#F8F8F8"> priority</span><span style="--shiki-light:#D32F2F;--shiki-dark:#F97583">:</span><span style="--shiki-light:#22863A;--shiki-dark:#FFAB70"> CRITICAL</span></span> <span data-line=""><span style="--shiki-light:#D32F2F;--shiki-dark:#F8F8F8"> tags</span><span style="--shiki-light:#D32F2F;--shiki-dark:#F97583">:</span><span style="--shiki-light:#24292EFF;--shiki-dark:#B392F0"> [</span><span style="--shiki-light:#2B5581;--shiki-dark:#9DB1C5">ml</span><span style="--shiki-light:#212121;--shiki-dark:#BBBBBB">,</span><span style="--shiki-light:#2B5581;--shiki-dark:#9DB1C5"> resource-abuse</span><span style="--shiki-light:#212121;--shiki-dark:#BBBBBB">,</span><span style="--shiki-light:#2B5581;--shiki-dark:#9DB1C5"> cryptomining</span><span style="--shiki-light:#24292EFF;--shiki-dark:#B392F0">]</span></span></code></pre></figure> <h3>3. Model Security Monitoring</h3> <p>Protecting ML models from unauthorized export or copying:</p> <figure data-rehype-pretty-code-figure=""><pre tabindex="0" data-language="yaml" data-theme="min-light min-dark"><code data-language="yaml" data-theme="min-light min-dark" style="display: grid;"><span data-line=""><span style="--shiki-light:#24292EFF;--shiki-dark:#B392F0">- </span><span style="--shiki-light:#D32F2F;--shiki-dark:#F8F8F8">rule</span><span style="--shiki-light:#D32F2F;--shiki-dark:#F97583">:</span><span style="--shiki-light:#22863A;--shiki-dark:#FFAB70"> Unauthorized Model Export</span></span> <span data-line=""><span style="--shiki-light:#D32F2F;--shiki-dark:#F8F8F8"> desc</span><span style="--shiki-light:#D32F2F;--shiki-dark:#F97583">:</span><span style="--shiki-light:#22863A;--shiki-dark:#FFAB70"> Detect unexpected copying or exporting of model files</span></span> <span data-line=""><span style="--shiki-light:#D32F2F;--shiki-dark:#F8F8F8"> condition</span><span style="--shiki-light:#D32F2F;--shiki-dark:#F97583">:</span><span style="--shiki-light:#D32F2F;--shiki-dark:#F97583"> ></span></span> <span data-line=""><span style="--shiki-light:#2B5581;--shiki-dark:#9DB1C5"> container.id != "" and </span></span> <span data-line=""><span style="--shiki-light:#2B5581;--shiki-dark:#9DB1C5"> open_read and </span></span> <span data-line=""><span style="--shiki-light:#2B5581;--shiki-dark:#9DB1C5"> fd.directory = "/models" and </span></span> <span data-line=""><span style="--shiki-light:#2B5581;--shiki-dark:#9DB1C5"> (proc.name = "cp" or proc.name = "scp" or proc.name = "rsync") and</span></span> <span data-line=""><span style="--shiki-light:#2B5581;--shiki-dark:#9DB1C5"> not user.name in (model_admin_users)</span></span> <span data-line=""><span style="--shiki-light:#D32F2F;--shiki-dark:#F8F8F8"> output</span><span style="--shiki-light:#D32F2F;--shiki-dark:#F97583">:</span><span style="--shiki-light:#D32F2F;--shiki-dark:#F97583"> ></span></span> <span data-line=""><span style="--shiki-light:#2B5581;--shiki-dark:#9DB1C5"> Potential unauthorized model export (user=%user.name </span></span> <span data-line=""><span style="--shiki-light:#2B5581;--shiki-dark:#9DB1C5"> process=%proc.name command=%proc.cmdline file=%fd.name)</span></span> <span data-line=""><span style="--shiki-light:#D32F2F;--shiki-dark:#F8F8F8"> priority</span><span style="--shiki-light:#D32F2F;--shiki-dark:#F97583">:</span><span style="--shiki-light:#22863A;--shiki-dark:#FFAB70"> WARNING</span></span> <span data-line=""><span style="--shiki-light:#D32F2F;--shiki-dark:#F8F8F8"> tags</span><span style="--shiki-light:#D32F2F;--shiki-dark:#F97583">:</span><span style="--shiki-light:#24292EFF;--shiki-dark:#B392F0"> [</span><span style="--shiki-light:#2B5581;--shiki-dark:#9DB1C5">ml</span><span style="--shiki-light:#212121;--shiki-dark:#BBBBBB">,</span><span style="--shiki-light:#2B5581;--shiki-dark:#9DB1C5"> model-security</span><span style="--shiki-light:#24292EFF;--shiki-dark:#B392F0">]</span></span></code></pre></figure> <h3>4. Integration with ML Workflow</h3> <p>Kled.io's Falco implementation is fully integrated with ML workflows:</p> <p><img src="https://images.unsplash.com/photo-1599658880436-c61792e70672?q=80&#x26;w=2070&#x26;auto=format&#x26;fit=crop&#x26;ixlib=rb-4.0.3&#x26;ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D" alt="Falco Architecture in ML Pipeline"></p> <h2>Real-world Example: Detecting Data Exfiltration</h2> <p>Let's walk through a real scenario where Falco detected a potential security incident in an ML pipeline:</p> <h3>The Scenario</h3> <p>A data science team was working on a sensitive financial prediction model. During model training, Falco detected an unusual pattern: training data was being read by a Python script that wasn't part of the usual ML workflow.</p> <h3>The Detection</h3> <p>Falco generated the following alert:</p> <figure data-rehype-pretty-code-figure=""><pre tabindex="0" data-language="json" data-theme="min-light min-dark"><code data-language="json" data-theme="min-light min-dark" style="display: grid;"><span data-line=""><span style="--shiki-light:#24292EFF;--shiki-dark:#B392F0">{</span></span> <span data-line=""><span style="--shiki-light:#D32F2F;--shiki-dark:#F8F8F8"> "output"</span><span style="--shiki-light:#212121;--shiki-dark:#BBBBBB">:</span><span style="--shiki-light:#22863A;--shiki-dark:#FFAB70"> "Training data accessed by unexpected process (user=jupyter process=base64 parent=python3 command=base64 /data/training/financial_records.csv file=financial_records.csv)"</span><span style="--shiki-light:#212121;--shiki-dark:#BBBBBB">,</span></span> <span data-line=""><span style="--shiki-light:#D32F2F;--shiki-dark:#F8F8F8"> "priority"</span><span style="--shiki-light:#212121;--shiki-dark:#BBBBBB">:</span><span style="--shiki-light:#22863A;--shiki-dark:#FFAB70"> "WARNING"</span><span style="--shiki-light:#212121;--shiki-dark:#BBBBBB">,</span></span> <span data-line=""><span style="--shiki-light:#D32F2F;--shiki-dark:#F8F8F8"> "rule"</span><span style="--shiki-light:#212121;--shiki-dark:#BBBBBB">:</span><span style="--shiki-light:#22863A;--shiki-dark:#FFAB70"> "ML Training Data Access from Unexpected Process"</span><span style="--shiki-light:#212121;--shiki-dark:#BBBBBB">,</span></span> <span data-line=""><span style="--shiki-light:#D32F2F;--shiki-dark:#F8F8F8"> "time"</span><span style="--shiki-light:#212121;--shiki-dark:#BBBBBB">:</span><span style="--shiki-light:#22863A;--shiki-dark:#FFAB70"> "2025-01-15T14:30:22.730Z"</span><span style="--shiki-light:#212121;--shiki-dark:#BBBBBB">,</span></span> <span data-line=""><span style="--shiki-light:#D32F2F;--shiki-dark:#F8F8F8"> "tags"</span><span style="--shiki-light:#212121;--shiki-dark:#BBBBBB">:</span><span style="--shiki-light:#24292EFF;--shiki-dark:#B392F0"> [</span><span style="--shiki-light:#22863A;--shiki-dark:#FFAB70">"ml"</span><span style="--shiki-light:#212121;--shiki-dark:#BBBBBB">,</span><span style="--shiki-light:#22863A;--shiki-dark:#FFAB70"> "data"</span><span style="--shiki-light:#24292EFF;--shiki-dark:#B392F0">]</span></span> <span data-line=""><span style="--shiki-light:#24292EFF;--shiki-dark:#B392F0">}</span></span></code></pre></figure> <h3>The Response</h3> <p>Kled.io's security automation:</p> <ol> <li>Generated an alert in the security dashboard</li> <li>Temporarily restricted permissions on the training data directory</li> <li>Captured forensic information about the suspicious process</li> <li>Notified the security team</li> </ol> <p>Investigation revealed that a third-party library installed by a data scientist contained malicious code that was attempting to exfiltrate training data. The attempt was blocked, and the library was immediately removed from the allowed packages list.</p> <h2>Best Practices for ML Security with Falco</h2> <p>Based on our experience integrating Falco with ML workflows, we recommend:</p> <h3>1. Tailor Rules to Your ML Process</h3> <p>Start with Kled.io's ML security ruleset and customize based on your specific workflows:</p> <figure data-rehype-pretty-code-figure=""><pre tabindex="0" data-language="yaml" data-theme="min-light min-dark"><code data-language="yaml" data-theme="min-light min-dark" style="display: grid;"><span data-line=""><span style="--shiki-light:#C2C3C5;--shiki-dark:#6B737C"># List of processes authorized to access training data</span></span> <span data-line=""><span style="--shiki-light:#24292EFF;--shiki-dark:#B392F0">- </span><span style="--shiki-light:#D32F2F;--shiki-dark:#F8F8F8">list</span><span style="--shiki-light:#D32F2F;--shiki-dark:#F97583">:</span><span style="--shiki-light:#22863A;--shiki-dark:#FFAB70"> ml_authorized_processes</span></span> <span data-line=""><span style="--shiki-light:#D32F2F;--shiki-dark:#F8F8F8"> items</span><span style="--shiki-light:#D32F2F;--shiki-dark:#F97583">:</span><span style="--shiki-light:#24292EFF;--shiki-dark:#B392F0"> [</span><span style="--shiki-light:#2B5581;--shiki-dark:#9DB1C5">python3</span><span style="--shiki-light:#212121;--shiki-dark:#BBBBBB">,</span><span style="--shiki-light:#2B5581;--shiki-dark:#9DB1C5"> jupyter</span><span style="--shiki-light:#212121;--shiki-dark:#BBBBBB">,</span><span style="--shiki-light:#2B5581;--shiki-dark:#9DB1C5"> pytorch</span><span style="--shiki-light:#212121;--shiki-dark:#BBBBBB">,</span><span style="--shiki-light:#2B5581;--shiki-dark:#9DB1C5"> tensorflow-agent</span><span style="--shiki-light:#212121;--shiki-dark:#BBBBBB">,</span><span style="--shiki-light:#2B5581;--shiki-dark:#9DB1C5"> nvidia-smi</span><span style="--shiki-light:#24292EFF;--shiki-dark:#B392F0">]</span></span></code></pre></figure> <h3>2. Use Progressive Security Policies</h3> <p>Implement security in phases:</p> <ol> <li><strong>Observe mode</strong>: Monitor and alert without enforcement</li> <li><strong>Selective enforcement</strong>: Block only high-risk activities</li> <li><strong>Comprehensive policy</strong>: Apply full security controls</li> </ol> <h3>3. Integrate Security into ML CI/CD</h3> <p>Include security validation in your ML CI/CD pipeline:</p> <ul> <li>Scan dependencies for vulnerabilities</li> <li>Validate model provenance</li> <li>Verify training data integrity</li> <li>Test with Falco rules in development environments</li> </ul> <h3>4. Monitor Model Inference</h3> <p>Extend security monitoring to deployed models:</p> <figure data-rehype-pretty-code-figure=""><pre tabindex="0" data-language="yaml" data-theme="min-light min-dark"><code data-language="yaml" data-theme="min-light min-dark" style="display: grid;"><span data-line=""><span style="--shiki-light:#24292EFF;--shiki-dark:#B392F0">- </span><span style="--shiki-light:#D32F2F;--shiki-dark:#F8F8F8">rule</span><span style="--shiki-light:#D32F2F;--shiki-dark:#F97583">:</span><span style="--shiki-light:#22863A;--shiki-dark:#FFAB70"> High Volume Model API Probing</span></span> <span data-line=""><span style="--shiki-light:#D32F2F;--shiki-dark:#F8F8F8"> desc</span><span style="--shiki-light:#D32F2F;--shiki-dark:#F97583">:</span><span style="--shiki-light:#22863A;--shiki-dark:#FFAB70"> Detect potential model extraction attacks through high-volume API calls</span></span> <span data-line=""><span style="--shiki-light:#D32F2F;--shiki-dark:#F8F8F8"> condition</span><span style="--shiki-light:#D32F2F;--shiki-dark:#F97583">:</span><span style="--shiki-light:#D32F2F;--shiki-dark:#F97583"> ></span></span> <span data-line=""><span style="--shiki-light:#2B5581;--shiki-dark:#9DB1C5"> evt.type = "connect" and </span></span> <span data-line=""><span style="--shiki-light:#2B5581;--shiki-dark:#9DB1C5"> fd.sport = 8000 and # model serving port</span></span> <span data-line=""><span style="--shiki-light:#2B5581;--shiki-dark:#9DB1C5"> evt.count > 1000 and</span></span> <span data-line=""><span style="--shiki-light:#2B5581;--shiki-dark:#9DB1C5"> fd.sip != "::1" and # not localhost</span></span> <span data-line=""><span style="--shiki-light:#2B5581;--shiki-dark:#9DB1C5"> fd.sip != "127.0.0.1"</span></span> <span data-line=""><span style="--shiki-light:#D32F2F;--shiki-dark:#F8F8F8"> output</span><span style="--shiki-light:#D32F2F;--shiki-dark:#F97583">:</span><span style="--shiki-light:#D32F2F;--shiki-dark:#F97583"> ></span></span> <span data-line=""><span style="--shiki-light:#2B5581;--shiki-dark:#9DB1C5"> Potential model extraction attack detected (source IP=%fd.sip</span></span> <span data-line=""><span style="--shiki-light:#2B5581;--shiki-dark:#9DB1C5"> request count=%evt.count endpoint=%fd.name)</span></span> <span data-line=""><span style="--shiki-light:#D32F2F;--shiki-dark:#F8F8F8"> priority</span><span style="--shiki-light:#D32F2F;--shiki-dark:#F97583">:</span><span style="--shiki-light:#22863A;--shiki-dark:#FFAB70"> WARNING</span></span> <span data-line=""><span style="--shiki-light:#D32F2F;--shiki-dark:#F8F8F8"> tags</span><span style="--shiki-light:#D32F2F;--shiki-dark:#F97583">:</span><span style="--shiki-light:#24292EFF;--shiki-dark:#B392F0"> [</span><span style="--shiki-light:#2B5581;--shiki-dark:#9DB1C5">ml</span><span style="--shiki-light:#212121;--shiki-dark:#BBBBBB">,</span><span style="--shiki-light:#2B5581;--shiki-dark:#9DB1C5"> model-security</span><span style="--shiki-light:#212121;--shiki-dark:#BBBBBB">,</span><span style="--shiki-light:#2B5581;--shiki-dark:#9DB1C5"> inference</span><span style="--shiki-light:#24292EFF;--shiki-dark:#B392F0">]</span></span></code></pre></figure> <h2>Ethical Considerations</h2> <p>Implementing security monitoring raises important ethical considerations:</p> <ul> <li><strong>Privacy</strong>: Ensure monitoring respects user privacy and complies with regulations</li> <li><strong>Transparency</strong>: Maintain clear documentation about security monitoring practices</li> <li><strong>Proportionality</strong>: Balance security controls with usability and productivity</li> </ul> <h2>Conclusion</h2> <p>Falco integration in Kled.io provides ML teams with robust security monitoring tailored to their unique workflows. By detecting and responding to security threats in real-time, teams can focus on innovation while maintaining the integrity and confidentiality of their ML assets.</p> <p>Future enhancements to our Falco integration will include:</p> <ul> <li>Enhanced anomaly detection with ML-based rules</li> <li>More granular controls for different ML frameworks</li> <li>Integration with model governance workflows</li> <li>Federated security monitoring across multi-cloud deployments</li> </ul> <p>As ML becomes more central to business operations, security must evolve alongside it. The combination of Falco's powerful runtime security capabilities with Kled.io's ML-specific expertise provides a solid foundation for secure ML operations.</p> <blockquote> <p>"Security is not just about protecting assets; it's about enabling innovation with confidence."</p> </blockquote> <p>For more information on Falco integration in Kled.io, visit our <a href="https://kled.io/docs/security/falco">security documentation</a>.</p>