Обнаружение утечки информации в документах
Разработка программы обнаружения утечки конфиденциальной информации в документах: существующие подходы по защите от утечки информации, выбор алгоритма верификации по 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