Rambler's Top100
 
 
  04 декабря 2008 года Компьюлента
CIO
Терралаб
Бизнес-журнал
в поле зрения | обзоры и тесты | своя игра | интерактив
Curious Basic-2
Автор: Александр Захарченко
Опубликовано в журнале "Компьютерра" №23 от 19 июня 2001 года

В первой статье о «любопытном Basic‘е» я попытался объяснить, как, используя концептуальные особенности Windows, превратить совокупность полезных программ в слаженную банду, действующую против владельца компьютера. Главная роль в этом отводится инструменту, который еще совсем недавно рассматривался только в качестве учебного пособия.

Visual Basic (VB) - предмет особой гордости компании Microsoft. За короткий срок ей удалось превратить язык-игрушку в мощнейшее средство разработки приложений. Количество саркастических комментариев C++-программеров по адресу VB ясно показывает, что этому языку удалось занять место под солнцем. Да, быстродействие и эффективность кода C/C++ недостижимы для VB-приложений. Но в современном мире, где оперативная память измеряется сотнями мегабайт, емкость жестких дисков - десятками гигабайт, а тактовая частота процессоров перевалила за гигагерц, простота и скорость разработки во многих случаях оказываются решающими факторами. К тому же Microsoft, создав Visual Basic for Application (VBA) и VBScript (VBS), позволила пользователям неограниченно расширять функциональность приложений по своему вкусу.

Идея единого механизма автоматизации для всех приложений оказалась очень привлекательной. Лидеры мира software, среди которых Corel, AutoDesk и множество других, ограничили усилия по разработке собственных средств, включив в свои продукты VBA. Еще более укрепляет позиции Basic‘а COM-архитектура приложений для Windows. Компания Microsoft разрабатывала эту модель так, чтобы программистам на VB было как можно проще использовать язык. Хотя для достижения максимальной эффективности коммерческие COM-серверы пишутся преимущественно на C++, клиентские приложения - в силу своей относительной простоты - чаще разрабатываются на VB.

COM-архитектура и автоматизация на основе VBA связывают приложения - как в одном компьютере, так и в сети любого уровня, - в одно целое. Несомненное достоинство этого - возможность включать готовые решения в пользовательские проекты, не утруждая себя изобретением велосипеда. При этом упор делается на алгоритмы решения поставленных проблем, значительно сокращаются сроки разработки и экономятся немалые деньги (ведь труд IT-специалистов стоит очень дорого). Ну и, наверное, самое главное: конечные пользователи остаются в рамках привычных им сред.

Темная сторона оказывается не менее впечатляющей. COM-архитектура облегчает включение в приложения «черных ходов». Когда в коллективное пользование предоставляются сотни и тысячи функций, скрыть среди них люк не представляет труда. Единственной гарантией порядочности служит репутация производителя (слабое утешение!). В СУБД InterBase от Borland «черный ход» для получения административных привилегий просуществовал с 1994 года, и нашли его только после доступа к открытому коду в конце прошлого года. Эта СУБД применялась в компаниях Boeing и Motorola, на фондовых биржах. Воспользовался ли кто-нибудь этим люком по назначению - так и останется тайной.

Но самые захватывающие перспективы открывает программирование приложений извне. VBA сохранил от «детского» Basic‘а все свойства универсального языка программирования высокого уровня. Он имеет доступ к многочисленным прикладным интерфейсам (API). Поддерживаются сетевые функции. COM связывает задачи воедино. Через VBS реализуется управление операционной системой. Посему COM-автоматизированное приложение можно перепрограммировать, перекрыв даже внутренние функции - так, что отцы-разработчики не узнают собственное творение.

Этот футурологический кибербульон, находящийся в состоянии «исполнителя желаний» (wishmaker; позволю себе ввести такой термин, поскольку он, к счастью, сам действовать еще не может), разъедает изнутри систему безопасности Windows NT (в Win9x таковой просто нет). Проектировщики, видимо, предполагали, что основную угрозу представляет человек. Они тщательно выстроили парольные заборы и распределили полномочия между пользователями в зависимости от их надежности. Злонаправленные коды (malicious code) предполагалось обезвреживать антивирусами, а несанкционированное любопытство пользователей контролировать аудитом. Надежность же самих пользователей - это уже забота не производителей ПО. Против измены рецептов нет.

