«Троянские кони».
Существуют программы, реализующие, помимо функций, описанных в документации, и некоторые другие функции, в документации не описанные. Такие программы называются «троянскими конями».
Вероятность обнаружения «троянского коня» тем выше, чем очевиднее результаты его действий (например, удаление файлов или изменение их защиты). Более сложные «троянские кони» могут маскировать следы своей деятельности (например, возвращать защиту файлов в исходное состояние).
«Логические бомбы».
«Логической бомбой» обычно называют программу или даже участок кода в программе, реализующий некоторую функцию при выполнении определенного условия. Этим условием может быть, например, наступление определенной даты или обнаружение файла с определенным именем.
«Взрываясь», «логическая бомба» реализует функцию, неожиданную и, как правило, нежелательную для пользователя (например, удаляет некоторые данные или разрушает некоторые системные структуры). «Логическая бомба» является одним из излюбленных способов мести программистов компаниям, которые их уволили или чем-либо обидели.
Атака «салями».
Атака «салями» превратилась в настоящий бич банковских компьютерных систем. В банковских системах ежедневно производятся тысячи операций, связанных с безналичными расчетами, переводами сумм, отчислениями и т. д.
При обработке счетов используются целые единицы (рубли, центы), а при исчислении процентов нередко получаются дробные суммы. Обычно величины, превышающие половину рубля (цента), округляются до целого рубля (цента), а величины менее половины рубля (цента) просто отбрасываются. При атаке «салями» эти несущественные величины не удаляются, а постепенно накапливаются на некоем специальном счете.
Как свидетельствует практика, сумма, составленная буквально из ничего, за пару лет эксплуатации «хитрой» программы в среднем по размеру банке может исчисляться тысячами долларов. Атаки «салями» достаточно трудно распознаются, если злоумышленник не начинает накапливать на одном счете большие суммы.
Скрытые каналы.
Под скрытыми каналами подразумеваются программы, передающие информацию лицам, которые в обычных условиях эту информацию получать не должны.
В тех системах, где ведется обработка критичной информации, программист не должен иметь доступа к обрабатываемым программой данным после начала эксплуатации этой программы.
Из факта обладания некоторой служебной информацией можно извлечь немалую выгоду, хотя бы элементарно продав эту информацию (например, список клиентов) конкурирующей фирме. Достаточно квалифицированный программист всегда может найти способ скрытой передачи информации; при этом программа, предназначенная для создания самых безобидных отчетов, может быть немного сложнее, чем того требует задача.
Для скрытой передачи информации можно с успехом использовать различные элементы формата «безобидных» отчетов, например разную длину строк, пропуски между строками, наличие или отсутствие служебных заголовков, управляемый вывод незначащих цифр в выводимых величинах, количество пробелов или других символов в определенных местах отчета и т. д.
Если захватчик имеет возможность доступа к компьютеру во время работы интересующей его программы, скрытым каналом может стать пересылка критичной информации в специально созданный в оперативной памяти компьютера массив данных.
Скрытые каналы наиболее применимы в ситуациях, когда захватчика интересует даже не содержание информации, а, допустим, факт ее наличия (например, наличие в банке расчетного счета с определенным номером).
Отказ в обслуживании.
Большинство методов нарушения безопасности направлено на то, чтобы получить доступ к данным, не допускаемый системой в нормальных условиях. Однако не менее интересным для захватчиков является доступ к управлению самой компьютерной системой или изменение ее качественных характеристик, например, получить некоторый ресурс (процессор, устройство ввода-вывода) в монопольное использование или спровоцировать ситуацию клинча для нескольких процессов.
Это может потребоваться для того, чтобы явно использовать компьютерную систему в своих целях (хотя бы для бесплатного решения своих задач) либо просто заблокировать систему, сделав ее недоступной другим пользователям. Такой вид нарушения безопасности системы называется «отказом в обслуживании» или «отказом от пользы». «Отказ в обслуживании» чрезвычайно опасен для систем реального времени – систем, управляющих некоторыми технологическими процессами, осуществляющих различного рода синхронизацию и т. д.
Читать дальше