21 децембар 2021

Трансфер дигиталног блама

Десет дана чекам да се запали интернет и ништа. Још два чеках да га барем угасе и опет ништа. У међувремену прослaвих  св. Николу молећи га да спаси душе наше, па ако баш нема ко други ево ја ћу:
Свако ко се  разуме у основе програмерањa, или је на нивоу приправника за безбедност софтвера, или је барем гуглао хакерске појмове упознат је са чињеницом да се 9.12.2021. узима као Zero-Day у информационим технологијма. Међутим, запањујуће  је да се о томе још увек не прича на свим медијима, у дневној штампи, међу лаицима и  изненађујуће је да нема панике код свих који користе било коју интернет услугу од плаћања рачуна, преко слања порука па до заказивња термина за посош или било ког вида дигиталне ауторизације какав је на пример провера ковид сертификата. Последице су могле (или су можда ) катасторфалне по сваког појединца. Да прецизирам - не мислим на онај  виртулени свет, већ на (још увек) овај стварни. Елам, тај дан је дијагностификован епохални збир пропуста у информационим тахнологијама који су могли да нам салдо на рачунима у банкама сведу на нулу (мислим на оне који нису у дозвољеном минусу), да нам на јавни увид доставе тајне податке још тајнијих служба, презентирају технологије за израду атомске бомбе, свим контактима проследе сву нашу поверљиву коренсподенцију , да нам униште, замене или украду дигиталне идентитете. Нећу даље, ваљда сам већ довољно јасан, а што је још горе и потпуно прецизан и врло опрезан са употребом термина како бих избегао очито непотребан додатни сензационализам.
Пропуст о коме је реч је заведен као  CVE-2021-44228  , а познат као log4shell  и сврстан је у најтежи могући ниво безведоносног пропуста која означава ону ситуацију када неко може да у потпуности овлада нападнутом инфраструктуру  било приступом самом серверу, његовим подацима или извршавањем било ког програма у било ком режиму,  а са могућношћу да о таквом систему  има потпуна сазнања. Ја немам довољно капацитета да сагледам целу слику, мислим да нема ни један појединац, а и крајње би неозбиљно било да се било који стручњак информационих технологија сада бави пропустима за које и сам може да сноси одговорност. Мислим да се комплетна струка довољно искомпромитовала, па да ни највећи експерти из ове области немају право да се овим баве, а што је најгоре једини се  у овом тренутку заинтересовани. Проблем је много изнад  правне одговорности  јер је по том питању законодавство нејасно, тј. комплетни постојећи и доступан правни сиистем није у стању да третира ову ситуацију.  Наравно, свестан сам да информатичари  и не могу бити одговорни за широке друштвене односе којима се силом прилика, а махом површно баве, нити желим да нападнем своје колеге већ желим да укажем на трагичност идолопоклоничког третирања техологије и опсаност од успоставе вештачког система где софтверске технократе почињу да се баве и бивају одговорни за ствари, појаве, идеје и ситуације који свакако превазилазе њихове могућности.  Шта више, похвалио бих реакцију доброг дела струке која је пре свега морално исправо и потуно стручно реаговала на накнадну свест о овам пропусту. Програмери који су открили овај пропуст су регуларно и јавно објавили проблем, непрофитна организација која се бавила одржавањем верзије компромитоване софтверске билиотека брзо је изашла са исправком. Толико од програмера. Зар то није довољно  када се испоствља да и сами нису свесни величине пропуста? Или су, можда, заузели позицију да се на евентуланом судском процесу ваде на неурачунљивост?
Оно што је запрепашћујуће је да је у периоду дужем од 5 година било могуће искористити ове пропусте и појављује се оправдани страх од могуће злоупотребе, а што је још горе и несигурност  да још увек постоје слични или пак потуно различити пропусти. Према првим грубим проценама око 10 милиона програмера је саучесник у овом чину без предомишљаја, негде око 2 милиона апликација је проблематично и милијарду уређаје је потенционално могло бити компромитовано. Како? Мислим да би у овом случају свака теорија завере била олакшавајућа околност, повољнија и разумљивија верзија, јер се испоствља да је проблем већи због евидентног недостатка колективне свест, јесне поделе одговрности, изостанка критичког става и неоправданог очекивања да неко други боље ради посао од онога који је за то плаћен. Конкретно  - велики проценат програмера је користио јавно доступну бесплатну бибикотеку Apache log4j2  за надгледање сопствених апликација. Испоставило се да та библиотека, која је неформални стандард у том домену, може да користи механизам именовања  JNDI lookup који дозвољава инстанцирање било које софтверске компоненте па самим тим и програма, а да ствар постане кобна такав програм може бити инсталиран на било ком рачунару користећи удаљени приступ RMI или LDAP протокол. (Једноставније од овога не може да се објасни). Тако компромитовани сервер на сопственом хардверу користећи соптвени оперативни систем и све своје подакте може да ради било шта у име онога ко га је заузео. Тиме, било ко коме је додељен приступ као обичном крајњем кориснику може да у потпуности овлада овлашћенима као да је његов најпоузанији администатор. На пример, уместо да се на фејсбук улогује као корисник на образцу за логовање могло је се унести позната и јавно документована команда којом ће сервер дозволити да буде запоседнут апликацијом која се покреће са личног рачунара и тако да се постане администратор фејсуковог сервера на коме се налазе сви подаци о свим његовим корисницима. Исто тако и за банку, пословну апликацију, владину агенцију, научну лабараторију, здравствену установу, фабрику лекова, вакцина ....
На први поглед ово је велики блам, али тај осећај се врло брзо прелази или у параноју или комлетно порицање  или барем збијање шала на рачун интелигенције. Програмери , к`о програмери, они су се прво трудили да објасне шта се десило, без икакве жеље да анализирају  последице. Одмах се појавило брдо експерата  који брзо куцају по тастатури, користе терминеле, стурчне термине, затамљен мод и појмове ( "познaју довољно ефектних фраза") да зесене простоту чињенице да смо толико оманули.  Мени је нејефектије било објашњењe чoвекa који себе представља као познатог хакера. Он себи не може да опртости чињеницу да није увидео толико очигледан пропуст иако тврди да се одувек зна колико су програмери површни, плитки и необучени да сагледају ширу слику и као такви стално подложни да праве озбиљне пропусте! Остаје невероватно како су толике владине безбедносне агенције, толики антивирусни програми, експерти за безбведност остали слепи за овакву могућност. Сигурно су хиљаде милијарди долара до сада уложене у овим областима,  а испоставило се да постоји пропуст кога су могли да злоупотребе милиони корисника јавно доступног знања.  На почетку је  био мали рат пребацивања одговорности ко је то први видео јер постоји званичан податак да су 15ак дана раније програмери кинеске компаније у чијем је власништву сајт Али-Баба бавили тим пропустима, но све се стишало када се испоставило да постоји јавно доступан траг да су они овај пропуст тада и пријавили. Неизбежно је питање шта се дешавало у том периоду, како то да нико није одмах реаговао већ се узбуна дигла тек 9.12.2020. Можда је нејефектинији тренутак када се на једној конференцији из 2016. на којој се презентира   једна од тих технологија чује питање из публике о могућности злоупотребе. Програмер самоуверено одговара да  нико норамалан то не би уградио у своју апликацију, а испоствља се да истовремено фирма за коју ради користи такву компоненту. Било је десетине хиљада прегледа те презентације само на једном јавном каналу и нико ништа!?
Ако је то било могуће, све је могуће! У преводу и опет - Ја не умем да изведем било какав  ваљан закључак чиме завршавам моју мисију да помогнем у обавештавању како би се пронашле компетентне и кредибилне институције које би требало да су у стању да поставе дијагнозу и понуде некакво решење за овакве ситуације, јер смо сада сви сигурни да ће се овакви сценарији понављати .




2 коментара:

ERP интегратор - преводилац са корисничког на програмерски језик

У изреци "Ако брег неће Мухамеду, хоће Мухамед брегу!" свако, и од корисника и од програмера, тачно зна шта се на кога односи. Сви...