Атаки на уровне сетевого программного обеспечения
СПО является наиболее уязвимым, потому что канал связи, по которому передаются сообщения, чаще всего не защищен, и всякий, кто имеет доступ к этому каналу, может перехватывать сообщения и отправлять свои собственные. Поэтому на уровне СПО возможны следующие атаки:
прослушивание сегмента локальной сети (в пределах одного и того же сегмента локальной сети любой подключенный к нему компьютер в состоянии принимать сообщения, адресованные другим компьютерам сегмента, а следовательно, если компьютер злоумышленника подсоединен к некоторому сегменту локальной сети, то ему становится доступен весь информационный обмен между компьютерами этого сегмента);
перехват сообщений на маршрутизаторе (если злоумышленник имеет привилегированный доступ к сетевому маршрутизатору, то он получает возможность перехватывать все сообщения, проходящие через этот маршрутизатор, и хотя тотальный перехват невозможен из-за слишком большого объема, чрезвычайно привлекательным для злоумышленника является выборочный перехват сообщений, содержащих пароли пользователей и их электронную почту);
создание ложного маршрутизатора (путем отправки в сеть сообщений специального вида злоумышленник добивается, чтобы его компьютер стал маршрутизатором сети, после чего получает доступ ко всем проходящим через него сообщениям);
навязывание сообщений (отправляя в сеть сообщения с ложным обратным сетевым адресом, злоумышленник переключает на свой компьютер уже установленные сетевые соединения и в результате получает права пользователей, чьи соединения обманным путем были переключены на компьютер злоумышленника);
отказ в обслуживании (злоумышленник отправляет в сеть сообщения специального вида, после чего одна или несколько компьютерных систем, подключенных к сети, полностью или частично выходят из строя).
Программные закладки
Современная концепция создания компьютерных систем предполагает использование программных средств различного назначения в едином комплексе. Главным условием правильного функционирования такой компьютерной системы является обеспечение защиты от вмешательства в процесс обработки информации тех программ, присутствие которых в компьютерной системе не обязательно. Среди подобных программ, в первую очередь, следует упомянуть компьютерные вирусы. Однако имеются вредоносные программы еще одного класса. От них, как и от вирусов, следует с особой тщательностью очищать свои компьютерные системы. Это программные закладки, которые могут выполнять хотя бы одно из перечисленных ниже действий:
вносить произвольные искажения в коды программ, находящихся в оперативной памяти компьютера (программная закладка первого типа);
переносить фрагменты информации из одних областей оперативной или внешней памяти компьютера в другие (программная закладка второго типа);
искажать выводимую на внешние компьютерные устройства или в канал связи информацию, полученную в результате работы других программ (программная закладка третьего типа).
Программная закладка – несанкционированно внедренная программа, осуществляющая угрозу информации. Программные закладки можно классифицировать и по методу их внедрения в компьютерную систему:
программно-аппаратные закладки, ассоциированные с аппаратными средствами компьютера (их средой обитания, как правило, является BIOS – набор программ, записанных в виде машинного кода в постоянном запоминающем устройстве – ПЗУ);
загрузочные закладки, ассоциированные с программами начальной загрузки, которые располагаются в загрузочных секторах (из этих секторов в процессе выполнения начальной загрузки компьютер считывает программу, берущую на себя управление для последующей загрузки самой операционной системы);
драйверные закладки, ассоциированные с драйверами (файлами, в которых содержится информация, необходимая операционной системе для управления подключенными к компьютеру периферийными устройствами);
прикладные закладки, ассоциированные с прикладным программным обеспечением общего назначения (текстовые редакторы, утилиты, антивирусные мониторы и программные оболочки);
исполняемые закладки, ассоциированные с исполняемыми программными модулями, содержащими код этой закладки (чаще всего эти модули представляют собой пакетные файлы, т.е. файлы, которые состоят из команд операционной системы, выполняемых одна за одной, как если бы их набирали на клавиатуре компьютера);
закладки-имитаторы, интерфейс которых совпадает с интерфейсом некоторых служебных программ, требующих ввода конфиденциальной информации (паролей, криптографических ключей, номеров кредитных карточек);
замаскированные закладки, которые маскируются под программные средства оптимизации работы компьютера (файловые архиваторы, дисковые дефрагментаторы) или под программы игрового и развлекательного назначения.
Чтобы программная закладка могла произвести какие-либо действия по отношению к другим программам или по отношению к данным, процессор должен приступить к исполнению команд, входящих в состав кода программной закладки. Это возможно только при одновременном соблюдении следующих условий:
программная закладка должна попасть в оперативную память компьютера (если закладка относится к первому типу, то она должна быть загружена до начала работы другой программы, которая является целью воздействия закладки, или во время работы этой программы);
работа закладки, находящейся в оперативной памяти, начинается при выполнении ряда условий, которые называются активизирующими.
С учетом замечания о том, что программная закладка должна быть обязательно загружена в оперативную память компьютера, можно выделить резидентные закладки (они находятся в оперативной памяти постоянно, начиная с некоторого момента и до окончания сеанса работы компьютера, т.е. до его перезагрузки или до выключения питания) и нерезидентные (такие закладки попадают в оперативную память компьютера аналогично резидентным, однако, в отличие от последних, выгружаются по истечении некоторого времени или при выполнении особых условий).
У всех программных закладок имеется одна важная общая черта: они обязательно выполняют операцию записи в оперативную или внешнюю память системы. При отсутствии данной операции никакого негативного влияния программная закладка оказать не может. Для целенаправленного воздействия она должна выполнять и операцию чтения, иначе в ней может быть реализована только функция разрушения (например, удаление или замена информации в определенных секторах жесткого диска).
Выявление внедренного кода программной закладки заключается в обнаружении признаков его присутствия в компьютерной системе. Эти признаки можно разделить на следующие два класса:
качественные и визуальные;
обнаруживаемые средствами тестирования и диагностики.
К качественным и визуальным признакам относятся ощущения и наблюдения пользователя компьютерной системы, который отмечает определенные отклонения в ее работе (изменяется состав и длины файлов, старые файлы куда-то пропадают, а вместо них появляются новые, программы начинают работать медленнее или заканчивают свою работу слишком быстро, или вообще перестают запускаться). Несмотря на то что суждение о наличии признаков этого класса кажется слишком субъективным, тем не менее они часто свидетельствуют о наличии неполадок в компьютерной системе и, в частности, о необходимости проведения дополнительных проверок присутствия программных закладок.
Признаки, выявляемые с помощью средств тестирования и диагностики, характерны как для программных закладок, так и для компьютерных вирусов. Например, загрузочные закладки успешно обнаруживаются антивирусными программами, которые сигнализируют о наличии подозрительного кода в загрузочном секторе диска. С инициированием статической ошибки на дисках хорошо справляется Disk Doctor, входящий в распространенный комплект утилит Norton Utilities, а средства проверки целостности данных на диске типа Adinf позволяют успешно выявлять изменения, вносимые в файлы программными закладками.
Конкретный способ удаления внедренной программной закладки зависит от метода ее внедрения в компьютерную систему. Если это программно-аппаратная закладка, то следует перепрограммировать ПЗУ компьютера. Если это загрузочная, драйверная, прикладная, замаскированная закладка или закладка-имитатор, то можно заменить их на соответствующую загрузочную запись, драйвер, утилиту, прикладную или служебную программу, полученную от источника, заслуживающего доверия. Наконец, если это исполняемый программный модуль, то можно попытаться добыть его исходный текст, убрать из него имеющиеся закладки или подозрительные фрагменты, а затем заново откомпилировать.