Как ще се стигне до разрушаването и недостатъците на призраците на компютъра ми?
Компютърните процесори имат огромен недостатък в дизайна и всички се опитват да го поправят. Само един от двата дупки в сигурността може да бъде закърпен, а пачовете ще направят компютрите (и Mac) с Intel чипове по-бавни.
Актуализация: Една по-ранна версия на тази статия заяви, че този недостатък е специфичен за Intel чиповете, но това не е цялата история. Всъщност има две тук има големи уязвимости, наречени "Meltdown" и "Spectre". Meltdown е до голяма степен специфичен за Intel процесорите и засяга всички CPU модели от последните няколко десетилетия. Добавихме повече информация за тези две грешки и разликата между тях в статията по-долу.
Какво е разтопяване и Призрак?
Spectre е "основен недостатък на дизайна", който съществува във всеки процесор на пазара - включително тези от AMD и ARM, както и от Intel. Понастоящем няма софтуерни поправки и вероятно ще изисква пълна хардуерна редизайн за процесори в целия борд - макар че за щастие е доста трудно да се използват, според изследователите по сигурността. Възможно е да се предпазите от специфични атаки на Spectre, а разработчиците работят върху него, но най-доброто решение ще бъде редизайн на хардуера на процесора за всички бъдещи чипове.
Meltdown основно прави Spectre по-лошо, като прави основния недостатък по-лесен за използване. По същество това е допълнителен недостатък, който засяга всички процесори на Intel, направени през последните няколко десетилетия. Той засяга и някои високопроизводителни процесори ARM Cortex-A, но не засяга AMD чиповете. Сега Meltdown се поправя в операционните системи.
Но как работят тези недостатъци?
Програмите, изпълнявани на компютъра, работят с различни нива на разрешения за защита. Например ядрото на ядрото на операционната система - ядрото на Windows или ядрото на Linux - има най-високото ниво на разрешения, защото изпълнява шоуто. Настолните програми имат по-малко разрешения и ядрото ограничава възможностите им. Ядрото използва хардуерните функции на процесора, за да подпомогне прилагането на някои от тези ограничения, защото това е по-бързо да се направи с хардуер, отколкото със софтуер.
Проблемът тук е с "спекулативно изпълнение". От съображения за производителност, модерните CPU автоматично изпълняват инструкции, които смятат, че може да се наложи да изпълнят, и ако не го направят, те могат просто да пренавият и да върнат системата в предишното си състояние. Въпреки това, недостатък в Intel и някои ARM процесори позволява на процесите да изпълняват операции, които те обикновено не биха могли да изпълняват, тъй като операцията се извършва преди процесорът да се притеснява да провери дали трябва да има разрешение да го изпълни или не. Това е грешката в Meltdown.
Основният проблем както с Meltdown, така и с Spectre е в кеша на процесора. Приложението може да се опита да чете памет и, ако прочете нещо в кеша, операцията ще завърши по-бързо. Ако се опита да прочете нещо, което не е в кеша, то ще завърши по-бавно. Приложението може да види дали нещо завършва бързо или бавно и докато всичко останало по време на спекулативно изпълнение се почиства и изтрива, времето, необходимо за извършване на операцията, не може да бъде скрито. След това тя може да използва тази информация, за да изгради карта на всичко, което е в паметта на компютъра, по едно наведнъж. Кеширането ускорява нещата, но тези атаки се възползват от тази оптимизация и я превръщат в пропуск в сигурността.
Така че, в най-лошия случай, JavaScript кодът, който се изпълнява във вашия уеб браузър, може ефективно да чете паметта, до която не би трябвало да има достъп, като например лична информация, съхранявана в други приложения. Доставчиците на облаци, като Microsoft Azure или Amazon Web Services, които поддържат софтуера на различни компании в различни виртуални машини на един и същ хардуер, са особено изложени на риск. Софтуерът на един човек на теория може да шпионира нещата в виртуалната машина на друга компания. Това е срив в разделянето между приложенията. Пачовете за Meltdown означават, че тази атака няма да бъде толкова лесна за слизане. За съжаление, поставянето на тези допълнителни проверки на място означава, че някои операции ще се забавят на засегнатия хардуер.
Разработчиците работят върху софтуерни кръпки, които правят атаките на Spectre по-трудни за изпълнение. Например новата функция на Google за изолиране на сайтове на Google помага да се предпазите от това, а Mozilla вече е направила някои бързи промени в Firefox. Microsoft също така направи някои промени, за да защити Edge и Internet Explorer в актуализацията на Windows, която вече е налична.
Ако се интересувате от дълбоките подробности за нивото на Meltdown и Spectre, прочетете техническото обяснение от екипа на Google Project Zero, който е открил бъговете миналата година. Повече информация можете да намерите и на уебсайта на MeltdownAttack.com.
Колко по-бавно ще бъде компютърът ми?
Актуализация: На 9 януари Microsoft пусна информация за производителността на кръпка. Според Microsoft, Windows 10 за PC от 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 намери нещо подобно. От друга страна, хардуерът на Том е намерил само 3,21% средно понижение на производителността с тест за съхранение на потребителски приложения и твърди, че „синтетичните бенчмаркове“, показващи по-значителни спадове в скоростта, не представляват реална употреба..
Компютрите с процесор Intel Haswell или по-нови имат функция PCID (Process-Контекст идентификатори), която ще помогне на пластира да се справя добре. Компютрите с по-стари процесори на Intel може да забележат по-голямо намаляване на скоростта. Горните показатели бяха изпълнени на модерни Intel процесори с PCID, така че не е ясно как ще се изпълняват по-старите процесори на Intel.
Intel казва, че забавянето "не би трябвало да бъде значително" за средния потребител на компютри, и досега това изглежда вярно, но някои операции виждат забавяне. За облака, Google, Amazon и Microsoft всички казаха едно и също: за повечето натоварвания те не са видели значимо въздействие върху производителността след пускането на пачовете. Microsoft твърди, че „малък набор от клиенти на Microsoft Azure може да изпитат някакво въздействие върху работата в мрежа“. Тези изявления оставят място за някои натоварвания, за да се забележат значителни забавяния. Epic Games обвини платформата Meltdown за причиняване на сървърни проблеми с играта си Fortnite и публикува графика, показваща огромно увеличение на използването на процесора на облачните си сървъри след инсталирането на кръпката.
Но едно нещо е ясно: Вашият компютър определено не става по-бърз с тази кръпка. Ако имате процесор на Intel, той може да стане по-бавен дори ако е с малка сума.
Какво трябва да направя?
Някои актуализации за отстраняване на проблема с Meltdown вече са налични. Microsoft е издала аварийна актуализация на поддържаните версии на Windows чрез Windows Update на 3 януари 2018 г., но все още не е стигнала до всички компютри. Windows Update, който разрешава разтопяването и добавя някои защити срещу Spectre, носи името KB4056892.
Apple вече е подправила проблема с macOS 10.13.2, издаден на 6 декември 2017 г. Chromebook с Chrome OS 63, който беше пуснат в средата на декември, вече е защитен. Патчи също са достъпни за ядрото на Linux.
В допълнение, проверете дали вашият компютър има налични BIOS / UEFI актуализации. Докато актуализацията на Windows е решила проблема с Meltdown, са необходими актуализации на микрокода от процесора, доставени чрез актуализация на UEFI или BIOS, за да се позволи пълна защита срещу една от атаките на Spectre. Също така трябва да актуализирате своя уеб браузър, както обикновено, тъй като браузърите добавят и някои защити срещу Spectre.
Актуализация: На 22 януари Intel обяви, че потребителите трябва да спрат да внедряват първоначалните актуализации на фърмуера на UEFI поради „по-високи от очакваните рестартирания и друго непредсказуемо поведение на системата“. Intel каза, че трябва да изчакате окончателно UEFI фърмуер, който е правилно тестван и няма да причини системни проблеми. От 20 февруари Intel пусна стабилни актуализации на микрокодове за Skylake, Kaby Lake и Coffee Lake, което е 6-та, 7-та и 8-ма поколение Intel Core платформи. Производителите на компютри трябва скоро да започнат да предлагат нови фърмуерни актуализации на UEFI.
Докато ударът на производителността звучи лошо, силно препоръчваме въпреки това да инсталирате тези корекции. Разработчиците на операционни системи няма да правят такива масивни промени, освен ако това не е много лош бъг със сериозни последствия.
Въпросният кръг на софтуера ще поправи дефекта на Meltdown, а някои софтуерни лепенки могат да помогнат за намаляване на недостатъка на Spectre. Но Spectre вероятно ще продължи да засяга всички съвременни процесори - поне в някаква форма - докато не се пусне нов хардуер, който да го поправи. Не е ясно как производителите ще се справят с това, но междувременно всичко, което можете да направите, е да продължите да използвате компютъра си и да утешите факта, че Spectre е по-трудно да се експлоатира, и малко повече загриженост за изчислителните облаци от крайните потребители настолни компютри.
Кредит за изображения: Intel, VLADGRIN / Shutterstock.com.