Сетевые сканеры (network scanners). Программы, которые анализируют топологию сети и обнаруживают сервисы, доступные для атаки. Например, система nmap.

Сканеры уязвимостей (vulnerability scanners). Программы, которые ищут уязвимости на узлах сети и которые могут быть использованы для реализации атак. Например, система SATAN или ShadowSecurityScanner.

Взломщики паролей (password crackers). Программы, которые "подбирают" пароли пользователей. Например, L0phtCrack для Windows или Crack для Unix.

Анализаторы протоколов (sniffers). Программы, которые "прослушивают" сетевой трафик. При помощи этих программ можно автоматически искать такую информацию, как идентификаторы и пароли пользователей, информацию о кредитных картах и т.д. Например, Microsoft Network Monitor, NetXRay компании Network Associates или LanExplorer.

75. ПРОГРАММЫ С ПОТЕНЦИАЛЬНО ОПАСНЫМИ ПОСЛЕДСТВИЯМИ.

Программой с потенциально опасными последствиями назовем программу или часть программы, которая способна выполнить одно из следующих действий:

· скрыть признаки своего присутствия в программной среде ПЭВМ;

· самодублироваться, ассоциировать себя с другими программами и/или переносить свои фрагменты в какие-либо области оперативной или внешней памяти, не принадлежащие программе;

· изменять код программ в оперативной или внешней памяти;

· сохранять фрагменты информации из оперативной памяти в некоторых областях внешней памяти (локальных или удаленных);

· искажать произвольным образом, блокировать и/или подменять выводимый во внешнюю память или канал связи массив информации, образовавшийся в результате работы прикладных программ, или уже находящиеся во внешней памяти массивы данных.

Программы с потенциально опасными последствиями можно условно подразделить на:

  • классические программы-"вирусы";
  • программы типа "программный червь" или "троянский конь" и фрагменты программ типа "логический люк";
  • программы типа "логическая бомба";
  • программные закладки - обобщенный класс программ с потенциально опасными последствиями.

Кроме того, такие программы можно классифицировать по методу и месту их внедрения и применения (то есть по "cпособу доставки" в систему):

· закладки, связанные с программно-аппаратной средой (BIOS);

· закладки, связанные с программами первичной загрузки;

· закладки, связанные с драйвером DOS, командным интерпретатором, сетевыми драйверами, то есть с загрузкой и работой операционной среды;

· закладки, связанные с прикладным программным обеспечением общего назначения (встроенные в клавиатурные и экранные драйверы, программы тестирования ПЭВМ, утилиты, файловые оболочки);

· исполняемые модули, содержащие только код закладки (как правило, внедряемые в пакетные файлы типа BAT);

· модули-имитаторы, совпадающие по внешнему виду с легальными программами, требующими ввода конфеденциальной информации;

· закладки, маскируемые под программные средства оптимизационного назначения (архиваторы, ускорители и т.д.);

· закладки, маскируемые под программные средства игрового и развлекательного назначения (как правило, используются для первичного внедрения других закладок; условное название - "исследователь").

76. ПРОГРАММЫ – «ВИРУСЫ», «ТРОЯНСКИЙ КОНЬ», АТАКА «САЛЯМИ».

Вирус

Первые исследования саморазмножающихся искусственных конструкций проводились в середине прошлого столетия: в работах фон Неймана, Винера и др. дано определение и проведен математический анализ конечных автоматов, в том числе самовоспроизводящихся. Термин "компьютерный вирус" появился позднее - официально считается, что его впервые употребил сотрудник Лехайского университета (США) Фред Коэн в 1984 году на 7-й конференции по безопасности информации, проходившей в США.

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

Вирусы можно разделить на классы по следующим признакам:

  • по среде обитания вируса;
  • по способу заражения среды обитания;
  • по деструктивным возможностям.

По среде обитания различают вирусы сетевые, файловые, загрузочные и специальные. Сетевые вирусы распространяются по компьютерной сети, файловые внедряются в выполняемые файлы, загрузочные в загрузочный сектор диска(Boot) или сектор, содержащий системный загрузчик винчестера(Master Boot Record). Специальные ориентированы на конкретные особенности ПО, например вирус, заражающий документы редактора Word. Существуют сочетания - например, файлово-загрузочные вирусы, заражающие и файлы и загрузочные сектора дисков. Кроме того, по сети могут распространятся вирусы любых типов.

