Jump to content

Intel embedded graphics contain embedded x86 CPU and operating system. Windows driver "riddled" with telemetry

metablazingkin

Summary

 

Security researcher Igor Bogdanov has reverse engineered the architecture of Intel's embedded graphics and has uncovered details about the silicon and software.

 

They revealed information about the graphics processor's internal x86 CPU, named the GuC. The GuC manages graphics scheduling, power management, and firmware verification.

The GuC itself runs a small, real-time operating system called μOS that manages the graphics core and communication to the main CPU.

 

They also analyzed the Windows driver, finding a way to enable debug information. The driver is apparently "riddled" with telemetry, although no specifics are given and it is unclear if, or how often this telemetry is sent to Intel.

 

Quotes

Quote

The GuC is a small embedded core that supports graphics sechduling, power managment and firmware attestation. It is implemented in an i486DX4 CPU (also called P24C and Minute IA), although it seems that since broadwell it has been extended to the Pentium (i586) ISA. It runs a small microkernel call μOS. The GuC μOS runs only kernel level tasks (even though μOS supports μApps). The firmware is written in C with not stdlib. In the GuC we can find supporting blocks: ROM memory, 8KB L1 on core cache, 64KB/128KB/256KB (Broadwell/Skylake/CannonLake) of SRAM memory which is used for code+data+cache and a 8KB stack. It also has power managment, DMA engine, etc’. Communication to the GuC is done through memory-mapped IO and bidirectional interrupts.

 ...

Why is the GuC interesting? Because I think it can communicate with the CSME, CPU and GPU and everything over the IOSF, and if it has bugs it can be used to gain very privileged access to the system and memory.

 ...

The GPU driver is riddled with telemetry, but I haven’t figured out yet how much of it is sent automatically to Intel, altough crashes are sent through OCA - Online Crash Analysis.

 

My thoughts

This revelation has big security implications, mirroring the discovery of the Intel Management Engine.

 

We've known that the GuC has existed for a while, but this is the first time we are seeing so much detail about it (like that it's a full x86 core)

 

While no known attacks exist yet, this graphics core and the operating system running on it, have a large target painted on their back.

It could potentially provide unrestricted access to the entire system if even small exploits are found (since it appears have direct access to the memory bus).

 

Debugging and telemetry in the driver are interesting from a privacy perspective. I don't think Intel is intentionally stealing people's data, but it seems like any crash logs you might upload may unintentionally leak private information.

The debugging information is likely very interesting to Linux developers, who might be able to use it to make improvements to the Linux open source driver.

 

Sources

https://igor-blue.github.io/2021/02/10/graphics-part1.html (The article itself)

https://www.kernel.org/doc/html/v4.10/gpu/i915.html#guc (An example of what we knew about the GuC previously)

Link to comment
Share on other sites

Link to post
Share on other sites

Intel and garbage co processor implementation that lead to high security risks... Name a more iconic duo!

 

I doubt the GPU can ping some severs over on Linux considering the drivers are open source & they would be crucified if something similar got found. I also doubt your processor has direct access to ethernet ports. Though this is Intel we are talking about, they might just do that with some horrible marketing like "Next Level Gaming Latency".

 

Quote

It is implemented in an i486DX4 CPU (also called P24C and Minute IA), although it seems that since broadwell it has been extended to the Pentium (i586) ISA

Wait... what? Why would you pick a gigantic ISA with variable length instruction decoding for GPU use? Wouldn't that shred your performance?

Link to comment
Share on other sites

Link to post
Share on other sites

34 minutes ago, kvuj said:

Intel and garbage co processor implementation that lead to high security risks... Name a more iconic duo!

 

I doubt the GPU can ping some severs over on Linux considering the drivers are open source & they would be crucified if something similar got found. I also doubt your processor has direct access to ethernet ports. Though this is Intel we are talking about, they might just do that with some horrible marketing like "Next Level Gaming Latency".

 

Wait... what? Why would you pick a gigantic ISA with variable length instruction decoding for GPU use? Wouldn't that shred your performance?

Right, I was thinking the same thing. I would have thought they'd use a RISC chip for the embedded application. Maybe it was simpler to implement since they've already got the IP?

Link to comment
Share on other sites

Link to post
Share on other sites

I am not surprised

Hi

 

Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler

hi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

Not going to call myself an AMD fanboy or anything, but... WTF Intel?

My Current Setup:

AMD Ryzen 5900X

Kingston HyperX Fury 3200mhz 2x16GB

MSI B450 Gaming Plus

Cooler Master Hyper 212 Evo

EVGA RTX 3060 Ti XC

Samsung 970 EVO Plus 2TB

WD 5400RPM 2TB

EVGA G3 750W

Corsair Carbide 300R

Arctic Fans 140mm x4 120mm x 1

 

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, metablazingkin said:

Right, I was thinking the same thing. I would have thought they'd use a RISC chip for the embedded application. Maybe it was simpler to implement since they've already got the IP?

 

Ad plenty of experiance with it. It's simple, it works, and they know what they're doing with it. Makes perfect sense to me.

