ఓపెన్ఎస్ఎస్ఎఫ్ (ఓపెన్ సోర్స్ సెక్యూరిటీ ఫౌండేషన్), లైనక్స్ ఫౌండేషన్చే ఏర్పాటు చేయబడింది మరియు ఓపెన్ సోర్స్ సాఫ్ట్వేర్ యొక్క భద్రతను మెరుగుపరచడం లక్ష్యంగా ఉంది, ఓపెన్ ప్రాజెక్ట్ ప్యాకేజీ విశ్లేషణను ప్రవేశపెట్టింది, ఇది ప్యాకేజీలలో హానికరమైన కోడ్ ఉనికిని విశ్లేషించే వ్యవస్థను అభివృద్ధి చేస్తుంది. ప్రాజెక్ట్ కోడ్ గోలో వ్రాయబడింది మరియు Apache 2.0 లైసెన్స్ క్రింద పంపిణీ చేయబడుతుంది. ప్రతిపాదిత సాధనాలను ఉపయోగించి NPM మరియు PyPI రిపోజిటరీల యొక్క ప్రాథమిక స్కాన్ గతంలో గుర్తించబడని 200 కంటే ఎక్కువ హానికరమైన ప్యాకేజీలను గుర్తించడానికి మాకు అనుమతినిచ్చింది.
గుర్తించబడిన సమస్యాత్మక ప్యాకేజీలలో ఎక్కువ భాగం ప్రాజెక్ట్ల అంతర్గత నాన్-పబ్లిక్ డిపెండెన్సీలతో పేర్ల ఖండనను తారుమారు చేస్తాయి (డిపెండెన్సీ గందరగోళం దాడి) లేదా టైపోస్క్వాటింగ్ పద్ధతులను ఉపయోగిస్తాయి (ప్రసిద్ధ లైబ్రరీల పేర్లతో సమానమైన పేర్లను కేటాయించడం), అలాగే బాహ్య హోస్ట్లను యాక్సెస్ చేసే స్క్రిప్ట్లను కూడా పిలుస్తాయి. సంస్థాపన ప్రక్రియ. ప్యాకేజీ విశ్లేషణ యొక్క డెవలపర్ల ప్రకారం, గుర్తించబడిన సమస్యాత్మక ప్యాకేజీలలో చాలా వరకు బగ్ బౌంటీ ప్రోగ్రామ్లలో పాల్గొనే భద్రతా పరిశోధకులు సృష్టించారు, ఎందుకంటే పంపిన డేటా వినియోగదారు మరియు సిస్టమ్ పేరుకు మాత్రమే పరిమితం చేయబడింది మరియు చర్యలు ఎటువంటి ప్రయత్నాలు లేకుండా స్పష్టంగా నిర్వహించబడతాయి. వారి ప్రవర్తనను దాచండి.
హానికరమైన కార్యాచరణతో కూడిన ప్యాకేజీలు:
- PyPI ప్యాకేజీ discordcmd, ఇది raw.githubusercontent.com, Discord API మరియు ipinfo.ioలకు విలక్షణమైన అభ్యర్థనలను పంపడాన్ని రికార్డ్ చేస్తుంది. పేర్కొన్న ప్యాకేజీ GitHub నుండి బ్యాక్డోర్ కోడ్ను డౌన్లోడ్ చేసి, డిస్కార్డ్ విండోస్ క్లయింట్ డైరెక్టరీలో ఇన్స్టాల్ చేసింది, ఆ తర్వాత ఫైల్ సిస్టమ్లో డిస్కార్డ్ టోకెన్ల కోసం శోధించే ప్రక్రియను ప్రారంభించింది మరియు దాడి చేసేవారిచే నియంత్రించబడే బాహ్య డిస్కార్డ్ సర్వర్కు వాటిని పంపుతుంది.
- colorss NPM ప్యాకేజీ డిస్కార్డ్ ఖాతా నుండి బాహ్య సర్వర్కు టోకెన్లను పంపడానికి కూడా ప్రయత్నించింది.
- NPM ప్యాకేజీ @roku-web-core/ajax - ఇన్స్టాలేషన్ ప్రక్రియలో ఇది సిస్టమ్ గురించి డేటాను పంపింది మరియు బాహ్య కనెక్షన్లను అంగీకరించి ఆదేశాలను ప్రారంభించిన హ్యాండ్లర్ (రివర్స్ షెల్)ను ప్రారంభించింది.
- PyPI ప్యాకేజీ secrevthree - నిర్దిష్ట మాడ్యూల్ను దిగుమతి చేసేటప్పుడు రివర్స్ షెల్ను ప్రారంభించింది.
- NPM ప్యాకేజీ రాండమ్-వోచర్కోడ్-జనరేటర్ - లైబ్రరీని దిగుమతి చేసిన తర్వాత, అది ఒక బాహ్య సర్వర్కు అభ్యర్థనను పంపింది, ఇది ఆదేశాన్ని మరియు దానిని అమలు చేయవలసిన సమయాన్ని తిరిగి ఇచ్చింది.
నెట్వర్క్ కనెక్షన్లను స్థాపించడం, ఫైల్లను యాక్సెస్ చేయడం మరియు ఆదేశాలను అమలు చేయడం కోసం సోర్స్ కోడ్లోని కోడ్ ప్యాకేజీలను విశ్లేషించడానికి ప్యాకేజీ విశ్లేషణ యొక్క పని వస్తుంది. అదనంగా, ప్రారంభంలో హానిచేయని సాఫ్ట్వేర్ విడుదలలలో ఒకదానిలో హానికరమైన ఇన్సర్ట్ల జోడింపును గుర్తించడానికి ప్యాకేజీల స్థితిలో మార్పులు పర్యవేక్షించబడతాయి. రిపోజిటరీలలో కొత్త ప్యాకేజీల రూపాన్ని పర్యవేక్షించడానికి మరియు గతంలో పోస్ట్ చేసిన ప్యాకేజీలకు మార్పులు చేయడానికి, ప్యాకేజీ ఫీడ్స్ టూల్కిట్ ఉపయోగించబడుతుంది, ఇది NPM, PyPI, Go, RubyGems, Packagist, NuGet మరియు Crate రిపోజిటరీలతో పనిని ఏకం చేస్తుంది.
ప్యాకేజీ విశ్లేషణ మూడు ప్రాథమిక భాగాలను కలిగి ఉంటుంది, వీటిని కలిపి మరియు విడిగా ఉపయోగించవచ్చు:
- ప్యాకేజీ ఫీడ్ల నుండి డేటా ఆధారంగా ప్యాకేజీ విశ్లేషణ పనిని ప్రారంభించడం కోసం షెడ్యూలర్.
- స్టాటిక్ అనాలిసిస్ మరియు డైనమిక్ ట్రేసింగ్ టెక్నిక్లను ఉపయోగించి ప్యాకేజీని నేరుగా పరిశీలించి, దాని ప్రవర్తనను అంచనా వేసే ఎనలైజర్. పరీక్ష ఒక వివిక్త వాతావరణంలో నిర్వహిస్తారు.
- పరీక్ష ఫలితాలను BigQuery నిల్వలో ఉంచే లోడర్.
మూలం: opennet.ru