9966

Парольная защита офисного электронного документооборота

Научная статья

Информатика, кибернетика и программирование

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

Русский

2013-03-19

85 KB

40 чел.

Парольная защита офисного электронного документооборота

Статья посвящена исследованию программных аспектов парольной  защиты электронных документов. Проведена оценка эффективности распространенных программных средств взлома паролей. Показаны примеры программной реализации взлома парольной защиты файлов Microsoft Office и Web-документов. Предложены пути усовершенствования программных средств парольной защиты.

Введение

Качество управления современным предприятием напрямую зависит от эффективности применяемой системы офисного электронного документооборота, которая  в свою очередь во многом определяется уровнем безопасности этой системы. В соответствии с отечественным законодательством [1], электронный документ это документ, информация в котором подана в электронной форме, включает необходимые реквизиты, в том числе и электронную цифровую подпись.  В [1] также отмечено, что электронный документооборот представляет собой совокупность процессов сбора, обработки, передачи, получения, сохранения, использования электронных документов, которые реализуются с применением проверок целостности, достоверности, а в случае необходимости и подтверждения факта получения таких документов. Средства защиты информации и цифровой подписи, которые предназначены для организации электронного документооборота, должны быть сертифицированы или иметь положительное экспертное заключение специальной уполномоченной организации. Практический опыт показывает, что для большинства отечественных предприятий указанное требование безопасности не выполняются. Защита офисного электронного документооборота реализуется встроенными средствами операционной системы, офисного пакета Microsoft Office, а также дополнительными системами защиты. При этом

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

Следует отметить, что вопросам стойкости парольной защиты посвящено довольно много исследований [2,3]. Однако в этих исследованиях рассматривается в основном концептуальные вопросы и математический аппарат защиты и взлома паролей. В то же время прикладным  (программным) аспектам защиты и взлома паролей уделяется явно не достаточно внимания. Хотя, эти аспекты тоже имеют большое значение в практической деятельности. При этом  широко распространяются пакеты прикладных программ взлома электронных документов, функционирование которых представляет собой "черный ящик". Более того, существуют коммерческие организации, которые заявляют, что за определенную плату могут вскрыть парольную защиту электронных документов. В то же время, как разработчики офисного программного обеспечения, так и некоторые источники [4, 5] заявляют о достаточной стойкости парольной защиты, встроенной в программные средства обеспечения электронного документооборота. Этим объясняется актуальность исследования надежности парольной защиты электронных офисных документов.

Постановка задачи

Оценка и усовершенствование программных средств парольной защиты электронного документооборота.

Программные средства парольной защиты офисных документов

Подавляющее большинство электронных документов готовится с помощью продуктов Microsoft Office. При этом приложения Word, Excel, Access, PowerPoint, предназначенные в основном для обработки файлов на локальном компьютере  имеют возможность защиты этих файлов. С точки зрения обеспечения защиты от НСД к документам наиболее важным является пароль на открытие документа. Предполагается, что пароль вводится пользователем с клавиатуры или передается приложению с помощью специального программного интерфейса. В качестве пароля может использоваться произвольное сочетание букв, цифр, пробелов, символов. Длина пароля ограничивается 15 символами. Различаются прописные и строчные буквы. В паролях, могут использоваться следующие наборы символов (алфавит): латинские буквы, буквы других языков применяемых на компьютере (украинского, русского и т.п.),  10 арабских цифр, а также 33 спецсимвола.  

При установке пароля на открытие документ Microsoft Office шифруется по симметричному алгоритму RCA. В документе хранится зашифрованный хеш пароля, используемый при проверке. Единственный способ нахождения пароля – перебор [3,4]. Количество попыток (K), необходимое для полного перебора всех возможных вариантов пароля можно вычислить по формуле:

                                                                                                                                    (1),

где N — число символов, которые возможно использовать в пароле, L — предельная длина пароля. 

Как следует из формулы (1), величина K может быть достаточно большой, что свидетельствует о потенциально высокой стойкости парольной защиты приложений Microsoft Office.  Однако экспортные ограничения США на криптоалгоритмы значительно снижают криптостойкость этой защиты. Ключ, используемый при шифровании, имеет длину всего 40 бит, что явно не достаточно в современных условиях.

Более мощной парольной защитой обладают офисные документы в формате PDF, просмотр которых,  как правило, производиться с использование приложения Acrobat Reader. В этом случае максимальная длина пароля на открытие файла составляет 32 символа, а длина ключа в алгоритме шифрования RSA может составлять 128 бит. Однако Acrobat Reader можно используется только для просмотра документов, что серьезно сужает область его применения.