Link to comment
Share on other sites

Link to post
Share on other sites

52 minutes ago, atxcyclist said:

Not going to call myself an AMD fanboy or anything, but... WTF Intel?

I'm pretty sure AMD has some less stinky bullsh*t in their silicon

Hi

 

Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler

hi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

4 hours ago, kvuj said:

Wait... what? Why would you pick a gigantic ISA with variable length instruction decoding for GPU use? Wouldn't that shred your performance?

It doesn't do work. It is only there for management related features, and I'm sure they would have picked something with "enough" performance for that. The 486 I know from my own 1st PC in 1993. I wouldn't be surprised if there are modern microcontrollers who could do more work than it now. 

 

3 hours ago, metablazingkin said:

Maybe it was simpler to implement since they've already got the IP?

This.

 

 

I guess many here don't pay attention to Intel software e.g. if they're AMD/nvidia only in recent times. Some Intel software offerings have you click on agreements when you install. Nothing new? The first one is the licence which is normal. Everyone clicks that without reading. There's sometimes a 2nd one. If you click that without reading, congratulations, you just agreed to share data with Intel. You can decline that and progress the install, but it does mean you had to read enough to know to move your mouse over to the no button and not just spam ok. BTW if you have accidentally installed it, you can just uninstall it from Control Panel. I think it is called something like Intel Consumer Improvement Program or something like that. I'm not sure what it is offered with, I think it might come with DSA or XTU, but I don't recall seeing it in the chipset or GPU driver packages for example.

Gaming system: R7 7800X3D, Asus ROG Strix B650E-F Gaming Wifi, Thermalright Phantom Spirit 120 SE ARGB, Corsair Vengeance 2x 32GB 6000C30, RTX 4070, MSI MPG A850G, Fractal Design North, Samsung 990 Pro 2TB, Acer Predator XB241YU 24" 1440p 144Hz G-Sync + HP LP2475w 24" 1200p 60Hz wide gamut
Productivity system: i9-7980XE, Asus X299 TUF mark 2, Noctua D15, 64GB ram (mixed), RTX 3070, NZXT E850, GameMax Abyss, Samsung 980 Pro 2TB, random 1080p + 720p displays.
Gaming laptop: Lenovo Legion 5, 5800H, RTX 3070, Kingston DDR4 3200C22 2x16GB 2Rx8, Kingston Fury Renegade 1TB + Crucial P1 1TB SSD, 165 Hz IPS 1080p G-Sync Compatible

Link to comment
Share on other sites

Link to post
Share on other sites

Intel is amazingly committed to putting a x86 core everywhere, lol. If you don't know, this is the most classic of Intel moves. Technically, this was the same approach that Larrabee took as well back in the 2000s.

 

The one thing is that microcontrollers are always using telemetry. CPU or GPU temperature being the most notable ones. What would actually matter would be what it stores and what can be extracted. While there is some hilariously strange things you can do to a system with different access types, it'll be interesting to see it play out. Do realize most Intel "Commercial" type products are designed to be managed remotely, as a result, per-unit security is managed differently. Obviously, the worry is what sits inside Desktop iGPUs.

Link to comment
Share on other sites

Link to post
Share on other sites

Heres some chiplet on your chiplet

Workstation Laptop: Dell Precision 7540, Xeon E-2276M, 32gb DDR4, Quadro T2000 GPU, 4k display

Wifes Rig: ASRock B550m Riptide, Ryzen 5 5600X, Sapphire Nitro+ RX 6700 XT, 16gb (2x8) 3600mhz V-Color Skywalker RAM, ARESGAME AGS 850w PSU, 1tb WD Black SN750, 500gb Crucial m.2, DIYPC MA01-G case

My Rig: ASRock B450m Pro4, Ryzen 5 3600, ARESGAME River 5 CPU cooler, EVGA RTX 2060 KO, 16gb (2x8) 3600mhz TeamGroup T-Force RAM, ARESGAME AGV750w PSU, 1tb WD Black SN750 NVMe Win 10 boot drive, 3tb Hitachi 7200 RPM HDD, Fractal Design Focus G Mini custom painted.  

NVIDIA GeForce RTX 2060 video card benchmark result - AMD Ryzen 5 3600,ASRock B450M Pro4 (3dmark.com)

Daughter 1 Rig: ASrock B450 Pro4, Ryzen 7 1700 @ 4.2ghz all core 1.4vCore, AMD R9 Fury X w/ Swiftech KOMODO waterblock, Custom Loop 2x240mm + 1x120mm radiators in push/pull 16gb (2x8) Patriot Viper CL14 2666mhz RAM, Corsair HX850 PSU, 250gb Samsun 960 EVO NVMe Win 10 boot drive, 500gb Samsung 840 EVO SSD, 512GB TeamGroup MP30 M.2 SATA III SSD, SuperTalent 512gb SATA III SSD, CoolerMaster HAF XM Case. 

https://www.3dmark.com/3dm/37004594?

Daughter 2 Rig: ASUS B350-PRIME ATX, Ryzen 7 1700, Sapphire Nitro+ R9 Fury Tri-X, 16gb (2x8) 3200mhz V-Color Skywalker, ANTEC Earthwatts 750w PSU, MasterLiquid Lite 120 AIO cooler in Push/Pull config as rear exhaust, 250gb Samsung 850 Evo SSD, Patriot Burst 240gb SSD, Cougar MX330-X Case

 

Link to comment
Share on other sites

Link to post
Share on other sites

3 hours ago, gabrielcarvfer said:

People get mad when they discover hidden x86 processors, but not with hidden ARM processors are just being unfair...

...or it's because Intel has a horrible security record and their CPUs are used by ~80% of the desktop market.

 

From their ME to their AMT scoring a CVSS 9.8 / 10 to Thunderspy/Thunderclap (thunderbolt vulnerability), as soon as I learn about another small Intel CPU, I get dubious.

Link to comment
Share on other sites

Link to post
Share on other sites

"Telemetry computing". You know, at some point I wouldn't be surprised if dedicated telemetry chiplets or cores are created and the cost subsidized by the likes of Microsoft, Apple, Google, and Facebook to spy on your usage.

 

 Though most likely a more insidious marketing campaign will have you pay for it as a form of "productivity enhancements".

Link to comment
Share on other sites

Link to post
Share on other sites

13 hours ago, metablazingkin said:

Summary

 

Security researcher Igor Bogdanov has reverse engineered the architecture of Intel's embedded graphics and has uncovered details about the silicon and software.

 

They revealed information about the graphics processor's internal x86 CPU, named the GuC. The GuC manages graphics scheduling, power management, and firmware verification.

The GuC itself runs a small, real-time operating system called μOS that manages the graphics core and communication to the main CPU.

 

They also analyzed the Windows driver, finding a way to enable debug information. The driver is apparently "riddled" with telemetry, although no specifics are given and it is unclear if, or how often this telemetry is sent to Intel.

 

Quotes

 

My thoughts

This revelation has big security implications, mirroring the discovery of the Intel Management Engine.

 

We've known that the GuC has existed for a while, but this is the first time we are seeing so much detail about it (like that it's a full x86 core)

 

While no known attacks exist yet, this graphics core and the operating system running on it, have a large target painted on their back.

It could potentially provide unrestricted access to the entire system if even small exploits are found (since it appears have direct access to the memory bus).

 

Debugging and telemetry in the driver are interesting from a privacy perspective. I don't think Intel is intentionally stealing people's data, but it seems like any crash logs you might upload may unintentionally leak private information.

The debugging information is likely very interesting to Linux developers, who might be able to use it to make improvements to the Linux open source driver.

 

Sources

https://igor-blue.github.io/2021/02/10/graphics-part1.html (The article itself)

https://www.kernel.org/doc/html/v4.10/gpu/i915.html#guc (An example of what we knew about the GuC previously)

Yeah. No thanks. Another reason to steer clear of Intel. 

Link to comment
Share on other sites

Link to post
Share on other sites

16 hours ago, atxcyclist said:

Not going to call myself an AMD fanboy or anything, but... WTF Intel?

Your called atxcyclist, so you already fine there

✨FNIGE✨

Link to comment
Share on other sites

Link to post
Share on other sites

On 2/10/2021 at 8:58 PM, metablazingkin said:

They also analyzed the Windows driver, finding a way to enable debug information. The driver is apparently "riddled" with telemetry,

isn't this normal? to have a debug mode that spits out logs which is what telemetry is?

🖥️ Motherboard: MSI A320M PRO-VH PLUS  ** Processor: AMD Ryzen 2600 3.4 GHz ** Video Card: Nvidia GeForce 1070 TI 8GB Zotac 1070ti 🖥️
🖥️ Memory: 32GB DDR4 2400  ** Power Supply: 650 Watts Power Supply Thermaltake +80 Bronze Thermaltake PSU 🖥️

🍎 2012 iMac i7 27";  2007 MBP 2.2 GHZ; Power Mac G5 Dual 2GHZ; B&W G3; Quadra 650; Mac SE 🍎

🍎 iPad Air2; iPhone SE 2020; iPhone 5s; AppleTV 4k 🍎

Link to comment
Share on other sites

Link to post
Share on other sites

On 2/11/2021 at 11:47 PM, Taf the Ghost said:

Intel is amazingly committed to putting a x86 core everywhere, lol. If you don't know, this is the most classic of Intel moves. Technically, this was the same approach that Larrabee took as well back in the 2000s.

 

Putting more core everywhere but in their CPUs 

Link to comment
Share on other sites

Link to post
Share on other sites

On 2/11/2021 at 4:58 AM, metablazingkin said:

it is unclear if, or how often this telemetry is sent to Intel.

Telemetry with no calling home isn't much of a security issue so that would matter quite a bit. If it's just a bunch of statistics it uses to improve its scheduling then it's just fine.

Don't ask to ask, just ask... please 🤨

sudo chmod -R 000 /*

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×