Најчешће коришћени исечак Јава кода на Стацк Оверфлов-у садржи грешку

Јава

Студија објављена у Октобра 2018 у часопису Емпирицал Софтваре Енгинееринг академика Себастијана Балтеса и Степхана Диехла је открио да је исечак кода наведен у одговор на питање од Преливање стека у септембру 2010. Андреас Лундблад, Јава програмер у Палантиру, То је најчешће коришћени фрагмент Јава кода на платформи заједнице.

Међутим, у посту прошле недеље, Лундблад је објаснио да је код неисправан и да је погрешно претворио број бајтова у читљивим форматима. Дотични код акумулирао је више од хиљаду препорука, а такође је укључен у многе пројекте и налази се у спремиштима на ГитХуб-у приближно 7 хиљада пута.

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

Разматрани код претворио је величину бајта у читљив облик, на пример у 110592 „110.6 кБ“ или „108.0 КиБ“. Код је предложен као варијанта претходно предложеног савета, оптимизованог помоћу логаритама, у коме је вредност одређена дељењем почетне вредности у циклусу са «10 18, 10 15, 10 12, 10 19, 10 6, 10 3 и 10 0 ″ , чак и док је делилац већи од изворне вредности у бајтовима.

Због нетачних прорачуна у оптимизованој верзији (дуго преливање вредности), резултат обраде врло великих бројева (ексабајти) нису одговарали стварности.

Лундблад је објаснио да код садржи тривијалну грешку конверзије која је резултирала само нетачним проценама величине датотеке. С тим у вези, процењује се да би то било много горе од тога.

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

Аутор савета такође је покушао да скрене пажњу на проблем да користе примере без позивања на извор и без навођења лиценце.

„У заједничким сесијама које су укључивале више људских кодера, ручно смо проценили сваки део кода на безбедносне рањивости према упутствима ЦВЕ (Цоммон Веакнесс Енумератион).

Од 72,483 скенираних исечака кода коришћених у најмање једном пројекту који хостује ГитХуб, пронашли смо укупно 69 осетљивих исечака кода класификованих у 29 типова. Многи проучени исечци кода још нису исправљени “, рекли су истраживачи у свом извештају.

69 рањивих фрагмената кода пронађено на Стацк Оверфлов поново коришћена у укупно 2859 ГитХуб пројеката. Да би побољшали квалитет дељених фрагмената кода на Стацк Оверфлов-у, развили су екстензију прегледача која омогућава корисницима Стацк Оверфлов-а да претражују рањивости у фрагментима када их преузму на платформу.

Међутим, упркос напоменама истраживача, програмери и даље копирају Стацк Оверфлов код у своје пројекте без извођења анализе.

Асхкан Сами, ванредни професор информатике, инжењеринг и информациона технологија са Универзитета Схираз у Ирану, рекао је то

„Истраживање је покушало да се испита како се неисправан код мигрира из Стацк Оверфлов-а у ГитХуб. У основи, оно што смо покушавали да покажемо је да коришћење кода Стацк Оверфлов-а без његовог пажљивог испитивања може довести до рањивости апликација “, рекао је Сами. Студија се такође односи на академски чланак из 2017. године.

Према овом чланку, 1161 небезбедних исечака кода постављених на Стацк Оверфлов коришћено је у 1.3 милиона Андроид апликација доступних на Гоогле Плаи-у.

Поред претходне студије, 46% програмера који су користили СтацкОверфлов код без навођења аутора, 75% није знало да је код лиценциран под ЦЦ БИ-СА и 67% није знало да то подразумева потребу приписивање.

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

На пример, након анализе 72483 узорака Ц ++ кода на СтацкОверфлов-у, истраживачи су идентификовали озбиљне рањивости у 69 узорака (што је 0.09%), укључених у листу најпопуларнијих препорука.

izvor: https://programming.guide


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

Ваша емаил адреса неће бити објављена. Обавезна поља су означена са *

*

*

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