Следует отметить, что для сжатия документов довольно часто применяются программы архиваторы Zip, Rar или Arj в которых тоже заложена возможность использования парольной защиты.

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

Программные средства парольной защиты офисных документов, опубликованных в сети WWW

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

Собственно парольная защита реализуется Web-сервером, или с помощью специального программного обеспечения, размещенного на Web-сервере. Передача имени пользователя и пароля от программы клиента к Web-серверу осуществляется, как правило, по защищенному протоколу, например SSL. В листинге 1 показано элементарную типовую парольную защиту Web-документа (doc.php) с помощью  скрипта Php:

Листинг 1.

<html>

<?php

$a=0;

if (isset($name)){

 if ($name=='avtor') {

  $a=1;

 }

}

if (isset($password)){

 if ($password=='test') {

  if ($a==1) {   

   $a=2;

}

 }

}

if ($a==2) {

 echo('Текст документа');

 }

else {

 echo('<form action="doc.php">');

 echo(' <input type="text" name="name">');

 echo('<input type="password" name="password" value="">');

 echo('</form>');

 }

 

?>

</html>

При вводе правильного имени (avtor) и пароля (test) пользователь получает доступ к документу, иначе ему предлагается HTML-форма для ввода имени и пароля. Особенностью показанной программы является применение функции isset() которая проверяет существование переменных ($name и $password), в которые записываются значение имени и пароля, введенных пользователем. Как показывает практика, на подобной основе сформирована парольная защита почтовых служб сайтов www.rambler.ru и www.ukr.net, широко применяемых в системе электронного документооборота. При этом, имена и пароли пользователей хранятся в соответствующей базе данных.

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

Набор символов, который можно применять в имени пользователя и пароле, ограничен особенностями сети WWW. Длина имени и длина пароля обычно ограничена 12-32 символами. Предположив достаточный уровень безопасности Web-сервера, взломать парольную защиту можно только методом перебора комбинаций имя/пароль. Отметим, что, как и для локальных офисных приложений, количество таких комбинаций может быть достаточно большим, в первую очередь за счет большой длины пароля и использования в нем символов из различных наборов. Однако такой путь повышения устойчивости парольной защиты не всегда приемлем, вследствие трудностей при запоминании сложного и длинного пароля пользователем.

Распространенные средства и методики взлома парольной защиты офисных документов

Во многих случаях можно предположить, что попытка НСД к офисным документам осуществляется злоумышленником в условиях реализации на предприятии грамотной политики безопасности. Это предопределяет невозможность использования злоумышленником средств технического съема пароля при вводе, модификации механизма парольной защиты, а также модификации учетных данных на защищаемом объекте. Эта предпосылка позволяет ограничить анализ набора средств и методик взлома парольной защиты только теми, которые предназначены для подбора пароля.  К доступным программным пакетам, реализующим подбора пароля можно отнести   Accent Office, Advanced Office 97, Advanced ZIP, а также  Advanced ARJ. Первые два предназначены для взлома парольной защиты файлов Word и Exel, третий и четвертый  позволяют взломать пароли Zip и  ARJ файлов.   

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

Прямой перебор. Суть метода заключается в переборе всех возможные комбинации символов, используемых в качестве пароля. Время (T) необходимое для гарантированного взлома пароля можно рассчитать так:

                                                                                                                         (2),

где К количество вариантов возможных комбинаций символов в пароле, рассчитанное по формуле 1, t – время необходимое для проверки одного варианта.

Очевидно, что T  напрямую зависит от количества символов, которые можно применять в пароле, максимальной длины пароля,  мощности компьютера, алгоритма перебора вариантов, а также эффективности программной реализации. При этом, результаты тестирования [6] показывают, что на компьютере с процессором Celeron 416 МГц и объемом оперативной памяти 128 Мб программа Advanced Office 97 позволяет гарантированно взломать пароль, состоящий из 6 символов за 90 дней. Необходимо отметить, что результаты исследований проведенных автором показывают, что квалифицированный пользователь, как правило, использует пароль длиной от 6 до 16 символов. Этот результат был получен на основании опроса примерно 200 студентов старших курсов экономических специальностей.  

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

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

