PHP پروجيڪٽ جي گٽ مخزن ۽ صارف جو بنياد سمجھوتي تي رپورٽ ڪريو

پي ايڇ پي پروجيڪٽ جي گٽ مخزن ۾ ٻن بدسلوڪي ڪمن جي سڃاڻپ سان لاڳاپيل واقعن جي تجزيي جا پھريون نتيجا پٺاڻن سان چالو ٿيل آھن جڏھن خاص طور تي ڊزائين ڪيل يوزر ايجنٽ ھيڊر سان درخواست موڪلڻ وقت شايع ڪيو ويو آھي. حملي ڪندڙن جي سرگرمين جي نشانين جي مطالعي جي دوران، اهو نتيجو ڪيو ويو ته خود git.php.net سرور، جنهن تي git مخزن واقع هو، هيڪ نه ڪيو ويو هو، پر پراجيڪٽ ڊولپرز جي اڪائونٽن سان گڏ ڊيٽابيس سان سمجهوتو ڪيو ويو هو. .

اهو ممڪن آهي ته حملو ڪندڙ ڊي بي ايم ايس ۾ محفوظ ڪيل صارف ڊيٽابيس کي ڊائون لوڊ ڪرڻ جي قابل هئا master.php.net سرور تي. master.php.net جو مواد اڳ ۾ ئي نئين main.php.net سرور ڏانهن منتقل ڪيو ويو آهي شروع کان نصب ٿيل. php.net انفراسٽرڪچر تائين رسائي حاصل ڪرڻ لاءِ استعمال ٿيل سڀ ڊولپر پاسورڊ ري سيٽ ڪيا ويا ۽ انھن کي تبديل ڪرڻ جو عمل خاص پاسورڊ ريڪوري فارم ذريعي شروع ڪيو ويو. git.php.net ۽ svn.php.net مخزن صرف پڙهڻ لاءِ رهن ٿا (ترقي کي GitHub ڏانهن منتقل ڪيو ويو آهي).

پي ايڇ پي جي باني راسمس ليرڊورف جي اڪائونٽ ذريعي ڪيل پهرين بدسلوڪي ڪمٽ جي دريافت کان پوءِ، اهو سمجهيو ويو ته سندس اڪائونٽ هيڪ ڪيو ويو آهي ۽ نيڪيتا پوپوف، هڪ اهم پي ايڇ پي ڊولپرز مان هڪ آهي، تبديلين کي واپس ورتو ۽ ڪمٽ جي حقن کي بلاڪ ڪيو. مسئلو وارو اڪائونٽ. ڪجهه وقت کان پوء، اهو احساس آيو ته بلاڪ ڪرڻ جو ڪو به مطلب نه هو، ڇاڪاڻ ته ڊجيٽل دستخط استعمال ڪندي ڪمن جي تصديق کان سواء، ڪنهن به شرڪت ڪندڙ php-src مخزن تائين رسائي سان هڪ جعلي ليکڪ جو نالو تبديل ڪندي تبديلي آڻي سگهي ٿو.

اڳتي هلي، حملي آورن پاڻ نيڪيتا جي طرفان بدسلوڪي موڪلي. گيٽولائيٽ سروس جي لاگز جو تجزيو ڪندي، مخزن تائين رسائي کي منظم ڪرڻ لاء استعمال ڪيو ويو، شرڪت ڪندڙ کي طئي ڪرڻ جي ڪوشش ڪئي وئي جيڪا اصل ۾ تبديليون ڪيون. سڀني ڪمن لاء اڪائونٽنگ شامل ڪرڻ جي باوجود، لاگ ان ۾ ٻه بدسلوڪي تبديلين جي ڪا به داخلا نه هئي. اهو واضح ٿيو ته انفراسٹرڪچر جو هڪ سمجھوتو هو، ڇاڪاڻ ته ڪميٽ سڌو سنئون شامل ڪيا ويا، گيٽولائيٽ ذريعي ڪنيڪشن کي پاس ڪندي.

