Pull to refresh
  • by relevance
  • by date
  • by rating

«Распределенное управление информационными потоками»/«Distributed Information Flow Control»

Information Security *
Недавно по просьбе своего научного руководителя делал компиляцию и обзор для своей группы некоторых актуальных топиков в сфере безопасности ОС и систем в целом: automated trust negotiation (автоматическое «обсуждение» прав доступа — не знаю как правильно перевести) и information flow control (контроль потоков информации). Хотел запостить эту компиляцию, но к своему удивлению нашел, на мой взгляд, необоснованно мало сведений о DIFC (distributed information flow control/распределенном управлении инфромационными потоками) в .RU и поэтому решил написать эту небольшую статью по DIFC.

Мотивация
Практически единственным способом обеспечивать безопасность и приватность данных в системе принято считать аутенификацию (отвечает на вопрос: «Кто это сказал?») и авторизацию («Что он имеет право делать с этими данными»). Т.е. если программе необходим доступ к некоторым данным, мы фактически имеем 2 варианта: отказать или поверить. Если мы не доверяем этой программе, то теряем возможность работать с ней и возможно лишаемся важной функциональности. Если же мы решаем, что доверяем программе (и/или ее разработчикам), то программа фактически становится «полновластным хозяином» этой информации (или копии). Такой принцип в литературе называют All-Or-Nothing — «Все или ничего».

Естественно, что этот принцип недостаточно гибок и кроме того является основной причиной многих уязвимостей в системах, таких как переполнение буфера. В общем случае, этот принцип не позволяет создавать более интересные приложения, где права доступа не ограничиваются традиционными: «no access», «read only» и «read/write». Оказывается, что существуют системы, которые позволяют намного более гибкие разграничения прав доступа к данным — системы с поддержкой управления информационными потоками. Самой главной особенностью этих систем является то, что они следят за данными на всем протяжении их жизненного цикла в системе. Вспомним, что традиционно система ответственна только за начальный доступ к данным, например, проверку имеет ли программа доступ к файлу, а что после этого программа делает с этими данными систему уже не интересует.

Классический пример. Допустим, что в системе есть 2 пользователя Алиса и Боб. Они хотят назначить встречу, но так чтобы не раскрывать слишком много информации о своем расписании недели. Можно ли в многопользовательской системе Linux/Unix/Windows написать программу таким образом, чтобы она имела одновременный доступ к календарям и Алисы, и Боба и гарантировала конфиденциальность обоих пользователей системы?
И можно ли?!
Total votes 23: ↑19 and ↓4 +15
Views 3.1K
Comments 16

Flume — управляем потоками данных. Часть 1

DCA (Data-Centric Alliance) corporate blog Website development *System Analysis and Design *Big Data *Hadoop *
Привет, Хабр! В этом цикле статей я планирую рассказать о том, как можно организовать сбор и передачу данных с помощью одного из инструментов Hadoop — Apache Flume.

Читать дальше →
Total votes 19: ↑18 and ↓1 +17
Views 27K
Comments 11

Flume — управляем потоками данных. Часть 2

DCA (Data-Centric Alliance) corporate blog Website development *System Analysis and Design *Big Data *Hadoop *
Привет, Хабр! Мы продолжаем цикл статей, посвященный Apache Flume. В предыдущей части мы поверхностно рассмотрели этот инструмент, разобрались с тем, как его настраивать и запускать. В этот раз статья будет посвящена ключевым компонентам Flume, с помощью которых не страшно манипулировать уже настоящими данными.

Читать дальше →
Total votes 32: ↑31 and ↓1 +30
Views 12K
Comments 12

Flume — управляем потоками данных. Часть 3

DCA (Data-Centric Alliance) corporate blog System Analysis and Design *Big Data *Hadoop *
Привет, Хабр! После долгой паузы мы наконец-то возвращаемся к разбору Apache Flume. В предыдущих статьях мы познакомились с Flume (Часть 1) и разобрались, как настраивать основные его компоненты (Часть 2). В этой, заключительной, части цикла мы рассмотрим следующие вопросы:

  • Как настроить мониторинг компонентов узла.
  • Как написать собственную реализацию компонента Flume.
  • Проектирование полноценной транспортной сети.

Читать дальше →
Total votes 21: ↑20 and ↓1 +19
Views 12K
Comments 5