Обнаружение утечки информации в документах

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 06.03.2013
Размер файла 972,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

5 Разработка рекомендаций по использованию разработанной системы

В текущей реализации разработанный модуль использует документы, проходящие через почтовые сервера. Эти серверы работают под операционными unix-подобными системами. Например, QMail сервер (рисунок 4.1) предназначен для Linux. Для работы с этим сервером распространяется бесплатная лицензия в случае использования базового функционального набора. Если нужна расширенная функциональность, то лицензия становится платной. Разработанный модуль можно интегрировать в QMail, который используется и для архива электронной почты. Прежде чем складировать информацию необходимо ее заархивировать соответствующим образом. Подобную информацию в дальнейшем можно использовать для отчетности. Объектом анализа являются письма, отправляемые работниками данной организации. При получении письма на вход модуля последовательно подаётся текст письма и вложенные файлы. Для извлечения текстовой информации из письма и файлов используются модули сторонних разработчиков. Для снятия сигнатур с извлеченного текста используется хеш-функция CRC-16. Библиотека разработана как open source проект.

Рисунок 3.5.1 - Рекомендации по использованию разработанной системы

B. Экологическая часть и БЖД

Введение

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

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

Опасные факторы -- это производственные факторы, воздействие которых на человека ведет к травме или другому резкому и внезапному ухудшению здоровья.

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

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

1 Исследование опасных и вредных факторов при эксплуатации ЭВМ

При выполнении дипломной работы используются следующие элементы вычислительной техники:

1. переносной персональный компьютер (ППК) ASUS A8Sr с диагональю экрана 14,1” и разрешением 1280 х 800;

2. персональный компьютер (ПК) Pentium IV, 800 MHz;

3. монитор LG L1730P с диагональю экрана 17” и разрешением 1280 х 1024, частоты развертки: fверт = 56-75 Гц, fгоризонт = 30-83 кГц;

4. лазерный принтер HP LaserJet 1020;

5. сканер HP ScanJet G3010.

При работе с перечисленными элементами вычислительной техники нужно учитывать следующие обстоятельства:

1. ППК и ПК питаются от сети переменного тока напряжением 220 В и частотой 50 Гц, а это превышает безопасное напряжение для человека (40 В), поэтому появляется опасный фактор -- поражение электрическим током.

2. При работе за экраном дисплея пользователь попадает под воздействие ультрафиолетового излучения (УФИ) с длинами волн менее 320 нм и излучения электромагнитных полей частотой до 400 кГц. УФИ, испускаемое монитором, соединяясь с УФИ, излучаемым люминесцентными лампами и УФИ, проникающим сквозь оконные проемы, может повысить нормируемую плотность УФИ (10 Вт/м2). Возникает вредный фактор -- ультрафиолетовое излучение.

3. При работе ППК, ПК (а также принтера, сканера и других периферийных устройств) и при передвижении людей возникает статическое электричество, которое при превышении нормированного значения 15 кВ/м становится вредным фактором.

4. Для получения изображения на экране дисплея необходимо иметь вертикальную и горизонтальную развертки, которые соответствуют напряжению с частотами вертикальной и горизонтальной развертки: fверт = 56-75 Гц, fгоризонт = 30-83 кГц. Появляется вредный фактор -- излучение электромагнитных полей низких частот.

Таким образом, пользователь, работающий с ППК и ПК, подвергается воздействию следующих опасных и вредных факторов:

1. поражение электрическим током;

2. ультрафиолетовое излучение;

3. статическое электричество;

4. излучение электромагнитных полей низких частот.

2 Воздействие опасных и вредных факторов на организм пользователя ЭВМ

2.1 Поражение электрическим током

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

Различают электроудары четырех степеней сложности:

1. Электроудары I степени: сопровождаются судорожным болезненным сокращением мышц без потери сознания;

2. Электроудары II степени: сопровождаются судорожным болезненным сокращением мышц с потерей сознания, но с сохранением дыхания и сердцебиения;

3. Электроудары III степени: сопровождаются судорожным болезненным сокращением мышц, c потерей сознания, нарушением работы сердца и/или дыхания;

4. Электроудары IV степени: наступает клиническая смерть, то есть прекращается дыхание и кровообращение.

2.2 Ультрафиолетовое излучение

Ультрафиолетовое излучение может послужить причиной возникновения или обострения следующих заболеваний:

1. заболевания кожи: угревая сыпь, себорроидная экзема, розовый лишай, меломанный рак кожи и другие;

