Панель инструментов, обозначенная [2], используется для исполнения команд либо в активном редакторе, либо в операционной среде.
Рабочая область, обозначаемая [3], - это часть, где располагаются все окна редакторов.
Для примера программирования на языке SmallBasic будет использован
стандартный пример программы, выводящей на экран строку «Hello, world».
Рисунок 11 - написание программы на SmallBasic
Текст программы:
TextWindow. WriteLine («Hello World»)
Данная программа выведет на экран консольное приложение, в
котором будет отображена следующая строка:
Рисунок 12 - Итог выполнения программы на SmallBasic
Так же стоит отметить о еще одно особенности среды разработки
языка Small basic - контестном меню, упрощающим освоение языка и звначительно
увеличивая скорость написания программы.
Рисунок 13 - Контекстное меню
Первым, и самым главным требованием для нового языка программирования была его минимизация - язык должен был содержать как можно меньше тегов. Это было сделано для того, чтобы упростить работу с данным языком, а так же повысить безопасность страниц, написанных на новом языке, так как в более простом и коротком тексте страницы ошибки и уязвимости найти и устранить легче. За основу данного языка был взят HTML.
Для того, чтобы максимально укоротить язык разметки было решено сделать его текстовым. Данное решение способствовало как уменьшению количества используемых тегов, так и снижению объема готовых страниц, что так же входило в рамки данной дипломной работы. Текстовый язык разметки подходил для достижения всех целей, поставленных в данной работе.
Первыми тегами, используемыми в данном языке, были «%sd» и «%ed», представляющие собой аббревиатуры словосочетаний «start document» и «end document». Они служат для обозначения начала и конца страницы соответственно. Такое обозначение документа было заимствованно из языка HTML.
Следующий тег - «%lnk», обозначающий ссылку. Имеет один параметр, записываемый в скобки сразу поле тега (без пробелов). Этим параметром является прямая ссылка на другую страницу. В документе это будет выглядеть как текст, выделенный подчеркиванием и синим цветом шрифта. Текст - адрес ссылки. Это было сделано для того, чтобы невозможно было ввести пользователя в заблуждение, и в описании ссылки написать другой адрес. Любые пояснения к ссылке можно описать обычным текстом, перед или после ссылки по усмотрению разработчика. (LNK - сокращ. от link, ссылка с англ.)
Тег «%dl» отвечает за загрузку файла на сервер. Имеет присваиваемый параметр, записываемый в скобках после тега. Параметром служит название загружаемого файла, находящегося в специальной папке на жестком диске пользователя. Так как все операционные системы поддерживают только уникальные имена файлов в одной папке, то это исключает ошибку при работе браузера даже после портирования его на других ОС.
Тег «%dwld» отвечает за скачку файла с сервера. Его работа схожа с работой тега «%dl», описанного выше.
Символы документа, за исключением описанных выше тегов, будут кодированы в Юникод, что позволяет использовать для программирования страниц сайта приложение «Блокнот», встроенное в ОС Windows любой версии.
Краткое описание языка:
%sd - начало документа
%ed - конец документа
%lnk() - ссылка
%ld() - тег загрузки файла на сервер
%dwld() - тег скачки файла с сервера
формат документа - shml (short
markup language)
пример простейшего документа:
%sd
Главная страница:%lnk (#"786364.files/image013.gif">
Рисунок 14 - Байт-код
Байт-код получил свое название за то, что длинна каждого кода определенной операции составляет ровно 1 байт, но длинна кода команды может отличаться. Каждая инструкция имеет вид однобайтовый код операции от 0 до 255, после которого идут следующие параметры - регистры либо адреса используемой памяти. Но это как правило, в частных случаях спецификация байт-кода может значительно различаться.
Приложение на байт-коде как правило компилируется интерпретатором байт-кода (чаще всего называется виртуальной машиной, так как по своей структуре очень схож с о строением компьютера). Основное преимущество - кроссплатформенность таких приложений. Это означает, что один и тот же байт код может выполняться на принципиально различных платформах и архитектурах. Однако, поскольку байт-код обычно менее абстрактный, более компактный и более «компьютерный», чем исходный код, эффективность байт-кода обычно выше, чем чистая интерпретация исходного кода, предназначенного для правки человеком.
По этой причине многие современные интерпретируемые языки на самом деле транслируют в байт-код и запускают интерпретатор байт-кода. К таким языкам относятся Perl, PHP, Ruby (начиная с версии 1.9) и Python. Компилятор Clipper создает исполняемый файл, в который включен байт-код, транслированный из исходного текста программы, и виртуальная машина, исполняющая этот байт-код.
Программы на Java обычно передаются на целевую машину в виде байт-кода, который перед исполнением транслируется в машинный код «на лету» - с помощью JIT-компиляции. В стандарте открытых загрузчиков Open Firmware фирмы Sun Microsystems байт-код представляет операторы языка Forth.
В то же время возможно создание процессоров, для которых данный байт-код является непосредственно машинным кодом (такие процессоры существуют, например, для Java и Forth).
Также некоторый интерес представляет p-код (p-code), который
похож на байт-код, но физически может быть менее лаконичным и сильно
варьироваться по длине инструкции. Он работает на очень высоком уровне,
например «напечатать строку» или «очистить экран». P-код повсеместно
используется в СУБД и некоторых реализациях BASIC и Паскаля.
Автор данной работы предлагает создание внутренней локальной сети для определенной организации, с целью обеспечения максимальной безопасности данных. Сеть должно быль построена по средством разработанной Латыповым А.А. серверной части, работа с сетью должна осуществляться по средством написанного на языке SmallBasic браузера, концепцию которого предлагает автор данной работы.
Основной проблемой, поставленной перед автором, является обеспечение максимальной безопасности. Для ее достижения был разработан комплекс принимаемых мер, описанных ниже.
Первой, и самой главной мерой, которая должна быть принята для обеспечения безопасности внутрикорпоративной сети - отсутствие к ней доступа извне. К этому можно отнести доступ через глобальную сеть, открытие доступа или распространение файлов, хранящихся в сети для лиц, не относящихся к сотрудникам организации.
Для выполнения поставленных задач было разработано несколько методов, гарантирующих безопасность и сохранность файлов, находящихся в корпоративной сети.
Одним из главных решений, которые были приняты в ходе выполнения данной работы, был отказ от личной регистрации пользователей с присвоением для них пары логин и пароль. Данная концепция широко применяется в разных системах для распознавания пользователя, но она не может обеспечивать достаточной безопасности, так как злоумышленники при получении данной информации могут воспользоваться ею в корыстных целях. На замену привычному способу регистрации пользователей был разработан другой подход, благодаря которому работа с сетью возможна только на компьютерах организации и только для зарегистрированных пользователей. Заключается она в том, чтобы вшить пару логин и пароль в сам браузер во время его программирования. В таком случае для каждого пользователя будет скомпилирован свой личный браузер, содержащий пару логин и пароль конкретного пользователя. Этот браузер будет установлен на рабочее место служащего системным администратором в единичном экземпляре. Такой подход обеспечит:
· быстроту работы (пользователю не придется тратить время на заполнение полей «логин» и «пароль», а так же подключение к сети).
· безопасность, так как посторонний пользователь не сможет подключится сети не имея специального браузера, либо прямого физического доступа к компьютеру.
· точное ведение журнала действий пользователей сети.
На каждом их этих пунктов стоит остановится подробнее.
Работа для пользователя на подобном браузере будет максимально упрощенной по той причине, что от него не требуется никаких действий для подключения рабочего компьютера к сети. Достаточно будет просто включить компьютер и запустить заранее установленный системным администратором бразуер. По завершении работы достаточно будет просто выключить приложение. Так же пользователь будет свободен от необходимости держать в памяти логин и пароль, так как их нельзя никуда записать, чтобы эти данные не попали посторонним.
Такой подход обеспечит максимальную безопасность, ведь кроме мер стандартной безопасности, сеть будет защищена невозможностью подключения к ней посторонних компьютеров с получением доступа к информации без получения отдельной копии браузера. Но на случай, если злоумышленник заполучил копию браузера с чьего-либо рабочего места, был предусмотрен функционал браузера, который проверяет при запуске, не зарегистрирован ли в сети на данный момент браузер с таким же логином и паролем, как у него. В случае, если его логин и пароль совпали с уже зарегистрированными в сети, то все копии с подобной парой логин пароль закрывается, а доступ к сети навсегда блокируется. Это не позволит посторонним пользователям установить либо скопировать чужую версию браузера на свой компьютер и пытать подключиться к локальной сети организации.
Так же этот подход обеспечивает безопасность в том случае, если злоумышленник попытается «вытащить» для себя логин и пароль из приложения, так как скомпилированная на языке SmallBasic программа представляет собой байт-код, описанный выше. Это означает, что программа даже при попытке чтения ее кода представляет собой язык низкого уровня, непригодный для чтения человеком, что делает невозможным поиск в исходном коде никакой информации, способной дать доступ к сети.
Следующим пунктом идет точное ведение журнала активности пользователей. Пара логин - пароль, вшитая в код программы, позволяет быть уверенным, с какого компьютера действовал тот или иной пользователь.
Сам из себя браузер должен представлять окно с единственной открытой страницей, доступ к которой получает пользователь только после того, как его браузер успешно подключается к сети.
На странице пользователя будет располагаться информация, предоставленная ему сервером. Запуск рабочего компьютера так же будет совмещен с запуском сервиса, который будет служить для обновления информации, отображаемой браузером. для сервиса было разработано 2 концепции:
· Таймер. Эта концепция подойдет в том случае, если рабочий день в организации не нормированный, либо график изменчив в зависимости от дня недели, либо других событий. Концепция предполагает собой сервис, активируемый через заранее заданный системным администратором промежуток времени при условии, что браузер запущен.
· Строго заданное время обновления. Такой способ подойдет для организаций, в которых рабочий день длится строго отведенное время и возможно установить регламент, строго оговаривающий время запуска и выключения рабочих компьютеров. В этом случае сервис будет срабатывать во время включения компьютера.
Данные концепции призваны выполнить 2 задачи - снабжение работников обновленной информацией. Принцип работы сервиса следующий - сервис проверяет версию контента, либо дату его изменения. Если дата изменения либо версия отличаются от той, что отображается на экране пользователя, то данные обновляются, а пользователь во время обновления видит предупредительное окно, отображающее информацию об обновлении страницы. Таким образом будут достигнуты цели постоянного обновления информации для пользователя удобным для системного администратора либо руководителя фирмы способом. Так же будет исключена возможность перегрузки сервера запросами обновления страницы, отправленными пользователями, так как работники не имеют такой функции.
Страница, отображаемая в окне браузера уникальна для каждого
пользователя. Эта концепция была заимствована из новейшей современной системы co-array - параллельного
программирования. Таким образом каждый пользователь получает от сервера свои
уникальные задания, не отвлекаясь на информацию, которая к нему не относится.
Задания, составленные для работников, помещаются в специальные папки,
находящиеся на компьютере-сервере.
Заключение
В данной работе дипломной работе были исследованы различные языки разметки, такие как:
· GenCode
Были исследованы следующие браузеры:
· IE
· Google Chrome
· Opera
· Mozilla Firefox
· Mosaic
· Netscape
· WorldWideWeb
· Safari
Также была исследована история их развития, учтены их положительные и отрицательные стороны.
Был разработан новый облегченный текстовый язык разметки, позволяющий программировать сайты, избавленные от рекламных баннеров, излишней графики, а так же поддерживать безопасность сайтов на должном уровне, избегая сложных конструкций в которых сложно учесть все нюансы и заметить ошибки кода.
Была разработана концепция браузера, работающего в клиент-серверной сети на основе программного обеспечения, разработанного Латыповым А.А. в его дипломной работе.
Была разработана концепция безопасной, исключающей взлом и
кражу информации сети при отсутствии физического доступа к рабочему компьютеру
злоумышленника.
Список используемых источников
1. Гончаров А. Самоучитель HTML. С.-Пб: Питер, 2000.
2. Гречихин, А.А. Вузовская учебная книга: Типология, стандартизация, компьютеризация / А.А. Гречихин, Ю.Г. Древс. - М.: Логос, 2000. - 256 с.
. Информатика: Учебник/под ред. Н.В. Макаровой. - М.: Финансы и статистика, 2000. - 768 с.
. Основы современных компьютерных технологий: Учебное пособие / Под. ред. Хомоненко. С.-Пб.: КОРОНА, 2002.
. Хеслоп П. HTML самого начала. С.-Пб: Санкт-Петербург, 2005.
. Шафран Э. Создание Web страниц. С.-Пб: Питер, 2004.
7. Беневольский С.В., Бетанов В.В. Контроль правильности расчета параметров траектории сложных динамических объектов на основе алгоритмической избыточности // Вопросы защиты информации. - 1996. - №2. - С. 66-69.
. Герасименко В.А. Защита информации в АСОД. - М.: Энергоиздат, 1994.
9. Каймин, В.А. Информатика: учеб. пособие / В.А. Каймин. - М.: МФТИ, 2003. - 285 с.
. Веретенникова, Е.Г. Информатика: учеб. пособие / Е.Г. Веретенникова, С.М. Патрушина. - Ростов Н/Д, 2002. - 416 с.
11. Субботин, М.М. Новая информационная технология: Создание и обработка гипертекстов / М.М. Субботин. - М.: Наука, 1992. - 331 с.
. Симонович, С.В. Информатика - базовый курс: учеб. пособие. / С. В Симонович; изд. 2-е, перераб. И доп. - СПб.: 2003. - 640 с.
14. ГОСТ Р 34.10-94. Информационная технология. Криптографическая защита информации. Процедуры выработки и проверки электронной цифровой подписи на базе асимметричного криптографического алгоритма
15. Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислительных алгоритмов. - М.: Мир, 1979.
. Варновский Н.П. Криптографические протоколы // В кн. Введение в криптографию/ Под. Общ. Ред. В.В. Ященко М.: МЦНМО, «ЧеРо», 1998.