Программное обеспечение требований безопасности


  Share  
|

В связи с выявления связанных рисков безопасности известны конкретного применения или применения жанра, разработчики должны оценить требования безопасности их применения. Этот анализ должен прийти к сбалансированной оценки уровня безопасности, необходимых для применения. Он не должен обдумать крайности безопасности спектра. Учитывая, что верно и гарантируется безопасность отсутствует, защиту от известных рисков и минимизации числа успешных актов и их последствий в целом приемлемый уровень безопасности. Те, кто участвует в разработке цикла применения должны определять свои собственные "приемлемый" уровень безопасности, на основе анализа рисков известны, цели применения, а методы, используемые для осуществления желаемого уровня безопасности.

Для достижения требований безопасности, менеджеры и разработчики могут счесть целесообразным сосредоточиться на следующих общеизвестных областей риска:

· Аутентификация пользователя и контроля доступа

Данные хранения конфиденциальной информации

· внешней безопасности в сети связи

· Безопасность отправных точек для внешних приложений и операционной системы

Из этих четырех общих областей применения проектировщики и разработчики могут определить минимальный набор важных особенностей для анализа. В зависимости от функциональности приложения, определенный риск области более актуальным, чем другие.

Для обеспечению или не обеспечению

В добавление к безопасности применения затрагивает заявки по нескольким направлениям. Она сразу же становится более сложной, поскольку код путь принимает новый поворот для безопасности методов. Эффективность заявка может быть затруднено, особенно с добавлением шифрования операций. Эти операции CPU интенсивной из-за сложных алгоритмов участие. Эффективность заявки может быть также жертву, если применяется в тех областях, где она дает несколько преимуществ. Это может произойти, если слепо методы применяются ко всем компонентам заявки без мысли, как их потребностей. Следующие разделы содержат разумной отправной точкой для определения базового уровня безопасности.

Подсказка

Это хорошая практика для рассмотрения безопасности, необходимых для каждого модуля или компонента в заявку. Противостаньте призываем применить общие методы безопасности нескольких модулей или компонентов. Вместо этого, определять наиболее подходящий уровень безопасности для каждого.

Оценка подлинности и контроль доступа Требования

Аутентификация пользователя зачастую занимаются операционной системы, на которых применение противоречит, но несколько классов применения, возможно, придется заниматься аутентификацию на своей собственной. Встраиваемых приложений, приложений, которые функционировать независимо от операционной системы, и распространение Web приложения часто необходимо учесть определенный уровень аутентификации пользователя и контроля доступа. Общие примеры приложений, которые требуют безопасности эти методы торговли по Интернету (электронная торговля) заявок, в котором пользователям делать покупки через веб-сайт, или клиент доступа к базе данных. В обоих случаях, возможность для различных пользователей или групп пользователей, использование системы требует строгого контроля доступных данных. Применение методов необходимость разрешить отдельным пользователям доступ к системам с помощью метода входа; Они также необходимость ограничения в отношении отдельных users'respective финансовых данных.

Для определения подлинности и контроль доступа требований, конструкторы следует изучить взаимодействие в рамках применения и с миром, что окружает его. Это включает методы, с помощью которых пользователи применения - заседание непосредственно на терминал или доступа из сети два метода, что может потребовать различных схем аутентификации. Заявка, доступ к которым только когда он сидел на столе можно эффективно обеспеченным через методы аутентификации операционной системы, на которой запускается. Сеть приложения, которые доступны нескольким пользователям одновременно, или через которые пользователи данных из общей базы данных, мощный импульс для контроля доступа и аутентификации. Уровень детализации и гибкости контроля доступа и аутентификации, возможности, обеспечиваемые операционной системы поможет определить, если патентованных методов должны разрабатываться. Автономное или встроенных приложений зачастую разрабатываются "с нуля" и поэтому нуждаются собственных специализированных методов.

Требования для хранения данных

