SEOSERVISE - Защита информации.

 
   
 

Главная


 


Приложения с сохранением состояния и без сохранения состояния В предыдущем разделе рассматривался сеанс работы Алисы с приложением eWebMail . Вы узнали, как в этом приложении отслеживается состояние сеанса в каж­ дый момент времени. Однако можно ли говорить, что в этом приложении действи­ тельно сохраняется состояние? Каждый раз при передаче HTTP -запроса пользователь и состояние его сеанса определялись по полученным данным cookie . После этого при­ ложение обрабатывало запрос и генерировало ответ в формате HTML . На рис. 13.13 представлено поведение приложения при получении HTTP -запроса. Каждый получаемый приложением HTTP -запрос обрабатывается аналогичным об­разом. Следовательно, это приложение не является приложением с сохранением состоя­ ния. Этот термин подразумевает, что в приложении сеансы пользователей и состояния отслеживаются независимо друг от друга, т.е. отслеживание сеанса выполняется в сер­ верной части приложения. В рассматриваемом случае все связанные с отслеживанием пользовательского се­анса обязанности возложены на клиентский броузер. Механизм cookie является про­ стым способом передачи информации броузеру, который будет использовать ее при передаче на сервер последующих запросов. Отслеживание сеансов в клиентской части приложения позволяет существенно упростить его разработку. Однако зачастую раз­ работчики забывают о золотом правиле обеспечения безопасности Web -приложений: любая информация, получаемая Web -сервером извне, может оказаться модифициро­ ванной или даже испорченной. Именно это и произошло в рассмотренном примере атаки " Боб—Алиса—Чарльз". Боб модифицировал данные cookie , в которых содержа­ лась информация о состоянии сеанса. А это привело к тому, что приложение предос­ тавило ему список сообщений, которые предназначались для Алисы. На рис. 13.14 показана схема атаки, реализованная Бобом. Управление данными cookie в броузере Netscape системы Unix Поговорка "Нужда — мать всех изобретений" как нельзя лучше описывает ту мысль, которая пришла в голову одному из авторов этой книги при поиске спо­ соба фильтрации данных cookie в броузере Netscape системы Linux . Для системы Linux не существует программ, эквивалентных Cookie Pal . В результате при вы­ полнении повседневной работы пользователи редко обращаются к постоянным данным cookie . Некоторые из них хранят в cookie свои личные регистрационные данные, чтобы их не приходилось вводить каждый раз при регистрации на различных узлах Internet . В общем, такое использование данных cookie является да­ леко не лучшим решением. Предложение авторов по фильтрации данных cookie в системе Linux заключается в удалении файла cookies . txt из каталога '/. netscape и создании вместо него символьной ссылки cookies . txt , связанной с файлом / dev / null . При использовании броузера Netscape для работы с каким-либо Web -приложением все данные cookie хранятся в оперативной памяти. Если броузеру передаются идентификационные данные постоянного использования, то они записываются на жесткий диск в файл cookies . txt . При реализации предлагаемого выше подхода эти постоянные данные размещаются в файле / dev / null ! При закрытии окна бро­ узера память освобождается, и все данные cookie удаляются. Таким образом, но­ вый сеанс работы всегда будет начинаться без использования идентификационных данных. Такой подход оказывается гораздо лучше, чем простое отключение режима использования данных cookie с помощью параметров броузера. Иногда такие дан­ные требуются для корректной работы приложений. Некоторые броузеры, например Opera , предоставляют прекрасный механизм управления данными cookie . Этот броузер позволяет установить режим, когда все такие данные будут удаляться при выходе из программы. Это аналогично созданию символьной ссылки cookies . txt с файлом / dev / null .

 

 

 

 

 

 
 

1 |2 |3 |4 |5 |6 |7 |8 |9 |10 |11 |12 |13 |14 |15 |16 |17 |18 |19 |20 |21 |22 |23 |24 |25 |26 |27 |28 |29 |30 |31 |32 |33 |34 |35 |36 |37 |38 |39 |40 |41 |42 |43 |44 |45 |46 |47 |48 |49 |50 |51 |52 |53 |54 |55 |56 |57 |58 |59 |60 |61 |62 |63 |64 |65 |66 |67 |68 |69 |70 |71 |72 |73 |74 |75 |76 |77 |78 |79 |80 |81 |82 |83 |84 |85 |86 |87 |88 |89 |90 |91 |92 |93 |94 |95 |96 |97 |98 |99 |100 |