Может ли простое в использовании программное обеспечение быть безопасным
Любой, кто долгое время работал с компьютерами, заметил, что с годами (предположительно) основные операционные системы и приложения стали проще в использовании. Задачи, которые раньше были сложными процедурами и для выполнения которых требовался опытный специалист, теперь можно выполнять одним нажатием кнопки. Например, настройку домена Active Directory в Windows 2000 или более поздней версии теперь может выполнить мастер, который заставляет даже самого начинающего технического специалиста поверить в то, что он может «безопасно» настроить операционную среду. На самом деле это довольно далеко от истины. В половине случаев эта процедура завершается неудачно из-за того, что DNS не настроен должным образом или разрешения безопасности ослаблены из-за того, что конечный пользователь не может выполнить определенную функцию.
Если его легко разрабатывать, то безопасно ли оно?
Одна из причин, почему с операционными системами и приложениями «кажется» работать проще, чем раньше, заключается в том, что разработчики создали процедуры и объекты многократного использования, которые решают за вас все сложные задачи. Например, когда я начинал как разработчик, используя язык ассемблера и c/c++, мне приходилось писать почти весь код самому. Теперь все визуально управляется, и для вас уже написаны миллионы строк кода. Все, что вам нужно сделать, это создать структуру для вашего приложения, а среду разработки, а компилятор добавит за вас все остальные сложные вещи. Кто написал этот другой код? Как вы можете быть уверены, что это безопасно. По сути, вы понятия не имеете, и нет простого способа ответить на этот вопрос.
Безопасная среда несовместима со сложностью
Реальность такова, что на первый взгляд это может выглядеть проще, но сложность серверного программного обеспечения может быть невероятной. И знаете что: безопасная среда плохо сосуществует со сложностью. Это одна из причин, по которой у хакеров, вирусов и вредоносных программ так много возможностей атаковать ваши компьютеры. Сколько ошибок в операционной системе Microsoft? Я почти гарантирую, что никто не знает наверняка, даже разработчики Microsoft. Однако я могу вам сказать, что в основных системах и приложениях существуют тысячи, если не сотни тысяч ошибок, дыр и недостатков безопасности, которые только и ждут, чтобы их обнаружили и злонамеренно использовали.
Насколько надежны и безопасны сложные системы?
Давайте сравним мир программного обеспечения и безопасности с миром космической программы. Ученые НАСА уже много лет знают, что космический челнок — одна из самых сложных систем в мире. С милями проводов, невероятными механическими функциями, миллионами строк кода операционной системы и приложений, а также отказоустойчивыми системами для защиты отказоустойчивых систем и еще большим количеством отказоустойчивых систем для защиты других систем. Такие системы, как космический челнок, должны работать стабильно, экономически эффективно и иметь высокое среднее время наработки на отказ (MTBF).
В целом космический челнок имеет хорошие показатели. Однако есть одна вещь, которая не является экономически эффективной и последовательной. Каждый раз при запуске возникают различные проблемы, которые вызывают задержки. В некоторых случаях даже самые основные компоненты этой сложной системы, такие как уплотнительные кольца, к сожалению, приводили к летальному исходу. Почему такие вещи пропускают? Неужели их просто нет на экране радара, потому что все остальные сложности системы требуют столько внимания? Я уверен, что существует миллион разных переменных. Дело в том, что ученые НАСА знают, что им нужно работать над разработкой менее сложных систем для достижения своих целей.
Тот же самый принцип уменьшения сложности для повышения безопасности, производительности и уменьшения сбоев действительно применим к миру компьютеров и сетей. Каждый раз, когда я здесь, мои коллеги рассказывают о невероятно сложных системах, которые они разрабатывают для клиентов, и о том, как сложно их реализовать, я съеживаюсь. Как вообще люди могут экономически эффективно и надежно управлять такими вещами? В некоторых случаях это практически невозможно. Просто спросите любую организацию, сколько версий или различных марок систем обнаружения вторжений они использовали. Сколько раз они были заражены вирусами и вредоносными программами из-за плохо разработанного программного обеспечения или приложений. Или, если у них когда-либо было нарушение безопасности, потому что разработчик конкретной системы руководствовался простотой использования и случайно вставил фрагмент полезного кода, который также был полезен хакеру.
Могу ли я написать документ без потенциальной проблемы с безопасностью, пожалуйста?
Всего несколько дней назад я думал о чем-то таком простом, как Microsoft Word. Я использую MS-Word постоянно, фактически каждый день. Знаете ли вы, насколько мощно это приложение на самом деле? Microsoft Word может выполнять все виды сложных задач, таких как математика, алгоритмы, построение графиков, анализ тенденций, сумасшедшие шрифтовые и графические эффекты, связь с внешними данными, включая базы данных, и выполнение веб-функций.
Знаете, для чего я его использую — для написания документов. ничего сумасшедшего или сложного, по крайней мере, большую часть времени. Разве не было бы интересно, что когда вы впервые устанавливали или настраивали Microsoft Word, существовала возможность установки только базовой версии основного продукта. Я имею в виду, действительно урезанный, так что в этом не было ничего особенного. В некоторой степени это можно сделать, но все общие компоненты приложения останутся на месте. Почти на каждом компьютере, который я взломал во время оценки безопасности, был установлен MS-Word. Я не могу сказать вам, сколько раз я использовал возможности этого приложения для выполнения всевозможных сложных задач, чтобы еще больше скомпрометировать систему и другие системы. Впрочем, подробности этого вопроса мы оставим для другой статьи.
Заключение
Вот итог. Чем сложнее становятся системы, обычно ради простоты использования для конечных пользователей, тем больше увеличивается вероятность сбоев, компрометации и заражения. Существуют способы сделать вещи простыми в использовании, обеспечить хорошую производительность и обеспечить широкий спектр функций, при этом уменьшив сложность и сохранив безопасность. Просто требуется немного больше времени на разработку и больше внимания к безопасности. Вы можете подумать, что большая часть вины за сложное небезопасное программное обеспечение должна падать на плечи разработчиков. Но реальность такова, что частично виноваты мы, конечные пользователи и потребители. Мы хотим, чтобы программное обеспечение было больше, быстрее, могло делать практически все, и мы хотим, чтобы оно было быстрым. У нас нет времени ждать, пока его разработают безопасным образом, не так ли?
Вы можете перепечатывать или публиковать эту статью бесплатно при условии указания авторства.
Исходный URL (веб-версия статьи)
http://www.defendingthenet.com/NewsLetters/WhyEasyToUseSoftwareIsPuttingYouAtRisk.htm
-
Как Установить Морские Солнечные Панели
19 Oct, 24 -
Что Еще Вам Нужно Знать О Макетах Myspace
19 Oct, 24 -
Ремонт Компьютеров — Дело Непростое
19 Oct, 24 -
Лучшие Возможности Консоли Psp
19 Oct, 24