Хранение данных отражает метод, используемый для хранения частных и чувствительной информации. Это включает правильное использование файла методам защиты от исходной операционной системы (например, вновь ограничивается файлу) и усиление методов защиты отдельных элементов данных (например, шифрование). Во многих случаях использование операционной системы разрешения методов является достаточным для обеспечения необходимой степени безопасности. Шифрование может быть использовано для защиты чрезвычайно важные данные, такие как пользователя и кредитной информации.

Степень, в которой необходимо применение для хранения данных, и характера, что данные требования диска для хранения данных безопасности. Хранение конфиденциальной информации часто gating фактором, определяющим высокую степень безопасности, если шифрование не требуется. Пользователь полномочия, такие как пароли, адреса, номера телефонов, и финансовые данные, следует рассматривать чувствительные, а также обращению с высокой безопасности. Информация зачастую может быть обеспечена достаточно стандартных методов разрешения файла.

При формировании требований для хранения данных, проектировщиков может возникнуть соблазн стандартизации на одном уровне безопасности. Например, если пароль хранится в файле конфигурации вместе с другими, не закрытая информация, искушение может быть сильной использовать шифрование на весь файл, как одеялом безопасности метода. Для определения потребностей хранения данных, изучение потребностей всех участвующих компонентов. В данном примере применения шифрования для nonsensitive данные можно считать неэффективным из-за компьютерной счет шифрования операций, а также отсутствие контроля гранулированных другой информации в файл. А один элемент не может быть легко доступны, если файл зашифрован. На сложность доступа к другим элементам затем резко увеличилось.

Сети и отправной точкой требования безопасности

Применения общаться пользователям операционной системы, и других приложений через пункты въезда. Они могут быть на одной машине, как применение или сети; Зачастую они обе. Методы обеспечения въезда на применение и поддержку сети, коммуникации зачастую одно и то же; Поэтому они сгруппированы здесь.

Безопасность сети связи лучше всего решать на основе анализа содержания сообщения отправляются. Приложения, которые используют сети связи для информационных сообщений или ближнего статические данные могут не требует надежности сильнее, чем протокол поддерживает. Опять же, как и в случае торговли по Интернету, это приложение, которое отправляет и получает чувствительные данные пользователя, вероятно, требует помимо более высокой безопасности метода. Вступление точек также определяет требования безопасности для приложений, что общаться в сетевой среде.

В въезда на заявления требуют высокого уровня анализа, поскольку они охватывают и сети связи функциональности. Другие также взаимодействовать с применением путем въезда. Эти функциональные области может быть защищен с помощью комбинации имеющихся операционной системы методов и определены контроля доступа и аутентификации схем, используемых в процессе применения. Анализ взаимодействия, что заявка с внешним миром позволяет дизайнеров для определения наиболее подходящего уровня безопасности необходимо. Эти взаимодействия и последующего въезда классифицируются как

· Сеть взаимодействия

· Взаимодействие с другими приложениями

· Взаимодействие с его соответствующей операционной системы

Эти категории хорошо известных функциональных областях, и дизайнеров, вероятно, уже знаете, если их применение взаимодействует в любой из этих способов. Следующим шагом является рассмотрение каждой области безопасности.

Сети, Application, и системы взаимодействия

Популярность Интернета порождает много новых приложений, которые взаимодействуют с другими компонентами системы в локальной и удаленных систем. Заявления о том, что действовать независимо от других приложений и взаимодействовать только с собой, очевидно, не требуют сетей анализа рисков.

Сеть взаимодействия может присутствовать на нескольких уровнях. Заявка может быть полностью клиент / сервер ориентированных для использования на удаленных систем распространения через Интернет. Потребность в безопасности в этих приложений становится значительно более сложным, чем в автономном заявок.

