
Локальные атаки на корпоративные сети
.doc1.2. Локальные атаки на корпоративные сети
Для определения наиболее вероятных (или наиболее часто реализуемых) атак на информационную безопасность необходимо установить, на каких, не подкрепленных реальными средствами теоретических принципах, построена модель безопасности. Например, если одним из ключевых положений является то, что к компьютеру сможет физически приблизится только уполномоченный человек, и при этом не установлено никаких систем ограничения физического доступа - значит, наиболее вероятны атаки именно на физическую безопасность.
1.2.1. Социальная инженерия. Атака под условным названием социальная инженерия относят к разряду локальных (хотя она может быть использована и удаленно), поскольку злоумышленнику все же необходим некий минимальный контакт с представителем атакуемой системы, а именно - пользователем.
Термином социальная инженерия обычно называют набор мероприятий по сбору сведений об информационной системе, напрямую не связанный с техническими подробностями реализации системы, а основанный на человеческом факторе. Наиболее простым, даже утрированным примером можно назвать случай, когда злоумышленник, представившись пользователю уполномоченным лицом (администратором сети или большим начальником), вынуждает пользователя сообщить свой пароль. Если это удается, злоумышленник получает возможность доступа к системе без особых знаний о принципах ее устройства и без применения специальных технических средств.
Общий смысл методов социальной инженерии основан на психологических методах с использованием таких качеств человека, как необоснованное доверие (к не идентифицированному надежно человеку), лень (перепроверить полученные данные), невнимательность (к явным признакам злого умысла) и прочих слабостей.
Без сомнения, все пользователи сети должны быть предупреждены о возможности применения к ним методов социальной инженерии, но это не всегда достаточно. В практике известно множество случаев, когда, только что прочитав инструкцию и подписав обязательство о неразглашении пароля с серьезными угрозами за нарушение, пользователь тем не менее в ответ на просьбу администратора зарегистрировать пароль, вместо того чтобы ввести его с клавиатуры, произносит его громко вслух в присутствии нескольких людей, некоторых из которых он видит впервые в жизни. Методы борьбы с этим могут быть разными, например материальное наказание за известный случай разглашения пароля (даже если это не повлекло серьезных последствий) с оповещением о данном эпизоде остальных пользователей.
Существует, тем не менее, целый ряд ситуаций, потенциально опасных для случаев применения таких методов. Например, следующая ситуация: пользователи сети географически распределены по разным территориальным участкам (разные здания в пределах города), а администрирование, в частности управление учетными записями пользователей, осуществляется централизованно. Пользователи периодически обращаются по телефону к администраторам с вопросами смены пароля (забыл, заблокировал и т. п.). Как поступать администратору, когда он не видит пользователя и не может однозначно идентифицировать его по голосу? Для решения этой проблемы администратору или специалисту по безопасности необходимо продумать варианты возможных угроз и методов противодействия им.
В данном случае угрозы могут быть следующими.
- Злоумышленник, представившись пользователем, сообщит, что забыл пароль и попросит установить временный пароль для входа в систему, с тем, чтобы после этого изменить временный пароль на новый.
- Если администратор использует для всех случаев один и тот же временный пароль (например, "123456"), злоумышленник может периодически перебирать учетные записи пользователей с этим паролем, в надежде поймать ситуацию, когда пользователю установлен временный пароль.
Хотя вторая ситуация менее вероятна, ее также не следует упускать из вида. Если злоумышленник, скажем, присутствовал при разговоре пользователя с администратором по телефону об установке временного пароля, причем после этого пользователь не изменил пароль сразу же.
Допустимыми мерами защиты в данном случае могут быть следующие:
- сохранять в учетной записи пользователя информации, которую сможет прочитать администратор, и которая известна только пользователю (номер домашнего телефона, девичья фамилия матери и т. п.) — перед сменой пароля администратор должен проверить знание пользователем данной информации;
- сверять с регистрационным журналом дату и время последнего использования учетной записи (входа в систему) — перед сменой пароля запросить у пользователя указанную дату и время;
- не использовать один и тот же временный пароль, слегка изменяя его для каждого раза (например, не "123456", a "kl23456hh");
- перезванивать пользователю на его рабочий телефон после его просьбы о необходимости смены пароля и продолжать дальнейший диалог, уже удостоверившись в номере телефона, а, следовательно, и месторасположении;
- не сообщать пользователю о временном пароле по тому же каналу связи, по которому пришел запрос на смену пароля, т. е., если пользователь обращается по телефону, то временный пароль направить ему по внутренней электронной почте;
- сообщать временный пароль не самому пользователю, а его непосредственному руководителю, с тем, чтобы руководитель передал временный пароль уполномоченному пользователю.
Комбинацией этих и других возможных мероприятий можно существенно снизить риск использования уязвимостей данной ситуации. Однако все эти меры носят лишь вероятностный характер защиты - при хорошем знании злоумышленником порядка дел в организации и наличии специальных технических средств все они могут быть преодолены.
Таким образом, угрозы использования социальной инженерии должны быть учтены наравне с остальными угрозами информационной безопасности, необходимо разрабатывать и внедрять соответствующие методы и средства противодействия, обучать персонал и т. д.
1.2.2. Закладки в АППАРАТНОМ обеспечении. Большинство информационных систем (возможно, за исключением учреждений с повышенным уровнем секретности) функционируют исходя из того, что аппаратное обеспечение не представляет собой угрозу. При этом не производится даже начальной, не говоря уже о регулярной, проверки на наличие аппаратных закладок. Напомним, что закладкой называется логическое, в данном случае аппаратное, устройство, которое выполняет некоторые недокументированные или недекларированные функции обычно в ущерб пользователю данной информационной системы. В рассматриваемой ситуации такая закладка может накапливать и передавать соответствующему субъекту информацию о системе, в которой функционирует: от статистических данных о работе системы до паролей пользователей или собственно данных системы.
Очевидно, что не все организации обладают необходимым штатом специалистов по электронике, способных выявить аппаратные закладки. Для обеспечения первоначальной уверенности в отсутствии таких закладок на новом приобретенном оборудовании придется полагаться на наличие сертификатов уполномоченных организаций по данному производителю или поставщику, по классу оборудования и по другим параметрам. Для обеспечения более высокого уровня доверия можно пригласить специалистов из соответствующих организаций для выборочной или полной проверки поставляемого оборудования.
Обеспечение регулярной проверки также возможно различными способами, в зависимости от требований к конкретному классу информации или средств работы с ней и от материальных и других ресурсов предприятия. Например, методы проверки могут быть следующими:
- периодическая проверка оборудования приглашенными специалистами уполномоченных организаций.
- фиксация серийных номеров комплектующих частей оборудования с регулярной проверкой соответствия реально установленных и зафиксированных номеров. Дополнительная работа заключается в перерегистрации данных при проведении ремонта, замены и т. п.
- автоматизированная инвентаризация элементов аппаратного обеспечения в информационном пространстве предприятия. Эту функцию обычно выполняет специальное программное обеспечение, поддерживающее базу данных по аппаратному обеспечению, используемому на предприятии.
- опечатывание разборных частей корпусов оборудования с регулярной проверкой целостности печатей. В этом случае основной акцент переносится на пользователя данной единицы оборудования, который должен регулярно (обычно ежедневно перед началом работы) проверять целостность печатей.
В более серьезных случаях возможны затраты на оборудование, выполняющее постоянный мониторинг, либо даже фильтрацию/подавление возможных сред передачи информации вовне организации. Традиционно к данным средам относят (по убыванию частоты использования): радиоэфир, сети проводной передачи данных, сети питания вычислительных машин, видимый/инфракрасный диапазон, звуковой фон.
Вообще в данном вопросе, как впрочем и в других, важным элементом обеспечения безопасности является обучение пользователей, которые должны сигнализировать в службу информационной безопасности о любом предопределенном или подозрительном событии, в том числе и произошедшем с аппаратным обеспечением. В качестве примера можно привести известную атаку на банкоматы (которые, кстати, являются специализированными компьютерами) для получения информации о ПИН (персональном идентификационном номере) для доступа к пластиковой карте. Если заранее не быть информированным о такой атаке, злоумышленник может достичь успеха. Атака заключалась в нанесении злоумышленником тонкого слоя пыли на клавиатуру. Когда пользователь набирал свой ПИН, на клавиатуре оставались следы, которые затем анализировались злоумышленником и могли привести к разгадыванию ПИНа пользователя. С некоторой натяжкой пыль можно рассматривать как дополнительную аппаратуру, размещенную злоумышленником.
Мы рассмотрели только атаки, направленные на получение доступа к информации (на конфиденциальность и целостность), однако говоря об атаках на аппаратное обеспечение нельзя забывать и об атаках на доступность, когда само оборудование может быть похищено или разрушено, прекратив, таким образом, функционирование всей системы или ее части
1.2.3. Преодоление ограничений доступа на уровне firmware. Теперь допустим, что надежность работы аппаратного обеспечения достигнута. Рассмотрим возможности встроенного программного обеспечения (англ. firmware}. Известно, что иногда в разграничении доступа к конкретному компьютеру система безопасности полагается на пароль на загрузку самого компьютера (иногда называемого паролем BIOS).
На наш взгляд, данное средство можно использовать только как дополнительное усиление в системе контроля доступа, так как данный метод обладает рядом недостатков.
- сброс пароля в случае выключения или разрядки батареи постоянного питания компьютера (батареи часов).
- хранение некоторыми производителями firmware пароля в виде преобразованного набора символов (контрольного значения), причем данное преобразование имеет небольшой фиксированный набор значений. В практике авторов известен случай, когда два различных слова, используемых в качестве пароля, имели одно и то же контрольное значение. Причем первое слово было мастер - паролем технической службы для доступа в настройки BIOS всех пользовательских компьютеров, а второе слово - пароль на загрузку компьютера одного из пользователей. Этот пользователь был приятно удивлен, обнаружив, что его парольное слово не только позволяет загружать все остальные пользовательские компьютеры, но и дает возможность управлять конфигурацией загрузки. Предприятие потратило существенное время на замену мастер - пароля на всех компьютерах пользователей.
- наличие у некоторых производителей недокументированного универсального пароля для входа в систему с целью отладки аппаратного обеспечения. Широкий резонанс получил случай с недокументированным паролем "AWARD_SW" в огромной серии BIOS для IBM PC AT фирмы Award Software, Inc.
Кроме того, при использовании BIOS-паролей следует различать пароль на загрузку самого компьютера и пароль на доступ к конфигурационным данным загрузки. Это должны быть различные пароли, для того чтобы рядовой пользователь данного компьютера (как, впрочем, и потенциальный злоумышленник, завладевший паролем пользователя) не смог изменить параметры загрузки в свою пользу, как, например, для атак, описанных в следующем разделе.
1.2.4. Получение доступа на этапе загрузки ОС. При нормально функционирующем аппаратном обеспечении в процессе загрузки компьютера наступает момент, когда firmware передает управление компьютером операционной системе. Однако при соответствующей настройке последовательности загрузки на многих ЭВМ возможна передача первоначального обращения не к стационарному (жесткий диск, сетевая плата), а к внешнему носителю (дискете, CD-ROM диску). Если в этот момент за рабочим местом пользователя находится злоумышленник, он может инициировать загрузку с внешнего носителя операционной системы, в которой он обладает правами, достаточными для того, чтобы получить доступ к информации (в том числе и системной) на жестком диске компьютера пользователя. Проведя необходимые изменения (например, заменив или скорректировав базу данных по счетам пользователей данного компьютера или установив программную закладку - троянскую программу), он сможет при следующей загрузке компьютера иметь полные права на данной рабочей станции (или сервере, если он находился за консолью сервера).
Таким образом, службе безопасности следует рассмотреть вопрос о целесообразности использования возможности загрузки операционной системы с внешнего носителя и, при отрицательном решении, изменить конфигурацию компьютера соответствующим образом.
Вообще говоря, вопрос об использовании устройств считывания информации с внешних носителей (а также с неиспользуемых физических портов компьютера) ставится несколько шире, чем возможность загрузки операционной системы. Перечисленные источники получения информации являются широко известными способами перенесения на компьютер (а также копирования с него) информации, полностью находящимися в распоряжении пользователя, при этом их затруднительно контролировать.
В настоящее время считается хорошей практикой отключение или даже физическое удаление возможности считывания с внешнего носителя у пользователя. При этом имеет смысл только общее отключение, так как если оставлять такую возможность у одного - двух пользователей на подразделение предприятия (отдел, департамент и т. п.), то рано или поздно эти уполномоченные пользователи будут переписывать информацию для всех остальных, практически не контролируя ее. В таком случае имеет смысл создания отдельной службы информационного шлюза для внешних носителей - одного, двух специалистов, размешенных поблизости от входа на предприятие. При этом все сотрудники и посетители должны быть осведомлены о наличии такой службы, для того чтобы все внешние носители с информацией передавать в указанную службу. Там информация должна проверяться по ряду параметров (например, на отсутствие вирусов для входящих или на ненарушение конфиденциальности исходящих), после чего отправляться адресату - например, по электронной почте пользователю предприятия - для входящих, на внешний носитель - для исходящих. Естественно, что отключение локальных съемных устройств ввода/вывода имеет смысл только при наличии компьютерной сети.
1.2.5. Атаки на средства аутентификации. Управление передано операционной системе. Своевременным требованием к возможности продолжения пользователем работы является его идентификация и аутентификация, то есть, сотрудник должен представиться системе и подтвердить, что действительно тот, кем представился. Обычно не бывает идентификации без аутентификации, поэтому далее будем говорить только о последней процедуре. Ряд вариантов аутентификации может быть отнесен на более ранний этап загрузки компьютера, до активации операционной системы. В разделе они приведены для единообразия классификации.
Обычно аутентификация основывается на одном из следующих параметров или их комбинации:
- что-то, что пользователь знает (пароль);
- что-то, что пользователь имеет (токен);
- что-то, чем пользователь является (биометрические параметры).
Самым распространенным является в настоящее время первый вариант, достаточно надежным считается комбинация первого со вторым (предъявление токена и ввод пароля), возможно, с развитием технологий в конечном итоге использоваться будет третий, как наиболее удобный для пользователя.
Рассмотрим их от более сложного и менее распространенного к более простому и чаще используемому.
1.2.5.1. Биометрические средства аутентификации. Говоря об этом классе средств, необходимо учитывать их точность работы и анализировать в комплексе со следующими характеристиками.
- уровень ошибочного отказа — процент случаев, когда корректный предъявленный аутентификатор отвергнут из-за особенностей процесса обработки.
- уровень ошибочного подтверждения — процент случаев, когда некорректно предъявленный аутентификатор принят из-за особенностей процесса обработки.
- скорость обработки аутентификатора — анализ считанного изображения может занять долгое время на низкоскоростной технике.
- устойчивость к подмене. Из видеофильмов (надеемся, никому из читателей не пришлось столкнуться с этим на практике) известны случаи с отрезанием пальцев и других частей тела авторизованных пользователей злоумышленниками для предъявления их аутентифицирующим устройствам. Кроме того, для отпечатка пальца, например, может быть создана резиновая копия.
- требования к хранению данных — хранение аутентификационных данных в виде многопараметрического вектора или подробного изображения может потребовать значительных ресурсов.
- прочие условия. Использование многими пользователями одного устройства с прикосновением к нему может быть неприемлемо для людей с иными культурными традициями или с физиологическими/психическими отклонениями.
Наиболее известными методами биометрической аутентификации являются: отпечаток пальца или ладони, геометрия ладони (длина, ширина, вес), параметры голоса, анализ сетчатки или радужной оболочки глаза, динамика подписи, геометрия и рисунок теплового излучения лица.
1.2.5.2. Токены. Токен (англ. token) — это устройство, хранящее некий уникальный параметр, на основе которого выдается корректный ответ на запрос системы об аутентификации.
Различают следующие варианты использования токена.
- на запрос системы токен предъявляет ей хранимое секретное значение. Это не самый надежный случай, так как, перехватив это значение один раз, злоумышленник может имитировать ответ токена.
- токен и система имеют общую, синхронизированную систему генерации одноразовых паролей. На запрос системы токен выдает пароль, действительный для данного промежутка времени. Синхронизированная система генерирует в это время свой вариант пароля, который и сравнивает с полученным.
- токен зарегистрирован в системе, и система знает его секретное значение (либо открытый ключ для варианта асимметричной криптографии). Получив в запросе некую случайную величину, сгенерированную системой для данного сеанса аутентификации, токен преобразует ее, используя свой секретный параметр. Таким образом, с одной стороны, информация, предоставляемая для аутентификации (как запрос, так и ответ), каждый раз различна и ее перехват ничего не дает злоумышленнику. С другой стороны, система, зная случайное значение и секретный параметр токена, генерирует свой вариант ожидаемого ответа токена и на основе этого сравнения принимает решение об авторизации. По сравнению с предыдущим методом данный алгоритм стоек к рассинхронизации системы и токена. При случайных или умышленных попытках некорректной авторизации либо даже простейшем сбое питания в методе с синхронной системой счетчики одноразовых паролей могут рассинхронизироваться. Это потребует вмешательства в работу системы специалистов с дополнительными полномочиями.
Варианты применения токена совместно с паролем или ПИНом пользователя следующие:
- ПИН служит паролем доступа к самому токену: без введения ПИН токен не действует;
- токен генерирует аутентификационный ответ на основе своего секретного параметра и ПИН пользователя, т. е. корректность и секретного параметра и ПИНа анализируются системой.
- ПИН пользователя совместно с параметром токена и случайной величиной системы, или с синхронизированным параметром служат основой для выработки одноразового пароля, который затем сообщается пользователю. Пользователь далее работает с этим паролем, как с обычным, но только в ограниченный промежуток времени.
Надежность подобных систем зависит от реализации работы токена и системы. Например, если между системой и устройством считывания данных, подготовленных токеном, может размещаться средство перехвата информации, и при этом срок жизни пароля из ответа токена достаточно долгий, то, естественно, он может быть использован злоумышленником.
1.2.5.3. Пароли. Это наиболее распространенный в данное время способ аутентификации, когда система приглашает пользователя-человека ввести известную только данному пользователю (и системе) последовательность символов.
Возможные атаки в данном случае основываются на уязвимости:
- способа доставки пароля от пользователя к системе;
- способа хранения пароля в системе;
- системной политики работы с паролем;
- самого пароля вследствие его некорректного выбора пользователем.
Способы доставки пароля от пользователя до аутентифицируюшей системы определяются протоколами доставки. На первый взгляд в разговоре о локальных атаках не имеет смысла говорить о способах доставки пароля до системы, однако на самом деле это зависит от способа аутентификации пользователя в системе. Если аутентификация пользователя происходит на той же системе, с консоли которой он работает, то, действительно, в данном случае рассмотрение способов доставки можно опустить. Если же перед работой на локальной станции пользователь должен быть аутентифицирован на отдельном сервере, то процесс доставки пароля до сервера необходимо также учитывать.
Единственное, что можно добавить к рекомендациям по усилению безопасности способа доставки паролей - это своевременно отслеживать появления обновлений и заплаток. Так, после снятия в начале 2000 года правительством США ограничений на экспорт сильных криптографических средств, стало возможным использовать протокол безопасности SSL с ключом длиной 128 бит вместо 40-битного, который был до этого. Снятие такого ограничения, возможно, означает, что соответствующие органы в США теперь обладают ресурсами, позволяющими взламывать 128-битные ключи в этой криптосистеме, но тем не менее при прочих равных условиях лучше использовать более сильные ключи.
Способы хранения паролей в системе зависят от самой системы и обычно не могут быть изменены, например, усилены с точки зрения безопасности. Тем не менее, в ряде случаев, например, для Unix-подобных операционных систем, возможны дополнительные мероприятия по усилению защиты файла паролей (изменение прав доступа, shadowing). Для других систем, например, Windows NT, сам способ хранения паролей не может быть усилен на месте использования (только производителем с помощью соответствующих заплат). Однако необходимо учитывать дополнительные уязвимости, связанные с файлом паролей, такие, как возможность его сохранения в альтернативном месте на случай аварийного восстановления. Например, если альтернативное место хранения не обеспечивает необходимого уровня защиты, файл паролей может быть скопирован злоумышленником, и далее подвергнут обработке на предмет извлечения паролей пользователей.
В любом случае необходимо ознакомится с документацией системы, посвященной вопросам хранения паролей, а также обязательно изучить накопленный опыт по вопросам несанкционированного извлечения паролей в данной системе.
Уязвимость системной политики паролей зависит от настройки, установленной администратором. Если политика безопасности допускает неограниченное число попыток ввода некорректного пароля без блокировки имени регистрации, если нет задержки между попытками ввода, если возможен пароль размером менее 8 - 10 символов или вообще пустой пароль, то пароль пользователя не истекает никогда, не поддерживается история паролей - все это несомненные возможности для злоумышленника. Для снижения вероятности реализации такой атаки необходимо установить блокировку счета пользователя (хотя бы временную) после 3 - 5 ошибок при вводе пароля, либо после ввода неверного пароля установить запаздывание 5 - 7 секунд; запретить вводить пароли маленького размера; установить приемлемое для пользователей время истечения пароля (в среднем 1 месяц); поддерживать историю паролей, т. е. запрещать пользователю использовать свои старые пароли. Продвинутые системы могут производить анализ паролей пользователей при вводе и отбраковывать простые, легко разгадываемые пароли.
Если система ведет регистрационный журнал ввода паролей пользователями, можно использовать дополнительные возможности - расследовать часто повторяющиеся случаи ввода неверного пароля пользователем, блокировать счет, если пользователь не входил в систему более 2 недель - месяца и пр.
Отдельный вопрос, который должен быть рассмотрен в данном разделе, это имитация системного приглашения к вводу пароля со стороны посторонней программы (программной закладки). Идея такой атаки состоит в том, чтобы перехватить запрос пользователя на доступ к системе. В момент начала процесса авторизации запускается альтернативная программа, созданная злоумышленником. В тот момент, когда пользователь думает, что вводит пароль в соответствующее окно запроса системы, информация на самом деле передается в окно программной закладки. После этого альтернативная программа либо выдает сообщение об ошибке пароля и передает управление настоящей системе, либо, если позволяют технические возможности, прозрачно для пользователя эмулирует ввод пароля в адрес настоящей системы. Если в системе не предусмотрены дополнительные защитные механизмы (генерирование прерывания комбинацией клавиш <Ctrl>+<Alt>+<Del> в Windows NT), то защита от таких атак - обучение пользователей, которые должны внимательно следить за поведением системы при вводе пароля. Изменение надписи приглашения к вводу, цвета заставки, отклонение от обычной последовательности действий или реакций - все это должно вызывать подозрение.
Атака на слабость паролей — это уже притча во языцех. Известно, что примитивно выбранный пароль можно разгадать даже без использования технических средств, более сложные - с использованием известных программ - взломщиков паролей. Конечно, речь должна идти в первую очередь об обучении и инструктировании пользователей. Если на предприятии не используется практика, когда хорошие пароли генерируются для пользователей программным образом, то целесообразно придерживаться следующих советов: