Информационная безопасность. Корнюшин П.Н - 113 стр.

UptoLike

114
Когда выясняется, что в какую-то откомпилированную программу проник троянец, в сети
Internet немедленно начинают распространяться бюллетени с информацией об обнаруженном
троянце. Чаще всего в этих бюллетенях кратко сообщается о том, какой вред может причинить
данный троянец и где можно найти замену пораженной троянцем программе.
Иногда ущерб, который может нанести троянец, оценить довольно легко. Например, если
он предназначен для пересылки по электронной почте содержимого файла /etc/passwd, в котором
операционные системы семейства UNIX хранят информацию о пользовательских паролях,
достаточно установить "чистую" версию программы взамен той, в которой обосновался этот
троянец. Затем пользователи должны будут обновить свои пароли, и на этом борьба с ним
успешно завершится.
Однако далеко не всегда степень компрометации компьютерной системы, в которой
поселилась троянская программа, бывает так легко определить. Предположим, что цель внедрения
троянца состоит в создании дыры в защитных механизмах компьютерной системы, через которую
злоумышленник сможет, например, проникать в нее, имея администраторские полномочия. И если
взломщик окажется достаточно хитрым и смекалистым, чтобы замести следы своего присутствия
в системе путем внесения соответствующих изменений в регистрационные файлы, то определить,
насколько глубоко он проник сквозь системные защитные механизмы, будет почти невозможно,
если учесть еще тот факт, что саму троянскую программу обнаружат лишь несколько месяцев
спустя после ее внедрения в компьютерную систему. В этом случае может понадобиться целиком
переустановить операционную систему и все приложения.
Как распознать троянскую программу
Большинство программных средств, предназначенных для защиты от троянских программ,
в той или иной степени использует так называемое согласование объектов. При этом в качестве
объектов фигурируют файлы и каталоги. А согласование представляет собой способ ответить на
вопрос, изменились ли файлы и каталоги с момента последней проверки. В ходе согласования
характеристики объектов сравниваются с характеристиками, которыми они обладали раньше.
Берется, к примеру, архивная копия системного файла и ее атрибуты сравниваются с атрибутами
этого файла, который в настоящий момент находится на жестком диске. Если атрибуты
различаются, и никаких изменений в операционную систему не вносилось, значит в компьютер,
скорее всего, проник троянец.
Одним из атрибутов любого файла является отметка о времени его последней
модификации: всякий раз, когда файл открывается, изменяется и сохраняется на диске,
автоматически вносятся соответствующие поправки. Однако отметка времени не может служить
надежным индикатором наличия в системе троянца, поскольку этой отметкой очень легко
манипулировать. Можно подкрутить назад системные часы, внести изменения в файл, затем снова
вернуть часы в исходное состояние, и отметка о времени модификации файла останется
неизменной.
Примерно также обстоит дело и с размерами файла. Нередко текстовый файл, который
изначально занимал, скажем, 8 Кбайт дискового пространства, после редактирования и сохранения
имеет тот же самый размер. Несколько иначе ведут себя двоичные файлы. Вставить в чужую
программу фрагмент собственного кода так, чтобы она не утратила работоспособности и в
откомпилированном виде сохранила свой размер, достаточно непросто. Поэтому размер файла
является более надежным показателем, чем отметка о времени внесения в него последних
изменений.
Злоумышленник, решивший запустить в компьютер троянца, обычно пытается сделать его
частью системного файла. Такие файлы входят в дистрибутив операционной системы и их
присутствие на любом компьютере, где эта операционная система установлена, не вызывает
никаких подозрений. Однако любой системный файл имеет вполне определенную длину. Если
данный атрибут будет каким-либо образом изменен, это встревожит пользователя. Зная это,
злоумышленник постарается достать исходный текст соответствующей программы и внимательно
проанализирует его на предмет присутствия в нем избыточных элементов, которые могут быть
удалены без всякого ощутимого ущерба. Тогда вместо найденных избыточных элементов он
вставит в программу своего троянца и перекомпилирует ее заново. Если размер полученного
двоичного файла окажется меньше или больше размера исходного, процедура повторяется. И так
до тех пор, пока не будет получен файл, размер которого в наибольшей степени близок к
оригиналу.
        Когда выясняется, что в какую-то откомпилированную программу проник троянец, в сети
