РНР төслийн git репозитор болон хэрэглэгчийн баазын эвдрэлийн талаар мэдээлнэ үү

Тусгайлан зохион бүтээсэн User Agent толгойгоор хүсэлт илгээх үед арын хаалга нь идэвхжсэн РНР төслийн Git репозиторид хоёр хорлонтой үйлдлийг илрүүлэхтэй холбоотой ослын шинжилгээний эхний үр дүн нийтлэгдсэн байна. Халдагчдын үйл ажиллагааны ул мөрийг судлах явцад git репозитор байрладаг git.php.net сервер өөрөө хакердаагүй, харин төсөл боловсруулагчдын дансны мэдээллийн санд халдсан гэж дүгнэжээ. .

Халдагчид DBMS-д хадгалагдсан хэрэглэгчийн мэдээллийн санг master.php.net сервер дээр татаж авах боломжтой байж магадгүй юм. 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 сайтыг хакердах нь хамгийн магадлалтай хувилбар гэж тооцогддог, учир нь энэ сервер нь маш хуучирсан код, хуучирсан үйлдлийн систем ашигласан бөгөөд энэ нь удаан хугацаанд шинэчлэгдээгүй, сул талтай байсан.

Гүйцэтгэсэн үйлдлүүд нь master.php.net серверийн орчныг дахин суулгах, скриптүүдийг PHP 8-ийн шинэ хувилбар руу шилжүүлэх зэрэг орно. DBMS-тэй ажиллах кодыг SQL кодыг орлуулахад хүндрэл учруулдаг параметржүүлсэн асуулга ашиглахаар өөрчилсөн. bcrypt алгоритм нь нууц үгийн хэшийг мэдээллийн санд хадгалахад хэрэглэгддэг (өмнө нь нууц үгийг найдваргүй MD5 хэш ашиглан хадгалдаг байсан). Одоо байгаа нууц үгүүд шинэчлэгдсэн бөгөөд та нууц үг сэргээх маягтаар дамжуулан шинэ нууц үг оруулахыг хүсэх болно. HTTPS-ээр дамжуулан git.php.net болон svn.php.net репозиторууд руу нэвтрэх эрх нь MD5 хэштэй холбоотой байсан тул git.php.net болон svn.php.net-ийг зөвхөн унших горимд үлдээж, бүгдийг нь зөөхөөр шийдсэн. Үлдсэн хэсэг нь GitHub дээрх үндсэн PHP репозитортой төстэй PECL өргөтгөлийн репозиторууд юм.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх