Kubernetes में eBPF से Copy Fail issue को बायपास करना
(github.com/iwanhae)K8s ऑपरेट करते समय इस issue पर urgent response request आया, तो मैंने जल्दी से एक चीज़ बना दी।
Copy Fail नाम की vulnerability सामने आई है, जिसमें सिर्फ AF_ALG इस्तेमाल करने वाला socket खोलने के तरीके से K8s Pod के अंदर से host के root privileges हासिल किए जा सकते हैं।
https://hi.news.hada.io/topic?id=29031
Kernel patch आ चुका है, लेकिन ज़्यादातर production environments में उसे जल्दी apply करना मुश्किल है। हाल के kernels में यह feature kernel built-in के रूप में enabled रहता है, इसलिए kernel module को disable करना भी संभव नहीं था।
इस issue को थोड़ा आसान तरीके से हल करने के लिए, eBPF में संबंधित function call detect होने पर
- (अगर kernel support करे) उस function call को fail कर देना
- (अगर support न करे) उस process को kill कर देना
ऐसा करने वाला प्रोग्राम है।
इसे एक ही K8s DaemonSet deploy करके इस्तेमाल किया जा सकता है, इसलिए जिसे ज़रूरत हो वह ले जाकर इस्तेमाल कर सकता है~
1 टिप्पणियां
धन्यवाद!
FYI) Docker seccomp profile भी @achimnol ने बनाया था। https://github.com/moby/profiles/issues/19