В эту систему не вписываются только два фактора. Первый: благодаря глобальной системе электронной почты злоумышленник имеет неограниченное число попыток безнаказанно проникнуть в интересующую его сетку или компьютер. Внедрение прицепленного троянского кода из спецоперации превращается в рулетку. Обеспечивается это так называемым социальным инжинирингом, то есть мотивацией получателя прочитать письмо и открыть вложения. Примеры вы можете видеть каждый день, и даже весьма символические: в начале апреля парламент Австралии собрался сажать на десять лет распространителей вирусов, а уже через месяц его сеть из-за любопытства служащих «подорвалась» на порновирусе. Второе: COM-автоматизация позволяет превратить сумму разрешенных действий в действие незаконное. Например, находим проект важного, многообещающего контракта и отсылаем его по e-mail… конкурентам 1.

Стремясь разрядить ситуацию, Microsoft решила запретить в своих почтовых программах какой бы то ни было способ открытия целой группы потенциально опасных файлов-вложений (exe, vbs и т. п.). Теперь вся ответственность ляжет на пользователя. Знаешь, что опасно, но вытащил вложение и открыл - отвечай сам.

Каков же итог? Меры безопасности, о которых рассказывается в том числе и на сайте «SoftТерры», - межсетевые экраны (firewall), анализаторы трафика, антивирусы и антитрояны, - обеспечивают снижение риска проникновения злонамеренных кодов, но не решают проблему непредусмотренного использования легальных средств. Пока, из-за молодости, непривычности и непереносимости на другие платформы COM-технологий, этот подход основательно эксплуатируют только почтовые вирусы, проваливаясь на интенсивности размножения. Что произойдет, если этим механизмом заинтересуются создатели средств удаленного администрирования, лучше и не загадывать.

От COM-автоматизации отказаться сегодня нереально - слишком много денег туда вложено. Обеспечить действующую автоматическую проверку надежности кодов в ближайшее время тоже нельзя - алгоритмов можно реализовать бесконечное число. Значит, нужно внедрять систему, способную различать алгоритмы на очень высоком уровне абстракции (искусственный интеллект?). А ежели его перемкнет…

[i40042]


1 (обратно к тексту) - О почте уже подробно говорилось в первой части, а поисковую систему тоже можно одолжить в Office (пример кода в полной версии статьи).
ТАКЖЕ В РАЗДЕЛЕ
24 февраля 2005 года
Cобытия 
24 февраля 2005 года
Одежки с застежками 
15 февраля 2005 года
События 
08 февраля 2005 года
События 
 
САМОЕ ПОПУЛЯРНОЕ
Нетбуки против Windows
Нетбукам нужна лёгкая операционная система. Windows Vista, определённо, такой не является. Windows XP давно морально устарела. Linux? Или всё-таки подождать выхода легковесной версии Windows 7?
Тонкости анонимного серфинга в Сети
Сегодня мы будем учиться заметать следы. Правда, не настоящие, а виртуальные, всякий раз оставляемые пользователем при работе в Интернете и с большим удовольствием потребляемые всевозможными онлайновыми сервисами.
О Смысле Всего Сущего
Евгений Козловский так обстоятельно подошел к вопросам читателей "КТ-Онлайн", что интервью пришлось разделить на две части. Но историю происхождения "Огородов" можно узнать уже сегодня!
Неделя после Fallout
Продажи новой игры из серии Fallout, разработанной студией Bethesda, идут очень неплохо - и это при том, что первый патч принёс игрокам кучу проблем, а японцы, оказалось, лишились части одного из квестов.
/  бумажный номер

Тема номера: Кризис в ИТ Читайте на сайте тему номера "Кризис в ИТ" и другие статьи из журнала "Компьютерра" от 04 ноября 2008 года
  Архив номеров журнала

О проекте | Реклама на сайте | Рассылки сайта | КПК–версия | RSS-трансляция

© ООО «Компьютерра–Онлайн», 1997 — 2008.
При цитировании и использовании любых материалов ссылка на портал «Компьютерра–Онлайн» обязательна (для Интернет–изданий — www.computerra.ru)
Редакция сайта: site@computerra.ru
Техподдержка сайта: websupport@computerra.ru
Редакция журнала: inform@computerra.ru
Отдел рекламы: reklama@computerra.ru
Телефон: (495) 232–22–61, (495) 232–22–63
Работает на «Битрикс: Управление сайтом»
Почта защищена сервером «СПАМОРЕЗ»
Трилан — продвижение сайта,
поисковая оптимизация сайта

Сайт работает на сервере DEPO Computers
Rambler's Top100