Facebook тарабынан сунушталган Python үчүн статикалык анализатор Pysa

Facebook ачык булактуу «Pysa» аттуу статикалык анализаторду сунуштады»(Python Static Analyzer) болуп саналат Python кодундагы мүмкүн болгон аялуу жерлерди аныктоо үчүн иштелип чыккан.

Pysa маалымат агымынын анализин камсыз кылат коддун аткарылышынын натыйжасында көптөгөн мүмкүн болгон аялуу жерлерди жана көйгөйлөрдү аныктоого мүмкүндүк берет маалыматтардын пайда болбошу керек болгон жерлерде колдонулушуна байланыштуу купуялык.

Мисалы, Писа чалууларда чийки тышкы маалыматтардын колдонулушун көзөмөлдөй алат тышкы программаларды, файл операцияларында жана SQL конструкцияларын аткарат.

Бүгүн биз Python кодундагы коопсуздук жана купуялык маселелерин аныктоо жана алдын алуу үчүн курган ачык булактуу статикалык анализ куралы Pysa жөнүндө кенен маалымат беребиз. Өткөн жылы биз 100 миллион линиядан ашык хак кодун анализдөөгө жардам берген жана инженерлерге миңдеген потенциалдуу коопсуздук көйгөйлөрүнүн алдын алууга жардам берген статикалык анализдөөчү курал болгон Zoncolanды кантип түзгөнүбүздү бөлүштүк. Бул ийгилик бизге Python Static Analyzer сөзүнүн кыскартылышы болгон Pysaны иштеп чыгууга түрткү берди.

Pysa ошол эле алгоритмдерди колдонот статикалык анализди жүргүзүү жана ал тургай кодду бөлүшүү Zoncolan. Zoncolan сыяктуу, Pysa маалымат агымын программа аркылуу байкап турат.

Колдонуучу булактарды (маанилүү маалыматтар келип чыккан жерлерди), ошондой эле раковиналарды (баштапкы маалыматтар бүтпөшү керек болгон жерлерди) аныктайт.

Коопсуздук тиркемелери үчүн, булактардын эң кеңири тараган түрлөрү болуп, колдонуучу көзөмөлдөгөн маалыматтар колдонмого кирет, мисалы, Dango сөздүгү.

Алуучулар бир кыйла ар түрдүү болушат, бирок, мисалы, код иштеткен APIлерди камтышы мүмкүн eval, же файл тутумуна кирүүчү API, мисалыos.open

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

Анализатордун иши ал келип жаткан маалымат булактарын аныктоо үчүн кайнайт жана кооптуу чалуулар, анда баштапкы маалыматтар колдонулбашы керек.

Pysa функциялардын чалуулар тизмеги аркылуу маалыматтардын өтүшүн көзөмөлдөйт жана баштапкы маалыматты коддогу кооптуу жерлер менен байланыштырат.

Django жана Tornado сыяктуу ачык булактуу Python сервер алкактарын өз өнүмдөрүбүз үчүн колдонгонубуз үчүн, Pysa ушул алкактарды колдонгон долбоорлордо биринчи кезден эле коопсуздук маселелерине туш болушу мүмкүн. Бизде азырынча камтылбаган кадрлар үчүн Pysa колдонулушу, адатта, Pysaга серверге маалымат кайдан келип жаткандыгын айтып берүү үчүн бир нече конфигурациялык сызыктарды кошкондой эле жөнөкөй.

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

Pysa маалымат агымын көзөмөлдөө мүмкүнчүлүктөрү кошумча алкактардын колдонулушун тастыктоо жана колдонуучунун дайындарын колдонуу саясатына шайкештигин аныктоо үчүн колдонулушу мүмкүн.

Мисалы, Кошумча конфигурациясыз Pysa алкактарды колдонуу менен долбоорлорду текшерүү үчүн колдонулушу мүмкүн Джанго жана Торнадо. Pysa веб-тиркемелердеги SQL алмаштыруу жана сайттар аралык сценарийлер (XSS) сыяктуу жалпы кемчиликтерди да аныктай алат.

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

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

Жаңы талдоочу Pyre түрүн текшерүү инструментине кошумча катары иштелип чыккан жана сиздин репозиторийге жайгаштырылган. Код MIT лицензиясынын негизинде чыгарылат.

акырында бул жөнүндө көбүрөөк билгиңиз келсе, маалыматты түпнуска посттон текшере аласыз. Шилтеме бул.


Макаланын мазмуну биздин принциптерге карманат редакциялык этика. Ката жөнүндө кабарлоо үчүн чыкылдатыңыз бул жерде.

Комментарий биринчи болуп

Комментарий калтырыңыз

Сиздин электрондук почта дареги жарыяланбайт. Милдеттүү талаалар менен белгиленет *

*

*

  1. Маалыматтар үчүн жооптуу: Мигель Анхель Гатан
  2. Маалыматтын максаты: СПАМды көзөмөлдөө, комментарийлерди башкаруу.
  3. Мыйзамдуулук: Сиздин макулдугуңуз
  4. Маалыматтарды берүү: Маалыматтар үчүнчү жактарга юридикалык милдеттенмелерден тышкары билдирилбейт.
  5. Маалыматтарды сактоо: Occentus Networks (ЕС) тарабынан уюштурулган маалыматтар базасы
  6. Укуктар: Каалаган убакта маалыматыңызды чектеп, калыбына келтирип жана жок кыла аласыз.