Можно ли использовать античит-программное обеспечение для защиты коммерческого программного обеспечения Windows от инъекции DLL?

Вопрос или проблема

Можно ли использовать античит-программное обеспечение для защиты коммерческого программного обеспечения Windows от инъекции DLL?

Я разработчик и ищу готовое решение для защиты от DLL-инъекций и других эксплойтов в памяти (например, дампов памяти), что легко сделать из пользовательского режима. Античит-программное обеспечение обычно защищает от таких типов атак.

Можно ли использовать Battleye или другое подобное программное обеспечение как антихакерское программное обеспечение (например, защита от дампа памяти, защита от инъекций и т. д.) для неигровых коммерческих приложений?

Методы взлома игр и коммерческих приложений очень похожи. Тем не менее, у Battleye гигантский бюджет, и он кажется невероятно надежным по сравнению с небольшими командами, работающими над коммерческими инструментами против реверс-инжиниринга.

Я не говорю о защите от пиратства, обфускации или чем-то подобном, а просто о выявлении/защите от инъекций в память и подобных вещей, которые читеры делают в играх (в частности, DLL-инъекции).

Кратко: в контексте применения большинства коммерческих приложений AV/EDR предлагает лучшую системную защиту и перекладывает расходы на клиента.

Античит для видеоигр предназначен для защиты от очень специфического типа атаки. Он предполагает, что игрок имеет полные административные привилегии на своем компьютере и хочет скрыть информацию от игрока (например, местоположение всех остальных игроков в игре), в то время как коммерческие приложения обычно не нуждаются в сокрытии чего-либо от конечного пользователя. Античит также должен защищать от этого в реальном времени, потому что если игрок применит технику дампа памяти (например, дамп памяти при сбое процесса), эта информация не будет актуальна в контексте игры.

Античит также выполняет действия, которые обычный AV/EDR не выполняет, потому что в этом нет необходимости. Например, в настройках, не связанных с играми, если злоумышленник имеет физический доступ к машине, возникнут гораздо более серьезные проблемы (а физический доступ к уязвимым машинам обычно решается с помощью физической безопасности). Но в игровых условиях предполагается, что игрок имеет физический доступ к машине и все равно необходимо защищаться от таких типов атак.

Также стоит отметить, что античит защищает только конкретную программу, а не всю систему, и не защищает себя. Античит-программное обеспечение можно отключить – фактически, приостановка его работы является техникой для создания карт памяти игр – но отключение обычно означает, что игра выгонит вас с того сервера, к которому вы подключены. Кроме того, техники, использующиеся для обхода античита, будут помечены как вредоносные решениями AV/EDR (вот почему читеры отключают их при использовании своих читов).

Поэтому вопрос в том, что в коммерческом приложении требуется для предотвращения действий пользователя с полными административными привилегиями и физическим доступом, таких как чтение памяти приложения в реальном времени? Обычное программное обеспечение предполагает некоторую степень доверия к законному конечному пользователю, в то время как античит активно предполагает, что законный конечный пользователь будет совершать злонамеренные действия. Хотя с технической точки зрения может быть возможно реализовать античит для игр в коммерческих приложениях, это как пытаться поместить квадратный колышек в круглое отверстие. Античит для игр рассчитан на защиту видеоигр, которые имеют другие требования, чем коммерческие приложения. В коммерческой среде также возникают проблемы с потенциальной совместимостью с другими приложениями/системами, с которыми игры обычно не сталкиваются.

Исправление: другой фактор, который я забыл упомянуть, – это стоимость. Если вы, как разработчик, создаете приложение, которое безопасно с точки зрения кода, какой стимул у вас есть нести дополнительные расходы на лицензирование античит-программного обеспечения? Помните, вы доверяете, что ваш конечный пользователь имеет законный интерес в поддержании безопасности и будет действовать в соответствии с этим, поэтому пусть они несут расходы на свою безопасность.

Ответ или решение

Использование античитового программного обеспечения для защиты коммерческого программного обеспечения Windows от инъекций DLL и других атак на память — это интересная, но сложная проблема. В этом ответе я постараюсь рассмотреть ключевые аспекты, связанные с этой темой.

1. Понимание античитового ПО

Античитовые решения, такие как Battleye, разработаны с целью защиты игровых приложений от угроз, исходящих от пользователей с полными правами администратора на их устройствах. Это программное обеспечение активно предотвращает инъекции и манипуляции с памятью, которые могут повлиять на игровой процесс или предоставить игроку преимущества в игре.

2. Отличия от коммерческих приложений

Коммерческие приложения, в отличие от игр, чаще всего имеют другие цели и контекст использования. Они предполагают, что пользователь является легитимным, и следовательно, в большинстве случаев нет необходимости скрывать внутреннюю работу приложения от пользователя. Напротив, античитовые решения предполагают, что игроки могут применять злонамеренные действия, чтобы манипулировать игрой. Это различие в подходах влияет на необходимость и целесообразность применения античитового ПО для защиты коммерческих программ.

3. Защита от инъекций и атак на память

Античитовое ПО эффективно защищает от инъекций DLL, но также зависит от специфики приложения. В контексте коммерческого программного обеспечения, где пользователь фактически имеет полный контроль над своей системой, вероятность успешного предотвращения инъекций и атак на память с помощью античитового ПО может быть ограничена. Например, если пользователь решит отключить или обойти такое защитное ПО, он может сделать это без каких-либо серьезных последствий для его работы с приложением.

4. Альтернативные методы защиты

Вместо использования античитового ПО, более целесообразно рассмотреть другие варианты, такие как:

  • Аппаратные и программные средства защиты: Использование решений по защите от инъекций и манипуляций на уровне операционной системы, таких как антивирусные и EDR (Endpoint Detection and Response) системы. Эти решения более также пора спроектированы для защиты корпоративной среды и могут предложить более широкую защиту на уровне системы, чем целенаправленное античитовое ПО.

  • Обфускация кода: Использование методов обфускации и шифрования кода для усложнения процесса реверс-инжиниринга и устранения возможности легкого доступа к памяти приложения.

  • Протоколы безопасности: Разработка собственных протоколов для защиты важной информации и управление доступом к собственным ресурсам приложения.

5. Стоимость и эффективность

Как вы уже упомянули, соотношение цены и качества является важным аспектом. Лицензирование античитового ПО, которое требует значительных инвестиций без ясной пользы для коммерческого приложения, может вызвать сомнения у разработчиков. Применение стандартных решений по обеспечению безопасности может оказаться более разумным и эффективным вариантом.

Заключение

Возможность использования античитового программного обеспечения для защиты коммерческого ПО от инъекций DLL существует с технической точки зрения, но на практике это может оказаться более сложным и неэффективным решением. Лучшим подходом будет применение методов, адаптированных к специфике и потребностям вашего приложения, с акцентом на доверие к пользователю и надежные механизмы защиты на уровне системы.

Оцените материал
Добавить комментарий

Капча загружается...