2. катаракта глаз;

3. нарушение терморегуляции организма.

2.3 Статическое электричество

Под действием статических электрических полей дисплея пыль в помещении электризуется и переносится на лицо пользователя (так как тело человека имеет отрицательный потенциал, а частички пыли заряжены положительно). При подвижности воздуха в помещении вычислительного центра выше 0, 2 м/с пыль, скопившаяся на поверхности экрана, сдувается с нее и также переносится на лицо пользователя (разработчика), что приводит к заболеваниям кожи.

С точки зрения технического влияния следует отметить следующее: электронные компоненты персонального компьютера (ПК) или ППК работают при низких значениях напряжения (5-12 В). При большом значении напряженности электростатического поля возможны замыкания клавиатуры, реле и потеря информации на экране. Нормируемая величина напряженности электростатического поля E = 15 кВ/м.

2.4 Излучение электромагнитных полей низких частот

Воздействие этого фактора может привести к следующим последствиям:

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

2. нарушение метаболизма;

3. изменение биохимической реакции крови на клеточном уровне, что ведет к стрессу;

4. нарушения в протекании беременности (увеличение в два раза вероятности выкидыша у беременных);

5. нарушение репродуктивной функции и возникновению злокачественных образований (в случае воздействия низкочастотных полей);

6. изменения в нервной системе (потеря порога чувствительности).

2.5 Вывод

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

3 Способы защиты пользователей от опасных и вредных факторов

3.1 Защита от поражения электрическим током

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

Прямое прикосновение -- электрический контакт людей или животных с токоведущими частями, находящимися под напряжением. Косвенное прикосновение -- электрический контакт людей или животных с открытыми проводящими частями, оказавшимися под напряжением при повреждении изоляции.

Напряжение прикосновения -- напряжение между двумя проводящими частями или между проводящей частью и землей при одновременном прикосновении к ним человека или животного.

Согласно общим требованиям ПУЭ [21, гл. 1.7, пп. 1.7.49-1.7.51], токоведущие части электроустановки не должны быть доступны для случайного прикосновения, а доступные прикосновению открытые и сторонние проводящие части не должны находиться под напряжением, представляющим опасность поражения электрическим током, как в нормальном режиме работы электроустановки, так и при повреждении изоляции.

Для дополнительной защиты от прямого прикосновения в электроустановках напряжением до 1 кВ, при наличии требований других глав ПУЭ, следует применять устройства защитного отключения (УЗО) с номинальным отключающим дифференциальным током не более 30 мА.

Зануление -- преднамеренное соединение нетоковедущих частей с нулевым защитным проводником (НЗП). Оно применяется в трехфазных четырех проводных сетях с глухо-заземленной нейтралью в установках до 1.000 Вт и является основным средством обеспечения электробезопасности.

Принцип защиты при занулении заключается в следующем: ток короткого замыкания вызывает перегорание предохранителя (срабатывание автомата) и, следовательно, отключение пользователя от сети, предотвращая перегрев и самовозгорание токоведущих частей сети электропитания. Кроме того, устройство защитного отключения (УЗО) срабатывает при возникновении утечки из сети электропитания величиной не более 30 мА, предотвращая поражение электрическим током в случае прямого прикосновения.

Схема подключения ПЭВМ к электрической сети показана ниже (R0 -- сопротивление заземлителя).

Рисунок 3.1 - Схема подключения ПЭВМ к электросети

Определим ток короткого замыкания Iкз по заданным параметрам:

Iкз = Uф / ((rт / 3) + Rобщ), где

Iкз -- ток короткого замыкания;

Uф -- фазное напряжение: Uф = 220 В;

rт -- паспортная величина сопротивления обмотки трансформатора:

rт = 0, 412 Ом;

Rобщ = R1 + R2 + Rнзп = p1 * L1 / S1 + pнзп * Lнзп / Sнзп + p2 * L2 / S2

p -- удельное сопротивление проводника:

1. p1 = 0, 0280 (Ом * мм2 / м) (алюминий);

2. pнзп = p2 = 0, 0175 (Ом * мм2 / м) (медь).

L -- длина проводника (L1 = 600 м, L2 = 100 м; Lнзп = 50 м);

S -- площадь поперечного сечения проводника (S1 =2 мм2; S2 =1 мм; Sнзп =1 мм2).

R1 = (0,0280 (Ом * мм2 / м) * 600 м) / 2 мм2 = 8,4 Ом

