Максимальная Безопасность:

Руководство Хакера по Защите Вашего Internet Сайта и Сети

Предыдущая главаСледующая главаСодержание


24

Концепции Безопасности

Тихим осенним вечером не так давно Internet навсегда изменилась. Это изменение произошло за минуты. Если Вы читали эту книгу с начала до конца, то помните рассматриваемую дату. Однако, для читателей, поглощающих эту книгу выборочно, я повторюсь. Эта дата 2 ноября, 1988. Незадолго до сумерек в сеть был выпущен червь. За несколько часов этот червь вывел из строя много машин (по сообщениям более 1,000) и прервал или иначе ухудшил работу нескольких тысяч. (Многие из этих машин или сетей были в ключевых исследовательских центрах, занимающихся связанными с армией исследованиями.) Именно в этот момент, когда червь был выпущен, история и будущее Internet изменились навсегда. Никто не знал об этом в то время, потому что потребовался целый год, чтобы оценить то огромное воздействие, которое имел инцидент. Но гарантирую следующее: изменение произошло в тот же самый момент, когда Morris выпустил свой код в Сеть.

Начиная с этого времени безопасность получила почти культовый статус. Я знаю людей, которые никогда не имели представления о теме, внезапно погружались в информацию о безопасности. Вы слышите об этом в ресторанах всё время. Когда Вы едите завтрак, сверху гудят: брандмауэр, маршрутизатор, фильтрация пакетов, почтовая бомбардировка, хакеры, взломщики ... список очень длинен. (Эта книга никогда не была бы написана, если бы климат не был таким.) К настоящему времени большинство людей знают, что Internet небезопасна, но немногие знают точно почему. Не удивительно, очень многие люди обеспокоены, потому что большинство из них намеревается осуществить некоторую форму торговли в Internet. Именно в этом климате возникло Колдовство Internet, наколдованное торговцами тёмного хаоса, который вырисовывается по Сети и ее коммерческому будущему.

Деловые люди извлекают выгоду из невежества, это факт. Я знаю перепродавцов, которые сегодня продают 8МБ SIMM за $180 и избегают неприятностей. Однако, в то время как технические консультанты часто запрашивают чрезмерную цену со своих клиентов, нет вероятно никакой области, где эта деятельность более видна чем в деле безопасности. Это не должно удивлять; безопасность неясная тема. Клиенты не в той позиции, чтобы спорить о ценах, методах и т.д., потому что они ничего не знают о предмете. Это текущий климат, который предлагает недобросовестным людям шанс загрести денег. (И это всё более тревожит.)

Цель этой главы состоит в том, чтобы предложить совет людям и мелким бизнесменам. Я не могу гарантировать, что это лучший совет, но могу гарантировать, что он основан на опыте. Естественно, опыт бывает разным, но я полагаю, что достаточно квалифицирован, чтобы предложить некоторое введение в тему. Сказав это, позвольте начать.

Как Концепции Безопасности Могут Влиять На Ваш Выбор

Сначала я хочу быстро исследовать концепции безопасности и как они повлияют на ваш выбор консультанта по безопасности. Для начала знайте это: "Нет ничего нового под солнцем". Эта цитата блестящее выражение, сделанное Уильямом Шекспиром. Блестящее, потому что в литературе, которая предшествовала его собственной в течение тысяч лет, выражение уже было сделано. Поэтому, он использовал избыточность, чтобы ясно сформулировать избыточность. Как это касается безопасности Internet? Читайте дальше.

Правда, TCP/IP был вокруг долгое, долгое время. Например, как я сказал в Главе 18, "Novell", NetWare имела полностью функциональный TCP/IP встроенный в ее операционную систему в 1991. UNIX имела это на много раньше. Так что здесь нет никакой реальной проблемы. Знание доступно там в пустоте.

Большинство основных нарушений безопасности имеют основой человеческую ошибку. (Это так, потому что взломщики с ограниченными знаниями могут легко врезаться глубоко в системы, которые сконфигурированы ошибочно. В более тщательно сконфигурированных сетях 90 процентов этих самозванных "супер взломщиков" не могут получить ничего от своей цели в течение дня.)

