Компютърните процесори имат огромен дефект в дизайна и всички се опитват да го опрат. Само един от двата отвора за сигурност може да бъде подготвен, а пластирите ще направят компютрите (и Mac) с Intel чипове по-бавни.
Актуализация: По-ранна версия на тази статия заяви, че този недостатък е специфичен за чиповете на Intel, но това не е цялата история. Всъщност има две големи уязвимости тук, наричани сега "Meltdown" и "Spectre". Разтопяването до голяма степен е специфично за процесорите на Intel и засяга всички модели на процесори от последните няколко десетилетия. Добавихме повече информация за тези две грешки и разликата между тях и статията по-долу.
Призракът е "основен дефект в дизайна", който съществува във всеки CPU на пазара - включително тези от AMD и ARM, както и от Intel. Понастоящем няма софтуерно решение и вероятно ще изисква цялостен хардуерен редизайн за процесорите навсякъде - макар че за щастие е доста трудно да се използва, според изследователите по сигурността. Възможно е да се защити срещу конкретни атаки на Spectre и разработчиците работят върху нея, но най-доброто решение ще бъде редизайнът на хардуера на процесора за всички бъдещи чипове.
Разтапянето основно прави Spectre по-лошо, като направи основния недостатък на ядрото много по-лесен за използване. Това е по същество допълнителен недостатък, който засяга всички процесори на Intel, направени през последните няколко десетилетия. Той също така засяга някои високотехнологични процесори ARM Cortex-A, но не засяга чиповете AMD. Разтопяването се подготвя в операционните системи днес.
Но как функционират тези недостатъци?
Програмите, изпълнявани на вашия компютър, работят с различни нива на разрешения за защита. Например ядрото на операционната система - ядрото на Windows или ядрото на Linux - има най-високо ниво на разрешения, защото изпълнява шоуто. Програмите за настолни компютри имат по-малко разрешения и ядрото ограничава това, което могат да направят. Ядрото използва хардуерните функции на процесора, за да помогне за налагането на някои от тези ограничения, защото е по-бързо да го направим с хардуера, отколкото софтуера.
Проблемът тук е с "спекулативно изпълнение". Поради причини, свързани с производителността, модерните процесори автоматично изпълняват инструкции, за които смятат, че може да се наложи да работят, и ако не го правят, те могат просто да натиснат и върнат системата в предишното си състояние. Обаче недостатък в процесорите на Intel и някои ARM процесори позволява процеси да изпълняват операции, които нормално не биха могли да изпълнят, тъй като операцията се изпълнява преди процесорът да се притеснява да провери дали трябва да има разрешение да го изпълни или не. Това е бъгът на разтапянето.
Основният проблем с Meltdown и Spectre се крие в кеша на процесора. Едно приложение може да се опита да прочете паметта и, ако чете нещо в кеша, операцията ще завърши по-бързо. Ако се опита да прочете нещо, което не е в кеша, то ще завърши по-бавно. Приложението може да види дали нещо завършва бързо или бавно и докато всичко останало по време на спекулативното изпълнение се почисти и изтрие, времето, което е необходимо да се извърши операцията, не може да бъде скрито. Тогава може да използва тази информация, за да изгради карта на всичко в паметта на компютъра, по един наведнъж. Кеширането ускорява нещата, но тези атаки се възползват от тази оптимизация и я превръщат в недостатък в сигурността.
Така че, в най-лошия сценарий, кодът на JavaScript, който се изпълнява във вашия уеб браузър, би могъл ефективно да чете паметта, до която не би трябвало да има достъп, като частна информация, съхранявана в други приложения. Особено изложени на риск са доставчици на облаци като Microsoft Azure или Amazon Web Services, които приемат различни софтуерни продукти на различни виртуални машини на един и същ хардуер. Софтуерът на един човек може на теория да шпионира нещата във виртуалната машина на друга компания. Това е разбивка в разделянето между приложенията. Пръстените за Meltdown означава, че тази атака няма да бъде толкова лесно да се измъкне. За съжаление, поставянето на тези допълнителни проверки на място означава, че някои операции ще бъдат по-бавни за засегнатия хардуер.
Разработчиците работят върху софтуерни кръпки, които правят атаките на Spectre по-трудни за изпълнение. Например, новата функция за изолиране на сайт на Chrome помага да се предпази от това и Mozilla вече направи някои бързи промени в Firefox. Microsoft направи и някои промени, за да защити Edge и Internet Explorer в актуализацията на Windows, която вече е достъпна.
Ако се интересувате от детайлите от ниското ниво на нивото на Meltdown и Spectre, прочетете техническото обяснение от екипа на Project Zero на Google, който откри миналата година грешки. Повече информация можете да намерите на уеб сайта MeltdownAttack.com.
Актуализация: На 9 януари Microsoft пусна информация за ефективността на кръпката. Според Microsoft, Windows 10 на 2016-ера компютри с Skylake, Kabylake или по-новите Intel процесори показват "едноцифрено забавяне" повечето потребители не трябва да забележите. Windows 10 на компютри с епоха от 2015 г. с Haswell или по-стар процесор може да види по-големи забавяния, а Microsoft "очаква, че някои потребители ще забележат намаляване на производителността на системата".
Потребителите на Windows 7 и 8 не са толкова щастливи. Microsoft казва, че "очакват повечето потребители да забележат намаляване на производителността на системата", когато използват Windows 7 или 8 на компютър с епоха от 2015 г. с Haswell или по-стар процесор. Не само, че Windows 7 и 8 използват по-стари процесори, които не могат да пускат кръпката толкова ефикасно, но "Windows 7 и Windows 8 имат повече преходи на потребител на ядрото, поради старите решения за проектиране, като например всички рендиране на шрифтове в ядрото" , и това също забавя нещата.
Microsoft планира да изпълни собствените си показатели и да предостави повече подробности в бъдеще, но все още не знаем точно колко много кръпка от Meltdown ще засегне ежедневното използване на персонални компютри.Дейв Хансен, разработчик на ядрото на Linux, който работи в Intel, първоначално пише, че промените, направени в ядрото на Linux, ще засегнат всичко. Според него повечето работни натоварвания виждат едноцифрено забавяне, което е типично за приблизително 5% забавяне. Най-лошият сценарий е 30% забавяне на теста за работа в мрежа, макар че той варира от задача до задача. Това са номера за Linux, така че те не са задължителни за Windows. Определянето забавя системните обаждания, така че задачите с много системни повиквания, като компилиране на софтуер и работа с виртуални машини, вероятно ще забавят най-много. Но всеки софтуер използва някои системни повиквания.
Актуализация: От 5 януари TechSpot и Guru3D изпълниха някои критерии за Windows. И двата сайта стигат до извода, че потребителите на настолни компютри нямат какво да се притесняват. Някои компютърни игри виждат малко забавяне от 2% с пластира, което е в границите на грешката, докато други изглеждат, че изпълняват еднакво. 3D изображения, софтуер за производителност, инструменти за компресиране на файлове и помощни програми за криптиране изглеждат незасегнати. Файловете за четене и писане на файлове обаче показват забележими разлики. Скоростта на бързо четене на голям брой малки файлове спадна с около 23% в референтните точки на Techspot, а Guru3D намери нещо подобно. От друга страна, Tom's Hardware открива само 3.21% среден спад в производителността при тест за съхранение на потребителски приложения и твърди, че "синтетичните показатели", показващи по-значителни спадове на скоростта, не представляват реалния свят.
Компютрите с процесор Intel Haswell или по-нови имат функция PCID (идентификатор на процес), която ще помогне на пластира да работи добре. Компютрите с по-стари CPU на Intel може да виждат по-голямо намаление на скоростта. Горепосочените показатели бяха извършени на съвременни процесори на Intel с PCID, така че не е ясно как ще станат по-старите CPU на Intel.
Според Intel забавянето "не трябва да бъде значимо" за средния потребител на компютъра и досега това изглежда вярно, но някои операции виждат забавяне. За облака Google, Амазон и Майкрософт всъщност казаха едно и също нещо: За повечето натоварвания те не са виждали значително въздействие върху ефективността след пускането на пластирите. Microsoft заяви, че "малък набор от клиенти на [Microsoft Azure] може да имат някакво въздействие върху производителността на мрежата". Тези изявления оставят място за известни натоварвания, за да се видят значителни забавяния. Epic Games обвиниха кръпката Meltdown за причиняване на сървърни проблеми с играта си Fortnite и публикуваха графика, показваща огромно увеличение на използването на процесора на облачните си сървъри след инсталирането на пластира.
Но едно нещо е ясно: Вашият компютър определено не получава по-бързо с този кръпка. Ако имате процесорен процесор на Intel, той може да стане по-бавен - дори ако е с малка сума.
Някои актуализации за отстраняване на проблема с разтопяването са вече налични. Microsoft издаде спешна актуализация на поддържаните версии на Windows през Windows Update на 3 януари 2018 г., но все още не е достигнала до всички компютри. Windows Update, който решава Meltdown и добавя някои защити срещу Spectre, се нарича KB4056892.
Apple вече подготви проблема с macOS 10.13.2, пуснат на 6 декември 2017 г. Chromebooks с Chrome OS 63, които бяха пуснати в средата на декември, вече са защитени. Пачове са достъпни и за ядрото на Linux.
Освен това проверете дали компютърът ви разполага с BIOS / UEFI актуализации. Докато актуализацията на Windows фиксира проблема Meltdown, актуализациите на микрокод на процесора от Intel, доставени чрез актуализация на UEFI или BIOS, са необходими, за да позволят напълно защита срещу една от примерите на Spectre. Трябва също така да актуализирате уеб браузъра си, както обикновено, тъй като браузърите добавят някои защити срещу Spectre.
Актуализация: На 22 януари Intel обяви, че потребителите трябва да спрат да инсталират първоначалните актуализации на фърмуера на UEFI поради "по-високи от очакваното рестартирания и други непредсказуеми поведение на системата". Intel каза, че трябва да изчакате окончателния пакет на фърмуера UEFI, който е правилно тестван и няма да предизвика проблеми със системата. От 20 февруари Intel пусна стабилни актуализации за микрокод за Skylake, Kaby Lake и Coffee Lake - това са платформите на Intel Core 6, 7 и 8 поколение. Производителите на персонални компютри трябва скоро да започнат да пускат нови версии на фърмуера на UEFI.
Докато едно изпълнение хит звучи лошо, ние силно препоръчваме да инсталирате тези пластири така или иначе. Разработчиците на операционни системи няма да правят такива масови промени, освен ако това не е много лош бъг със сериозни последици.
Въпросът за софтуера ще поправи грешката на Meltdown и някои софтуерни пластири могат да помогнат за смекчаване на недостатъка на Spectre. Но Spectre вероятно ще продължи да засегне всички съвременни процесори - поне в някаква форма - докато не бъде пуснат нов хардуер, за да го поправи. Не е ясно как производителите ще се справят с това, но междувременно всичко, което можете да направите, е да продължите да използвате компютъра си - и да се успокоите в факта, че Spectre е по-трудно да се използва и малко повече загриженост за изчислителните облаци от крайните потребители настолни компютри.
Image Credit: Intel, VLADGRIN / Shutterstock.com.