R2 = (0,0175 (Ом * мм2 / м) * 100 м) / 1 мм2 = 1,75 Ом

Rнзп = (0,0175 (Ом * мм2 / м) * 50 м) / 1 мм2 = 0,875 Ом

Rобщ = 8, 4 Ом +1, 75 Ом +0, 875 Ом = 11 Ом;

Iкз = 220 B / ((0,412 / 3) Ом + 3,24 Ом) = 19,75 А

Устройство защиты от короткого замыкания срабатывает при выполнении следующего условия:

Iкз ? k * Iном => Iном ? Iкз / k, где

k -- коэффициент, учитывающий тип защитного устройства: k = 3 для автомата с электромагнитным расцепителем;

Iном -- номинальный ток срабатывания защитного устройства.

Iном ? 19,75А / 3 = 6,6 А ? 7 А

Указанному условию удовлетворяет защитное устройство УЗО 22-05-2-030 с номинальным током срабатывания Iном = 7 А и номинальным отключающим дифференциальным током IД = 30 мА.

Вывод: во избежание поражения электрическим током, возникновения пожара в помещении и выхода из строя ПЭВМ и периферийного оборудования, в случае возникновения короткого замыкания или других причин появления напряжения прикосновения Uпр, в цепь питания ПЭВМ необходимо включить устройство защитного отключения с Iном = 7 А и IД = 30 мА.

3.2 Защита от ультрафиолетового излучения

Синий люминофор экрана монитора вместе с ускоренными в электронно-лучевой трубке электронами являются источниками ультрафиолетового излучения. Воздействие ультрафиолетового излучения сказывается при длительной работе за компьютером. Основными источниками поражения являются глаза и кожа.

Для защиты от ультрафиолетового излучения используют:

1. обычную побелку стен и потолка (ослабляет излучение на 45-60%);

2. электролюминесцентные лампы, мощностью не более 40 Вт;

3. рекомендуемый материал одежды персонала -- фланель, поплин.

3.3 Защита от статического электричества

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

1. использовать контурное заземление;

2. использовать нейтрализаторы статического электричества;

3. применять антистатическое покрытие полов;

4. использования экранов для снятия статики;

5. обеспечить регулярное проведение влажной уборки;

6. проветривать помещения при подвижности воздуха 0,1 - 0,2 м/сек без присутствия в нем пользователей.

Наиболее эффективным способом нейтрализации статического электричества является применение нейтрализаторов, создающих вблизи наэлектризованного диэлектрического объекта положительные и отрицательные ионы. Различают 4 типа нейтрализаторов:

1. коронного разряда (индуктивные и высоковольтные);

2. радиоизотопные;

3. комбинированные;

4. аэродинамические.

3.4 Защита от излучения электромагнитных полей низких частот

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

