Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Незаконное использование привилегий.

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

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

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

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

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

Атаки «салями».

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

Например, 6.5% годовых от $102.87 за 31 день составит $0.5495726. Банковская система может округлить эту сумму до $0.55. Однако если пользователь имеет доступ к банковским счетам или программам их обработки, он может округлить ее в другую сторону — до $0.54, а разницу в 1 цент записать на свой счет. Владелец счета вряд ли ее заметит, а если и обратит внимание, то спишет ее на погрешности обработки и не придаст значения. Злоумышленник же получит прибыль в один цент, при обработке 10.000 счетов в день (а в некоторых банках и больше). Его прибыль таким образом составит $1000, т.е. около $300 000 в год.

Отсюда и происходит название таких атак — как колбаса салями изготавливается из небольших частей разных сортов мяса, так и счет злоумышленника пополняется за счет различных вкладчиков. Естественно, такие атаки имеют смысл лишь в тех организациях, где осуществляется не менее 5.000 - 10.000 транзакций в день, иначе не имеет смысла рисковать, поскольку в случае обнаружения преступника просто определить. Таким образом, атаки «салями» опасны в основном для крупных банков.

Причинами атак «салями» являются, во-первых, погрешности вычислений, позволяющие трактовать правила округления в ту или иную сторону, а во-вторых, огромные объемы вычислений, необходимые для обработки счетов. Успех таких атак зависит не столько от величины обрабатываемых сумм, сколько от количества счетов (для любого счета погрешность обработки одинакова). Атаки «салями» достаточно трудно распознаются, если только злоумышленник не начинает накапливать на одном счете миллионы. Предотвратить такие атаки можно только обеспечением целостности и корректности прикладных программ, обрабатывающих счета, разграничением доступа пользователей АСОИБ к счетам, а также постоянным контролем счетов на предмет утечки сумм.

«Скрытые каналы»

«Скрытые каналы» - пути передачи информации между процессами системы, нарушающие системную политику безопасности. В среде с разделением доступа к информации пользователь может не получить разрешение на обработку интересующих его данных, однако может придумать для этого обходные пути. Практически любое действие в системе каким-то образом затрагивает другие ее элементы, которые при этом могут изменять свое состояние. При достаточной наблюдательности и знании этих связей можно получить прямой или опосредованный доступ к данным.

«Скрытые каналы» могут быть реализованы различными путями, в частности при помощи программных закладок («троянских коней»).

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

Атаки с использованием скрытых каналов обычно приводят к нарушениям конфиденциальности информации в АСОИБ, по характеру воздействия являются пассивными: нарушение состоит только в передаче информации. Для организации «скрытых каналов» может использоваться как штатное программное обеспечение, так и специально разработанные «троянские» или вирусные программы. Атака обычно производится программным способом.

Примером передачи информации по «скрытым каналам» может служить, например, итоговый отчет, в котором вместо слова «TOTAL» используется слово «TOTALS» - программист сделал так, что при определенных условиях, которые может распознать его программа, должна происходить замена слов. Подобными «скрытыми каналами» могут стать число пробелов между двумя словами, значение третьей или четвертой цифры после запятой в какой-нибудь дроби (на которые никто не обращает внимания) и т.д. «Скрытым каналом» может явиться и передача информации о наличии или отсутствии какого-либо набора данных, его размере, дате создания или модификации и т.д.

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

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

«Маскарад».

Под «маскарадом» понимается выполнение каких-либо действий одним пользователем АСОИБ от имени другого пользователя. При этом такие действия другому пользователю могут быть разрешены. Нарушение заключается в присвоении прав и привилегий.

Такие нарушения также называются симуляцией или моделированием. Цель «маскарада» — сокрытие каких-либо действий за именем другого пользователя или присвоение прав и привилегий другого пользователя для доступа к его наборам данных или для использования его привилегий.

«Маскарад» — это способ активного нарушения защиты системы, он является опосредованным воздействием, то есть воздействием, совершенным с использованием возможностей других пользователей.

Примером «маскарада» может служить вход в систему под именем и паролем другого пользователя, при этом система защиты не сможет распознать нарушение. В этом случае «маскараду» обычно предшествует взлом системы или перехват пароля.

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

«Маскарадом» также называют передачу сообщений в сети от имени другого пользователя. Способы замены идентификатора могут быть разные, обычно они определяются ошибками и особенностями сетевых протоколов. Тем не менее на приемном узле такое сообщение будет воспринято как корректное, что может привести к серьезным нарушениям работы сети. Особенно это касается управляющих сообщений, изменяющих конфигурацию сети, или сообщений, ведущих к выполнению привилегированных операций. [8]

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

«Маскарад» является достаточно серьезным нарушением, которое может привести к тяжелым последствиям, таким как изменение конфигурации системы (сети), утечка информации, нарушения работы АСОИБ. Для предотвращения «маскарада» необходимо использовать надежные методы идентификации и аутентификации, блокировку попыток взлома системы, контроль входов в нее. Также необходимо фиксировать все события, которые могут свидетельствовать о «маскараде», в системном журнале для его последующего анализа.

«Сборка мусора».

После окончания работы обрабатываемая информация не всегда полностью удаляется из памяти. Часть данных может оставаться в оперативной памяти, на дисках и лентах, других носителях. Данные хранятся на носителе до перезаписи или уничтожения; при выполнении этих действий на освободившемся пространстве диска находятся их остатки. Хотя прочитать такие данные трудно, однако, используя специальные программы и оборудование, все же возможно. Такой процесс принято называть «сборкой мусора». Он может привести к утечке важной информации.

«Сборка мусора» — активное, непосредственное воздействие на объекты АСОИБ при их хранении с использованием доступа. Это воздействие может привести к нарушению конфиденциальности информации.

Для защиты от «сборки мусора» используются специальные механизмы, которые могут быть реализованы в операционной системе и/или аппаратуре компьютера или в дополнительных программных (аппаратных) средствах. Примерами таких механизмов являются стирающий образец и метка полноты:

- стирающий образец — это некоторая последовательность битов, записываемая на место, освобождаемое файлом. Менеджер или администратор безопасности АСОИБ может автоматически активизировать запись этой последовательности при каждом освобождении участка памяти, при этом стираемые данные уничтожаются физически.

- метка полноты предотвращает чтение участков памяти, отведенных процессу для записи, но не использованных им. Верхняя граница адресов использованной памяти и есть метка полноты. Этот способ используется для защиты последовательных файлов исключительного доступа (результирующие файлы редакторов, компиляторов, компоновщиков т.д.). Для индексных и разделяемых последовательных файлов этот метод называется «стирание при размещении», память очищается при выделении ее процессу.

«Взлом системы».

Под «взломом системы» понимают умышленное проникновение в систему с несанкционированными параметрами входа, то есть именем пользователя и его паролем (паролями).

«Взлом системы» — умышленное, активное воздействие на систему в целом. «Взлом системы» обычно происходит в интерактивном режиме.

Поскольку имя пользователя не является секретом, объектом «охоты» обычно становится пароль. Способы вскрытия пароля могут быть различны: перебор возможных паролей, «маскарад» с использованием пароля другого пользователя, захват привилегий. Кроме того, «взлом системы» можно осуществить, используя ошибки программы входа.

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

Кроме того, оператор должен постоянно контролировать активных пользователей системы: их имена, характер работы, время входа и выхода и т.д. Такие действия помогут своевременно установить факт «взлома» и позволят предпринять необходимые действия.

«Люки».

«Люк» — это скрытая, недокументированная точка входа в программный модуль. «Люк» вставляется в программу обычно на этапе отладки для облегчения работы: программный модуль можно вызывать в разных местах, что позволяет отлаживать отдельные его части независимо. Но в дальнейшем программист может забыть уничтожить «люк» или некорректно его заблокировать. Кроме того, «люк» может вставляться на этапе разработки для последующей связи данного модуля с другими модулями системы, но затем, в результате изменившихся условий данная точка входа оказывается ненужной.

Наличие «люка» позволяет вызывать программу нестандартным образом, что может серьезно сказаться на состоянии системы защиты (неизвестно, как в таком случае программа будет воспринимать данные, среду системы и т.д.). Кроме того, в таких ситуациях не всегда можно прогнозировать ее поведение.

«Люк» относится к категории угроз, возникающих вследствие ошибок реализации какого-либо проекта (АСОИБ в целом, комплекса программ и т.д.). Поскольку использование «люков» может быть самым разным и зависит от самой программы, классифицировать данную угрозу как-либо еще затруднительно.

«Люки» могут оказаться в программах по следующим причинам:

- их забыли убрать;

- для использования при дальнейшей отладке;

- для обеспечения поддержки готовой программы;

- для реализации тайного контроля доступа к данной программе после ее установки.

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

Отметим, что программная ошибка «люком» не является. «Люк» — это достаточно широко используемый механизм отладки, корректировки и поддержки программ, который создается преднамеренно, хотя чаще всего и без злого умысла. Люк становится опасным, если он не замечен, оставлен и не предпринималось никаких мер по контролю за ним.

Большая опасность «люков», особенно в программах операционной системы, компенсируется высокой сложностью их обнаружения. Если не знать заранее, что данная программа содержит «люк», необходимо обработать килобайты (а иногда и мегабайты) программного кода, чтобы найти его. Понятно, что почти всегда это нереально. Поэтому в большинстве случаев обнаружение «люков» — результат случайного поиска. Защита от них может быть только одна — не допускать появления «люков» в программе, а при приемке программных продуктов, разработанных третьими производителями — проводить анализ исходных текстов программ с целью обнаружения «люков».

Вредоносные программы.

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

Ниже рассмотрим некоторые (самые распространенные) виды подобных программ: «троянский конь», вирус, «червь», «жадная» про грамма, «захватчик паролей»:

«Троянский кoнь» — программа, выполняющая в дополнение к основным (проектным и документированным) не описанные в документации действия. Аналогия с древнегреческим «троянским конем» таким образом вполне оправдана — в не вызывающей подозрений оболочке таится угроза. Программы такого типа являются серьезной угрозой безопасности АСОИБ.

По характеру угрозы «троянский конь» относится к активным угрозам, реализуемым программными средствами, работающими в пакетном режиме. Он может угрожать любому объекту АСОИБ. Наиболее опасным является опосредованное воздействие, при котором «троянский конь» действует в рамках полномочий одного пользователя, но в интересах другого пользователя, установить личность которого порой невозможно.

Опасность «троянского коня» заключается в дополнительном блоке команд, тем или иным образом вставленном в исходную безвредную программу, которая затем предлагается (дарится, продается, подменяется) пользователям АСОИБ. Этот блок команд может срабатывать при наступлении некоторого условия (даты, времени и т.д., либо по команде извне). Запустивший такую программу подвергает опасности как себя и свой файлы, так и всю АСОИБ в целом.

Наиболее опасные действия «троянский конь» может выполнять, если запустивший ее пользователь обладает расширенным набором привилегий. В этом случае злоумышленник, составивший и внедривший «троянского коня», и сам этими привилегиями не обладающий, может выполнить несанкционированные привилегированные функции чужими руками. Или, например, злоумышленника очень интересуют наборы данных пользователя, запустившего такую программу. Последний может даже не обладать расширенным набором привилегий — это не помешает выполнению несанкционированных действий.

Характерным примером «Троянского коня» является появившийся в Интернете в январе 1999 г. бесплатно распространяемый Screen Saver, который помимо вывода красивых картинок на экране, осуществляет поиск на компьютере программы-шифровальщика алгоритма DEC. В случае обнаружения программы, Screen Saver ставит под контроль обмен ключами шифрования и пересылает ключи по электронной почте на анонимный сервер в Китае. [17]

«Троянский конь» — одна из наиболее опасных угроз безопасности АСОИБ. Радикальным способом защиты от этой угрозы является создание замкнутой среды исполнения программ. В особенности важно разделение внешних сетей (особенно Интернет) и внутренних сетей по крайней мере на уровне протоколов, а еще лучше — на физическом уровне. Желательно также, чтобы привилегированные и непривилегированные пользователи работали с разными экземплярами прикладных программ, которые должны храниться и защищаться индивидуально. При соблюдении этих мер вероятность внедрения программ подобного рода будет достаточно низкой.

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

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

- способностью к вмешательству (получению управления) в вычислительный процесс. Это свойство является аналогом «паразитирования» в живой природе, которое свойственно биологическим вирусам.