Internet немедленно начинают распространяться бюллетени с информацией об обнаруженном
троянце. Чаще всего в этих бюллетенях кратко сообщается о том, какой вред может причинить
данный троянец и где можно найти замену пораженной троянцем программе.
        Иногда ущерб, который может нанести троянец, оценить довольно легко. Например, если
он предназначен для пересылки по электронной почте содержимого файла /etc/passwd, в котором
операционные системы семейства UNIX хранят информацию о пользовательских паролях,
достаточно установить "чистую" версию программы взамен той, в которой обосновался этот
троянец. Затем пользователи должны будут обновить свои пароли, и на этом борьба с ним
успешно завершится.
        Однако далеко не всегда степень компрометации компьютерной системы, в которой
поселилась троянская программа, бывает так легко определить. Предположим, что цель внедрения
троянца состоит в создании дыры в защитных механизмах компьютерной системы, через которую
злоумышленник сможет, например, проникать в нее, имея администраторские полномочия. И если
взломщик окажется достаточно хитрым и смекалистым, чтобы замести следы своего присутствия
в системе путем внесения соответствующих изменений в регистрационные файлы, то определить,
насколько глубоко он проник сквозь системные защитные механизмы, будет почти невозможно,
если учесть еще тот факт, что саму троянскую программу обнаружат лишь несколько месяцев
спустя после ее внедрения в компьютерную систему. В этом случае может понадобиться целиком
переустановить операционную систему и все приложения.
        Как распознать троянскую программу
        Большинство программных средств, предназначенных для защиты от троянских программ,
в той или иной степени использует так называемое согласование объектов. При этом в качестве
объектов фигурируют файлы и каталоги. А согласование представляет собой способ ответить на
вопрос, изменились ли файлы и каталоги с момента последней проверки. В ходе согласования
характеристики объектов сравниваются с характеристиками, которыми они обладали раньше.
Берется, к примеру, архивная копия системного файла и ее атрибуты сравниваются с атрибутами
этого файла, который в настоящий момент находится на жестком диске. Если атрибуты
различаются, и никаких изменений в операционную систему не вносилось, значит в компьютер,
скорее всего, проник троянец.
        Одним из атрибутов любого файла является отметка о времени его последней
модификации: всякий раз, когда файл открывается, изменяется и сохраняется на диске,
автоматически вносятся соответствующие поправки. Однако отметка времени не может служить
надежным индикатором наличия в системе троянца, поскольку этой отметкой очень легко
манипулировать. Можно подкрутить назад системные часы, внести изменения в файл, затем снова
вернуть часы в исходное состояние, и отметка о времени модификации файла останется
неизменной.
        Примерно также обстоит дело и с размерами файла. Нередко текстовый файл, который
изначально занимал, скажем, 8 Кбайт дискового пространства, после редактирования и сохранения
имеет тот же самый размер. Несколько иначе ведут себя двоичные файлы. Вставить в чужую
программу фрагмент собственного кода так, чтобы она не утратила работоспособности и в
откомпилированном виде сохранила свой размер, достаточно непросто. Поэтому размер файла
является более надежным показателем, чем отметка о времени внесения в него последних
изменений.
        Злоумышленник, решивший запустить в компьютер троянца, обычно пытается сделать его
частью системного файла. Такие файлы входят в дистрибутив операционной системы и их
присутствие на любом компьютере, где эта операционная система установлена, не вызывает
никаких подозрений. Однако любой системный файл имеет вполне определенную длину. Если
данный атрибут будет каким-либо образом изменен, это встревожит пользователя. Зная это,
злоумышленник постарается достать исходный текст соответствующей программы и внимательно
проанализирует его на предмет присутствия в нем избыточных элементов, которые могут быть
удалены без всякого ощутимого ущерба. Тогда вместо найденных избыточных элементов он
вставит в программу своего троянца и перекомпилирует ее заново. Если размер полученного
двоичного файла окажется меньше или больше размера исходного, процедура повторяется. И так
до тех пор, пока не будет получен файл, размер которого в наибольшей степени близок к
оригиналу.


                                             114