Автор работы: Пользователь скрыл имя, 23 Января 2013 в 01:15, лекция
Неизбежное следствие этого - резкое увеличение объемов и сложности программных средств, используемых в ЭВМ, системах оружия, автоматизированных системах боевого управления и связи, вспомогательных и обеспечивающих системах военного назначения. В докладе комиссии конгресса США по "ключевым технологиям военного назначения" (май 1991 года) отмечено, что при разработке образцов "умного оружия" (при дальнейшей компьютеризации и интеллектуализации систем военного назначения) неизбежен парадокс, заключающийся в том, что "фундаментальный источник технологического прогресса одновременно является и растущим источником технологической уязвимости"
Рис. 2. Классификация программных злоупотреблений
6) люки могут образоваться
также в результате часто
Возможен вариант, когда заглушки оставляются в конечной программе сознательно, в расчете на подключение в дальнейшем к работающей программе новых подпрограмм, реализующих некоторые новые возможности, либо предполагая возможное подключение к программе тестирующих средств для более точной настройки программы. Кто может дать гарантию, что в один прекрасный день такой заглушкой кто-нибудь не воспользуется для подключения к программе совсем иной подпрограммы, работающей в интересах этого "кого-нибудь", а не законного владельца?
в) программист пишет программу, которой можно управлять с помощью определенных команд, или, например, путем ввода "Y" ("Да") или "N" ("Нет"). А что произойдет, если в ответ на запрос будет вводиться "А" или "В" и т.д.? Если программа написана правильно, то на экране должно появиться сообщение типа "Неправильный ввод" и повтор запроса. Однако может быть ситуация, когда программа не учитывает такое, предполагая, что пользователь будет действовать правильно. В таком случае реакция программы на неопределенный ввод может быть непредсказуемой. Такую ситуацию в программе можно специально создать для того, чтобы получить доступ к определенным ресурсам и данным.
Наконец, еще одним распространенным источником люков является так называемый "неопределенный ввод". Не так уж редка ситуация, когда программа создается неопытным программистом, исходящим из предположения, что пользователи будут работать с его программой всегда корректно. В этом случае реакция на неопределенный ввод может быть в лучшем случае непредсказуемой; гораздо хуже, если программа в случае одинакового неопределенного ввода выполняет некоторые повторяющиеся действия - это дает потенциальному захватчику возможность планировать свои действия по нарушению безопасности.
Люк (или люки) может присутствовать в программе ввиду того, что программист:
Таким образом, люк может присутствовать в программном продукте вследствие умышленных или неумышленных действий со стороны программиста для обеспечения:
тестирования и отладки программного продукта;
окончательной сборки конечной программы; скрытого средства доступа к программному продукту и данным.
В первом случае люк — это неумышленная, но серьезная брешь в безопасности системы. Во втором — серьезная экспозиция безопасности системы. В третьем случае — первый шаг к атаке системы.
3. Логические бомбы (logic bomb) — программный код, который является безвредным до выполнения определенного условия, после которого реализуется логический механизм [29]. Логические бомбы, в которых срабатывание скрытого модуля определяется временем (текущий датой), называют бомбами с часовым механизмом (time bomb). Подобные программы, реализующие свой механизм после конкретного числа исполнении, при наличии или, наоборот, отсутствии определенного файла, а также соответствующей записи в файле, получили название логической бомбы (logic bomb).
В связи с тем, что подобные программы имеют ограниченный доступ к ресурсам системы, разрушительный эффект остается достаточно низким. Опасность может значительно увеличиться, если логическая бомба будет встроена в системное программное обеспечение, что приведет к уничтожению файлов, переформатированию машинных носителей или к другим разрушающим последствиям. Основной целью функционирования программ типа логической бомбы следует считать нарушение нормальной работы компьютерной системы.
"Логической бомбой"
обычно называют программу или
даже участок кода в программе,
Мировая компьютерная общественность достаточно хорошо знакома с логическими бомбами. Логическая бомба является одним из излюбленных способов мести программистов компаниям, которые их уволили или чем-либо обидели. При этом чаще всего срабатывание бомбы ставится в зависимость от установки в системе даты - так называемые "часовые" бомбы. Это очень удобно: допустим, программист знает, что его уволят 1 марта; в таком случае он может установить "часовую" бомбу на взрыв, допустим, 6 июля или даже на Рождество, когда сам он будет уже вне пределов досягаемости для пострадавшей компании.
В этом отношении интересна
4. "Троянский конь" — программа, которая кроме своей основной деятельности выполняет некоторые дополнительные (разрушительные), Не описанные в документации функции, о чем пользователь не подозревает [17, 29 и др.].
Реализация дополнительных функций выполняется скрытым от пользователя модулем, который может встраиваться в системное и прикладное программное обеспечение. При реализации пораженной программы троянский конь получает доступ к ресурсам вместе с пользователем.
Троянские кони значительно опаснее ПЗ, рассмотренных ранее, поскольку чаще всего они встраиваются в хоро55шо зарекомендовавшие себя программные продукты — инструментальные средства, пакеты прикладных программ, текстовые редакторы, компьютерные игры и т. д., и выступают в качестве средства несанкционированного доступа к содержащейся в системе информации. В некоторых случаях термином "троянские программы" ошибочно называли программы, содержащие ошибки или плохо спроектированный интерфейс с пользователем.
Компьютерные системы, использующий дескрипторные методы управления доступом ( и том числе такие, как полномочия, списки управления доступом и др.), становятся практически беззащитными против программ типа троянский конь.
5. Репликаторы— могут создавать одну, или более своих копий в компьютерной системе. Это приводит к быстрому переполнению памяти компьютера, но данные действия могут быть обнаружены опытным пользователем и достаточно легко устранены. Устранение0программы репликатора усложняется в тех случаях, когда репликация выполняется с модификацией исходного текста: программы, что затрудняет распознавание ее новых копий. Репликаторные программы становятся особенно опасными, когда к функции размножения будут добавлены другие разрушающие воздействие.
Для того чтобы закладка смогла выполнить какие-либо функции по отношению к другой прикладной программе, она должна получить управление на себя, то есть процессор должен начать выполнять инструкции, относящиеся к коду закладки.
Это возможно только при одновременном выполнении двух условий:
Это достигается путем анализа и обработки закладкой общих относительно нее и прикладной программы событий, например, прерываний. Причем данные события должны сопровождать работу прикладной программы или работу всей ПЭВМ.
Исполнение кода закладки может быть сопровождено операциями несанкционированной записи (НСЗ), например, для сохранения некоторых фрагментов информации, и несанкционированного считывания (НСЧ), которое может происходить отдельно от операций чтения прикладной программы или совместно с ними. При этом операции считывания и записи, возможно, не связаны с получением конфиденциальной информации, например, считывание параметров устройства или его инициализация (закладка может использовать для своей работы и такие операции, в частности, для инициирования сбойных ситуаций или переназначения ввода-вывода).
Данный тип программных
7. Атаки "салями" — характерны для финансовыми банковских информационных систем, где ежедневно проводятся тысячи операций, связанных с безналичными расчетами, переводами сумм, начислениями и т.д. [17, 30, 34]. При реализации расчетов вычисляются различного рода доли, которые округляются в большую или меньшую сторону. Атака "салями" состоит в накоплении на отдельном счете этих долей денежной единицы. Практика доказала, что эксплуатация такой программы обеспечивает накопление значительных сумм.
8. Скрытые каналы — это программы, передающие информацию лицам, которые в обычных условиях эту информацию получать не долж-нн1 [17]. Злоумышленник не всегда имеет непосредственный доступ к компьютерной системе. Для скрыгой передачи информации используют различные элементы, форматы "безобидных" отчетов, например, разную длину строк, пропуски между строками, наличие или отсутствие служебных заголовков, управляемый вывод незначащих цифр в выводимых величинах, количество пробелов или других символов в определенных местах отчета и т.д.;
При использовании скрытых каналов для получения относительно небольших объемов информации захватчик вынужден проделать достаточно большую работу. Поэтому скрытые каналы более приемлемы в ситуациях, когда нарушителя интересует не сама информация, а факт ее наличия.
Может возникнуть ситуация, когда скрытый канал сообщает о наличии в системе определенной и нформации, что в свою очередь служит признаком работы в системе определенного процесса, позволяющего провести атаку иного типа.
9. Компьютерные вирусы (KB) — представляют собой программные разработки, способные проникать в среду компьютерных систем и наносить разного рода поврежден658ия [17,21,22,29,35,36,37 и др.].
Вирусы представляют собой наиболее
полно исследованный класс
Интересным является определение компьютерного вируса в законодательстве штата Техас (США) [38], как посторонняя (нежелательная) компьютерная программа или другой набор инструкций, внесенных в память компьютера, операционную систему или программу, при разработке которых они были специально снабжены способностью к воспроизведению или к воздействию на другие программы и файлы, находящиеся в компьютере, путем присоединения дубликата такой посторонней (нежелательной) программы к одной или более компьютерным программам или файлам.
С развитием технологий обработки
информации получили распространение
и другие виды злоупотреблений. Самыми
распространенными можно
"Отказы в обслуживании " — несанкционированное использование компьютерной системы в своих целях (например, для бесплатного решения своих задач), либо блокирование системы для отказа в обслуживании другим пользователям. Для реализации такого злоупотребления используются так на зываемые "жадные программы" — программы, способные захватить монопольно определенный ресурс системы (причем необязательно центральный процессор). Следует отметить, что отказ в обслуживании пользователю, обладающему действительными правами доступа, может явиться одним из результатов функционирования таких программ, как "троянские кони", "люки" и другие.
Работа между строк (between lines) — подключение к линиям связи и внедрение в компьютерную систему с использованием промежутков в действиях законного пользователя [16, 28 и др.]. При интерактивной работе пользователя образуются своеобразные "окна" (например, отклик системы опережает действия пользователя, которому необходимо время для обдумывания последующих действий). Эти "окна" вполне могут быть использованы нарушителем для работы с системой под маской пользователя.
Информация о работе Проблема безопасности программного обеспечения