Распределенные автоматизированные системы
Лычёв А.В. © изд-во ВМИРЭ © 2007 год
144
брандмауэра. В то же время возникают ситуации, когда надо
пропустить в систему мобильного агента извне. При этом не-
обходим тотальный контроль за абсолютно всеми действиями
агента в распределенной системе. Имеются два механизма кон-
троля за поведением агента:
1. Механизм сита. Механизм сита предусматривает поко-
мандный контроль работы агента. При попытке выполнить за-
прещенную команду, обратиться к запрещенным регистрам или
областям памяти, получить доступ к запрещенным ресурсам,
выполнение программы агента прекращается. Механизм сита
реализуется программой, называемой менеджер защиты, которая
работает как стандартный интерпретатор, имеющий в качестве
входной информации программный код мобильного агента. Стан-
дартный менеджер защиты реализует очень жесткие правила за-
щиты, независимо от того, откуда поступил мобильный код;
2. Механизм полигона. Механизм полигона обеспечивает
бóльшую гибкость в реализации контроля за поведением агента
за счет выделения специализированной ЭВМ для выполнения по-
ступившего мобильного кода. Все ресурсы распределенной сис-
темы при этом физически отделены от ЭВМ полигона. Пользова-
тели распределенной системы могут получить доступ к мобиль-
ному агенту стандартным способом (ACL, RPC и т.д.). Мобиль-
ный агент, в свою очередь, никуда переместиться с ЭВМ поли-
гона не может. В механизме полигона используются три метода
соблюдения правил защиты:
а) Метод подписания кода. Этот метод заключается в ау-
тентификации программ вне зависимости от того, откуда они
были получены. Мобильный код представляется как сообщение и
аутентифицируется стандартным образом;
б) Метод расширенного анализа стека. Данный метод за-
ключается в проверке прав доступа к каждому элементу стека
и построении цепочки вызовов с целью предотвращения доступа
к защищенному ресурсу через другие программные модули;
в) Метод управления пространством имен. Метод заключа-
ется в создании пространства разрешенных имен, не связанно-
го с общим пространством имен распределенной системы. Связь
разрешенного имени с именем реального ресурса системы осу-
ществляется только после проверки соблюдения правил защиты.
При перемещении мобильных агентов с одной ЭВМ на дру-
гую возможны атаки на самих агентов. Полная защита агента
от всех типов атак невозможна, так как нельзя спрогнозиро-
вать поведение всех процессов сети, способных оказывать
влияние на мобильного агента. По этой причине для защиты
мобильного агента применяется только контроль целостности
его программного кода при попадании его на каждую ЭВМ сети.
Для контроля целостности программного кода мобильного аген-
та, создается дайджест кода агента, который перемещается