Хакинг и антихакинг - Неизв.
Шрифт:
Интервал:
Закладка:
Вышеописанный способ соединения применяется частными пользователями в России почти в 95 % случаев. В Европе этот процент ниже – около 50 %.
Существуют также другие способы организации доступа к сети: по выделенным линиям, радиоканалу и т. п. В нашей стране эти способы мало используются частными лицами. Для организаций они подходят больше.
Итак, каждый сервер, соединенный с Интернетом, – это часть Интернета. Иначе говоря, Интернет представляет собой множество соединенных друг с другом серверов LAN, WAN и ISP, через которые осуществляют выход в сеть отдельные пользователи.
Несколько слов о концепции доменов в сети. Имя домена (domain name) вместе с предшествующим ему
идентификатором протокола передачи данных (protocol identifier) и любым стандартным префиксом протокола представляют собой базовый универсальный указатель ресурса, или URL (universal resource locator). Пример имени домена – yandex.ru. Этому домену принадлежит все, что начинается с символов yandex.ru, а также все службы домена. Среди различных служб, предоставляемых доменами, отмечу протоколы HTTP (hypertext transport protocol), FTP (file transport protocol), услуги Telnet и т. д.
Например, чтобы попасть на главную Web-страницу сервера jamsa.com, нужно отправиться по адресу http://www.yandex. Аббревиатура «http» сообщает браузеру, что для передачи данных следует использовать протокол HTTP, а символы www обозначают стандарт протокола (protocol-standard). Более того, любая Web-страница, URL которой является расширением адреса указанной выше страницы, содержится в домене yandex.ru. Префикс «ftp» сообщает браузеру, что связь должна Осуществляться именно с помощью этого протокола.
Каждый домен может содержать несколько серверов, а большинство доменов обладают множеством внутренних адресов. Несмотря на то что многие компании название своей Web-страницы начинают с имени домена, это справедливо далеко не во всех случаях. Например, можно зарегистрировать имя вашего домена, как МуСоm-pany.ru. Но если вдруг вам покажется, что адрес http://www.Free-Mail-Service.com/ выглядит привлекательнее, можно зарегистрировать оба имени доменов и высокоуровневых URL с помощью Internik или той организации, которая занимается регистрацией доменов в вашей стране. После этого можно использовать оба имени доменов.
Увеличение количества индивидуальных пользователей, имеющих доступ к Интернету, представляется еще более важным, чем увеличение количества серверов, имеющих выход в Интернет. В течение последних 6 лет число индивидуальных пользователей Интернета удваивается каждые 9 месяцев. В настоящее время число пользователей Сети увеличивается каждый месяц приблизительно на 250 000. В часы «пик» в сети одновременно находятся до 70 млн пользователей одновременно!
Как уже было отмечено ранее, основу Интернетом составляет множество сетей. Любой пользователь может соединиться с Интернетом с помощью телефонных сетей и модема через- ISP или через корпоративный компьютер, подключенный к локальной или глобальной компьютерной сети. Для работы с миллионами пользователей Интернет должен пользоваться некими средствами передачи информации. Как каждая радиостанция ведет свои передачи на уникальной частоте, чтобы не создавать помех для других радиостанций, так и каждый сетевой компьютер должен передавать данные (иначе говоря, связываться с другими компьютерами), используя свою уникальную «частоту». Разумеется, «частота», на которой компьютер передает данные, определяется не так, как для радиостанций.
Для передачи информации компьютеры используют уникальный для каждого сетевого компьютера адрес. Подавляющее большинство сетей управляет передачей данных с помощью метода, называемого коммутацией пакетов (packet switching). Более того, принцип коммутации пакетов используется и в Интернете.
С конца 1960-х гг. технологии начали взрывообразно развиваться и увеличение скорости процессоров стало обычным явлением. Способность процессора обрабатывать команды быстрее и с большей надежностью (robust-
ness) (надежность – субъективная характеристика качества выполнения программы) открывала новые перспективы для контроля и передачи информации. С появлением новых способов хранения данных пользователи осознали необходимость объединения компьютеров в сеть – так будет легче обмениваться информацией.
Медленно работающие, тяжеловесные компьютеры очень скоро начали представлять интерес лишь с исто-рико-антикварной точки зрения. К сожалению, проектировщики систем (у которых, похоже, были бы проблемы и при работе с современными технологиями) поначалу просто не знали, каким должен быть следующий этап в развитии компьютерных технологий. Они рассматривали способы создания возможности мгновенного, или почти мгновенного, соединения большого количества компьютеров с одним головным компьютером.
После длительных исследований был предложен так называемый принцип коммутации пакетов – - модель передачи сообщений, которая с конца 1960-х гг. легла в основу работы многих сетей, включая сеть Интернет.
В сети, работа которой основана на принципе коммутации пакетов, сетевое программное обеспечение разбивает данные на отдельные части (пакеты). Затем это программное обеспечение отправляет пакеты компьютеру-получателю. Кроме пересылаемых данных, каждый пакет содержит адрес источника (адрес компьютера-отправителя) и адрес назначения (адрес компьютера-получателя). Таким образом, пакет представляет собой как бы контейнер, внутри которого находится часть передаваемой информации, а сверху написаны адреса назначения и источника.
Компьютер-отправитель посылает пакет, используя электронное оборудование и физический канал связи. Первоначально предполагали, что пакет должен «путе-
шествовать» по каналам, которые повторяют физическую структуру сети. Каждый сетевой компьютер должен проверить адрес назначения пакета. Если компьютер не является получателем пакета, то пакет передается дальше по сети к следующему компьютеру.
После того как пакет достигает пункта своего назначения, программное обеспечение компьютера-получателя преобразует все пакеты в один файл данных. Сетевое программное обеспечение каждого компьютера контролирует поток пакетов и распределяет их, отводя каждому тот канал, который окажется свободным. Для этого используется процесс коммутации. Однако этот процесс абсолютно не похож на работу железнодорожных стрелок: для каждого поезда отводится свой путь, контролируется поток поездов и избегаются столкновения.
Если один из каналов выходит из строя или по каким-то причинам становится недоступным, сетевое программное обеспечение старается автоматически перераспределить пакеты на соседние свободные каналы. В устройстве большинства сетей предусмотрено выделение отдельного компьютера для управления процессом движения пакетов. В большинстве случаев сообщения, переданные другими входящими в сеть компьютерами, могут достичь лишь этого управляющего компьютера, который называется сетевым сервером (network server computer). Обычно специалисты употребляют для обозначения сетевых серверов термин «коммутатор пакетов» (packet switch) или, более формально, «процессор интерфейсов сообщений» (Interface Message Processor).
Принципы коммутации пакетов легли в основу подавляющего большинства сетевых коммуникаций. Однако именно коммутация является источником многих проблем, связанных с безопасностью передачи сообщений по сети.
Как было объяснено в предыдущем разделе, сетевой сервер передает пакет по тому каналу, который в данный момент наиболее доступен. В локальных сетях коммутатор передает пакеты, не заботясь о защите информации от доступа извне. Однако, когда информация передается по Интернету, может возникнуть следующая ситуация: при передаче пакета из компьютера, находящегося у вас дома, на компьютер, стоящий у вас в офисе, пакет может пройти сквозь сервер, принадлежащий фирме-конкуренту. В следующих главах вы узнаете, как шифровать сообщения и информацию, чтобы защитить их от перехвата при передаче.
Глава 3. Что необходимо знать для понимания хакинга
В этой главе я постараюсь очень кратко наметить то,
что нужно знать хакеру и грамотному системному администратору, на которого легла задача по обеспечению безопасности сети. В рамках данного руководства невозможно описать все эти вещи полностью.
3.1. ЯЗЫКИ программирования
Основой хакерства является вовсе не умение картинно сидеть перед экраном монитора, азартно топча клавиатуру, а знание языков программирования. Каких именно? Кратко расскажем о языках, которые используются для хакинга.
Год рождения ARPANET был также годом, когда хакер из «Bell Labs» по имени Кен Томпсон (Ken Thompson) создал Unix. Томпсон был вовлечен в работу по разработке операционной системы, называемой Multics. Multics
должна была облегчить использование и программирование ЭВМ, чтобы увеличить производительность работы. Этот проект был выставлен на продажу, но никогда не пользовался таким успехом, как операционная система. Томпсон отказался от среды Multics и начал обыгрывать смесь идей Multics’a со своими собственными.