вторник, 22 января 2013 г.

Как я заинтересовался информационной безопасностью

Перебирал документы и файлы, каталогизировал и нашел свой дипломный проект, который писал еще в колледже. В нем нет ничего выдающегося, да и уровень самой программы, как не печально говорить об этом через 5 лет, не самый высокий. Но самое интересное, что меня порадовало, это дата и время компиляции: 17.06.2008, 23:19. Так сказать, последний час 20-го дня рождения. А уже через 7 дней я был в Санкт-Петербурге с огромными амбициями поступления в СПб НИУ ИТМО (тогда еще СПб ГУ ИТМО). 

Немного предыстории:
Год: 2008
Учебное заведение: МГГТК АГУ
Специальность: Программное обеспечение вычислительной техники и автоматизированных систем.

Именно программистом я начал становиться, когда на 3-м курсе по Delphi у меня вышла удовлетворительная оценка. И тут меня зацепило: как так? Я же вроде уже больше половины отучился, а напрограммировать толком ничего не могу. И тут понеслось. Сначала медиаплеер, потом всякие разные программки - напоминалки, будильники, редакторы. Но все это для общего развития. Стоящих программ было две:
Первая -это комбайн для работы с аудио. Он позволял каталогизировать, переименовывать, менять теги и многое другое. Работал как с пачками файлов, так и с отдельными. Хотя почему работал? Работает... Только проверить надо его.
Вторая- это именно та самая Info Protector, о которой пойдет речь. Немного жаль, что она так и осталась v 1.0 beta. Но свою роль в моем дальнейшем развитии она сыграла!
Сейчас код не пишу. Точнее пишу иногда, для себя. Но это больше кустарничество, а не разработка... Но о периоде, когда редкий вечер обходился без кода, всегда вспоминаю с ностальгией...


Справедливости ради хочется сказать, что большой вклад в мою нынешнюю любовь к безопасности дал предмет "Информационная безопасность", на котором я и пристрастился к данной теме. Сначала просто изучение вопроса с литературной стороны, а потом и практика... Которая вылилась в достаточно интересную, как мне тогда казалось, тему...

Текст описания беру из самого дипломного проекта. Единственное, убираю различного рода ссылки на литературу, картинки. И излишнюю воду. Думаю, что почти всем понятно, что такое контрольная сумма и для чего она нужна=). Остальное оставляю. Не потому, что не хочется описывать заново, а потому, что "Зачем?"... Это же уже история, моя история. И зачем ее менять...

Ну, приступим...
После запуска программы откроется окно для ввода пароля:


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


При открытии главного окна по умолчанию активен раздел «Файлы». В левой части главного окна расположена панель с кнопками, обеспечивающими навигацию по разделам программы. Она включает в себя следующие кнопки: «Файлы», «Тексты», «База ключей», «Защита файлов», «Проверка подлинности», «Настройки», «О программе», которые при нажатии делают активным соответствующий раздел.
В разделе «Файлы» пользователь имеет возможность шифрования и дешифрования файлов. Для этого необходимо выбрать исходный и конечный файлы посредствам нажатия кнопок «Обзор», находящихся рядом с соответствующими полями. Также исходный файл может быть выбран путем перетаскивания его из проводника Windows  на панель с изображением ключа, после чего его полное имя будет занесено в поле «Исходный файл». После этого необходимо выбрать один из четырех возможных криптографических алгоритмов и ввести ключ шифрования. Ключ также может быть сгенерирован случайным образом. Для этого следует отметить нужные наборы символов, выбрать длину ключа и нажать на кнопку генерации, находящуюся рядом с полем ввода ключа. После указанных действий необходимо нажать кнопку «Шифровать» или «Дешифровать», если файл до этого был зашифрован. Пока будет происходить шифрование, на панели, находящейся в нижней часть главного окна, будет отображаться индикатор процесса шифрования. После окончания процесса сведения о произведенных программой действиях будут выведены в поле информации о шифровании. При установке флажка «Удалить исходный файл» файл, являющийся источником шифрования будет удален с жесткого диска после окончания процесса шифрования.
В разделе «Тексты»  пользователь имеет возможность шифрования и дешифрования текстов:

Для этого ему необходимо ввести в поле «Исходный текст» текст для шифрования или дешифрования. Также текст может быть вставлен из буфера обмена Windows или открыт из файла при нажатии кнопки «Открыть текст». Далее, аналогично процессу шифрования файлов, необходимо выбрать один из четырех криптографических алгоритмов, а также ключ шифрования. Ключ также может быть сгенерирован случайным образом. После этого, в соответствии с необходимой операцией над введенным текстом, следует нажать кнопку «Шифровать» или «Дешифровать». В процессе шифрования в нижней части окна будет отображаться индикатор процесса, в процентном отношении показывающий состояние шифрования. По завершении шифрования конечный текст будет выведен в поле «Результирующий текст». Далее его можно скопировать в буфер обмена Windows или сохранить в формате *.txt посредствам кнопки «Сохранить текст».