Ряд зависимостей следует говорить. Степень, в которой разработчики хотели бы представить механизмы безопасности в применении следует учитывать. В дизайнеры могут принять решение не предоставлять какие-либо внутренние механизмы безопасности. Безопасность сетевой применения затем зависит от безопасности в сетях, по которым он проходит, и общается; Сети topol ogy и брандмауэр определения максимального уровня безопасности, что заявка может опыта. Разработчик может выбрать отказаться от зависимости и обеспечить высокую степень безопасности в рамках возможного применения. Эти две крайности - большинство заявок осенью где-то в середине.

Заявки также могут использовать сеть объектов для локального общения, не суждено выйти за пределы системы, на которой запускается. Следует рассмотреть вопрос о характере этой связи для определения, если осуществление создает ненужного риска.

Необходимость взаимодействия между приложениями или с операционной системой не означает требование для сети связи. Проектировщики должны изучить методы осуществления, которые обеспечивают требуемой функциональности. Применения часто используют розетки основе методов коммуникации для предоставления этих отправных точек, поскольку они быстро и легко реализованы. Использование гнезд может обеспечить большую функциональность, чем это необходимо, однако. Заявки, которые должны общаться только с другими приложениями в локальной системе или в своих собственных операционных систем есть много методов коммуникации в их распоряжении, таких, как Интернет - розетки и КУМИ механизмов.

Обычно UNIX системы используют сокет сообщений из-за их удобства в использовании и множество документов. UNIX поддерживает несколькими видами резьбы на основе коммуникации, два из которых являются популярных ИС сокет и UNIX домен розетки.

ИС разъемов, как видно из названия, использование ИС протокол для общения и поддержки дистанционного сети связи, которая позволяет локальных и удаленных процессов общения с приложением. Многие приложения, общаться только с процессами на локальной системе и которые не требуют сети коммуникационных возможностях использования ИС розетки в качестве стандартного интерфейса. ИС гнезд не идеальным в данной ситуации, поскольку они автоматически предоставлять доступ к местным и удаленных клиентов.

Область применения гнезд внутреннего протокола UNIX для общения и не поддерживают сети связи; Они и обеспечивают связи ориентированной канал. Область розетки имеют свою долю рисков, если они используются ненадлежащим образом. UNIX домен розетки поддержки принятия файл описания, а также информационные данные. Это означает, что указатели или ручки с другими компонентами системы могут передаваться от одной заявки к другой. Эта функция доступна только в UNIX домен розетки. Если этот потенциал не является желательной или оправданно, утечки из розетки на основе общения к другому КУМИ механизм может быть лучшим выбором.

Учитывая рода информация направлена и в результате применения помогает определить требования к его метод общения. Проектировщики должны оценивать взаимодействие возможностей применения до включения стандартных функций. В этом примере, используя ИС гнезд находится в опасности, поскольку она позволяет удаленному систем для подключения к применению, когда они не должны допустить. А лучше проектной документации требование для взаимодействия с только местных приложений. Это всеобъемлющее требование заставляет разработчика использовать нечто иное, чем ИС розетки.

Операционная система взаимодействия

Взаимодействие с операционной системой часто создает еще один уровень безопасности. Многие уровни взаимодействия может произойти с операционной системой сети взаимодействия между процесса Комму nication и манипулирования файлами уже упоминалось. Два других типов взаимодействия также требуют внимания: выполнение внешних программ и использования системы и других определенных внешних звонков общие источники эксплуатации. Важные вопросы, такие, как разрешение, аутентификации, контроля доступа, и материалы проверки должны рассматриваться в сочетании с операционной системой взаимодействий.

Система звонков и заявок настоящей высокой степенью риска, когда они используются ненадлежащим образом, поскольку их характер. Эти функции часто имеются в библиотеках, которые используются многими приложениями одновременно и, что часто обеспечивают прямой доступ к операционной системе компонентов и ресурсов. Эксплуатация одной заявки через эти функции могут повлиять несколько приложений и системы.

