Facebook tomonidan taklif qilingan Python uchun statik analizator Pysa

Facebook ochiq manbali statik analizatorni "Pysa»(Python statik analizatori) bu Python kodidagi mumkin bo'lgan zaifliklarni aniqlash uchun mo'ljallangan.

Pisa ma'lumotlar oqimini tahlil qilishni ta'minlaydi kodni bajarish natijasida, qaysi ko'plab mumkin bo'lgan zaifliklar va muammolarni aniqlashga imkon beradi ma'lumotlar paydo bo'lmasligi kerak bo'lgan joylarda foydalanish bilan bog'liq maxfiylik.

Masalan, Pysa qo'ng'iroqlarda tashqi tashqi ma'lumotlardan foydalanishni kuzatishi mumkin tashqi dasturlarni, fayl operatsiyalarida va SQL tuzilmalarida bajaradigan.

Bugun biz Python kodidagi xavfsizlik va maxfiylik muammolarini aniqlash va oldini olish uchun qurgan ochiq manbali statik tahlil vositasi - Pysa haqidagi ma'lumotlarni baham ko'ramiz. O'tgan yili biz 100 milliondan ortiq satrlarni buzish kodlarini tahlil qilishda yordam beradigan va minglab potentsial xavfsizlik muammolarini oldini olishga yordam beradigan statik tahlil vositasi bo'lgan Zoncolan-ni qanday yaratganimiz bilan o'rtoqlashdik. Ushbu muvaffaqiyat bizni Python Statik Analizatorining qisqartmasi bo'lgan Pysa-ni ishlab chiqishga ilhomlantirdi.

Pysa xuddi shu algoritmlardan foydalanadi statik tahlilni amalga oshirish va hatto kod bilan bo'lishish Zonkolan. Zoncolan singari, Pysa dastur orqali ma'lumotlar oqimini kuzatib boradi.

Foydalanuvchi manbalarni (muhim ma'lumotlar kelib chiqadigan joylarni), shuningdek lavabonlarni (manba ma'lumotlari tugamasligi kerak bo'lgan joylarni) belgilaydi.

Xavfsizlik dasturlari uchun Django lug'ati kabi foydalanuvchi tomonidan boshqariladigan ma'lumotlar dasturga kiradigan joylar manbalarning eng keng tarqalgan turlari hisoblanadi.

Qabul qiluvchilar juda xilma-xil bo'lib turishadi, lekin, masalan, kod ishlaydigan API-larni o'z ichiga olishi mumkin evalyoki, masalan, fayl tizimiga kiradigan API-laros.open

Pisa tezislarni tuzish uchun takroriy tahlil turlarini amalga oshiradi qaysi funktsiyalar ma'lumotni manbadan qaytarishini va qaysi funktsiyalar oxir-oqibat cho'kib ketadigan parametrlarga ega ekanligini aniqlash uchun. Agar Pisa, manba oxir-oqibat lavaboga ulanganligini aniqlasa, u muammo haqida xabar beradi. 

Analizator ishi u kiruvchi ma'lumotlar manbalarini aniqlash uchun pastga tushadi va asl ma'lumotlardan foydalanmaslik kerak bo'lgan xavfli qo'ng'iroqlar.

Pysa funktsiya qo'ng'iroqlari zanjiri orqali ma'lumotlarning o'tishini nazorat qiladi va dastlabki ma'lumotlarni kodning xavfli joylari bilan bog'laydi.

Django va Tornado kabi ochiq kodli Python server ramkalarini o'z mahsulotlarimiz uchun ishlatganimiz sababli, Pysa ushbu ramkalarni ishlatadigan loyihalarda xavfsizlik bilan bog'liq muammolarga duch kelishi mumkin. Biz uchun hali qamrab olinmagan ramkalar uchun Pysa-dan foydalanish, odatda, ma'lumotlarning serverga qaerga kirishini aytib berish uchun bir nechta konfiguratsion chiziqlarni qo'shish kabi oddiy.

Pysa tomonidan aniqlangan umumiy zaiflik - bu Zulip xabar almashish platformasida kichik yo'naltirish masalasi (CVE-2019-19775), bu eskizlarni ko'rsatishda nopok tashqi parametrlardan o'tish natijasida yuzaga keladi.

Pysa-ning ma'lumotlar oqimini kuzatish qobiliyatlari qo'shimcha freymlardan foydalanishni tasdiqlash va foydalanuvchi ma'lumotlaridan foydalanish qoidalariga muvofiqligini aniqlash uchun ishlatilishi mumkin.

Masalan, Qo'shimcha konfiguratsiyalarsiz Pysa ramkalar yordamida loyihalarni tekshirish uchun ishlatilishi mumkin Django va Tornado. Pysa, shuningdek, veb-ilovalardagi umumiy zaifliklarni, masalan, SQL almashtirish va saytlararo skriptlarni (XSS) aniqlashi mumkin.

Facebook-da analizator Instagram xizmati kodini tekshirish uchun ishlatiladi. 2020 yilning birinchi choragi davomida Pysa Instagram-ning server tomonidagi kod bazasida Facebook muhandislari tomonidan topilgan barcha muammolarning 44 foizini aniqlashga yordam berdi.

Jarayon davomida jami 330 ta muammo aniqlandi Pysa yordamida avtomatlashtirilgan o'zgarishlarni tekshirish, ulardan 49 (15%) muhim deb baholandi va 131 (40%) xavfli emas. 150 holatda (45%) muammolar noto'g'ri ijobiy tomonlarga bog'liq.

Yangi tahlilchi Pyre turini tekshirish vositalariga qo'shimcha sifatida ishlab chiqilgan va sizning omboringizga joylashtirilgan. Kod MIT litsenziyasi asosida chiqariladi.

FINALMENTE agar siz bu haqda ko'proq bilmoqchi bo'lsangiz, tafsilotlarni asl xabarda tekshirishingiz mumkin. Havola bu.


Maqolaning mazmuni bizning printsiplarimizga rioya qiladi muharrirlik etikasi. Xato haqida xabar berish uchun bosing bu erda.

Birinchi bo'lib izohlang

Fikringizni qoldiring

Sizning email manzilingiz chop qilinmaydi.

*

*

  1. Ma'lumotlar uchun javobgardir: Migel Anxel Gaton
  2. Ma'lumotlarning maqsadi: SPAMni boshqarish, izohlarni boshqarish.
  3. Qonuniylashtirish: Sizning roziligingiz
  4. Ma'lumotlar haqida ma'lumot: qonuniy majburiyatlar bundan mustasno, ma'lumotlar uchinchi shaxslarga etkazilmaydi.
  5. Ma'lumotlarni saqlash: Occentus Networks (EU) tomonidan joylashtirilgan ma'lumotlar bazasi
  6. Huquqlar: istalgan vaqtda siz ma'lumotlaringizni cheklashingiz, tiklashingiz va o'chirishingiz mumkin.