చెట్టు వెలుపల v1.0.0 - దోపిడీలు మరియు Linux కెర్నల్ మాడ్యూల్‌లను అభివృద్ధి చేయడానికి మరియు పరీక్షించడానికి సాధనాలు


చెట్టు వెలుపల v1.0.0 - దోపిడీలు మరియు Linux కెర్నల్ మాడ్యూల్‌లను అభివృద్ధి చేయడానికి మరియు పరీక్షించడానికి సాధనాలు

అవుట్-ఆఫ్-ట్రీ యొక్క మొదటి (v1.0.0) వెర్షన్, ఎక్స్‌ప్లోయిట్‌లు మరియు లైనక్స్ కెర్నల్ మాడ్యూల్‌లను అభివృద్ధి చేయడానికి మరియు పరీక్షించడానికి ఒక టూల్‌కిట్ విడుదల చేయబడింది.

అవుట్-ఆఫ్-ట్రీ కెర్నల్ మాడ్యూల్స్ మరియు ఎక్స్‌ప్లోయిట్‌లను డీబగ్గింగ్ చేయడానికి పర్యావరణాన్ని సృష్టించడానికి కొన్ని సాధారణ చర్యలను ఆటోమేట్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది, దోపిడీ విశ్వసనీయత గణాంకాలను రూపొందించడం మరియు CI (నిరంతర ఇంటిగ్రేషన్)లో సులభంగా కలిసిపోయే సామర్థ్యాన్ని కూడా అందిస్తుంది.

ప్రతి కెర్నల్ మాడ్యూల్ లేదా ఎక్స్‌ప్లోయిట్ .out-of-tree.toml ఫైల్ ద్వారా వివరించబడింది, ఇది అవసరమైన పర్యావరణం మరియు (ఇది దోపిడీ అయితే) నిర్దిష్ట భద్రతా ఉపశమనాల సమక్షంలో ఆపరేషన్‌పై పరిమితుల గురించి సమాచారాన్ని నిర్దేశిస్తుంది.

టూల్‌కిట్ ఒక దుర్బలత్వం (--guess కమాండ్ ఉపయోగించి) ద్వారా ప్రభావితమైన నిర్దిష్ట కెర్నల్ వెర్షన్‌లను గుర్తించడానికి మిమ్మల్ని అనుమతిస్తుంది మరియు నిర్దిష్ట కమిట్ కోసం బైనరీ శోధనలను సులభతరం చేయడానికి కూడా ఉపయోగించవచ్చు.

సంస్కరణ v0.2 నుండి మార్పుల జాబితా క్రింద ఉంది.

చే జోడించబడింది

  • ఉత్పత్తి చేయబడిన (చెట్టు వెలుపల కెర్నల్ ఆటోజెన్) కెర్నల్‌ల సంఖ్యను (.out-of-tree.tomlలోని వివరణ ఆధారంగా) పరిమితం చేసే సామర్థ్యాన్ని అమలుపరిచింది మరియు —max=ని ఉపయోగించి పరుగులను తనిఖీ చేయండి (out-of-tree pew) X పరామితి.

  • కొత్త genall కమాండ్, ఇది నిర్దిష్ట పంపిణీ మరియు సంస్కరణ కోసం అన్ని కెర్నల్‌లను రూపొందించడానికి మిమ్మల్ని అనుమతిస్తుంది.

  • అన్ని లాగ్‌లు ఇప్పుడు sqlite3 డేటాబేస్‌లో నిల్వ చేయబడ్డాయి. సాధారణ తరచుగా అవసరమైన ప్రశ్నల కోసం అమలు చేయబడిన ఆదేశాలు, అలాగే json మరియు మార్క్‌డౌన్‌కు డేటాను ఎగుమతి చేయడం.

  • విజయవంతమైన ఆపరేషన్ యొక్క సంభావ్యత యొక్క అమలు చేయబడిన గణన (మునుపటి ప్రయోగాల ఆధారంగా).

  • బిల్డ్ ఫలితాలను సేవ్ చేయగల సామర్థ్యం (చెట్టు వెలుపల ప్యూ కమాండ్ కోసం కొత్త --డిస్ట్ పరామితి)

  • హోస్ట్ సిస్టమ్‌లో ఇన్‌స్టాల్ చేయబడిన కెర్నల్‌ల కోసం మెటాడేటాను రూపొందించడానికి అలాగే హోస్ట్‌పై నేరుగా బిల్డింగ్ చేయడానికి మద్దతు.

  • మూడవ పక్షం కెర్నల్‌లకు మద్దతు.

  • చెట్టు వెలుపల డీబగ్ పర్యావరణం ఇప్పుడు హోస్ట్ సిస్టమ్‌లో డీబగ్గింగ్ చిహ్నాల కోసం స్వయంచాలకంగా శోధిస్తుంది.

  • డీబగ్గింగ్ సమయంలో KASLR, SMEP, SMAP మరియు KPTI ఫ్లాగ్‌లను ఎనేబుల్/డిజేబుల్ చేయడంతో భద్రతా ఉపశమనాలను నిర్వహించగల సామర్థ్యం జోడించబడింది.

  • అవుట్-ఆఫ్-ట్రీ ప్యూ టెస్టింగ్ కమాండ్‌కు --threads=N పారామీటర్ జోడించబడింది, ఇది ఎక్స్‌ప్లోయిట్‌లు మరియు కెర్నల్ మాడ్యూళ్లను నిర్మించడానికి/రన్ చేయడానికి మరియు పరీక్షించడానికి థ్రెడ్‌ల సంఖ్యను పేర్కొనడానికి ఉపయోగించబడుతుంది.

  • లాగ్‌లో రికార్డ్ చేయబడే ట్యాగ్‌ని సెట్ చేయగల సామర్థ్యం మరియు గణాంకాలను లెక్కించడానికి ఉపయోగించవచ్చు.

  • సాధారణ వ్యక్తీకరణలను ఉపయోగించకుండా కెర్నల్ సంస్కరణను పేర్కొనే సామర్థ్యం జోడించబడింది.

  • కొత్త ప్యాక్ కమాండ్, ఉప డైరెక్టరీలలో ఎక్స్‌ప్లోయిట్‌లు మరియు కెర్నల్ మాడ్యూల్స్ యొక్క మాస్ టెస్టింగ్ కోసం ఉపయోగించబడుతుంది.

  • ఎక్స్‌ప్లోయిట్ మరియు కెర్నల్ మాడ్యూల్ కోసం కాన్ఫిగరేషన్ (.out-of-tree.toml)లో, KASLR, SMEP, SMAP మరియు KPTIలను నిలిపివేయగల సామర్థ్యం జోడించబడింది, అలాగే అవసరమైన కోర్లు మరియు మెమరీని పేర్కొనండి.

  • ఇప్పుడు కెర్నల్ ఆటోజెన్ రన్ అవుతున్నప్పుడు ఇమేజ్‌లు (రూట్‌ఫ్‌లు) స్వయంచాలకంగా లోడ్ అవుతాయి. బూట్స్ట్రాప్ ఇకపై అవసరం లేదు.

  • CentOS కెర్నల్‌లకు మద్దతు.

