Есть ли способ предотвратить анализ или внедрение нашего приложения?(c#)

StackOverflow https://stackoverflow.com/questions/893658

  •  23-08-2019
  •  | 
  •  

Вопрос

Существует множество профилировщиков и статических анализаторов кода для сборок C #.

Просто интересно, есть ли какие-нибудь методы предотвратить анализ, потому что это заставляет меня немного нервничать, когда меня раздевают.

Я искал по всему Интернету и stackoverflow.Кажется, нет причин для моего удивления.

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

"Манипуляции со сборкой и внедрение кода C # / VB.NET"

"Как внедрить управляемую сборку .NET (DLL) в другой процесс"

Это просто я слишком волнуюсь или что?

Кстати, с помощью C # мы создаем новый клиент winform, позволяющий клиентам банка совершать онлайн-транзакции.Должны ли мы не делать это способом winform или нам следует использовать какой-нибудь другой язык, такой как Delphi, C ++?В настоящее время у нас есть клиент winform, созданный с помощью C ++ Builder.

Это было полезно?

Решение

Практически любое приложение может быть "проанализировано и внедрено".Некоторые больше, чем другие.Вот почему вы НИКОГДА НЕ ДОВЕРЯЕТЕ ПОЛЬЗОВАТЕЛЬСКОМУ ВВОДУ.Вы полностью проверяете запросы вашего пользователя на стороне сервера, убедившись, что вы не уязвимы для переполнения буфера, внедрения sql и других векторов атак.

Обфускаторы могут усложнять .СЕТЕВЫЕ сборки сложнее анализировать.Использование защищенного ключа для строгого присвоения имен вашим сборкам может значительно усложнить изменение вашего кода.Но, как и во всем остальном в цифровом мире, кто-то может воспользоваться уязвимостью и обойти любые установленные вами меры предосторожности.

Другие советы

Если под проанализированным вы подразумеваете кого-то, кто декомпилирует код и просматривает его, то Dotfucstor, который поставляется с VS Pro и выше, является простым (бесплатным) инструментом, который поможет здесь.Существует более функциональная (но платная) версия, которая может сделать больше.

Чтобы предотвратить вмешательство кого-либо в ваши развернутые assmebliles, используйте Сильные Имена.

Там, где есть желание, есть и способ, будь то управляемый код или собственная сборка.Ключ заключается в том, чтобы хранить важную информацию на стороне СЕРВЕРА и поддерживать контроль над ней.

Первое, что вам нужно решить, от чего вы пытаетесь защититься?Обфускаторы полезны только для защиты алгоритмов "секретного соуса", но злоумышленник может просто извлечь код и использовать его как черный ящик.В 99% случаев обфускаторы - это пустая трата денег.Если у злоумышленника есть физический доступ, вы мало что можете сделать.

Если конечный пользователь работает с правами администратора, то он сможет подключить отладчик и изменить ваш код, включая данные целевой учетной записи.Мой местный дружественный банк предоставил мне устройство для считывания чипов и PIN-кодов, с помощью которого я должен ввести последние n цифр целевого счета, которые он хэширует / шифрует с помощью чипа моей банковской карты;Затем я ввожу код с устройства в веб-приложение банка, которое также можно проверить на стороне банка.Это смягчает атаки типа "человек посередине"...

Безопасность возможна только в системах, доступ к которым вы физически контролируете, и даже тогда она не гарантирована, а просто достижима.Вы должны исходить из того, что любой код, не выполняющийся в системе, которой вы управляете, может быть скомпрометирован и будет скомпрометирован.Как заявил Роуленд Шоу, лучшим выбором для финансового учреждения является своего рода физический токен, который эффективно добавляет автономный уникальный компонент ко всем транзакциям, которые не могут быть (легко) известны заранее злоумышленнику, действующему из скомпрометированной системы.Даже в этом случае вы должны знать о том факте, что если компьютер пользователя был скомпрометирован и он входит в систему со своим защищенным токеном с этого момента и до окончания сеанса, злоумышленник волен выполнять любые действия, на которые у пользователя есть разрешение, но, по крайней мере, в этом случае пользователь с большей вероятностью заметит мошеннические действия.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top