Что такое обфускация (запутывание кода)?
Обфускация, простыми словами, — это процесс намеренного усложнения кода, информации или онлайн-активности для их чтения, понимания или обнаружения.
Основная цель этой практики — скрыть конфиденциальные данные от тех, кому не следует их видеть. В целом, онлайн-обфускация принимает одну из трех различных форм: обфускация данных, обфускация кода и сетевая обфускация.
Каковы различные типы обфускации?
Первый и, вероятно, самый распространенный тип обфускации в интернете — это обфускация данных. «Данные» — это широкий термин, охватывающий огромное количество информации, передаваемой онлайн. Обфускация данных — это действие по сокрытию фактических битов и байтов с использованием таких методов, как шифрование, токенизация и маскирование данных.
Обфускация данных
-
Шифрование
Шифрование предназначено для защиты содержимого ваших данных, даже если хакер или злоумышленник сумеет их похитить. Представьте, что вы отправляете посылку с невзламываемым замком; даже если хакер перехватит её во время транспортировки, он все равно не сможет увидеть, что внутри, благодаря сокрытию с помощью шифрования.Шифрование направлено на защиту личной информации (Personally Identifiable Information, PII). Когда данные зашифрованы, они скрыты за стеной сложной криптографической математики, известной как «шифр». Если у отправляющей и принимающей сторон есть правильные ключи для шифра, расшифровка данных в зашифрованной передаче не составляет труда.
Но без ключа хакеру пришлось бы перебирать все возможные перестановки ключа в шифре, чтобы получить доступ. Например, если ваше соединение зашифровано с помощью AES-256, это означает, что компьютеру потребуется искать больше возможных решений, чем существует атомов в наблюдаемой вселенной.
Шифрование присутствует повсюду в нашей онлайн-жизни, от маленького значка замка, который вы видите в адресной строке браузера, до метафорических вооруженных охранников, стоящих у нашей системы онлайн-банкинга для защиты счетов.
-
Токенизация
Далее идет токенизация. Токенизация заменяет конфиденциальные данные уникальным, нечувствительным заполнителем, называемым «токеном». Оригинальные конфиденциальные данные хранятся отдельно, в своего рода защищенном «хранилище». Приложения используют только токен, что снижает доступность оригинальной информации.Например, пока интернет-магазин или розничный магазин собирает полную информацию вашей кредитной карты для авторизации транзакции, магазин использует токен (например, Customer_456_Card) для списания средств с вас, в то время как полный номер карты хранится в безопасности в защищенном платежном хранилище, отдельном от основного веб-сайта.
Обфускация кода
Обфускация кода чаще рассматривается как «как» в уравнении безопасности и конфиденциальности, охраняя секреты того, как на самом деле работает программное обеспечение, защищающее нашу личную информацию. Если шифрование предназначено для защиты информации во время передачи или при хранении на защищенном диске, то обфускация кода — это процесс, который обеспечивает безопасность операционной системы, которую вы используете для доступа к зашифрованному жесткому диску, от внешних атак.
При обфускации кода разработчики используют ряд технологий и методов, чтобы сбить хакеров со следа. Они включают:
-
Переименование: Изменение всех логических имен переменных и функций (например, ProcessPayment()) на бессмысленные короткие имена, такие как a(), b(), x1()).
-
Обфускация потока управления: Этот процесс включает в себя нарушение логики программы. Представьте, что вы берете простой набор инструкций 1-2-3-4, разрезаете его и добавляете кучу команд «перехода», так что код выполняется как 3-1-4-2. Он все еще работает, но за ним практически невозможно уследить.
-
Мусорный код: Тактика, почти такая же старая, как и само программирование, мусорный код предназначен для того, чтобы заводить хакеров в ловушки и циклы. Размещая код, который выглядит как зацепка, но никуда не ведет, программисты могут защитить ядро своей кодовой базы, используя язык, который полностью понимают только они или их сотрудники.
Обфускация кода часто используется для защиты интеллектуальной собственности, предотвращения пиратства, защиты от обнаружения вредоносных программ или сокрытия логики античита. Но это не пуленепробиваемо, и аналитик часто может в конечном итоге восстановить обфусцированный код методом обратного проектирования, если у него достаточно времени и терпения.
Сетевая обфускация
Наконец, сетевая обфускация, которая может скрыть «что» вы делаете в интернете. Это менее распространено, чем два других типа, но все еще является полезным методом для обеспечения контроля над каждым аспектом ваших данных с момента их поступления на любое устройство, которое вы используете ежедневно, или отправки с него.
При доступе в интернет в регионах или на сервисах, использующих глубокую проверку пакетов (Deep Packet Inspection, DPI) для определения содержимого вашего соединения, VPN легко обнаруживаются из-за определенных сигнатур в их трафике.
Скрытые (Stealth) VPN созданы для обфускации не только данных, которые вы передаете и получаете через VPN-сеть, но и самого факта использования VPN. Брандмауэры, предназначенные для обнаружения несанкционированных VPN-туннелей, будут видеть соединения Stealth VPN как безобидный HTTPS-трафик, тот же самый, который используется для доступа к большей части интернета.
Однако скрытые VPN обычно жертвуют безопасностью ради производительности и будут медленнее, чем стандартное VPN-соединение. Если вы смотрите потоковое видео или играете в игры и вам не нужен дополнительный уровень конфиденциальности и обфускации, рекомендуется избегать предложений Stealth VPN.
Заключение
Обфускация — это необходимый, критически важный компонент обеспечения безопасности интернета от злоумышленников и вредоносной деятельности. Без шифрования, обфускации кода или сетевой обфускации большая часть информационной безопасности и свободы, на которую мы полагаемся в интернет-экономике, была бы невозможна сегодня.
Скольким бы хакерам ни хотелось украсть ваши самые сокровенные тайны, существует армия математиков, криптографов и исследователей, которые стремятся защитить их. Обфускация — это искусство и наука, которые делают это возможным в интернете таким, каким мы его знаем сегодня.