Лекции Беликова. Лекции БЕЛИКОВОЙ Н.В.. Конспект лекций по дисциплине Информационная безопасность для специальности 080505 Управление персоналом
Скачать 1.25 Mb.
|
4.3 Использование защищённых компьютерных систем4.3.1 Понятие «защищенность». Концепция «Защищенные информационные системы»В то время как многие технологии, в которых используется вычислительная техника, продемонстрировали свою необычайную надежность и защищенность – компьютеры помогли людям долететь до Луны и вернуться обратно, они управляют важнейшими системами авиаперевозок с миллионами рейсов в год и ежедневно переводят триллионы долларов по всему земному шару – в общем и целом компьютеры не достигли того уровня, чтобы люди были готовы явным или неявным образом доверить им свою жизнь. Многие не хотят доверять сегодняшним компьютерным системам свою личную информацию, например, финансового или медицинского характера, поскольку их все сильнее беспокоит уровень защищенности и надежности этих систем, которые, по их мнению, представляют собой существенный риск для общества. Если использование компьютеров действительно распространится на все стороны жизни – и тем самым реализуется беспредельный потенциал информационных технологий – то нам придется сделать компьютерную экосистему1 достаточно защищенной, чтобы люди не волновались из-за ошибок и неустойчивости в ее работе, как это происходит сегодня. Защищенность – широкое понятие, и, чтобы сделать что-то защищенным, помимо основательной работы инженеров нужна и социальная инфраструктура. Все системы отказывают время от времени, но юридическая и коммерческая практика, в рамках которой они существуют, могут компенсировать тот факт, что ни одна технология никогда не будет безупречной. Таким образом, это не только борьба за то, чтобы сделать программное обеспечение защищенным. Поскольку компьютеры в какой-то степени уже утратили доверие людей, нам предстоит преодолеть существующее положение дел, когда нередко случаются отказы и сбои машин, программ и систем. Нам необходимо будет убедить людей, что системы, программы, службы, люди и компании вместе взятые вышли на новый уровень готовности к работе, надежности и конфиденциальности. Нам придется преодолеть ощущение незащищенности, которое люди сейчас испытывают по отношению компьютерам. Концепция «Защищенные информационные системы» включает целый ряд действий, которые необходимо предпринять для того, чтобы люди, используя устройства на базе компьютеров и программного обеспечения, чувствовали себя так же комфортно, как сегодня при использовании устройств, питающихся от электрической сети. Этот процесс может занять 10-15 лет – как для ИТ-индустрии, так и для всего общества. Это подразумевает коренные перемены не только в том, каким образом мы пишем и распространяем программы, но и в том, как наше общество видит использование компьютеров в целом. Есть текущие проблемы, требующие решения, и есть фундаментальные вопросы для исследований. Есть шаги, которые могут и должны предпринимать отдельные люди и компании, но есть и проблемы, которые могут быть решены только совместными усилиями консорциумов, исследовательских сообществ, государств и всего мира в целом. Ситуация ИсторияОбществу довелось пережить ряд крупных технологических скачков, сформировавших его культуру: аграрная революция, открытие обработки металлов, промышленная революция, появление электричества, телефонной связи, телевидения и, конечно же, микропроцессоров, благодаря которым возникли персональные компьютеры. Каждый из этих скачков в корне изменял образ жизни, работы, общения и развлечений миллиардов людей. До сих пор в развитых странах персональные компьютеры применялись лишь для решения офисных задач. (Более крупные компьютерные системы также произвели революцию в сфере производства.) Тем не менее, неуклонное совершенствование технологий и снижение цен означает, что технологии на базе персональных компьютеров в конечном итоге станут строительными блоками на работе и дома у каждого человека, а не только специалистов, работающих в офисе. Прогресс в ИТ-индустрии за последние четверть века напоминает первые десятилетия развития электричества. Впервые электричеством стали пользоваться в 80-х годах XIX века мелкие предприятия с большими затратами труда, где для повышения производительности можно было использовать способность электрической энергии к распределению (например, один источник мог снабжать энергией несколько электромоторов в разных частях завода). На ранней стадии развития электричество в доме было настоящей роскошью, и в богатых домах его использовали в основном в электрических лампах. Было также и немало сомнений по поводу безопасности электричества в целом и электрических устройств в частности. Электричество ассоциировалось с молнией, смертоносной природной силой, и не было никаких гарантий, что некондиционные устройства не принесут смерть своим владельцам. В период 1900–1920 годов все изменилось. Жители городов и быстрорастущих предместий получали все более широкие возможности доступа к различным видам энергии, и конкуренция со стороны нефти и газа снизила цены на электричество. Увеличение числа электрических устройств, облегчающих труд людей, например, пылесосов и холодильников, означало, что зависимость домашних хозяйств от электричества постепенно росла. Маркетинговые кампании производителей электричества и появление знаков соответствия стандартам (например, создание Лаборатории по технике безопасности2 в Соединенных Штатах) ослабили тревоги потребителей. Технология не была совершенно безопасной и надежной, но в какой-то момент в начале XX века стала безопасной и надежной в достаточной степени. В компьютерной области мы еще не вышли на эту стадию: мы пока на уровне промышленного использования электричества в XIX веке. Компьютерам еще предстоит затронуть и улучшить каждую сторону нашей жизни – но это обязательно случится. Трудно предсказать в подробностях, какое воздействие в конечном итоге окажут компьютеры, – точно так же, как трудно было предвидеть последствия появления электричества, водоснабжения, газа, телеграфной и телефонной связи, воздушных полетов и любых других новшеств. Чтобы компьютеры достигли того уровня, когда люди будут так же рады иметь в любом устройстве микропроцессор, как они доверяют электричеству, необходимо добиться такой же относительной защищенности. «Относительной» – поскольку стопроцентной защищенности никогда не достигнет ни одна технология: напряжение в сети скачет и исчезает, прорываются водопроводы и газопроводы, рвется телефонная связь, самолеты терпят катастрофу и так далее. 4.3.2 Защищенные технологии в целомВсе общепринятые технологии – такие как электричество, автомобили или телефоны – вошли в нашу повседневную жизнь и пользуются доверием, поскольку они почти всегда готовы к работе, когда мы в них нуждаемся, они делают то, что нам от них нужно, и работают так, как и было обещано. Почти любой человек в развитом мире может купить новый телефон и включить его в телефонную розетку, не волнуясь о том, будет он работать или нет. Для нас само собой разумеется, что, сняв трубку, мы услышим гудок, а когда дозвонимся, то сможем слышать собеседника. Мы исходим из того, что ни сосед, ни страховой агент с нашей улицы не смогут подслушать разговор или получить список тех, кому мы звонили. И мы, как правило, предполагаем, что телефонная компания будет предоставлять услуги и взимать за них плату согласно своим обязательствам. Усилия инженеров, практика бизнеса и регулирование в совокупности создали ситуацию, когда люди воспринимают телефонную службу как должное. Можно выделить три общих качества, которые, по мнению большинства людей, должны присутствовать в любой защищенной технологии: безопасность, безотказность и деловая добросовестность (т.е., добросовестность организации, предоставляющей технологию). Эти категории, а также их проявление в области использования компьютеров, будут более подробно рассмотрены ниже. Защищенные информационные системы Компьютерные устройства и информационные службы смогут распространиться действительно повсеместно, когда они станут настолько надежными, что о них можно будет просто забыть. Другими словами, к тому времени, когда компьютеры начнут проникать почти во все сферы нашей жизни, мы должны иметь возможность им доверять. При этом методы создания компьютеров и методы, которыми мы сегодня создаем службы на основе компьютеров, по сути, не настолько сильно изменились за последние 30-40 лет. Но это должно произойти. 4.3.3 Модель защищенных информационных системНам не удалось найти существующую классификацию, которая могла бы послужить моделью для обсуждения вопросов в области защищенных информационных систем. И хотя существует множество разнообразных концепций защищенности, каждая из них охватывает только узкую область. Например, есть концепции доверия в операциях электронной коммерции и взаимного доверия между системами удостоверения личности, и есть анализы восприятия компьютеров в обществе; однако подлинно эффективный подход должен объединять различные аспекты: и с инженерной точки зрения, и с точки зрения политики в этой области и пользователей. При этом даже лишь с инженерной точки зрения наша задача шире, чем, например, в моделях SysTrust/SAS703, которые имеют дело только с крупными онлайновыми системами. Во-первых, есть сама техника. Она должна быть достаточно надежной, чтобы мы могли встраивать ее во всевозможные устройства – другими словами, она не должна отказывать чаще, чем другие сравнимые по важности технологии в нашей жизни. Затем, есть программное обеспечение, работающее на этой технике: считают ли люди его настолько же надежным? И, наконец, существуют компоненты-службы, которые также во многом зависят от программного обеспечения. Это особенно сложная проблема, поскольку сегодня мы должны обеспечивать надежность комплексных, глубоко взаимосвязанных (а иногда и интегрированных) систем. Поскольку защищенность – понятие сложное, полезно проанализировать задачу создания защищенных информационных систем с нескольких различных точек зрения. Мы зададим три уровня, на которых будем описывать различные точки зрения на проблему защищенности: цели, средства и исполнение. Цели Цели описывают защищенность с точки зрения пользователя. Вот главные вопросы: готова ли технология к работе, когда это необходимо? Находится ли при этом в безопасности моя конфиденциальная информация? Делает ли технология то, что от нее ожидается? И всегда ли правильно поступают люди, которые владеют и управляют бизнесом, предоставляющим эту технологию? Вот цели, которые должны быть достигнуты для реализации защищенных информационных систем:
Цели, связанные с защищенностью, охватывают как рациональные ожидания в области функционирования систем – т.е. то, чего можно достичь инженерными и технологическими мерами, – так и более субъективные оценки работы, возникающие как результат репутации, предубеждений, отзывов знакомых и личного опыта. В связи с каждой из этих целей, хотя и в различной степени, возникают вопросы из области инженерных задач, практики бизнеса и восприятия в обществе. Для пояснения терминов приведем примеры, касающиеся целей: Безопасность. Моя личная информация не оказывается раскрытой без разрешения. Вирусы не заражают мой ПК и не приводят его в негодность. Взломщик не может привести мою систему в нерабочее состояние или несанкционированным образом изменить мои данные. Безотказность. Когда я устанавливаю новую программу, мне не нужно беспокоиться, будет ли она правильно работать с существующими приложениями. Я могу читать свою почту, когда захочу, например, щелкнув ссылку Hotmail на msn.com. Я никогда не получаю сообщений «Система недоступна». Календарь не теряет внезапно все запланированные встречи. Деловая добросовестность. Когда я сообщаю моему провайдеру услуг4 о проблеме, он реагирует быстро и эффективно. СредстваКак только цели намечены, мы можем взглянуть на проблему с точки зрения ИТ-индустрии. Средства – это принципы делового и инженерного характера, используемые, чтобы достичь целей; это болты и гайки защищенной службы. В то время как цели по большей части ориентированы на конечного пользователя, средства – это внутренние принципы в рамках компаний. Считайте, что цели – это ответ на вопрос, что осуществляется, а средства – как осуществляется.
Вот некоторые примеры: Защищенность. Система может быть спроектирована так, чтобы использовать шифрование по алгоритму triple-DES6 для важных данных, например паролей, перед сохранением их в базе данных и протокол SSL7 – для передачи информации по Интернету. Конфиденциальность. Такие технологии и стандарты, как P3P (Platform for Privacy Preferences – «Платформа для индивидуальных настроек конфиденциальности»), позволяют пользователям быть в курсе того, как собираются и используются их данные, и управлять этим процессом. В то же время Microsoft установила ясные принципы обеспечения конфиденциальности и ряд правил, которым следует в своей работе. Готовность к работе. Операционная система выбирается по принципу максимизации среднего времени между отказами (Mean Time Between Failures, MTBF). Для служб должны быть определены и объявлены задачи функционирования, стандарты и правила обеспечения работоспособности системы. Управляемость. Система проектируется настолько самоуправляющейся, насколько это целесообразно. Предусматривается возможность установки исправлений и программных обновлений при минимальном участии пользователя. Точность. Схема системы включает в себя RAID-массивы8, достаточную избыточность и другие средства для уменьшения потерь и повреждений данных. Удобство использования. Интерфейс пользователя не запутан и интуитивен. Предупреждения и окна диалога полезны, а сообщения хорошо сформулированы. Готовность помочь. Контроль качества продукта проводится, начиная с самых ранних стадий. Руководители ясно дают сотрудникам понять, что надежность и безопасность важнее, чем богатый набор функций или дата начала поставок. Службы постоянно находятся под наблюдением, и предпринимаются меры, если их работа в чем-то не соответствует поставленным задачам. Прозрачность. Контракты между компаниями составляются как соглашения, ведущие к взаимной выгоде, а не ради возможности извлечь максимальную краткосрочную прибыль для одной из сторон. Компания открыто и честно ведет диалог со всеми своими акционерами. Исполнение – это то, каким образом действует организация, чтобы воплотить в жизнь составляющие, необходимые для защищенной информационной системы. Здесь есть три аспекта: установки, реализация и подтверждения. Установки – это корпоративные и законодательные принципы, задающие требования к проектированию, созданию и поддержке продукта. Реализация – это бизнес-процесс, претворяющий в жизнь заданные установки. Подтверждения – это механизм, при помощи которого мы удостоверяемся, что реализация привела к осуществлению установок. Вот примеры:
Эту проблему можно решить, только работая в двух параллельных направлениях. Первое направление – это текущие проблемы, то, о чем люди читают и беспокоятся каждый день. Мы должны заняться известными насущными проблемами и укрепить известные слабые места. Таким образом мы также сможем узнать о более фундаментальных проблемах. Мы должны быть как можно лучше осведомлены о том, что происходит на самом деле, а также о том, что мы можем и что не можем исправить в рамках существующих систем. Частично тревога пользователей вызвана тем, что в настоящее время использование персональных компьютеров распространяется на те сферы, которые прежде не вызывали беспокойства. Проще всего сосредоточить внимание на таких областях, как банки и банковские услуги, где подобные проблемы хорошо известны и имеют давнюю историю. Хотя предстоит проделать много работы по постепенному улучшению существующих систем, эти усилия не решат фундаментальных проблем, некоторые из которых описаны в следующей главе. Компьютерной индустрии необходимо выявить и решить самые насущные проблемы и постепенным образом внедрить эти решения в уже имеющиеся огромные системы. Предстоит долгий технологический цикл замены, в ходе которого важная инфраструктура, от которой зависит общество, постепенно замещается новыми улучшенными компонентами. Раз эти системы уже существуют, люди не могут просто выбросить их в окно и начать с нуля. Таким образом, мы должны выявить слабые места в наиболее важной инфраструктуре и имеющихся системах, а затем в первую очередь обновить их, обеспечив при этом построение новых систем на основе разумных принципов. 4.3.4 Проблемы использования защищенных компьютерных системПолитические вопросы Когда какая-то технология становится неотъемлемой частью жизни общества, то общество начинает принимать большее участие в ее развитии и управлении ею. Так было с железными дорогами, телеграфной и телефонной связью, телевидением, энергетикой и т.п. Сегодня общество только начинает уделять внимание тому факту, что оно в значительной степени зависит от компьютеров. Мы вступаем в эру конфликта между предпринимательской энергией, порождающей новшества, и потребностью общества осуществлять регулирование критического ресурса невзирая на риск подавления конкуренции и изобретательности. Это осложняется тем фактом, что социальные нормы и связанные с ними правовые модели меняются медленнее, чем технологии. ИТ-индустрия должна найти подходящее равновесие между потребностью в регулирующей системе и собственными стремлениями как отрасли, сформировавшейся без регулирования и опирающейся на стандарты де-факто. Многие современные проблемы надежности инфраструктуры – это на самом деле политический вопрос. Недавний энергетический кризис в штате Калифорния во многом был вызван плохо проведенной приватизацией. Малая зона покрытия и плохое обслуживание у операторов сотовой связи в США частично обусловлены директивой Федеральной комиссии США по связи (Federal Communications Commission, FCC) не предоставлять общефедеральных лицензий. Вопросы политики часто выходят за границы государств, как мы видим на примере борьбы за введение глобальных стандартов для технологий мобильной связи третьего поколения. Существующие пользователи эфира (часто это военные) в разных странах занимают разные полосы частот и отказываются их освобождать, затрудняя отыскание единого диапазона в мировом масштабе. Сложность обработки данныхМы являемся свидетелями появления сверхкрупных компьютерных систем, построенных на основе слабых связей9 между службами, машинами и прикладными программами. Неожиданные (и самые разные) проявления в работе таких систем представляют собой все большую, долгосрочную угрозу. Архитектура, основанная на разнообразии, устойчива, но при этом функционирует на грани хаоса. Это справедливо для всех сверхкрупных систем, начиная от природных, например погодных условий, до созданных человеком, например рынков и единой энергосистемы. Все ранее созданные нами сверхкрупные системы – энергосистема, телефонные сети – проявляли внезапное непредсказуемое поведение. Вот почему в 1965 году отказала энергосистема, и было обесточено все восточное побережье Соединенных Штатов, и вот почему время от времени целые города отключаются от телефонной сети, стоит кому-нибудь установить программное исправление на единственном коммутаторе. Дело в том, что сложность системы превзошла способность любого отдельного человека – и любой отдельной организации – понимать все ее взаимосвязи. Сегодня существуют чрезвычайно защищенные и безопасные компьютерные системы, но по большей части это отдельные системы специального назначения, которые тщательно проектируются и затем работают изолированно. Мы на самом деле не знаем, что случится, если мы динамически свяжем друг с другом миллиарды – а возможно, и триллионы – интеллектуальных и зависящих друг от друга устройств, обладающих архитектурой и программным обеспечением множества разных типов и поколений. С ростом мощности компьютеров – как в отношении объема хранимых данных, так и в отношении скорости вычислений – соответственно возрастают абсолютный размер и сложность программного обеспечения. Это проявляется во многом, начиная от того, как вы администрируете эти машины, и заканчивая тем, как вы узнаете, что они сломались, как вы их ремонтируете и как вы расширяете их возможности. Все эти моменты в конечном итоге влияют на то, воспринимают ли люди такую систему как защищенную. Избыточность аппаратных средствУ нас пока нет действительно хороших экономичных и широко используемых механизмов создания сверхнадежных аппаратных средств. Тем не менее, при сохранении существующих темпов развития, возможно, когда-нибудь самым обычным явлением станет кристалл, на котором будет находиться свыше 200 млн. транзисторов. В какой-то момент окажется целесообразным организовать их в четыре параллельные системы, которые будут избыточны, а значит, более устойчивы к сбоям. Возможно, себестоимость подобной избыточности в отдельном компоненте окажется приемлемой. Подобным же образом производитель компьютеров или конечный пользователь могут решить, что необходимо установить два жестких диска меньшего объема для дублирования данных, значительно повысив тем самым стойкость системы на случай выхода диска из строя. Возможно, скоро у нас появятся новые архитектурные подходы к живучести компьютерных систем, но в ее основе всегда лежит избыточность. А значит, за эту избыточность придется платить. Поэтому людям фактически придется снова решать: сэкономить ли деньги, но потенциально столкнуться с большим числом отказов? Либо потратить больше денег, повысить сложность системы и ее администрирование, чтобы решить соответствующие вопросы безопасности, конфиденциальности и технологической достаточности, тем самым устранив проблемы? Межмашинные процессыОтличительная черта использования веб-сервисов – вычисления на периферии сети. Приложения peer-to-peer10 станут правилом, и данные будут обрабатываться и храниться распределенным образом. Администрирование подобной системы потребует сложных межмашинных процессов. Данные будут содержать собственное описание. Машины будут слабосвязанными, самонастраивающимися и самоорганизующимися. Они будут сами себя администрировать, чтобы соответствовать централизованно заданным политикам. Веб-приложения предстоит проектировать с учетом работы в асинхронном мире. Персональный компьютер знает, где находятся его периферийные устройства, поскольку необходимые связи уже заданы (пользователем или программным обеспечением) в какой-то момент в прошлом. Если что-то нарушает эту синхронность, программы иногда просто зависают. Улучшенная поддержка устройств plug-and-play11 в Windows XP, а также архитектуры «горячего подключения» типа USB12 и IEEE 139413 прокладывают путь к подлинно «асинхронному» ПК, но такого рода зависимости временами еще встречаются. В Интернете, однако, устройства появляются и исчезают, и время отклика меняется в широких пределах. Устойчивым веб-системам требуется динамическое обнаружение и автоматическая настройка. Если вы принимаете идею о том, что все является асинхронным и слабосвязанным, вы получаете еще больше возможностей для отказов. Для каждого потенциального взаимодействия вы должны держать в уме возможность, что на самом деле его не произойдет, поскольку Интернет – это всего лишь система с «максимальными усилиями»: если вы щелкаете ссылку и ничего не получаете, то вы щелкаете снова. Поэтому все компьютерные системы необходимо перепроектировать с учетом восстановления при сбоях в ходе взаимодействий. Идентификация личности пользователяВ связи с проблемой создания защищенных информационных систем иногда поднимаются вопросы, касающиеся идентификации личности пользователя. Идентификация личности не фигурирует в модели в явном виде, поскольку пользователь не ожидает, что компьютерная система будет ее определять. Тем не менее, личность пользователя – это ключевое понятие, в соответствии с которым предоставляются те или иные услуги. Идентификация личности (проверка подлинности клиента, аутентификация) должна быть устойчива к взлому, чтобы можно было с большей надежностью предпринимать действия на основе полученной информации о пользователе (проверка полномочий14, авторизация). Поэтому пользователи ожидают, что их персональные данные будут защищены от нежелательного использования. Описать, что такое личность, сложно в принципе, но это особенно сложно в электронной среде. Мы используем рабочее определение, что личность представляет собой совокупность неизменных составляющих из числа отличительных характеристик, по которым человек (или предмет) может быть узнан или которыми он известен. Личность – понятие расплывчатое и контекстно-зависимое, поскольку эти «обрывки»-составляющие находятся в самых разных местах в электронной, физической и эмоциональной форме. Какая-то часть личности «принадлежит» пользователю, но в значительной степени личность «определяется» другими людьми, будь то юридически (государством или компаниями) или в порядке неформального узнавания в обществе. В проблему идентификации личности упираются многие элементы защищенности информационных систем. Пользователи беспокоятся о компьютерной конфиденциальности частично из-за того, что они понимают, что казалось бы несвязанные составляющие их личности могут легче быть собраны в одно целое, когда фрагменты находятся в электронном виде. Лучшее свидетельство тому – растущая в обществе боязнь мошенничества с кредитными картами и «кражи личностей», поскольку операции в Интернете более прозрачны и анонимны по сравнению с офлайновыми операциями, хотя оба эти преступления столь же возможны в физическом мире. Пользователи ожидают, что их персональная информация, включая составляющие их личности, не будет раскрываться без особого на то разрешения. ЛюдиУправлять очень крупными компьютерными сетями уже непросто и со временем становится лишь сложнее. Масштабность трудностей маскируется тем, что пока мы, как правило, нанимаем для этого специалистов. Недостатки машин, сетей, методов управления, инструментов и самих приложений часто смягчаются талантливыми системными администраторами, напряженная работа которых в какой-то степени компенсирует тот факт, что компоненты систем не всегда функционируют так, как ожидается или как хотелось бы. Многие системные сбои, привлекающие много внимания, происходят из-за сложности систем. Люди допускают ошибку в администрировании, не устанавливают пакет исправлений или неправильно настраивают брандмауэр15, и простой сбой превращается в катастрофу. Существует очень сильная зависимость от операторов-людей, которые должны делать то, что нужно, изо дня в день. Знающих администраторов уже не хватает, и мы продолжаем сдавать позиции. Хуже того, потребности в администрировании выходят за рамки сферы деятельности профессиональных ИТ-менеджеров. С одной стороны, мы пришли к ситуации, когда даже лучшим операторам приходится трудно: системы меняются слишком быстро, чтобы люди успевали с этим разобраться. С другой стороны, массовое распространение компьютеров в конце концов породит необслуживаемые системы, которые люди будут носить с собой или держать в машине или дома. Поэтому нам нужно предоставить людям более простые возможности, которые обеспечат надлежащее функционирование системы при минимальном вмешательстве человека. Мы должны стремиться к ситуации, когда люди, принимающие решения, смогут задать политику и распространить ее на тысячи машин, не прилагая при этом существенных усилий по написанию программ, переключению рычагов или нажатию кнопок на администраторских пультах. ИТ-индустрия может подойти к проблеме различными путями. Может быть, на самом деле следует совершенно иначе писать программы? Необходимы ли в принципе системные администраторы? Или нам следует разрабатывать машины, которые смогут администрировать другие машины без постоянного вмешательства человека? Средства программированияПри каждом из этих подходов требуются новые виды программного обеспечения. По мере того, как абсолютное число машин и их сложность растет, процесс администрирования начинает сталкиваться с проблемой нехватки обученных людей и их возможностей. Поэтому сообществу разработчиков средств программирования необходимо задуматься о создании более подходящих способов написания программ. Людям, традиционно размышляющим над тем, как управлять компьютерами, предстоит подумать о том, как расширить возможности компьютеров по самоорганизации и самоуправлению. Нам нужно продолжать совершенствование средств программирования, потому что сегодня программирование слишком подвержено ошибкам. Однако существующие средства не обеспечивают адекватной поддержки, поскольку остается ряд уровней абстракции, требующих непосредственного управления. Другими словами, проектировщику приходится не только учитывать архитектуру системы и вопросы платформ и библиотек, но также и все остальное – от производительности, локализации и удобства сопровождения до структур данных, многопоточности и управления памятью. Слабо поддерживается параллельное программирование: большинство управляющих конструкций строятся последовательно, и весь процесс также носит последовательный характер. И это только на стадии разработки; на этапе развертывания становится все труднее проверять сложные взаимодействия систем, версий и широкого спектра операционных сред. Кроме того, все большее распространение получают инструменты, предлагающие усовершенствованные функции разработки более широким слоям пользователей, но не помогающие новичкам и неопытным пользователям писать хороший код. Есть также вопросы из области долгосрочного функционирования: например, инструменты не поддерживают выход технологий из употребления или изменение тенденций, касающихся возможностей устройств, объемов хранения, скорости и т.п. Подумайте о колоссальных усилиях, затраченных на Проблему-2000 из-за того, что программисты 60-х и 70-х годов не ожидали, что их код все еще будет использоваться на машинах, намного превосходящих возможности машин того времени. Функциональная совместимость16Рост Интернета продемонстрировал, что стандартные технологии – от TCP/IP до HTTP – необходимый элемент для создания крупномасштабных, многоцелевых компьютерных систем, способных приносить людям пользу и завоевывать их внимание. (Подобные же стандарты, введенные техническими средствами или посредством регулирования, или тем и другим способом одновременно, принесли успех и многим другим технологиям – от железных дорог до телевидения.) Очевидно и неизбежно, что функционально совместимые системы еще долгое время будут направлять развитие индустрии высоких технологий. Однако функциональная совместимость ставит перед ИТ-индустрией уникальный ряд проблем с точки зрения технологий, регулирующих норм и практики бизнеса. Существующие «защищенные» информационные системы, например, сеть управления воздушным движением, очень сложны и в большой степени зависят друг от друга, но в то же время они разработаны для специальных задач, редко модифицируются и строго контролируются из единого центра. Остается открытым вопрос, может ли распределенная, гибкая и динамическая компьютерная система с нефиксированной организацией – построенная на функционально совместимых технологиях – когда-либо достичь такого же уровня безотказности и защищенности. Функциональная совместимость также ставит определенную проблему с точки зрения ответственности и доверия, поскольку все труднее найти того, кто отвечает за недостатки. Если в сегодняшнем Интернете – построенном на принципах децентрализации и коллективного управления – произойдет какой-то массированный сбой, кто будет нести ответственность за это? Одна из важных причин, по которым люди не склонны доверять Интернету, состоит в том, что они не могут с легкостью определить, кто отвечает за его недостатки: кого вы будете винить за катастрофическое нарушение работы сети или за крах системы доменных имен? Если мы хотим создать и использовать полностью функционально совместимую (и взаимозависимую) систему, которой люди смогут доверять, мы должны ясно определиться, кто за что отвечает. Концептуальные моделиЧто касается защищенных информационных систем, мы сталкиваемся с фундаментальной проблемой: информатике недостает теоретических основ. Компьютерная безопасность – сама по себе лишь один из компонентов защищенной информационной системы – как правило, рассматривается как подраздел безопасности коммуникаций, которая основана на криптографии. Криптография имеет прочную математическую основу, но явно не подходит для решения проблем защищенных информационных систем. Как заметил один из разработчиков корпорации Microsoft Джим Каджийя (Jim Kajiya): «Это все равно, как если бы мы строили паровые двигатели, не понимая основ термодинамики». Компьютерное научное сообщество пока не нашло альтернативного подхода; мы застряли на криптографии. Возможно, исследования в области вычислительной комбинаторики или какой-то другой информационной теории, изучающей фундаментальную природу передачи информации, или исследования в области компьютерных взаимодействий могли бы в конечном итоге частично предоставить нам такую альтернативу. Но сегодня это всего лишь предположения. Компьютерная система защищена лишь настолько, насколько защищено ее самое слабое звено. И слишком часто слабым звеном оказывается человек: проектировщик, создающий плохое решение под напором сложности, администратор, неправильно настроивший систему, бизнесмен, предпочитающий предложить новые функции в ущерб надежности, или техник службы сопровождения, ставший жертвой мошенников, использующих «социальную инженерию»17. Взаимосвязь информационных технологий и социологии станет важной сферой для исследований в области защищенных информационных систем. До сих пор взаимообмен между этими областями едва ли имел место. Итоги Реализация концепции «Защищенных информационных систем» необходима не только для благополучия ИТ-индустрии, но и для нашей экономики и общества в целом. Защищенные информационные системы – это многосторонний комплекс вопросов. Все вместе они подчинены трем целям: безопасности, безотказности и деловой добросовестности. Каждая из этих целей заслуживает внимания. Хотя существует работа, которую важно выполнить в короткие сроки, остаются и сложные проблемы, требующие фундаментальных исследований и сдвигов в области высоких технологий. Производители оборудования и программного обеспечения, а также учебные и государственные исследовательские институты должны совместно взяться за решение этих проблем. |