Bròg earbsach Schrödinger. Intel boot geàrd

Bròg earbsach Schrödinger. Intel boot geàrd
Tha sinn a 'moladh a dhol sìos chun na h-ìre ìosal a-rithist agus bruidhinn mu thèarainteachd àrd-ùrlaran coimpiutair co-chòrdail firmware x86. An turas seo, is e prìomh ghrìtheid an sgrùdaidh Intel Boot Guard (gun a bhith air a mheasgadh le Intel BIOS Guard!) - teicneòlas bròg earbsach BIOS le taic bathar-cruaidh as urrainn do reiceadair siostam coimpiutair tionndadh air no dheth gu maireannach aig ìre toraidh. Uill, tha fios againn mu thràth air an reasabaidh rannsachaidh: gearradh gu tana air buileachadh an teicneòlais seo le innleadaireachd cùil, thoir cunntas air an ailtireachd aige, ga lìonadh le mion-fhiosrachadh gun sgrìobhainn, ràithe e le vectaran ionnsaigh gus blasad fhaighinn agus measgachadh. Nach cuir sinn teine ​​​​le sgeulachd mu mar a tha bug clonaichte ann an cinneasachadh grunn luchd-reic airson bhliadhnaichean a ’leigeil le neach-ionnsaigh a dh’ fhaodadh an teicneòlas seo a chleachdadh gus rootkit falaichte a chruthachadh nach gabh a thoirt air falbh (eadhon le prògramadair) san t-siostam.

Co-dhiù, tha an artaigil stèidhichte air na h-aithisgean “On Guard for Rootkits: Intel BootGuard” bhon cho-labhairt Oidhche neoni 2016 agus an 29mh coinneamh DefCon an Ruis (an dà thaisbeanadh an seo).

Firmware airson àrd-ùrlar coimpiutair le Intel 64 ailtireachd

An toiseach, freagraidh sinn a ’cheist: dè a th’ ann am firmware àrd-ùrlar coimpiutair ùr-nodha le ailtireachd Intel 64? Gu dearbh, UEFI BIOS. Ach cha bhi am freagairt seo ceart. Bheir sinn sùil air an fhigear, a tha a’ sealltainn an dreach deasg (laptop) den ailtireachd seo.

Bròg earbsach Schrödinger. Intel boot geàrd
Is e am bunait an ceangal:

  • Pròiseasar (CPU, Aonad Pròiseas Meadhanach), aig a bheil, a bharrachd air na prìomh choraichean, cridhe grafaiceachd togte (chan eil anns a h-uile modal) agus rianadair cuimhne (IMC, Rianadair Cuimhne Amalaichte);
  • Chipset (PCH, Platform Controller Hub), anns a bheil diofar riaghladairean airson eadar-obrachadh le innealan iomaill agus riaghladh fo-shiostaman. Nam measg tha an Intel Management Engine (ME) ainmeil, aig a bheil firmware cuideachd (firmware Intel ME).

Feumaidh coimpiutairean-glùine, a bharrachd air na tha gu h-àrd, rianadair aonaichte (ACPI EC, Smachd Adhartach agus Rianadair Leabaichte Eadar-aghaidh Cumhachd), air a bheil uallach airson obrachadh an fho-shiostam cumhachd, touchpad, meur-chlàr, iuchraichean Fn (soilleireachd sgrion, tomhas-fuaim, meur-chlàr). backlight, msaa) agus barrachd. Agus tha firmware aige fhèin cuideachd.

Mar sin, is e am cothlamadh den firmware gu h-àrd firmware an àrd-ùrlar coimpiutair (firmware siostaim), a tha air a stòradh air cuimhne flash SPI cumanta. Gus nach bi luchd-cleachdaidh a 'chuimhne seo a' faighinn troimhe-chèile far a bheil cuideigin na laighe, tha susbaint na cuimhne seo air a roinn anns na roinnean a leanas (mar a chithear san fhigear):

  • UEFI BIOS;
  • Firmware ACPI EC (nochd roinn air leth le microarchitecture pròiseasar Skylake (2015), ach anns an fhiadhaich chan fhaca sinn eisimpleirean de chleachdadh fhathast, agus mar sin tha am firmware smachd freumhaichte fhathast mar phàirt de BIOS UEFI);
  • Firmware Intel ME;
  • rèiteachadh (seòladh MAC, msaa) den inneal-atharrachaidh lìonra GbE (Gigabit Ethernet) a chaidh a thogail a-steach;
  • tuairisgeulan flash - am prìomh roinn de chuimhne flash, anns a bheil comharran gu roinnean eile, a bharrachd air ceadan faighinn thuca.

Bròg earbsach Schrödinger. Intel boot geàrd
Tha eadar-dhealachadh ruigsinneachd gu roinnean (a rèir nan ceadan ainmichte) air a làimhseachadh le maighstir bus SPI - an rianadair SPI a chaidh a thogail a-steach don chipset, tron ​​​​gheibhear cothrom air a’ chuimhne seo. Ma tha na ceadan air an suidheachadh a rèir nan luachan a tha Intel a’ moladh (airson adhbharan tèarainteachd), tha làn chothrom aig gach neach-cleachdaidh den flash SPI (leugh / sgrìobh) don sgìre aca a-mhàin. Tha an còrr an dàrna cuid ri leughadh a-mhàin no ruigsinneach. Fìrinn aithnichte: air mòran shiostaman, tha làn chothrom aig an CPU air UEFI BIOS agus GbE, leugh ruigsinneachd a-mhàin gu tuairisgeulan flash, agus chan eil cothrom air roinn Intel ME idir. Carson a tha mòran agus nach eil a h-uile? Tha an rud a thathar a’ moladh roghainneil. Innsidh sinn barrachd dhut nas fhaide air adhart san artaigil.

Innealan airson firmware àrd-ùrlar coimpiutair a dhìon bho atharrachadh

Gu dearbh, bu chòir firmware àrd-ùrlar coimpiutair a bhith air a dhìon bho cho-rèiteachadh a dh’ fhaodadh a bhith ann, a leigeadh le neach-ionnsaigh a dh’ fhaodadh a bhith ann (ùrachadh / ath-shuidheachadh OS a chumail beò), an còd aca a chuir an gnìomh anns na modhan as sochairiche, msaa. Agus chan eil a bhith a’ cuingealachadh ruigsinneachd gu roinnean cuimhne flash SPI, gu dearbh, gu leòr. Mar sin, thathas a’ cleachdadh diofar uidheamachdan a tha sònraichte do gach àrainneachd gnìomh gus am firmware a dhìon bho atharrachaidhean.

