Моделирование механизмов защиты компьютерной системы, страница 9

                Global.АутОбъект[listBox1.SelectedIndex].mDostupa = new string[Global.АутОбъект[listBox1.SelectedIndex].sizeMDostupa[0], Global.АутОбъект[listBox1.SelectedIndex].sizeMDostupa[1] - 1];

                Global.АутОбъект[listBox1.SelectedIndex].sizeMDostupa[1]--;

                for (int i = 0; i < Global.АутОбъект[listBox1.SelectedIndex].sizeMDostupa[0]; i++)

                    for (int j = 0; j < Global.АутОбъект[listBox1.SelectedIndex].sizeMDostupa[1]; j++)

                        Global.АутОбъект[listBox1.SelectedIndex].mDostupa[i, j] = bufM[i, j];

                dataGridView1.RowCount = Global.АутОбъект[listBox1.SelectedIndex].sizeMDostupa[0] - 1;

                dataGridView1.ColumnCount = Global.АутОбъект[listBox1.SelectedIndex].sizeMDostupa[1] - 1;

                for (int i = 1; i < Global.АутОбъект[listBox1.SelectedIndex].sizeMDostupa[1]; i++)

                {

                    dataGridView1.Columns[i - 1].HeaderCell.Value = Global.АутОбъект[listBox1.SelectedIndex].mDostupa[0, i];

                }

                textBox7.Text = "";

            }

            else MessageBox.Show("Поле не может быть пустым!", "Ошибка!");

        }

Определение объекта,  к которому обращаются субъекты, количество которых больше заданного числа

Формализация задачи

Определение объекта, к которому обращаются субъекты, количество которых больше заданного числа.

Описание элементов интерфейса формы администратора

Словесное описание

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

Формализация входных и выходных данных

Входные данные:

·  АутОбъект – аутентифицирующий объект

·  login – логин, строка

Выходные данные:

·  АутОбъект – аутентифицирующий объект

Определение математических и логических зависимостей

max = содержимое текстового поля

col = 0

Для j = 1, с шагом 1, пока j <ширина матрицы доступа

               Для i = 1, с шагом 1, пока i < высота матрицы доступа

                              Если содержимое ячейки > 0, тогда col += 1

               Если col > max, тогда вывод субъекта

               col = 0

Схема алгоритма

Код программы

private void button12_Click(object sender, EventArgs e)

        {

            listBox5.Items.Clear();

            int max = Convert.ToInt16(textBox8.Text);

            int col = 0;

            //int n = 0;

            for (int j = 1; j < Global.АутОбъект[listBox1.SelectedIndex].sizeMDostupa[1]; j++)

            {

                for (int i = 1; i < Global.АутОбъект[listBox1.SelectedIndex].sizeMDostupa[0]; i++)

                {              

                    if (Global.АутОбъект[listBox1.SelectedIndex].mDostupa[i, j].ToCharArray().Length > 0) col++;

                    //n = i;

                }

                if (col > max) listBox5.Items.Add(Global.АутОбъект[listBox1.SelectedIndex].mDostupa[0,j]);

                col = 0;

            }

        }

Моделирование политики безопасности МБО

Формализация задачи

При разработке политики безопасности МБО использовать формальную модель Типизированная матрица доступа (удаление субъекта из матрицы прав доступа с учетом типов).

Формализация входных и выходных данных

Входные данные:

·  Sybgect – имя объекта, удаляемого из матрицы прав доступа

·  Sybgecttype – тип объекта, удаляемого из матрицы прав доступа

Выходные данные:

·  Матрица прав доступа в состоянии Qt+1

Определение математических и логических зависимостей

Для i = 0..9

Если ESybgect = Sybgect и ESybgecttype = Sybgecttype, то

            Для z=0..9

Если Sybgect0z = ESybgect, то O(Qt+1) = O(Qt) / ESybgect и Для j=0..9

R(Qt+1) = R(Qt) / Rji

Иначе  Вывести «Действие запрещено»

Иначе Вывести «Такого субъекта не существует или неверно задан тип»

Схема алгоритма


Граф иерархии типов

Printer,VB,OS,Word,Файлы VB,Файлы Word