мова
залізо windows програми мережа
русский українська
ЗалізоПроцесорТехнології та інструкції, що використовуються в процесорах → NX (XD) і EVP

NX (XD) і EVP

14.03.2017 р.

Технології NX (No Xecute), XD (eXecute Disable) і EVP (Enhanced Virus Protection), не дивлячись на різні назви, є одним і тим же - важливим компонентом будь-якого сучасного процесора, що забезпечує підвищений захист комп'ютера від вірусів і хакерських атак, які використовують механізм переповнення буферу.

Назви NX і XD характерні для процесорів Intel. EVP - для процесорів AMD.

Зустрічаються також і інші варіанти назв, такі як DEP (Data Execution Prevention), XN (eXecute Never) тощо.

Переповнення буфера


Майже кожна програма працює з зовнішніми даними, отримуваними з запам'ятовуючих пристроїв, з мережі Інтернет чи інших джерел. Для використання цих даних програми копіюють їх в буфери - блоки віртуальної пам'яті комп'ютера, які виділяються для їх роботи.

Переповнення відбувається, коли в буфер записуються дані, обсяг яких перевищує його розміри. Це можливо, якщо розробник програми в якомусь її місці не передбачив перевірку відповідності обсягу копійованих даних розміру буфера. В результаті переповнення "зайві" дані потрапляють в пам'ять комп'ютера і розташовуються за межами конкретного буфера, "несанкціоновано" замінюючи частину даних, що знаходяться в пам'яті.

Системна пам'ять використовується не тільки для зберігання даних, що обробляються. Вона також може містити виконуваний код, з якого складаються програми.

Знаючи про існування бага в конкретній програмі, зловмисник може "підставити" їй потрібним чином скомпонований програмний код, який через механізм переповнення буферу замінить частину виконуваного коду, що міститься в пам'яті. Процесор виконає цей код і здійснить, таким чином, необхідні зловмиснику дії.


Гострота проблеми


Вперше механіз переповнення буферу був використаний при створенні комп'ютерного вірусу, що одержав назву "черв Морріса". Це був саморозповсюджуваний черв, який "розповзся" в 1988 році по всьому Інтернету (який тоді ще тільки починав розвиватися).

З вказаного часу масові зараження комп'ютерів шкідливим кодом, заснованим на цій вразливості, неодноразово мали місце. Зі зростанням Інтернету збільшувалися й їх масштаби. У 2001 році черв Code Red інфікував понад 350 тис. комп'ютерів по всьому світу, в 2003 році черв SQL Slammer поширився не менше ніж на 75 тисяч комп'ютерів і т. д.

Сьогодні серед комп'ютерних вразливостей переповнення буферу займає одне з перших місць. Кількість шкідливих програм, які його використовують, обчислюється тисячами. При цьому, під небезпеку підпадають як комп'ютери на базі Windows, так і машини, що використовують Linux. Крім того, в 2015 році була виявлена потенційна можливість переповнення буферу в Linux-драйвері, яка підставляє під удар крім комп'ютерів ще й мільйони маршрутизаторів по всьому світу.


Механізм роботи NX і EVP


Технології NX і EVP використовуються в процесорах з 2004 року й ґрунтуються на "ізоляції" блоків віртуальної пам'яті комп'ютера, призначених для зберігання виконуваного коду, від блоків, в які записуються оброблювані дані. За таких умов навіть якщо зловмиснику вдасться впровадити свій код в пам'ять комп'ютера, він не буде виконаний процесором.

Щоб цей захист повноцінно функціонував, комп'ютер повинен використовувати відповідну операційну систему. У Windows підтримка NX/EVP з'явилася у версії Windows XP SP2. А Windows 8, 10 і зовсім не працюють на комп'ютерах, процесори яких не підтримують зазначені технології.

NX/EVP не забезпечують повний захист від загроз переповнення буферу, однак, дуже знижують вірогідність злому системи.

ПОДІЛИТИСЬ:

НАПИСАТИ АВТОРУ
Схожі матеріали


Технології та інструкції, що використовуються в процесорах

Люди зазвичай оцінюють процесор за кількістю ядер, тактовою частотою, об'ємом кеша та іншими показниками, рідко звертаючи увагу на підтримувані ним технології.

Окремі з цих технологій потрібні тільки для вирішення специфічних завдань і в "домашньому" комп'ютері навряд чи коли-небудь знадобляться. Наявність же інших є неодмінною умовою роботи програм, необхідних для повсякденного використання.

