Екция № Безопасность. Общие принципы безопасности сетей.
Многие компании обладают ценной информацией, которую они тщательно охраняют. Она может быть как чисто техническая, так и юридическая либо экономическая.
Одним из вариантов защиты информации, сохранившийся еще с эпохи картотечных систем, является служба охраны которая разграничивает доступ людей в здании. С повсеместным внедрением электронного документооборота использование в компаниях локальных сетей вопросы обеспечения безопасности очень усложнились. В частности впервые появилось разграничение между безопасностью ОС и безопасности на уровне сетевых компонентов. Проблему безопасности и защиты зачастую смешивают, защита – это непосредственно механизм интегрированный в определенный уровень сети, который обеспечивает безопасность пользовательских данных в этой сети. А безопасность – это многогранный термин которых характеризуется тремя главными ее задачами в соответствии с угрозами.
1) Обеспечение конфиденциальности данных, то есть того чтобы секретные данные остались действительно секретными и если пользователь предпочел дать информацию из этих данных только узкому кругу лиц , то ни в коем случае не должен получить доступ к ним кто то другой.
2) Обеспечение целостности данных передаваемых по сети либо хранимых сетевым методом.
3) Анти доступность системы когда никто и ни что не может вывести такую систему из строя.
Злоумышленники.
Несмотря на то что большинство пользователей соблюдают закон существует и класс людей, которые стремятся овладеть чужими данными, как ради собственных интересов так и из коммерческой выгоды.
Вообще глобально злоумышленников можно разделить на 2 класса: Активные и пассивные. Пассивные злоумышленники просто пытаются получить несанкционированный доступ к данным. Активные стараются еще и изменить их.
Более глобальное:
1) Случайно любопытные пользователи- они не используют специальных технических средств и не обладают сколько-нибудь обширными знаниями.
Наиболее простой пример: если не включить разграничение прав на входящую оперативную корреспонденцию то многие пользователи будут читать чужие письма просто от любопытства, кроме того ранее в ЮНИКС системах существовала дыра в безопасности как – все вновь созданные файлы были по умолчанию доступны всем пользователям.
2) Члены организации занимающийся шпионажем – к данному классу относятся студенты, системные программисты, операторы, которые могут воспринимать тот или иной запрет действий внутри сети как вызов. Они уже имеют некоторую классификацию и чаще всего способны посвятить большое количество времени обходу системы сетевой безопасности.
3) Лица осуществляющие попытки собственного обогащения- например банковские программисты.
4) Лица занимающиеся коммерческим или военным шпионажем- шпионаж представляет собой серьезную и хорошо финансированную попытку конкурента либо даже другой страны украсть программы, коммерческие тайны и иные технологии. Осуществляют его специалисты высокого класса при практически не ограниченной финансовой поддержке, поэтому обход сетевой защиты рано или поздно будет успешен.
Случайная утрата контроля над сетью.
Помимо различных угроз со стороны злоумышленников существует и опасность потеря контроля над сетью либо потери данных в результате несчастного случая. К ним относятся:
1) Форс-мажоры –пожары, наводнения и т.д. прогрызенные провода.
2) Аппаратные и программные ошибки.
3) Человеческий фактор – виде неправильного ввода данных, неправильно установленных блоков безопасности.
Большая часть этих проблем разрешается при помощи создания резервных копий либо дублирующих линий связи на случай выхода основных из строя..
Аунтификация пользователей в сетевых системах.
Первые ЭВМ объединенные в сеть не имели системы аунтификации пользователей так токовой. Система аунтификации внутри сети стало появляться с внедрение ЮНИКС на компьютерах PDP-11. В общем случае можно говорить что системы аунтификации основан на одном из следующих принципов:
1) Аунтификация за счет чего-то известного пользователю.
2) Аунтификация за счет чего-то имеющегося у пользователя.
3) Ауннтификация с помощью чего-то чем является пользователь.
!!! Именно система аунтификации это по сути один из первых барьеров на пути взломщика, по тому что чтобы нанести вред сетевой инфракструктуре требуется сначало в этой сети авторизоваться и получить некоторые права.
Аунтификация с использованием паролей.
Наиболее широко применяемый вариант аунтификации пользователя – это запрос на ввод пароля. Самым простым вариантом является, когда при регистрации в системе требуется ввести пароль , логин пароль и происходит сравнение с парой хранящейся в базе. Стандартное правило при вводе пароля символы не должны отображаться, поскольку они могут быть замечены другими пользователями, либо перехвачены специальным программным обеспечением.
!!! Windows системах обычно символы пароля замещают звездочками.
В ЮНИКС же системах при вводе не происходит изображения!!!
Когда злоумышленник производит обход пароля во многих паролях он видит логин идентификатор по которому можно догадаться что именно будет в пароле.
В 95 году в Британии было проведено повторное исследование безопасности паролей гос. служащих для тех случаев когда пароли служащий мог генерировать сам. Оказалось что в 85% случаев пароль можно было отгадать в течении 20 попыток.
В это же время австралийский хакер путем простого перебора телефонных номеров на терминале и выполнения команды ТИЛНЕТ присоединился к филиалам ведущих банков Европы и при наличии доступа снимал деньги с овердрафта.
Сейчас процедура взлома еще проще упрощена поскольку компьютеры объединены глобальной сетью и для совершения коннекта достаточно переборщику выполнять лишь две команды ping + IP, telnet.
Совершенствование безопасности пароля.
Поскольку пароль защищает систему от взлома, то его надо тем или иным способом обезопасить от угадывания.
1) Пароль должен содержать как минимум 7 символов.
2) Пароль должен содержать как строчные так и прописные символы.
3) Пароль должен содержать как минимум один символ или цифру.
4) Пароль не должен представлять слово содержащееся в словаре.
Вообще при исходной регистрации пользователя в системе программа авторизации может просто сделать замечание, что пароль не безопасный, а может и запретить такой пароль сказав выбрать другой. Либо же предложить свой вариант пароля сгенерированный случайным образом
Некоторые системы заставляют пользователя менять пароли регулярно в этом есть плюс, поскольку общий уровень безопасности возрастает, но есть и минус поскольку пользователям становится сложно запоминать пароли и они начинают их записывать и оставлять возле компьютеров.
Самым крайним вариантом в плане сложности безопасности пароля является одноразовые пароли. В случае их использования даже если пользователь каким либо образом узнал чужой пароль он все равно не сможет залогинеться, поскольку этот пароль будет невалиден. Обычно это реализуется : пользователю дается блокнот с паролем. Каждый день в начале дня пользователь использует следующий пароль из этого блокнота. Причем в течении дня компьютер не выключается.
Более сложный вариант реализации это использование необратимой функции. В этом случае в начале месяца пользователь запоминает одно кодовое слово, которое будет являться его ключом к его паролю на месяц.
В зависимости от числа месяца необратимая функция будет несколько раз обрабатывать это слово и получая новый одноразовый пароль.
Система аунтификации оклик-отзыв.
Данным вариантом аунтификации подразумевается что для каждого пользователя храниться список вопросов и ответов. Например: как звали супругу от первого брака дедушки, как называлась собака и тд. Обычно таких вопросов около полусотни и каждый раз при входе он должен ответить на несколько случайных из них.
Аунтификация с использованием физического объекта.
Данный метод заключается в том, что пользователь имеет, что то что позволяет запустить систему и показать кем он является. Самым простым вариантом была установка специальных дверок, которые закрывались на обычный ключ и соответственно только пользователи имеющие ключ могли стартовать компьютер или подсоединить устройство для записи данных. Такой вариант позволял ограничить доступ к компьютеру, но был достаточно ненадежен поскольку физические замки легко могут быть открыты.
Позднее появилась система аунтификации с использованием смарт-карт, магнитных карт или специальных USB брелков. Которые поддерживали сложные алгоритмы шифрования, причем ключом известным только высшим сотрудникам, например банкам. При этом со смарт-картами могли применятся различные схемы аунтификации с использованием 512 разрядных ключей каждый из которых был индивидуален и хранился в электрически стираемых памяти смарт-карт. Обход такого ключа практически не возможен, для того чтобы его обойти потребуется вычислительная мощность супер кластеров.
Аунтификация с использованием физических параметров пользователя.
Каждй пользователь обладает уникальным индификатором, который постоянно находится у него с собой. Это его генетический код в соответствии с которым системы аунтификации данного класса делят на:
1) Система с дактилоскопической.
2) По сетчатке глаза
3) Антропометрическая.
4) По соответствию ДНК.
В первую очередь при аунтификации пользователь указывает в качестве того под кем зайти, затем в зависимости от выбранной системы пользователь предоставляет либо свою руку для детолоскопической экспертизы. Либо зрачок для сканирования в случае работы со сетчаткой. Либо заходит в специальный кабинет где проверяют его физиологический.
Метод аунтификации с использованием ДНК отличается самой большой длительностью .
Лекция№1. Атаки из нутрии сети.
Зарегистрировшись на компьютере сети злоумышленник может совершить любые действия в пределах разрешения используемой им учетной записью. Но сначала ему нужно каким то образом получить данные для авторизации, либо нанести им изначальный вред который выведет из строя безопасность сети.
Троянские кони.
Троянский конь является одним из наиболее простых и распространенных вариантов вредоносного ПО. Механизм его действия таков, что под видом безопасной программы запускается некоторое вредоносное программное обеспечение. Которое выполняет одну из следующих функций:
1) Шифрование пользовательских данных.
2) Передача этих данных туда где их сможет забрать злоумышленник.
3) Кража паролей и специальный файл и т.д.
По суте при использовании данной схемы взлом, как токовой становиться не нужен.
Фальшивая программа регистрации.
Данный метод представляет собой вариант атаки, когда при попытке пользователя авторизоваться в сети происходит появление программы запускающейся до фактической программой авторизации но выглядит абсолютно идентично. Пользователь вводит свой логин и пароль. После чего фальшивая программа авторизации либо сохраняет эту пару в одном из разделов диска, либо передает куда либо по сети. После чего запускалась настоящая программа авторизации, которая пускала пользователя в сеть, при этом сам пользователь не о чем не догадывался. Он думал что в первый паз неверно ввел логин и пароль. Для избежания такого варианта атаки при авторизации в серьезных программах используется связка conrl alt delit которую не возможно перехватить.
Логические бомбы.
В современных компаниях в связи с высокой мобильностью сотрудников появилась достаточно серьезная угроза изнутри сети, которая называется логическая бомба. Чаще всего она представляет некоторую программу, которая начинает действовать при возникновении либо не возникновения некоторого события. Для такой ситуации программист заранее запускает в сеть логическую бомбу которая способна работать не зависимо от системного администратора или программиста. В тот момент когда, например в течении трех месяцев фамилия программиста не появляется в платежных системах зарплат бомба «Взрывается». И например шифрует данные бухгалтерии, копирует в некоторое место доступное только программисту и т.п. Соответственно если предприятие хочет вернуть свои данные, то оно вынужденно нанять программиста в качестве независимого консультанта.
Бэкдоры или потайные двери.
Данных способ используется для создания дыр в системе сети еще на этапе ее организации и настройки либо создания ее программного обеспечения. Он может заключаться например в том, что администратор создает некоторого пользователя который может войти под любым паролем независимо от тех данных которые будут находится в файле пароля.
Для того чтобы не допустить установку потайных дверей системы компании обычно реализуют регулярную проверку написуемых программ и конфигураций сети, такая проверка чаще всего заключается в том что когда блок работы завершен программисты или системные программисты собираются вместе и каждый досконально объясняет другим что именно он сделал. Безопасность сети в этом случае значительно возрастает поскольку очень сложно что либо внедрить так чтобы другие разработчики этого не заметили.
Атака самой системы безопасности.
Обычный вариант проверить надежность безопасности сети заключается в приглашении особой команды экспертов которая называется командой тигров. Которая представляет собой высоко классифицированным специалистов. В том случае если компания не имеет финансовой возможности нанять подобную команду то в первую очередь следует проверить следующие возможности:
1)Запросить конкретные страницы из памяти, блоки жесткого диска или магнитной ленты, чтобы проверить что в них находиться поскольку многие системы не очищают соответствующие области после завершения работы, а значит. Обратившись туда можно найти массу полезной информации оставшиеся от предыдущего пользователя.
2)Попытайтесь обратиться к несуществующим вызовам или процедурам либо существующим но с неправильными параметрами. Многие системы в случаях подобных действиях обнаруживают не только дыры в безопасности но и возможности полного краша сети.
3)Попытаться пройти регистрацию с произвольными данными, а затем просто начать нажимать клавиши del break и т.д. Существует вероятность что процесс авторизации вызовет ошибку и запустит пользователю в сеть.
4) Попытаться модифифицировать сложные структуры находящиеся в памяти и отвечающее за работу с сетью. Зачастую изменение таких структур вызывает ошибки которые облегчают действия в сети.
5) Найти руководство от данного программного обеспечения взаимодействующего с сетью и найти фразу «не в коем случае не выполняйте действие»-обязательно попробуйте это действие в различных комбинациях.
6) Убедите системного администратора добавить для вас потайную дверь.
7) Попытайтесь найти подход к секретарям предприятия поскольку они зачастую знают очень много важной информации в том числе и о доступе в сеть.
Принципы проектирования систем безопасности.
Исходя из предыдущих пунктов нам очевидно что разработка хорошо защищенной сетевой системы представляет собой достаточно не тривиальную задачу.
Во-первых само устройство и функционирование системы не должно быть тайной, следует изначально предполагать что злоумышленники уже знают как устроена система защиты.
Во-вторых, по умолчанию доступ не должен предоставляться.
В-третьих, необходимо постоянно проверять текущее состояние прав доступа, то есть система не должна давать некоторые права доступа, а потом пускать по умолчанию, а при всех действиях должна проверять можно ли их выполнить или нет.
Лекция №2 Атака сети с наружи.
В большинстве случаев простейшим вариантом внедрения вируса является использование пипетки. Когда данной пипеткой добавляется вредоносное в некоторое полезное сообщение которое затем распространяется в сети интернет. Затем при запуске скачанной программы вирус разворачивается на машине занимая блоки в памяти и заражая все доступные файлы.
Вирусы компаньоны.
Данный класс вирусов запускается не параллельно, а вместо некоторого приложения выполняя свои вредоносные действия а затем запускает требуемое приложение.
Вирусы заражающие исполняемый файл.
Данный класс атак из вне сети приходит и заражает все исполняемые файлы на конкретной машине. После чего он влияет на выполнение сетевых процедур за счет чего распространяется дальше по сети заражая новые и новые машины.
Резидентные вирусы.
Данный класс вирусов постоянно находится в самой верхней либо в самой нижней части оперативной памяти в следствии чего он хорошо замаскирован. Уже от туда данные вирусы могут следить за векторами прерывания и соответственно наносить вред. Кроме того некоторые из резидентных вирусов способны отмечать те ячейки памяти где они находятся, отмечать как занятые системными данными в следствии чего устаревшими антивирусными программами их ячейки даже не проверялись.
Вирусы поражающие загрузочный сектор.
Данный класс вирусов ставит особую отметку в загрузочной области которая заставляет данный вирус загружаться в память каждый раз когда стартует операционная система.
Вирусы видоизменяющие виды прошивки.
Данный класс вирусов является одним из самых опасных поскольку он взаимодействует непосредственно с программным обеспечением. Подавляющим в большинстве случаев такой класс вирусов пишется на ассемблере поскольку для модификации прошивок на флешь памяти необходимо работать не посредственно в машинных кодах. Характерным примером является вариант когда злоумышленник предварительно узнаёт тип используемого аппаратного сетевого обеспечения предприятия, затем не имея возможности получить доступ администратора для изменения политики безопасности он просто создает модифицированную прошивку которую легальным либо не легальным способом заставляет залиться в соответствующие устройства, такая модифицированная прошивка предоставляет злоумышленнику сетевой пул который действует в обход любых настроек безопасности.
Макро вирусы.
В принципе безопасны для самой сети. Макросы пакетом Майкрософт ворд которые используются для оптимизации стандартов действий но распространяясь вместе с самим макросам в документе с помощью языка вижуал басик он может выполнять такие системные изменения на конкретной машине что на этой платформе в дальнейшем иной тип внешней атаки мб развёрнут.
Сетевые или интернет черви.
Сетевые черви являются вредоносными сетевыми программами. Червь состоит из двух частей загрузчика-головы и тела которое голова затягивает на заражаемую машину при этом именно тело выполняет все вредоносные функции самым вредоносным червём был червь мориса был выпущен в сеть нечайно он нанёс наибольшее количество фатальных вредоносных действий поскольку сетевая общественность была абсолютна не готова. Данный червь состоял всего лишь из 99 строк языка С использовал дыру защиты в системе Беркли Юникс червь был на столько совершенен что использовал целых три метода инфицирования. Взламывать пароли червь так же умел для чего мори использовал статью своего отца работавшего в соответствующем департаменте управления национальной безопасности США. Более того если червь обнаружил на заражаемой машине то он сворачивал свою деятельность.
Вирусы заражающие исполняемые коды программ.
Данный класс вирусов безопасен как для сети так и для машины обычного пользователя. Но в том случае если такой вирус попадает в сеть машин разработчиков то она автоматически ищет исходные коды программ которые внедряются затем данное программное обеспечение который даже не будет предполагать что при первом же запуске этого софта его машина будет заражена. В частности с помощью такого варианта атаки из вне способен нарушать работа способность.