Система требует предоставить доступ во многие общие цели системы и конкретные функции. Они позволяют заявки взаимодействовать с аппаратных компонентов, а также ядро уровня функциональности. Безопасность операционной системы и компоненты необходимо рассматривать при использовании системных вызовов. Если заявление связей вместе пользователя или данные сети с операционной системой с помощью системных вызовов, дизайнеры должны минимизации воздействия опасных неожиданным, и ненадлежащего данных.

Выполнение внешних приложений - это еще один общий, необеспеченных взаимодействия. Разработчики часто проектирования заявки на призываем другие применения различных методов. Есть sev eral причинам разработчик может понадобиться для этого, как различать функции или создать экологического контроля. Призвав других приложений также позволяет разработчикам использовать существующие функциональные возможности и ускорить выполнение заявки.

Существует опасность неотъемлемым призывая другую программу из заявки - внешние программы не всегда можно доверять. В заявке существует в динамичной среде, где можно изменить или заменить любую программу. Проблема заключается в методах, используемых для вызова применения. UNIX систем часто называемых вспомогательных функций системы () и запустить (), которые проходят в качестве параметров строку для выполнения стандартных UNIX корпуса и subprocess, соответственно. Система () слово возвращается на призыв программы после завершения, но запустить () прекращает текущие программы и заменяет его с называемые программы. Windows систем имеют запустить (), который позволяет призвать выполнения других программ. В отличие от UNIX, в Windows версию запустить () запускает программу указанного в subprocess и призывая функция не прекращается. Без подтверждения ввода, атакующие могут поставить корпус мета- символов на входной поток, заставляя оболочки для запуска возможно вредных команд и параметров. Использование этих функций в целом по неодобрительно, и следует приложить усилия, чтобы избежать их использования, поскольку они позволяют исполнения ненадежного и бесконтрольного применения. Кроме того, разработчики могут включать необходимые функции непосредственно в приложение. Использование свободно, с открытым исходным кодом значительно сокращает усилия, необходимые для этого.

Многие операционные системы позволяют запускать функциональности на различных уровнях привилегий. UNIX имеет "корневой" привилегии, Windows имеет "Администратор" и "СИСТЕМА" привилегий. Эти специальные счета можно выполнять административные задачи, и более тесного взаимодействия с операционной системой и ее услуг, чем другие счета сделать. Программы могут быть написаны для повышения уровня привилегий, когда специализированные функции необходима. Заявка и операционной системы, на которой запускается может быть подорвано, если льготы не тщательно контролироваться.

Модель мере привилегия предполагает, что заявку должен работать с минимальным набором привилегий, необходимых для выполнения большинства функций. Функциональность, которая требует больше привилегий должны быть изолированы в своем собственном модуле, вместе с тем, что определяется как процесс, класс, заявления, или даже другой системы. Даже то, что набор функций, следует также запустить по крайней мере привилегированной уровне до тех пор, пока повышенными привилегиями не требуется. В это время выше привилегии необходимо получить, и, после завершения функциональности, привилегии должны быть возвращены до минимального уровня.

Примечание

Мета - символы символов, что взять на особый смысл в том или ином контексте. Например, в рамках стандарта UNIX корпуса, то с запятой (;) - Это команда сепаратора, то есть многие команды можно поместить в одной строке запятой, когда между ними. Для труб (|) характер посылает терминал производства независимо следующим трубы, что позволяет из одного выпуска программы быть использована в другом.

Заключение

Некоторые разработчиков приложений выбрать забыть или проигнорировать безопасности их применения и поставили себя в зависимость от клиента сети или операционной системы и ее защиты. Используя эту одеяло модели безопасности shuns ответственность за предоставление защищенных приложений для общественности. Безопасность философия претендует прочной и всеобъемлющей безопасности идеология предполагает, что ничего о безопасности внешних компонентов для применения. Заявка должна быть всегда в безопасности, он может быть в отношении ее самой и внешних компонентов, с которыми она взаимодействует. Уровень последующих через это оставлено на усмотрение дизайнера или разработчика, однако

это статья добавлена Тамаш Querolin

Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions