Таблица 2. Формулы приближающего многочлена для функции y = sin x
На рис. 2 приведены графики многочлена H
m
(x) с использованием исходной переменной x для значений параметра
m=0,1,2,3,4 и график функции y = sin x.
Рис. 2. Приближение функции y = sin x составным многочленом
Из рисунка видно, что с увеличением значения параметра m графики приближающих многочленов монотонно
подходят к графику этой функции.
На рис. 3 показаны графики погрешности приближения
δ(x), определенной по формуле δ(x)=|f(x)-H
m
(x)|, для
различных значений параметра m.
Рис. 3. Погрешность приближения δ(x) для значений параметра m = 0–4
Рис.
2. Приближение функции y = sin x составным многочленом
Из графиков видно, что погрешность обращается в ноль на концах отрезка периодичности и уменьшается с возрас-
танием параметра m.
“Young Scientist” . #28 (132) . December 2016
7
Mathematics
Заключение
Рассмотрена задача аппроксимации периодических функций составными двухточечными многочленами Эрмита, ко-
торая решается путем расширения области применимости данного подхода аппроксимации с конечных отрезков на нео-
граниченные в общем случае промежутки задания функции. В результате решения задачи получены конечные формулы
представления периодической функции этими многочленами, которые используют значения функции и ее производных
в заданной точке.
Приведен пример представления функции y = sin x последовательностью составных двухточечных многочленов,
построенных для этой функции. Результаты исследований погрешности показали, что при определенных условиях со-
ставные двухточечные многочлены Эрмита могут использоваться для приближения периодических функций.
В работе использованы материалы доклада, сделанного автором на 18 Саратовской зимней математической
школе [6].
Литература:
1. Романовский П. И. Ряды Фурье. Теория поля. Аналитические и специальные функции. Преобразование Ла-
пласа. — М.: Наука. Гл. ред. физ. —мат. лит., 1980. — 336 с.
2. Кудрявцев Л. Д. Курс математического анализа. т. II. — М.: Высшая школа, 1981. — 584с.
3. Березин И. С., Жидков Н. П. Методы вычислений. Т. 1 — М.: Физматлит, 1962. — 464 с.
4. Воробьев Н. Н. Теория рядов — М.: Наука. Гл. ред. физ. —мат. лит., 1986. — 406 с.
5. Шустов В. В. О приближении функций двухточечными интерполяционными многочленами Эрмита // Журнал
вычислительной математики и математической физики, 2015, Т. 55, № 7. С. 1091–1108.
6. Шустов В. В. О приближении периодических функций составными двухточечными многочленами Эрмита //
Современные методы теории функций и их приложения: материалы 18-й Саратовской зимней математической
школы, Саратов: изд. ООО «Научная книга», 2016. С. 338–341.
Рис.
3. Погрешность приближения
δ(x) для значений параметра m = 0–4
«Молодой учёный» . № 28 (132) . Декабрь 2016 г.
8
Информатика
И Н Ф О Р М А Т И К А
Анализ атак на повышение привилегий
Ананьин Евгений Викторович, студент;
Кожевникова Ирина Сергеевна, магистрант;
Лысенко Александр Вячеславович, студент;
Никишова Арина Валерьевна, доцент,
Волгоградский государственный университет
А
таки на повышение привилегий — это такие атаки,
в которых злоумышленник эксплуатирует ошибку
в программном обеспечении, чтобы получить доступ к ре-
сурсу, который обычно защищен от приложения или
пользователя, что приводит к изменению привилегий для
выполняемых вредоносных действий, которые осущест-
вляются с большими привилегиями, чем предполагалось
разработчиком приложения и системным администра-
тором [1]. Известные атаки в этом типе в можно разде-
лить на две категории:
1. Вертикальное повышение привилегий — от поль-
зователя до суперпользователя [2]: низкопривилегиро-
ванный пользователь с обычной учетной записью в си-
стеме использует уязвимости ПО для доступа к функциям
или данным, которые доступны только для более привиле-
гированных пользователей или суперпользователей.
2. Горизонтальное повышение привилегий — от
не-пользователя системы к пользователю: обычный поль-
зователь с обычным доступом или без какой-либо учетной
записи в системе, использует некоторую уязвимость си-
стемы или ПО для того, чтобы получить доступ к функ-
циям или контенту, доступные для других обычных поль-
зователей [3].
Некоторые примеры хорошо известных атак на повы-
шение привилегий описаны в данной статье.
Атаки на переполнение буфера
Буфер представляет собой непрерывный участок па-
мяти, такой как массив или указатель в языке Cи. Частым
явлением является то, что в ПО нет автоматических про-
верки границ буфера. Переполнение происходит, когда
программа или процесс пытается хранить больше данных
в буфере, чем было зарезервировано для хранения. По-
скольку буферы создаются для хранения конечного коли-
чества данных, избыточная информация должна куда-то
записаться, что приводит к записи в соседние ячейки па-
мяти, и тем самым портит и перезаписывает данные, хра-
нящиеся в них. Для выполнения атаки на переполнение
буфера и используют эту уязвимость и в соседние ячейки
помещают код, который злоумышленник пытается вы-
полнить в переполненной зоне буфера. Атакующий затем
перезаписывает адрес возврата функции, чтобы он ука-
зывал обратно в буфер и выполнил код, предназначенный
для запуска некоторых действия, таких как запуск обо-
лочки shell с правами суперпользователя, уничтожение
пользовательских файлов, изменение данных, или разгла-
шение конфиденциальной информации.
Широко известная атака на переполнение буфера
была проведена на Microsoft Outlook и Outlook Express
в 2000 году [4]. Из-за ошибки в коде, сделанной Microsoft,
злоумышленники были способны выполнить любой код
на компьютере-жертве, просто отправив письмо по элек-
тронной почте. В отличие от других типичных почтовых ви-
русов, пользователи не могли защитить себя, не открывая
вложенные файлы, поскольку уязвимость была в алго-
ритме обработки заголовка сообщения, поэтому вредо-
носный код выполнялся в системе в тот самый момент, как
письмо загружалось с сервера. Некоторые другие хорошо
известные атаки на переполнение буфера для повышения
привилегий использовали Sendmail, который перепол-
няет буфер в алгоритме декодирования MIME в Sendmail
(SMTP)-службы на системах с Linux и IMAP, которая ис-
пользует ошибку в коде авторизации транзакции входа
в систему из IMAP-службы на Linux-системах.
Типичные меры противодействия для атак на пере-
полнение буфера состоит из написания безопасного кода,
обеспечения неисполнимости стека, встроенных про-
верок на безопасность в компиляторе. Тем не менее, ни
одно из перечисленных решений не может полностью ис-
ключить проблему переполнения буфера из-за стандарт-
ного framework языка программирования Cи и недостатка
опыта программирования разработчика программного
обеспечения.
“Young Scientist” . #28 (132) . December 2016
9
Computer Science
Атаки на системы с неправильной конфигурацией
Каждая система безопасности должна быть на-
строена администратором для некоторых параметров,
чтобы применить необходимую часть политики безопас-
ности и гарантировать, что система предоставляет только
те функциональные возможности, в которых нужда-
ются пользователи. Как правило, это означает, вклю-
чение только необходимых частей системы и отключение
прочих [5]. Проблема может возникнуть, когда админи-
стратор забывает отключить ненужные пользователю
части системы. Любая неверная или незавершенная на-
стройка системы может быть использована злоумышлен-
никами для того, чтобы преодолеть защитный барьер или
узнать о возможной уязвимости в системе. В результате
неправильная настройка системы или неустановленное
вовремя обновление ПО, стала одним из самых значи-
тельных уязвимостей предприятий, с которым сталкива-
ются в последнее время, и прогноз показывает, что на
такие атаки приходиться 70% успешных атак WLAN в те-
чение 2009 года.
Некоторые хорошо известные примеры таких атак —
bruteforce атака на FTPWrite. Злоумышленник знает имя
пользователя и подбирает пароля из списка возможных
паролей. Если администратор не меняет имя пользова-
теля и пароль по умолчанию, угадать возможные пароли
будет очень легко. Brute-force атака может быть обнару-
жена и предотвращена путем установки максимального
числа неудачных попыток входа для каждой службы или
при необходимости вставляя некоторую задержку между
двумя последовательными попытками входа в систему.
Другой атакой на FTP является использование гостевой
учетной записи. При неправильно настроенных правах
гостевого пользователя и директорий, гость сможет соз-
давать и загружать в директории других пользователей
и суперпользователя файлы, например файл rhosts, ко-
торый позволит получить злоумышленнику доступ к си-
стеме с большими правами нежели доступны гостевой
учетной записи. Мониторинг гостевых аккаунтов и от-
слеживание создаваемых ими файлов легко пресечет та-
кого рода атаку.
«Состояние гонки»
Состояние гонки — ошибка проектирования многопо-
точной системы или приложения, при которой работа си-
стемы или приложения зависит от того, в каком порядке
выполняются части кода. Своё название ошибка получила
от похожей ошибки проектирования электронных схем.
Состояние гонки — «плавающая» ошибка, проявляю-
щаяся в случайные моменты времени и «пропадающая»
при попытке её локализовать.
Хорошо известный пример это атака при входе поль-
зователя в старых версиях Unix-систем, в которой, когда
создается новый процесс «login», существует короткий
промежуток времени, когда новый процесс выполняется
в режиме приоритета (kernel или root) и еще не переклю-
чился на нормальный режим работы пользователя [6].
В это время, если пользователь несколько раз нажал
кнопку «ESC» во время входа в систему, то возможно, что
будет отменено изменение от root к user, давая человеку
полные права и доступ ко всей системе. Появления такой
уязвимости зависело только от того, была ли нажата кла-
виша «ESC» до или после перехода системы к пользова-
тельскому режиму.
Другие возможные места, где может появляться такая
уязвимость — открытие и проверку shell или пакетный
файл, выполнение подпрограммы, проверка пароля или
проверка имени пользователя. В некоторых операционных
системах, первоначальная проверка производится для
того, чтобы проверить безопасность оболочки shell или
исполняемого файла. После подтверждения, файл пере-
дается другому процессу для выполнения. В течение этого
короткого временного окна, злоумышленник может иметь
возможность заменить подтвержденный файл другим, что
позволяет свободно выполнять вредоносные действия.
Наличие богатого опыта в написании многопоточных
приложений у разработчика часто позволяет избежать со-
стояний гонки потоков и процессов. Кроме того необхо-
димо следить за обновлениями ПО, чтобы не допустить
эксплуатацию атаки при нахождении ее злоумышлен-
ником.
Атака «Man-In-The-Middle»
Атака Man-In-The-Middle(MITM) является одной из
форм активного перехвата в которой злоумышленник
контролирует весь диалог между жертвами, делая не-
зависимое соединение с каждой жертвой, передавая со-
общения между жертвами и имитировать, что они го-
ворят непосредственно друг с другом по частной связи.
Для того чтобы провести успешную атаку MITM, атаку-
ющий должен иметь возможность перехватывать все со-
общения, идущие между двумя жертвами, вводить новые
и выдавать себя за каждую конечную точку [7]. Хотя боль-
шинство криптографических протоколов или иной форме
механизмов аутентификации конечных точек может пре-
дотвратить MITM-атаки, они все равно часто использу-
ются злоумышленником в любых сетях, например, атаки
на пользователей в общедоступной беспроводной сети.
Сильный механизм шифрования является лучшей кон-
трмерой против MITM-атак, например использование SSH
вместо Telnet, механизмы шифрования файлов (например,
PGP или Entrust), или контрольные суммы сеансов.
Литература:
1. R. Albert, H. Jeong, and A. Barabasi, Error and attack tolerance in complex networks, Nature 406 (2000), 387–482.
«Молодой учёный» . № 28 (132) . Декабрь 2016 г.
10
Информатика
2. H. Aljifri, M. Smets, and A. Pons, IP traceback using header compression, Computers &Security 22 (2003), no. 2,
136–151.
3. Никишова А. В. Программный комплекс обнаружения атак на основе анализа данных реестра // Вестник Вол-
гоградского государственного университета. Серия 10. Инновационная деятельность. — 2012. — № 6. —
С. 152–155.
4. Аткина В. С. Оценка эффективности катастрофоустойчивых решений // Вестник Волгоградского государствен-
ного университета. Серия 10. Инновационная деятельность.. — 2012. — № 6. — С. 45–48.
5. S. M. Bellovin, M. Leech, and T. Taylor, ICMP traceback messages, (2000).
6. V. Berk, G. Bakos, and R. Morris, Designing a framework for active worm detection on global networks, Proceedings
of the IEEE InternationalWorkshop on Information Assurance (Darmstadt, Germany), 2003.
7. N. Brent, G. Lee, and H. Weatherspoon, Netbait: a distributed worm detection service, Tech.Report IRB-TR-03–033,
Intel Research Berkeley, September 2003.
Адаптивное управление модульными роботами на примере
многоногого робота с двумя типами конечностей
Демин Александр Викторович, кандидат физико-математических наук, научный сотрудник
Институт систем информатики имени А. П. Ершова СО РАН (г. Новосибирск)
1. Введение
Гиперизбыточные робототехнические системы, такие
как змеевидные и многоногие роботы, многозвенные ма-
нипуляторы, модульные роботы и др., обладают суще-
ственными преимуществами по сравнению с традици-
онными системами. Гиперизбыточность позволяет не
только решать более широкий круг задач, но и повы-
сить отказоустойчивость системы. Особо следует от-
метить активно развивающееся в последнее время на-
правление робототехники под названием «модульные
роботы» [1,2], основная идея которого заключатся
в конструирование сложных роботов из множества про-
стых однотипных модулей. Данное направление сулит
целый ряд новых возможностей, начиная с создания ро-
ботов-трансформеров, меняющих свою конструкцию
для решения конкретных задач, и заканчивая удешевле-
нием производства за счет использования однотипных
модулей.
Однако развитие и использование гиперизбыточных
робототехнических систем сталкивается с серьезными
трудностями, связанными со значительной сложно-
стью управления подобными системами. Наличие боль-
шого количества степеней свободы делает невозможным
применение традиционных подходов к созданию систем
управления путем прямого задания сенсорно-моторных
функций человеком-разработчиком. Поэтому стано-
виться актуальным разработка способов автоматического
порождения системы управления на основе различных
моделей обучения.
В мировой практике в области адаптивного управления
гиперизбыточными и модульными системами чаще всего
предлагаются решения, основанные на использование
популяционных методов (эволюционные методы, методы
роя частиц и т. д.) в интеграции с другими известными ме-
тодами машинного обучения (Reinforcement Learning,
нейронные сети и др.) [3–7]. Общим недостатком по-
добных решений является невозможность обучения в ре-
жиме реальной работы и слабая масштабируемость от-
носительно увеличения сложности системы (количества
степеней свободы). В целом, следует отметить, что в на-
стоящее время пока еще не предложено достаточно уни-
версального решения задачи адаптивного управления ги-
перизбыточными системами.
В наших работах предлагается альтернативный подход
к созданию обучающихся систем управления для мо-
дульных роботов, основанный на использовании логи-
ко-вероятностных методов извлечения знаний из данных
и эксплуатации свойств функциональной симметрии эле-
ментов конструкции роботов. В соответствии с данным
подходом управляющие правила системы описываются
при помощи языка логики первого порядка, что позволяет
использовать логико-вероятностные методы извлечения
знаний из данных для обнаружения эффективных правил
управления в статистических данных о взаимодействии
системы с окружающим миром. В качестве основного
пути для преодоления проблемы большого числа степеней
свободы предлагается идея использования функцио-
нальной симметрии элементов системы, что позволяет су-
щественно сократить пространство поиска управляющих
правил за счет использования одних и тех же правил для
схожих по своим функциям модулей. Интеграция логи-
ко-вероятностного подхода и свойств функциональной
симметрии позволили разработать специальный метод
поиска управляющих правил, который в первую очередь
пытается найти правила, общие для всех модулей, а уже
“Young Scientist” . #28 (132) . December 2016
11
Computer Science
затем специфицировать их для каждого конкретного мо-
дуля в отдельности.
В предыдущих работах [8–11] были описаны при-
меры применения предложенного подхода для обучения
типичных представителей простейших гиперизбыточных
модульных роботов: змеевидного робота, многоногого
робота и хоботовидного манипулятора. Полученные ре-
зультаты продемонстрировали основные преимущества
подхода: обучение и адаптацию в режиме реальной ра-
боты, высокую скорость обучения и хорошую масштаби-
руемость относительно увеличения сложности системы.
Однако рассмотренные примеры моделей роботов были
ограничены тем, что их конструкции состояли из одина-
ковых модулей. В данной работе исследуется примени-
мость предложенного подхода для управления модуль-
ными роботами, состоящими из разных типов модулей.
С этой целью был поставлен эксперимент по обучению
способам передвижения виртуальной модели простого
многоногого робота, имеющего конечности двух разных
типов. На примере данной модели оценивалась примени-
мость подхода и эффективность обучения.
2. Модель обучающейся системы управления
Рассматриваемая модель системы управления пред-
ставляет собой нейронную сеть, в которой базовым эле-
ментом управления является обучаемый логический
нейрон. Задачей каждого логического нейрона является
управление отдельным модулем робота.
Предполагается, что логические нейроны функциони-
руют в дискретном времени
0,1,2,...
t =
. Каждый нейрон со-
держит некоторый набор входов
1
,...,
k
input
input , принима-
ющих действительные значения, и один выход
output
, при-
нимающий значения из заранее заданного набора
1
{ ,..., }
m
y
y .
В каждый момент времени
t на входы нейрона подается вхо-
дящая информация путем присвоения входам некоторых
действительных
значений
1
1
,...,
k
k
input
x
input
x
=
= ,
1
,...,
k
x
x ∈
. Результатом работы нейрона является выход-
ной сигнал
output y
=
,
1
{ ,..., }
m
y
y
y
∈
, принимающий одно
из возможных значений
1
{ ,..., }
m
y
y .
Работа всей совокупности нейронов определяется
множеством логических правил с оценками, имеющих
следующий вид:
1
( ( ), ( ),...,
( ), ( )
)
m
i P i X i
X i Y i
r
∀
→
(1)
где
1,..,
i
n
=
— переменная по объектам — индексам
нейронов.
( )
j
X i ∈
— предикаты из заданного множества вход-
ных предикатов
, описывающих входы
j
нейронов
i
N
( 1,.., )
i
n
=
. К примеру, в простейшем случае данные пре-
дикаты могут быть заданы как
( ) (
( )
)
j
k
r
X i
input i
x
=
=
, где
r
x — некоторые константы из области значении входя-
щих сигналов, которые могут быть заданы, к примеру, пу-
тем квантования диапазона возможных значений соответ-
ствующих входов нейронов.
( )
j
Y i ∈
— предикаты из заданного множества выход-
ных предикатов
, описывающих выходы нейронов
i
N
( 1,.., )
i
n
=
и имеющих вид
( ) (
( )
)
j
r
Y i
output i
y
=
=
, где
r
y — некоторые константы из набора значений выходных
сигналов.
( )
P i ∈
— предикаты из набора предикатов , задан-
ные на множестве индексов нейронов. Смысл данного
набора — сужать область применения правил вида (1) до
конкретных нейронов или групп нейронов. К примеру,
в простейшем случае данные предикаты могут иметь вид
(
)
i j
=
, где
1,..,
j
n
=
. Эти предикаты будут принимать
значение «истина» только для конкретных нейронов
1,..,
j
n
=
. В эксперименте, описанном ниже, использова-
лись предикаты (( mod 2) 0)
i
= и (( mod 2) 1)
i
= , принима-
ющие значение «истина» соответственно только для чет-
ных либо только для нечетных индексов нейронов.
r
— награда, максимизация которой является посто-
янной задачей нейрона.
Данные закономерности предсказывают, что если на
вход нейрона
i
N ,
1,..,
i
n
=
будут поданы сигналы, удовле-
творяющие входным предикатам
1
( ),...,
( )
m
X i
X i из по-
сылки правила, и нейрон подаст на свой выход сигнал, ука-
занный в выходном предикате ( )
Y i , то математическое
ожидание награды будет равно некоторой величине
r
.
Поясним важность введения множества предикатов
.
В том случае, если правила (1) не содержит предикатов из
, то они будут иметь вид
1
( ( ),...,
( ), ( )
)
m
i X i
X i Y i
r
∀
→
Предполагается, что логические нейроны функциони-
руют в дискретном времени
0,1,2,...
t =
. Каждый нейрон со-
держит некоторый набор входов
1
,...,
k
input
input
, принима-
ющих действительные значения, и один выход
output
, при-
нимающий значения из заранее заданного набора
1
{ ,..., }
m
y
y
.
В каждый момент времени
t
на входы нейрона подается вхо-
дящая информация путем присвоения входам некоторых
действительных
значений
1
1
,...,
k
k
input
x
input
x
=
=
,
1
,...,
k
x
x ∈
Dostları ilə paylaş: |