Mar sin, tha am firmware Intel ME air a shoidhnigeadh airson smachd ionracas agus dearbhteachd, agus thèid a sgrùdadh leis an rianadair ME gach uair a thèid a luchdachadh a-steach do chuimhne ME UMA. Tha am pròiseas dearbhaidh seo air a dheasbad leinn mu thràth ann an aon de na artaigileancoisrigte don fho-shiostam Intel ME.

Agus tha firmware ACPI EC, mar riaghailt, air a sgrùdadh a-mhàin airson ionracas. Ach, leis gu bheil am binary seo air a ghabhail a-steach don UEFI BIOS, cha mhòr nach eil e an-còmhnaidh fo smachd na h-aon uidheamachdan dìon a bhios an UEFI BIOS a ’cleachdadh. Bruidhnidh sinn mun deidhinn.

Faodar na h-innealan sin a roinn ann an dà roinn.

Sgrìobh dìon gu roinn UEFI BIOS

  1. Dìon corporra de shusbaint cuimhne flash SPI le geansaidh dìon-sgrìobhaidh;
  2. Dìon ro-mheasadh sgìre UEFI BIOS anns an àite seòlaidh CPU a’ cleachdadh clàran PRx an chipset;
  3. A’ bacadh oidhirpean sgrìobhadh gu roinn UEFI BIOS le bhith a’ gineadh agus a’ giullachd a’ bhriseadh SMI co-fhreagarrach le bhith a’ suidheachadh na pìosan BIOS_WE / BLE agus SMM_BWP anns na clàran chipset;
  4. Is e dreach nas adhartaiche den dìon seo Intel BIOS Guard (PFAT).

A bharrachd air na h-innealan sin, faodaidh luchd-reic na ceumannan tèarainteachd aca fhèin a leasachadh agus a bhuileachadh (mar eisimpleir, soidhnigeadh capsalan le ùrachaidhean UEFI BIOS).

Tha e cudromach cuimhneachadh, air siostam sònraichte (a rèir an neach-reic), nach fhaodar na h-innealan dìon gu h-àrd a chuir an sàs, is dòcha nach tèid an cur an sàs idir, no faodar an cur an gnìomh ann an dòigh so-leònte. Faodaidh tu barrachd a leughadh mu na h-innealan sin agus an suidheachadh le bhith gan cur an gnìomh an artaigil seo. Dhaibhsan aig a bheil ùidh, tha sinn a’ moladh gun leugh thu an t-sreath iomlan de artaigilean air tèarainteachd UEFI BIOS bho Còd Ruith.

Dearbhadh dearbhaidh UEFI BIOS

Nuair a bhios sinn a’ bruidhinn mu theicneòlasan bròg earbsach, is e Secure Boot a’ chiad rud a thig gu inntinn. Ach, a thaobh ailtireachd, tha e air a dhealbhadh gus co-phàirtean a dhearbhadh taobh a-muigh BIOS UEFI (dràibhearan, luchdan, msaa), agus chan e am firmware fhèin.

Mar sin, chuir Intel ann an SoCs leis an Bay Trail microarchitecture (2012) an gnìomh Bathar-cruaidh tèarainte neo-atharrachail (Bot dearbhaichte), aig nach eil gnothach sam bith ris an teicneòlas Secure Boot a chaidh ainmeachadh roimhe. Nas fhaide air adhart (2013), chaidh an uidheamachd seo a leasachadh agus, fon ainm Intel Boot Guard, chaidh a leigeil ma sgaoil airson deasg le microarchitecture Haswell.

Mus toir thu cunntas air Intel Boot Guard, leig dhuinn sùil a thoirt air na h-àrainneachdan cur gu bàs ann an ailtireachd Intel 64, a tha, còmhla, nam freumhan earbsa airson an teicneòlas bròg earbsach seo.

Intel CPU

Tha Cap a 'moladh gur e am pròiseasar am prìomh àrainneachd cur gu bàs ann an ailtireachd Intel 64. Carson a tha e cuideachd na bhunait earbsa? Tha e a 'tionndadh a-mach gur e seilbh nan eileamaidean a leanas a tha ga dhèanamh mar sin:

  • Tha microcode ROM na chuimhne neo-luaineach, neo-ath-sgrìobhadh airson microcode a stòradh. Thathar a 'creidsinn gur e microcode a bhith a' cur an gnìomh siostam stiùiridh pròiseasar air an stiùireadh as sìmplidh. A 'tachairt ann am microcode cuideachd biastagan. Mar sin anns an BIOS gheibh thu binaries le ùrachaidhean microcode (tha iad air an cuir thairis aig àm tòiseachaidh, oir chan urrainnear an ROM a sgrìobhadh thairis air). Tha susbaint nam binaries sin air a chrioptachadh, a tha gu mòr a ’dèanamh mion-sgrùdadh air iom-fhillteachd (mar sin, chan eil fios aig susbaint sònraichte a’ mhicrocode ach dhaibhsan a tha ga leasachadh), agus air a shoidhnigeadh gus smachd a chumail air ionracas agus dearbhteachd;
  • iuchair AES gus susbaint ùrachaidhean microcode a dhì-chrioptachadh;
  • hash de iuchair phoblach RSA a dhearbhas ainm-sgrìobhte ùrachaidhean microcode;
  • hash iuchair phoblach RSA, a nì sgrùdadh air ainm-sgrìobhte modalan còd ACM (Modal Còd Dearbhte) a chaidh a leasachadh le Intel, a dh’ fhaodas an CPU a ruith mus tòisich am BIOS (hello microcode) no fhad ‘s a bhios e ag obair, nuair a thachras cuid de thachartasan.

Intel ME

Chaidh am fo-shiostam seo nar blog a thoirt seachad dhà artaigilean. Cuimhnich gu bheil an àrainneachd so-ghnìomhaichte seo stèidhichte air an microcontroller a chaidh a thogail a-steach don chipset agus gur e an fheadhainn as falaichte agus as sochairiche san t-siostam.

A dh ’aindeoin an stealth, tha Intel ME cuideachd na bhunait earbsa, leis gu bheil:

  • ME ROM - cuimhne neo-luaineach, neo-ath-sgrìobhadh (chan eil dòigh ùrachaidh air a thoirt seachad), anns a bheil an còd tòiseachaidh, a bharrachd air hash SHA256 de iuchair phoblach RSA, a nì sgrùdadh air ainm-sgrìobhte firmware Intel ME;
  • iuchair AES airson fiosrachadh dìomhair a stòradh;
  • cothrom air seata de fiùsaichean (FPFn, Fuses Prògramaichte Achaidh) amalaichte a-steach don chipset airson stòradh maireannach de chuid de dh'fhiosrachadh, a 'gabhail a-steach fiosrachadh a tha air a shònrachadh le neach-reic an t-siostam coimpiutair.

Intel Boot Guard 1.x

