Facebook-ийн санал болгодог Python-ийн статик анализатор Pysa

Фэйсбүүк нь нээлттэй эх сурвалж бүхий статик анализаторыг "Pysa" нэртэйгээр нэвтрүүлжээ»(Python Static Analyzer) нь Python кодын болзошгүй эмзэг байдлыг тодорхойлоход зориулагдсан.

Пйса мэдээллийн урсгалын дүн шинжилгээ хийдэг код гүйцэтгэсний үр дүнд болзошгүй олон эмзэг байдал, бэрхшээлийг тодорхойлох боломжийг танд олгоно гарч ирэх ёсгүй газруудад өгөгдөл ашиглахтай холбоотой нууцлал.

Жишээлбэл, Писа дуудлага хийхдээ гадны түүхий өгөгдлийн ашиглалтыг хянах боломжтой файлын үйл ажиллагаа болон SQL бүтцэд гадны програмыг ажиллуулдаг.

Өнөөдөр бид Python код дахь аюулгүй байдал, нууцлалын асуудлыг илрүүлэх, урьдчилан сэргийлэх зорилгоор бүтээсэн нээлттэй эхийн статик анализын хэрэгсэл болох Pysa-ийн талаар дэлгэрэнгүй мэдээллийг хуваалцаж байна. Өнгөрсөн жил бид 100 сая гаруй мөрийн хак кодыг шинжлэхэд тусалдаг бөгөөд инженерүүдэд олон мянган болзошгүй аюулгүй байдлын асуудлуудаас урьдчилан сэргийлэхэд туслах статик анализын хэрэгсэл болох Zoncolan-ийг хэрхэн бүтээснээ хуваалцсан. Энэхүү амжилт нь Python Static Analyzer-ийн товчлол болох Pysa-г хөгжүүлэхэд бидэнд урам зориг өглөө.

Pysa ижил алгоритмуудыг ашигладаг статик дүн шинжилгээ хийх, тэр ч байтугай кодыг хуваалцах Зонколан. Зонколан шиг, Писа програмаар дамжуулж өгөгдлийн урсгалыг хянах.

Хэрэглэгч эх үүсвэрийг (чухал өгөгдөл үүссэн газар), угаалтуур (эх өгөгдөл дуусахгүй байх ёстой газрыг) тодорхойлдог.

Аюулгүй байдлын програмуудын хувьд хамгийн түгээмэл хэрэглэгддэг эх сурвалжууд нь Dango толь бичиг гэх мэт хэрэглэгчийн хяналтанд байдаг өгөгдөл програмд ​​ордог газрууд юм.

Хүлээн авагчид илүү олон янз байх хандлагатай байдаг боловч кодыг ажиллуулдаг API-г багтааж болно eval, эсвэл файлын системд нэвтрэх APIos.open

Pysa нь хийсвэр бичихийн тулд давталтын дүн шинжилгээ хийдэг аль функц нь эх сурвалжаас өгөгдөл буцааж өгдөг, ямар функцууд нь эцэст нь живэх цохилтод хүрэх параметрүүд байгааг тодорхойлох. Хэрэв Pysa эх үүсвэр нь эцэст нь угаалтууртай холбогддог болохыг олж мэдвэл энэ нь асуудлыг мэдээлдэг. 

Анализаторын ажил энэ нь ирж буй мэдээллийн эх үүсвэрийг тодорхойлоход чиглэгддэг анхны өгөгдлийг ашиглах ёсгүй аюултай дуудлага.

Pysa нь функцын дуудлагын гинжин хэлхээгээр өгөгдлийг дамжуулах явцыг хянаж, анхны өгөгдлийг кодын аюултай газруудтай холбодог.

Бид Django, Tornado гэх мэт нээлттэй эхийн Python серверийн хүрээг өөрсдийн бүтээгдэхүүнд ашигладаг тул Pysa эдгээр хүрээг ашигладаг төслүүд дээр аюулгүй байдлын асуудалтай тулгарч магадгүй юм. Бид хамрагдаагүй байгаа хүрээгээ Pysa ашиглах нь ерөнхийдөө сервер рүү өгөгдөл хаана орж байгааг хэлж өгөх хэд хэдэн тохиргооны мөр нэмж оруулахтай адил юм.

Pysa-ийн тодорхойлсон нийтлэг эмзэг байдал нь Zulip мессежийн платформ дахь нээлттэй чиглүүлэлтийн асуудал юм (CVE-2019-19775), өнгөц зургийг харуулахдаа гадны цэвэр бус параметрүүдийг дамжуулснаас үүдэлтэй.

Pysa-ийн өгөгдлийн урсгалыг хянах чадварыг нэмэлт хүрээний ашиглалтыг баталгаажуулах, хэрэглэгчийн өгөгдлийн хэрэглээний бодлоготой нийцэж байгааг тодорхойлоход ашиглаж болно.

Жишээлбэл, Нэмэлт тохиргоогүй Pysa-г хүрээ ашиглан төслүүдийг шалгахад ашиглаж болно Django ба Tornado. Pysa нь вэб програмын SQL орлуулалт, сайт хоорондын скрипт (XSS) зэрэг нийтлэг эмзэг байдлыг тодорхойлж чаддаг.

Фэйсбүүк дээр анализатор ашиглан Instagram үйлчилгээний кодыг баталгаажуулдаг. 2020 оны эхний улирлын туршид Pysa нь Instagram-ийн сервер талын кодын баазаас Facebook-ийн инженерүүдийн олж мэдсэн бүх асуудлын 44% -ийг тодорхойлоход тусалсан.

Энэ үеэр нийт 330 асуудал илрэв Pysa ашиглан хийсэн автоматжуулсан өөрчлөлтийн шалгалтын 49, (15%) нь чухал ач холбогдолтой, 131 (40%) нь аюултай биш гэж үнэлэгдсэн. 150 тохиолдлын (45%) асуудал нь хуурамч эерэг зүйлтэй холбоотой байв.

Шинэ задлагчийг Pyre төрлийн баталгаажуулах хэрэгслийн нэмэлт болгон боловсруулсан бөгөөд таны агуулахад байрлуулсан болно. MIT лицензийн дагуу кодыг гаргасан болно.

Эцэст нь Хэрэв та энэ талаар илүү ихийг мэдэхийг хүсвэл та эх бичлэгээс дэлгэрэнгүйг шалгаж болно. Холбоос энэ байна.


Нийтлэлийн агуулга нь бидний зарчмуудыг баримталдаг редакцийн ёс зүй. Алдааны талаар мэдээлэхийн тулд товшино уу энд байна.

Сэтгэгдэл бичих эхний хүн бай

Сэтгэгдэлээ үлдээгээрэй

Таны и-мэйл хаяг хэвлэгдсэн байх болно. Шаардлагатай талбарууд нь тэмдэглэгдсэн байна *

*

*

  1. Мэдээллийг хариуцах: Мигель Анхель Гатан
  2. Мэдээллийн зорилго: СПАМ-ыг хянах, сэтгэгдлийн менежмент.
  3. Хууль ёсны байдал: Таны зөвшөөрөл
  4. Мэдээллийн харилцаа холбоо: Хуулийн үүргээс бусад тохиолдолд мэдээллийг гуравдагч этгээдэд дамжуулахгүй.
  5. Өгөгдөл хадгалах: Occentus Networks (ЕХ) -с зохион байгуулсан мэдээллийн сан
  6. Эрх: Та хүссэн үедээ мэдээллээ хязгаарлаж, сэргээж, устгаж болно.