మార్పులు

  • ఇప్పుడు, పంపిణీకి అవసరమైన సంస్కరణకు ఇమేజ్ (రూట్‌ఫ్‌లు) లేనట్లయితే, చెట్టు వెలుపలికి దగ్గరగా ఉన్న సంస్కరణ యొక్క చిత్రాన్ని ఉపయోగించడానికి ప్రయత్నిస్తుంది. ఉదాహరణకు, ఉబుంటు 18.04 కోసం ఉబుంటు 18.10 చిత్రం.

  • ఇప్పుడు కెర్నల్ మాడ్యూల్స్ కోసం పరీక్షలు అవి తప్పిపోయినట్లయితే వైఫల్యాలుగా పరిగణించబడవు (పరీక్షలు లేవు - లోపాలు లేవు!).

  • ఇప్పుడు అవుట్ ఆఫ్ ట్రీ కోర్‌లలో కనీసం ఒక దశ (బిల్డ్, లాంచ్ లేదా టెస్ట్) విఫలమైతే ప్రతికూల ఎర్రర్ కోడ్‌ని అందిస్తుంది.

  • ప్రాజెక్ట్ గో మాడ్యూల్‌లను ఉపయోగించేందుకు మార్చబడింది, GO111MODULE=onతో నిర్మించడం ఇప్పుడు ప్రాధాన్యతనిస్తుంది.

  • డిఫాల్ట్ పరీక్షలు జోడించబడ్డాయి.

  • ${TARGET}_testలోని అసెంబ్లీని Makefileలో అమలు చేయకపోతే Test.sh ఇప్పుడు డిఫాల్ట్‌గా ఉపయోగించబడుతుంది.

  • కెర్నల్ మాడ్యూల్ లేదా దోపిడీని అమలు చేయడానికి ముందు కెర్నల్ లాగ్ ఇకపై క్లియర్ చేయబడదు. కొన్ని దోపిడీలు KASLRని దాటవేయడానికి dmesgలో కెర్నల్ బేస్ లీక్‌ను ఉపయోగిస్తాయి, కాబట్టి క్లీనప్ దోపిడీ యొక్క అమలు చేయబడిన లాజిక్‌ను విచ్ఛిన్నం చేయవచ్చు.

  • qemu/kvm ఇప్పుడు హోస్ట్ ప్రాసెసర్ యొక్క అన్ని సామర్థ్యాలను ఉపయోగిస్తుంది.

తీసివేయబడింది

  • కెర్నల్ ఫ్యాక్టరీ క్రమంగా నవీకరించబడిన డాకర్‌ఫైల్స్ ఆధారంగా కెర్నల్ ఉత్పత్తిని అమలు చేయడం వలన పూర్తిగా తీసివేయబడింది.

  • బూట్‌స్ట్రాప్ ఇంకేమీ చేయదు. తదుపరి విడుదలలో ఆదేశం తీసివేయబడుతుంది.

సరిదిద్దబడింది

  • MacOSలో, GNU coreutils ఇకపై అమలు చేయవలసిన అవసరం లేదు.

  • కొన్ని సిస్టమ్‌లలో డాకర్ లోపల మౌంటు లోపాల కారణంగా తాత్కాలిక ఫైల్‌లు ~/.out-of-tree/tmp/కి తరలించబడ్డాయి.

మూలం: linux.org.ru

ఒక వ్యాఖ్యను జోడించండి