Раздел «База ключей» состоит из четырех вкладок: «Файлы», «Тексты», «Пользовательские», «Контрольные суммы»

На вкладке «Файлы» находится список, содержащий имя файла, алгоритм шифрования и ключ. Данные в этот список добавляются автоматически при шифровании файлов. Контекстное меню списка дает возможность копирования ключа в буфер обмена или в поле для ввода ключа в разделе «Файлы». Также в контекстном меню имеется пункт «Отправить на дешифрование», при выборе которого данные выделенной строки копируются в соответствующие поля раздела «Файлы». При нажатии ни кнопку «Удалить» происходит удаление выделенных в списке строк.
Вкладка «Тексты» подобна предыдущей вкладке. Отличие состоит в том, что в списке ключей содержатся первые 10 символов зашифрованного текста, дата и время шифрования, а также сам алгоритм шифрования и ключ. Данные в этот список также добавляются автоматически, при шифровании текстов. Контекстное меню списка дает возможность копирования ключа в буфер обмена или в поле для ввода ключа в разделе «Тексты». В нижней части вкладки также расположена кнопка «Удалить», позволяющая удалять выделенные строки из списка. 
На вкладке «Пользовательские» в списке отображается база ключей пользователя. На этой вкладке расположен список паролей, содержащий сам пароль и описание к нему, поля для добавления пароля и описания, кнопки «Добавить», «Изменить» и «Удалить». Отличие от предыдущих двух вкладок состоит в том, что в эту базу пользователь сам добавляет записи. Для того, чтобы добавить пароль в базу, пользователю необходимо заполнить текстовые поля «Пароль»  и  «Описание» и нажать кнопку «Добавить». Если пользователю необходимо изменить данные в базе, то для этого надо выделить строку, которую  нужно изменить, затем в полях «Пароль»  и  «Описание» внести необходимые, после чего нажать кнопку «Изменить».  Для удаления – выделить нужную строку и нажать «Удалить».  Контекстное меню списка дает возможность скопировать пароль или его описание в буфер обмена Windows.
Вкладка «Контрольные суммы» предназначена для отображения базы хранения контрольных сумм файлов.  Здесь расположен список хранимых контрольных сумм, содержащий поля имени файла с путем к нему, его контрольной суммы, и даты и времени ее вычисления. Записи в этот список добавляются автоматически при вычислении контрольных сумм в разделе «Проверка подлинности». Выделенная контрольная сумма отображается в нижней части вкладки, под списком. Здесь же находится кнопка копирования контрольной суммы в буфер обмена и кнопка удаления записей из списка. 
Раздел «Защита файлов» содержит список, в котором отображаются имена файлов и пути доступа к ним, кнопки «Добавить» и «Удалить», а также кнопки запуска и остановки защиты.  Защита файлов подразумевает ограничение доступа к нему. Это такие действия как открытие, копирование, переименование, перемещение и удаление. Для того чтобы добавить файл к списку защищенных, пользователю необходимо нажать на кнопку «Добавить», после чего откроется окно выбора файла. При выборе файла и нажатии кнопки «Открыть» файл будет добавлен в список защищенных файлов.


Удаление файла из списка и, как следствие, снятие с него защиты происходит путем выделения файла и нажатия кнопки «Удалить». В правой нижней части этого раздела расположены кнопки запуска и остановки защиты. При включенной защите кнопка запуска защиты неактивна, активной является только лишь кнопка остановки защиты. Если же защита остановлена, то кнопка остановки защиты неактивна и возможность нажатия имеется только у кнопки включения защиты. Защита файлов обеспечивается посредством отдельного невизуального модуля, что позволяет  осуществлять защиту файлов тогда, когда основная программа не запущена.
Раздел «Проверка подлинности» предназначен для контроля изменения файла. Работа этого раздела основана на вычислении контрольной суммы конкретного файла. 

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



В разделе «Настройки» пользователь имеет возможность изменить основные настройки программы, такие как:
  • главный пароль программы – это ключ, которым шифруются все файлы программы и внутренняя информация. Для изменения этого значения имеется два поля: «Главный пароль программы» и «Повторите главный пароль». Это сделано для того, чтобы пользователь не мог допустить опечатку. При вводе разных значений в эти поля программа сообщит о том, что содержимое этих полей различно;
  • пароль для входа в программу – пользователь использует для того, чтобы войти в программы. Это поле может быть пустым. Для изменения этого значения также предназначены два поля, содержимое которых должно быть идентично;
  • каталог хранения временных файлов;
  • автоматическое добавление зашифрованных файлов к списку защищенных файлов;
  • защита программных файлов – исключает несанкционированный доступ ко всем рабочим файлам программы.
Все изменения, производимые в разделе «Настройки» вступают в силу только при нажатии на кнопку «ОК».

Вот, собственно, и конец истории. Объем: порядка 5-7 тысяч строк кода. Может больше.

Комментариев нет:

Отправить комментарий