Информационная безопасность в организациях. Учебное пособие-1
.pdfнием, группируются в технологические. Они связаны с аппаратным обеспечением, программным обеспечением, их задачами, способами проектирования и разработки, дальнейшей сборки и эксплуатации.
Причины нарушения ИБ, обусловленные человеческим фактором, называют организационными. Онисвязаны с непредсказуемостью деятельности персонала, эксплуатирующего и обслуживающего информационную систему.
Кроме того, причины нарушения ИБ можно разделить на внутренние и внешние. Внутренние причины базируются на аспектахфункционированиясамойсистемы,авнешние—навоз- действиях на систему извне. Использование «закладок» можно считать примером сочетания обоих факторов.
Технологические причины нарушения ИБ
Аппаратное обеспечение
Аппаратное обеспечение (также называемое оборудованием) являетсяфундаментомлюбойинформационнойсистемы.Именно на ресурсах аппаратного обеспечения запускаются системные и прикладные программы.
Развитие оборудования информационных систем началось с 1950-х годов и непрерывно продолжается. При этом информационные технологии, в частности аппаратное обеспечение, изначально имели тенденцию на ускоренное развитие, которая актуальна и в данный момент, хотя причины изменились.
В1950–1960-хгодахинформационныетехнологиибылипри- оритетным направлением исследований и производства ввиду их востребованности военно-промышленным комплексом мировых держав. Так как совершенство и разрушающая сила оружия являлись основой обороноспособности и влияния крупного государства, то требовалось освоение технологий быстрыми темпами. Ученых и разработчиков подгоняли военные — нужно было быстро проводить большие объемы вычислений, хранить и обрабатывать постоянно увеличивающиеся массивы данных.
Начиная с 1970-х годов тенденции развития оборудования начали смещаться в коммерческую сторону, так как информаци-
11
онные технологии стали все шире применяться в мирных целях. В1980-хгодахкомпьютерыпоявляютсянетольковбольшихком- паниях, а в следующем десятилетии начинает распространяться переносная электроника. При этом постоянно усиливающаяся конкуренция на рынке электроники заставляет разработчиков и производителей торопиться со сроками выхода на рынок новых устройств, так как каждое поколение аппаратных устройств весьма быстро устаревает.
Возникает ситуация, когда моральное устаревание оборудования происходит значительно раньше физического, при котором начинают проявляться различного рода неисправности. При этом производители устройств, являясь участниками конкурентного рынка, постоянно вынуждены балансировать между надежностьюустройстваиегоценойдляконечногопотребителя,поэтому, учитывая сокращение периода эксплуатации устройств из-за их быстрого морального устаревания, у производителей возникает соблазн делать устройства менее долговечными для экономии на материалах, технологиях и т. д.
Отметим, что задача уменьшения сроков разработки новых поколений устройств ставится одновременно с постоянным и весьма значительным усложнением технологий, которые используются в этих устройствах. Одним из необходимых условий для разработки и производства оборудования становится всеобъемлющее тестирование устройств, причем на разных этапах производства.
Подробному тестированию подвергаются первые образцы новых устройств. При этом, учитывая ограничение сроков разработки (одним из этапов которой является тестирование) коммерческихпродуктов,найтивсенедостаткисложнейшегоустройства не представляется возможным, так как широкий функционал современного аппаратного обеспечения, а также разнообразие условий его применения не дают надежды на апробацию всех возможных режимов и ситуаций.
Также надо отметить, что не существует технологий для производства совершенно одинаковых, ничем друг от друга не отличающихся аппаратных компонентов. В любом случае два устройства, даже произведенные на конвейере одно за другим (и имеющие серийные номера, отличающиеся на единицу), будут друг от
12
друга отличаться. Поэтому приходится подвергать продукцию тестированию (выборочному или исчерпывающему) в процессе производства.
Надежность производимого оборудования зависит и от вида производства. Принято выделять штучное, мелкосерийное и серийноепроизводство.Наиболееуязвимомелкосерийноепроизводство — контроль за каждым изделием не такой тщательный, а внедрение линий по автоматическому тестированию продукции экономически неоправданно.
Оборудование по сути является инфраструктурой, поверх которой запускается программное обеспечение. Соответственно, все особенности и проблемы инфраструктуры неизбежно будут влиять на программно-аппаратный комплекс в целом.
Программное обеспечение
Программное обеспечение делится на два основных типа — системное и прикладное. К системному программному обеспечению относятся операционные системы и драйверы, к прикладному — все остальные программы.
К программному обеспечению, как и к аппаратному, проблема сложности и ограниченности сроков разработки относится в полной мере.
Современные программисты, как прикладные, так и системные,неимеютдетальногопредставленияовсехнюансахфункционирования своей программы в силу разных причин.
Многофункциональность программного обеспечения влечет за собой необходимость модульного создания его коллективом разработчиков, каждый из которых в совершенстве владеет информацией только о собственноручно разработанном модуле, который взаимодействует с другими модулями с помощью специальных интерфейсов (тоже, кстати, неидеальных).
Рабочим инструментом современных программистов в основном являются языки программирования высокого уровня, компиляторы и интерпретаторы которых написаны на ранее разработанных языках программирования. Прикладной программист, создающий свои продукты на языке высокого уровня, не может знать нюансов об алгоритме работы созданной им про-
13
граммы, так как она исполняется операционной системой только после многочисленных трансляций, которые в конечном счете преобразовываются в алгоритм, записанный в виде машинных кодов.
Кроме того, необходимо отметить, что у языков программирования (и трансляторов с этих языков) ранних поколений имелись различные особенности, которые могут влиять на все созданное в дочерних трансляторах. Например, известна особенность реализации языка «C», допускающая возможность вмешательства в работу стека программы в случае, когда размеры передаваемого в стек массива и выделенной автоматически под него памяти не соответствуют друг другу по размеру. Результат работы программ, использующих эти особенности, — потенциальная возможность передачи управления участку кода с произвольным адресом внутри адресного пространства процесса. Данная особенность может быть предпосылкой для успешной реализации атак на «переполнение буфера», которые являются одной из наиболее опасных современных технологий несанкционированного проникновения в защищенные системы.
Серьезное влияние на надежность функционирования программного обеспечения оказывает и непредсказуемость аппаратной и программной конфигурации систем, на работу в которых разработчикам приходится рассчитывать свой программный продукт. Состав, назначение и условия эксплуатации каждой из информационных систем уникальны, поэтому однозначно предсказать, каким образом программный продукт будет себя вести на всех возможных конфигурациях (как программных, так и аппаратных) невозможно — они слишком разнообразны. В соответствии с этим всеобъемлющее тестирование программного обеспечения затруднено.
Отдельной темой является программное обеспечение, распространяемое в соответствии с открытой моделью. У некоторых пользователей возникает иллюзия о его качестве, безопасности и отсутствии в нем всевозможных закладок на основании предположения о том, что его легко проверить по исходным кодам. Но в современных условиях это не совсем так — исходные коды огромныпообъемуимогутпредставлятьизсебямиллионыстрок кодананесколькихразныхязыкахпрограммирования.Проверить
14
такоймассивданныхисопоставитьвсевозможныевариантыветвлений алгоритма программы в ручном режиме не представляется возможным.
Для проверки программного обеспечения на закладки и уязвимости существуют специальные эвристические программноаппаратные комплексы. Однако нет смысла надеяться на отсутствие уязвимостей, если в результате проверки такой комплекс не выявил проблем — он может обнаруживать только заранее запрограммированные в нем уязвимости и в основном занимается поиском известных сигнатур.
Риск использования злоумышленниками, а также случайных проявлений так называемых недокументированных возможностей программного обеспечения появляются в силу разных причин :
•Сложность и объемность современного программного обеспечения.Крометого,следуетучитыватьтотфакт,чтопрограммы
внастоящее время уже невозможно разрабатывать силами одного человека — так или иначе приходится увязывать в рамках одного проекта результаты труда одной или даже нескольких команд разработчиков. То есть надо предполагать, что в любой программе могут быть логические ошибки, которые могут проявляться самым непредсказуемым образом в неожиданные моменты. Кроме того, сложно контролировать возможность добавления разработчиками к программному коду различного рода закладок.
•Однотипность используемых в качестве хост-платформы операционных систем. В мире создано не очень большое количество разнообразных операционных систем, поэтому, изучив особенности большинства из них, злоумышленник может определить тип используемой в интересующем его объекте операционной системы и воспользоваться ее уязвимостями.
•Возможность записи данных за пределами выделенного в памяти буфера. Подавляющее количество сетевого программного обеспечения написано с использованием языка C, особенность которого в том, что проекты, написанные на нем, так или иначе подвержены атакам на срыв стека и переполнение буфера. Даже запрос на ввод имени пользователя и пароля может стать мишенью для атаки на доступ к информационной системе. Хотя здесь необходимоотметить,чтодляпрограммногообеспечения,авторы
15
которого соблюдали стандарты, вероятность успешной атаки на срыв стека мала. Возможность практической реализации такой атаки очень маловероятна для продуктов, где обеспечивается модульность компонентов. Например, модуль аутентификации, запрашивающий имя пользователя и его пароль, должен быть отдельным от основной системы компонентом.
Особенностьюпрограммногообеспеченияявляетсяего«виртуальность», то есть тот факт, что человек никак не может его воспринимать на уровне привычных органов чувств. В комплексе с большим размером и сложностью современных программ это дополнительно снижает возможность эффективной защиты программного обеспечения от ошибок и нарушений функциональ ности.
Организационные причины нарушения ИБ
Уровень компетентности разработчиков
Функциональность и сложность информационных систем непрерывно (и очень быстро) возрастают. При этом, как уже отмечалось выше, даже среди разработчиков современных ИС нет ни одного человека, который бы полностью представлял как работает система во всех деталях. Во-первых, потому что он не был единственным разработчиком данной системы, а во-вторых, потому что свою систему он неизбежно разрабатывал на основе каких-то (созданных ранее и другими людьми) модулей, например,писалпрограммноеобеспечениеспомощьюсуществующего языка программирования высокого уровня для уже готовой операционной системы, работающей на имеющемся оборудовании.
Уровень компетентности пользователей
Пользователям приходится ежедневно разбираться с большим количеством разнородных информационных систем, при этом необходимо еще и увязывать эти системы между собой. Никто не учится пользоваться всеми возможными информационными системами сразу. И уж в последнюю очередь пользователи заботятся о безопасности: «Лишь бы работало!».
16
Кроме того, выпускаются регулярно и новые версии информационных систем или их частей. Только пользователи научились более-менее уверенно управляться с системой, как выходит ее новая версия, в ней исправлены ошибки, к которым уже привыкли и адаптировались, но добавлены новые, к которым привыкать и адаптироваться еще только предстоит, и опять нужно разбираться.
Последствия нарушения ИБ
Говоря о последствиях нарушения режима ИБ, имеет смысл начать с глобальности распространения и глубины внедрения информационных технологий в целом. Очевидно, что в качестве пострадавшего субъекта может выступать как конкретная личность или небольшая группа людей, например семья, так и организация или целое государство. Также стоит учитывать, что одно и то же следствие не может быть полностью вызвано только какой-то одной конкретной причиной — причин одного и того же события множество. Кроме того, стоит обратить внимание на относительность оценок одного и того же события разными субъектами: для владельца банковского счета его взлом — негативное событие,адлявзломщика—позитивное,покрайнеймеревнеда- лекой перспективе. Чтобы избежать неоднозначности трактовок, классифицировать возможные последствия нарушения режима ИБ будем исходя из предполагаемой их оценки пострадавшим субъектом. Однако при таком подходе необходимо учитывать, что одноитоженарушениеИБможетиметьнегативныепоследствия не только для того субъекта, со стороны которого мы его изучаем, но и для других субъектов, например, государству вряд ли выгодно, если один или несколько его граждан обеднеют.
Итак,основныепроблемынарушенияинформационнойбезо пасности систем, а также сервисов и данных, функционирующих на их базе, связаны со сложностью современных информационных технологий и человеческим фактором.
Возможность серьезных последствий нарушения режима информационной безопасности обусловлена, преждевсего, высо-
17
кой степенью зависимости современных организаций от различных информационных технологий.
Контрольные вопросы:
1.Классифицируйте возможные причины нарушения информационной безопасности на предприятиях.
2.Назовите возможные последствия нарушения режима информационной безопасности на предприятиях.
3.Что такое «недокументированные возможности программного обеспечения»?
4.В чем основные причины ненадежности программного обеспечения?
5.В чем основные причины ненадежности оборудования?
6.Как зависит безопасность информационной системы от компетентности ее пользователей и почему?
ОСНОВНЫЕ ПОНЯТИЯ ИНФОРМАЦИОННОЙБЕЗОПАСНОСТИ
Аспекты ИБ
Наиболее важные аспекты информационной безопасности — доступность, актуальность/целостность, конфиденциальность. Рассмотрим их во взаимосвязи.
Доступность. Под доступностью информации будем понимать возможностьдоступа субъектакданнымпо запросу в любое время, предусмотренное расписанием работы системы. При этом доступ к информации имеет смысл разделить на несколько этапов:
1)возможность для субъекта отправить запрос на определенные данные в информационную систему (зависит от работоспособности интерфейса системы, через который она принимает такие запросы, а также от исправности и загруженности канала связи между субъектом и сервером);
2)генерирование системой ответа на запрос в течение промежутка времени, не превышающего значение тайм-аута (зависит от работоспособности системы, а также от ее загруженности обработкой других запросов или иной работой);
3)возможность доставить ответ информационной системы досубъектавтечениевремени,непревышающеготайм-аут(зави- сит от работоспособности интерфейса системы, через который она отправляет ответы на запросы, а также от исправности и загруженности канала связи между субъектом и сервером).
Возможность получения данных по запросу зависит от работоспособности и загруженности канала связи между пользователем и интерфейсом информационной системы и от работоспособности и загруженности самой информационной системы.
Технические причины нарушения канала связи между пользователем и интерфейсом системы могут быть самыми различными — от банальных неисправностей оборудования и сбоев программного обеспечения до успешных реализаций атак на отказ в обслуживании (PING-flooding, SYN-flooding, DDOS). При
19
этом отражение атак на отказ в обслуживании по сей день затруднено в связи с особенностями наиболее распространенного в локальных сетях и Internet программного сетевого протокола транспортного уровня IPv4.
Риск нарушения работоспособности информационной системы, содержащей запрашиваемую пользователем информацию, зависит от надежности совокупности аппаратных и программных компонентов, составляющих систему, а также от оператора, управляющего их работой. Нарушения доступности возникают из-за несоблюдения требований стандартов на этапе проектирования, производства или эксплуатации системы.
Необходимо отметить также и «риск величины», связанный с увеличением размера и сложности информационных сетей. В очень больших сетях возникают явления, которые достаточно сложно однозначно объяснить конкретной причиной. Кроме того, отказ от обслуживания пользователей может происходить за счет неэффективной информационной инфраструктуры, когда архитектура системы перестает отвечать требованиям/запросам.
Целостность. Под целостностью будем понимать актуальность и непротиворечивость информации, ее защищенность от разрушения и несанкционированного изменения или удаления.
Риск нарушения целостности информации обусловлен следующими факторами:
1)вероятностью отказа оборудования и программного обеспечения информационной системы, так как нарушение актуальности и непротиворечивости данных может произойти в результате сбоев при их работе;
2)степенью проработанности алгоритмов и надежностью аутентификации пользователей системы, имеющих право на редактирование хранящихся в ней данных;
3)вероятностью наличия в программном обеспечении недокументированных возможностей;
4)несоблюдением требований стандартов на этапе проектирования, производства или эксплуатации системы;
5)несовершенствоморганизационнойструктурыИС.Например, необходимость частой перенастройки системы или ее отдельных частей чревата нарушением целостности хранящихся
20
