Научные стремления 2011-1
.pdfГенерирование случайных значений происходит за счет использования специального класса RNGCryptoServiceProvider входящего в состав библиотеки
System.Security.Cryptography Framework.
Выводы: результаты работы внедрены в НИР ГБ 11-165 и учебный процесс при выполнении лабораторных работ студентами 4-го и 5-го курсов специальности «Информационные системы и технологии» в компьютерном классе 301-1 УО «Белорусский государственный технологический университет».
Литературные источники
1.Ярмолик В.М. Криптография, стеганография и охрана авторского права. Монография / В.Н. Ярмолик, С.С. Портянко, С.В. Ярмолик. – Минск, 2007. – 240с.
2.Пласковицкий В.А. Особенности реализации методов обфускации в интернетприложениях / П.П. Урбанович; БГТУ, кафедра информационных систем и технологий // 62-ая научно-техническая конференция студентов и магистрантов: сборник научных работ. – Минск,
2010. – С. 156-168
3.Интернет-портал [Электронный ресурс] / Традиционные симметричные
криптосистемы. |
– |
Режим |
доступа: |
http://store.vmware.com/store?Action= |
||||
DisplayPage&Env=BASE&Locale=en_US&SiteID=vmware&id=ProductDetailsPage&productID=105 |
||||||||
855000&resid=TpKtiQoHAtYAABlIhF8AAAAj&rests=1318235529278. |
– |
Дата |
доступа: |
|||||
10.10.2011. |
|
|
|
|
|
|
|
|
4. |
Пласковицкий |
В.А., Урбанович П.П. |
Защита программного |
обеспечения от |
||||
несанкционированного использования и модификации методами обфускации / Пласковицкий В.А., Урбанович П.П. // Труды БГТУ. Сер. VI. Физ.-мат. наук и информ. – 2011. вып. 19. – С.
173-176.
V.A. Plaskovitsky
PROTECTION OF SOFTWARE CODE THE METHOD OF OBFUSCATION
Belarusian State University of Technology, Minsk
Summary
Article on research and implementation methods of obfuscation for software protection code against unauthorized use. Were analyzed sovermennye trends in this area, identified their strengths and weaknesses. As a result of the program was created to implement these methods of obfuscation at the source and intermediate code. Describes its interface and functionality. The analysis of the possible areas of application.
761
УДК 004.93'1
В.А. Рудницкий 1, Д.А. Дашковский 2
АНАЛИЗ ПРОБЛЕМ В РАЗЛИЧНЫХ ВИДАХ АВТОМАТИЧЕСКИ ГЕНЕРИРУЕМЫХ ИЗОБРАЖЕНИЙ ДЛЯ ОБРАТНОГО ТЕСТА
ТЬЮРИНГА
1Белорусский Государственный Университет Информатики и Радиоэлектроники, Минск
2Гомельский Государственный Университет им. Ф. Скорины, Гомель
На сегодняшний день одним из основных способов защиты информационных систем, находящихся в открытом доступе, от программ, выполняющих автоматические действия, является использование специальных изображений с текстами (называемых «captcha» или на русском «капча»). Пользователю для того, чтобы продолжить работу необходимо указать (написать), что он видит на этих изображениях. Предполагается, что компьютерная программа не способна качественно решить такую задачу, соответственно, ввод верного значения должен свидетельствовать о том, что действия выполняются человеком. Однако, на текущий момент, большое количество информационных систем (сайтов, порталов, некоторых приложений и т.д.) используют для защиты алгоритмы, обладающие определенными уязвимостями, позволяющие программным способом распознать, что написано на изображении. Ниже на примерах конкретных изображений приведены описания этих уязвимостей и рекомендации по их устранению. Следование этим рекомендациям при проектировании и модернизации информационной системы будет способствовать существенному увеличению защищенности информационной системы от взлома.
В целом алгоритм распознавания практически любого изображения текста разделяется на 4 основных этапа:
1)отфильтровка помех;
2)разбиение очищенного изображения на отдельные символы;
3)поворот символов, избавление от искривлений (необязательно);
4)распознавание разделенных и повернутых символов (возможен с использованием синтаксического поиска по словарю).
При анализе изображений различной степени защищенности количество этапов может отличаться, также они могут идти в другом порядке. Рассмотрим по отдельности основные ошибки при построении защиты противодействия распознаванию на каждом из этапов.
Для первого этапа, если помехи по цвету (или каким-либо другим характеристикам) отличаются от символов, то их отфильтровка не представляет проблемы. Однако при наложении помех слишком похожих на символы мы рискуем получить изображения, которые даже пользователь далеко не всегда сможет распознать (рисунок 1).
762
Рисунок 1 - Изображения с чрезмерными помехами
Соответственно необходимо «не перебарщивать» с наложением помех. Лучше всего вносить небольшие нелинейные искажения на отдельных участках изображения, совпадающие по цвету либо с цветом символов, либо с цветом фона (рисунок 2).
Рисунок 2 - Изображения с правильно наложенными помехами
Очень большие сложности при распознавании могут возникать на втором этапе. Обычно, именно усложняя распознавание на этом этапе (а также одновременно и на третьем) можно добиться очень высоких результатов в защите. Для затруднения разделения символов можно либо наложить определенным образом помехи (так, чтобы средний размер одного элемента помехи был не меньше расстояния между символами), по цвету совпадающие с символами, либо искривить символы и расположить их так, чтобы границы одного символа касались границ другого, или чтобы символы накладывались друг на друга.
Рисунок 3 - Хорошо защищенные от распознавания изображения с противодействием распознаванию на этапе разделения символов
Степень читаемости символов (рисунок 3) для человека усложнилось не слишком сильно, однако для распознавания программой сложность возросла многократно – человеку, решившему взломать такую «капчу» придется писать алгоритм с контурным анализом, либо придумывать свой алгоритм анализа, «заточенный» под конкретную «капчу».
При противодействии распознаванию на третьем этапе, следует учитывать, что поворот символов без использования других способов затруднения распознавания неэффективен из-за слишком простых обратных преобразований (рисунок 4). Соответственно поворот следует использовать хотя бы в сочетании с искривлением символов.
763
Рисунок 4 – Пример обратного преобразования повернутого изображения
На четвертом этапе, если помехи отфильтрованы и символы корректно разбиты, при наличии достаточно большой базы символов – можно распознать практически любое изображение. Однако все же для увеличения защищенности можно использовать разные размеры символов, а также разные шрифты.
Теперь рассмотрим наиболее простые алгоритмы распознавания изображений, которые были реализованы на языке Python [2] при выполнении данного проекта для практического подтверждения уязвимости некоторых видов «капч».
1.Способ «наложение маски»[1]. Данному методу взлома подвержены самые простейшие «капчи», не применяющие геометрические искажения символов, использующие один шрифт (или очень ограниченное их количество), а также использующие легко фильтруемые помехи (рисунок 5).
Рисунок 5. Изображения, практически не защищенные от распознавания
Вначале отфильтровываются помехи и изображение разбивается на участки содержащие отдельные символы. Далее программа сравнивает изображение каждого символа эталонного шрифта с распознаваемым. Тот символ, у которого больше всего совпадений (пикселей того же цвета, что и в эталоне), и считается результатом распознавания изображения изображения символа. С использованием данного метода для всех тестируемых типов «капч» удалось добиться 100% правильных распознаваний.
2. Алгоритм с поиском по минимальному среднеквадратичному отклонению. Данному алгоритму распознавания «поддаются» все «капчи» имеющие легко отделимые помехи, слабые искажения символов, отсутствия пересечений и наложений отдельных символов друг с другом.
В исходном изображении находим среднюю яркость, пиксели, яркость которых выше, либо равна ей, закрашиваем черным, остальные - белым. Далее без проблем отделяем символы друг от друга. Для распознавания отдельных символов обычно используют нейронную сеть либо попиксельное сравнение с маской (набором масок), но, для того, чтобы снизить потребление вычислительных мощностей был использован следующий алгоритм:
1.Вычисляется общее количество закрашенных символов в прямоугольнике с символом.
764
2.Прямоугольник разбивается на 16 частей (4х4), вычисляется процент содержащихся в каждой части закрашенных пикселей от общего их количества.
3. Символ поочередно сравнивается с образцами в базе данных,
Рисунок 6. Поэтапное распознавание изображения алгоритмом с поиском по минимальному среднеквадратичному отклонению
вычисляется среднеквадратичное отклонений между каждой частью распознаваемого символа и эталона, все значения суммируются.
4. В качестве ответа выбирается имя образца при котором сумма среднеквадратичных отклонений минимальна.
На данном виде изображений алгоритм показал результат 54% правильных распознаваний, при базе размером в 400 символов и времени обработки одной «капчи» менее секунды на среднем по мощности компьютере.
В заключение на основании проведенного анализа, составим общие требования для «идеальной капчи» - такая «капча» должна иметь нелинейные искажения совпадающие по цвету с цветом символов, символы должны располагаться либо вплотную друг к другу, либо с наложением друг на друга, также помимо этого символы должны быть искривлены и немного повернуты под углом. Но такая «капча» будет крайне сложна не только «для компьютера», но и для пользователя. Поэтому следует адекватно оценивать необходимость использования сложной капчи на сайте и в некоторых случаях использовать более простые элементы защиты по отдельности разобранные здесь, например искривления символов с расположением символов вплотную. Необходимо помнить, что ни один алгоритм защиты не является идеальным и взлом любого алгоритма лишь вопрос времени и средств. Поэтому в информационных системах, где требуется высокая степень защищенности следует менять алгоритм генерации «капчи» хотя бы раз в 2-3 месяца.
Литературные источники
1.А. Л. Горелик Методы распознавания М.: Высш. школа, 1989.
2.Лутц М. Изучаем Python, 3-е издание, 2008.
V.A. Rudnitsky 1, D.A. Dashkovski 2
THE ANALYSIS OF PROBLEMS IN VARIOUS KINDS OF AUTOMATICALLY GENERATED IMAGES FOR THE INVERSE TEST OF TURING
1The Belarusian State University of Informatics and Radioelectronics, Minsk 2 Gomel State University named after Francisk Scorina , Gomel
Summary
The authors analyze the most frequent errors of generation CAPTCHA-images, and on the basis of this analysis, have offered the effective algorithms of protection CAPTCHA-images from automatic recognition.
765
УДК 658.012.011.56
Т.В. Русак
ПРОЕКТИРОВАНИЕ АРХИТЕКТУРЫ РАСПРЕДЕЛЕННЫХ АВТОМТИЗИРОВАННЫХ СИСТЕМ НА ОСНОВЕ ИНФОРМАЦИОННО-НЕЗАВИСИМЫХ БЛОКОВ
Белорусский государственный университет информатики и радиоэлектроники, Минск
На современном этапе развития информационных технологий во всех сферах деятельности используются автоматизированные системы управления. Современные автоматизированные системы приобретают специфику территориально рассредоточенных автоматизированных систем, что обусловлено распределенным характером объектов автоматизации, например, автоматизация технологических процессов и крупных рассредоточенных производств, управлением территориально-распределенными корпорациями, банковской и межбанковской деятельностью. Такие системы называют распределенными автоматизированными системами (РАС).
Разработка и проектирования РАС чаще всего выполняется на основе объектно-ориентированного подхода, который применяется на всех этапах жизненного цикла РАС. Такой подход предполагает рассмотрение системы как упорядоченной совокупности объектов (а не процессов, как при структурном подходе), которые в процессе взаимодействия друг с другом обеспечивают функционирование автоматизированной системы как единого целого.
Одним из первых и основных этапов проектирования РАС, который оказывает влияние на разработку всей системы в целом, является этап проектирования системной архитектуры РАС. На данном этапе выделяются компоненты АС и определяются взаимосвязи между этими компонентами. Компоненты РАС могут располагаться на удаленных компьютерах, работать на различных аппаратно-программных платформах, поэтому необходимо выделять компоненты таким образом, чтобы межкомпонентное взаимодействие было минимальным. Минимизация межкомпонентного взаимодействия так же позволит повысить основные характеристики РАС, определяющие производительность: масштабируемость и открытость.
Объектно-ориентированный подход предполагает богатый набор логических и физических моделей для проектирования РАС высокой степени сложности. Существующие модели позволяют провести анализ проектируемой РАС. Однако декомпозиция системы на компоненты зависит от опыта и квалификации разработчика
Для повышения эффективности проектирования в докладе предлагается рассмотреть, первоначально, функции системы, которые представляются при проектировании РАС вариантами использования.
Любая распределенная автоматизированная система на этапе проектирования может быть представленная некоторым набором функций [1], которые определенным образом связаны между собой и описывают поведение системы и связи с внешней средой и которые представлены вариантами
766
использования на UML моделях, построенных на этапе определения требований. Связи между этими функциями осуществляются по входным и выходным параметрам и образуют информационную сеть, на основе которой варианты использования могут быть объединены в один функциональный компонент.
Исходя из этого, представим РАС в виде информационной схемы соединения. Для описания схемы воспользуемся символами теории множеств. РАС можно представить как некоторое множество вариантов использования U={u1, u2,…un}, соединенных между собой информационными сетями из множества IJ={i1, i2,…im}. Назовем такое представление информационной схемой соединения [2] (рисунок 1).
|
|
|
C11 |
|
C13 |
C21 |
|
C23 |
|
||
C01 |
|
|
|
U1 |
|
|
|
U2 |
|
C03 |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
C12 |
|
|
C22 |
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C31 |
|
|
|
|
C41 |
|
C42 |
C04 |
|
|
|
|
|
|
|
|
||||
|
|
|
|
U3 |
|
|
U4 |
||||
|
|
|
|
|
|
|
|||||
C02 |
|
|
|
C33 |
|
||||||
|
|
|
|
|
|
|
|
||||
|
C32 |
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
||
Рисунок 1 – Информационная схема соединения
Каждый элемент схемы имеет некоторое множество соединительных выводов Сi={с1, с2,…сki}, которые являются входными и выходными параметрами функций. Кроме параметров функций, в схеме присутствуют внешние входные и выходные параметры С0, которые представляют собой входные и выходные данные распределенной автоматизированной системы, предназначенные для связи с внешней средой. Для дальнейшего удобно считать эти параметры принадлежащими фиктивной функции u0.
Два параметра считаются связанными, если объединяются одной информационной сетью, т.е. выходной параметр одной функции является входным параметром другой функции.
Для выделения информационно-независимых компонентов РАС можно воспользоваться упрощенной моделью графического представления РАС, которая основана на задании степени связанности функций друг от друга. Подсчитаем для каждой пары функций число связывающих их
информационных сетей. Далее построим граф G=(U,I), в котором вершины ui соответствуют функциям РАС, а ребра iij с приписанными к ним весами rij>0 –
количеству информационных сетей в функциях ui и u j . Полученный граф называется взвешенным графом (ВГ) РАС. Взвешенный граф для информационной схемы соединения (рисунок 1) представлен на рисунке 2.
767
|
U1 |
1 |
u2 |
|
|
||
2 |
|
2 |
|
2 |
|
1 |
|
|
|
||
|
|
|
1 |
|
|
1 |
|
|
u3 |
|
u4 |
|
1 |
|
1 |
|
|
|
|
|
|
u0 |
|
Рисунок 2 – Взвешенный граф РАС |
|||
|
|
В |
общем случае ВГ РАС |
может быть |
описан матрицей соединений |
||
R |
|
|
|
|
, строки и столбцы которой соответствуют функциям РАС, а rij равен |
||
rij |
|
|
|
||||
|
|
|
|
N |
N |
|
|
весу, приписанному соединению |
функций ui |
и u j , т.е. количеству общих |
|||||
параметров между функциями ui и u j . Матрица R – симметрическая, с нулевой главной диагональю ( rij 0, i 1, 2,..., n ).
Описание РАС как информационной схемы соединения с помощью взвешенного графа является полным и точным. К данной модели структуры РАС можно применить алгоритмы компоновки функциональных компонентов. Основными критериями оптимизации являются минимум числа внешних связей междуфункциональными компонентами и максимальное количество внутренних связей. Данная задача сводится к решению задачи линейного целочисленного программирования либо может быть решена методом перебора.
Предложенный подход позволит выделить в архитектуре РАС информационно-независимые компоненты с минимальным количеством внешних и максимальным количеством внутренних связей, что позволяет формализовать процесс выделения функциональных компонентов РАС при проектировании ее архитектуры. Правильно разработанная архитектура на начальном этапе проектирования значительно ускорит разработку системы, повысит масштабируемость, открытость и производительность распределенной автоматизированной системы.
Литературные источники
1.Якобсон, А. Унифицированный процесс разработки программного обеспечения / А.Якобсон, Г.Буч, Дж. Рамбо. – СПб.: «Питер», 2002.- 496 с.
2.Батура М.П., Русак Т.В. Графоаналитический метод описания информационной структуры автоматизированных систем управления. // Доклады БГУИР. – 2009г. – №3 (41).
T. Rusak
ARCHITECTURE DESIGN OF THE DISTRIBUTED AUTOMATED SYSTEMS ON THE BASIS OF DATA-INDEPENDENT COMPONENTS
Belarusian State University of Informatics and Radioelectronics, Minsk
Summary
The distributed character of automation objects attracts development of the distributed automated systems. The architecture of the distributed automated system is defined at a design stage and influences all life cycle of system.
768
In the report the method of designing of the distributed automated system is offered, using a partition of systems on data-independent functional components with minimization of communications between components that allows raising system performance.
769
УДК 004.75
И.Е. Субоч, А.В. Бычинский
ОБЛАЧНЫЕ ВЫЧИСЛЕНИЯ - ПЕРСПЕКТИВНОЕ НАПРАВЛЕНИЕ ИСПОЛЬЗОВАНИЯ ИНФОРМАЦИОННЫХ
ТЕХНОЛОГИЙ В БИЗНЕСЕ.
Белорусский государственный экономический университет
Кто не идет вперед – тот идет назад.
Облачные вычисления - концепция «вычислительного облака», согласно которой программы запускаются и выдают результаты работы в окне стандартного веб-браузера на локальном ПК, при этом все приложения и их данные, необходимые для работы, находятся на удаленном сервере в сети Интернет.
Преимущества Cloud Computing:
4.Оплата за фактическое использование услуг.
5.Снижение фиксированных платежей.
6.Отсутствие значительных предварительных расходов.
7.Техническими аспектами занимается провайдер услуг.
8.Управление лицензиями переходит в обязанности провайдера.
9.Значительная масштабируемость.
10.Доступ с любого устройства независимо от операционной системы: необходим лишь браузер с доступом в сеть Интернет.
11.Относительная простота интеграции в существующую информационную инфраструктуру организации.
Проблемы, связанные с массовым внедрением:
1.Расходы становятся постоянными.
2.Усложняется управление данными. К тому же информация может храниться на неизвестных серверах.
3.Некоторые правовые ограничения, в частности, законы о личных данных запрещают перемещение и хранение такого вида информации за пределами страны.
4.Потенциальная ненадежность и недоступность программных
решений.
5.Сомнительная конфиденциальность.
Приведенные выше преимущества и недостатки являются ключевыми при принятии решения IT-руководителями об использовании облачных продуктов в организации. Таким образом, руководителям необходимо взвесить возможные последствия и сопоставить их с допустимыми. В случае если риски являются приемлемыми, с высокой степенью вероятности можно говорить о возможности снижения издержек организации наряду с увеличением производительности и эффективности труда при переходе на облачные продукты.
Следует обратить внимание на значение облачных технологий для экономистов и менеджеров. Концепция облака представляют собой новый подход к ИТ, при котором технологии становятся доступными для предприятий
770
