Facebook ұсынған Python үшін статикалық анализатор Pysa

Facebook ашық көзі бар статикалық анализаторды «Pysa»(Python статикалық анализаторы) Python кодындағы ықтимал осалдықтарды анықтауға арналған.

Пйса деректер ағымын талдауды қамтамасыз етеді кодты орындау нәтижесінде, ол көптеген ықтимал осалдықтар мен проблемаларды анықтауға мүмкіндік береді ол пайда болмауы керек жерлерде деректерді пайдалануға байланысты құпиялылық.

Мысалы, Писа қоңыраулар кезінде шикі сыртқы деректердің қолданылуын бақылай алады файлдық операцияларда және SQL құрылымдарында сыртқы бағдарламаларды орындайды.

Бүгін біз Python кодындағы қауіпсіздік пен құпиялылық мәселелерін анықтау және болдырмау үшін салған ашық бастапқы деректерді статикалық талдау құралы Pysa туралы мәліметтермен бөлісеміз. Өткен жылы біз Zoncolan-ді қалай құрғанымыз туралы бөлдік, ол статикалық талдау құралы, ол 100 миллионнан астам сызықтарды талдауға көмектеседі және инженерлерге мыңдаған ықтимал қауіпсіздік проблемаларын болдырмауға көмектеседі. Бұл жетістік бізді Pysa-ны дамытуға шабыттандырды, бұл Python статикалық анализаторының аббревиатурасы.

Pysa бірдей алгоритмдерді қолданады статикалық талдау жүргізу және тіпті кодты бөлісу Зонколан. Zoncolan, Pysa сияқты бағдарлама арқылы мәліметтер ағынын қадағалайды.

Пайдаланушы дереккөздерді (маңызды деректер пайда болатын жерлерді), сондай-ақ раковиналарды (бастапқы деректер аяқталмайтын жерлерді) анықтайды.

Қауіпсіздік қосымшалары үшін дереккөздердің ең көп таралған түрлері - қолданушы басқаратын мәліметтер енгізілетін орындар, мысалы Django сөздігі.

Қабылдағыштар әр түрлі болуға бейім, бірақ кодтармен жұмыс жасайтын API-ді қамтуы мүмкін, мысалы eval, немесе сияқты файлдық жүйеге кіретін APIos.open

Писса рефераттар құру үшін қайталанатын талдау кезеңдерін орындайды қандай функциялар дереккөзден деректерді қайтаратынын және қандай функциялар раковинаға соққы беретін параметрлерге ие екендігін анықтау үшін. Егер Писа көзі ақыр соңында раковинаға қосылатынын анықтаса, ол проблема туралы хабарлайды. 

Анализатор жұмысы ол кіріс көздерін анықтауға дейін қайнайды және қауіпті қоңыраулар, онда бастапқы деректер қолданылмауы керек.

Pysa функционалдық шақырулар тізбегі арқылы деректердің өтуін бақылайды және бастапқы деректерді кодтағы қауіпті орындармен байланыстырады.

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

Pysa анықтаған жалпы осалдық - бұл Zulip хабарлама алмасу платформасындағы ашық бағыттау мәселесі (CVE-2019-19775), нобайларды көрсету кезінде таза емес сыртқы параметрлерді жіберуден туындайды.

Pysa-ның деректер ағынын бақылау мүмкіндіктері қосымша фреймдердің қолданылуын растау үшін және пайдаланушы деректерін пайдалану саясатына сәйкестігін анықтау үшін қолданыла алады.

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

Facebook-те анализатор Instagram сервисінің кодын тексеру үшін қолданылады. 2020 жылдың бірінші тоқсанында Pysa Facebook инженерлері Инстаграмның сервер жағындағы кодтық базасында табылған барлық мәселелердің 44% -ын анықтауға көмектесті.

Процесс барысында барлығы 330 проблема анықталды Pysa көмегімен автоматтандырылған өзгерісті тексеру, оның 49-ы (15%) маңызды деп бағаланды, ал 131-і (40%) қауіпті емес. 150 жағдайда (45%) проблемалар жалған позитивтерге байланысты болды.

Жаңа талдаушы Pyre типін тексеру құралдар жинағына қосымша ретінде жасалған және сіздің репозиторийіңізге орналастырылған. Код MIT лицензиясы бойынша шығарылады.

Finalmente егер сіз бұл туралы көбірек білгіңіз келсе, егжей-тегжейін түпнұсқа хабарламадан тексеруге болады. Сілтеме бұл.


Мақаланың мазмұны біздің ұстанымдарымызды ұстанады редакторлық этика. Қате туралы хабарлау үшін нұқыңыз Мұнда.

Бірінші болып пікір айтыңыз

Пікіріңізді қалдырыңыз

Сіздің электрондық пошта мекен-жайы емес жарияланады. Міндетті өрістер таңбаланған *

*

*

  1. Деректерге жауапты: Мигель Анхель Гатан
  2. Деректердің мақсаты: СПАМ-ны басқару, түсініктемелерді басқару.
  3. Заңдылық: Сіздің келісіміңіз
  4. Деректер туралы ақпарат: заңды міндеттемелерді қоспағанда, деректер үшінші тұлғаларға жіберілмейді.
  5. Деректерді сақтау: Occentus Networks (ЕО) орналастырған мәліметтер базасы
  6. Құқықтар: Сіз кез-келген уақытта ақпаратты шектей, қалпына келтіре және жоя аласыз.