При разработке дипломного проекта используется монитор LG L1730P. Данный монитор соответствует стандартам MPR-II, ТСО `03, стандарту по эргономичности ISO 13406-2. Уровень напряженности полей низкой частоты соответствует нормам, поэтому единственным параметром, требующим соблюдения, является расстояние между мониторами в 1,5 м и более.

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

Рисунок 3.2 - Схемы зон компьютерного излучения

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

1. время работы на персональном компьютере не должно превышать 4 - 6 часов;

2. запрещается работать при открытых корпусах персональных компьютеров;

3. располагаться от экрана дисплея следует не ближе, чем на расстоянии вытянутой руки;

4. при выборе рабочего места необходимо располагаться от боковых и задних стенок мониторов соседних компьютеров не ближе 1,5 м.

3.5 Вывод

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

Заключение

В процессе разработки дипломного проекта:

1. Проведен аналитический обзор существующих решений для защиты от утечки информации;

2. Проведен аналитический обзор существующих методов сравнения текстовых файлов;

3. Разработана схема алгоритма сравнения текстовых файлов;

4. Разработана архитектура программного модуля обнаружения утечки информации в документах;

5. Реализован программный модуль обнаружения утечки информации в документах на языке С++ в виде open source проекта;

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

Список использованных источников

1. Комплексные решения для защиты от утечек конфиденциальных данных, BYTE/Россия, 2005 (http://www.bytemag.ru/articles/detail.php?ID=9068).

2. http://www.clearswift.com.

3. Интеллектуальные решения по защите информации, ЗАО «ИнфоВотч», 2009 (http://www.infowatch.ru.)

4. Why Iplocks?, IPLocks, Inc. All Rights Reserved Worldwide, 2007 (http://www.iplocks.com).

5. Why Compromise?, © IBM Corporation 1994 - 2008. All rights reserved (http://www.iss.net).

6. © 2009, Liquid Machines, Privacy Statement Site Map Site by Newfangled Web Factory and Nowspeed Marketing (http://www.liquidmachines.com).

7. © 2007, Websense, Inc. All Rights Reserved (http://www.portauthoritytech.com).

8. © 2009, Websense, Inc. All Rights Reserved (http://www.surfcontrol.com).

9. © 2002 - 2006, Инфосистемы Джет (http://www.jetinfosoft.ru).

10. © 1998-2009, Global Information Technology (UK) Limited. All Rights Reserved (http://www.pcacme.com).

11. Обзор автоматических детекторов плагиата в программах, 2006 (http://logic.pdmi.ras.ru/~yura/detector/survey.pdf)

12. Большая советская энциклопедия.

13. Авторы проекта AlgoLib, Алгоритмы сравнения строк, © 2004--2005 «AlgoLib.narod.ru» (http://algolib.narod.ru/Search/Standart.html).

14. Алексей Котов, Связь между детекторами плагиата и нейронными сетями, 2006 (http://detector.spb.su/bin/view/Sandbox/NeuralNetworks).

15. Страуструп Б., Язык программирования С++, Специальное изд. - М.: “Издательство Бином”, СПб.: “Невский диалект”, 1999.

16. Receiver operating characteristic, Wikimedia Foundation, Inc., 2009 (http://en.wikipedia.org/wiki/Receiver_operating_characteristic).

17. Николай Паклин, Логистическая регрессия и ROC-анализ - математический аппарат, © 1995 - 2009 BaseGroup Labs (http://www.basegroup.ru/library/analysis/regression/logistic/).

18. Кривые ROC, Copyright legioner © spssbase.com, 2008 (http://www.spssbase.com/Glava22/Index35.html).

19. Гост ССБТ 12.1.045-84 “Электростатические поля. Допустимые уровни на рабочих местах”.

20. Гост ССБТ 12.4.124-83 “Средства защиты от статического электричества”.

21. Гигиенические требования к видеотерминалам персональных ЭВМ и организация работы с ними. СанПиН 2.2.2 542-96.

22. Гост 12.0.003-86 “Опасные и вредные производственные факторы”.

23. Нормы радиационной безопасности. НРБ 76/87.

24. Гост 12.1.030-81 “Электробезопасность. Защитное заземление, зануление”.

25. Гост 19.504-79 “Руководство программиста”.

26. Гост 19.401-78 “Текст программы”.

Приложение № 1.

Текст программы

//Модуль утечки конфиденциальной информации с реализацией алгоритма по схеме 1

#include <fstream>

#include <iostream>

#include <string>

#include <vector>

#include <io.h>

using namespace std;

int k;

vector<string> allowed_files,secured_files,checked_files;

// Перевод в заглавную букву для win-кодировки

char to_upper(unsigned char c)

{

if ((c>=97 && c<=122) || c >= 224)

c-=32;

// Буква ё

if (c == 184)

c = 168;

return c;

}

// Составление списка файлов по заданному пути

void make_file_list(vector<string> &list,const char *path)

{

string search_path = path,tmp_st;

_finddata_t fdata;

int i;

// Поиск текстовых файлов

search_path+="*.txt";

int h = _findfirst(search_path.c_str(),&fdata);

if (h != -1)

do

{

tmp_st = path;

tmp_st+=fdata.name;

list.push_back(tmp_st);

i = _findnext(h,&fdata);

}while(i == 0);

_findclose(h);

}

// Ввод данных из файла в строку

string input_file(const char *fname)

{

string st;

char c;

ifstream fin(fname);

if (!fin.fail())

{

while(fin >> c,!fin.eof())

{

// Проверка, являются ли символы в тексте буквами

if (c < 0 || (c>='a' && c<='z') || (c>='A' && c<='Z') || (c>='0' && c<='9'))

st+=to_upper(c);

}

}

fin.close();

return st;

}

// Удаление повторяющихся k-грамм

string remove_repeats(string st,int k)

{

int i = 0,j;

string st2;

while (i < st.length()-k-1)

{

// выделение текущей k-граммы

st2 = st.substr(i,k);

while(j = st.find(st2,i+1),j!=-1)

st.erase(j,k);

i++;

}

return st;

}

// Удаление не конфиденциальной информации из конфиденциальной

void remove_allowed(string &st1,string &st2,int k)

{

int i=0,to_delete;

while (i <= st1.length()-k)

{

string tmp = st1.substr(i,k);

// Поиск k-граммы в разрешенном файле

int j = st2.find(tmp,0);

if (j != -1)

{

to_delete = k;

// Расширение вперед

while (i<st1.length()-k && j<st2.length()-k && st1[i+k] == st2[j+k])

{

i++;

j++;

to_delete++;

}

st1.erase(i,to_delete);

}

else

i++;

}

}

// Сравнение содержимого защищенного файла с проверяемым

void cmp_strings(string &st1,string &st2,int k,int &total_len,string &same_st)

{

int i=0;

total_len = 0;

while (i <= st1.length()-k)

{

string tmp = st1.substr(i,k);

int j = st2.find(tmp,0);

if (j != -1)

{

total_len+=k;

same_st+=tmp;

while (i<st1.length()-k && j<st2.length()-k && st1[i+k] == st2[j+k])

{

same_st+=st1[i+k];

i++;

j++;

total_len++;

}

same_st+=' ';

}

i++;

}

}

int main()

{

string sec_st,alw_st,chk_st,tmpst,same_st;

ofstream fout("result.txt");

int total_len;

vector<string>::iterator sec_it,alw_it,chk_it;

// Составление списков имеющихся файлов

make_file_list(secured_files,"secret\\");

make_file_list(allowed_files,"unsecret\\");

make_file_list(checked_files,"check\\");

for(chk_it = checked_files.begin();chk_it != checked_files.end();++chk_it)

{

chk_st = input_file((*chk_it).c_str());

fout << "*****Проверяемый файл: " << (*chk_it) << "*****\n";

for (k=15;k<=16;k++)

{

tmpst = remove_repeats(chk_st,k);

fout << "k = " << k << endl;

// Удаление из конфиденциального файла не конфиденциальные k-граммы

for(alw_it = allowed_files.begin();alw_it != allowed_files.end();++alw_it)

{

alw_st = input_file((*alw_it).c_str());

alw_st = remove_repeats(alw_st,k);

remove_allowed(tmpst,alw_st,k);

}

// Проверка конфиденциальных файлов с проверяемыми

for(sec_it = secured_files.begin();sec_it!=secured_files.end();++sec_it)

{

sec_st = input_file((*sec_it).c_str());

fout << "Сравнение с файлом " << (*sec_it) << ":\n";

sec_st = remove_repeats(sec_st,k);

same_st = "";

cmp_strings(tmpst,sec_st,k,total_len,same_st);

fout.precision(2);

fout << total_len << " " << (float)total_len/sec_st.length()*100.0 << "%\n";

fout << same_st << endl;

}

fout << endl;

}

}

return 0;

}

// Модуль утечки конфиденциальной информации с реализацией алгоритма по схеме 2

#include <fstream>

#include <iostream>

#include <string>

#include <list>

#include <algorithm>

#include <io.h>

#include "hashlib.h"

using namespace std;

typedef list<unsigned short> thash_vec;

int k;

list<string> allowed_files,secured_files,checked_files;

// Перевод в заглавную букву для win-кодировки

char to_upper(unsigned char c)

{

if ((c>=97 && c<=122) || c >= 224)

c-=32;

// Буква ё

if (c == 184)

c = 168;

return c;

}

// Составление списка файлов по заданному пути

void make_file_list(list<string> &l,const char *path)

{

string search_path = path,tmp_st;

_finddata_t fdata;

int i;

// Поиск текстовых файлов

search_path+="*.txt";

int h = _findfirst(search_path.c_str(),&fdata);

if (h != -1)

do

{

tmp_st = path;

tmp_st+=fdata.name;

l.push_back(tmp_st);

i = _findnext(h,&fdata);

}while(i == 0);

_findclose(h);

}

// Ввод данных из файла в строку и составление списка хеш-кодов

void input_file(const char *fname,int k,thash_vec &hash_vec)

{

string st;

char c;

char *c_st;

thash_vec::iterator it;

unsigned short crc;

ifstream fin(fname);

if (!fin.fail())

{

while(fin >> c,!fin.eof())

{

// Проверка, что символы в тексте это буквы

if (c < 0 || (c>='a' && c<='z') || (c>='A' && c<='Z') || (c>='0' && c<='9'))

st+=to_upper(c);

}

c_st = (char*)st.c_str();

for (size_t i=0;i<=st.length()-k;i++)

{

crc = Crc16((unsigned char*)c_st,k);

// Если такое же значение уже есть в массиве,

// не добавляем его

it = lower_bound(hash_vec.begin(),hash_vec.end(),crc);

if (it == hash_vec.end() || (*it != crc))

hash_vec.insert(it,crc);

c_st++;

}

}

fin.close();

}

// Удаление повторяющихся хеш-кодов

// sec_hash - список с конфиденциальными хеш-кодами

// alw_hash - список с не конфиденциальными хеш-кодами

void remove_allowed(thash_vec &sec_hash,thash_vec &alw_hash)

{

thash_vec::iterator sec_it;

sec_it = sec_hash.begin();

while (sec_it != sec_hash.end())

{

if (binary_search(alw_hash.begin(),alw_hash.end(),(*sec_it)))

sec_it = sec_hash.erase(sec_it);

else

sec_it++;

}

}

// Сравнение с содержимым защищенного файла

void cmp_hashes(thash_vec &chk_hash,thash_vec &sec_hash,int &total_len)

{

thash_vec::iterator chk_it;

total_len = 0;

for (chk_it = chk_hash.begin();chk_it != chk_hash.end();++chk_it)

{

if (binary_search(sec_hash.begin(),sec_hash.end(),*chk_it))

total_len++;

}

}

int main()

{

thash_vec sec_hash,alw_hash,chk_hash;

ofstream fout("result.txt");

int total_len;

list<string>::iterator sec_it,alw_it,chk_it;

// Составление списков имеющихся файлов

make_file_list(secured_files,"secret\\");

make_file_list(allowed_files,"unsecret\\");

make_file_list(checked_files,"check\\");

//init_hl();

for (k=15;k<16;k++)

{

fout << "k = " << k << endl;

// Ввод информацию из конфиденциальных и не конфиденциальных файлов

for(sec_it = secured_files.begin();sec_it!=secured_files.end();++sec_it)

input_file((*sec_it).c_str(),k,sec_hash);

for(alw_it = allowed_files.begin();alw_it != allowed_files.end();++alw_it)

input_file((*alw_it).c_str(),k,alw_hash);

// Удаление не конфиденциальных комбинаций из базы конфиденциальных хеш-кодов

remove_allowed(sec_hash,alw_hash);

for(chk_it = checked_files.begin();chk_it != checked_files.end();++chk_it)

{

fout << "*****Проверяемый файл: " << (*chk_it) << "*****\n";

input_file((*chk_it).c_str(),k,chk_hash);

cmp_hashes(chk_hash,sec_hash,total_len);

if (total_len > 450)

{

fout << "Количество совпавших комбинаций: " << total_len << " - Файл запрещен к передаче!" << endl;

fout << endl;

chk_hash.clear();

}

else

{

fout << "Количество совпавших комбинаций: " << total_len << endl;

fout << endl;

chk_hash.clear();

}

}

sec_hash.clear();

alw_hash.clear();

}

//close_hl();

return 0;

}

/*Реализация хеш-функции CRC-16

Name : CRC-16

Poly : 0x8005 x^16 + x^15 + x^2 + 1

Init : 0x0000

Revert: true

XorOut: 0x0000

Check : 0x4B37 ("123456789")

MaxLen: 4095 байт (32767 бит) - обнаружение

одинарных, двойных, тройных и всех нечетных ошибок*/

const unsigned short Crc16Table[256] = {

0x0000, 0xC0C1, 0xC181, 0x0140, 0xC301, 0x03C0, 0x0280, 0xC241,

0xC601, 0x06C0, 0x0780, 0xC741, 0x0500, 0xC5C1, 0xC481, 0x0440,

0xCC01, 0x0CC0, 0x0D80, 0xCD41, 0x0F00, 0xCFC1, 0xCE81, 0x0E40,

0x0A00, 0xCAC1, 0xCB81, 0x0B40, 0xC901, 0x09C0, 0x0880, 0xC841,

0xD801, 0x18C0, 0x1980, 0xD941, 0x1B00, 0xDBC1, 0xDA81, 0x1A40,

0x1E00, 0xDEC1, 0xDF81, 0x1F40, 0xDD01, 0x1DC0, 0x1C80, 0xDC41,

0x1400, 0xD4C1, 0xD581, 0x1540, 0xD701, 0x17C0, 0x1680, 0xD641,

0xD201, 0x12C0, 0x1380, 0xD341, 0x1100, 0xD1C1, 0xD081, 0x1040,

0xF001, 0x30C0, 0x3180, 0xF141, 0x3300, 0xF3C1, 0xF281, 0x3240,

0x3600, 0xF6C1, 0xF781, 0x3740, 0xF501, 0x35C0, 0x3480, 0xF441,

0x3C00, 0xFCC1, 0xFD81, 0x3D40, 0xFF01, 0x3FC0, 0x3E80, 0xFE41,

0xFA01, 0x3AC0, 0x3B80, 0xFB41, 0x3900, 0xF9C1, 0xF881, 0x3840,

0x2800, 0xE8C1, 0xE981, 0x2940, 0xEB01, 0x2BC0, 0x2A80, 0xEA41,

0xEE01, 0x2EC0, 0x2F80, 0xEF41, 0x2D00, 0xEDC1, 0xEC81, 0x2C40,

0xE401, 0x24C0, 0x2580, 0xE541, 0x2700, 0xE7C1, 0xE681, 0x2640,

0x2200, 0xE2C1, 0xE381, 0x2340, 0xE101, 0x21C0, 0x2080, 0xE041,

0xA001, 0x60C0, 0x6180, 0xA141, 0x6300, 0xA3C1, 0xA281, 0x6240,

0x6600, 0xA6C1, 0xA781, 0x6740, 0xA501, 0x65C0, 0x6480, 0xA441,

0x6C00, 0xACC1, 0xAD81, 0x6D40, 0xAF01, 0x6FC0, 0x6E80, 0xAE41,

0xAA01, 0x6AC0, 0x6B80, 0xAB41, 0x6900, 0xA9C1, 0xA881, 0x6840,

0x7800, 0xB8C1, 0xB981, 0x7940, 0xBB01, 0x7BC0, 0x7A80, 0xBA41,

0xBE01, 0x7EC0, 0x7F80, 0xBF41, 0x7D00, 0xBDC1, 0xBC81, 0x7C40,

0xB401, 0x74C0, 0x7580, 0xB541, 0x7700, 0xB7C1, 0xB681, 0x7640,

0x7200, 0xB2C1, 0xB381, 0x7340, 0xB101, 0x71C0, 0x7080, 0xB041,

0x5000, 0x90C1, 0x9181, 0x5140, 0x9301, 0x53C0, 0x5280, 0x9241,

0x9601, 0x56C0, 0x5780, 0x9741, 0x5500, 0x95C1, 0x9481, 0x5440,

0x9C01, 0x5CC0, 0x5D80, 0x9D41, 0x5F00, 0x9FC1, 0x9E81, 0x5E40,

0x5A00, 0x9AC1, 0x9B81, 0x5B40, 0x9901, 0x59C0, 0x5880, 0x9841,

0x8801, 0x48C0, 0x4980, 0x8941, 0x4B00, 0x8BC1, 0x8A81, 0x4A40,

0x4E00, 0x8EC1, 0x8F81, 0x4F40, 0x8D01, 0x4DC0, 0x4C80, 0x8C41,

0x4400, 0x84C1, 0x8581, 0x4540, 0x8701, 0x47C0, 0x4680, 0x8641,

0x8201, 0x42C0, 0x4380, 0x8341, 0x4100, 0x81C1, 0x8081, 0x4040

};

unsigned short Crc16(unsigned char * pcBlock, unsigned short len)

{

unsigned short crc = 0;

while (len--)

crc = (crc >> 8) ^ Crc16Table[(crc & 0xFF) ^ *pcBlock++];

return crc;

}

//Библиотека для получения хеш-кодов

#include <windows.h>

#include <Wincrypt.h>

#include "hashlib.h"

static HCRYPTPROV hProv = 0;

// Инициализация сервиса шифрования

DWORD init_hl()

{

DWORD dwStatus = 0;

if (!CryptAcquireContext(&hProv,

NULL,

NULL,

PROV_RSA_FULL,

CRYPT_VERIFYCONTEXT))

{

dwStatus = GetLastError();

}

return dwStatus;

}

void close_hl()

{

CryptReleaseContext(hProv, 0);

}

DWORD get_hash(const char *data,int len,BYTE *hash)

{

DWORD dwStatus = 0;

HCRYPTHASH hHash = 0;

DWORD cbHash = 0;

// Создание объекта

if (!CryptCreateHash(hProv, CALG_MD5, 0, 0, &hHash))

{

dwStatus = GetLastError();

return dwStatus;

}

// Добавление данных для хеширования

if (!CryptHashData(hHash, (const BYTE*)data, len, 0))

{

dwStatus = GetLastError();

CryptDestroyHash(hHash);

return dwStatus;

}

cbHash = HASH_LEN;

// Получение хеш-кода

if (!CryptGetHashParam(hHash, HP_HASHVAL, hash, &cbHash, 0))

{

dwStatus = GetLastError();

}

CryptDestroyHash(hHash);

return dwStatus;

}

Размещено на Allbest.ru

...

Подобные документы

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

    дипломная работа [12,8 M], добавлен 28.08.2014

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

    дипломная работа [1,8 M], добавлен 14.03.2013

  • Возможные каналы утечки информации. Расчет контролируемой зоны объекта. Защита по виброакустическому каналу утечки информации. Выявление несанкционированного доступа к ресурсам. Система постановки виброакустических и акустических помех "Шорох-1М".

    курсовая работа [857,2 K], добавлен 31.05.2013

  • Исследование плана помещения и здания в целом. Технические каналы утечки речевой информации: виброакустический и акустооптический. Перехват наводок информационных сигналов. Оценка рисков информационной безопасности. Технические мероприятия по защите.

    курсовая работа [1,9 M], добавлен 26.11.2014

  • Физическая целостность информации. Система защиты информации. Установка средств физической преграды защитного контура помещений. Защита информации от утечки по визуально-оптическим, акустическим, материально-вещественным и электромагнитным каналам.

    курсовая работа [783,9 K], добавлен 27.04.2013

  • Классификация каналов утечки информации, виды угроз. Основные принципы и средства обеспечения информационной безопасности. Методы предотвращения утечки, утраты, хищения, искажения, подделки информации и других несанкционированных негативных воздействий.

    реферат [515,2 K], добавлен 03.04.2017

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

    курсовая работа [1,4 M], добавлен 02.10.2013

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

    курсовая работа [519,4 K], добавлен 18.11.2015

  • Варианты управления компьютером при автономном режиме. Классификация угроз безопасности, каналов утечки информации. Программно-аппаратные комплексы и криптографические методы защиты информации на ПЭВМ. Программная система "Кобра", утилиты наблюдения.

    контрольная работа [23,8 K], добавлен 20.11.2011

  • Аналитический обзор публикаций по защите информации от утечки за счет ПЭМИН для Торгово-промышленной палаты Оренбургской области. Совокупность всех средств и систем обработки информации. Структура информационной системы Торгово-промышленной палаты.

    курсовая работа [922,4 K], добавлен 21.01.2016

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

    курсовая работа [897,9 K], добавлен 27.04.2013

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

    курсовая работа [643,0 K], добавлен 22.04.2011

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

    курсовая работа [215,1 K], добавлен 23.12.2012

  • Обработка информации, анализ каналов ее возможной утечки. Построение системы технической защиты информации: блокирование каналов несанкционированного доступа, нормативное регулирование. Защита конфиденциальной информации на АРМ на базе автономных ПЭВМ.

    дипломная работа [398,5 K], добавлен 05.06.2011

  • Главные каналы утечки информации. Основные источники конфиденциальной информации. Основные объекты защиты информации. Основные работы по развитию и совершенствованию системы защиты информации. Модель защиты информационной безопасности ОАО "РЖД".

    курсовая работа [43,6 K], добавлен 05.09.2013

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

    дипломная работа [839,2 K], добавлен 19.02.2017

  • Характеристики объекта информатизации ОВД, с точки защищаемой информации. Способы утечки информации. Разработка предложений по защите информации на объекте информатизации ОВД. Алгоритм выбора оптимальных средств инженерно-технической защиты информации.

    курсовая работа [693,1 K], добавлен 28.08.2014

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

    презентация [1013,6 K], добавлен 15.12.2015

  • Уравнения, определяющие параметры звука. Методы защиты помещений от утечки акустической (речевой) информации. Расчет показателя защищенности акустической речевой информации. Технико-экономическое обоснование разработки данного программного обеспечения.

    дипломная работа [906,5 K], добавлен 27.06.2012

  • Характеристика предприятия. Технические каналы утечки, техника их моделирования: оптического, радиоэлектронного, акустического. Порядок проведения измерений и их анализ. Меры предотвращения утечки информации, программно-аппаратные средства ее защиты.

    курсовая работа [36,1 K], добавлен 13.06.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.