Aithris-àichidh beag. Tha na h-àireamhan dreach de theicneòlas Intel Boot Guard a bhios sinn a’ cleachdadh san artaigil seo neo-riaghailteach agus is dòcha nach eil dad aca ris an àireamhachadh a thathas a ’cleachdadh ann an sgrìobhainnean Intel a-staigh. A bharrachd air an sin, chaidh am fiosrachadh mu bhuileachadh an teicneòlais seo a tha air a thoirt seachad an seo fhaighinn aig àm innleadaireachd cùil, agus dh’ fhaodadh gum biodh mearachdan ann an coimeas ris an t-sònrachadh airson Intel Boot Guard, nach eil dualtach fhoillseachadh a-riamh.

Mar sin, tha Intel Boot Guard (BG) na theicneòlas dearbhaidh BIOS UEFI le taic bathar-cruaidh. A ’breithneachadh leis an tuairisgeul bheag a th’ aige san leabhar [Teicneòlas Tèarainteachd Embedded Platform air fhoillseachadh, Boot Caibideil le Ionracas, no Gun Boot], bidh e ag obair mar shreath bròg earbsach. Agus is e a’ chiad cheangal ann an còd bròg (microcode) taobh a-staigh an CPU, a tha air a phiobrachadh leis an tachartas RESET (gun a bhith air a mheasgadh leis an vectar RESET sa BIOS!). Bidh an CPU a ’lorg modal còd (Intel BG startup ACM) air a leasachadh agus air a shoidhnigeadh le Intel air a’ chuimhne flash SPI, ga luchdachadh a-steach don tasgadan aige, ga dhearbhadh (chaidh a thoirt fa-near mar-thà gu h-àrd gu bheil hash iuchrach poblach aig an CPU a dhearbhas ainm-sgrìobhte ACM ) agus a’ tòiseachadh.

Bròg earbsach Schrödinger. Intel boot geàrd

Tha e an urra ris a ’mhodal còd seo dearbhadh a dhèanamh air pàirt tòiseachaidh beag de BIOS UEFI - Bloc Boot tùsail (IBB), anns a bheil, an uair sin, comas-gnìomh airson prìomh phàirt BIOS UEFI a dhearbhadh. Mar sin, leigidh Intel BG leat dearbhteachd an BIOS a dhearbhadh mus tòisich thu air an OS (a ghabhas coileanadh fo stiùireadh teicneòlas Secure Boot).

Tha teicneòlas Intel BG a’ toirt seachad dà dhòigh obrachaidh (agus chan eil aon a’ cur bacadh air an fhear eile, ie faodar an dà mhodh a chomasachadh air an t-siostam, agus faodar an dà chuid a chiorramachadh).

Boot air a thomhas