git.php.net سرور کي فوري طور تي غير فعال ڪيو ويو، ۽ بنيادي مخزن کي GitHub ڏانهن منتقل ڪيو ويو. جلدي ۾، اهو وساريو ويو ته مخزن تائين رسائي حاصل ڪرڻ لاء، گيٽولائٽ استعمال ڪندي SSH کان علاوه، هڪ ٻيو ان پٽ هو جيڪو توهان کي HTTPS ذريعي موڪلڻ جي اجازت ڏئي ٿو. انهي صورت ۾، Git-http-backend استعمال ڪيو ويو گٽ سان رابطو ڪرڻ لاء، ۽ تصديق ڪئي وئي Apache2 HTTP سرور استعمال ڪندي، جيڪا تصديق ڪئي وئي ڊي بي ايم ايس ۾ ميزباني ڪيل ڊيٽابيس تائين رسائي حاصل ڪندي master.php.net سرور. لاگ ان جي اجازت نه رڳو چاٻين سان، پر پڻ باقاعده پاسورڊ سان. http سرور لاگز جي تجزيي جي تصديق ڪئي وئي آهي ته بدسلوڪي تبديليون HTTPS ذريعي شامل ڪيون ويون آهن.

جڏهن لاگز جو مطالعو ڪيو ويو ته اهو ظاهر ٿيو ته حملي آورن پهريون ڀيرو ڳنڍيو نه هو، شروعات ۾ اڪائونٽ جو نالو ڳولڻ جي ڪوشش ڪئي، پر ان جي سڃاڻپ ڪرڻ کان پوء، انهن پهرين ڪوشش ۾ لاگ ان ڪيو، يعني. انهن کي راسموس ۽ نڪيتا جا پاسورڊ اڳ ۾ ئي معلوم هئا، پر انهن جي لاگ ان جي خبر نه هئي. جيڪڏهن حملو ڪندڙ ڊي بي ايم ايس تائين رسائي حاصل ڪرڻ جي قابل هئا، اهو واضح ناهي ته انهن فوري طور تي صحيح لاگ ان استعمال نه ڪيو آهي. هن اختلاف جي اڃا تائين قابل اعتماد وضاحت نه ملي آهي. master.php.net جي هيڪ کي سڀ کان وڌيڪ امڪاني صورتحال سمجهيو ويندو آهي، ڇاڪاڻ ته هي سرور تمام پراڻو ڪوڊ ۽ هڪ پراڻو OS استعمال ڪندو هو، جيڪو گهڻي وقت تائين اپڊيٽ نه ڪيو ويو هو ۽ ان ۾ اڻپڙهيل خاميون هيون.

ڪيل عملن ۾ master.php.net سرور ماحول جي ٻيهر تنصيب ۽ PHP 8 جي نئين ورزن ڏانهن اسڪرپٽ جي منتقلي شامل آهي. ڊي بي ايم ايس سان ڪم ڪرڻ لاءِ ڪوڊ ۾ ترميم ڪئي وئي آهي ته جيئن پيراميٽرائز ٿيل سوالن کي استعمال ڪيو وڃي جيڪي SQL ڪوڊ جي متبادل کي پيچيده ڪن ٿا. bcrypt الورورٿم استعمال ڪيو ويندو آهي پاسورڊ هيش کي ذخيرو ڪرڻ لاءِ ڊيٽابيس ۾ (اڳي، پاسورڊ محفوظ ڪيا ويندا هئا هڪ ناقابل اعتبار MD5 هيش استعمال ڪندي). موجوده پاس ورڊ ري سيٽ ڪيا ويا آهن ۽ توهان کي چيو ويو آهي ته هڪ نئون پاس ورڊ سيٽ ڪرڻ لاءِ پاسورڊ ريڪوري فارم ذريعي. جيئن ته HTTPS ذريعي git.php.net ۽ svn.php.net مخزنن تائين رسائي MD5 هيشز سان ڳنڍيل هئي، اهو فيصلو ڪيو ويو ته git.php.net ۽ svn.php.net کي صرف پڙهڻ واري موڊ ۾ ڇڏي وڃي، ۽ سڀني کي منتقل ڪيو وڃي. باقي انهن لاءِ پي اي سي ايل ايڪسٽينشن ريپوزٽريز GitHub تي، مکيه PHP مخزن وانگر.

جو ذريعو: opennet.ru

تبصرو شامل ڪريو