PHP ప్రాజెక్ట్ యొక్క git రిపోజిటరీ మరియు యూజర్ బేస్ యొక్క రాజీపై నివేదించండి

ప్రత్యేకంగా రూపొందించిన వినియోగదారు ఏజెంట్ హెడర్‌తో అభ్యర్థనను పంపేటప్పుడు బ్యాక్‌డోర్ యాక్టివేట్ చేయబడిన PHP ప్రాజెక్ట్ యొక్క Git రిపోజిటరీలో రెండు హానికరమైన కమిట్‌లను గుర్తించడానికి సంబంధించిన సంఘటన యొక్క విశ్లేషణ యొక్క మొదటి ఫలితాలు ప్రచురించబడ్డాయి. దాడి చేసేవారి కార్యకలాపాల జాడలను అధ్యయనం చేసే క్రమంలో, git రిపోజిటరీ ఉన్న git.php.net సర్వర్ కూడా హ్యాక్ చేయబడలేదని, అయితే ప్రాజెక్ట్ డెవలపర్‌ల ఖాతాలతో కూడిన డేటాబేస్ రాజీపడిందని నిర్ధారించబడింది. .

దాడి చేసేవారు master.php.net సర్వర్‌లోని DBMSలో నిల్వ చేయబడిన వినియోగదారు డేటాబేస్‌ను డౌన్‌లోడ్ చేయగలరు. master.php.net యొక్క కంటెంట్‌లు ఇప్పటికే మొదటి నుండి ఇన్‌స్టాల్ చేయబడిన కొత్త main.php.net సర్వర్‌కి తరలించబడ్డాయి. php.net ఇన్‌ఫ్రాస్ట్రక్చర్‌ని యాక్సెస్ చేయడానికి ఉపయోగించే అన్ని డెవలపర్ పాస్‌వర్డ్‌లు రీసెట్ చేయబడ్డాయి మరియు వాటిని మార్చే ప్రక్రియ ప్రత్యేక పాస్‌వర్డ్ రికవరీ ఫారమ్ ద్వారా ప్రారంభించబడింది. git.php.net మరియు svn.php.net రిపోజిటరీలు చదవడానికి మాత్రమే ఉంటాయి (అభివృద్ధి GitHubకి తరలించబడింది).

PHP వ్యవస్థాపకుడు రాస్మస్ లెర్డార్ఫ్ ఖాతా ద్వారా చేసిన మొదటి హానికరమైన కమిట్‌ను కనుగొన్న తర్వాత, అతని ఖాతా హ్యాక్ చేయబడిందని భావించబడింది మరియు కీలకమైన PHP డెవలపర్‌లలో ఒకరైన నికితా పోపోవ్, మార్పులను వెనక్కి తీసుకుని, కమిట్ హక్కులను నిరోధించారు. సమస్యాత్మక ఖాతా. కొంత సమయం తర్వాత, బ్లాక్ చేయడంలో అర్థం లేదని గ్రహించారు, ఎందుకంటే డిజిటల్ సంతకాన్ని ఉపయోగించి కమిట్‌లను ధృవీకరించకుండా, php-src రిపోజిటరీకి ప్రాప్యత ఉన్న ఎవరైనా కల్పిత రచయిత పేరును భర్తీ చేయడం ద్వారా మార్పు చేయవచ్చు.

తరువాత, దాడి చేసినవారు నికితా తరపున హానికరమైన కమిట్‌ను పంపారు. రిపోజిటరీలకు ప్రాప్యతను నిర్వహించడానికి ఉపయోగించే గిటోలైట్ సేవ యొక్క లాగ్‌లను విశ్లేషించడం ద్వారా, వాస్తవానికి మార్పులు చేసిన పాల్గొనేవారిని గుర్తించే ప్రయత్నం జరిగింది. అన్ని కమిట్‌లకు అకౌంటింగ్‌ను చేర్చినప్పటికీ, రెండు హానికరమైన మార్పుల కోసం లాగ్‌లో నమోదులు లేవు. గిటోలైట్ ద్వారా కనెక్షన్‌ను దాటవేస్తూ, కమిట్‌లు నేరుగా జోడించబడినందున, మౌలిక సదుపాయాలలో రాజీ ఉందని స్పష్టమైంది.

