Warning: Constant WP_TEMP_DIR already defined in /var/www/html/blogs/glenn/wp-config.php on line 94

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/blogs/glenn/wp-config.php:94) in /var/www/html/blogs/glenn/wp-includes/rest-api/class-wp-rest-server.php on line 1902

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/blogs/glenn/wp-config.php:94) in /var/www/html/blogs/glenn/wp-includes/rest-api/class-wp-rest-server.php on line 1902

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/blogs/glenn/wp-config.php:94) in /var/www/html/blogs/glenn/wp-includes/rest-api/class-wp-rest-server.php on line 1902

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/blogs/glenn/wp-config.php:94) in /var/www/html/blogs/glenn/wp-includes/rest-api/class-wp-rest-server.php on line 1902

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/blogs/glenn/wp-config.php:94) in /var/www/html/blogs/glenn/wp-includes/rest-api/class-wp-rest-server.php on line 1902

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/blogs/glenn/wp-config.php:94) in /var/www/html/blogs/glenn/wp-includes/rest-api/class-wp-rest-server.php on line 1902

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/blogs/glenn/wp-config.php:94) in /var/www/html/blogs/glenn/wp-includes/rest-api/class-wp-rest-server.php on line 1902

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/blogs/glenn/wp-config.php:94) in /var/www/html/blogs/glenn/wp-includes/rest-api/class-wp-rest-server.php on line 1902
{"id":1306,"date":"2018-01-04T07:18:31","date_gmt":"2018-01-04T15:18:31","guid":{"rendered":"http:\/\/3.209.169.194\/blogs\/glenn\/?p=1306"},"modified":"2020-01-11T12:51:57","modified_gmt":"2020-01-11T20:51:57","slug":"microsoft-sql-server-updates-for-meltdown-and-spectre-exploits","status":"publish","type":"post","link":"https:\/\/www.sqlskills.com\/blogs\/glenn\/microsoft-sql-server-updates-for-meltdown-and-spectre-exploits\/","title":{"rendered":"Microsoft SQL Server Updates for Meltdown and Spectre Exploits"},"content":{"rendered":"

Over the last couple of days, you have probably heard quite a bit of chatter and speculation about some newly disclosed ways to attack various processors. The initial reports were that only Intel processors were affected, but some sources indicate that some AMD and ARM processors are also vulnerable.<\/span><\/p>\n

Security researchers at Graz University (who were involved with the initial discovery of these issues) have put up a site, complete with cute logos<\/a>, with some useful information about these two exploits. <\/span>The most detailed information so far about the attack methods comes from Google Project Zero, as shown here: <\/span>Reading privileged memory with a side-channel<\/span><\/a>. Their testing shows some limited vulnerability for some older AMD processors.<\/span><\/p>\n

AMD is pretty adamant that their processors are not vulnerable to these exploits, as shown by this statement from AMD\u2019s Tom Lendacky:<\/span><\/p>\n

\n

\u201cAMD processors are not subject to the types of attacks that the kernel
\npage table isolation feature protects against. The AMD microarchitecture
\ndoes not allow memory references, including speculative references, that
\naccess higher privileged data when running in a lesser privileged mode
\nwhen that access would result in a page fault.
\nDisable page table isolation by default on AMD processors by not setting
\nthe X86_BUG_CPU_INSECURE feature, which controls whether X86_FEATURE_PTI
\nis set.\u201d<\/span><\/p>\n<\/blockquote>\n

Linus Torvalds also seems pretty confident that AMD is not affected, as witnessed by his comments in a recent code check-in<\/a>:<\/span><\/p>\n

\n

\u201cExclude AMD from the PTI enforcement. Not necessarily a fix, but if AMD is so confident that they are not affected, then we should not burden users with the overhead”<\/span><\/p>\n<\/blockquote>\n

Paul Alcorn has a pretty good write-up about this issue here<\/a>. Yesterday, Phoronix published some early benchmark results against a patched version of Linux that were pretty alarming for some use cases (synthetic IO benchmarks and PostgreSQL database performance).<\/span><\/p>\n

Redhat has published some information about the performance impact of OS fixes on several different workload types. The most notable is what they define as<\/span><\/p>\n

\n

\u201cMeasureable: 8-19% – Highly cached random memory, with buffered I\/O, OLTP database workloads, and benchmarks with high kernel-to-user space transitions are impacted between 8-19%. Examples include OLTP Workloads (tpc), sysbench, pgbench, netperf (< 256 byte), and fio (random I\/O to NvME)\u201d<\/font><\/p>\n<\/blockquote>\n

More details about these findings and some mitigation methods for RHEL are available in these links:<\/font><\/p>\n

\n

Speculative Execution Exploit Performance Impacts – Describing the performance impacts to security patches for CVE-2017-5754 CVE-2017-5753 and CVE-2017-5715<\/a><\/font><\/p>\n

Controlling the Performance Impact of Microcode and Security Patches for CVE-2017-5754 CVE-2017-5715 and CVE-2017-5753 using Red Hat Enterprise Linux Tunables <\/font><\/a><\/p>\n<\/blockquote>\n

It seems like the various fixes for these issues are going to hit database and virtualization performance harder than most other use cases.  I wonder whether it will be possible for Intel to at least partially fix the issue with a stepping change on any Intel processors that are still in production (i.e. they make an actual hardware fix using the same existing processor design) that lets them send out replacement processors that work in some existing servers.<\/span><\/p>\n

If you are old enough to remember the <\/span>old Pentium FDIV bug in 1994<\/span><\/a>, Intel initially tried to minimize the issue, saying that it was very rare. Then, they tried to make people prove that they were hitting the bug by running an Intel utility. Finally, they caved in to bad PR and ended up sending out replacement CPUs to a lot of people, no questions asked, which cost them $475 million back in the day. I remember swapping out my CPU, because I was a geek back then too!<\/span><\/p>\n

Early this morning, Microsoft published this KB article: <\/span>SQL Server Guidance to protect against speculative execution side-channel vulnerabilities<\/span><\/a>. According to Microsoft<\/span>, the following versions of SQL Server are impacted when running on x86 and x64 processor systems: SQL Server 2008, SQL Server 2008R2, SQL Server 2012, SQL Server 2014, SQL Server 2016, SQL Server 2017.<\/span><\/p>\n

Microsoft has already issued two Cumulative Updates that include fixes to help mitigate this issue (along with the other important hotfixes included in each CU).<\/span><\/p>\n

\n

Cumulative Update 3 for SQL Server 2017<\/span><\/a><\/p>\n

Cumulative Update 7 for SQL Server 2016 SP1<\/span><\/a><\/p>\n<\/blockquote>\n

I suspect that there will be an out of band CU or hotfix for SQL Server 2014 SP2 relatively soon, since it is still in Mainstream support. Even though SQL Server 2012 and older are out of Mainstream support, Microsoft will probably develop and release hotfixes for those releases relatively soon since this is a security issue.<\/span><\/p>\n

Microsoft has also started pushing out an out of band OS update for Windows 10 (KB4056892<\/a>) that is meant to mitigate this issue. There are similar updates for most other supported Microsoft operating systems. Here is the current information for Windows Server:<\/span><\/p>\n

\n

Windows Server guidance to protect against speculative execution side-channel vulnerabilities<\/font><\/a><\/p>\n<\/blockquote>\n

Here is Microsoft\u2019s current security advisory advice:<\/span><\/p>\n

\n

ADV180002 | Guidance to mitigate speculative execution side-channel vulnerabilities<\/a><\/span><\/p>\n<\/blockquote>\n

Microsoft has also released this statement about how they have been handling this for Microsoft Azure<\/span><\/p>\n

\n

Securing Azure customers from CPU vulnerability<\/a><\/span><\/p>\n<\/blockquote>\n

Here is what I plan on doing over the next couple of weeks as this starts to shake out:<\/span><\/p>\n