3.2.5. Описание основных функций программы
Описание функций дано в порядке вхождения модулей, в которых те описаны, в список файлов проектов.
Программа загрузчик (Loader.exe):
ProcessMessages proc hWnd:DWORD
Обработка всех сообщений из очереди для данного окна;
DelImageDlgWndProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM
Диалоговая оконная функция диалога удаления файла;
DelImageDlgShow proc
Вызов диалогового окна удаления файла;
AC_ErrorMessage proc error:DWORD
Вывод системной информации о произошедшей ошибке;
AC_FindDriverInMem proc
Поиск драйвера в памяти и получение его состояния;
AC_RegisterService proc
Загрузка драйвера в память;
AC_StartService proc lpFileName:DWORD
Загрузка образа из указанного файла и создание диска;
AC_StopService proc
Выгрузка образа и удаление диска;
AC_DeleteService proc
Выгрузка драйвера из памяти;
AC_CreateNewImage proc imgsize:DWORD, imgpath:DWORD
Процесс создания нового файла образа диска;
AC_Cmd_LoadDriver proc lpFileName:DWORD
Интерфейс загрузки существующего файла образа диска;
AC_Cmd_UnloadDriver proc
Интерфейс выгрузки драйвера из памяти;
AC_GetUsedDriveLetter proc
Поиск логического диска, с которым связан загруженный драйвер;
WinMain proc hInst:HINSTANCE, hPrevInst:HINSTANCE, CmdLine:LPSTR, CmdShow:DWORD
Создание и поддержка главного окна приложения;
WndProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM
Оконная функция главного окна приложения;
_SaveFileDialog_ proc lpTitle:DWORD, lpFilter:DWORD, lpDefExt:DWORD
Вызов системного диалога выбора файла;
SwapButtonsEnabling proc hOwnerDlgWnd:DWORD
Переключение доступности кнопок диалогового окна. Вызывается на время выполнения выделения места под файл образа на винчестере, а также при удалении существующего файла образа для того, чтобы пользователь не мог ничего нажимать во время фоновой работы приложения;
NewImageDlgWndProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM
Оконная функция диалогового окна, в котором создается новый файл образа диска;
NewImageDlgShow proc
Создание диалогового окна, в котором создается новый файл образа диска;
FillDriveLetters proc hWndComboBox:DWORD
Заполнение всплывающего списка выбора (ComboBox) буквами дисков, не зарегистрированных в системе;
PasswordDlgWndProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM
Оконная функция ввода пароля;
PasswordDlgShow proc
Создание диалогового окна ввода пароля;
AC_TrayIconCreate proc
Создание иконки в трее и контекстного меню для нее;
AC_TrayIconDelete proc
Удаление иконки приложения из трея;
AC_TrayIconChange proc hNewIcon:DWORD
Изменение изображения у иконки приложения в трее;
AC_TrayIconWndProc_WM_TRAY proc wParam:DWORD, lParam:DWORD
Функция обработки сообщений от иконки в трее, которые система посылает главной оконной функции приложения;
AC_TrayIconWndProc_WM_COMMAND proc wParam:DWORD, lParam:DWORD
Функция обработки сообщений от пунктов контекстного меню;
AC_TrayIconMenuItemsCheckState proc
Функция меняет доступность пунктов меню и изображения иконки в трее в зависимости от текущего состояния драйвера.
Драйвер устройства (ACVHDD.SYS):
AC_OpenFileDrive proc pDeviceObject : PDEVICE_OBJECT, pIrp : PIRP
Открытие файла образа, а также инициализация и вычисление физических параметров создаваемого диска (число цилиндров, число секторов на трек, число байт на сектор и т.д.);
AC_CloseFileDrive proc pDeviceObject : PDEVICE_OBJECT, pIrp : PIRP
Освобождение выделенных ресурсов, закрытие файла образа, завершение работы системы шифрования;
AC_DriverUnload proc pDriverObject : PDRIVER_OBJECT
Функция вызывается при выгрузке драйвера и освобождает все выделенные ресурсы;
AC_DriverEntry proc pDriverObject : PDRIVER_OBJECT, pusRegistryPath : PUNICODE_STRING
Точка входа при первоначальной загрузке драйвера. Создает само устройство, инициализирует мютекс, а также устанавливает обработчики в DRIVER_OBJECT на системные запросы IRP_MJ_ xxx;
InitAES proc passwrd:DWORD
Инициализация системы шифрования по заданному паролю;
DoneAES proc
Завершение работы системы шифрования;
EncodeBuffer proc src:DWORD, dst:DWORD, block_count:DWORD
Шифрование буфера src длиной block_count 16 байтных блоков с записью результатат в dst;
DecodeBuffer proc src:DWORD, dst:DWORD, block_count:DWORD
Дешифровка буфера src длиной block_count 16 байтных блоков с записью результате в dst;
b_SetUp_Encode proc
Внутренняя функция, используемая при шифровании;
b_SetUp_Decode proc
Внутренняя функция, используемая при десшифрации;
rijndaelEncrypt proc a:DWORD, b:DWORD, rk:DWORD
Шифрование 16 байтного блока a с записью результата в b на основе ключей раундов rk;
rijndaelDecrypt proc a:DWORD, b:DWORD, rk:DWORD
Дешифровка 16 байтного блока a с записью результата в b на основе ключей раундов rk;
my_strncpy proc dst:DWORD, src:DWORD, maxlen:DWORD
Функция копирования нультерминальной строки. Аналог C/C++ функции strncpy;
copy_block proc dst:DWORD, src:DWORD
Функция копирования 16 байтного блока src в dst;
StrLen proc item:DWORD
Функция быстрого вычисления длины строки. Аналог C/C++ функции strlen;
populateKeyMaterial proc text:DWORD, key:DWORD
Расширение пароля text до заполнения длины ключа key;
InvMixColumn proc a:DWORD
Специальное перемешивание байт массива a;
rijndaelKeySched proc k:DWORD, W:DWORD
Формирование ключа шифрования по расширенному паролю;
rijndaelKeyEnctoDec proc keyBits:DWORD, W:DWORD
Формирования ключа дешифрации из ключа шифрования;
makeKey proc key:DWORD, direction:DWORD, keyLen:DWORD, keyMaterial:DWORD
Формирование ключа шифрования/дешифрования на основе пароля key, требуемому направлению шифрования direction, длины ключа keyLen и начального материала для формирования ключа keyMaterial;
MmGetSystemAddressForMdlSafe proc pMdl:PMDL, Priority:DWORD
Получение указателя в системном адресном пространстве нулевого кольца для пользовательского буфера в третьем кольце защиты;
AC_DispatchReadWrite proc pDeviceObject : PDEVICE_OBJECT, pIrp : PIRP
Функция – обработчик запросов системы на чтение/запись с устройства – диска; производит чтение / запись с соответствующим шифрованием / дешифрованием;
AC_DispatchCreate proc pDeviceObject : PDEVICE_OBJECT, pIrp : PIRP
Обработка инициализации драйвера в системе;
AC_DispatchClose proc pDeviceObject : PDEVICE_OBJECT, pIrp : PIRP
Обработка выгрузки драйвера;
AC_LoadKeyAndInitAES proc pDeviceObject : PDEVICE_OBJECT, pIrp : PIRP
Обработка сообщения от приложения загрузчика, передавшего в драйвер введенный пользователем пароль. Инициализация системы шифрования на основе этого пароля;
AC_DispatchControl proc pDeviceObject : PDEVICE_OBJECT, pIrp : PIRP
Функция обработки всех приходящих драйверу сообщений от системы;
Данный программный продукт должен предоставлять надежную криптографическую защиту для конфиденциальной информации, хранящейся на носителе в виде образов виртуальных логических дисков. Программный продукт реализуется в виде двух частей: драйвера и загрузчика. Драйвер отвечает за функции шифрования и взаимодействия виртуального логического диска с системой. Загрузчик предоставляет пользователю интерфейс для управления драйвером, а также функции по созданию образов, монтированию образов на виртуальные логические диски, надежному удалению файлов образов дисков с затиранием содержимого. Работа драйвера после монтирования диска никак не должна зависеть от работы загрузчика.
4.2. Назначение и условия применения программного продуктаДанный программный продукт предназначен для криптографической защиты конфиденциальной информации посредством создания виртуальных логических дисков.
Для работы приложения необходимо:
4. операционная система семейства Microsoft Windows не ниже Windows 2000;
5. 50 Кб свободного места на жестком диске + файлы образов дисков;
6. Требования к ресурсам оперативной памяти: для загрузчика порядка 4Мб, для драйвера в районе 100Кб.
Для тестирования программного продукта необходимо выполнить следующие действия (если что-либо будет отличаться от предъявленного, то программа работает некорректно):
1. Запустите загрузчик (Loader.exe). В трее должна появиться иконка приложения . Вызовите контекстное меню:
2. Выберите пункт меню «Создать образ диска». В появившемся диалоговом окне введите размер диска 200 (Мб), и выберите имя создаваемого файла образа. Имя можно ввести вручную в соответствующее поле, либо выбрать через стандартный системный диалог создания файла, открываемый при нажатии кнопки . Вид окна после выбора файла и ввода размера:
3. После нажатия кнопки «Создать» загрузчик начнет выделение места под требуемый файл образа. В зависимости от требуемого размера, объема свободного места на выбранном носителе и фрагментации файлов данный процесс может занять до минуты и даже более. Процесс отображается внизу диалогового окна в полосе прогресса. На время создания файла все кнопки диалога блокируются. Также диалог нельзя закрыть стандартными системными способами: через кнопку закрытия окна, комбинацию Alt+F4, соответствующий пункт меню окна. Окно в процессе выделения места:
... для блокировки загрузки с FDD; Интерфейс для блокировки загрузки с CD-ROM; Программное обеспечение формирования списков контролируемых программ; Документация. 2. Система защиты информации "Secret Net 4.0" Рис. 2.1. Назначение: Программно-аппаратный комплекс для обеспечения информационной безопасности в локальной вычислительной сети, рабочие ...
... » использовались раньше, а в наши дни они заложены практически в любой, даже самой сложной программе шифрования. Каждый из рассмотренных методов реализует собственный способ криптографической защиты информации и имеет собственные достоинства и недостатки, но их общей важнейшей характеристикой является стойкость. Под этим понимается минимальный объем зашифрованного текста, статистическим анализом ...
... которым они имели место, является одним из необходимых условий разработки защищенных систем и их использования.АЛГОРИТМ RC4 В настоящей работе проведен анализ криптостойкости методов защиты информации, применяемых в операционных системах семейства Microsoft Windows 95, 98. Кроме того, нами было проведено исследование по поиску необходимой длины ключа и пароля, а также были рассмотрены проблемы ...
... питания, уничтожители бумажных документов Заключение Цель курсового исследования достигнута путём реализации поставленных задач. В результате проведённого исследования по теме "Методы защиты информации в телекоммуникационных сетях" можно сделать ряд выводов: Проблемы, связанные с повышением безопасности информационной сферы, являются сложными, многоплановыми и взаимосвязанными. Они ...
0 комментариев