Атаки на уровне операционной системы
Методы взлома компьютерных систем
В общем случае программное обеспечение любой универсальной компьютерной системы состоит из трех основных компонентов: операционной системы, сетевого программного обеспечения (СПО) и системы управления базами данных (СУБД). Поэтому все попытки взлома защиты компьютерных систем можно разделить на три группы:
· атаки на уровне операционной системы;
· атаки на уровне сетевого программного обеспечения;
· атаки на уровне систем управления базами данных.
Атаки на уровне систем управления базами данных
Защита СУБД является одной из самых простых задач. Это связано с тем, что СУБД имеют строго определенную внутреннюю структуру, и операции над элементами СУБД заданы довольно четко. Есть четыре основных действия — поиск, вставка, удаление и замена элемента. Другие операции являются вспомогательными и применяются достаточно редко. Наличие строгой структуры и четко определенных операций упрощает решение задачи защиты СУБД. В большинстве случаев хакеры предпочитают взламывать защиту компьютерной системы на уровне операционной системы и получать доступ к файлам СУБД с помощью средств операционной системы. Однако в случае, если используется СУБД, не имеющая достаточно надежных защитных механизмов, или плохо протестированная версия СУБД, содержащая ошибки, или если при определении политики безопасности администратором СУБД были допущены ошибки, то становится вполне вероятным преодоление хакером защиты, реализуемой на уровне СУБД.
Кроме того, имеются два специфических сценария атаки на СУБД, для защиты от которых требуется применять специальные методы. В первом случае результаты арифметических операций над числовыми полями СУБД округляются в меньшую сторону, а разница суммируется в некоторой другой записи СУБД (как правило, эта запись содержит личный счет хакера в банке, а округляемые числовые поля относятся к счетам других клиентов банка). Во втором случае хакер получает доступ к полям записей СУБД, для которых доступной является только статистическая информация. Идея хакерской атаки на СУБД — так хитро сформулировать запрос, чтобы множество записей, для которого собирается статистика, состояло только из одной записи.
Атаки на уровне операционной системы
Защищать операционную систему, в отличие от СУБД, гораздо сложнее. Дело в том, что внутренняя структура современных операционных систем чрезвычайно сложна, и поэтому соблюдение адекватной политики безопасности является значительно более трудной задачей. Среди людей несведущих бытует мнение, что самые эффективные атаки на операционные системы могут быть организованы только с помощью сложнейших средств, основанных на самых последних достижениях науки и техники, а хакер должен быть программистом высочайшей квалификации. Это не совсем так.
Никто не спорит с тем, что пользователю следует быть в курсе всех новинок в области компьютерной техники. Да и высокая квалификация — совсем не лишнее. Однако искусство хакера состоит отнюдь не в том, чтобы взламывать любую самую «крутую» компьютерную защиту. Нужно просто суметь найти слабое место в конкретной системе защиты. При этом простейшие методы взлома оказываются ничуть не хуже самых изощренных, поскольку, чем проще алгоритм атаки, тем больше вероятность ее завершения без ошибок и сбоев, особенно если возможности предварительного тестирования этого алгоритма в условиях, приближенных к «боевым», весьма ограничены.
Успех реализации того или иного алгоритма хакерской атаки на практике в значительной степени зависит от архитектуры и конфигурации конкретной операционной системы, являющейся объектом этой атаки. Однако имеются атаки, которым может быть подвергнута практически любая операционная система:
· подглядывание за пользователем, когда тот вводит пароль, дающий право на работу с операционной системой (даже если во время ввода пароль не высвечивается на экране дисплея, хакер может легко узнать пароль, просто следя за перемещением пальцев пользователя по клавиатуре);
· получение пароля из файла, в котором этот пароль был сохранен пользователем, не желающим затруднять себя вводом пароля при подключении к сети (как правило, такой пароль хранится в файле в незашифрованном виде);
· поиск пароля, который пользователи, чтобы не забыть, записывают на календарях, в записных книжках или на оборотной стороне компьютерных клавиатур (особенно часто подобная ситуация встречается, если администраторы заставляют пользователей применять трудно запоминаемые пароли);
· кража внешнего носителя парольной информации (дискеты или электронного ключа, на которых хранится пароль пользователя, предназначенный для входа в операционную систему);
· полный перебор всех возможных вариантов пароля;
· подбор пароля по частоте встречаемости символов и биграмм, с помощью словарей наиболее часто применяемых паролей, с привлечением знаний о конкретном пользователе — его имени, фамилии, номера телефона, даты рождения и т. д., с использованием сведений о существовании эквивалентных паролей, при этом из каждого класса опробуется всего один пароль, что может значительно сократить время перебора;
2) сканирование жестких дисков компьютера (хакер последовательно пытается обратиться к каждому файлу, хранимому на жестких дисках компьютерной системы; если объем дискового пространства достаточно велик, можно быть вполне уверенным, что при описании доступа к файлам и каталогам администратор допустил хотя бы одну ошибку, в результате чего все такие каталоги и файлы будут прочитаны хакером; для сокрытия следов хакер может организовать эту атаку под чужим именем: например, под именем пользователя, пароль которого известен хакеру);
3) сборка «мусора» (если средства операционной системы позволяют восстанавливать ранее удаленные объекты, хакер может воспользоваться этой возможностью, чтобы получить доступ к объектам, удаленным другими пользователями: например, просмотрев содержимое их «мусорных» корзин);
4) превышение полномочий (используя ошибки в программном обеспечении или в администрировании операционной системы, хакер получает полномочия, превышающие полномочия, предоставленные ему согласно действующей политике безопасности);
· запуск программы от имени пользователя, имеющего необходимые полномочия, или в качестве системной программы (драйвера, сервиса, демона и т. д.);
· подмена динамически загружаемой библиотеки, используемой системными программами, или изменение переменных среды, описывающих путь к таким библиотекам;
· модификация кода или данных подсистемы защиты самой операционной системы;
5) отказ в обслуживании (целью этой атаки является частичный или полный вывод из строя операционной системы);
· захват ресурсов (хакерская программа производит захват всех имеющихся в операционной системе ресурсов, а затем входит в бесконечный цикл);
· бомбардировка запросами (хакерская программа постоянно направляет операционной системе запросы, реакция на которые требует привлечения значительных ресурсов компьютера);
· использование ошибок в программном обеспечении или администрировании.
Если в программном обеспечении компьютерной системы нет ошибок и ее администратор строго соблюдает политику безопасности, рекомендованную разработчиками операционной системы, то атаки всех перечисленных типов малоэффективны. Дополнительные меры, которые должны быть предприняты для повышения уровня безопасности, в значительной степени зависят от конкретной операционной системы, под управлением которой работает данная компьютерная система. Тем не менее, приходится признать, что вне зависимости от предпринятых мер полностью устранить угрозу взлома компьютерной системы на уровне операционной системы невозможно. Поэтому политика обеспечения безопасности должна проводиться так, чтобы, даже преодолев защиту, создаваемую средствами операционной системы, хакер не смог нанести серьезного ущерба.
Источник
Атака типа сборка мусора способы защиты
Сборка мусора — технология, позволяющая, с одной стороны, упростить программирование, избавив программиста от необходимости вручную удалять объекты, созданные в динамической памяти, с другой — устранить вызванные неправильным ручным управлением памятью ошибки.
В системе со сборкой мусора обязанность освобождения памяти от объектов, которые больше не используются, возлагается на среду исполнения программы. Программист лишь создаёт динамические объекты и пользуется ими, он может не заботиться об удалении объектов, поскольку это делает за него среда. Для осуществления сборки мусора в состав среды исполнения включается специальный программный модуль, называемый «сборщиком мусора». Этот модуль периодически запускается, определяет, какие из созданных в динамической памяти объектов более не используются, и освобождает занимаемую ими память.
Периодичность запуска сборщика мусора определяется особенностями системы. Сборщик может работать в фоновом режиме, запускаясь при неактивности программы (например, когда программа простаивает, ожидая ввода данных пользователем). Сборщик мусора запускается безусловно, прерывая на время своей работы выполнение программы, когда очередную операцию выделения памяти оказывается невозможно выполнить из-за того, что вся доступная память исчерпана. После освобождения памяти прерванная операция выделения памяти возобновляется и программа продолжает исполняться дальше. Если же оказывается, что освободить память невозможно, среда исполнения останавливает программу с сообщением об ошибке «Недостаточно памяти».
Источник
Типичные приемы атак на локальные и удаленные компьютерные системы
1. Сканирование файловой системы. Злоумышленник пытается просматривать файловую систему и прочесть, скопировать или удалить файлы. Такая атака проводится с помощью специальной программы, которая выполняет эти действия в автоматическом режиме
2. Кража ключевой информации. Пароль может быть подсмотрен по движению рук на клавиатуре или снят видеокамерой, а также может быть украден внешний носитель с ключевой информацией.
3. Сборка мусора. Информация, не удаляется физически, а только помечается к удалению и помещается в сборщик мусора.
4. Превышение полномочий. Используя ошибки в программном обеспечении и/или политики безопасности, пользователь пытается получить полномочия, превышающие те, которые ему были выделены. Это воздействие может быть также результатом входа в систему под именем другого пользователя или замены динамической библиотекой, которая отвечает за выполнение функций идентификации пользователя.
5. Программные закладки – программы, выполняющие хотя бы одно из следующих действий:
— внесение произвольных искажений в коды программ, находящихся в оперативной памяти (программа закладка первого типа)
— перенос фрагментов информации из одних областей оперативной или внешней памяти в другие (программная закладка второго типа)
— искажение информации, выводимой другими программами на внешние устройства или каналы связи (программная закладка третьего типа)
6. Жадные программы – программ, преднамеренно захватывающие значительную часть ресурсов КС, в результате чего другие программы работают значительно медленнее или не работают вообще.
7. Атака на отказ в обслуживании (deny of service – DoS). Такие атаки являются наиболее распространенными в компьютерных сетях и сводится к выведению из строя объекта, а не к получению несанкционированного доступа. Такие атаки классифицируются по объекту воздействия:
— перегрузка пропускной способности сети
— занятие возможных портов.
Такие атаки могут быть обнаружены и устранены администратором путем выдачи запрета на прием пакетов от данного источника. Чтобы лишить администратора сети такой возможности, атака идет со множества узлов, на которые предварительно внедряют вирус. Вирус активизируется в определенное время, производя DoS-атаку. Такой тип атаки получил название DDoS (Distriibuted DoS).
8. Атака маскировкой. Маскировка – общее название большого класса сетевых атак, в которых атакующий выдает себя за другого пользователя.
9. Атаки на маршрутизацию. Атака связана с изменением маршрута доставки пакета.
10 Прослушивание сети (sniffing). Различают межсегментный и внутрисегментный сниффинг. В первом случае устройство прослушивания должно быть размещено у входа или выхода взаимодействующих узлов или у одного из транзитных узлов. Для защиты в основном используются средства шифрования. При внутрисегментном прослушивании в равноранговой сети с общей шиной, в качестве прослушивающего устройства может быть использована одна из РС сети.
Приведем примеры возможных методов нарушения доступа злоумышленником.
Получение пароля на основе ошибок администратора и пользователей.
Пример использования способа несанкционированного доступа к информации в КС, основанный на создании аварийной ситуации. Если у нарушителя есть физический доступ хотя бы к одной рабочей станции локальной вычислительной сети (ЛВС) организации или к линии связи, то он сможет внедрить на рабочей станции программную закладку (или подключить к линии связи специальное устройство), перехватывать все пакеты подключения легального пользователя этой рабочей станции к серверу ЛВС и искажать имя пользователя в этих пакетах (иначе говоря, создать условия, при которых легальный пользователь КС никогда не сможет подключиться к серверу).
В этой ситуации на атакуемую рабочую станцию рано или поздно придет администратор ЛВС для того, чтобы разобраться в причинах сбоев при подключении к серверу. Если при этом администратор пошлет пакет подключения к серверу под своей привилегированной учетной записью, в которой оставлено имя администратора по умолчанию (например, «Supervisor» в операционной системе Novell Netware или «Администратор» в операционных системах Windows NT/2000/XP Professional), то тем самым цель нарушителя (перехват пароля администратора) будет достигнута.
Причиной успеха описанной в данном примере атаки является нарушение администратором системы правил политики безопасности, в соответствии с которыми он должен использовать привилегированную учетную запись только для выполнения административных функций и только с защищенной рабочей станции, а для выполнения других действия требуется создать другую учетную запись администратора с отличным от принятого по умолчанию именем.
Подбор пароля по словарю.
Перебор паролей по словарю являлся некоторое время одной из самых распространенных техник подбора паролей. В то время простенькая программа со словарем в 5000 существительных давала положительный результат в 60% случаев. Хотя в настоящее время он стал сдавать свои позиции, однако развитие быстродействия вычислительной техники и все более сложные алгоритмы оставления слов – паролей не дают «погибнуть» этому методу.
Следующей модификацией подбора паролей является проверка паролей, устанавливаемых в системах по умолчанию. В некоторых случаях администратор программного обеспечения получив новый продукт от разработчика, не проверяет из чего состоит система безопасности. Как следствие, пароль установленный в фирме разработчика по умолчанию, остается основным паролем в системе. В сети Интернет можно найти огромные списки паролей по умолчанию практически ко всем версиям программного обеспечения, если они устанавливаются на нем производителем.
Основные требования к информационной безопасности, основанные на анализе данного метода, следующие:
1. Вход всех пользователей в систему должен подтверждаться вводом уникального пароля.
2. Пароль должен тщательно подбираться так, чтобы его информационная емкость соответствовала времени полного перебора пароля. (Данная задача будет рассмотрена на практическом занятии). Для этого необходимо детально инструктировать сотрудников о понятии «простой к подбору пароль», либо передать операцию выбора пароля в ведение инженера по безопасности.
3. Пароли по умолчанию должны быть сменены до официального запуска системы и даже до сколь либо публичных испытаний программного комплекса. Особенно это относится к сетевому программному обеспечению.
4. Все ошибочные попытки войти в систему должны учитываться, записываться в файл журнала событий и анализироваться через «разумный» промежуток времени. Если в системе предусмотрена возможность блокирования клиента либо всей системы после определенного количества неудачных попыток входа, этой возможностью необходимо воспользоваться. Если же Вы являетесь разработчиком системы безопасности, данную возможность несомненно необходимо предусмотреть, так как она является основным барьером к подбору паролей полным перебором. Разумно блокировать клиента после 3-ей подряд неправильной попытки набора пароля, и, соответственно, блокировать систему после K=max(int(N*0.1*3)+1,3) неудачных попыток входа за некоторый период (час, смену, сутки). В данной формуле N – среднее количество подключающихся за этот период к системе клиентов, 0.1 – 10%-ный предел «забывчивости пароля», 3 – те же самые три попытки на вспоминание пароля. Естественно, информация о блокировании клиента или системы должна автоматически поступать на пульт контроля за системой.
5. В момент отправки пакета подтверждения или отвержения пароля в системе должна быть установлена разумная задержка (2-5 секунд). Это не позволит злоумышленнику, попав на линию с хорошей связью до объекта атаки перебирать по сотне тысяч паролей за секунду.
6. Все действительные в системе пароли желательно проверять современными программами подбора паролей, либо оценивать лично администратору системы.
7. Через определенные промежутки времени необходима принудительная смена пароля у сотрудников. Наиболее часто используемыми интервалами смены пароля являются год, месяц и неделя (в зависимости от уровня конфиденциальности информации и частоты входа в систему).
8. Все неиспользуемые в течение долгого времени имена регистрации должны переводиться в закрытое (недоступное для регистрации) состояние. Это относится к сотрудникам, находящимся в отпуске, на больничном, в командировке, а также к именам регистрации, созданным для тестов, испытаний системы и т.п.
9. От сотрудников и всех операторов терминала необходимо требовать строгое неразглашение паролей, отсутствие каких-либо взаимосвязей пароля с широкоизвестными фактами и данными, и отсутствие бумажных записей пароля «из-за плохой памяти».
В последние годы наиболее распространенным способом получения паролей является копирование буфера клавиатуры в момент набора пароля. Для этого метода используются программы – перехватчики паролей (программы – Трояны). Конечный пользователь получает их, как правило, с документами по электронной почте или со скачиваемыми из Интернета программами. После запуска программа прописывается в системном реестре для запуска при загрузке операционной системы и начинает собирать информацию. Ее целью могут быть файлы учетной записи пользователя, содержащие его пароль. Возможна также ее работа в режиме прослушивания – в этом случае, например, все вводимые с клавиатуры символы записываются в отдельный файл, кроме того, «прослушиваться» может и передаваемая по сети информация. Далее вся собранная информация отправляется атакующему для дальнейшего анализа на предмет содержания ценой информации, такой как пароли или личная пользовательская информация.
Следующий метод получения паролей относится только к сетевому программному обеспечению. Проблема заключается в том, что во многих программах не учитывается возможность перехвата сетевого трафика. Более половины протоколов сети Интернет передают пароли в нешифрованном виде – открытым текстом. К ним относятся протоколы передачи электронной почты SMTP и POP3, протокол передачи файлов FTP, одна из схем авторизации на WWW-серверах.
Современное аппаратное и программное обеспечение позволяет получать всю информацию, проходящую по сегменту сети, к которому подключен конкретный компьютер, и анализировать ее в реальном масштабе времени. Возможны несколько вариантов прослушивания трафика:
1) это может сделать служащий компании со своего рабочего компьютера
2) злоумышленник, подключившийся к сегменту с помощью портативной ЭВМ или более мобильного устройства.
3) трафик, идущий от Вас к Вашему партнеру или в другой офис по сети Интернет, технически может прослушиваться со стороны Вашего непосредственного провайдера, со стороны любой организации, предоставляющей транспортные услуги для сети Интернет (переписка внутри страны в среднем идет через 3-4 компании, за пределы страны – через 5-8). Кроме того, если в должной мере будет реализовываться план СОРМ (система оперативно-розыскных мероприятий в компьютерных сетях), то возможно прослушивание и со стороны силовых ведомств страны.
Краткий обзор еще нескольких довольно часто встречающихся методов.
Звонок администратору – злоумышленник выбирает из списка сотрудников того, кто не использовал пароль для входа в течение нескольких дней (отпуск, отгулы, командировка) и кого администратор не знает по голосу. Затем следует звонок с объяснением ситуации о забытом пароле, искренние извинения, просьба зачитать пароль, либо сменить его на новый. Больше чем в половине случаев просьба будет удовлетворена, а факт подмены будет замечен либо с первой неудачной попыткой зарегистрироваться истинного сотрудника, либо по произведенному злоумышленником ущербу.
Почти такая же схема, но в обратную сторону может быть разыграна злоумышленником в адрес сотрудника фирмы – звонок от администратора. В этом случае он представляется уже сотрудником службы информационной безопасности и просит назвать пароль либо из-за произошедшего сбоя в базе данных, либо якобы для подтверждения личности самого сотрудника по какой-либо причине (рассылка особо важных новостей), либо по поводу последнего подключения сотрудника к какому-либо информационному серверу внутри фирмы. Фантазия в этом случае может придумывать самые правдоподобные причины, по которым сотруднику «просто необходимо» вслух назвать пароль. Самое неприятное в этой схеме то, что если причина запроса пароля придумана, что называется «с умом», то сотрудник повторно позвонит в службу информационной безопасности только через неделю, месяц, если вообще это произойдет. Кроме того, данная схема может быть проведена и без телефонного звонка – по электронной почте, что неоднократно и исполнялось якобы от имени почтовых и Web-серверов в сети Интернет.
Оба данных метода относятся к группе «атака по социальной психологии» и могут принимать самые разные формы. Их профилактикой может быть только тщательное разъяснение всем сотрудникам, в особо важных случаях введение административных мер и особого регламента запроса и смены пароля.
Большое внимание следует уделять любым носителям информации, покидающим пределы фирмы. Наиболее частыми причинами этого бывают ремонт аппаратуры и списание технологически устаревшей техники. Необходимо помнить, что на рабочих поверхностях носителей даже в удаленных областях находится информация, которая может представлять либо непосредственный интерес, либо косвенно послужить причиной вторжения в систему. Так, например, при использовании виртуальной памяти часть содержимого ОЗУ записывается на жесткий диск, что теоретически может привезти даже к сохранению пароля на постоянном носителе (хотя это и маловероятно). Ремонт, производимый сторонними фирмами на месте, должен производится под контролем инженера из службы информационной безопасности. Необходимо помнить, что при нынешнем быстродействии ЭВМ копирование файлов производится со скоростью, превышающей мегабайт в секунду, а установить второй жесткий диск для копирования в момент ремонта без надзора специалиста можно практически незаметно. Все носители информации, покидающие фирму должны надежно чиститься либо уничтожаться механически (в зависимости от дальнейших целей их использования).
Немного слов о защищенности самих носителей информации. На сегодняшний день не существует разумных по критерию «цена/надежность» носителей информации, не доступных к взлому. Строение файлов, их заголовки и расположение в любой операционной системе может быть прочитано при использовании соответствующего программного обеспечения. Практически невскрываемым может быть только энергонезависимый носитель, автоматически разрушающий информацию при попытке несанкционированного подключения к любым точкам, кроме разрешенных разъемов, желательно саморазрушающийся при разгерметизации, имеющий внутри микропроцессор, анализирующий пароль по схеме без открытой передачи. Однако, все это из области «сумасшедших» цен и военных технологий.
Для бизнес-класса и частной переписки данная проблема решается гораздо проще и дешевле – с помощью криптографии. Любой объем информации от байта до гигабайта, будучи зашифрован с помощью более или менее стойкой криптосистемы, недоступен для прочтения без знания ключа. И уже совершенно не важно, хранится он на жестком диске, на дискете или компакт-диске, не важно под управлением какой операционной системы. Против самых новейших технологий и миллионных расходов здесь стоит математика, и этот барьер до сих пор невозможно преодолеть. Вот почему силовые ведомства практически всех стран, будучи не в состоянии противостоять законам математики, применяют административные меры против так называемой стойкой криптографии». Вот почему ее использование частными и юридическими лицами без лицензии Федерального Агентства по Связи и Информации (ФАПСИ), входящего в структуру одного из силовых ведомств государства, запрещено и у нас в России.
Источник