Емельянова Н.З., Партыка Т.Л., Попов И.И. - Защита информации в персональном компьютере (Профессиональное образование) - 2009
.pdfПрограммы-шутки (Jokes). Данные программы изменяют или прерывают работу компьютера способом, который их создатель счел смешным или, наоборот, пугающим. Они часто предупреж дают пользователя о несуществующей опасности, например, вы водят сообщения о форматировании диска (хотя никакого фор матирования на самом деле не происходит), обнаруживают виру сы в незараженных файлах и т. д.
Мистификации. Мистификацией называется сообщение, рас пространяющееся среди пользователей Internet. Обычно оно от правляется по электронной почте и иногда с помощью средств коммуникации, таких как ICQ или Skype. Сообщение часто со держит в себе шутку или городскую легенду.
Вирусные мистификации стимулируют страх, неуверенность и мнительность у получателей, побуждая их верить в то, что «не победимый» вирус удаляет их файлы и крадет пароли, а также производит другие крайне нежелательные действия против их воли.
Иногда мистификации вызывают эмоциональное замеша тельство. Обычно мистификация содержит просьбу передать со общение, содержащее мистификацию, всем знакомым. Это уве личивает жизненный цикл мистификации. Существуют мисти фикации, которые передаются через мобильные телефоны, просьбы о помощи, просьбы помочь деньгами и т. д. В общем случае почти невозможно понять мотивацию создателя такой мистификации.
В принципе, если сообщение содержит просьбу отправить текст дальше, это сообщение с огромной вероятностью является мистификацией. Существует большое количество Web-сайтов, которые специализируются на мистификациях. Они помогают определить, является ли сообщение мистификацией. Перед от правкой такого сообщения далее попробуйте найти в Internet ин формацию о нем.
Фишинг. Термин «фишинг» обозначает преступную деятель ность, использующую методы социальной инженерии (манипу лирования пользователем, направленное на получение конфи денциальных данных). Целью фишинга является доступ к таким данным, как номера банковских счетов, PIN-коды и т. п.
Попытка получения информации обычно замаскирована в виде сообщения от доверенного лица или бизнес-структуры, на пример финансовой или страховой компании. Сообщение вы глядит вполне благонадежным и содержит графику и текст, ко
торый может быть получен от оригинального источника. Это де лает его особенно впечатляющим. Предлагается предоставить по некоторым причинам (проверка данных, финансовые операции) какую-либо личную информацию, например номера банковских счетов, имя пользователя, пароль и т. д. Если данные предостав ляются, они крадутся и используются в преступных целях.
Следует обратить внимание на то, что банки, страховые ком пании и другие заслуживающие уважения организации никогда не запрашивают имена пользователей и пароли с помощью не ожиданных сообщений электронной почты.
Факторы уязвимости систем для вредоносных программ
Атакуемой «системой» могут быть различные объекты — от дельное приложение, ОС в целом, отдельный компьютер или сеть. Могут быть выделены следующие факторы уязвимости:
•гомогенность (однородность) систем;
•дефекты в системах;
•неподтвержденный запуск;
•сверхпривилегированные пользователи;
•сверхпривилегированный программный код.
Гомогенность (монокультурность) — например, когда все компьютеры в сети используют одну и ту же ОС или одни и те же наборы приложений. В частности, ОС MS Windows занимает такую большую долю рынка, что, ориентируясь на нее, зло умышленник может подорвать большое количество систем. По этому одним из очевидных заслонов к беспрепятственному рас пространения ЗПС является изменение платформы — переход на альтернативные средства (ОС Linux или хотя бы браузеры Opera или FireFox).
Дефекты — многие системы содержат ошибки, которыми могут воспользоваться вредоносные программы. Типичным при мером является буферная недостаточность, когда небольшой объем буфера в ОП приводит к необходимости многократного перезаписывания данных, чем и может воспользоваться ЗПС, чтобы заставить систему выполнить свой код.
Запуск без подтверждения — код с дискеты, CD-ROM или USB-устройства может быть запущен без подтверждения пользо вателем. Первоначально ПК всегда загружались с дискет и до не
давнего времени НГМД был первичным загрузочным устройст вом по умолчанию, поэтому зараженная дискета, оставленная в НГМД, имеет все шансы быть запущенной, и то же самое можно сказать о CD, поскольку BIOS довольно редко запрашивает под тверждение пользователем загрузки со сменных носителей.
Сверхпривилегии пользователей. В некоторых системах обыч ные пользователи имеют привилегии администратора в том смыс ле, что они могут изменять внутреннюю структуру этой системы. Это, конечно, определяется конфигурацией, однако в системах MS Windows конфигурация по умолчанию отличается тем, что здесь пользователь имеет сверхпривилегии. Это связано с приня тым в Microsoft решением о приоритете совместимости с более старыми системами над безопасностью новых систем, поскольку типичные приложения были разработаны ранее в расчете на рав ные права всех пользователей. Эта точка зрения была пересмотре на при разработке MS Windows Vista, и в результате многие суще ствующие приложения, которые требуют более высоких привиле гией, могут иметь проблемы совместимости с Vista. Механизм User Account Control, предусмотренный в этой ОС, пытается ис править ситуацию, создавая виртуальную среду для запуска при вилегированных кодов, присущих старым приложениям.
Сверхпривилегированный код. Вредоносная программа, запу щенная как привилегированный код, может воспользоваться этим для подрыва системы. Почти все сегодняшние популярные ОС, а также многие приложения разрешают программам слиш ком много привилегий, в том смысле что, когда пользователь за пускает код, система приписывает ему все права этого пользова теля. Это делает пользователей уязвимыми к вредоносным про граммам в виде вложений в электронную почту, которые могут быть или не быть скрытыми.
Учитывая такое положение дел, пользователям рекомендует ся открывать только почтовые вложения из источников, кото рым они доверяют, и избегать кода, полученного от ненадежных источников. Кроме того, общим источником опасности для опе рационных систем является то, что драйверы внешних устройств обычно требуют повышенных привилегий, причем они постав ляются все возрастающим количеством производителей аппарат ного обеспечения, некоторые из которых могут оказаться нена дежными.
Инъекция SQL {англ. — SQL injection) — один из распростра ненных способов взлома сайтов и программ, работающих с база
ми данных, основанный на внедрении в запрос произвольного SQL-кода. Инъекция SQL, в зависимости от типа используемой СУБД и условий инъекции, может дать возможность атакующе му выполнить произвольный запрос к базе данных (например, прочитать содержимое любых таблиц, удалить, изменить или до бавить данные), получить возможность чтения и/или записи ло кальных файлов и выполнения произвольных команд на атакуе мом сервере. Атака типа инъекции SQL может быть возможна из-за некорректной обработки входящих данных, используемых в SQL-запросах.
Эксплойт {англ. exploit — использовать) — фрагмент про граммного кода, который, используя возможности, предостав ляемые ошибкой, отказом или уязвимостью, ведет к повыше нию привилегий или отказу в обслуживании компьютерной сис темы.
Существует несколько методов классификации уязвимостей. Наиболее общий — это то, каким образом эксплойт контактиру ет с уязвимым программным обеспечением. «Удаленный экс плойт» работает через сеть и использует уязвимость в защите без какого-либо предварительного доступа к уязвимой системе. «Ло кальный эксплойт» требует предварительный доступ к уязвимой системе и обычно повышает привилегии для лица, запускающе го эксплойт над уровнем, который был предоставлен системным администратором. Эксплойт «подставного сервера» подвергает риску машину конечного пользователя в том случае, когда к нему был совершен доступ с помощью уязвимого клиентского приложения. Эксплойт против клиентского приложения может также требовать некоторого взаимодействия с пользователем уязвимого приложения и может быть использован в связке с ме тодами социального инжиниринга, т. е. несанкционированного доступа к информации без использования технических средств.
Эксплойты могут также быть классифицированы по типу уяз вимости, которую они атакуют (переполнение буфера, SQL-инъ екция и пр.).
Другая классификация — по действию, предпринятому про тив уязвимой системы: несанкционированный доступ к данным (копирование, удаление или модификация), выполнение кода, отказ в обслуживании.
Эксплойты могут быть разработаны для непосредственного обеспечения высокопривилегированного доступа к компьютер ной системе. Однако возможно использование нескольких экс
плойтов — первого для получения удаленного доступа с невы соким уровнем и повторно, для локального повышения приви легий до тех пор, пока не будет получен высокий уровень доступа.
Проникновение шпионских программ
Прикрепление программы-шпиона к полезному приложению, которое загружает пользователь. Она устанавливается вместе с этим приложением, и ее действия остаются скрытыми. Шпион ская программа может быть отдельным исполняемым файлом или входить в состав динамических библиотек DLL, к которым обра щается основное приложение. Активируясь, программа-шпион самостоятельно настраивается таким образом, чтобы затем рабо тать без ведома пользователя.
Любопытно, что в лицензионном соглашении конечного пользователя часто и не скрывается наличие программ-шпио нов. Это соглашение обычно бывает длинным и утомительным для чтения, преднамеренно составляется так, чтобы в нем трудно было разобраться. Сообщается, например, что лицензи онное соглашение по подозрительному продукту Сіагіа на 43 % длиннее, чем конституция США. Такой документ может вклю чать в себя неявное упоминание о программах-шпионах или ссылаться на другое соглашение, которое содержит описание таких программ. Некоторые компании, использующие подоб ные средства, вообще не утруждаются упомянуть об этом в своих соглашениях.
Предложение программой-шпионом услуг разного рода, на пример сохранения и восстановления паролей, учетных запи сей, адресов и номеров телефонов. Она может пообещать рас ширить возможности почтовых программ оформления сообще ний или предложить новую форму панели инструментов. А вдобавок шпионская утилита установит дополнительное про граммное обеспечение, которое с полной свободой сможет ра ботать в вашей системе. Как и при первом способе, пользова тель получает доступ к приложению, которое способно пред принимать действия, остающиеся за пределами его понимания. В ряде случаев, но далеко не всегда, это отражается в лицензи онном соглашении, которое пользователь принимает при ин сталляции.
Выполнение Java или ActiveX. Использование Web-приложе ний на базе Java или ActiveX — также распространенный способ транспортировки вредоносных программ. После активации ап плет Java или код ActiveX может загрузить и вызвать програм- му-шпион. Предыдущие способы позволяют достичь того же ре зультата, но в данном случае все действия совершаются полно стью без ведома пользователя.
Предустановка. При продаже компьютера продавцом на нем устанавливается некоторый набор программ. Например, в систе мах Windows можно обнаружить многочисленные файлы cookies, установленные как часть Internet Explorer, которые могут ис пользоваться программами слежения. Поэтому рекомендуется «вычистить» новую машину программами обнаружения/устране ния закладок.
2.3. Средства борьбы с угрозами. Управление доступом
В качестве средств управления доступом к ресурсам СОИ следует выделить и д е н т и ф и к а ц и ю и а у т е н т и ф и к а ц и ю при входе в систему и р а з г р а н и ч е н и е д о с т у п а при нахо ждении внутри системы.
Идентификация и аутентификация
Идентификация позволяет субъекту (пользователю или про цессу, действующему от имени определенного пользователя) на звать себя (сообщить свое имя). Посредством аутентификации вторая сторона убеждается, что субъект действительно тот, за кого он себя выдает. В качестве синонима слова «аутентифика ция» иногда используют сочетание «проверка подлинности».
Субъект может подтвердить свою подлинность, если предъя вит по крайней мере одну из следующих и д е н т и ф и к а ц и о н н ых с у щ н о с т е й :
•то, что он знает (пароль, личный идентификационный но мер, криптографический ключ и т. п.);
•то, чем он владеет (личную карточку или иное устройство аналогичного назначения);
•то, что есть атрибут его самого, т. е. биометрические харак теристики (голос, отпечатки пальцев и т. п.).
К сожалению, надежная идентификация и аутентификация затруднена по ряду принципиальных причин:
•компьютерная система основывается на информации в том виде, как она была получена; строго говоря, источник ин формации остается неизвестным. Например, злоумышлен ник мог воспроизвести ранее перехваченные данные. Сле довательно, необходимо принять меры для безопасного ввода и передачи идентификационной и аутентификацион ной информации; в сетевой среде это сопряжено с особы ми трудностями;
•почти все аутентификационные сущности можно узнать, украсть или подделать;
•противоречие между надежностью аутентификации, с од ной стороны, и удобствами пользователя и системного ад министратора, — с другой. Так, из соображений безопасно сти необходимо с определенной частотой просить пользова теля повторно вводить аутентификационную информацию (ведь на его место мог сесть другой человек), а это не толь ко хлопотно, но и повышает вероятность подглядывания за вводом;
•чем надежнее средство защиты, тем оно дороже, и особен но дороги средства измерения биометрических характери стик.
Пароли являются наиболее распространенным средством ау тентификации. Система сравнивает введенный и ранее заданный для данного пользователя пароль; в случае совпадения подлин ность пользователя считается доказанной. Существующие па рольные методы проверки подлинности пользователей при входе
вВС можно разделить на две группы:
•методы проверки подлинности на основе простого пароля;
•методы проверки подлинности на основе динамически из меняющегося пароля.
Пароль подтверждения подлинности пользователя при ис пользовании простого пароля не изменяется от сеанса к сеансу в течение установленного администратором службы безопасности времени его существования (действительности).
При использовании динамически изменяющегося пароля па роль пользователя для каждого нового сеанса работы или нового периода действия одного пароля изменяется по правилам, зави сящим от используемого метода.
Процедура опознавания с использованием простого пароля может быть представлена в виде следующей последовательности действий (рис. 2.3):
•пользователь посылает запрос на доступ к компьютерной системе и вводит свой идентификатор;
•система запрашивает пароль;
•пользователь вводит пароль;
•система сравнивает полученный пароль с паролем пользо вателя, хранящимся в базе эталонных данных системы за-
Рис. 2.3. Блок-схема общего алгоритма идентификации и установления подлинности пользователя
щиты, и разрешает доступ, если пароли совпадают; в про тивном случае пользователь к ресурсам компьютерной сис темы не допускается.
Поскольку пользователь может допустить ошибку при вводе пароля, то системой должно быть предусмотрено допустимое ко личество повторений для ввода пароля.
Главное достоинство парольной аутентификации — простота
ипривычность. Пароли давно встроены в операционные системы
ииные сервисы. При правильном использовании пароли могут обеспечить приемлемый для многих организаций уровень безо пасности. Тем не менее по совокупности характеристик их следу ет признать самым слабым средством проверки подлинности.
Надежность паролей основывается на способности помнить их и хранить в тайне. Чтобы пароль был запоминающимся, его зачастую делают простым (имя подруги, название спортивной команды и т. п.). Однако простой пароль нетрудно угадать, осо бенно если знать пристрастия данного пользователя. Известна классическая история про советского разведчика Рихарда Зорге, объект внимания которого через каждое слово говорил «карамба». Оказалось, что этим же словом служил ключ к сверхсекрет ному сейфу.
Иногда пароли с самого начала не являются тайной, так как имеют стандартные значения, указанные в документации, и да леко не всегда после установки системы производится их смена. Правда, это можно считать аспектом простоты использования программного продукта.
Пароли нередко сообщают коллегам, чтобы те смогли вы полнить какие-либо нестандартные действия (например, подме нить на некоторое время владельца пароля). Теоретически в по добных случаях более правильно задействовать средства управле ния доступом, но на практике так никто не поступает; а тайна, которую знают двое, это уже не тайна.
Пароль можно угадать методом грубой силы, используя, быт,ь может, словарь. Если файл паролей зашифрован, но досту пен на чтение, его можно перекачать к себе на компьютер и по пытаться подобрать пароль, запрограммировав полный перебор (алгоритм шифрования предполагается известным).
Пароли уязвимы по отношению к электронному перехвату. Это наиболее принципиальный недостаток, который нельзя компенсировать улучшением администрирования или обучением пользователей. Практически единственный выход — использова
ние криптографии для шифрования паролей перед передачей по линиям связи или для того, чтобы вообще их не передавать, как это делается в сервере аутентификации Kerberos.
Можно выделить следующие основные способы повышения стойкости системы защиты на этапе аутентификации:
•наложение технических ограничений (пароль должен быть не слишком коротким, он должен содержать буквы, циф ры, знаки пунктуации и т. п.);
•повышение степени нетривиальное™ пароля;
•увеличение времени задержки между разрешенными попытками повторного ввода неправильно введенного пароля;
•ограничение числа неудачных попыток входа в систему (это затруднит применение метода грубой силы);
•повышение ограничений на минимальное и максимальное время действия пароля.
•использование программных генераторов паролей (такая программа, основываясь на несложных правилах, может порождать только благозвучные и, следовательно, запоми нающиеся пароли).
•обучение пользователей правилам парольной защиты;
•ограничение доступа к файлу паролей.
Перечисленные меры целесообразно применять всегда, даже если наряду с паролями используются другие методы аутентифи кации, основанные, например, на применении т о к е н о в .
Токен — это предмет (устройство), владение которым под тверждает подлинность пользователя. Различают токены с памя тью (пассивные, которые только хранят, но не обрабатывают ин формацию) и интеллектуальные токены (активные).
Самой распространенной разновидностью токенов с памя тью являются карточки с магнитной полосой. Для использова ния подобных токенов необходимо устройство чтения, снабжен ное также клавиатурой и процессором. Обычно пользователь на бирает на этой клавиатуре свой личный идентификационный номер, после чего процессор проверяет его совпадение с тем, что записано на карточке, а также подлинность самой карточки. Таким образом, здесь фактически применяется комбинация двух способов защиты, что существенно затрудняет действия зло умышленника — недостаточно только украсть или подделать карточку, нужно узнать еще и личный номер «жертвы». Иногда (обычно для физического контроля доступа) карточки применя