Перебор по маске. Применяется в том случае, если известны определенные параметры пароля, например длина или некоторые символы. Смысл использования заключается в том, что программе приходится перебирать меньшее количество возможных комбинаций. В соответствии с (1, 2) даже зная только количество символов в пароле  и используемую раскладку клавиатуры можно значительно уменьшить время подбора пароля. Отметим, что эти характеристики зафиксировать довольно легко.

Перебор по словарю. Метод базируется на том, что довольно часто для простоты запоминания пользователи используют в качестве пароля обычные слова. По мнению [4,5] список слов (словарь), которые пользователи вводят в качестве пароля, не превышает ста тысяч, что значительно меньше количества возможных вариантов пароля в случае применения прямого перебора. При этом, для каждого слова из словаря парольный взломщик может использовать одно или несколько правил. В соответствии с этими правилами слово изменяется и порождает дополнительное множество опробуемых паролей. Правила заключаются в изменении регистра символов пароля, в применении обратного порядка следования символов в пароле, замене букв на близкие по начертанию цифры. Слабыми сторонами данного метода являются трудности при составлении достаточно полного словаря паролей, а также принципиальная невозможность достижения стопроцентной вероятности взлома пароля. Кроме того, разработаны рекомендации [5,6], которые позволяют рядовому пользователю составить пароль, который с малой вероятностью присутствует в словаре.

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

Программа взлома пароля файлов Microsoft Office

В качестве языка программирования нами был выбран VBA. Выбор основан на тесной интеграции VBA со всеми приложениями Microsoft Office, а также наличием в этом языке методов позволяющих открывать файлы Excel, Word, Access, а также PowerPoint, защищенные паролем. Рассмотрим программу для взлома пароля файла Excel методом полного перебора символов, которые можно использовать в пароле. Программа для взлома была реализована в файле Excel break.xls. Предположим, что паролем защищен файл test.xls, расположенный в корневом каталоге диска Е. В файле break.xls создана пользовательская форма с кнопкой, выбор которой запускает процедуру  CommandButton1_Click(),  инициализирующую подбор пароля. Для удобства символы, применяемые в пароле, записаны в столбце "А" первой страницы файла break.xls. Полный код программы с подробными комментариями  показан в листинге 2:

Листинг 2.

'Объявляем массив для хранения символов

Dim ch(1 To 47) As String  

'Объявляем переменную для хранения ожидаемой длины пароля

Dim lenthP As Integer

'Объявляем переменную (флаг) для проверки открытия файла

Dim doc As Variant  

'Процедура инициализирующая подбор пароля

Private Sub CommandButton1_Click()

 'Оператор подавления ошибки

   On Error Resume Next

   'Определяем максимальную длину пароля. В качестве примера 2

   lenthP = 2

   'Пока флаг равен "no" файл не открыт, т.е. пароль не найден

   doc = "no"  

   'Из первого листа рабочей книги переписываем в массив символы,

   'которые могут применяется в пароле

   For i = 1 To 47  

       ch(i) = ActiveWorkbook.Sheets("1").Cells(i, 1)

   Next I

   'Открываем файл, предположив  отсутствие пароля

   doc = Application.Workbooks.Open("E:\test.xls")

   'Если флаг сигнализирует об открытии файла, то выводим соответствующее

   'окно сообщения и закрываем программу

   If doc <> "no" Then

       'Показываем окно сообщения   

       MsgBox "Пароля нет"

       End 

   End If

   'Вызов функции подбора пароля

   FuncPass " ", lenthP

End Sub

'Объявление функции открытия файла.

'Параметр mypass  пароль на открытие файла

Sub OpenFile(mypass As String)

   On Error Resume Next

  'Стандартный метод открытия файла.

   doc = Application.Workbooks.Open("E:\test.xls", , , , Trim(mypass))

   If doc <> "no" Then

       MsgBox mypass

       End

   End If

End Sub

'Объявление функции подбора пароля

'Параметры mypass  текущий пароль, depth  максимальная длина пароля

Sub FuncPass(mypass As String, depth As Integer)

   'Вызов функции открытия файла

   OpenFile mypass

   For k = 1 To 47

       If depth > 0 Then

           FuncPass mypass + ch(k), depth - 1

       End If

   Next k

End Sub

Особенностью показанной программы является применение оператора подавления ошибки времени выполнения, которая генерируется средой VBA при попытке открытия файла с не правильным паролем. Сигналом правильного пароля является запись в переменную doc дескриптора открываемого файла. Отметим, что пароль формируется путем последовательного добавления к нему новых символов, до тех пор, пока его длина меньше максимальной. Для этого используется рекурсивная функция формирования пароля [7].

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

Проведенные эксперименты показали, что с помощью описанной программы на компьютере с процессором Pentium-3 600 МГц и объемом оперативной памяти 384 МБ, работающего под управлением операционной системы Windows 2000, один вариант пароля подбирается за время 0,01-0,015 с.

Малое быстродействие предложенной программы по сравнению с [6] можно пояснить  недостаточно эффективным алгоритмом формирования вариантов пароля и низкой эффективностью языка VBA.   При этом с точки зрения аппаратного обеспечения, скорость взлома пароля зависит в основном  от тактовой частоты процессора.

В качестве   мероприятий направленных  на усиление парольной защиты можно предложить:

  •  Добавление в приложениях Microsoft Office опции отключения программного интерфейса открытия файла.
  •  Использование в пароле символов расположенных в алфавите как можно дальше друг от друга.

Программный взлом парольной защиты Web-декументов

Относительно локальных файлов программа взлома парольной защиты Web-документов должна учитывать следующие особенности:

  1.  Специфику передачи информации в сети.
  2.  Специфику открытия файла, не с помощью файловой системы операционной системы, а  с помощью Web-сервера.
  3.  Необходимость определения  сигнала о правильном пароле.

Учет первых двух  особенностей удобно реализовать за счет использования библиотеки MFC для работы с Internet afxinet. Это предопределило разработку программы на языке программирования языка VC++. Кроме этого в самой программе предусмотрена обработка исключительной ситуации, которая возникает при невозможности установить соединение с заданным сервером.

Учесть третью особенность возможно только на основании смыслового анализа содержимого Web-документа при вводе правильного или не правильного паролей. Отметим, что при не правильном пароле или в случае отсутствия запрашиваемого Web-документа клиенту (программе взломщику) как правило, все равно приходит ответ. Содержимое ответа будет зависеть от настроек Web-сервера и программы парольной защиты. Поэтому определить правильность пароля можно только на основании наличия или отсутствия определенной информации в содержимом открываемого Web-документа. В листинге 3 показан код функции OpenFile для открытия файла doc.php, парольная защита которого представлена в листинге 1:

Листинг 3.

/* Параметр р – это строка http запроса к вызываемому файлу. Строка формируется путем добавления имени и пароля пользователя к адресу вызываемого файла.*/

OpenFile(CString p)

{

  // Открываем Internet сессию

 CInternetSession ses;

 try {

        // Открываем файл  

       CHttpFile  *hF = (CHttpFile*) ses.OpenURL(р);

        // Выделяем буфер для считывания информации из файла

        hF->SetReadBufferSize(4096);

        // Объявляем переменные для считывания информации из файла

        CString str, buf;

        //Построчно считываем информацию из файла и сохраняем ее в строке str

        while (hF->ReadString(buf)){

str+=buf;

         }

         // Закрываем файл и сессию

        hF->Close(); ses.Close();

        // Ищем в строке str информацию, сигнализирующую об  открытии файла

        if (str.Find("Текст документа")>-1) {

 // Если файл открыт

 // Вывод пароля на екран

 AfxMessageBox(p);

// Выход из функции с результатом "пароль найден"

 return 1;

         } else {

// Выход из функции с результатом "пароль не найден"

               return 0;

         }

     }

     // Обработка исключения связанного недоступностью Web-сервера

     catch(CInternetException *pE) {

 // Закрываем файл и сессию

         hF->Close(); ses.Close();

// Вывод на экран описания исключения

 pE->ReportError();

// Завершение работы программы

exit(-1);

      }

}

Функция  OpenFile должна вызываться из функции подбора паролей, подобно тому как это показано в листинге 2.  Отметим, что сигналом о получении доступа к защищенной информации, а значит и о подборе пароля является успешный поиск в полученном документе строки "Текст документа".

Выводы

С точки зрения противодействия средствам подбора пароля увеличение стойкости парольной защиты можно достигнуть за счет:

  •  Отключения программного интерфейса ввода пароля. Следует применять в тех случаях, когда документы не предназначены для автоматизированного использования. Такая доработка может существенно увеличить стойкость парольной  защиты файлов Microsoft Office.
  •  Применения в пароле символов, расположенных на большом расстоянии в алфавите. Эта рекомендация базируется на том, что типовые алгоритмы подбора пароля перебирают символы алфавита по очереди.  
  •  Разработка такой схемы парольной защиты Web-документа, которая бы существенно усложнила процедуру автоматического подбора пароля.
  •  Одним из перспективных путей исследования является разработка программных комплексов для увеличения ключа шифрования в файлах Microsoft Office.  

