Писа, статички анализатор за Питхон који нуди Фацебоок

Фацебоок је представио статички анализатор отвореног кода под називом „Писа»(Питхон Статиц Анализер) који је дизајниран да идентификује потенцијалне рањивости у Питхон коду.

Писа пружа анализу протока података као резултат извршења кода, који омогућава вам да идентификујете многе потенцијалне рањивости и проблеме приватности у вези са употребом података на местима где се не би требало појављивати.

На пример, Писа може да прати употребу сирових спољних података у позивима који извршавају спољне програме, у операцијама датотека и у СКЛ конструкцијама.

Данас делимо детаље о Писи, алату за статичку анализу отвореног кода који смо изградили за откривање и спречавање проблема са сигурношћу и приватношћу у Питхон коду. Прошле године смо поделили како смо створили Зонцолан, алат за статичку анализу који нам помаже да анализирамо више од 100 милиона линија хацк кода и који је помогао инжењерима да спрече хиљаде потенцијалних сигурносних проблема. Тај успех нас је инспирисао да развијемо Писа, што је скраћеница од Питхон Статиц Анализер.

Писа користи исте алгоритме за извођење статичке анализе и чак дељење кода са Зонцолан. Попут Зонцолана, Писа прати проток података кроз програм.

Корисник дефинише изворе (места одакле потичу важни подаци), као и тоне (места на којима изворни подаци не би требало да се завршавају).

За безбедносне апликације, најчешћи типови извора су места на којима подаци које контролише корисник улазе у апликацију, попут речника Дјанго.

Пријемници су обично много разноврснији, али могу да укључују АПИ-је који покрећу код, као што је eval, или АПИ-ји који приступају систему датотека, као што јеos.open

Писа изводи итеративне рунде анализе како би створио апстракте да би се утврдило које функције враћају податке из извора, а које имају параметре који на крају ударе у судопер. Ако Писа открије да се извор на крају повезује са судопером, пријављује проблем. 

Рад анализатора своди се на идентификовање долазних извора података и опасне позиве, у којима не би требало користити оригиналне податке.

Писа надгледа пролазак података кроз ланац позива функција и повезује оригиналне податке са потенцијално опасним местима у коду.

Будући да за властите производе користимо Питхон сервере отвореног кода попут Дјанго и Торнадо, Писа ће можда почети да се сусреће са безбедносним проблемима у пројектима који користе те оквире од првог покретања. Коришћење Писе за оквире за које још увек немамо покривеност углавном је једноставно као додавање неколико конфигурационих линија да би се Писи рекло одакле подаци долазе на сервер.

Честа рањивост коју је идентификовао Писа је отворени проблем преусмеравања (ЦВЕ-2019-19775) на платформи за размену порука Зулип, узрокован прослеђивањем нечистих спољних параметара при приказивању сличица.

Писине могућности праћења протока података могу се користити за потврђивање употребе додатних оквира и утврђивање усклађености са политикама коришћења корисничких података.

Нпр Писа без додатних конфигурација може се користити за верификацију пројеката помоћу оквира Ђанго и Торнадо. Писа такође може да идентификује уобичајене рањивости у веб апликацијама, попут замене СКЛ-а и скриптирања на више локација (КССС).

На Фејсбуку се анализатор користи за верификацију кода услуге Инстаграм. Током првог квартала 2020. године, Писа је помогао да се идентификује 44% свих проблема које су пронашли Фацебоок инжењери у Инстаграм-овој бази кодова на серверу.

У процесу је идентификовано 330 проблема аутоматизоване верификације промена помоћу Писа, од којих је 49 (15%) оцењено као значајно, а 131 (40%) није опасно. У 150 случајева (45%) проблеми су приписани лажно позитивним резултатима.

Нови рашчлањивач дизајниран је као додатак пакету алата за верификацију типа Пире и налази се у вашем спремишту. Код је објављен под МИТ лиценцом.

Коначно ако желите да сазнате више о томе, детаље можете проверити у оригиналном посту. Веза је ово.


Садржај чланка се придржава наших принципа уређивачка етика. Да бисте пријавили грешку, кликните овде.

Будите први који ће коментарисати

Оставите свој коментар

Ваша емаил адреса неће бити објављена.

*

*

  1. За податке одговоран: Мигуел Ангел Гатон
  2. Сврха података: Контрола нежељене поште, управљање коментарима.
  3. Легитимација: Ваш пристанак
  4. Комуникација података: Подаци се неће преносити трећим лицима, осим по законској обавези.
  5. Похрана података: База података коју хостује Оццентус Нетворкс (ЕУ)
  6. Права: У било ком тренутку можете ограничити, опоравити и избрисати своје податке.