Эти человеческие ошибки обычно происходят от недостатка опыта. Методы защиты Internet сервера не существенно изменились за последние несколько лет. Если системный администратор или администратор безопасности не может обнаружить ту или иную дыру, ему необходимо обратиться к своим консультантам.


ПРИМЕЧАНИЕ: Я с готовностью допускаю, что некоторые методы были улучшены в значительной степени учебным сообществом и не так много коммерческими поставщиками. Коммерческие поставщики обычно слегка позади академических сообществ, возможно на несколько месяцев или около того. Примеры этого могли бы включать разработку автоматизированных инструментальных средств отгораживающих вашу систему от известных дыр в безопасности. Многие из них написаны студентами или внештатными разработчиками программного обеспечения. Эти утилиты, конечно, упрощают процесс проверки дыр, но дыры обычно известны любому администратору безопасности, стоящему своей зарплаты.

И так, прежде, чем Вы размахнётесь и потратите тысячи (или даже десятки тысяч) долларов на консультации по безопасности, есть некоторые вещи, которые Вы должны рассмотреть. Вот пара тестовых вопросов:

Правильный ответ на оба вопроса - "вероятно нет". Вот причины, почему:

Имеются буквально сотни таких сценариев. Есть возможность столкнуться с каждым. Консультант по безопасности не должен быть принят на авось. Ни когда не располагайте свою машину у провайдера. Помните, что ваш Web сервер (везде, где он мог бы быть расположен) может быть просмотрен (и атакован) всем миром.

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

Об Удалённых Консультациях по Безопасности

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


ПРИМЕЧАНИЕ: Как пример, индивидуум на Восточном Побережье недавно послал статью в Usenet, требуя предложения консультации по безопасности. Я вошел в контакт с ним, чтобы обсудить вопрос, главным образом из любопытства. За три часа он переслал мне его топологию, идентифицируя какие машины выполняют брандмауэры, какие машины выполняют IP пересылку, и т.д.

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


И так, поймите следующее: Кроме испытания на проникновение, все активные, практические процедуры безопасности должны быть предприняты в вашем месте бизнеса или везде, где расположена сеть. Не отправьте информацию потенциальному консультанту по Internet, не наймите кого-то невидимого, и наконец, не заключайте договор с консультантом, чьи экспертные знания не могут быть проверены.

Безопасность Через Неизвестность

Если консультант по безопасности объясняет Вам (или вашему штату системной администрации) что одна или две дыры существуют, но чрезвычайно маловероятно, что они могут эксплуатироваться, тщательно рассмотрите его объяснение. Спросите его, что означает "чрезвычайно маловероятно" и почему он думает именно так.

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

Всего несколько месяцев назад теоретизировали, что Java апплет не может обращаться к жёсткому диску клиента. С тех пор было доказано, что это лож. Аргумент, первоначально поддерживающий "невозможность" задачи, был следующим: требуемый навык программирования не типичного уровня, достигнутого большинством взломщиков. Это очевидно неправильно. Взломщики проводят много часов, пытаясь определить новые дыры (или новые пути реализации старых). С введением новых технологий, типа Java и ActiveX, нет сообщений, как далеко взломщик мог забраться в некоторую методику.

Безопасность через неизвестность была одно время надёжной философией. Много лет назад, когда средний компьютерный пользователь имел небольшие знание своей собственной операционной системы (уже не говоря о знании нескольких операционных систем), подход "безопасность через неизвестность" имел тенденцию к развитию. Вещи более или менее управлялись по мере необходимости. Однако проблема с безопасностью через неизвестность становится более очевидной при более близком рассмотрении. Это приводит нас к вопросам доверия.

В прошлом, когда безопасность через неизвестность осуществлялась неукоснительно, требовалось, чтобы некоторые пользователи знали информацию о системе. Например, где расположены пароли, и какие специальные символы должны быть напечатаны в приглашении. Фактически это было общим для машины при подключении выдавать довольно загадочное приглашение. (Возможно оно может быть сравнено с подсказкой, которую можно было получить как пользователь Delphi, только несколько лет назад.) Это приглашение ожидало ряд команд, включая службу транспорта, эмуляцию терминала и так далее. Пока эти переменные не были введены правильно (с некоторым допустимым ответом, которых было много), ничего не происходило. Например, если была введена неправильная строка, простой появился ?. Хакер, проходящий через такую систему, был естественно заинтригован, но он мог провести много часов (если не недель) печатая команды, которые терпели неудачу. (Хотя команда HELP, кажется, довольно универсальный способ получить информацию в почти любой системе.)

