Защита от утечки конфиденциальной информации
Анализ и обзор существующих методов и решений обнаружения утечки конфиденциальной информации. Защита электронной почты от Proofpoint. Алгоритмы обнаружения текстовых областей. Пример работы программного модуля в изображениях с текстом и сложным фоном.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 06.03.2015 |
Размер файла | 1,6 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
1.3.1.2.1 Многошкальная декомпозиция небольшой волны
Преобразование небольшой волны (рисунок 17) используется в этом алгоритме для хорошего определения местоположения, вычисляется с помощью отдельного фильтра как:
(а) Оригинальное изображение с различным размером текста;
(b) После преобразования.
Рис. 18. Двухуровневое преобразование волны
«H» и «G» - высоки и низкие полосовые фильтры соответственно, местоположения в двух уровнях декомпозиции, - многошкальное представление глубины оригинального изображения.
Текст различных размеров может быть извлечен из различных уровней декомпозиции. [16]
1.3.1.2.2 Обнаружение предполагаемых участков текста
Рассмотрим рисунок 19:
(a) Оригинальное изображение;
(b) Пиксели кандидата в первом масштабе;
(c) Горизонтальные предполагаемые текстовые области в первом уровне;
(d) Основанный на плотности метод.
Рис. 19. Обнаружение текстовых областей кандидатов
Рассматривая разнообразие интенсивности пикселей в текстовых областях (рисунок 19(b)) определяем особенность энергии небольшой волны пикселя ) в уровне n как:
Для обнаружения пикселей предполагаемой области, интегрируются коэффициенты небольшой волны в трех высокочастотных подполосах «LH», «HL» и «HH». Особенность энергии волны отражает разнообразие интенсивности вокруг пикселя в уровне n. Пиксель будет являться пикселем текста в уровне n если его энергия волны будет больше чем динамический порог:
Где является картой пикселей предполагаемых текстовых областей в уровне n как показано на рисунке 1.18(b), пиксели кандидата спроектированы в оригинальное изображение. - порог, определенный как:
Где - основной порог, значение которого 30.0, при котором текстовый пиксель может быть воспринят человеком. определен гистограммой энергии (рисунок 1.19). Значение может быть вычислено как:
гарантирует, что пиксели, которые находятся в темной области гистограммы (рисунок 20) будут являться пикселями предполагаемой текстовой области. Опытным путем найдено, что текстовые пиксели в изображении редко превышают 15% всех пикселей этого изображения. Поэтому выбран как 0,15. Определение таким образом может гарантировать, что текстовые области будут найдены в изображениях с различным контрастом. Для изображений с низким контрастом заменятся , это гарантирует, что большинство фоновых пикселей исключаться. С Инкрементом контраста и сложности изображения, выбран и адаптивно вычислен. И чем больше контраст в изображении, тем больше должен быть. Пиксели, контраст которых больше чем , являются пикселями текста. [16]
Рис. 20. Гистограмма энергии небольшой волны изображения.
1.3.1.2.3 Основанный на плотности рост области
Текстовая область сделана из кластера текстовых пикселей. Плотные текстовые пиксели могут создать текстовую область, изолированные - искажения. Для того чтобы соединить текстовые пиксели (блоки) в текстовые области используется специальная морфологическая операция - выращивающий метод:
(1) Ищется начальный пиксель;
(2) Если начальный пиксель «Р» найден, создается новая область. После чего итерационно собираются непомеченные пиксели кандидатов и маркируются этой областью;
(3) Если есть еще начальные пиксели, то начинается с шага (1);
(4) Маркируются найденные области как текстовые, а оставшиеся пиксели объединяются в фон.
Рисунок 1.18(d) является примером тестовых областей, найденных предложенной методикой, основанной на плотности пикселей. [16]
1.3.1.2.4 Получение строк текста
Ориентация текстовых строк в области кандидата может быть как показано на рисунке 21.
Рис. 21. Различна ориентация текстовых шаблонов
Много обнаруженных текстовых областей содержат многострочный текст. Специальная операция конфигурации проектирования используется, чтобы разделить эти области на текстовые строки. [16]
Текстовые и не текстовые области имеют различную дисперсию интенсивностей и пространственные распределения значений. Они вычисляются по формулам:
Особенности энергии, энтропии, инерции, местной однородности и корреляции в матрицах cо-вхождения вычислены соответственно как:
Далее все сводится опять же к обучению SVM классификатора.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
3
Рис. 22. Результаты испытаний данного алгоритма
1.3.1.3 Штриховой фильтр
Так как основной алгоритм базируются на штриховом фильтре, рассмотрим его более подробно.
Рис. 23. Блок схема Штрихового фильтра
Штриховой фильтр (рисунок 23) предназначен для текстовой локализации в видео и изображениях.
Рис. 24. Области для Штрихового фильтра
Для каждого пикселя в изображении вычисляется отклик штрихового фильтра (рисунок 24). Центральная точка обозначает пиксель изображения, вокруг которого есть три прямоугольных области. [17]
Штриховой отклик определятся по формуле:
- яркий штриховой отклик;
- темный штриховой отклик;
Рис. 25. Конфигурация Штрихового фильтра
Конечная ориентация - масштаб Штрихового фильтра определяются по формуле:
1.3.1.4 Метод опорных векторов SVM
Так как во всех изученных алгоритмах используется так называемый SVM классификатор, основанный на методе опорных векторов, решено рассмотреть его более подробно.
Рассмотрим стандартную задачу классификации - пространство Rn, два класса объектов - и предположим, что классы линейно отделимы. Уравнение разделяющей гиперплоскости имеет вид , где w - нормаль к гиперплоскости. Полупространства, образуемые этой гиперплоскостью, задаются неравенствами и . Т.е. для всех точек одного класса будет выполнено первое неравенство, а для точек другого класса - второе. Таким образом, мы ищем решающую функцию в виде:
Ясно, что таких гиперплоскостей может существовать бесконечно много. Чтобы понять, какая именно нужна нам, вернемся к оценке риска классификации. В.Н. Вапником была доказана теорема, что риск классификации может быть оценен в терминах эмпирического риска (посчитанного на тренировочных данных) и слагаемого, учитывающего сложность класса функций, из которого выбирается решение:
Минимизация риска классификации эквивалентна решению следующей квадратичной задачи:
Размеры обучающей выборки следует оценивать как минимум несколькими сотнями тысяч. Это делает стандартные численные методы квадратичного программирования (метод Ньютона, прямодвойственные методы внутренней точки и другие) технически неприменимыми.
Недавно было предложено несколько интересных алгоритмов решения этой проблемы. Одни опираются на факт, что решение задачи не изменится, если из матрицы выкинуть строки и столбцы, соответствующие нулевым множителям Лагранжа. Другие предлагают решать подзадачи фиксированного размера, двигаясь в направлении наибольшего спуска целевой функции. Для решения задачи оптимизации, возникающей при обучении SVM, наиболее эффективным оказался метод, известный как Sequential Minimal Optimization (SMO).
Отличие SMO от других алгоритмов заключается в том, что на каждом шаге он решает минимально возможную подзадачу. Так как в задаче присутствует линейное ограничение, то минимальное количество множителей Лагранжа для совместной оптимизации равно двум. А для двух множителей задачу можно решить аналитически, не прибегая к численным методам квадратичного программирования. Несмотря на то, что приходится решать много подзадач, каждая из них решается настолько легко, что общее решение задачи может быть найдено очень быстро. К тому же, при таком подходе нет необходимости хранить даже часть Гессиана в памяти. Именно это алгоритм и был выбран для решения задачи оптимизации, возникающей при обучении SVM. [9, 10]
1.3.2 Разработка алгоритма
В основу моего алгоритма был взят существующий алгоритм «Быстрое и эффективное текстовое обнаружение» разработанный в Университете Дипломированного специалиста китайской Академии Наук, Пекин, Китай.
Рис. 26. Блок-схема алгоритма
1.3.2.1 Предварительная обработка изображений
Это главная функция, она включает в себя:
Нахождение размеров изображения (ширина, высота);
Перевод изображения в «Grayscale» режим;
Сжатие изображений (для тех, чей размер больше 600 пикселей по обеим сторонам);
Нахождение среднего отклонения интенсивности по всему изображению.
Перевод изображения в «Grayscale» режим так называемый «Серый» режим обязателен, это упрощает поиск «контрастных» пикселей и среднего отклонения интенсивности.
Изображение сжимается до размеров 600 пикселей по ширине или высоте, в зависимости от его пропорций.
Нахождение среднего отклонения интенсивности пикселей необходимо для того чтобы выявить «особо контрастных соседей» для каждого пикселя. Экспериментально вычислено, что именно среднее значение отклонения дает более эффективный результат, нежели среднее квадратичное.
1.3.2.2 Поиск контрастных пикселей
Функция подсчитывает число «контрастных соседей» для каждого пикселя внутренней области рисунка (не лежащих на границе рисунка) и помещает результат в матрицу.
Эксперименты показали, что число 35 как пороговая разница в интенсивностях двух пикселей вполне работоспособно и очень эффективно.
Рассмотрим на примере:
01 08 02
45 56 48
11 30 14
У центрального «красного» пикселя разница в интенсивности больше 35 с пятью «синими» пикселями, поэтому этому пикселю присваиваем «контрастность» равную 5. В каждом квадратике, для каждого пикселя, число его «особо контрастных соседей» не может превзойти 8.
1.3.2.3 Формирование списка предполагаемых текстовых областей
Алгоритм предполагает, что размер символа в шрифте лежит в промежутке от 8 до 32 пикселей.
Это основная функция, так называемая «счетчик штрихованности», аналог «Штриховых Карт». Она вычисляет степень «штрихованности» квадратного участка изображения размером 24 на 24 пикселя.
Рассмотрим подробнее:
Эта функция в окошке 24 на 24 пикселя в матрице считает количество пикселей, у которых число «особо контрастных соседей» равно 3 или 6. Это самая важная часть. Число «особо контрастных соседей» может быть от 0 до 8, но нас интересует только 3 или 6. Это связано с тем, что символ - есть набор вертикальных, горизонтальных и диагональных палочек.
Рассмотрим на примере:
0000000
00###00
00###00
00###00
00###00
00###00
00###00
00###00
0000000
Через «#» обозначена часть буквы. Большинство ее поверхностных пикселей имеют 3 «особо контрастных соседа», угловые пиксели имеют 5, но углов в символе мало, поэтому можно проигнорировать их.
Чем больше таких пикселей в окошке, тем больше его «штрихованность». Также только для 6 «особо контрастных соседей». Это когда символ толщиной в один пиксель.
Пример:
0000000000000
00#########00
00#0000000000
00#0000000000
00#0000000000
00#0000000000
00#0000000000
00#0000000000
0000000000000
У всех пикселей этой буквы "Г" 6 «особо контрастных соседей», кроме двух конечных пикселей - у них 7. Но конечных пикселей намного меньше "внутренних", поэтому их тоже можно проигнорировать.
Далее результаты вычисления количества «особо контрастных соседей» помещаются в массив, и вычисляется сумма количества пикселей имеющих 3 и 6 «особо контрастных соседа». С помощью нее и рассчитывается «штрихованность» окошка.
1.3.2.4 Вычисление предполагаемых текстовых областей
Функция формирует список координат прямоугольных текстоподобных областей изображения путем двойного вызова функции «Формирование списка предполагаемых текстовых областей» и заполнения рабочей матрицы теми пикселями, которые попали в квадраты, прошедшие критерий на «текстоподобность».
1.3.3 Практическая реализация алгоритма
Для практической реализации алгоритма был выбран язык «Python 2.6», так как он обладает достаточным и удобным набором средств для решения поставленной задачи. Реализация алгоритма на других языках, например «С++» более трудоемкая, но скорость работы программного модуля значительно возрастет. «Python» был выбран для демонстрации работоспособности модуля и алгоритма в рамках поставленной задачи.
Разработанный программный модуль обрабатывает самые распространенные форматы графических файлов, такие как: '.bmp', '.jpg', '.jpeg', '.gif', '.png'. Модуль берет графические файлы из папки, путь к которой прописан в коде программы и, обрабатывая их, создает новые графический файлы с предполагаемыми текстовыми областями в этой же папке. Имя новых файлов выглядит как «zz_имя_файла». После того как все графические файлы в папке обработаны создается файл отчета в виде html - страницы, содержащей: входные фалы, результат обработки и описание файлов. Также в главном окне программы появляется информация по мере обрабатывания файлов и после завершения обработки (рисунок 26).
Рис. 27. Главное окно программы
В модуле есть параметры, которые отвечают за результат обработки и за определение потенциально опасных изображений, в которых может содержаться конфиденциальная информация, такие как:
Минимум для числа символов в «широком» участке текста (ns);
«Опасность» для числа всех участков (aw);
«Опасность» для числа всех "широких" участков (bw);
«Опасность» для общего числа символов во всех участках (cw).
Эти параметры можно менять в тексте программы для обеспечения различной степени фильтрации изображений и выявления потенциально «опасных». Фильтрация и выявление потенциально «опасных» изображений происходит по принципу:
Обнаружено текстоподобных участков: «Х» Из них содержащих не менее «ns» «условных» символов: «Y» .Общее число «условных» символов во всех участках: «Z», где X, Y, Z - значения, полученные в результате исследования изображения, сопоставляемые с параметрами.
Если X>aw и Y>bw - Да, то помечаем изображение как «Warning»;
Нет, то Если Z>cw - Да, помечаем изображение как «Warning»;
Нет, то изображение не помечается, где ns, аw, bw, cw - коэффициенты политики безопасности, которые вводим в коде.
Другими словами, сравниваем с заданным параметром «аw» количество «текстоподобных» участков, обнаруженных в изображении, также сравниваем количество «текстоподобных» участков содержащих «ns» «условных» символов с заданным параметром «bw». Если значения, найденные после исследования больше параметров, то на изображение ставится метка «Warning», если нет, то сравниваем общее количество «условных» символов в изображении с заданным числом «cw». Если общее количество «условных» символов в изображении больше заданного параметра, то на изображение ставится метка «Warning», если меньше, то анализируем следующие изображения.
Метка «Warning» необходима для того чтобы отметить изображение как потенциально «опасное», которое может содержать в себе конфиденциальную информацию. Для того чтобы система защиты, оснащенная данным модулем, была оповещена об «опасном» графическом файле и могла применить к нему определенные действия, например отправить на исследование другими модулями этой системы.
1.3.3.1 Пример работы программного модуля
Рассмотрим пример работы модуля на графическом файле:
Исходный файл:
Рис. 28. Пример исследуемого изображения
В обработанном изображении выделяются предполагаемые текстовые блоки, остальное закрашивается серым фоном.
Файл после обработки:
Рис. 29. Результат исследования
При этом информация в отчете будет следующая:
Файл: text12.JPG;
Размеры растра: 816x891;
Имидж сжат до размеров: 600x655;
Обнаружено текстоподобных участков: 79;
Из них содержащих не менее 20 условных символов: 39;
Общее число условных символов во всех участках: 1534;
***WARNING***.
Это исследование было проведено со следующими параметрами в коде программы:
ns = 20;
aw = 15;
bw = 7;
cw = 700.
Где:
Минимум для числа символов в "широком" участке текста (ns);
«Опасность» для числа всех участков (aw);
«Опасность» для числа всех "широких" участков (bw);
«Опасность» для общего числа символов во всех участках (cw).
Изображение после исследования получила метку «WARNING» потому как данные, полученные после исследования, не удовлетворяют критериям безопасности, установленным нашими параметрами. Поэтому изображение признано потенциально «опасным», то есть оно может содержать в себе конфиденциальную информацию.
1.3.3.2 Особенности программного модуля
Параметр «cw» как общее число «условных» символов в изображении является глобальным параметром, который несет в себе возможность подстраховки от утечки информации, раскиданной по изображению небольшими текстовыми блоками, которые предыдущие условия могут пропустить, как не несущее в себе достаточного объема информации изображение.
Также в программном модуле есть другие особенности, которые позволяют снизить риск ложного обнаружения или наоборот - пропуска «опасного» графического файла.
Например:
(1) Если передаваемое изображение с потенциально «опасным» текстом повернуто на 90 градусов, исследуя его, текст естественно будет упущен, поэтому в модуле введена проверка изображения в перевернутом состоянии;
(2) Если «Штрихованность» предполагаемого текстового квадрата размером 24 на 24 пикселя очень большая и превосходит 3000, то это не будет являться текстовой область, так как таких плотных текстовых областей не бывает. В данной программе используется ограничение на плотность «Штрихованности» в интервале от 600 до 3000. Экспериментальным путем установлено что «Штрихованность» всех буквы и иероглифов в тексте попадает в промежуток от 600 до 3000;
(3) Сетка по своей структуре очень похожа не текст, от ее детектирования избавляемся с помощью пункта (2);
(4) Параметр «cw» как глобальный параметр, который несет функцию проверки на большое количество информации, раскиданной по изображению мелкими текстовыми блоками.
1.3.3.3 Пример работы особенностей программного модуля
Рассмотрим пример работы особенностей программного модуля:
Исходный файл:
Как видно из рисунка 29 исследуемое изображение повернуто на 90 градусов и попадает под особенность (1).
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
3
Рис. 30. Пример исследуемого изображения
Файл после обработки:
Как видно из рисунка 31 программный модуль повернул изображение на 90 градусов и исследовал его. К сожалению, мы не можем отследить в какую сторону поворачивать изображение, поэтому результатом может оказаться перевернутое изображение. На особенность обнаружения текстовых областей это не влияет, так как текстовые блоки в любом положении не меняют своих свойств.
Рис. 31. Результат исследования
Исходный файл:
Как видно из рисунка 31 на изображении присутствует сетка и в ней текст. Оно попадает под свойства (2) и (3).
Рис. 32. Пример исследуемого изображения
Файл после обработки:
Как видно из рисунка 33 текст был успешно обнаружен, несмотря на наличие сетки, которая по своим свойствам очень походит на текстовую область, а сама сетка была проигнорирована.
Рис. 33. Результат исследования
1.3.3.4 Пример работы программного модуля в изображениях с различным текстом и сложным фоном
Такие изображения часто используются при распространении рекламы и спам-сообщений (рисунок 35):
Исходный файл:
Рис. 34. Пример исследуемого изображения
Файл после обработки:
Рис. 35. Результат исследования
Пример работы модуля на немного повернутом изображении со сложным фоном (рисунок 37):
Рис. 36. Пример исследуемого изображения
Исходный файл:
Файл после обработки:
Рис. 37. Результат исследования
Пример работы модуля на изображении со сложным текстом (рисунок 39):
Исходный файл:
Рис. 38. Пример исследуемого изображения
Файл после обработки:
Рис. 39. Результат исследования
Пример работы модуля на сильно повернутом изображении со сложным текстом и фоном (рисунок 41):
Исходный файл:
Рис. 40. Пример исследуемого изображения
Файл после обработки:
Рис. 41. Результат исследования
1.3.3.5 Текст программы
Текст программы в Приложении 1.
1.3.4 Вывод
Программный модуль разработан для обнаружения блоков текста большого объема в изображениях, которые могут содержать в себе конфиденциальную информацию. Также он хорошо работает в изображениях со сложным текстом и сложным фоном. Одним из его достоинств является то, что на обнаружение текста не влияет его размер или вид, в отличие от существующих аналогичных решений (рисунок 38).
Главные недостатки модуля заключаются в его быстродействии и в том, что обнаружение текста будет безуспешным, если его цвет слабо отличается от фона изображения, но человеческий глаз может уловить его, или он повернут на достаточно сильный угол по отношению к ориентации изображения, как показано на рисунке 40. Таким образом, изучив все аспекты достоинств и недостатков разрабатываемого модуля, можно сделать вывод, что для решения поставленной задачи он подходит, но для обнаружения спама его следует усовершенствовать, что будет моим дальнейшим исследованием.
1.4 Экспериментальное обоснование результатов исследования
1.4.1 Выбор метода верификации
Для проведения экспериментов был выбран метод «ROC» кривых. Понятие кривых «ROC» (Receiver Operating Characteristic - функциональные характеристики приемника) взято из методологии анализа качества приёма сигнала (Signal Detection Analysis).
Теория, стоящая за этим анализом, Theorie of Signal Detectability (TSD - "Теория определимости сигнала"), хотя и происходит первоначально из электроники и электротехники, но может также быть применена в любой области для анализа полученных результатов (рисунок 42).
Рис. 42. Пример построения «ROC» кривых
Для построения «ROC» кривых необходимы значения:
true positive rate (TPR) - истинная норма;
false positive rate (FPR) - норма ошибочного допуска.
Где TPR - позитивная истинная норма, а FPR - норма ошибочного допуска. TPR определяет производительность среди всех правильных позитивных выборок, доступных во время теста. FPR, с другой стороны, определяет, сколько неправильных позитивных результатов среди всех отрицательных выборок, доступных во время теста. [11, 12]
Они рассчитываются по формулам:
TPR = TP / P = TP / (TP + FN);
FPR = FP / N = FP / (FP + TN).
1.4.2 Технология проведения экспериментов
Для проведения экспериментов и построения «ROC» кривых был взят набор из 130 графических файлов, 50 из которых содержат потенциально «опасные» текстовые области, а 80 - не содержат большого количества текстовой информации и не являются потенциально «опасными». Изображения были выбраны различной сложности и различных форматов.
В большинстве изображений присутствует сложный фон и сложный текст, различной формы и ориентации, как на рисунке 43, 44 для изображений с текстовыми областями. И сложный фон с различной контрастностью, как на рисунке 45 для изображений с маленькими текстовыми блоками или без текста.
Рис. 43. Пример изображения
Рис. 44. Пример изображения
Рис. 45. Пример изображения
Все изображения были подобраны так, чтобы расположение текстовых блоков не было повернуто под сильным углом по отношению к ориентации изображения как на рисунке 36. Также, чтобы текст в изображениях не сливался с фоном. Такие изображения как на рисунке 40 не подвергались исследованию.
1.4.3 Результаты тестирования
Для построения «ROC» кривых модуль проанализировал графические файлы с различным параметрами:
Минимум для числа символов в «широком» участке текста (ns);
«Опасность» для числа всех участков (aw);
«Опасность» для числа всех "широких" участков (bw);
Параметр «cw» как общее число «условных» символов в изображении, который описан в особенностях программного модуля и присутствует в наборе основных параметров, не брался в расчет. Он является глобальным параметром и несет в себе возможность подстраховки от утечки информации, раскиданной по изображению небольшими текстовыми блоками.
Тест заключался в изменении параметров «ns», «aw» и «bw» и подсчета TPR и FPR по формулам 1.35 и 1.36 по результатам проведенного тестирования.
Эти результаты необходимы для построения «ROC» кривых:
1. Тестирование с параметрами:
ns = 20;
aw = 15;
bw = 7.
TPR = TP / P = TP / (TP + FN);
FPR = FP / N = FP / (FP + TN).
В нашем случае:
TP - это количество правильно обнаруженных изображений с текстом;
TN - это количество правильно игнорированных изображений без текста;
FN - это количество пропущенных изображений с текстом;
FP - это количество обнаруженных изображений без текста.
С данными параметрами было обнаружено 48 изображений с текстом из 50, т.е. 2 изображения были пропущены. Изображения без текста были все игнорированы. Следовательно:
TPR = 48 / (48 + 2) = 0,96;
FPR = 0 / (80 + 0) = 0.
2. Тестирование с параметрами:
ns = 10;
aw = 10;
bw = 3.
С данными параметрами было обнаружено 50 изображений с текстом из 50 и 2 изображения без текста были ложно помечены меткой «Warning». Следовательно:
TPR = 50 / (50 + 0) = 1;
FPR = 2 / (2 + 78) = 0,025
3. Тестирование с параметрами:
ns = 5;
aw = 5;
bw = 3.
TPR = 50 / (50 + 0) = 1;
FPR = 16 / (16 + 64) = 0,2.
4. Тестирование с параметрами:
ns = 5;
aw = 15;
bw = 5.
TPR = 49 / (49 + 1) = 0,98;
FPR = 1 / (1 + 79) = 0,0125.
5. Тестирование с параметрами:
ns = 10;
aw = 5;
bw = 5.
TPR = 50 / (0 + 50) = 1;
FPR = 3 / (3 + 77) = 0,0375.
6. Тестирование с параметрами:
ns = 3;
aw = 3;
bw = 1.
TPR = 50 / (0 + 50) = 1;
FPR = 28 / (28 + 52) = 0,35.
1.4.4 Оценка эффективности обнаружения утечки информации
Из полученных результатов можно построить «ROC» кривую (рисунок 46):
TPR - true positive rate
FPR - false positive rate
Рис. 46. «ROC» кривая экспериментов
«ROC» кривая демонстрирует оценку эффективности обнаружения утечки информации, в зависимости от различных параметров в модуле.
Из графика видно, что эффективность будет наилучшей при параметрах, соответствующих полученным данным:
TPR = 0,98 и FPR = 0,0125.
Такими параметрами являются:
ns = 5;
aw = 15;
bw = 5.
При этих параметрах достигается эффективность порядка 98,5%.
Поэтому сам алгоритм и реализованный программный модуль можно считать эффективными для определенного типа изображений, над которыми проводились эксперименты.
1.4.5 Рекомендации по использованию разработанного модуля
Данный программный модуль разработан для демонстрации работоспособности алгоритма в рамках поставленной задачи. Также он может использоваться существующими системами защиты в целях предотвращения утечки конфиденциальной информации в графических файлах. Перекрывая данный канал от утечки по нему конфиденциальной информации, модуль повышает комплексность системы защиты и скорость ее работы. [14]
Пример использования данного модуля в системе защиты показан на рисунке 47.
Рис. 47. Пример использования модуля
Пример взаимодействия данного модуля с другими модулями системы защиты показан на рисунке 48.
Рисунок 48. Блок-схема взаимодействия модуля с другими модулями системы защиты
1.4.6 Вывод
На основании проведенных экспериментов на большом наборе из 130 изображений, которые были подобраны исходя из определенных условий, программный модуль показал эффективность - 98,5%, в соответствии с заданными критериями и условиями, что с учетом простоты его алгоритма и практической реализации можно считать очень высоким результатом. Поэтому данный модуль можно рекомендовать к использованию в различных системах защиты, с группой других модулей (рисунок 47), для предотвращения утечки конфиденциальной информации в графических файлах.
Минусами данного модуля является его быстродействие, что можно исправить, переписав его на другой язык программирования, например «С++» и определенные условия нахождения текстовых областей в графическом файле. Устранение данных недостатков будет являться результатом моих дальнейших исследований в данной области.
2. Экологическая часть и безопасность жизнедеятельности
2.1 Исследование возможных опасных и вредных факторов, возникающих при работе с ЭВМ, и их воздействие на пользователей
Любой производственный процесс, в том числе и работа с вычислительной техникой, сопряжен с появлением опасных и вредных факторов.
Опасным называется фактор, воздействие которого на человека вызывает травму, то есть внезапное повреждение организма в результате воздействия внешних факторов.
Вредным называется фактор, длительное воздействие которого на человека, приводит к профессиональным заболеваниям. Факторы различаются в зависимости от источника возникновения.
2.1.1 Исследование возможных опасных и вредных факторов, возникающих при работе с ЭВМ
Питание ЭВМ производится от сети 220В. Так как безопасным для человека напряжением является напряжение 40В, то при работе на ЭВМ опасным фактором является поражение электрическим током.
В дисплее ЭВМ высоковольтный блок строчной развертки и выходного строчного трансформатора вырабатывает высокое напряжение до 25кВ для второго анода электронно-лучевой трубки. А при напряжении от 5 до 300 кВ возникает рентгеновское излучение различной жесткости, которое является вредным фактором при работе с ПЭВМ (при 15-25 кВ возникает мягкое рентгеновское излучение).
Развертка ЭЛТ создается напряжением с частотой:
85 Гц (кадровая развертка);
42 кГц (строчная развертка).
Следовательно, пользователь попадает в зону электромагнитного излучения низкой частоты, которое является вредным фактором.
Во время работы компьютера дисплей создает ультрафиолетовое излучение, при повышении плотности которого > 10 Вт/м2, оно становиться для человека вредным фактором. Его воздействие особенно сказывается при длительной работе с компьютером.
Во время работы компьютера вследствие явления статического электричества происходит электризация пыли и мелких частиц, которые притягивается к экрану.
Вывод
При эксплуатации перечисленных элементов вычислительной техники могут возникнуть следующие опасные и вредные факторы:
поражение электрическим током;
рентгеновское излучение;
электромагнитное излучение;
ультрафиолетовое излучение;
статическое электричество.
2.1.2 Анализ влияния опасных и вредных факторов на пользователя
2.1.2.1 Влияние электрического тока
Электрический ток, воздействуя на человека, приводит к травмам. Такими травмами являются:
Общие травмы:
судорожное сокращение мышц, без потери сознания;
судорожное сокращение мышц, с потерей сознания;
потеря сознания с нарушением работы органов дыхания и кровообращения;
состояние клинической смерти;
Местные травмы:
электрические ожоги;
электрический знак;
электро-автольмия.
Проходя через тело человека, электрический ток оказывает следующие воздействия:
термическое (нагрев тканей и биологической среды);
электролитическое (разложение крови и плазмы);
биологическое (способность тока возбуждать и раздражать живые ткани организма);
механическое (возникает опасность механического травмирования в результате судорожного сокращения мышц).
Наиболее опасным переменным током является ток 20 - 100 Гц. Так как компьютер питается от сети переменного тока частотой 50 Гц, то этот ток является опасным для человека.
2.1.2.2 Влияние рентгеновского излучения
В организме происходит:
торможение функций кроветворных органов;
нарушение нормальной свертываемости крови и т.д.
2.1.2.3 Влияние электромагнитных излучений низкой частоты
Электромагнитные поля с частотой 60 Гц и выше могут инициировать изменения в клетках животных (вплоть до нарушения синтеза ДНК). В отличие от рентгеновского излучения, электромагнитные волны обладают необычным свойством: опасность их воздействия при снижении интенсивности не уменьшается, мало того, некоторые поля действуют на клетки тела только при малых интенсивностях или на конкретных частотах. Оказывается переменное электромагнитное поле, совершающее колебания с частотой порядка 60 Гц, вовлекает в аналогичные колебания молекулы любого типа, независимо от того, находятся они в мозге человека или в его теле. Результатом этого является изменение активности ферментов и клеточного иммунитета, причем сходные процессы наблюдаются в организмах при возникновении опухолей.
2.1.2.4 Влияние ультрафиолетового излучения
Ультрафиолетовое излучение - электромагнитное излучение в области, которая примыкает к коротким волнам и лежит в диапазоне длин волн ~ 200-400 нм.
Различают следующие спектральные области:
200-280 нм - бактерицидная область спектра;
280-315 нм - зрительная область спектра (самая вредная);
315-400 нм - оздоровительная область спектра.
Синий люминофор экрана монитора вместе с ускоренными в электронно-лучевой трубке электронами являются источниками ультрафиолетового излучения. Воздействие ультрафиолетового излучения сказывается при длительной работе за компьютером. Основными источниками поражения являются глаза и кожа.
Энергетической характеристикой является плотность потока мощности [Вт/м2].
Биологический эффект воздействия определяется внесистемной единицей [эр]. 1 эр - это поток (280-315 нм), который соответствует потоку мощностью 1 Вт.
Воздействие ультрафиолетового излучения сказывается при длительной работе за компьютером. Максимальная доза облучения:
7,5 мэр·ч/м2 за рабочую смену;
60 мэр·ч/ м2 в сутки.
При длительном воздействии и больших дозах могут быть следующие последствия:
серьезные повреждения глаз (катаракта);
рак кожи;
кожно-биологический эффект (гибель клеток, мутация, канцерогенные накопления);
фототоксичные реакции.
2.1.2.5 Влияние статического электричества
Результаты медицинских исследований показывают, что электризованная пыль может вызвать воспаление кожи, привести к появлению угрей и даже испортить контактные линзы. Кожные заболевания лица связаны с тем, что наэлектризованный экран дисплея притягивает частицы из взвешенной в воздухе пыли, так, что вблизи него «качество» воздуха ухудшается, и оператор вынужден работать в более запыленной атмосфере. Таким же воздухом он и дышит.
Особенно стабильно электростатический эффект наблюдается у компьютеров, которые находятся в помещении с полами, покрытыми синтетическими коврами.
При повышении напряженности поля Е > 15 кВ/м, статическое электричество может вывести из строя компьютер.
2.1.3 Вывод
Из анализа воздействий опасных и вредных факторов на организм человека следует необходимость защиты от них.
2.2 Способы защиты пользователей от воздействия на них опасных и вредных факторов
2.2.1 Методы и средства защиты от поражения электрическим током
В помещении вычислительного центра существует опасность прикосновения одновременно к предметам, имеющим соединения с землей, и металлическому корпусу электрооборудования.
Как основной способ борьбы с опасностью поражения электрическим током (от поражения напряжением прикосновения) используется зануление.
Зануление - это преднамеренное соединение нетоковедущих металлических частей, которые могут оказаться под напряжением в результате повреждения изоляции, с нулевым защитным проводником (применяется в трехфазных сетях с заземленной нейтралью в установках до 1000 вольт).
Рис. 49. Защитное зануление
Для защиты используется нулевой защитный провод. В сеть вставляется предохранитель (автомат). Принцип защиты пользователей при занулении заключается в отключении сети за счет тока короткого замыкания, который вызывает перегорание предохранителя и отключает сеть.
При нормальном режиме работы сети ток, текущий через человека, можно рассчитать как:
Iч = Uф/ (Rч+r0) (2.1),
где
Iч - ток, протекающий через человека [А];
Uф - фазовое напряжение (Uф = 220 В), [В];
Rч - сопротивление тела человека (Rч = 1000 Ом), [Ом];
r0 - сопротивление заземлителя (сопротивление обуви порядка 10 Ом), [Ом];
Так как r0 << Rч - следовательно, сопротивление заземлителя можно в расчет не брать.
Получается, что практически все Uф применено к телу человека и, следовательно, получается:
Iч = Uф / Rч (2.2)
Iч = 220 / 1000 = 0,22 А
Допустимые значения приложенного напряжения и протекающего через человека тока соответственно равны 36 В и 0,006 А. Полученные же при расчете цифры горазда превосходят эти значения (220 В и 0,22 А).
Рассчитаем ток короткого замыкания (Iкз) при срабатывании защитной схемы зануления и параметры предохранителя (Iном), используемого в схеме.
, (2.3),
где:
Uф - фазное напряжение сети питания (Uф = 220 В), [В];
rТ - паспортная величина сопротивления обмотки трансформатора, (rТ = 0,312 Ом), [Ом].
Rобщ = r1 + r2 + r3 (2.4),
(2.5)
с - удельное сопротивление нулевого защитного проводника (для меди с = 0,0175 Ом·м), [Ом·м];
l - длина проводника, [м];
S - площадь поперечного сечения нулевого защитного проводника (S = 1 мм2), [мм2].
Возьмем l1 = 850 м, l2 = 150 м, l3 = 70 м;
r1 = 0,0175·850/1 = 14,875 Ом
r2 = 0,0175·150/1 =2,625 Ом
r3 = 0,0175·70/1 = 1,225 Ом
Rобщ = 14,875 Ом + 2,625 Ом + 1,225 Ом = 18,725 Ом
По величине Iкз определим, с каким Iном необходимо в цепь питания ЭВМ включать автомат.
, следовательно , (2.6)
где
k - коэффициент, указывающий тип защитного устройства (в зависимости от типа автомата: k=3 для автомата с электромагнитным расщепителем).
Iном = 11,68 А / 3 = 3,9 А
Вывод:
Для отключения ПЭВМ от сети в случае короткого замыкания или других неисправностей в цепь питания ПЭВМ необходимо ставить автомат с Iном = 4 А.
2.2.2 Методы и средства защиты от рентгеновского излучения
Существует 3 основных способа защиты от рентгеновского излучения:
время (работа не более 4 часов);
расстояние (не менее 50 см от экрана);
экранирование.
Необходимо придерживаться строгого графика работы - время работы за компьютером не должно превышать половины рабочей смены (4 часа).
Для рентгеновского излучения - предельно допустимая доза для людей, которые постоянно или временно работают непосредственно с источником ионизирующих излучений не должна превышать D = 0,5 бэр/год в год.
Определим уровень мощности дозы на различных расстояниях от экрана монитора по формуле:
Рri = Р0·е-·r (2.7),
где
Р0 - мощность дозы излучения на расстоянии 5 см от экрана, мкР/ч; Prj - уровень мощности рентгеновского излучения на заданном расстоянии, мкР/ч; r - расстояние от экрана, см; - коэффициент ослабления воздухом рентгеновских лучей, см-1.
Для расчета возьмем = 3,14·10-2 см-1.
Таблица 3. Зависимость уровня мощности дозы от расстояния до источника
r, см |
5 |
10 |
30 |
40 |
50 |
60 |
|
Рrj, мкР/ч |
100 |
73 |
53 |
39 |
28 |
21 |
Принимая среднее расстояние между пользователем и монитором за 60 см и зная, что годовая доза рентгеновского излучения опасная для здоровья равна 0,5Р - можно рассчитать реальную дозу радиации получаемую пользователем за год:
Dr = Di · n · n1 · n2,
где
Dr - доза радиации за год;
n - нормируемое ежедневное время работы за монитором равное 4 ч;
n1 - количество рабочие дней в неделю (5 дней);
n2 - количество рабочих недель в году (в среднем 43 недели);
Di - мощность дозы рентгеновского излучения на расстоянии 60 cм;
Dr = 15,2 · 4 · 5 · 43=0,013Р (бэр).
0,013Р < 0,5Р (предельно допустимая доза 0,5Р значительно превосходит полученное значение дозы).
2.2.2.1 Вывод
Оператору рекомендуется находиться от монитора на расстоянии не менее 60 см.
2.2.3 Методы и средства защиты от ультрафиолетового излучения
Для защиты от ультрафиолетового излучения:
защитный фильтр или специальные очки (толщина стекол 2мм, насыщенных свинцом);
одежда из фланели и поплина;
побелка стен и потолка (ослабляет на 45-50%);
мощность люминесцентных ламп не должна превышать 40 Вт.
2.2.4 Методы и средства защиты от электромагнитных полей низкой частоты
Защита от электромагнитных излучений осуществляется временем, расстоянием, экранированием:
время работы - не более 4 часов;
расстояние - не менее 50 см от источника;
экранирование.
Относительно электромагнитных излучений низкой частоты можно отметить, что в современных мониторах нижний предел спектра смещен в сторону высоких частот посредством увеличения частоты кадровой развертки до 90-120 Гц и значительно превышает наиболее опасную частоту - 60 Гц.
Чтобы уменьшить опасность надо:
не работать с открытой ЭВМ;
соблюдать расстояния между соседними ЭВМ (не < 1,5м);
исключить пребывание сбоку от монитора (? 1,2 м).
2.2.5 Методы и средства защиты от статического электричества
Электростатические поля вызывают скопление пыли, попадающей на лицо и глаза оператора. Норма: 15 кВ/м.
Защита от статического электричества и вызванных им явлений осуществляется следующими способами:
наличие контурного заземления;
использование нейтрализаторов статического электричества;
скорость подвижного воздуха в помещении должна быть не более 0,2 м/с;
отсутствие синтетических покрытий;
влажная ежедневная уборка помещения вычислительного центра для уменьшения количества пыли;
проветривание без присутствия пользователя.
2.2.6 Вывод
Выбранные методы и способы защиты от опасных и вредных факторов обеспечивают защиту пользователей, работающих с вычислительной техникой.
Заключение
В результате проделанной работы проведен анализ обзор существующих систем защиты от утечки конфиденциальной информации.
Проведены исследования различных алгоритмов обнаружения текста в графических и видео файлах.
Разработан простой алгоритм обнаружения текстовых областей в графических файлах.
Разработан программный модуль обнаружения текстовых областей в графических файлах.
На основании проведенных исследований были получены эффективные результаты работы алгоритма и программного модуля. В связи с этим его можно использовать в системах защиты для выявления и предотвращения утечки конфиденциальной информации в графических файлах.
Список использованной литературы
1. Сузи Р.А. Язык программирования Python. - М.: БИНОМ. Лаборатория знаний, Интернет-университет информационных технологий - ИНТУИТ.ру, 2006.
2. Курс лекций Python. - М., http://www.webtag.ru/kuru/kupython.php#лекции_python.
3. Г. Россум, Ф.Л.Дж. Дрейк, Д.С. Откидач, и др. Язык программирования Python, 2001 -- 454 c, http://www.script-coding.info/Python/Otkidach.html.
4. Официальная статистика компьютерных преступлений, совершенных в Российской Федерации по данным ГИЦ МВД России, 2004 http://www.cyberpol.ru/statcrime.shtml.
5. Современные технологии защиты от утечки конфиденциальной информации. - M, http://www.dials.ru/main.phtml?/press_about_us/protect.
6. Аппаратные средства для выявления и предотвращения утечек конфиденциальных данных. - M, http://www.cnews.ru/reviews/free/insiders2006/articles/hardware.shtml.
7. Программные решения для выявления и предотвращения утечек конфиденциальных данных. - M, http://itsecure.org.ua/publ/10-1-0-237.
8. Решения для борьбы с утечками конфиденциальных данных. - M, http://www.compress.ru/article.aspx?id=16100&iid=736.
9. Метод опорных векторов. - M, http://ru.wikipedia.org/wiki/SVM.
10. Агеев Михаил Сергеевич. Методы автоматической рубрикации текстов, основанные на машинном обучении и знаниях экспертов. - M, 2004. - 136 с.
11. Пер. материала: Lena Kallin Westin. Receiver operating characteristic (ROC) analysis. - Department of Computing Science Umeе University, Sweden, 28 с.
12. Пер. материала: Receiver operating characteristic - Wikipedia, the free encyclopedia, http://en.wikipedia.org/wiki/Receiver_operating_characteristic.
13. Кулямин В.В. Методы верификации программного обеспечения. - M., 117 с.
14. Рустэм Хайретдинов. Практика внедрения систем защиты от утечек конфиденциальной информации - M, http://www.bytemag.ru/articles/detail.php?ID=12492.
15. Пер. материала: Xiaojun Li, Weiqiang Wang, Shuqiang Jiang,Qingming Huang, Wen Gao. FAST AND EFFECTIVE TEXT DETECTION. - Graduate University of Chinese Academy of Sciences, Beijing, China.
16. Пер. материала: Qixiang Ye, Qingming Huang, Wen Gao, Debin Zhao. Fast and robust text detection in images and video frames, 2004. - Institute of Computing Technology, Chinese Academy of Sciences, China.
17. Пер. материала: Qifeng Liu, Cheolkon Jung, Sangkyun Kim, Youngsoo Moon and Ji-yeun Kim. STROKE FILTER FOR TEXT LOCALIZATION IN VIDEO IMAGES. - Computing Lab, Samsung Advanced Institute of Technology.
18. ГОСТ 19.504-79 Руководство программиста. Требования к содержанию и оформлению. - Введ. 01.01.81 - Группа Т55.
19. ГОСТ 19.401-78 Текст программы. Требования к содержанию и оформлению. - Введ. 01.01.80 - Группа Т55.
20. ГОСТ 19.201-78 Техническое задание. Требования к содержанию и оформлению. - Введ. 01.01.80 - Группа Т55.
21. ГОСТ 19.701-90 Схемы алгоритмов, программ данных и систем. - Введ. 01.01.92 - Группа Т 5.
22. ГОСТ 12.0.003-86. Опасные и вредные производственные факторы.
23. ГОСТ 12.1.030-81. Электробезопасность. Защитное заземление, зануление.
24. ГОСТ ССБТ 12.1.045-84. Электростатические поля. Допустимые условия на рабочем месте.
25. ГОСТ ССБТ 12.1.124-84. Средства защиты от статического электричества.
Приложение 1
Текст программы
pic_dir = 'D:/TD/Pics/test/'
ns = 20 # минимум для числа символов в "широком" участке текста;
aw = 15 # ворнинг для числа всех участков;
bw = 7 # ворнинг для числа всех "широких" участков;
cw = 700 # ворнинг для общего числа символов во всех участках;
prfx = 'zz_' # префикс для имен рез. файлов;
fmts = ('.bmp', '.jpg', '.jpeg', '.gif', '.png') # список обрабатываемых форматов файлов;
# начало строки для html отчета;
rpt = '''
<html>
<head>
<title>Отчет</title>
<META http-equiv="Content-Type" content="text/html; charset=Windows-1251">
</head>
<body style="background:#F5F5DC;">
<center>
<h3>Отчет<br>
по обнаружению текста в растровых графических файлах</h3>
</center>
<table>
<tr style="background-color:#999999;"><td> </td></tr>
'''
from PIL import Image
def text_detector(pic_dir, fn):
try:
fp = open(pic_dir + fn, 'rb')
io = Image.open(fp)
io.load()
fp.close()
except:
return -1
sz = 600
c_min = 35
dw = 24
dh = 24
d8 = ((1,1),(1,0),(1,-1),(0,-1),(-1,-1),(-1,0),(-1,1),(0,1))
w, h = io.size
global rpt
rpt += '<tr><td>Файл: ' + fn + '</td></tr>\n'
rpt += '<tr><td>Размеры растра: ' + str(w) + 'x' + str(h) + '</td></tr>\n'
if min(w, h) > sz:
rsz = sz * 1.0 / min(w, h)
w = int(0.5 + w * rsz)
h = int(0.5 + h * rsz)
io = io.resize((w, h), Image.ANTIALIAS)
rpt += '<tr><td>Имидж сжат до размеров: ' + str(w) + 'x' + str(h) + '</td></tr>\n'
im = io.convert('L')
if io.mode != 'RGB':
io = io.convert('RGB')
io2 = io.copy()
lum = [[0] * w for i in range(h)]
nei = [[0] * w for i in range(h)]
sm = 0
for i in range(h):
for j in range(w):
lum[i][j] = im.getpixel((j, i))
sm += lum[i][j]
io2.putpixel((j, i), (111,111,111))
sr = sm * 1.0 / h / w
c = 0
for i in range(h):
for j in range(w):
c += abs(sr - lum[i][j])
c = c / h / w
c = int(0.5 + c)
c = max(c, c_min)
def res_image(r):
for ri in r:
for p in range(ri[0], ri[1] + 1):
for q in range(ri[2], ri[3] + 1):
io2.putpixel((q, p), io.getpixel((q, p)))
f_out = open(pic_dir + prfx + fn, 'wb')
io2.save(f_out)
f_out.close()
def get_nei():
for i in range(1, h - 1):
for j in range(1, w - 1):
y = 0
t = set([])
for k in range(8):
if abs(lum[i][j] - lum[i + d8[k][0]][j + d8[k][1]]) > c:
y += 1
t.add(k)
if y in (3,):
if min(t) + (y - 1) == max(t) or \
t == set((6,7,0)) or t == set((7,0,1)):
nei[i][j] = y
else:
nei[i][j] = -y
else:
nei[i][j] = y
def stroke_calc(p1, q1):
p2 = min(h - 1, p1 + dh)
q2 = min(w - 1, q1 + dw)
nm = (p2 - p1) * (q2 - q1)
u = 0.0
x = [0] * 10
for i in range(p1, p2):
fl = 0
for j in range(q1, q2):
y = nei[i][j]
if y >= 0:
x[y] += 1
if y == 0:
fl += 1
if fl == q2 - q1:
u += 1.0
if 0 in x[:7] or nm > (x[3] + x[6]) * 20:
return x[9]
cnt1 = x[3] * 16 + x[6] * 16
cnt2 = x[0]
x[9] = int(cnt1 * cnt2 * 1.0 / nm)
x[9] = int(x[9] * (1 + u / (p2 - p1))**2)
if x[9] < 600 or x[9] > 3000:
x[9] = 0
return x[9]
def get_text_regions():
ww = w / dw
hh = h / dh
b = [[0] * (w + 3) for i in range(h + 1)]
for dy in (0, dh / 2):
m = [[0] * (ww + 3) for i in range(hh + 1)]
for i in range(1 + dy, h, dh):
for j in range(1, w, dw):
m[(i - 1 - dy) / dh][(j - 1) / dw] = stroke_calc(i, j)
for i in range(hh + 1):
for j in range(ww):
if m[i][j] != 0 and m[i][j + 1] != 0 and m[i][j + 2] != 0 and \
m[i][j] + m[i][j + 1] + m[i][j + 2] > 3 * 800:
m[i][ww + 2] = 1
break
for i in range(hh + 1):
if m[i][ww + 2] == 0:
continue
for j in range(ww + 1):
if m[i][j] != 0:
h1 = i * dh + 1 + dy
h2 = h1 + dh
h2 = min(h - 1, h2)
w1 = j * dw + 1
w2 = w1 + dw
w2 = min(w - 1, w2)
for p in range(h1, h2):
b[p][w + 2] = 1
for q in range(w1, w2):
if nei[p][q] != 0:
b[p][q] = 1
step = 60
for i in range(h):
if b[i][w + 2] != 0:
j = 0
cnt = 0
while j <= w - step:
if b[i][j] != 0 and b[i][j + 1] != 0 and b[i][j + 2] != 0:
sm = sum(b[i][j:j + step])
if sm > step * 0.4:
for k in range(j, j + step):
b[i][k] += 2
cnt += 1
j += step
else:
j += 1
else:
j += 1
if cnt == 0:
b[i] = [0] * (w + 3)
else:
b[i][w + 2] = cnt
cnt = 0
for i in range(h + 1):
if b[i][w + 2] == 0:
if cnt > 0 and cnt < 8:
for ii in range(i - cnt, i):
b[ii] = [0] * (w + 3)
cnt = 0
else:
cnt += 1
r = []
for i in range(h):
for j in range(w):
if b[i][j] > 1:
cnt = 1
x1 = w
x2 = 0
y1 = h
y2 = 0
b[i][j] *= -1
v = [[i, j]]
while len(v) != 0:
ww = []
for vv in v:
for k in range(8):
yy = vv[0] + d8[k][0]
xx = vv[1] + d8[k][1]
if xx < 0 or xx >= w or yy < 0 or yy >= h:
continue
if b[yy][xx] > 1:
b[yy][xx] *= -1
ww += [[yy, xx]]
x1 = min(x1, xx)
x2 = max(x2, xx)
y1 = min(y1, yy)
y2 = max(y2, yy)
v = ww[:]
cnt += len(v)
dx = x2 - x1 + 1
dy = y2 - y1 + 1
pl = cnt * 1.0 / dx / dy
if pl > 0.5 and dy > 6 and dy < 45 and dx >= dy * 3:
r += [[y1, y2, x1, x2, dx / dy]]
return r
get_nei()
r1 = get_text_regions()
ans = r1
rot_or_not = 20
if len(r1) < rot_or_not:
nei0 = nei[:]
w, h = h, w
nei = [[0] * w for i in range(h)]
for i in range(h):
for j in range(w):
nei[i][j] = nei0[j][h - i - 1]
r2 = get_text_regions()
if sum((ri[4] for ri in r2)) > sum((ri[4] for ri in r1)): # bug in text11.jpg;
ans = r2
io = io.transpose(Image.ROTATE_90)
io2 = io2.transpose(Image.ROTATE_90)
if len(ans) == 0:
rpt += '<tr><td>Текстоподобных участков не обнаружено!</td></tr>\n'
rpt += '<tr><td><img src="' + fn + '">'
rpt += '<tr style="background-color:#999999;"><td> </td></tr>\n'
return 0
else:
res_image(ans)
cnt = 0
nss = 0
for ai in ans:
nss += ai[4]
if ai[4] >= ns:
cnt += 1
rpt += '<tr><td>Обнаружено текстоподобных участков: ' + str(len(ans)) + '</td></tr>\n'
rpt += '<tr><td>Из них содержащих не менее %d условных символов: '%ns + str(cnt) + '</td></tr>\n'
rpt += '<tr><td>Общее число условных символов во всех участках: ' + str(nss) + '</td></tr>\n'
if (len(ans) >= aw and cnt >= bw) or nss >= cw:
rpt += '<tr><td><font color=red><h3>***WARNING***</h3></font></td></tr>\n'
rpt += '<tr><td><img src="' + fn + '"> '
rpt += '<img src="' + prfx + fn + '"></td></tr>\n'
rpt += '<tr style="background-color:#999999;"><td> </td></tr>\n'
return len(ans)
import os
from time import time
...Подобные документы
Анализ подходов по защите от утечки конфиденциальной информации. Разработать программный модуль обнаружения текстовых областей в графических файлах для решения задач предотвращения утечки конфиденциальной информации. Иллюстрация штрихового фильтра.
дипломная работа [12,8 M], добавлен 28.08.2014Предотвращение несанкционированного распространения информации в текстовых файлах. Разработка подсистемы обнаружения утечки информации с фильтром идентификации текстовых областей в передаваемом потоке данных и их сходства с конфиденциальными данными.
дипломная работа [1,8 M], добавлен 14.03.2013Основные принципы работы измерительного комплекса "Навигатор", возможность перехвата побочных электромагнитных излучений и наводок с защищаемого объекта. Определение требуемого радиуса контролируемой зоны для защиты конфиденциальной информации от утечки.
курсовая работа [1,4 M], добавлен 02.10.2013Обработка информации, анализ каналов ее возможной утечки. Построение системы технической защиты информации: блокирование каналов несанкционированного доступа, нормативное регулирование. Защита конфиденциальной информации на АРМ на базе автономных ПЭВМ.
дипломная работа [398,5 K], добавлен 05.06.2011Главные каналы утечки информации. Основные источники конфиденциальной информации. Основные объекты защиты информации. Основные работы по развитию и совершенствованию системы защиты информации. Модель защиты информационной безопасности ОАО "РЖД".
курсовая работа [43,6 K], добавлен 05.09.2013Физическая целостность информации. Система защиты информации. Установка средств физической преграды защитного контура помещений. Защита информации от утечки по визуально-оптическим, акустическим, материально-вещественным и электромагнитным каналам.
курсовая работа [783,9 K], добавлен 27.04.2013Информация как результат отображения и обработки в человеческом сознании многообразия окружающего мира, сведения об окружающих человека предметах, явлениях природы, деятельности других людей, ее жизненный цикл. Каналы утечки информации и ее защита.
курсовая работа [215,1 K], добавлен 23.12.2012- Построение многоуровневой системы защиты информации, отвечающей современным требованиям и стандартам
Политика защиты информации. Возможные угрозы, каналы утечки информации. Разграничение прав доступа и установление подлинности пользователей. Обзор принципов проектирования системы обеспечения безопасности информации. Межсетевой экран. Антивирусная защита.
дипломная работа [1,9 M], добавлен 05.11.2016 Анализ источников опасных сигналов и определение потенциальных технических каналов утечки информации и несанкционированного доступа. Организационные и технические методы защиты информации в выделенном помещении, применяемое инженерное оборудование.
курсовая работа [519,4 K], добавлен 18.11.2015Возможные каналы утечки информации. Расчет контролируемой зоны объекта. Защита по виброакустическому каналу утечки информации. Выявление несанкционированного доступа к ресурсам. Система постановки виброакустических и акустических помех "Шорох-1М".
курсовая работа [857,2 K], добавлен 31.05.2013Варианты управления компьютером при автономном режиме. Классификация угроз безопасности, каналов утечки информации. Программно-аппаратные комплексы и криптографические методы защиты информации на ПЭВМ. Программная система "Кобра", утилиты наблюдения.
контрольная работа [23,8 K], добавлен 20.11.2011Принципы информационной безопасности. Демаскирующие признаки сигналов, их классификация и разновидности: аналоговые и дискретные. Классификационные признаки технических каналов утечки информации. Способы защиты и обнаружения демаскирующих признаков.
курсовая работа [483,9 K], добавлен 16.04.2014Классификация угроз конфиденциальной информации. Концепция математической модели оценки ущерба конфиденциальной информации от внешних угроз. Реализация и исследование модели. Безопасность и экологичность работы. Расчет технико-экономической эффективности.
дипломная работа [1,5 M], добавлен 30.06.2011Возможные каналы утечки информации. Особенности и организация технических средств защиты от нее. Основные методы обеспечения безопасности: абонентское и пакетное шифрование, криптографическая аутентификация абонентов, электронная цифровая подпись.
курсовая работа [897,9 K], добавлен 27.04.2013Средства обеспечения информационной безопасности. Возможные каналы утечки информации. Защита данных с помощью шифрования. Обзор видов технических устройств, защищающих системы, и принцип их действия. Программно-аппаратный комплекс средств защиты.
курсовая работа [475,7 K], добавлен 01.03.2015Виды, распространение звуковых волн. Классификация акустических каналов утечки информации. Ее защита в выделенных помещениях. Оценка защищенности ограждающих конструкций помещения деканата факультета ИСиТ от утечки информации по виброакустическому каналу.
курсовая работа [643,0 K], добавлен 22.04.2011Аналитический обзор публикаций по защите информации от утечки за счет ПЭМИН для Торгово-промышленной палаты Оренбургской области. Совокупность всех средств и систем обработки информации. Структура информационной системы Торгово-промышленной палаты.
курсовая работа [922,4 K], добавлен 21.01.2016Программные средства защиты от вредоносного программного обеспечения, основные требования к ним, оценка возможностей и функциональности. Системы обнаружения вторжения. Анализ средств защиты информации на предприятии. Политика корпоративной безопасности.
дипломная работа [1,2 M], добавлен 17.10.2015Проблема защиты информации. Особенности защиты информации в компьютерных сетях. Угрозы, атаки и каналы утечки информации. Классификация методов и средств обеспечения безопасности. Архитектура сети и ее защита. Методы обеспечения безопасности сетей.
дипломная работа [225,1 K], добавлен 16.06.2012Этапы развития и процесс внедрения DLP-системы. Анализ передаваемой конфиденциальной информации DLP-системы. Состав системы DLP на примере программного решения линейки SymantecDataLossPrevention (SDLP). Программные решения, представленные на рынке.
реферат [1,0 M], добавлен 07.07.2012