Как и «троянские кони» вирусы относятся к активным программным средствам. Классификация вирусов, используемые ими методы заражения, способы борьбы с ними достаточно хорошо изучены и описаны. Эта проблема в нашей стране стала особенно актуальной, поэтому очень многие занимаются ею.

Проблема защиты от вирусов может рассматриваться с двух сторон: как самостоятельная проблема и как одна из сторон проблемы общей защиты АСОИБ. И тот, и другой подходы имеют свои отличительные особенности и, соответственно, свои собственные методы решения проблемы.

В последнее время удалось более или менее ограничить масштабы заражений и разрушений. Тут сыграли свою роль и превентивные меры, и новые антивирусные средства, и пропаганда всех этих мер.

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

«Червь» — программа, распространяющаяся через сеть и (в отличие от вируса) не оставляющая своей копии на магнитном носителе. «Червь» использует механизмы поддержки сети для определения узла, который может быть заражен. Затем с помощью тех же механизмов передает свое тело или его часть на этот узел и либо активизируется, либо ждет для этого подходящих условий.

Наиболее известный представитель этого класса - вирус Морриса (или, вернее, «червь Морриса»), поразивший сеть Internet в 1988 г. Наиболее подходящей средой распространения «червя» является сеть, все пользователи которой считаются дружественными и доверяют друг другу. Отсутствие защитных механизмов как нельзя лучше способствует уязвимости сети.

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

Таким образом, как вирусы, так «троянские кони» и «черви» на сегодняшний день являются одной из самых опасных угроз АСОИБ. Для защиты от этих разновидностей вредоносных программ необходимо создание замкнутой среды исполнения программ, разграничение доступа к исполняемым файлам, контроль целостности исполняемых файлов и системных областей, тестирование приобретаемых программных средств.

«Жадные» программы — это программы, которые при выполнении стремятся монополизировать какой-либо ресурс системы, не давая другим программам возможности использовать его. Доступ таких программ к ресурсам системы обычно приводит к нарушению ее доступности. Естественно, такая атака будет активным вмешательством в работу системы. Непосредственной атаке обычно подвергаются ключевые объекты системы: процессор, оперативная память, устройства ввода-вывода.

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

Тупиковая ситуация возникает, когда «жадная» программа бесконечна (например, исполняет заведомо бесконечный цикл). Однако во многих операционных системах существует возможность ограничения времени процессора, используемого задачей. Это не относится к операциям, выполняющимся в зависимости от других программ, например, к операциям ввода-вывода, которые завершаются асинхронно к основной программе; время их выполнения не включается в счет времени программы. Перехватывая асинхронное сообщение о завершении операции ввода-вывода и посылая вновь запрос на новый ввод-вывод, можно добиться по-настоящему бесконечной программы. Такие атаки называют также асинхронными.

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

Обычно «жадные» программы осуществляют захват одного из трех основных ресурсов системы: времени процессора, оперативной памяти, каналов ввода-вывода. Однако возможен захват и любых других ресурсов системы: блокирование ее работы, или же использование побочного результата деятельности какой-либо программы (например, вируса). Бороться с захватом ресурсов можно путем введения различных ограничений для выполняемых программ (на время процессора, на количество операций ввода-вывода, на разрешенный объем оперативной памяти и т.д.), а также постоянным операторским контролем за их соблюдением.

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

Для предотвращения этой угрозы перед входом в систему необходимо убедиться, что вы вводите имя и пароль именно системной программе входа, а не какой-то другой. Кроме того, необходимо неукоснительно придерживаться правил использования паролей и работы с системой. Большинство нарушений происходят не из-за хитроумных атак, а из-за элементарной небрежности. Не рекомендуется покидать рабочее место, не выйдя из системы. Постоянно проверяйте сообщения о дате и времени последнего входа и количестве ошибочных входов. Эти простые действия помогут избежать захвата пароля.

Кроме описанных выше, существуют и другие возможности компрометации пароля. Не следует записывать команды, содержащие пароль, в командные процедуры, надо избегать явного объявления пароля при запросе доступа по сети: эти ситуации можно отследить и захватить пароль. Не стоит использовать один и тот же пароль для доступа к разным узлам.

Соблюдение правил использования паролей — необходимое условие надежной защиты.

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...