Ситуация изменилась, когда более опытные пользователи начали распространять информацию о системах. Поскольку просачивалось всё больше и больше информация, разрабатывались более сложные методы нарушения безопасности. Например, вскоре после первого выпуска внутренних процедур в CBI (системе кредитных отчетов Equifax) были разработаны пакеты программ с коммерческой степенью для облегчения взлома и проникновения в это известное компьютеризированное потребительское кредитное бюро. Эти усилия в итоге завершились введением утилиты CBIHACK, которая автоматизировала большинство усилий по взлому Equifax.

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

Именно по этим причинам многие процедуры аутентификации теперь автоматизированы. В автоматизированных процедурах аутентификации человек не играет никакой роли. К сожалению, как Вы узнаете из Главы 28, "Нападения Обманом", даже эти автоматизированные процедуры теперь под подозрением.

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

Выбор Консультанта

В выборе консультанта по безопасности есть много соображений. Во-первых, не обязательно заключать контракт с одной из Десяти Больших фирм (например, Coopers и Lybrand), чтобы защитить вашу сеть. Если Вы мелкий бизнесмен, это вероятно запредельная стоимость. Также, это массовые убийцы. Эти фирмы обычно заключают большие контракты с сетями, содержащими сотни (или в WAN, тысячи) машин.

Если Вы маленькая фирма и не можете позволить себе вкладывать много денег в безопасность, то, вероятно, придется выбирать более тщательно. Однако, ваш консультант должен удовлетворять по крайней мере всем следующим требованиям:

Почему Местный?

Ваш консультант должен быть местным, потому что он должен постоянно быть доступным. Так же, как я отмечал, удалённое администрирование сети немудрая вещь.

Опыт

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

Репутация

Я советую, чтобы ваш консультант имел твердую репутацию, но хочу разъяснить это. Есть два момента, которые должны быть указаны здесь, и один из которых я разъяснил в начале этой книги. Только потому что прежние клиенты консультанта не испытали нарушения безопасности не обязательно подразумевает, что репутация консультанта тверда. Как я уже сказал, многие так называемые специалисты по безопасности проводят "оценку" зная, что они оставили систему уязвимой. В этом случае человек кое-что знает о безопасности, но ровно столько, чтобы оставить своих клиентов в уязвимой ситуации с ложным чувством безопасности. Технически, полностью незащищенная сеть в Internet может оставаться целой в течение месяцев, пока взломщики не наткнуться на неё.

Было бы хорошо, если бы Вы могли проверить, не был ли ваш потенциальный консультант вовлечён в контроль и возможно блокировку фактического нарушения. Хорошие примеры это ситуации, где он, возможно, был задействован в исследовании преступного нарушения границ или другого сетевого нарушения.

Также, опыт работы для ISP всегда плюс.

Преступление

Фоновые проверки навязчивы. Я понимаю это. Однако рассмотрите то, что Вы предпринимаете. Сегодня наиболее мелкие предприниматели были бы парализованы, если бы их данные были внезапно разрушены или стали бы непригодными. Если у вас такой бизнес и ваш потенциальный консультант неустановленная фирма, я серьезно рассмотрел бы фоновую проверку. Однако существование преступления (особенно, если оно связанно с применением компьютера) не обязательно препятствует человеку быть кандидатом. Многое зависит от времени, которое прошло с момента осуждения, этого случая и т.д. Например, я нанял бы Randall Schwartz не думая. Его технические навыки известны.

Ваша Сеть

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

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

Продавцы программного обеспечения хотят, чтобы мы мчались в Internet. Чем больше мы используем сеть, тем больше программного обеспечения они могут продать. В этом маркетинговом безумии они пытаются минимизировать некоторые довольно серьезные проблемы. Правда в том, что Internet не безопасна и продолжит существовать в этом состоянии ненадежности в течение некоторого времени. Это особенно так, потому что многие сетевые продукты, которые будут использоваться в будущем, основаны на платформе Microsoft.

По общему признанию Microsoft делает одно из самого прекрасного программного обеспечения в мире. Однако безопасность не была ее конкретной областью знаний. NT собирается быть ее операционное системой Internet, это факт. Она также то, где сконцентрируются большинство усилий по безопасности Microsoft, и это сделает некоторые существенные усовершенствования. Однако, больше чем за 20 лет существования UNIX, она никогда не была полностью безопасной. Это важный момент: UNIX это система, которая была разработана, почти с самого начала, как операционная система для использования в Internet. Случилось так, что Отдел Безопасности выбрал ее как платформу для разработки ARPAnet. Люди, которые разработали ее, среди наиболее талантливых (и технически образованных) инженеров программистов на планете. И даже после всего этого UNIX не безопасна. Тогда мы должны ожидать, что Windows NT потребуется некоторое время, чтобы исправить ошибки.

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

Стоимость

Сколько должна стоить безопасности? Это зависит от сети, которую Вы имеете. Если ваша сеть большая и разнородная, эти условия увеличат стоимость. Важно, чтобы Вы понимали это, потому что когда Вы идете к столу, чтобы вести переговоры о пакете безопасности, то должны знать то, о чем говорите.

Гомогенная Сеть

Если у вас в настоящее время гомогенная сеть, Вы должны видеть разрыв в стоимости. Вот почему: Любая операционная система реализует TCP/IP только слегка по-другому чем остальные, по крайней мере на прикладном уровне. Любая операционная система также имеет один или больше дополнительных или опциональных протоколов, которые не доступны в других системах (или могут быть доступными, но только со специальным программным обеспечением). Например, Windows 95 использует протокол SMB, который не доступен широко в заданных по умолчанию инсталляциях любой операционной системы. Конечно, есть доступные клиенты; один из них это SAMBA, который работает под Linux и возможно в других операционных системах. Поскольку все операционные системы разные, но все машины, выполняющие одну и туже операционную систему, в основном одинаковы, консультация по безопасности гомогенной сети менее обширна, чем сети, которая включает много различных платформам. Следовательно, консультация должна стоить меньше.

Хотя выше сказанное истинно, это не означает, что Вы можете защитить гомогенную сеть почти за просто так. В большинстве случаев не возможно просто клонировать или скопировать атрибуты безопасности на все рабочие станции в сети. Могут появиться различные проблемы безопасности. Некоторые из них включают топологию, как я объяснял в других главах, и буду снова обсуждать это здесь.

Мы знаем, что сегмент сети это закрытая область, почти сеть в сети. Мы также знаем, что обман кроме этого сегмента сети почти невозможен. (Почти). На чем большее количество сегментов разделена ваша сеть, тем более она безопасна. (Идеально, каждая машина должна быть аппаратно подключена к маршрутизатору. Это полностью устранило бы возможность IP обмана, но очевидно имело бы большую стоимость.) Как Вы разделите сеть будет зависеть от близкой оценки риска, который будет определен вашим техническим штатом и консультантом. За каждый сегмент Вы заплати, не только за услуги консультанта, но и за аппаратное обеспечения (и возможно программное обеспечение).

Гетерогенная Сеть

Если ваша сеть состоит из многих различных платформ, проблема ее безопасности становится более сложной. Вот пример, снова используя SAMBA. В некоторых ситуациях при использовании SAMBA в трафике между машинами UNIX и WINDOWS отображаются пароли. Чем Больше протоколов Вы выполняете и чем больше программного обеспечения различных поставщиков (на различных платформах) Вы имеете, тем более сложна оценка безопасности.

Конечно, даже с практической точки зрения, имеются непосредственные проблемы. Во-первых, в значительной степени благодаря разделу между мирами ПК и рабочих станций консультанты по безопасности, с которыми Вы заключаете контракты, могут быть незнакомы с одной из большого количества платформ в вашей сети, и они могут быть должны вызвать для них внешнюю помощь. Также, и это совсем не маленькое соображение, ваши консультанты, в конечном счёте, могут быть вынуждены обеспечить по крайней мере маленькую часть частного кода: своего собственного. Если такой вопрос возникнет, он должен быть тщательно обсужден. Есть хороший шанс, что Вы сможете сократить, по крайней мере, некоторую часть стоимости при связи консультантами вместе существующих пакетов безопасности, используя свой собственный код как клей. Это почти также сомнительно, как звучит. Это не может включать ничего больше, чем переадресация вывода log файлов или других процессов в простой текст (или некоторую другую форму, подходящую для сканирования программой на другой платформе).

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

Во-первых, Вы должны признать по крайней мере следующее: Ваш системный администратор Бог в сети. Сеть его стезя, и он, вероятно, испытывает исключительную гордость поддерживая ее. (Я видел некоторые экстраординарные вещи, сделанные системными администраторами: истинно коммерческие приложения, заказные интерфейсы и т.д.) Когда приходят другие люди, чтобы исследовать работу вашего системного администратора, независимо оттого, что они говорят, они немного навязчивы. Дипломатия действительно важный фактор. Помните: консультанты уедут, а Вы будете работать с вашим системным администратором каждый день.

Общий Процесс

Прежде, чем Вы свяжитесь с какой нибудь фирмой и пригласите ее в ваши офисы (или домой, я полагаю), Вы должны собрать некоторую информацию, включая следующее:

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

Эта информация должна быть связана вместе. (Есть службы копирования, которые свяжут такую папку, типа Kinko's Copies, или возможно Вы имеете внутренние средства, которые могут сделать это.) Каждый раздел должен быть отделен табуляцией, которая идентифицирует его. Содержимое этой папки должно также иметь следующие элементы:

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

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

Степени Безопасности

Есть различные пути, которыми Вы можете осуществить безопасность. Нет никакого закона, говорящего, что Вы должны подключить всю сеть к Internet. (Хотя я знаю довольно большое число предпринимателей, сделавших это.) Один простой способ уменьшить стоимость заключается в создании только очень ограниченного сегмента, который имеет подключение. Если Вы в основном обеспокоены получением обратной связи с клиентами (и обеспечением некоторой содействующей информации), действительно нет никакой потребности подключаться вообще. Конечно ISP может открыть страницу (или даже машину) для Вас.

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

В реальности, необходимо поместить все CGI в ограниченную область. CGI программы читают данные с носителя только для чтения и генерируют результирующую страницу. Это очень безопасный метод обеспечения технической поддержки, списков продуктов и цен клиентам в пустоте. По существу, имея резервную копию CGI Вы можете восстановить машину за один час или меньше, даже если взломщики сумели разрушить ее. Такой тип хранения хорош для тех, кто только предоставляют информацию. Он плох (и неподходящ) для стремящихся принять информацию. Если Вы принимаете информацию, это может включать комбинацию безопасных пакетов HTML или протоколов, когда полученная информация пишется на сменные, однократно-записываемые носители.

В действительности самый безопасный выбор это жертвенный узел. Это узел, который открыт явно и на который Вы ожидаете нападения. Конечно, это намного предпочтительней при наличии связи любой части вашей внутренней сети с Internet. Однако, если Вы также хотите, чтобы ваши локальные служащие или пользователи могли обращаться к Сети, это полностью непрактично. Это, однако, может быть осуществлено, когда Вы не ожидаете частого доступа изнутри, особенно в ситуациях торговли.

Ситуация торговли, это когда Вы принимаете номера кредитных карт по интерфейсу броузера. Будьте очень осторожны при реализации такой схемы. Вот почему: Есть различные пути, которые Вы можете принять, и некоторые из них представляют больший риск чем другие. Как правило, Вы хотите избежать (за разумную цену) сохранения номеров кредитных карт ваших клиентов на любом сервере, связанном с сетью. (Вы уже видели противоречие, которое развилось после того, как было изучено, что Kevin Mitnik приобрел номера кредитных карт, по сообщениям 20.000, с дисков Netcom.)

Вообще, когда Вы принимаете номера кредитных карт по Internet необходимо также очищать их по сети. Это типично требует помощи внешней службы. Есть различные пути, которыми это можно осуществить, хотя два метода доминируют на рынке.

Локальное Сохранение

При локальном сценарии сохранения информация проходит через некоторую безопасную, зашифрованную HTTP сессию (SHTTP, например). Обычно это делается через форму, написанную специально для этой цели. Форма выводит информацию куда ни будь на локальный диск, с которого она может быть позже получена для проверки. При этом путешествии из входной формы на диск, номера могут быть переданы через несколько процессов. Один из них изучает номера общим алгоритмом, который определяет (прежде всего) является ли полученный номер кредитной карточки реальным. Под реальным я подразумеваю, что он потенциально реальный. Это несколько недоработанная версия проверки. Она в основном полагается на те же самые алгоритмы, которые используются для генерации номеров карт. Если полученный номер не является номером, который был сгенерирован алгоритмами, то он выдуман, произвольно выдуман кем-то. Есть два недостатка у такого типа проверки, один в основной концепции, а другой в отношении безопасности.

Первая проблема в следующем: сегодня используемые алгоритмы широко распространены. То есть генераторы номеров кредитных карт доступны в Internet. Они разрешают номера или к состоянию подлинности или не подлинности. Дети использовали их в течение многих лет, чтобы обойти безопасность поставщиков услуг Internet.


СОВЕТ: Один очень хороший пример это утилиты, которые существуют для незаконно доступа К AOL. Эти утилиты внедрены в автоматические генераторы, которые производят черновой список номеров карт, которые будут интерпретироваться как допустимые. Когда эти программы появились впервые, генераторы номеров кредитных карт были примитивны и доступны как утилиты поддержки. По мере использования генераторов их разнообразие стало более общим, однако эти утилиты были включены в код приложения, выполняющего модемную связь и предъявление пароля. Утилиты открывали оконный список, из которого взломщик мог выбрать номер. Этот номер посылался (обычно функцией VB SendKeys) в регистрационную форму поставщика.

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

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

Это особенно так, если ваш системный администратор не может обнаружить нарушение, и оно становится хронической проблемой. Есть некоторый уровень, на котором можно возбудить юридическую ответственность за вашу компанию. Это реально не было проверено в судах, но я уверен, что за следующие несколько лет будет представлено специальное законодательство, которое адресует проблему. Неудачная часть этого заключается в следующем: Такой случай должен сильно доверяться на экспертные показании свидетеля. Поскольку это неоткрытая область (идея которой в "небрежном" системном администрировании, если такое может существовать), адвокаты будут способны увещевать ISP и другие службы Internet в урегулирование этих случаев, даже только для того, чтобы избежать значительных юридических счетов. Под этим я подразумеваю, что они могут "заставить раскошелиться" адресата, говоря "Я буду стоить Вам $50,000.00. Проблема стоит неприятностей?". Если адресат большая фирма, ее совещание рассмеется и начнет хоронить намерение истца в документах и техническом жаргоне. Однако, если адресат маленькая фирма (возможно наем местной фирмы защиты, которая не специализируется на законах Internet), юридический вызов может быть очень дорогим. Если Вы должны выбирать, попробуйте оседлать некоторое третье лицо с большой ответственностью. Другими словами, не храните номера на ваших дисках.

Удаленное Сохранение Через CGI

Второй сценарий может быть предпочтительнее или нет. Это когда Вы помещаете безопасную форму HTML в структуру вашего Web сайта. (Эта форма обеспечивается службой оплаты кредитной карточки.) С ней Вы, вероятно, также получите модифицируемые сценарии, которые переадресовывают данные, представленные в форме, на удаленный сервер. Удаленный сервер выполняет только одну задачу: оплату номеров.


ПРИМЕЧАНИЕ: Есть различные методы, по средствам которых происходит этот процесс. Один из них, когда компания оплаты кредитной карточки имеет частное программное обеспечение, которое присоединяется к конкретному порту. И на клиенте и на сервере этот порт передает информацию (которая шифруется перед отправкой с клиента и расшифровывается после прибытия на сервер). Более чем вероятно, что удаленный сервер откажется от подключений на почти всех других портах, или информация будет отфильтрована через микроканал в брандмауэре.

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

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

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

The Overall Picture of Net Commerce

Вот вызов для консультантов по торговле в Internet, создание жизнеспособного пакета. Например, можно разработать "полнофункциональный" пакет, включающий собственный сервер, Web разработку, безопасность и оплату кредитной карточки. Создание такого пакета может быть трудной задачей. Ваш выбор должен быть тщательно обдуман

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

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

В заключении я предлагаю Вам прочитать по крайней мере несколько из следующих Белых Книг, статей, или технических отчетов. Некоторые более трудно найти, чем другие, и я предлагаю Вам поискать документы, для которых я не обеспечил онлайновый адрес, через университетский библиотечный библиографический поиск. Многие из них доступны через службы подобные WorldCat и Uncover.

Credit Card Transactions: Real World and Online (Финансовые Операции с Кредитной Картой: Реальный Мир и Онлайн). Keith Lamond. 1996.

Digital Money Online. A Review of Some Existing Technologies. Dr. Andreas Schter and Rachel Willmer (Цифровые Деньги В Онлайне. Обзор Некоторых Существующих Технологий. Доктор Andreas Schter и Rachel Willmer). Intertrader Ltd. Февраль 1997.

Millions of Consumers to Use Internet Banking. Booz, Allen & Hamilton Study Indicates (Миллионы Потребителей, чтобы Использовать Банковское дело Internet. Booz, Allen & Hamilton Study Indicates).

A Bibliography of Electronic Payment Information (Библиография Информации по Электронной Оплате).

Electronic Cash, Tokens and Payments in the National Information Infrastructure (Электронные Деньги, Купоны и Платежи в Национальной Информационной Инфраструктуре.).

Electronic Commerce in the NII (Электронная Торговля в NII).

A Framework for Global Electronic Commerce (Структура Глобальной Электронной Торговли). Администрация Клинтона. Для административного резюме, посетите

Для законченного отчета, посетите

Card Europe UK – Background Paper. Smartcard Technology Leading To Multi Service Capability (Card Europe UK – Описание. Технология Смарткарт, Имеющей Мультисервисные Возможности).

Electronic Payment Schemes (Электронные Схемы Оплаты). Доктор Phillip M. Hallam-Baker. Консорциум Всемирной Сети.

Generic Extensions of WWW Browsers (Универсальные Расширения WWW Броузеров). Ralf Hauser и Michael Steiner. Первый Usenix Симпозиум по Электронной Торговле. Июль 1995.

Anonymous Delivery of Goods in Electronic Commerce (Анонимная Доставка Товаров в Электронной Торговле). Ralf Hauser и Gene Tsudik. IBMTDB, 39(3), стр. 363-366. Март 1996.

On Shopping Incognito (Шопинг Инкогнито). R. Hauser и G. Tsudik. Второй Usenix Симпозиум по Электронной Торговле. Ноябрь 1996.

The Law of Electronic Commerce. EDI, Fax and Email: Technology, Proof and Liability (Закон Электронной Торговли. EDI, Факс и Email: Технология, Доказательство и Ответственность). B. Wright. Little, Brown and Company. 1991.

Fast, Automatic Checking of Security Protocols (Быстрая, Автоматическая Проверка Протоколов Безопасности). D. Kindred и J. M. Wing. Второй Usenix Симпозиум по Электронной Торговле, стр. 41-52. Ноябрь 1996.

Electronic Commerce on the Internet (Электронная Торговля в Internet). Robert Neches, Anna-Lena Neches, Paul Postel, Jay M. Tenenbaum и Robert Frank. 1994.

NetBill Security and Transaction Protocol (Безопасносный и Транзакционный Протокол NetBill). Benjamin Cox, J. D. Tygar и Marvin Sirbu. Первый Usenix Симпозиум по Электронной Торговле. Июль 1995.

CyberCash Credit Card Protocol (Протокол Кредитной Карточки CyberCash). Donald E. Eastlake, Brian Boesch, Steve Crocker и Magdalena Yesil. Версия 0.8. Июль 1995. (Internet Проект.)

Commerce on the Internet – Credit Card Payment Applications over the Internet (Торговля в Internet – Приложения Для Оплаты Кредитной Карточки по Internet). Taher Elgamal. Июль 1995.

Business, Electronic Commerce and Security (Бизнес, Электронная Торговля и Безопасность). B. Israelsohn. 1996.

Итог

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


Предыдущая главаСледующая главаСодержание


Macmillan Computer Publishing USA

Macmillan Computer Publishing.



Все мессаги сюда:yanich@inbox.ru
Hosted by uCoz