it_vse (519823), страница 50

Файл №519823 it_vse (Лекции) 50 страницаit_vse (519823) страница 502013-09-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 50)

Позднее связывание представляет серьезное препятствие на путивнешних атак благодаря специальным соглашениям, касающимся выделения памяти для этих ресурсов.5) Автоматическая сборка мусора и неявное управление памятью.В языках С и C++ программист явным образом распределяет память, освобождает ее и следит за всемиуказателями на выделенную память.

Зачастую это усложняет программы и является главнымисточником ошибок и уязвимости к атакам типа "переполнение буфера" (злоумышленник, передавпрограмме слишком большой, не предусмотренный программистом, параметр может вызвать крушениесистемы или выполнение своего кода), нелегальное копирование, захват полномочий. В языке Javaпрограммист не должен явно управлять памятью. Выделение и освобождение памяти выполняютсяавтоматически и корректно. При освобождении неиспользуемой памяти применяется механизм сборкимусора (дефрагментация памяти).6) Классы и методы final.Классы и методы можно объявлять как final, запрещая тем самым создание подклассов и переопределение методов.

Такое объявление препятствует злонамеренному изменению проверенного кода.7) Проверка имен.Классы Java описываются внутри пакетов. Имена классов связаны с названиями пакетов. Пакетыгарантируют, что код, полученный из сети, отличается от локального кода. Принятая библиотекаклассов не может по ошибке или преднамеренно заменить локальные библиотеки проверенных классовили перехватить их права, даже если эти библиотеки имеют одинаковые имена. Это также защищает отнепроверенных, случайных взаимодействий локального и принятого классов.8) Синтаксические конструкции для защищенных потоковых структур данных.Java является многопотоковым языком и обеспечивает защищенный потоковый доступ к структурамданных и объектам.9) Уникальные манипуляторы для объектов.С каждым объектом в языке Java связан уникальный хэш-код (hashcode).

Это означает, что в любоймомент возможен мониторинг состояния Java-программы.10) Безопасность на уровне компиляции Java-кода.Во время компиляции анализируются все механизмы защиты, существующие в синтаксисе языка Java,включая проверку согласованности объявлений private и public, правильности типов и инициализациивсех переменных в соответствии с предопределенными значениями.Составитель: Ляхевич А.Г., 2000 - 2002 годКак уже говорилось, помимо особенностей языка Java, "заставляющих" писать безопасный код, в Javaимеется и встроенная система безопасности, которая состоит из следующих элементов:•ClassLoader (загрузчик классов)•Verifier (верификатор)•SecurityManager (менеджер безопасности)Эта модель известна под названием sandbox (песочница).

Все Java-приложения, загруженные из сети,выполняются "в песочнице", т.е. не имеют полного доступа к ресурсам компьютера (см. "Безопасность Javaапплетов") и контролируются системой безопасности Java.Загрузчик классов определяет, когда и каким образом классы могут быть добавлены вработающую систему и защищает целостность системы, например запрещает загрузку поддельногоменеджера безопасности. Он выполняют две основные функции:- собственно загрузку байт-кода (с локального диска, по сети, из области памяти)- определение пространства имен (namespaces) для различных классов и способов их взаимодействия(отделяя, к примеру, локальные классы от загруженных по сети).Есть два вида загрузчиков - первичный (primordial) и реализованный в виде объекта (Class Loader Object).Первичный существует в единственном экземпляре и является составной частью виртуальной машины.

Онзанимается загрузкой доверенных классов (обычно находящихся на локальном диске). Загрузчик второготипа представляет собой обычный Java-объект. С его помощью можно осуществить загрузку класса по сетилибо динамическое создание класса программой. Алгоритм действий загрузчика обычно выглядит так:1. Определить, не был ли загружен этот класс раньше, и, если да, вернуть его.2. Проконсультироваться с первичным загрузчиком на предмет существования внутреннего класса с этимименем (во избежание подмены внутренних классов Java классами загружаемыми по сети).3. Запросить у менеджера безопасности разрешение на загрузку данного класса.4.

