కీస్ కుక్, kernel.org మాజీ చీఫ్ సిస్అడ్మిన్ మరియు నాయకుడు Ubuntu భద్రతా బృందం, ఇప్పుడు భద్రతను నిర్ధారించడానికి గూగుల్లో పనిచేస్తోంది Android మరియు ChromeOS, సిస్టమ్ కాల్స్ను నిర్వహించేటప్పుడు కెర్నల్ స్టాక్ ఆఫ్సెట్ రాండమైజేషన్ను అమలు చేసే ప్యాచ్ల సెట్ను ప్రచురించింది. ఈ ప్యాచ్లు స్టాక్ లేఅవుట్ను మార్చడం ద్వారా కెర్నల్ భద్రతను మెరుగుపరుస్తాయి, తద్వారా స్టాక్ దాడులను గణనీయంగా కష్టతరం మరియు తక్కువ విజయవంతం చేస్తాయి. ప్రారంభ అమలు ARM64 మరియు x86/x86_64 ప్రాసెసర్లకు మద్దతు ఇస్తుంది.
ఈ ప్యాచ్కు సంబంధించిన అసలు ఆలోచన PaX RANDKSTACK ప్రాజెక్ట్ నుండి వచ్చింది. 2019లో, ఇంటెల్లో ఇంజనీర్ అయిన ఎలెనా రెషెటోవా, ఈ ఆలోచనను ప్రధాన కెర్నల్లో చేర్చడానికి అనువైన విధంగా అమలు చేయడానికి ప్రయత్నించారు. Linuxఈ చొరవను తరువాత కీత్ కుక్ స్వీకరించారు, ఆయన ప్రధాన కెర్నల్ వెర్షన్కు అనువైన అమలును సమర్పించారు. 5.13 విడుదలలో ప్యాచ్లను చేర్చడానికి ప్రణాళిక చేయబడింది. ఈ మోడ్ డిఫాల్ట్గా నిలిపివేయబడుతుంది. దీనిని ప్రారంభించడానికి "randomize_kstack_offset=on/off" అనే కెర్నల్ కమాండ్-లైన్ పారామీటర్ మరియు CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT సెట్టింగ్ ప్రతిపాదించబడ్డాయి. ఈ మోడ్ను ప్రారంభించడం వల్ల సుమారుగా 1% పనితీరు నష్టం ఉంటుందని అంచనా వేయబడింది.
ప్రతి సిస్టమ్ కాల్ కోసం యాదృచ్ఛిక స్టాక్ ఆఫ్సెట్ను ఎంచుకోవడం ప్రతిపాదిత రక్షణ యొక్క సారాంశం, ఇది మెమరీలో స్టాక్ లేఅవుట్ను గుర్తించడం కష్టతరం చేస్తుంది, చిరునామా డేటాను స్వీకరించిన తర్వాత కూడా, తదుపరి సిస్టమ్ కాల్ స్టాక్ యొక్క మూల చిరునామాను మారుస్తుంది. PaX RANDKSTACK అమలు కాకుండా, కెర్నల్లో చేర్చడానికి ప్రతిపాదించబడిన ప్యాచ్లలో, రాండమైజేషన్ ప్రారంభ దశలో (cpu_current_top_of_stack) నిర్వహించబడదు, కానీ pt_regs నిర్మాణాన్ని సెట్ చేసిన తర్వాత, ఇది యాదృచ్ఛిక ఆఫ్సెట్ను నిర్ణయించడానికి ptrace-ఆధారిత పద్ధతులను ఉపయోగించడం అసాధ్యం చేస్తుంది. దీర్ఘకాలిక సిస్టమ్ కాల్ సమయంలో.
మూలం: opennet.ru
