ASP.NET и человек в середине - PullRequest
       16

ASP.NET и человек в середине

0 голосов
/ 24 августа 2011

Использует ли ASP.NET механизм, запрещающий манипулирование данными между клиентом и сервером?

Если нет, значит ли это, что мы должны использовать SSL?Какие виды атак может предотвратить SSL?

Если да, что это за механизм?

Ответы [ 3 ]

4 голосов
/ 24 августа 2011

Нет, веб-формы ASP.NET и фреймворки mvc ничего не делают для защиты передачи данных между клиентом и сервером. Состояние представления - это зашифрованный фрагмент данных в веб-формах, но это не означает, что его нельзя подделать на пути к серверу или клиенту. Краткий ответ - использовать по крайней мере 128-битный протокол ssl с сертификатом, подписанным CA, если вы хотите предотвратить атаки человека в середине.

1 голос
/ 24 августа 2011

Чтобы запретить манипулирование данными между клиентом и сервером, необходимо, чтобы сервер обнаружил такие манипуляции. Для состояний просмотра это можно включить в asp.net, убедившись, что в состояниях просмотра включен Mac и включено шифрование. О, и вы также должны установить viewstateuserkey.

Однако для других параметров злоумышленник может манипулировать параметрами. Так что используйте SSL / TLS. SSL / TLS устанавливает зашифрованное соединение между вашим клиентом и сервером, что делает невозможным (если он плохо настроен) злоумышленник может прослушивать данные или манипулировать содержимым.

Не использует SSL / TLS, разрешает всевозможные атаки (прослушивание файлов cookie сеанса в открытых беспроводных сетях, внедрение пакетов и манипулирование возвращенной веб-страницей и т. Д.)

0 голосов
/ 24 августа 2011

ASP.Net использует Viewstate на стороне клиента для сохранения значений, что практически невозможно сломать. Однако любое веб-приложение передает (публикует) данные на сервер через веб-браузер, который передается в пакетных данных по протоколу TCP / IP. Эту информацию можно легко отслеживать с помощью некоторого программного обеспечения, чтобы увидеть, какие данные передаются (однако изменение этих данных при передаче на сервер в реальном времени кажется очень сложным). SSL просто шифрует данные (скажем, ваше имя пользователя и пароль, которые вы ввели в поле входа в систему), прежде чем браузер отправит их на сервер; эти данные при передаче по каналам TCP / IP можно отслеживать, но они будут в зашифрованном формате. Таким образом, безопасный.

Однако вы можете обезопасить свое приложение, позаботившись о пунктах по этим ссылкам:

...