Считать файл класса в виде массива байтов - по сети, с диска и т. п.5. Создать экземпляр класса Class.6. Загрузить другие классы, используемые данным.7. Передать класс верификатору на проверку.Второй рубеж обороны - верификатор, проверяющий загружаемый байт-код на корректность, таккак у нас нет никакой гарантии, что загружаемый код был получен в результате работы компилятора Java, ане подправлен вручную или не сгенерирован специальным «враждебным» компилятором.

После того каккод прошел верификацию, гарантируется, что файл класса имеет корректный формат, параметры всехопераций имеют правильный тип, в коде не происходит некорректных преобразований типов (например,целого числа в указатель), нет нарушений доступа, нет переполнения стека и т. п. Таким образом,проверяется все, что только можно проверить до начала исполнения программы. Верификатор встроен ввиртуальную машину и недоступен из Java-программы.Класс SecurityManager (менеджер безопасности) отвечает за политику безопасности приложения.Он позволяет приложению перед выполнением потенциально опасной операции выяснить, выполняется лиона классом, загруженным первичным загрузчиком, либо с помощью некоторого ClassLoader по сети (к последнему доверия должно быть гораздо меньше).

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

Локальный код может быть подвержен тем же проверкам, что и код апплета, хотя, конечно, никто не мешает ослабить этот контроль спомощью настроек. В менеджере безопасности имеется также возможность цифровой подписи классов(аналог сертификатов в ActiveX). На классы подписанные солидной организацией можно не накладыватьстандартные ограничения. В целом, система безопасности (версии JDK 1.1 и 1.2.) представлены ниже:Составитель: Ляхевич А.Г., 2000 - 2002 годСоставитель: Ляхевич А.Г., 2000 - 2002 год7. Интерфейс Java APIJava Application Programming Interface (Интерфейс прикладного программирования), или Java API, — этонабор классов, разработанных компанией Sun для работы с языком Java. Этот интерфейс помогает присоздании собственных классов, апплетов и приложений.

Используя уже готовые классы, можно написатьJava-приложение длиной всего в несколько строк в отличие от сотен программных строк, необходимых длясоздания программы на С. Классы в Java API сгруппированы в пакеты, в которых могут быть по несколькоклассов и интерфейсов. Более того, каждый элемент может также иметь различные свойства, например, поляи/или методы. Ниже перечислены некоторые имеющиеся или разрабатываемые API-интерфейсы:Стандартный Java APIjava.iojava.utiljava.netjava. awtjava. awt.imageJava.appletПакет java.io служит в языке Java стандартной библиотекой ввода/вывода.Пакет java.util главным образом состоит из различных полезных классов, которые трудноотнести к какому-либо другому пакету, например класс Date, облегчающий работу с датами,класс Hashtable, класс stack и др.пакет Java.net предоставляет средства для связи с удаленными ресурсами, для чего можносоздавать сокеты, подключаться к ним или использовать URL-ссылки.

К примеру, припомощи этого пакета можно создать собственные клиентские и/или серверные программы дляпротоколов Telnet, Chat или FTP.Пакет java.awt - оконный пользовательский интерфейс (Abstract Window Toolkit, AWT). В немсодержатся средства, позволяющие создавать мощные, привлекательные и удобныеграфические оконные интерфейсы для апплетов и автономных программ. В этом пакетеимеются интерактивные средства, например, Button и TextFieid, а также класс Graphics,предоставляющий средства для рисования фигур и вывода изображений.В данном пакете содержатся средства для манипулирования с изображениями, получаемымипо сети.Данный класс имеет множество полезных методов, поскольку является основой для всехапплетов и может также при помощи интерфейса Appietcontext предоставлять информацию обокружении апплета.Java Enterprise APIJava Enterprise API обеспечивает взаимодействие с корпоративными базами данных.

Характеристики

Тип файла
PDF-файл
Размер
6 Mb
Материал
Тип материала
Высшее учебное заведение

Список файлов лекций

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6381
Авторов
на СтудИзбе
308
Средний доход
с одного платного файла
Обучение Подробнее