git.php.net సర్వర్ వెంటనే నిలిపివేయబడింది మరియు ప్రాథమిక రిపోజిటరీ GitHubకి బదిలీ చేయబడింది. ఆతురుతలో, రిపోజిటరీని యాక్సెస్ చేయడానికి, గిటోలైట్‌ని ఉపయోగించి SSHకి అదనంగా, HTTPS ద్వారా కమిట్‌లను పంపడానికి మిమ్మల్ని అనుమతించే మరొక ఇన్‌పుట్ ఉందని మర్చిపోయారు. ఈ సందర్భంలో, Gitతో పరస్పర చర్య చేయడానికి git-http-backend ఉపయోగించబడింది మరియు Apache2 HTTP సర్వర్‌ని ఉపయోగించి ప్రమాణీకరణ నిర్వహించబడుతుంది, ఇది master.php.net సర్వర్‌లోని DBMSలో హోస్ట్ చేయబడిన డేటాబేస్‌ను యాక్సెస్ చేయడం ద్వారా ఆధారాలను ధృవీకరించింది. లాగిన్ కీలతో మాత్రమే కాకుండా, సాధారణ పాస్‌వర్డ్‌తో కూడా అనుమతించబడింది. http సర్వర్ లాగ్‌ల విశ్లేషణ HTTPS ద్వారా హానికరమైన మార్పులు జోడించబడిందని నిర్ధారించింది.

లాగ్‌లను అధ్యయనం చేసినప్పుడు, దాడి చేసేవారు మొదటిసారి కనెక్ట్ కాలేదని వెల్లడైంది, అయితే మొదట ఖాతా పేరును కనుగొనడానికి ప్రయత్నించారు, కానీ దానిని గుర్తించిన తర్వాత, వారు మొదటి ప్రయత్నంలోనే లాగిన్ అయ్యారు, అనగా. వారికి రాస్మస్ మరియు నికితా పాస్‌వర్డ్‌లు ముందుగానే తెలుసు, కానీ వారి లాగిన్‌లు తెలియవు. దాడి చేసేవారు DBMSకి యాక్సెస్‌ను పొందగలిగితే, అక్కడ పేర్కొన్న సరైన లాగిన్‌ను వారు వెంటనే ఎందుకు ఉపయోగించలేదో అస్పష్టంగా ఉంది. ఈ వైరుధ్యం ఇంకా నమ్మదగిన వివరణను పొందలేదు. master.php.net యొక్క హ్యాక్ చాలా సంభావ్య దృష్టాంతంగా పరిగణించబడుతుంది, ఎందుకంటే ఈ సర్వర్ చాలా పాత కోడ్ మరియు కాలం చెల్లిన OSను ఉపయోగించింది, ఇది చాలా కాలంగా నవీకరించబడలేదు మరియు అన్‌ప్యాచ్ చేయని దుర్బలత్వాలను కలిగి ఉంది.

తీసుకున్న చర్యలలో master.php.net సర్వర్ ఎన్విరాన్‌మెంట్‌ని మళ్లీ ఇన్‌స్టాల్ చేయడం మరియు PHP 8 యొక్క కొత్త వెర్షన్‌కి స్క్రిప్ట్‌లను బదిలీ చేయడం వంటివి ఉన్నాయి. SQL కోడ్ యొక్క ప్రత్యామ్నాయాన్ని క్లిష్టతరం చేసే పారామిటరైజ్డ్ క్వెరీలను ఉపయోగించడానికి DBMSతో పని చేసే కోడ్ సవరించబడింది. డేటాబేస్‌లో పాస్‌వర్డ్ హ్యాష్‌లను నిల్వ చేయడానికి bcrypt అల్గోరిథం ఉపయోగించబడుతుంది (గతంలో, పాస్‌వర్డ్‌లు నమ్మదగని MD5 హాష్‌ని ఉపయోగించి నిల్వ చేయబడ్డాయి). ఇప్పటికే ఉన్న పాస్‌వర్డ్‌లు రీసెట్ చేయబడ్డాయి మరియు పాస్‌వర్డ్ రికవరీ ఫారమ్ ద్వారా కొత్త పాస్‌వర్డ్‌ను సెట్ చేయమని మీరు ప్రాంప్ట్ చేయబడతారు. HTTPS ద్వారా git.php.net మరియు svn.php.net రిపోజిటరీలకు యాక్సెస్ MD5 హ్యాష్‌లతో ముడిపడి ఉన్నందున, git.php.net మరియు svn.php.netలను రీడ్-ఓన్లీ మోడ్‌లో వదిలివేయాలని మరియు అన్నింటినీ తరలించాలని నిర్ణయించారు. ప్రధాన PHP రిపోజిటరీ మాదిరిగానే GitHubలో మిగిలిన వాటిని PECL ఎక్స్‌టెన్షన్ రిపోజిటరీలు.

మూలం: opennet.ru

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