PyPI репозиторийінде ықтимал қауіпті код бар

Турку университетінің зерттеушілері (Финляндия) белгілі болды жақында талдау нәтижелері олар репозиторийдегі пакеттерді жасады PyPI арқылы осалдық тудыруы мүмкін қауіпті құрылыстарды пайдалану үшін. Талдауда бұл шамамен 197.000 749.000 пакет орындалды және XNUMX XNUMX ықтимал қауіпсіздік проблемалары анықталды.

Басқаша айтқанда, пакеттердің 46% -ында осы проблемалардың кем дегенде біреуі бар, олардың ішінде ең жиі кездесетіні - ерекшеліктерді өңдеу және кодты алмастыру мүмкіндіктерін қолдану.

Анықталған 749 мың мәселенің 442 мыңы (41%) кәмелетке толмағандар деп белгіленді, 227 мың (30%) орташа қауіпті және 80 мың (11%) қауіпті.

Деректер жиынтығы Python пакеттік индексінде (PyPI) сақталған барлық пакеттердің суреттеріне негізделген ...

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

Кейбір пакеттер әдеттен тыс және мыңдаған проблемаларды қамтиды: Мысалы, PyGGI пакетінде 2589 мәселе табылды, олар негізінен «try-except-pass» конструкциясын қолдануға байланысты, ал appengine-sdk пакетінде 2356 мәселе табылды. Genie.libs.ops, pbcore және genie.libs.parser пакеттерінде де көптеген мәселелер бар.

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

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

Мысалы, талдаушы сенімді емес кездейсоқ сандар генераторларының қолданылуын және MD5 сияқты хэширлеу алгоритмдерін қауіпсіздік мәселесі ретінде қарастырады, ал кодта мұндай алгоритмдер қауіпсіздікке әсер етпейтін мақсаттарда қолданыла алады.

Анализатор сонымен қатар кез келген сыртқы деректерді өңдеу деп есептейді pickle, yaml.load, subprocess және eval сияқты қауіпті функцияларда бұл мәселе, бірақ бұл қолдану міндетті түрде осалдықпен байланысты емес және іс жүзінде бұл функцияларды қолдану қауіпсіздікке қатерсіз іске асырылатын мәселе болуы мүмкін.

Зерттеуде қолданылатын бақылаудың ішінде:

  • Ықтимал қауіпті функцияларды қолдану exec, mktemp, eval, mark_safe және т.б.
  • Файлға кіру құқығының қауіпті конфигурациясы.
  • Барлық желілік интерфейстерге желі ашасын қосыңыз.
  • Құпия сөздер мен шифрланған кілттерді қолдану.
  • Алдын ала анықталған уақытша каталогты пайдалану.
  • Өткізуді қолданыңыз және барлық үлгідегі ерекшеліктерді өңдеушілерде жалғастырыңыз.
  • Отладка режимі қосылған Flask веб -негізіне негізделген веб -қосымшаларды іске қосыңыз.
  • Деректерді жою үшін қауіпті әдістерді қолдану.
  • MD2, MD4, MD5 және SHA1 хэш функцияларын қолдану.
  • Қауіпті DES шифрлары мен шифрлау режимдерін қолдану.
  • Python -ның кейбір нұсқаларында қауіпті HTTPSConnection бағдарламасын қолдану.
  • Файлды көрсету: // схема urlopen.
  • Криптографиялық тапсырмаларды орындау кезінде жалған кездейсоқ сандар генераторларын қолданыңыз.
  • Telnet хаттамасын қолдану.
  • Қауіпті XML талдауын қолдану.

Сонымен қатар, PyPI каталогында 8 зиянды буманы анықтау туралы айтылады. Проблемалық пакеттер жойылмас бұрын 30 64 -нан астам рет жүктелген. Зиянды әрекетті жасыру және пакеттердегі қарапайым статикалық талдаушы ескертулерінен аулақ болу үшін, біз BaseXNUMX форматын қолдана отырып, кодпен блоктауды кодтауды қолдандық және оны бағалау арқылы декодтаудан кейін оның орындалуын кезеңге қойдық.

Noblesse, genesisbot, Chrome, Edge браузерлерінде сақталған несие карталарының нөмірлері мен құпия сөздерін ұстауға арналған, suff, noblesse2 және noblessev2 пакеттерінде табылған код, сондай -ақ Discord қосымшасынан шот белгілерін аудару және жүйеден деректерді жіберу, соның ішінде скриншоттар экран мазмұны. … Pytagora және pytagora2 пакеттерінде үшінші тараптың орындалатын кодын жүктеу және іске қосу мүмкіндігі болды.

Finalmente егер сіз бұл туралы көбірек білгіңіз келсе, сіз мәліметтерді тексере аласыз Келесі сілтемеде.


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

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

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

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

*

*

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