Denuvo: що це, як шифрує ігри, застосунки та чому його ламають? | robot_dreams
Для відстеження статусу замовлення - авторизуйтесь
Введіть код, який був надісланий на пошту Введіть код із SMS, який був надісланий на номер
 
Код дійсний протягом 2 хвилин Код з SMS дійсний протягом 2 хвилин
Ви впевнені, що хочете вийти?
Сеанс завершено
На головну
Denuvo простими словами: Як шифрують ігри, банківські застосунки та прошивки

Denuvo простими словами: Як шифрують ігри, банківські застосунки та прошивки

Кіберзахист за $25 000 на місяць, який все одно зламають?

Десять днів. Саме стільки знадобилося хакеру під псевдонімом voices38, щоб зламати три великі ігрові релізи поспіль: PRAGMATA, Mafia: The Old Country та LEGO Batman: Legacy of the Dark Knight. Ігри, які великі видавці охороняли одним із найдорожчих та найскладніших захистів у галузі — Denuvo. До слова, ця штука коштує близько $25 000 на місяць.

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

Що таке Denuvo?

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

Джерело: Reddit

Почнемо з головного непорозуміння: Denuvo — це не DRM.

  • DRM (Digital Rights Management) — це система керування правами доступу. Саме вона перевіряє, чи купили ви гру в Steam або Epic, чи є у вас активна підписка, чи маєте право запустити продукт. Це, умовно кажучи, замок на дверях.
  • Denuvo — це броньований сейф навколо цього замка. Його офіційна назва — Anti-Tamper технологія. Він не перевіряє ваші права, а робить так, щоб ніхто не зміг розібрати, підробити або обійти DRM-перевірку. Якщо хакер не може проаналізувати код — він не може його зламати.

Розробила цю технологію у 2014 році австрійська компанія Denuvo Software Solutions, яку згодом придбав нідерландський гігант кібербезпеки Irdeto. З того часу захист зустрічається все частіше.

Бізнес-модель проста (і безжальна). Видавець купує щомісячну підписку (~$25 000) поки гра продається активно, а потім нерідко тихо прибирає захист, коли пік продажів минув. 

Як Denuvo шифрує

Точний алгоритм Denuvo — комерційна таємниця, яку компанія не розкриває. Але завдяки дослідникам у сфері реверс-інжинірингу загальна архітектура захисту відома досить добре. Вона складається з трьох ключових рівнів.

Рівень перший: прив'язка до заліза

Коли ви вперше запускаєте гру з Denuvo, система збирає унікальні ідентифікатори вашого комп'ютера — процесора (CPU ID), відеокарти (GPU ID), і серійний номер жорсткого диска. На основі цих даних генерується унікальний ключ шифрування, специфічний для вашої конкретної машини.

Саме тому просто скопіювати встановлену гру і роздати друзям не вийде — ключ прив'язаний до заліза. На іншому комп'ютері він не підійде.

Рівень другий: динамічне шифрування коду

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

Якщо хакер запустить дебагер і спробує підглянути за кодом під час виконання — він побачить не оригінальні інструкції, а зашифровану кашу всередині VM, оточену шарами обфускації та антидебаг-пасток. Аналізувати нема чого.

Рівень третій: перевірка цілісності в реальному часі

Навіть якщо комусь вдалося щось підмінити в пам'яті — Denuvo це помітить. Система постійно моніторить стан пам'яті процесу, перевіряє цілісність коду і даних при кожному запуску й під час гри, блокує спроби ін'єкції стороннього коду й підвантаження несанкціонованих модулів.

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

Де ще використовують ці технології?

Denuvo часто сприймають як суто геймерську проблему. Але технології, на яких він побудований, — це не ексклюзив ігрової індустрії. Це універсальний інструментарій, який живе скрізь, де є цифровий продукт і бажання захистити його від несанкціонованого використання.

  • Корпоративне ПЗ. Adobe, AutoCAD, Microsoft Office — всі великі ліцензійні пакети використовують схожі механізми прив'язки до машини та перевірки цілісності. Якщо ви коли-небудь переносили ліцензію на новий комп'ютер і вона «не спрацювала» — ви стикалися з тим самим принципом апаратного fingerprinting, що і в Denuvo.

Джерело: Github

  • Мобільні банківські застосунки. Тут обфускація коду — це не опція, а необхідність. Якщо зловмисник зможе розібрати логіку авторизації банківського додатка, він знайде спосіб підробити запит, обійти перевірку або впровадити шкідливий код. Саме тому мобільні застосунки серйозних фінансових установ захищені шарами обфускації, антидебаг-механізмами та перевірками цілісності.
  • Прошивки IoT-пристроїв. Ваш роутер, смарттелевізор, промисловий контролер — всі вони мають прошивку, яку виробник хоче захистити від читання та модифікації. Тому що всередині є алгоритми, ключі шифрування та логіка, яку конкурент або зловмисник не має бачити.
  • Смартконтракти. Блокчейн за природою публічний, код контракту може прочитати будь-хто. Але виконати його можна лише за правилами — і будь-яка спроба обійти логіку під час виконання має бути заблокована. Це та сама задача захисту цілісності виконання, тільки розв'язана іншими методами.

Чому Denuvo все одно ламають

Мета Denuvo ніколи не полягала в абсолютній невразливості. Мета — протриматись достатньо довго, поки продукт заробить основні гроші. Перші 30 днів після релізу — це пік продажів. Якщо за цей час гра не з'явилась на торентах, видавець уже відбив більшу частину інвестицій. 

Але гонитва пришвидшується. У 2014 році злам Denuvo займав тижні. У 2017 Resident Evil 7 протрималась п'ять днів. Сьогодні ми вже маємо кейси, де одразу три великих релізи хакнули за 10 днів. Кожне нове покоління захисту вивчається, аналізується — і зрештою долається.

Чому так відбувається?

Тому що Denuvo будується на принципі, який в кібербезпеці називають security through obscurity — «безпека через непрозорість». Якщо ніхто не знає, як влаштований захист, ніхто не зможе його обійти. Проблема в тому, що це не справжня безпека — це лише ставка на те, що ніхто не витратить достатньо часу і зусиль на аналіз.

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

В пентесті це називають невдалою моделлю загроз: коли захист створює більше проблем для своїх, ніж для чужих. Розуміти, де саме система дає тріщину, — це і є суть роботи спеціаліста з безпеки.

Ще статті