Способы заражения делятся на резидентный и нерезидентный. Резидентный вирус при инфицировании компьютера оставляет в оперативной памяти свою резидентную часть, которая затем перехватывает обращение операционной системы к объектам заражения и внедряется в них. Резидентные вирусы находятся в памяти и остаются активными вплоть до выключения или перезагрузки компьютера. Нерезидентные вирусы не заражают память компьютера и являются активными ограниченное время. Некоторые вирусы оставляют в оперативной памяти небольшие резидентные программы, которые не распространяют вирус. Такие вирусы считаются нерезидентными.

По деструктивным возможностям вирусы можно разделить на:

  • безвредные, никак не влияющие на работу компьютера (кроме уменьшения свободной памяти на диске в результате своего распространения);
  • неопасные, влияние которых ограничивается уменьшением свободной памяти на диске и графическими, звуковыми и прочими эффектами;
  • опасные вирусы, которые могут привести к серьезным сбоям в работе компьютера;
  • очень опасные вирусы, которые могут привести к потере программ, уничтожить данные, способствовать ускоренному износу или повреждению частей механизмов(например, головок винчестеров).

Троянский конь

Существуют программы, реализующие, помимо функций, описанных в документации, и некоторые другие функции, в документации не описанные. Такие программы называются "троянскими конями".

Атака салями

А теперь поговорим о биче банковских компьютерных систем - атаке "салями".

Чтобы понять смысл такой атаки, полезно вспомнить технологию изготовления известного сорта колбасы, которая создается путем соединения в общее целое множества мелких кусочков мяса. Получается достаточно вкусно.

При разработке банковских систем устанавливается правило округления (или усечения), используемое при выполнении всех операций. Вся хитрость состоит в том, как запрограммировать обработку округлений. Можно, конечно, просто удалять несуществующие величины. Но можно и не удалять, а накапливать на некоем специальном счете. Там пол цента, тут пол цента... - а в сумме? Как свидетельствует практика, сумма, составленная буквально из ничего, за пару лет эксплуатации "хитрой" программы в среднем по размеру банке, может исчисляться тысячами долларов.

Можно сказать, что атака салями - компьютерная реализация известной поговорки "С миру по нитке - голому рубаха".

77. ПРОГРАММЫ ТИПА «ПРОГРАММНЫЙ ЧЕРВЬ», «ЛОГИЧЕСКИЙ ЛЮК», «ЛОГИЧЕСКАЯ БОМБА».

Логическая бомба

"Логической бомбой" обычно называют программу или даже участок кода в программе, реализующий некоторую функцию при выполнении определенного условия.

Мировая компьютерная общественность достаточно хорошо знакома с логическими бомбами. Логическая бомба является одним из излюбленных способов мести программистов компаниям, которые их уволили или чем-либо обидели. При этом чаще всего срабатывание бомбы ставится в зависимость от установки в системе даты - так называемые "часовые" бомбы. Это очень удобно: допустим, программист знает, что его уволят 1 марта; в таком случае он может установить "часовую" бомбу на взрыв, допустим, 6 июля или даже на Рождество, когда сам он будет уже вне пределов досягаемости для пострадавшей компании.

Люк

Люком называется не описанная в документации на программный продукт возможность работы с этим программным продуктом. Сущность использования люков состоит в том, что при выполнении пользователем некоторых не описанных в документации действий он получает доступ к возможностям и данным, которые в обычных условиях для него закрыты (в частности - выход в привилегированный режим).

Таким образом, люк (или люки) может присутствовать в программе ввиду того, что программист:

  • забыл удалить его;
  • умышленно оставил его в программе для обеспечения тестирования или выполнения оставшейся части отладки;
  • умышленно оставил его в программе в интересах облегчения окончательной сборки конечного программного продукта;
  • умышленно оставил его в программе с тем, чтобы иметь скрытое средство доступа к программе уже после того, как она вошла в состав конечного продукта.

Файловые черви

Файловые черви создают собственные копии с привлекательными для пользователя названиями (например, Game.exe, install.exe и др.) в надежде на то, что пользователь их запустит.