Підписання коду — це метод використання цифрового підпису на основі сертифіката для частини програмного забезпечення, щоб операційна система та користувачі могли визначити його безпеку. Тільки правильне програмне забезпечення може використовувати свій відповідний цифровий підпис.
Користувачі можуть безпечно завантажувати та встановлювати програмне забезпечення, а розробники захищають репутацію своїх продуктів за допомогою підпису коду. Однак хакери та розповсюджувачі зловмисного програмного забезпечення використовують саме цю систему, щоб отримати шкідливий код через антивірусні пакети та інші програми безпеки . Отже, що таке зловмисне програмне забезпечення з підписом коду та як воно працює?
Що таке зловмисне програмне забезпечення з підписом коду?
Якщо програмне забезпечення має цифровий підпис, це означає, що воно має офіційний цифровий підпис. Центр сертифікації видає сертифікат програмному забезпеченню, щоб визначити, що програмне забезпечення є законним і безпечним для використання.
Користувачам не доведеться хвилюватися, оскільки операційна система перевірить сертифікат і перевірить цифровий підпис. Наприклад, Windows використовує ланцюжок сертифікатів, який містить усі необхідні сертифікати для забезпечення законності програмного забезпечення.
Ланцюжок сертифікатів містить усі сертифікати, необхідні для сертифікації об’єкта, визначеного кінцевим сертифікатом. Насправді він складається з термінального сертифіката, проміжного сертифіката ЦС і кореневого сертифіката ЦС, якому довіряють усі сторони ланцюга. Кожен проміжний сертифікат ЦС у ланцюжку містить сертифікат, виданий ЦС на рівень вище. Кореневий ЦС видає сертифікати для себе.
Коли система запущена та запущена, ви можете довіряти програмному забезпеченню, системі підпису коду та ЦС. Зловмисне програмне забезпечення є зловмисним програмним забезпеченням, не є надійним і не має доступу до центру сертифікації чи підпису коду.
Хакери викрадають сертифікати з центру сертифікації
Антивірусне програмне забезпечення розпізнає зловмисне програмне забезпечення, оскільки воно негативно впливає на вашу систему. Він запускає попередження, користувачі повідомляють про проблеми, а антивірусне програмне забезпечення може створювати сигнатури зловмисного програмного забезпечення для захисту інших комп’ютерів за допомогою того самого антивірусного механізму.
Однак, якби творці зловмисного програмного забезпечення могли підписувати зловмисне програмне забезпечення за допомогою офіційних цифрових підписів, описаного вище процесу не відбувалося б. Натомість зловмисне програмне забезпечення, підписане кодом, може потрапити в систему офіційним шляхом, оскільки антивірусне програмне забезпечення та операційна система не виявляють нічого небезпечного.
Згідно з дослідженням Trend Micro, увесь ринок зловмисного програмного забезпечення зосереджено на підтримці розробки та розповсюдження зловмисного програмного забезпечення, підписаного кодом. Оператори шкідливих програм мають доступ до дійсних сертифікатів, які використовуються для підпису шкідливого коду. У таблиці нижче показано кількість зловмисного програмного забезпечення, яке використовує підпис коду для ухилення від антивірусного програмного забезпечення з квітня 2018 року.

Дослідження Trend Micro також показують, що близько 66% шкідливих програм мають цифрові підписи. Крім того, існують певні типи зловмисного програмного забезпечення, яке має кілька версій цифрових підписів, наприклад трояни , дроппери та програми-вимагачі .
Звідки походить цифровий сертифікат підпису коду?
Розповсюджувачі та розробники зловмисного програмного забезпечення мають два способи створення зловмисного програмного забезпечення з кодовим підписом. Вони викрадають сертифікати від центру сертифікації, безпосередньо або купуючи чи видаючи себе за законну організацію та запитуючи сертифікат у ЦС.
Як бачите, CA не єдина ціль хакерів. Розповсюджувачі, які мають доступ до законних сертифікатів, можуть продавати надійні сертифікати з цифровим підписом розробникам і розповсюджувачам шкідливих програм.
Група дослідників безпеки з Університету Масарика в Чеській Республіці та Мерілендського центру кібербезпеки виявили чотири організації, які продають сертифікати Microsoft Authenticode анонімним покупцям. Коли розробник зловмисного програмного забезпечення має сертифікат Microsoft Authenticode, він може підписати будь-яке можливе зловмисне програмне забезпечення за допомогою підпису коду та захисту на основі сертифіката.
У деяких інших випадках замість крадіжки сертифікатів хакери проникнуть на сервер збірки програмного забезпечення. Коли виходить нова версія програмного забезпечення, вона матиме законний сертифікат, хакери користуються цим процесом, щоб додати шкідливий код.
Приклад зловмисного ПЗ із підписом коду
Отже, як виглядає зловмисне програмне забезпечення, підписане кодом? Нижче наведено три приклади цього типу зловмисного програмного забезпечення.
- Зловмисне програмне забезпечення Stuxnet : це зловмисне програмне забезпечення знищило ядерну програму Ірану за допомогою двох викрадених сертифікатів і чотирьох уразливостей нульового дня. Ці сертифікати були вкрадені у двох компаній JMicron і Realtek. Stuxnet використовував викрадені сертифікати, щоб уникнути нової вимоги Windows щодо необхідності перевірки всіх драйверів.
- Злом сервера Asus: у період з червня по листопад 2018 року хакери проникли на сервер Asus, який компанії використовують для надсилання оновлень програмного забезпечення користувачам. Дослідження «Лабораторії Касперського» показують, що близько 500 тисяч пристроїв Windows отримали це шкідливе оновлення, перш ніж його виявили. Не викрадаючи сертифікатів, ці хакери підписують законні цифрові сертифікати Asus для свого зловмисного програмного забезпечення до того, як сервер програмного забезпечення поширить оновлення системи.
- Зловмисне програмне забезпечення Flame: варіант зловмисного програмного забезпечення модуля Flame, націленого на країни Близького Сходу, яке використовує шахрайські підписані сертифікати, щоб уникнути виявлення. Розробники Flame використовували слабкий алгоритм шифрування, щоб підробити цифрові сертифікати підпису коду, створюючи враження, ніби їх підписала Microsoft. На відміну від Stuxnet, який мав бути деструктивним, Flame є шпигунським інструментом, який шукає файли PDF, файли AutoCAD, текстові файли та інші типи важливих промислових документів.
Як уникнути шкідливих програм із підписом коду?
Цей тип зловмисного програмного забезпечення використовує підпис коду, щоб уникнути виявлення антивірусним програмним забезпеченням і системами, тому захистити від зловмисного програмного забезпечення з підписом коду надзвичайно складно. Важливо завжди оновлювати антивірусне програмне забезпечення та системи, уникайте натискання невідомих посилань і ретельно перевіряйте , звідки йде посилання, перш ніж переходити за ним. Зверніться до статті Ризики від зловмисного програмного забезпечення та як цього уникнути .