Компанија Microsoft је недавно представила Пројекат Mu, најављујући „фирмвер као услугу“ за подржане хардверске компоненте. Овај потез захтева пажњу сваког произвођача рачунара, јер је познато да је безбедносно ажурирање UEFI фирмвера од кључне важности, а произвођачи нису увек најбоље обављали посао у дистрибуцији ових ажурирања.
Шта је заправо UEFI фирмвер?
Уместо застарелог BIOS-а, савремени рачунари користе UEFI фирмвер. То је софтвер ниског нивоа који се активира када укључите рачунар. Његова улога је да изврши тестирање и иницијализацију хардвера, подеси систем на ниском нивоу, а затим покрене оперативни систем са интерног диска или другог уређаја за покретање.
Међутим, UEFI је сложенији од свог претходника, BIOS-а. На пример, рачунари са Intel процесорима имају нешто што се зове Intel Management Engine, који је у суштини засебан оперативни систем. Он ради упоредо са Windows, Linux или било којим другим оперативним системом који користите. На корпоративним мрежама, системски администратори могу користити функције Intel ME за даљинско управљање рачунарима.
UEFI такође укључује „микрокод“ процесора, који се може посматрати као фирмвер самог процесора. Када се рачунар укључи, он учитава микрокод из UEFI фирмвера. Замислите га као преводиоца који трансформише софтверске инструкције у хардверске наредбе које извршава процесор.
Зашто су потребна безбедносна ажурирања за UEFI фирмвер?
Протекло време је у више наврата показало колико је важно благовремено ажурирање безбедности UEFI фирмвера.
Пример је Spectre из 2018. године, који је открио озбиљне структурне проблеме са модерним процесорима. Због „спекулативног извршавања“, програми су могли да заобиђу безбедносне баријере и приступе заштићеним деловима меморије. Поправке за Spectre су захтевале ажурирање микрокода процесора. То је значило да су произвођачи рачунара морали да ажурирају све своје лаптопове и десктоп рачунаре – а произвођачи матичних плоча све своје матичне плоче – новим UEFI фирмвером који укључује ажурирани микрокод. Ваш рачунар није био заштићен од Spectre-а уколико нисте инсталирали UEFI ажурирање фирмвера.
AMD је такође објавио ажурирања микрокода како би заштитио системе са AMD процесорима од Spectre напада, тако да се проблем не тиче само Intel-а.
Intel Management Engine је такође био погођен безбедносним пропустима, који су могли омогућити нападачима са локалним приступом да пробију софтвер Management Engine-а или дозволити да нападачи са удаљеног приступа изазову проблеме. На срећу, напади са удаљености су утицали само на компаније које су користиле Intel Active Management Technology (AMT), тако да већина корисника није била угрожена.
Ово су само неки од примера. Истраживачи су демонстрирали да је могуће злоупотребити UEFI фирмвер на одређеним рачунарима и добити дубоки приступ систему. Чак су показали упорни ransomware који је приступио UEFI фирмверу и покренуо се одатле.
Индустрија би требало да третира ажурирање UEFI фирмвера као било које друго ажурирање софтвера, како би се заштитила од ових и будућих пропуста.
Како је процес ажурирања био неефикасан годинама?
Процес ажурирања BIOS-а је одувек био проблематичан, чак и пре UEFI-ја. Рачунари су традиционално долазили са застарелим BIOS-ом, а могућност да ствари крену наопако је била мања. Произвођачи рачунара су евентуално објављивали мања BIOS ажурирања како би поправили ситне проблеме, али генерални савет је био да их избегавате уколико ваш рачунар ради добро. Често сте морали да покренете систем са DOS boot-a да бисте флешовали BIOS ажурирање, а познате су приче о неуспелим ажурирањима BIOS-а који су онемогућавали рачунаре.
Ствари су се промениле. UEFI фирмвер је много комплекснији, а Intel је у последњих неколико година објавио велики број ажурирања за микрокод процесора и Intel ME. Када Intel објави ажурирање, једино што може је да упути корисника на произвођача рачунара. Произвођач вашег рачунара – или произвођач матичне плоче, ако сте га сами склапали – мора да преузме код од Intel-а и угради га у нову верзију UEFI фирмвера. Затим морају да тестирају фирмвер. Сваки произвођач мора да понови овај процес за сваки рачунар који продаје, јер сваки има другачији UEFI фирмвер. Ово је ручни рад због кога је ажурирање Android телефона раније било толико тешко.
У пракси, то значи да често треба доста времена – месеци – да се добију критична безбедносна ажурирања која се морају дистрибуирати преко UEFI-ја. То такође значи да су произвођачи могли да одбију да ажурирају рачунаре који су стари само неколико година. Чак и када објављују ажурирања, она су често скривена на сајтовима за техничку подршку произвођача. Већина корисника неће ни приметити да постоје ажурирања UEFI фирмвера и неће их инсталирати, што значи да се пропусти задржавају на рачунарима дуго времена. Неки произвођачи и даље захтевају инсталацију ажурирања фирмвера путем DOS-а, што додатнио компликује ствари.
Шта се предузима да се ситуација поправи?
Ситуација је неприхватљива. Потребан нам је једноставнији процес који омогућава произвођачима да лакше креирају ажурирања UEFI фирмвера. Такође нам је потребан бољи начин за дистрибуцију ових ажурирања, како би корисници могли да их аутоматски инсталирају. Тренутно је процес споро и ручан – требало би да буде брз и аутоматизован.
То је управо оно што Microsoft покушава да постигне са Пројектом Mu. Ево како званична документација објашњава циљ пројекта:
Mu је заснован на идеји да је испорука и одржавање UEFI производа континуирана сарадња између бројних партнера. Предуго је индустрија стварала производе користећи модел „рачвања“ у комбинацији са копирањем/лепљењем/преименовањем, а са сваким новим производом, оптерећење одржавањем расте до тачке у којој су ажурирања готово немогућа због трошкова и ризика.
Пројекат Mu има за циљ да помогне произвођачима рачунара да брже креирају и тестирају UEFI ажурирања, поједностављујући процес развоја UEFI-ја и подстичући сарадњу. Надајмо се да је ово кључни део који недостаје, јер је Microsoft већ олакшао произвођачима да аутоматски дистрибуирају UEFI ажурирања фирмвера корисницима.
Конкретно, Microsoft дозвољава произвођачима рачунара да објављују ажурирања фирмвера преко Windows Update-а, и пружа документацију о томе још од 2017. године. Microsoft је такође најавио Ажурирање фирмвера компоненти; модел отвореног кода који произвођачи могу користити за ажурирање UEFI-ја и осталог фирмвера, још у октобру 2018. Ако произвођачи рачунара прихвате ову иницијативу, могли би брзо да дистрибуирају ажурирања фирмвера свим корисницима.
Ово се не тиче само Windows-а. На Linux-у, програмери такође раде на томе да олакшају произвођачима рачунара да објављују UEFI ажурирања преко LVFS, Linux Firmware Vendor Service. Произвођачи рачунара могу да шаљу своја ажурирања, а она ће се појављивати за преузимање у GNOME софтверској апликацији, која се користи на Ubuntu-у и многим другим Linux дистрибуцијама. Ова иницијатива датира још од 2015. године. Произвођачи рачунара као што су Dell и Lenovo учествују у пројекту.
Ова решења за Windows и Linux могу се применити не само на UEFI ажурирања. Произвођачи хардвера би их могли користити за ажурирање свега, од фирмвера USB миша до фирмвера SSD дискова у будућности.
Као што је SwiftOnSecurity нагласио, када говоримо о проблемима са фирмвером и шифровањем SSD дискова, ажурирања фирмвера могу бити поуздана. Морамо очекивати боље од произвођача хардвера.
Ажурирања фирмвера могу бити поуздана. Лично сам извршио најмање 3.000 ажурирања Dell BIOS-а са само једном грешком, и тај стари рачунар је већ био оштећен.
Преиспитајте своје мишљење о томе шта је немогуће. Сервисирање фирмвера није ни немогуће ни ризично. То само захтева да се људи заложе за боља решења.
— SwiftOnSecurity (@SwiftOnSecurity) 6. новембра 2018. године
Заслуге за слике: Intel, Natascha Eibl, kubais/Shutterstock.com.