Литература

  1.  ДСТУ 3396.2-97. Захист інформації. Технічний захист інформації. Терміни і визначення. – К.: Держстандарт України, 1998. 16 с.
  2.  Щеглов А.Ю. Защита компьютерной информации от несанкционированного доступа. – Санкт-Петербург : Наука и техника, 2004. – 384 с.  
  3.  Богуш В.М., Кривуца В.Г., Кудін А.М. Інформаційна безпека. Термінологічний навчальний довідник. К.: Издатель ООО "Д.В.К.", 2002. 508 с.
  4.  Якутский А. "Пароль?!" – "Не помню..." – "Проходи!". http://www.softkey.info
  5.  Михаил Брод  Ты уверен в стойкости своего пароля?. http://www.softkey.info
  6.  Офисный "взломщик". http://www.computerra.ru
  7.  Д.Кнут Искусство программирования для ЭВМ. Сортировка и поиск. М.: Мир, 1978. 843 с.


 

А также другие работы, которые могут Вас заинтересовать

67254. Передача параметрів конструкторам базового класу 75.5 KB
  Демонстрація механізму передачі параметрів конструкторам декількох базових класів Демонстрація механізму передачі аргументів конструкторам базового класу через конструктори похідного класу Дотепер жоден з попередніх прикладів не містив конструкторів для яких потрібно було...
67255. Документирование программных средств 149.5 KB
  Тексты и объектный код программ для ЭВМ могут стать программным продуктом только в совокупности с комплексом документов полностью соответствующих их содержанию и достаточных для его освоения применения и изменения. Посредством документов электронных или бумажных специалисты взаимодействуют...
67256. Статичне і відносне позиціонування CSS 260.5 KB
  Властивість position в CSS має чотири законних значення (на додаток до всюдисущому inherit): static, relative, absolute і fixed. Ці значення мають суттєвий вплив на те, як змальовується елемент. Два значення, static і relative, тісно пов’язані, й ми докладно розглянемо їх у цій темі.
67257. Законодательные органы 14.74 KB
  Ценности парламента: 1. Сегодня многие говорят о кризисе парламентаризма. Основные направления реформирования парламента: 1 Четко определить место парламента в системе распределения властей. Члены парламента осуществляют свою функцию профессионально все время на которое их избрали.
67258. ОБЩАЯ ХАРАКТЕРИСТИКА ЛЕГИРОВАННЫХ СТАЛЕЙ 29.5 KB
  Классификация примесей Все примеси содержащиеся в стали можно разделить на 4 группы: Это невредные примеси: марганец 0307 вес кремний 0204 их введение необходимо при производстве стали для раскисления жидкого металла причем в кипящей стали кремния мало 007.
67259. Мотивація й оплата праці 58.12 KB
  Результативність праці на кожному робочому місці зумовлює рівень економічної ефективності функціонування аграрного підприємства загалом. З-поміж різноманітних чинників, котрі становлять основу активізації зусиль персоналу підприємства...
67260. ПСЕВДОСЛУЧАЙНЫЕ ПОСЛЕДОВАТЕЛЬНОСТИ И ПРОЦЕДУРЫ ИХ МАШИННОЙ ГЕНЕРАЦИИ 127 KB
  Количество случайных чисел используемых для получения статистически устойчивой оценки характеристики процесса функционирования системы S при реализации моделирующего алгоритма на ЭВМ. Количество случайных чисел колеблется в достаточно широких пределах в зависимости от...
67261. Культура 18 века 55 KB
  Сущность эпохи Просвещения заключается в том что общественное бытие стало приводиться в соответствие с новым типом общественного сознания. Характерные черты Просвещения: В основе этого процесса – развитие промышленного производства рынок финансовое обращение завершение стадии...
67262. Методика гидрореабилитации детей 6-7лет, имеющих круглую спину 293.87 KB
  Анализ результатов реабилитации детей 6-7лет, имеющих круглую спин. Теоретические аспекты гидрореабилитации при нарушениях осанки у детей 6-7. Влияние водных процедур на организм человека. Этиопатогенез и клиническая картина нарушений осанки у детей 6-7.