Материал: Организация работ и приготовление сложных пюреобразных супов

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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 Методы и средства защиты от рентгеновского излучения

Существует 3 основных способа защиты от рентгеновского излучения:

время (работа не более 4 часов);

расстояние (не менее 50 см от экрана);

экранирование.

Необходимо придерживаться строгого графика работы - время работы за компьютером не должно превышать половины рабочей смены (4 часа).

Для рентгеновского излучения - предельно допустимая доза для людей, которые постоянно или временно работают непосредственно с источником ионизирующих излучений не должна превышать D = 0,5 бэр/год в год.

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

Рri = Р0·е-m·r (2.7), где

Р0 - мощность дозы излучения на расстоянии 5 см от экрана, мкР/ч;

Prj - уровень мощности рентгеновского излучения на заданном расстоянии, мкР/ч;

r - расстояние от экрана, см;

m - коэффициент ослабления воздухом рентгеновских лучей, см-1.

Для расчета возьмем m = 3,14·10-2 см-1.

Таблица 2.1 Зависимость уровня мощности дозы от расстояния до источника:

r, см

5

10

30

40

50

60

Рrj, мкР/ч

100

73

53

39

28

21


Принимая среднее расстояние между пользователем и монитором за 60 см и зная, что годовая доза рентгеновского излучения опасная для здоровья равна 0,5Р - можно рассчитать реальную дозу радиации получаемую пользователем за год:

Dr = Di · n · n1 · n2, где  - доза радиации за год;

n - нормируемое ежедневное время работы за монитором равное 4ч;

n1 - количество рабочие дней в неделю (5 дней);

n2 - количество рабочих недель в году (в среднем 43 недели);

Di - мощность дозы рентгеновского излучения на расстоянии 60 cм;

Dr = 15,2 · 4 · 5 · 43=0,013Р (бэр).

,013Р < 0,5Р (предельно допустимая доза 0,5Р значительно превосходит полученное значение дозы).

.2.2.1 Вывод:

Оператору рекомендуется находиться от монитора на расстоянии не менее 60 см.

.2.3 Методы и средства защиты от ультрафиолетового излучения

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

защитный фильтр или специальные очки (толщина стекол 2мм, насыщенных свинцом);

одежда из фланели и поплина;

побелка стен и потолка (ослабляет на 45-50%);

мощность люминесцентных ламп не должна превышать 40 Вт.

.2.4 Методы и средства защиты от электромагнитных полей низкой частоты

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

время работы - не более 4 часов;

расстояние - не менее 50 см от источника;

экранирование.

Относительно электромагнитных излучений низкой частоты можно отметить, что в современных мониторах нижний предел спектра смещен в сторону высоких частот посредством увеличения частоты кадровой развертки до 90 - 120Гц и значительно превышает наиболее опасную частоту - 60 Гц.

Чтобы уменьшить опасность надо:

не работать с открытой ЭВМ;

соблюдать расстояния между соседними ЭВМ (не < 1,5м);

исключить пребывание сбоку от монитора (≥ 1,2 м).

.2.5 Методы и средства защиты от статического электричества

Электростатические поля вызывают скопление пыли, попадающей на лицо и глаза оператора.

Норма: 15 кВ/м.

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

наличие контурного заземления;

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

скорость подвижного воздуха в помещении должна быть не более 0,2 м/с;

отсутствие синтетических покрытий;

влажная ежедневная уборка помещения вычислительного центра для уменьшения количества пыли;

проветривание без присутствия пользователя.

.2.6 Вывод

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

Заключение

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

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

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

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

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

Список использованной литературы

Сузи Р.А. М.: БИНОМ. Лаборатория знаний, Интернет-университет информационных технологий - ИНТУИТ.ру, 2006.

Курс лекций Python. - М., http://www.webtag.ru/kuru/kupython.php#лекции_python

Г. Россум, Ф.Л.Дж. Дрейк, Д.С. Откидач, и др. Язык программирования Python, 2001 - 454 c, http://www.script-coding.info/Python/Otkidach.html

