Mastodon Mastodon Mastodon Mastodon

.NET

Оновлено: · CyberSecureFox Editorial Team

.NET — безкоштовна платформа Microsoft з відкритим кодом для створення й запуску застосунків на C#, F# і Visual Basic у Windows, Linux та macOS.

Як влаштований .NET

Вихідний код компілюється в проміжну мову (IL). Під час роботи середовище виконання CLR (Common Language Runtime) перетворює IL на машинний код, керує пам’яттю за допомогою збирача сміття й контролює типобезпеку. Велика бібліотека класів охоплює роботу з мережею, криптографію, файли та веброзробку (ASP.NET Core).

  • .NET Framework — початкова версія лише для Windows (остання — 4.8.1), і далі постачається з Windows.
  • .NET (раніше .NET Core) — кросплатформний наступник, об’єднаний із .NET 5 у 2020 році. Нова версія виходить щолистопада; парні релізи (.NET 8, .NET 10) отримують три роки довгострокової підтримки (LTS).

Чим .NET важливий для безпеки

Керований код позбавляє цілих класів помилок роботи з пам’яттю, але в .NET-застосунках лишаються логічні вразливості, ін’єкції й насамперед небезпечна десеріалізація: BinaryFormatter виявився настільки небезпечним, що Microsoft видалила його в .NET 9. Зловмисники теж люблять .NET: IL легко декомпілювати й завантажувати просто в пам’ять, тому багато стилерів і троянів віддаленого доступу написано на C# і приховано обфускаторами та пакувальниками. Шкідливі пакети NuGet, що маскуються під популярні бібліотеки, — постійна загроза ланцюгу постачання.

Рекомендації

  • Використовуйте підтримувану версію .NET і встановлюйте щомісячні оновлення безпеки.
  • Не десеріалізуйте недовірені дані серіалізаторами, які зберігають типи; використовуйте System.Text.Json з фіксованими типами.
  • Фіксуйте версії та перевіряйте підписи пакетів NuGet.
  • Ставтеся до непідписаних .NET-файлів із невідомих джерел з підозрою; декомпілятори на кшталт ILSpy чи dnSpy покажуть, що вони роблять насправді.
Синоніми:
Dot NET