Ann am modh Tomhais Tomhais (MB), bidh gach pàirt bròg (a 'tòiseachadh leis an CPU boot ROM) "a' tomhas" an ath fhear a 'cleachdadh comasan a' Mhodail Àrd-ùrlar earbsach (TPM). Dhaibhsan aig nach eil fios, leig dhomh mìneachadh.

Tha PCRn aig TPM (Clàran Rèiteachaidh Àrd-ùrlar), a bhios a’ clàradh toradh gnìomhachd hashing a rèir na foirmle:

Bròg earbsach Schrödinger. Intel boot geàrd

An fheadhainn sin. tha an luach PCR gnàthach an urra ris an fhear roimhe, agus chan eil na clàran sin air an ath-shuidheachadh ach nuair a tha an siostam RESET.

Mar sin, ann am modh MB, aig àm air choreigin, tha PCRn a’ nochdadh aithnichear sònraichte (taobh a-staigh comasan gnìomhachd hash) den chòd no dàta a chaidh a “tomhas”. Faodar na luachan PCR a chleachdadh ann an gnìomhachd cuid de dhàta (TPM_Seal) a chrioptachadh. Às deidh sin, cha bhith e comasach an dì-chrioptachadh aca (TPM_Unseal) ach mura h-eil na luachan PCR air atharrachadh mar thoradh air luchdachadh (ie, chan eil aon phàirt “tomhasach” air atharrachadh).

Boot dearbhaichte

Is e an rud as eagalaiche dhaibhsan a tha dèidheil air UEFI BIOS atharrachadh am modh Verified Boot (VB), anns am bi gach pàirt bròg a’ dearbhadh ionracas agus dearbhteachd an ath fhear gu criptografach. Agus ma thachras mearachd dearbhaidh, bidh (aon de na leanas) a’ tachairt:

  • dùnadh le ùine bho 1 mionaid gu 30 mionaid (gus am bi ùine aig an neach-cleachdaidh tuigsinn carson nach eil an coimpiutair aige a ’bròg, agus, ma ghabhas e dèanamh, feuchaidh e ris an BIOS a thoirt air ais);
  • dùnadh sa bhad (gus nach eil ùine aig an neach-cleachdaidh a thuigsinn agus, a bharrachd air sin, a dhèanamh);
  • leantainn air adhart le obair le aghaidh dhìreach (a 'chùis nuair nach eil ùine ann airson sàbhailteachd, oir tha rudan nas cudromaiche ri dhèanamh).

Tha an roghainn gnìomh an urra ris an rèiteachadh Intel BG ainmichte (is e sin, air a’ phoileasaidh èigneachaidh ris an canar), a tha air a chlàradh gu maireannach leis an neach-reic àrd-ùrlar coimpiutair ann an stòradh a chaidh a dhealbhadh gu sònraichte - fuses chipset (FPFn). Beachdaichidh sinn air a’ phuing seo nas mionaidiche nas fhaide air adhart.

A bharrachd air an rèiteachadh, bidh an neach-reic a ’gineadh dà iuchair RSA 2048 agus a’ cruthachadh dà structar dàta (air a shealltainn san fhigear):

  1. Am follais iuchair freumh an neach-reic (KEYM, OEM Root Key Manifest), a chuireas an SVN (Àireamh Tionndadh Tèarainteachd) den fhoillseachadh seo, an hash SHA256 de iuchair phoblach an ath fhoillseachadh, iuchair phoblach an RSA (ie am pàirt phoblach den fhaidhle). reiceadair root key) gus ainm-sgrìobhte an fhollaiseach seo agus an ainm-sgrìobhte fhèin a dhearbhadh;
  2. An IBB Manifest (IBBM, Tòiseachadh Boot Block Manifest), a tha a’ cur an SVN den fhoillseachadh seo, hash SHA256 an IBB, an iuchair phoblach airson ainm-sgrìobhte an fhollaiseach seo a dhearbhadh, agus an ainm-sgrìobhte fhèin.

Tha an hash SHA256 den OEM Root Key air a sgrìobhadh gu maireannach gu fuses chipset (FPFn), dìreach mar an rèiteachadh Intel BG. Ma tha rèiteachadh Intel BG a’ solarachadh airson an teicneòlas seo a thoirt a-steach, an uairsin bho seo a-mach air an t-siostam seo chan fhaod ach sealbhadair a’ phàirt phrìobhaideach den OEM Root Key am BIOS ùrachadh (ie a bhith comasach air na manifestos sin ath-àireamhachadh), i.e. reiceadair.

Bròg earbsach Schrödinger. Intel boot geàrd

Nuair a choimheadas tu air an dealbh, bidh teagamhan ag èirigh sa bhad mun fheum air sèine dearbhaidh cho fada - dh’ fhaodadh tu a bhith air aon fhoillseachadh a chleachdadh. Carson a dhèanamh iom-fhillte?

Gu dearbh, tha Intel mar sin a’ toirt cothrom don neach-reic iuchraichean IBB eadar-dhealaichte a chleachdadh airson diofar loidhnichean toraidh agus aon mar bhunait. Ma thèid am pàirt prìobhaideach den iuchair IBB (a tha a’ soidhnigeadh an dàrna foillseachadh) a leigeil ma sgaoil, cha toir an tachartas buaidh ach air aon loidhne toraidh agus dìreach gus an cruthaich an neach-reic paidhir ùr agus gus am bi e comasach dha na taisbeanaidhean ath-àireamhaichte san ath ùrachadh BIOS.

Ach ma tha an iuchair freumh air a chuir an cunnart (leis a bheil a ’chiad fhoillseachadh air a shoidhnigeadh), cha bhith e comasach a chuir na àite, chan eil am modh cùl-ghairm air a thoirt seachad. tha hash na pàirt phoblach den iuchair seo air a phrògramadh gu FPFn uair is uair.

Configuration Intel Boot Guard

A-nis leig dhuinn sùil nas mionaidiche a thoirt air rèiteachadh Intel BG agus pròiseas a chruthachadh. Ma choimheadas tu air an taba co-fhreagarrach ann an GUI an Inneal Ìomhaigh Flash bhon Intel System Tool Kit (STK), chì thu gu bheil rèiteachadh Intel BG a ’toirt a-steach hash den phàirt phoblach de iuchair freumh an neach-reic, rud neo-shoilleir. luachan, agus mar sin air adhart. Pròifil Intel BG.

Bròg earbsach Schrödinger. Intel boot geàrd

Structar na pròifil seo:

typedef struct BG_PROFILE
{
	unsigned long Force_Boot_Guard_ACM : 1;
	unsigned long Verified_Boot : 1;
	unsigned long Measured_Boot : 1;
	unsigned long Protect_BIOS_Environment : 1;
	unsigned long Enforcement_Policy : 2; // 00b – do nothing
                                              // 01b – shutdown with timeout
                                              // 11b – immediate shutdown
	unsigned long : 26;
};

San fharsaingeachd, tha rèiteachadh Intel BG na bhuidheann gu math sùbailte. Beachdaich, mar eisimpleir, air bratach Force_Boot_Guard_ACM. Nuair a thèid a ghlanadh, mura lorgar modal ACM tòiseachaidh BG air an flash SPI, cha tachair bròg earbsach sam bith. Bidh e neo-earbsach.

Sgrìobh sinn gu h-àrd mu thràth gum faodar am poileasaidh èigneachaidh airson modh VB a rèiteachadh gus ma dh’ fhailicheas dearbhadh, a-rithist, gun tachair luchdachadh sìos gun earbsa.

Fàg rudan mar seo an urra ris an luchd-reic ...

Tha GUI a’ ghoireas a’ toirt seachad na pròifilean “deiseil” a leanas:

Seòmar
Modh
Tuairisgeul

0
Chan eil_FVME
Tha teicneòlas Intel BG à comas

1
VE
Modh VB air a chomasachadh, dùnadh sìos le ùine

2
VME
tha an dà mhodh air an comasachadh (VB agus MB), dùnadh sìos le ùine

3
VM
tha an dà mhodh air an comasachadh, gun an siostam a chuir dheth

4
FVE
Modh VB air a chomasachadh, dùnadh sa bhad

5
FVME
an dà mhodh air an comasachadh, dùnadh sa bhad

Mar a chaidh ainmeachadh roimhe, feumaidh rèiteachadh Intel BG a bhith air a sgrìobhadh uair is uair le neach-reic an t-siostaim gu fuses chipset (FPFn) - stòradh fiosrachaidh bathar-cruaidh beag (a rèir fiosrachadh neo-dhearbhte, dìreach 256 bytes) taobh a-staigh an chipset, a dh’ fhaodar a phrògramadh a-muigh. de ghoireasan riochdachaidh Intel (mar sin is ann air sgàth sin Prògramachadh achadh fuses).

Tha e math airson rèiteachadh a stòradh oir:

  • tha àite stòraidh dàta aon-phrògramaichte (dìreach far a bheil rèiteachadh Intel BG sgrìobhte);
  • chan urrainn ach Intel ME a leughadh agus a phrògramadh.

Mar sin, gus an rèiteachadh airson teicneòlas Intel BG a shuidheachadh air siostam sònraichte, bidh an neach-reic a’ dèanamh na leanas rè cinneasachadh:

  1. A’ cleachdadh goireas Flash Image Tool (bho Intel STK), cruthaichidh e ìomhaigh firmware le rèiteachadh Intel BG sònraichte mar chaochladairean taobh a-staigh roinn Intel ME (an sgàthan sealach ris an canar FPFn);
  2. A 'cleachdadh an Inneal Prògramadh Flash (bho Intel STK), sgrìobh an ìomhaigh seo gu cuimhne flash SPI an t-siostaim agus a' dùnadh an t-ainm ris an canar. modh saothrachaidh (sa chùis seo, thèid an àithne co-fhreagarrach a chuir gu Intel ME).

Mar thoradh air na h-obraichean sin, bidh Intel ME a’ gealltainn do FPFs na luachan a chaidh a thoirt bhon sgàthan airson FPFn ann an roinn ME, suidhich na ceadan ann an tuairisgeulan flash SPI gu na luachan a mhol Intel (air a mhìneachadh aig toiseach an artaigil) agus dèan siostam ath-shuidheachadh.

Mion-sgrùdadh buileachaidh Intel Boot Guard

Gus mion-sgrùdadh a dhèanamh air buileachadh an teicneòlais seo air eisimpleir sònraichte, rinn sinn sgrùdadh air na siostaman a leanas airson comharran teicneòlas Intel BG:

siostam
thuirt

Gigabyte GA-H170-D3H
Skylake, tha taic ann

Gigabyte GA-Q170-D3H
Skylake, tha taic ann

Gigabyte GA-B150-HD3
Skylake, tha taic ann

MSI H170A Gaming Pro
Skylake, gun taic

Lenovo Thinkpad 460
Skylake, taic ri fhaighinn, teicneòlas air a chomasachadh

Lenovo Yoga 2 Pro
Haswell, chan eil taic ann

Lenovo u330p
Haswell, chan eil taic ann

Tha “taic” a’ ciallachadh gu bheil modal ACM tòiseachaidh Intel BG ann, na comharran a chaidh ainmeachadh gu h-àrd agus an còd co-fhreagarrach anns a’ BIOS, i.e. buileachadh airson mion-sgrùdadh.

Mar eisimpleir, bheir sinn am fear a chaidh a luchdachadh sìos bhon oifis. ìomhaigh làrach reiceadair de chuimhne flash SPI airson Gigabyte GA-H170-D3H (dreach F4).

Intel CPU boot ROM

An toiseach, bruidhnidh sinn mu ghnìomhan a ’phròiseasar ma tha teicneòlas Intel BG air a chomasachadh.

Cha robh e comasach sampallan den microcode dì-chrioptaichte a lorg, mar sin, mar a tha na gnìomhan a tha air am mìneachadh gu h-ìosal air an cur an gnìomh (ann am microcode no ann am bathar-cruaidh) na cheist fhosgailte. Ach a dh ’aindeoin sin, tha e na fhìrinn gu bheil pròiseasairean Intel an latha an-diugh“ comasach ”na gnìomhan sin a choileanadh.

Às deidh dha an stàit RESET fhàgail, lorgaidh am pròiseasar (anns an àite seòlaidh a tha susbaint a’ chuimhne flash air a mhapadh mu thràth) am FIT (Clàr Eadar-aghaidh Firmware). Tha e furasta a lorg, tha am puing thuige sgrìobhte aig an t-seòladh FFFF FFC0h.

Bròg earbsach Schrödinger. Intel boot geàrd
San eisimpleir seo, tha an luach FFD6 9500h anns an t-seòladh seo. A’ tionndadh chun t-seòlaidh seo, chì am pròiseasar an clàr FIT, agus tha na tha ann air a roinn ann an clàran. Is e a’ chiad inntrigeadh ceann an structair a leanas:

typedef struct FIT_HEADER
{
	char           Tag[8];     // ‘_FIT_   ’
	unsigned long  NumEntries; // including FIT header entry
	unsigned short Version;    // 1.0
	unsigned char  EntryType;  // 0
	unsigned char  Checksum;
};

Bròg earbsach Schrödinger. Intel boot geàrd
Airson adhbhar neo-aithnichte, chan eil an checksum an-còmhnaidh air a thomhas anns na clàran seo (tha an raon air fhàgail null).

Tha na h-inntrigidhean a tha air fhàgail a’ comharrachadh diofar binaries a dh’ fheumar a pharsadh / a chuir gu bàs mus tèid am BIOS a chuir gu bàs, i.e. mus atharraich thu gu vectar RESET dìleab (FFFF FFF0h). Tha structar gach inntrigidh mar seo mar a leanas:

typedef struct FIT_ENTRY
{
	unsigned long  BaseAddress;
	unsigned long  : 32;
	unsigned long  Size;
	unsigned short Version;     // 1.0
	unsigned char  EntryType;
	unsigned char  Checksum;
};

Bròg earbsach Schrödinger. Intel boot geàrd
Tha an raon EntryType a’ comharrachadh an seòrsa bloca a tha seo a’ comharrachadh. Tha sinn eòlach air grunn sheòrsaichean:

enum FIT_ENTRY_TYPES
{
	FIT_HEADER = 0,
	MICROCODE_UPDATE,
	BG_ACM,
	BIOS_INIT = 7,
	TPM_POLICY,
	BIOS_POLICY,
	TXT_POLICY,
	BG_KEYM,
	BG_IBBM
};

A-nis tha e follaiseach gu bheil aon de na h-inntrigidhean a’ comharrachadh far a bheil binary tòiseachaidh ACM Intel BG. Tha structar cinn na binary seo àbhaisteach airson modalan còd air an leasachadh le Intel (ACMan, ùrachaidhean microcode, earrannan còd Intel ME, ...).

typedef struct BG_ACM_HEADER
{
	unsigned short ModuleType;     // 2
	unsigned short ModuleSubType;  // 3
	unsigned long  HeaderLength;   // in dwords
	unsigned long  : 32;
	unsigned long  : 32;
	unsigned long  ModuleVendor;   // 8086h
	unsigned long  Date;           // in BCD format
	unsigned long  TotalSize;      // in dwords
	unsigned long  unknown1[6];
	unsigned long  EntryPoint;
	unsigned long  unknown2[16];
	unsigned long  RsaKeySize;     // in dwords
	unsigned long  ScratchSize;    // in dwords
	unsigned char  RsaPubMod[256];
	unsigned long  RsaPubExp;
	unsigned char  RsaSig[256];
};

Bròg earbsach Schrödinger. Intel boot geàrd
Bidh am pròiseasar a’ luchdachadh a’ bhileag seo a-steach don tasgadan aige, ga dhearbhadh agus ga chuir air bhog.

ACM tòiseachaidh Intel BG

Mar thoradh air mion-sgrùdadh air obair an ACM seo, bha e soilleir gu bheil e a’ dèanamh na leanas:

  • a ’faighinn bho Intel ME an rèiteachadh Intel BG sgrìobhte gu na fuses chipset (FPFs);
  • lorg KEYM agus IBBM a’ nochdadh, gan dearbhadh.

Gus na comharran sin a lorg, bidh ACM cuideachd a’ cleachdadh a’ chlàr FIT, aig a bheil dà sheòrsa inntrigidh gus na structaran sin a chomharrachadh (faic FIT_ENTRY_TYPES gu h-àrd).

Bheir sinn sùil nas mionaidiche air na manifestos. Ann an structar a’ chiad fhoillseachadh, tha sinn a’ faicinn grunn chumhachan doilleir, hash den iuchair phoblach bhon dàrna foillseachadh, agus OEM Root Key poblach air a shoidhnigeadh mar structar neadachaidh:

typedef struct KEY_MANIFEST
{
	char           Tag[8];          // ‘__KEYM__’
	unsigned char  : 8;             // 10h
	unsigned char  : 8;             // 10h
	unsigned char  : 8;             // 0
	unsigned char  : 8;             // 1
	unsigned short : 16;            // 0Bh
	unsigned short : 16;            // 20h == hash size?
	unsigned char  IbbmKeyHash[32]; // SHA256 of an IBBM public key
	BG_RSA_ENTRY   OemRootKey;
};

typedef struct BG_RSA_ENTRY
{
	unsigned char  : 8;             // 10h
	unsigned short : 16;            // 1
	unsigned char  : 8;             // 10h
	unsigned short RsaPubKeySize;   // 800h
	unsigned long  RsaPubExp;
	unsigned char  RsaPubKey[256];
	unsigned short : 16;            // 14
	unsigned char  : 8;             // 10h
	unsigned short RsaSigSize;      // 800h
	unsigned short : 16;            // 0Bh
	unsigned char  RsaSig[256];
};

Bròg earbsach Schrödinger. Intel boot geàrd
Gus iuchair phoblach an OEM Root Key a dhearbhadh, tha sinn a’ cuimhneachadh gu bheil an hash SHA256 bho na fuses air a chleachdadh, a fhuaireadh aig an àm seo bho Intel ME mar-thà.

Gluaisidh sinn air adhart chun dàrna manifesto. Tha e air a dhèanamh suas de thrì structaran:

typedef struct IBB_MANIFEST
{
	ACBP Acbp;         // Boot policies
	IBBS Ibbs;         // IBB description
	IBB_DESCRIPTORS[];
	PMSG Pmsg;         // IBBM signature
};

Anns a 'chiad fhear tha cuid de shuidheachaidhean:

typedef struct ACBP
{
	char           Tag[8];          // ‘__ACBP__’
	unsigned char  : 8;             // 10h
	unsigned char  : 8;             // 1
	unsigned char  : 8;             // 10h
	unsigned char  : 8;             // 0
	unsigned short : 16;            // x & F0h = 0
	unsigned short : 16;            // 0 < x <= 400h
};

Anns an dàrna fear tha hash SHA256 den IBB agus an àireamh de thuairisgeulan a tha a’ toirt cunntas air susbaint an IBB (ie cò às a tha an hash air a thomhas):

typedef struct IBBS
{
	char           Tag[8];            // ‘__IBBS__’
	unsigned char  : 8;               // 10h
	unsigned char  : 8;               // 0
	unsigned char  : 8;               // 0
	unsigned char  : 8;               // x <= 0Fh
	unsigned long  : 32;              // x & FFFFFFF8h = 0
	unsigned long  Unknown[20];
	unsigned short : 16;              // 0Bh
	unsigned short : 16;              // 20h == hash size ?
	unsigned char  IbbHash[32];       // SHA256 of an IBB
	unsigned char  NumIbbDescriptors;
};

Tha tuairisgeulan IBB a’ leantainn an structair seo, aon às deidh a chèile. Tha an cruth a leanas aig an t-susbaint aca:

typedef struct IBB_DESCRIPTOR
{
	unsigned long  : 32;
	unsigned long  BaseAddress;
	unsigned long  Size;
};

Tha e sìmplidh: tha seòladh/meud pìos IBB anns gach tuairisgeul. Mar sin, is e IBB co-chruinneachadh nam blocaichean a tha na tuairisgeulan sin a’ comharrachadh (ann an òrdugh nan tuairisgeulan fhèin). Agus, mar riaghailt, tha IBB na mheasgachadh de gach modal de na h-ìrean SEC agus PEI.

Tha an dàrna foillseachadh a’ crìochnachadh le structar anns a bheil iuchair phoblach an IBB (air a dhearbhadh leis an hash SHA256 bhon chiad fhoillseachadh) agus ainm-sgrìobhte a’ nochdadh seo:

typedef struct PMSG
{
	char           Tag[8];            // ‘__PMSG__’
	unsigned char  : 8;               // 10h
	BG_RSA_ENTRY   IbbKey;
};

Bròg earbsach Schrödinger. Intel boot geàrd
Mar sin, eadhon mus tòisich coileanadh UEFI BIOS, cuiridh am pròiseasar ACM air bhog, a dhearbhas dearbhteachd susbaint earrannan le còd ìre SEC agus PEI. An uairsin, bidh am pròiseasar a 'fàgail an ACM, a' gluasad air adhart leis an vectar RESET, agus a 'tòiseachadh a' cur an gnìomh an BIOS.

Feumaidh modal a bhith anns an sgaradh dearbhte PEI a nì sgrùdadh air a’ chòrr den BIOS (còd DXE). Tha am modal seo ga leasachadh mu thràth le IBV (Neach-reic BIOS Neo-eisimeileach) no neach-reic an t-siostaim fhèin. Air sgàth Is e dìreach siostaman Lenovo agus Gigabyte a thionndaidh a-mach a bhith rim faighinn agus le taic Intel BG, beachdaichidh sinn air a’ chòd a chaidh a thoirt a-mach às na siostaman sin.

Modal BIOS UEFI LenovoVerifiedBootPei

A thaobh Lenovo, thionndaidh e a-mach gur e modal LenovoVerifiedBootPei {B9F2AC77-54C7-4075-B42E-C36325A9468D} a bh’ ann, air a leasachadh le Lenovo.

Is e an obair aige a bhith a’ coimhead suas (le GUID) clàr hash airson an DXE agus an DXE a dhearbhadh.

if (EFI_PEI_SERVICES->GetBootMode() != BOOT_ON_S3_RESUME)
{
	if (!FindHashTable())
		return EFI_NOT_FOUND;
	if (!VerifyDxe())
		return EFI_SECURITY_VIOLATION;
}

Хеш таблица {389CC6F2-1EA8-467B-AB8A-78E769AE2A15} имеет следующий формат:

typedef struct HASH_TABLE
{
	char          Tag[8];            // ‘$HASHTBL’
	unsigned long NumDxeDescriptors;
	DXE_DESCRIPTORS[];
};

typedef struct DXE_DESCRIPTOR
{
	unsigned char BlockHash[32];     // SHA256
	unsigned long Offset;
	unsigned long Size;
};

Modal UEFI BIOS BootGuardPei

A thaobh Gigabyte, thionndaidh e a-mach gur e modal BootGuardPei {B41956E1-7CA2-42DB-9562-168389F0F066} a bh’ ann, air a leasachadh le AMI, agus mar sin an làthair ann am BIOS AMI sam bith le taic Intel BG.

Tha an algairim obrachaidh aige rudeigin eadar-dhealaichte, ge-tà, tha e a 'dol sìos chun an aon rud:

int bootMode = EFI_PEI_SERVICES->GetBootMode();

if (bootMode != BOOT_ON_S3_RESUME &&
    bootMode != BOOT_ON_FLASH_UPDATE &&
    bootMode != BOOT_IN_RECOVERY_MODE)
{
	HOB* h = CreateHob();
	if (!FindHashTable())
		return EFI_NOT_FOUND;
	WriteHob(&h, VerifyDxe());
	return h;
}

Tha an cruth a leanas aig a’ chlàr hash {389CC6F2-1EA8-467B-AB8A-78E769AE2A15} a tha e a’ coimhead suas:

typedef HASH_TABLE DXE_DESCRIPTORS[];

typedef struct DXE_DESCRIPTOR
{
	unsigned char BlockHash[32];     // SHA256
	unsigned long BaseAddress;
	unsigned long Size;
};

Intel Boot Guard 2.x

Bruidhnidh sinn goirid mu bhuileachadh eile de Intel Boot Guard, a chaidh a lorg ann an siostam nas ùire stèidhichte air Intel SoC le microarchitecture Apollo Lake - ASRock J4205-IT.

Ged nach tèid an dreach seo a chleachdadh ach ann an SoCs (tha siostaman ùra le microarchitecture pròiseasar Kaby Lake a’ leantainn air adhart a’ cleachdadh Intel Boot Guard 1.x), tha ùidh mhòr aige ann a bhith a’ sgrùdadh roghainn ailtireachd ùr airson àrd-ùrlaran stèidhichte air Intel SoCs, a tha air fhaicinn susbainteach. atharrachaidhean, mar eisimpleir:

  • Tha roinnean BIOS agus Intel ME (no an àite Intel TXE, a rèir briathrachas Intel SoC) a-nis mar aon roinn IFWI;
  • ged a chaidh Intel BG a chomasachadh air an àrd-ùrlar, cha deach structaran leithid FIT, KEYM, IBBM a lorg ann an cuimhne flash;
  • a bharrachd air coraichean TXE agus ISH (x86), chaidh treas cridhe (a-rithist ARC, leis an t-slighe) a chur ris an chipset - PMC (Smachd Riaghlaidh Cumhachd), co-cheangailte ri bhith a’ dèanamh cinnteach à comas obrachaidh an fho-shiostam cumhachd agus sgrùdadh coileanaidh.

Bròg earbsach Schrödinger. Intel boot geàrd
Tha susbaint na roinne IFWI ùr na sheata de na modalan a leanas:

Offset
ainm
Tuairisgeul

0000 2000 uair
SMIP
cuid de rèiteachadh àrd-ùrlar, air a shoidhnigeadh leis an neach-reic

0000 6000 uair
RBEP
Earrann còd firmware Intel TXE, x86, air a shoidhnigeadh le Intel

0001 0000 uair
PMCP
earrann còd firmware Intel PMC, ARC, air a shoidhnigeadh le Intel

0002 0000 uair
FTPR
Earrann còd firmware Intel TXE, x86, air a shoidhnigeadh le Intel

0007B000h
UCOD
Ùrachaidhean microcode CPU air an soidhnigeadh le Intel

0008 0000 uair
IBBP
UEFI BIOS, ìrean SEC/PEI, x86, solaraiche air a shoidhnigeadh

0021 8000 uair
ISHC
earrann còd de firmware Intel ISH, x86, air a shoidhnigeadh leis an neach-reic

0025 8000 uair
NFTP
Earrann còd firmware Intel TXE, x86, air a shoidhnigeadh le Intel

0036 1000 uair
IUNP
neo-aithnichte

0038 1000 uair
OBBP
UEFI BIOS, ìre DXE, x86, gun ainm

Rè mion-sgrùdadh firmware TXE, bha e follaiseach, às deidh RESET, gu bheil TXE a ’cumail a’ phròiseasar san stàit seo gus an ullaich e susbaint bunaiteach an àite seòlaidh airson an CPU (FIT, ACM, RESET vector ...). A bharrachd air an sin, bidh TXE a ’cur an dàta seo anns an SRAM aige, às deidh sin bidh e a’ toirt cothrom don phròiseasar an sin airson ùine ghoirid agus “ga leigeil ma sgaoil” bho RESET.

Air dìon na rootkits

Uill, a-nis gluaisidh sinn air adhart chun an "teth". Fhuair sinn a-mach aon uair gu bheil cead aig tuairisgeulan flash SPI air mòran shiostaman faighinn gu roinnean de chuimhne flash SPI gus an urrainn do luchd-cleachdaidh na cuimhne seo sgìre sam bith a sgrìobhadh agus a leughadh. An fheadhainn sin. Chan eil dòigh ann.

Às deidh dhuinn sgrùdadh a dhèanamh le goireas MEinfo (bho Intel STK), chunnaic sinn nach robh am modh saothrachaidh air na siostaman sin dùinte, mar sin, chaidh na fuses chipset (FPFs) fhàgail ann an staid neo-chinnteach. Tha, chan eil Intel BG comasach no ciorramach ann an leithid de chùisean.

Tha sinn a 'bruidhinn mu na siostaman a leanas (a thaobh Intel BG agus dè a thèid a mhìneachadh nas fhaide air adhart san artaigil, bruidhnidh sinn mu shiostaman le microarchitecture pròiseasar Haswell agus nas àirde):

  • a h-uile toradh Gigabyte;
  • a h-uile toradh MSI;
  • 21 modal laptop Lenovo agus 4 modalan frithealaiche Lenovo.

Gu dearbh, thug sinn cunntas air an lorg dha na reiceadairean sin, a bharrachd air Intel.

Freagairt iomchaidh air a leantainn a-mhàin bho Lenovoa dh'aidich an trioblaid agus leig a mach paisde.

Gigabyte Tha e coltach gun do ghabh iad ri fiosrachadh mun so-leòntachd, ach cha tug iad beachd ann an dòigh sam bith.

Conaltradh le MSI air a stad gu tur leis an iarrtas againn an iuchair PGP poblach againn a chuir (gus comhairleachadh tèarainteachd crioptaichte a chuir thuca). Thuirt iad gu bheil iad “nan luchd-saothrachaidh bathar-cruaidh agus nach eil iad a’ saothrachadh iuchraichean PGP. ”

Ach barrachd chun na h-ìre. Leis gu bheil na fuses air am fàgail ann an staid neo-mhìnichte, faodaidh an neach-cleachdaidh (no an neach-ionnsaigh) iad fhèin a phrògramadh (is e an rud as duilghe Faigh Intel STK). Feumaidh seo na ceumannan a leanas.

1. Tòisich a-steach do Windows OS (san fharsaingeachd, faodar na ceumannan a tha air am mìneachadh gu h-ìosal a dhèanamh bho fo Linux, ma leasaicheas tu analogue de Intel STK airson an OS a tha thu ag iarraidh). A’ cleachdadh goireas MEinfo, dèan cinnteach nach eil na fuses air an t-siostam seo air am prògramadh.

Bròg earbsach Schrödinger. Intel boot geàrd
2. Leugh susbaint na cuimhne flash a’ cleachdadh an Inneal Prògramadh Flash.

Bròg earbsach Schrödinger. Intel boot geàrd
3. Fosgail an ìomhaigh leughaidh le bhith a’ cleachdadh inneal deasachaidh UEFI BIOS, dèan na h-atharrachaidhean riatanach (cuir an gnìomh rootkit, mar eisimpleir), cruthaich / deasaich na structaran KEYM agus IBBM a tha ann an sgìre ME.

Bròg earbsach Schrödinger. Intel boot geàrd
Bròg earbsach Schrödinger. Intel boot geàrd
Tha am pàirt poblach den iuchair RSA air a chomharrachadh san dealbh, agus thèid an hash dheth a phrògramadh a-steach do na fuses chipset còmhla ris a’ chòrr de rèiteachadh Intel BG.

4. A’ cleachdadh an Inneal Ìomhaigh Flash, tog ìomhaigh firmware ùr (le bhith a’ suidheachadh rèiteachadh Intel BG).

Bròg earbsach Schrödinger. Intel boot geàrd
5. Sgrìobh ìomhaigh ùr airson frasadh a’ cleachdadh an Inneal Prògramadh Flash, dearbhaich le bhith a’ cleachdadh MEinfo gu bheil an rèiteachadh Intel BG a-nis ann an roinn ME.

Bròg earbsach Schrödinger. Intel boot geàrd
6. Cleachd an Inneal Prògramadh Flash gus am modh saothrachaidh a dhùnadh.

Bròg earbsach Schrödinger. Intel boot geàrd
7. Tòisichidh an siostam, agus às deidh sin, a ’cleachdadh MEinfo, faodaidh tu dearbhadh gu bheil na FPFn a-nis air am prògramadh.

Bròg earbsach Schrödinger. Intel boot geàrd
Na gnìomhan seo gu bràth comas a thoirt do Intel BG air an t-siostam seo. Bidh e do-dhèanta an gnìomh a chuir dheth, a tha a’ ciallachadh:

  • chan fhaod ach sealbhadair a’ phàirt phrìobhaideach den iuchair freumh (ie am fear a leig le Intel BG) BIOS UEFI ùrachadh air an t-siostam seo;
  • ma thilleas tu am firmware tùsail chun t-siostam seo, mar eisimpleir, a’ cleachdadh prògramadair, cha tionndaidh e eadhon air (mar thoradh air poileasaidh èigneachaidh ma tha mearachd dearbhaidh ann);
  • gus faighinn cuidhteas a leithid de BIOS UEFI, feumaidh tu FPFs prògramaichte a chuir an àite an chipset le fear “glan” (ie ath-reic an chipset ma tha cothrom agad air stèisean solder infridhearg aig prìs càr, no dìreach cuir an àite am motherboard. ).

Gus tuigsinn dè as urrainn dha leithid de rootkit a dhèanamh, feumaidh tu measadh a dhèanamh air dè a tha ga dhèanamh comasach do chòd a chuir an gnìomh ann an àrainneachd UEFI BIOS. Abair, anns a 'mhodh as sochairiche den phròiseasar - SMM. Faodaidh na feartan a leanas a bhith aig a leithid de rootkit:

  • a bhith air a chuir gu bàs ann an co-shìnte ris an OS (faodaidh tu giullachd a rèiteachadh le bhith a’ gineadh briseadh SMI, a bhios air a phiobrachadh le timer);
  • tha na buannachdan uile ann bho bhith ann am modh SMM (làn chothrom air susbaint RAM agus goireasan bathar-cruaidh, dìomhaireachd bhon OS);
  • Faodar an còd rootkit a chrioptachadh agus a dhì-chrioptachadh nuair a thèid a chuir air bhog ann am modh SMM. Faodar dàta sam bith nach fhaighear ach ann am modh SMM a chleachdadh mar iuchair crioptachaidh. Mar eisimpleir, hash bho sheata de sheòlaidhean ann an SMRAM. Gus an iuchair seo fhaighinn, feumaidh tu streap a-steach don SMM. Agus faodar seo a dhèanamh ann an dà dhòigh. Lorg an RCE anns a’ chòd SMM agus gabh brath air, no cuir am modal SMM agad fhèin ris a’ BIOS, rud a tha do-dhèanta, leis gun tug sinn comas do Boot Guard.

Mar sin, tha an so-leòntachd seo a’ leigeil le neach-ionnsaigh:

  • cruthaich rootkit falaichte, nach gabh a thoirt air falbh de adhbhar neo-aithnichte san t-siostam;
  • cuir an gnìomh do chòd air aon de na coraichean chipset taobh a-staigh an Intel SoC, is e sin, air an Intel ISH (thoir sùil nas mionaidiche air an dealbh).

Bròg earbsach Schrödinger. Intel boot geàrd
Bròg earbsach Schrödinger. Intel boot geàrd
Ged nach deach comasan fo-shiostam Intel ISH a sgrùdadh fhathast, tha e coltach gu bheil e na vectar ionnsaigh inntinneach an aghaidh Intel ME.

toraidhean

  1. Thug an sgrùdadh seachad tuairisgeul teignigeach air mar a tha teicneòlas Intel Boot Guard ag obair. Minus dìomhaireachd no dhà ann an tèarainteachd Intel tro mhodail doilleireachd.
  2. Tha suidheachadh ionnsaigh air a thaisbeanadh a leigeas le bhith a’ cruthachadh rootkit nach gabh a thoirt air falbh san t-siostam.
  3. Tha sinn air faicinn gu bheil pròiseasairean Intel ùr-nodha comasach air tòrr còd seilbh a chuir an gnìomh eadhon mus tòisich am BIOS.
  4. Tha àrd-ùrlaran le ailtireachd Intel 64 a’ fàs nas lugha agus nas freagarraiche airson bathar-bog an-asgaidh a ruith: dearbhadh bathar-cruaidh, àireamh a tha a’ sìor fhàs de theicneòlasan seilbhe agus fo-shiostaman (trì coraichean anns an SoC chipset: x86 ME, x86 ISH agus ARC PMC).

Mothachadh

Bu chòir do luchd-reic a dh’ fhàgas modh saothrachaidh fosgailte a dhùnadh gu cinnteach. Gu ruige seo, chan eil iad ach a’ dùnadh an sùilean agus tha na siostaman ùra Kaby Lake a’ sealltainn seo.

Faodaidh luchd-cleachdaidh Intel BG a dhì-cheadachadh air na siostaman aca (air a bheil an so-leòntachd a chaidh a mhìneachadh a’ toirt buaidh) le bhith a’ ruith an Inneal Prògramadh Flash leis an roghainn -closemnf. An toiseach, bu chòir dhut dèanamh cinnteach (a ’cleachdadh MEinfo) gu bheil rèiteachadh Intel BG ann an roinn ME a’ toirt seachad airson an teicneòlas seo a chuir dheth gu dìreach às deidh prògramadh ann am FPFn.

Source: www.habr.com

Cuir beachd ann