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

Пoкa нaписaниeм кoмпьютeрныx прoгрaмм будут прoдoлжaть зaнимaться живыe персонал, в этиx прoгрaммax будут сoдeржaться oшибки. Нeкoтoрыe из этиx oшибoк нe являются критичными, иx нaличиe, зaчaстую, дaжe нe скaзывaeтся нa рaбoтoспoсoбнoсти прoгрaммы. Нo сущeствуeт очередь критичныx oшибoк, испoльзoвaниe кoтoрыx пoзвoлит oткрыть нaпaдaющeму двeрь вo внутрeннoсти систeмы, чeрeз кoтoрую мoжнo удaлять фaйлы, вoрoвaть нoмeрa крeдитныx кaрт или другую важную информацию. Новая программа, разработанная специалистами из Колумбийского университета, позволяет предотвратить кибернападения описанного выше будто. И делает это она постоянно шифруя и перемещая участки заключение выполняющейся программы, кардинально сокращая расстановка времени, который хакер может использовать угоду кому) совершения нападения.

Согласно имеющейся статистике, программа, отнюдь не прошедшая этап окончательной отладки, содержит рука об руку 50 ошибок разного рода держи 1000 строк программного заключение. Тщательная отладка программы, которая является весьма длительным и трудоемким процессом, избавляет программу ото большинства самых очевидных ошибок. Да в любом случае в ней остается некоторое количество ошибок, каждая из которых является потенциальной лазейкой во (избежание совершения нападения. И, несмотря же то, что разработчики компиляторов постоянно закрывают обнаруженные уязвимости, атакующие хакеры си же быстро находят новые методы и пути к совершения нападений.

«Программа Shuffler делает почти невозможным использование ошибки в программном коде в качестве лазейки про совершения нападения. Таким образом симпатия защищает пользователей программ с ошибок, допущенных разработчиками» — рассказывает Дэвид Уильямс-Кинг (David Williams-King), ведущий бывалый данного проекта, — «По причине работе программы нападающие без- могут вычислить или выяснить точного расположения отдельных участков стих программы, ведь этот шифр постоянно продолжает изменяться».

В начале 2000-х годов в некоторых операционных системах начали использовать технологию обеспечения безопасности, называемую рандомизацией расположения адресного пространства (address space layout randomization, ASLR). Суть работы этой технологии заключается в перераспределении и перемещении отдельных участков памяти в побудь на месте запуска программы. Это в свою кортеж, требует повторного проведения процедуры поиска в памяти во (избежание того, чтобы повторно использовать кое-кто участки программного кода. Так хакеры быстро разобрались, равно можно обойти данную технологию, из-вслед чего она тут а потеряла свою актуальность.

Программа Shuffler делает кое-что, напоминающее работу технологии ASLR, хотя делает это так, чисто ее работу невозможно обойти при помощи ранее известных методов. Она рандомизирует маленькие блоки программного заключение, шифруя их и перемещая каждые 20-50 миллисекунд, оставляя злоумышленнику ультра- малое время для произведения нападения. Такого рода подход не нов, а раньше его считали далеко не очень практичным из-по (по грибы) того, что для его реализации требуются специализированные аппаратные средства. За всем тем нынешние процессоры, обладающие высокой вычислительной мощностью, уж вполне могут справиться с такими задачами и опрятно программным путем.

На приведенном видеоролике символом # обозначается зашифрованный и подвигнутый участок исполняемого кода программы одного из распространенных типов веб-сервера. По части мере выполнения программы сервера программ Shuffler каждые 50 миллисекунд меняет поза блоков, расшифровывает некоторые и шифрует новые блоки, подстраиваясь перед программу, которая обеспечивает вывод демонстрационной веб-страницы.

«В отдельных случаях злоумышленник получит необходимую ему во (избежание нападения информацию, она сделано устареет» — рассказывает Вэзилеайос Кемерлис (Vasileios Kemerlis), гелертер информатики из университета Брауна, — «К тому времени Shuffler еще переместит выполненные программой фрагменты заключение в другие участки памяти и произведет все сие совершенно случайным образом».

В целях использования программы Shuffler безлюдный (=малолюдный) требуется никакого дополнительного стих в защищаемой программе и никаких специальных компиляторов угоду кому) ее сборки. Shuffler инда рандомизирует свой собственный шифр во время работы, защищая себя с ошибок. Более того, программа больше требовательна к ресурсам компьютера и малограмотный расходует столько процессорного времени, на правах ее ближайшие конкуренты, программы TASR и Remix, разработанные в Массачусетском технологическом институте и университете Флориды соответственно.

Интересах одиночных программ, выполняющих интенсивные вычисления бери одном процессорном ядре, деловая программы Shuffler становится причиной их замедления держи 15 процентов. Но в случае программы веб-сервера, выполняющейся сверху 12-ядерном процессоре, торможение столь незначительно, что им годится. Ant. нельзя просто пренебречь.

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