Так, популярний браузер Google Chrome не працює без підтримки процесором SSE2. Інструкції AVX можуть в рази прискорити обробку фото- і відеоконтенту. А нещодавно один мій знайомий на досить швидкому Phenom II (6 ядер) не зміг запустити гру Mafia 3, оскільки його процесор не підтримує інструкції SSE4.2.

Якщо абревіатури SSE, MMX, AVX, SIMD вам ні про що не говорять і ви хотіли б розібратися в цьому питанні, викладена тут інформація стане непоганою допомогою.

ΞдетальнішеΞ
Порівняння процесорів

Онлайн-сервіс порівняння характеристик процесорів. Являє собою порівняльну таблицю, в яку можна одночасно додати до 4 процесорів, вибравши їх зі списку (доступно близько 2 тис. процесорів Intel і AMD).

Сервіс дозволяє в зручній формі порівнювати продуктивність процесорів у синтетичних тестах, кількість ядер, частоту, структуру і об'єм кешу, підтримувані типи оперативної пам'яті, швидкість шини, а також інші їх характеристики.

ΞдетальнішеΞ
Специфікації процесорів

У цій базі зібрані детальні характеристики процесорів Intel і AMD. Вона містить специфікації близько 2 тисяч десктопних, мобільних та серверних процесорів, починаючи з перших Пентіумів і Атлонов і закінчуючи останніми моделями.

Інформація систематизована в алфавітному порядку і буде корисною всім, хто цікавиться комп'ютерною технікою.

ΞдетальнішеΞ
Таблиця процесорів

Таблиця містить інформацію про майже 2 тис. процесорів і буде корисною людям, які цікавляться комп'ютерним "залізом". Положення кожного процесора в таблиці визначається рівнем його швидкодії в синтетичних тестах (розташовані в порядку зменшення).

Є фільтр, що відбирає процесори по виробнику, моделі, сокету, кількості ядер, наявності вбудованого відеоядра та іншим параметрам.

Для отримання детальної інформації про будь-який процесор достатньо натиснути на його назву.

ΞдетальнішеΞ
Як перевірити стабільність процесора

Перевірка стабільності роботи центрального процесора потрібна не часто. Як правило, така необхідність виникає при придбанні комп'ютера, розгоні процесора (оверлокінгу), при виникненні збоїв у роботі комп'ютера, а також у деяких інших випадках.

У статті описано порядок перевірки процесора за допомогою програми Prime95, яка, на думку багатьох експертів і оверлокерів, є кращим засобом для цієї мети.

ΞдетальнішеΞ
Як дізнатися який процесор встановлений в комп'ютері

Назва моделі зазвичай наноситься виробником прямо на процесор. Тому якщо він ще не встановлений в сокет материнської плати і не прикритий зверху системою охолодження, отримати необхідні відомості можна з маркування на його кришці.

Ну а якщо процесор вже стоїть в системному блоці, дізнатися його модель можна декількома способами. Деякі з них працюють тільки в Windows. Інші - підходять для випадків, коли Windows на комп'ютері відсутня чи не запускається.

ΞдетальнішеΞ
ЗАЛІЗО Основи Будова комп'ютера Драйвери пристроїв BIOS, UEFI Внутрішні пристрої Процесор Материнська плата Відеокарта Оперативна пам'ять Жорсткий диск, SSD Блок живлення Мережева карта Звукова карта Кулери, охолодження Зовнішні пристрої Мишка Клавіатура Монітор, телевізор Флешка Оптичні диски Принтер, сканер Маршрутизатор, Wi-Fi WINDOWS Інсталяція і оптимізація Інсталяція Windows Оновлення, відновлення Оптимізація Windows Файли і папки Файли Папки Архіви Іконки та ярлики Контекстне меню Використання Windows Основи Робочий стіл Панель завдань Мій комп'ютер Облікові записи Гарячі клавіши Дата та час Мова Шрифти Звуки Панель керування Диспетчер завдань Диспетчер пристроїв Реєстр Командний рядок Віртуалізація Безпека ПРОГРАМИ Інструкції та поради Встановлення програм Автозавантаження програм Microsoft Word Microsoft Excel Браузери Архіватори Файли, мультимедіа Безпека Каталог програм Категорії

МЕРЕЖА Основи Налаштування мережі Можливості Інтернету Корисні сайти
вгору