Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #72, НОЯБРЬ 2006 г.

битва в канале

ДРОЗДОВ АНДРЕЙ AKA SULVERUS

Спецвыпуск: Хакер, номер #072, стр. 072-028-6


[мой канал - моя крепость.]

Так защитим же наше приложение от подобных атак! Для этого нужно вписать в конфиги пару строк, активировав безопасность, поддержку шифрования канала и аутентификацию пользователя. Для того чтобы забронировать стенки канала, нам надо выставить опцию protectionLevel в EncryptAndSign, TokenImpersonationLevel - в Impersonation, а чтобы активировать защиту – обратить impersonate в true. После таких хитрых преобразований никто со стороны не сможет вторгнуться в канал, если, конечно, не подделает имя программы для аутентификации. В итоге наш бронебойный конфиг будет выглядеть примерно так:

Бронебойный конфиг для сервера

<configuration>

<system.runtime.remoting>

<application>

<service>

<wellknown mode="Singleton" type="NetRemooting_Real.NRR, NetRemooting_Real"

objectUri="RemoteObjectPort" />

</service>

<channels>

<channel ref="http" port="5000" secure="true" protectionLevel="EncryptAndSign"

impersonate="true" TokenImpersonationLevel="Impersonation">

<serverProviders>

<!--Вот тут можно задать какие-нибудь модные параметры сервера-->

</serverProviders>

</channel>

<channel ref="tcp" port="5001" secure="true" protectionLevel="EncryptAndSign"

impersonate="true" TokenImpersonationLevel="Impersonation">

<serverProviders>

<!--Вот тут можно задать какие-нибудь модные параметры сервера-->

</serverProviders>

</channel>

<channel ref="ipc" portName="myIPCPort" secure="true"

protectionLevel="EncryptAndSign" impersonate="true"

TokenImpersonationLevel="Impersonation">

<serverProviders>

<!--Вот тут можно задать какие-нибудь модные параметры сервера-->

</serverProviders>

</channel>

</channels>

</application>

</system.runtime.remoting>

</configuration>

[the end.]

Вот мы и разобрались с технологией .NET Remoting, и уже сейчас можно сделать вывод: хорошо бы, чтобы к выходу Windows Vista все эти системы не выглядели как решето :), поскольку уровень уязвимостей пока еще критически велик. Несмотря на то, что в массы пускать такую систему еще нельзя, сам факт передачи кода и объектов по сети забавен. Возможно, в будущем свершится еще одна революция в программировании, и будет создана общая база данных с кодом, а приложения со всего мира будут к ней обращаться. Кстати, кто знает, может быть именно ты при помощи класса IChannel напишешь свой бронебойный канал и придумаешь гениальный алгоритм обмана сниферов и сокрытия его в системе?

НА КОМПАКТ-ДИСКЕ ТЫ НАЙДЕШЬ ИСХОДНИКИ К СЕРВЕРУ, КЛИЕНТУ И КЛАССУ. ТАКЖЕ ТЫ НАЙДЕШЬ НА ДИСКЕ ПРОГРАММУ TCPTRACE

WWW

СОВЕТУЮ ПОЧИТАТЬ MSDN ПРО IPC КАНАЛЫ:

HTTP://MSDN2.MICROSOFT.COM/EN-US/LIBRARY/SYSTEM.RUNTIME.REMOTING.CHANNELS.IPC.ASPX

БЕЗОПАСНОСТЬ ПЛАТФОРМЫ .NET

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

Назад на стр. 072-028-5  Содержание  Вперед на стр. 072-028-7