Официальная статистика компьютерных преступлений, совершенных в Российской Федерации по данным ГИЦ МВД России, 2004 http://www.cyberpol.ru/statcrime.shtml

Современные технологии защиты от утечки конфиденциальной информации. - M, http://www.dials.ru/main.phtml?/press_about_us/protect

Аппаратные средства для выявления и предотвращения утечек конфиденциальных данных. - M, http://www.cnews.ru/reviews/free/insiders2006/articles/hardware.shtml

Программные решения для выявления и предотвращения утечек конфиденциальных данных. - M, http://itsecure.org.ua/publ/10-1-0-237

Решения для борьбы с утечками конфиденциальных данных. - M, http://www.compress.ru/article.aspx?id=16100&iid=736

Метод опорных векторов. - M, http://ru.wikipedia.org/wiki/SVM

Агеев Михаил Сергеевич. Методы автоматической рубрикации текстов, основанные на машинном обучении и знаниях экспертов. - M, 2004. - 136 с.

Пер. материала: Lena Kallin Westin. Receiver operating characteristic (ROC) analysis. - Department of Computing Science Umeå University, Sweden, 28 с.

Пер. материала: Receiver operating characteristic - Wikipedia, the free encyclopedia, <http://en.wikipedia.org/wiki/Receiver_operating_characteristic>

Кулямин В.В. Методы верификации программного обеспечения. - M, 117 с.

Рустэм Хайретдинов. Практика внедрения систем защиты от утечек конфиденциальной информации - M, http://www.bytemag.ru/articles/detail.php?ID=12492

Пер. материала: Xiaojun Li, Weiqiang Wang, Shuqiang Jiang,Qingming Huang, Wen Gao. FAST AND EFFECTIVE TEXT DETECTION. - Graduate University of Chinese Academy of Sciences, Beijing, China.

Пер. материала: 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.

Пер. материала: 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.

ГОСТ 19.504-79 Руководство программиста. Требования к содержанию и оформлению. - Введ. 01.01.81 - Группа Т55.

ГОСТ 19.401-78 Текст программы. Требования к содержанию и оформлению. - Введ. 01.01.80 - Группа Т55.

ГОСТ 19.201-78 Техническое задание. Требования к содержанию и оформлению. - Введ. 01.01.80 - Группа Т55.

ГОСТ 19.701-90 Схемы алгоритмов, программ данных и систем. - Введ. 01.01.92 - Группа Т5.

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

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

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

ГОСТ ССБТ 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>&nbsp;</td></tr>

'''PIL import Imagetext_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]

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>&nbsp;</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>&nbsp;</td></tr>\n'

return len(ans)ostime import time= time()= 0= 0= os.listdir(pic_dir).sort()fn in ld:

if fn[-4:].lower() not in fmts or fn.startswith(prfx):

continue

tf = time()

print 'Обрабатывается файл:', fn

res = text_detector(pic_dir, fn)

if res != -1:

sch1 += 1

if res != 0:

sch2 += 1

print 'Обнаружено текстоподобных участков:', res

print 'Время обработки (сек): %.2f'%(time() - tf)

print

else:

print 'Ошибка открытия или чтения файла!'

print+= '<tr style="background-color:#004400;"><td>&nbsp;</td></tr>\n' += '<tr><td>Текстоподобные участки были обнаружены в %d из %d файлов'%(sch2, sch1) + '</td></tr>\n'

rpt += '<tr><td>Общее время обработки составило (сек): %.2f'%(time() - tm) + '</td></tr>\n'

rpt += '<tr style="background-color:#004400;"><td>&nbsp;</td></tr>'+= '</table>\n</body>\n</html>\n'= open(pic_dir + 'report.html', 'wt').write(rpt).close() 'Текстоподобные участки были обнаружены в %d из %d файлов'%(sch2, sch1)

print 'Общее время обработки составило (сек): %.2f'%(time() - tm)

Приложение 2

Руководство программиста

.1 Назначение и условия применения программы

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