Тројански извор, напад који омогућава додавање промена кода невидљивих програмеру

Пре неколико дана Истраживачи са Универзитета Кембриџ објавили објављивање техника суптилне замене кодова злонамерно у изворном коду апликације.

Метода напада је то припремила Већ је наведен под ЦВЕ-2021-42574 Долази под именом Тројан Соурце и заснива се на формирању текста који изгледа другачије компајлеру/преводиоцу и особи која гледа код.

О Тројанском извору

Метода ослања се на примену посебних Уницоде знакова у коментарима кода, који мењају редослед приказа двосмерног текста. Уз помоћ ових контролних знакова, неки делови текста се могу приказати с лева на десно, док други с десна на лево.

У свакодневној пракси, ови контролни знакови се могу користити, на пример, за уметање хебрејских или арапских стрингова у датотеку кода. Међутим, ако користите ове знакове да комбинујете редове са различитим правцима текста на истом реду, одломци текста приказани с десна на лево могу да се преклапају са постојећим нормалним текстом приказаним с лева на десно.

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

Открили смо начине да манипулишемо кодирањем датотека изворног кода тако да људски гледаоци и компајлери виде другачију логику. Једна посебно погубна метода користи Уницоде знакове за затирање усмерености да прикаже код као анаграм његове праве логике. Проверили смо да овај напад функционише против Ц, Ц++, Ц#, ЈаваСцрипт, Јава, Руст, Го и Питхон-а, и сумњамо да ће функционисати против већине других модерних језика.

Док прегледате код, програмер ће се суочити са визуелним редоследом ликова и видеће сумњив коментар у уређивачу текст, веб интерфејс или ИДЕ, али ће компајлер и интерпретатор користити логички редослед знакова и руковати злонамерним кодом како јесте, без обзира на двосмерни текст у коментару. Погођено је неколико популарних уређивача кода (ВС Цоде, Емацс, Атом), као и интерфејси за преглед кода у репозиторијумима (ГитХуб, Гитлаб, БитБуцкет и сви Атлассиан производи).

Постоји неколико начина да се метода користи за имплементацију злонамерних радњи: додајте скривени израз „повратак“, што доводи до превременог прекида извршења функције; закључак у коментару израза који се обично сматрају важећим конструкцијама (на пример, да се онемогуће важне провере); Додељивање других вредности стрингова што доводи до неуспеха валидације стрингова.

Поред тога, предложена је још једна опција напада (ЦВЕ-2021-42694), која укључује употребу хомоглифа, симболи који изгледају слично по изгледу, али се разликују по значењу и имају различите Уницоде кодове. Ови знакови се могу користити у неким језицима у називима функција и променљивих да би заварали програмере. На пример, можете дефинисати две функције са неразлучивим именима које обављају различите радње. Без детаљне анализе, не можете одмах разумети која се од ове две функције зове на одређеном месту.

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

поред тога рањивости су већ почеле да се отклањају припремљено за ГЦЦ, ЛЛВМ / Цланг, Руст, Го, Питхон и бинутилс. ГитХуб, Битбуцкет и Јира су такође већ у припреми решења заједно са ГитЛабом.

Коначно Ако сте заинтересовани да сазнате више о томе, можете се консултовати детаље у следећем линку.


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

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

*

*

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