Ресурсы

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

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

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

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

Системные программы – те, которые составляют ОС и используются для ее обслуживания. В свою очередь среди системных программ с точки зрения анализа безопасности можно выделить два подкласса – системные утилиты и системы защиты.

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

Все разрушающие программные системы (вирусы, троянские кони, закладки) несомненно являются программами, так как обладают их основными свойствами – представляют собой набор инструкций некоторого интерпретатора, реализующий определенный алгоритм. От остальных программ они отличаются наличием трех специфических отношений, связывающих их с другими классами объектной модели. Эти отношения присущи исключительно разрушающим программным средствам, остальные ("полезные") программы подобными свойствами не обладают.

Для того чтобы определить эти отношения, предлагается ввести понятие нелегитимного доступа, характеризующее все аспекты существования и функционирования разрушающих программных средств. Данное понятие является обобщением понятия несанкционированного доступа. Расширение понятия несанкционированного доступа необходимо, так как оно подразумевает всего лишь нарушение принятой в вычислительной системе стратегии безопасности, а исследования механизмов функционирования разрушающих программных средств показали, что зачастую разрушающие программные средства не нарушают правил, установленных принятой во многих современных ОС стратегии безопасности, которая таким образом допускает существование разрушающих программных средств. Так, наиболее нашумевший сетевой вирус Р. Морриса во многих случаях (хотя и не во всех) проникал в системы, не совершая никаких действий, нарушающих политику безопасности. Это означает, что существуют действия, формально не нарушающие политику безопасности, но несущие угрозу безопасности и целостности системы. Возможность таких ситуаций следует из того, что никакая политика безопасности не может предусмотреть все действия программы или пользователя и определить, совершаются ли они в порядке решения рабочих задач или с целью нанесения ущерба.

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

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

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

С учетом введенных понятий определим отношения, характеризующие разрушающие программные средства как особый класс, базирующийся на классе программ.

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

2. Нелегитимный доступ к данным. Разрушающие программные средства осуществляют нелегитимный доступ (чтение или запись) к данным. Это одно из основных свойств разрушающих программных средств, которому они обязаны своим названием.

3. Нелегитимный запуск программ. Это свойство присуще в основном разрушающим программным средствам, функционирующим в развитых сетевых ОС (так называемые черви). В этом случае разрушающие программные средства существуют и распространяются не как программы на диске, а как процессы в ОС.

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

Наиболее часто выделяют три основных подкласса моделей, связанных с классом разрушающих программных средств отношением включения, – вирусы, троянские кони, или "закладки" и программы – взломщики систем защиты и средств разграничения доступа. Все эти подклассы разрушающих программных средств характеризуются специфическими отношениями с объектами вычислительной системы. Заметим, что многообразие видов и типов разрушающих программных средств не исчерпывается этими тремя классами, просто они являются наиболее распространенными.