Коллектив авторов - Защита от хакеров корпоративных сетей

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

Коллектив авторов - Защита от хакеров корпоративных сетей краткое содержание

Защита от хакеров корпоративных сетей - описание и краткое содержание, автор Коллектив авторов, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

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

Лучшая защита – это нападение. Другими словами, единственный способ остановить хакера заключается в том, чтобы думать, как он. Эти фразы олицетворяют подход, который, по мнению авторов, позволит наилучшим образом обеспечить безопасность информационной системы.

Перевод: Александр Петренко

Защита от хакеров корпоративных сетей - читать онлайн бесплатно ознакомительный отрывок

Защита от хакеров корпоративных сетей - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Коллектив авторов
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

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

Linux

Linux предоставляет интерфейс с уровнем сетевых соединений посредством интерфейса сокета. Он является одним из самых простых интерфейсов, предоставляемых любой операционной системой. Следующая программа иллюстрирует, насколько он прост. Программа открывает указанный интерфейс, устанавливает «безразличный» режим и далее приступает к чтению Ethernet-пакетов из сети. Когда пакет прочитан, в дополнение к типу пакета запоминаются MAC-адреса источника и получателя.

#include

#include

#include

#include

#include

#include

#include

#include

#include

int open_interface(char *name)

{

struct sockaddr addr;

struct ifreq ifr;

int sockfd;

/* open a socket and bind to the specified interface */

sockfd = socket(AF_INET, SOCK_PACKET, htons(ETH_P_ALL));

if (sockfd < 0)

return -1;

memset(&addr, 0, sizeof(addr));

addr.sa_family = AF_INET;

strncpy(addr.sa_data, name, sizeof(addr.sa_data));

if (bind(sockfd, &addr, sizeof(addr)) != 0) {

close(sockfd);

return -1;

}

/* check to make sure this interface is ethernet, otherwise

exit */

memset(&ifr, 0, sizeof(ifr));

strncpy(ifr.ifr_name, name, sizeof(ifr.ifr_name));

if (ioctl(sockfd, SIOCGIFHWADDR, &ifr) < 0) {

close(sockfd);

return -1;

}

if (ifr.ifr_hwaddr.sa_family != ARPHRD_ETHER) {

close(sockfd);

return -1;

}

/* now we set promiscuous mode */

memset(&ifr, 0, sizeof(ifr));

strncpy(ifr.ifr_name, name, sizeof(ifr.ifr_name));

if (ioctl(sockfd, SIOCGIFFLAGS, &ifr) < 0) {

close(sockfd);

return -1;

}

ifr.ifr_flags |= IFF_PROMISC;

if (ioctl(sockfd, SIOCSIFFLAGS, &ifr) < 0) {

close(sockfd);

return -1;

}

return sockfd;

}

/* read ethernet packets, printing source and destination

addresses */

int read_loop(sockfd)

{

struct sockaddr_in from;

char buf[1792], *ptr;

int size, fromlen, c;

struct ether_header *hdr;

while (1) {

/* read the next available packet */

size = recvfrom(sockfd, buf, sizeof(buf), 0, &from,

&fromlen);

if (size < 0)

return -1;

if (size < sizeof(struct ether_header))

continue;

hdr = (struct ether_header *)buf;

/* print out ethernet header */

for (c = 0; c < ETH_ALEN; c++)

printf(“%s%02x”,c == 0 ? “” : “:“,hdr-

>ether_shost[c]);

printf(“ > ”);

for (c = 0; c < ETH_ALEN; c++)

printf(“%s%02x”,c == 0 ? “” : “:”,hdr-

>ether_dhost[c]);

printf(“ type: %i\n”, hdr->ether_type);

}

}

int main(int argc, char **argv)

{

int sockfd;

char *name = argv[1];

if (!argv[1]) {

fprintf(stderr, “Please specify an interface name\n”);

return -1;

}

if ((sockfd = open_interface(name)) < 0) {

fprintf(stderr, “Unable to open interface\n”);

return -1;

}

if (read_loop(sockfd) < 0) {

fprintf(stderr, “Error reading packet\n”);

return -1;

}

return 0;

}

BSD

Операционные системы, основанные на BSD, такие как OpenBSD, FreeBSD, NetBSD и BSDI, предоставляют интерфейс к канальному уровню посредством размещенного в ядре драйвера Berkeley Packet Filter (BPF). BPF располагает несколькими очень хорошими отличительными особенностями, которые чрезвычайно эффективны в обработке и фильтрации пакетов.

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

Libpcap

libpcap не является интерфейсом операционной системы, точнее, он является переносимой межплатформенной библиотекой, которая значительно облегчает сетевой доступ к канальному уровню во множестве операционных систем. Библиотека libpcap первоначально была разработана в Lawrence Berkeley Laboratories (LBL). Ее целью является абстрагировать интерфейс канального уровня на различных операционных системах и создать простой стандартизованный программный интерфейс приложения (API). Это позволяет создать портативный код, который может быть написан для использования одного интерфейса вместо многочисленных на множестве операционных систем. Данный факт значительно упрощает технику написания анализаторов сетевого трафика в сравнении с объемом работ, необходимых для выполнения такого кода на разнообразных операционных системах.

Исходная версия от LBL была значительно улучшена с ее последнего официального релиза. Она имеет лицензию системы с открытым кодом (лицензия BSD) и, следовательно, может быть использована в коммерческом программном обеспечении, а также позволяет неограниченные модификации и редистрибуцию.

Исходная LBL-версия может быть найдена на ftp://ftp.ee.lbl.gov/libpcap.tar.Z. Команда tcpdump.org, принявшая разработку TCPDump, также приняла разработку libpcap. Свежая версия libpcap может быть найдена на www.tcpdump.org.

По сравнению с анализатором сетевого трафика, написанного под операционную систему Linux, используется «родной» интерфейс, анализатор сетевого трафика для Linux, использующий libpcap, намного проще, как показано далее:

#include

#include

#include

#include

#include

pcap_t *open_interface(char *name)

{

pcap_t *pd;

char ebuf[PCAP_ERRBUF_SIZE];

/* use pcap call to open interface in promiscuous mode */

d = pcap_open_live(name, 1600, 1, 100, ebuf);

f (!pd)

return NULL;

return pd;

}

int read_loop(pcap_t *pd)

{

const unsigned char *ptr;

int size, c;

struct pcap_pkthdr h;

struct ether_header *hdr;

while (1) {

/* read the next available packet using libpcap */

ptr = pcap_next(pd, &h);

if (h.caplen < sizeof(struct ether_header))

continue;

hdr = (struct ether_header *)ptr;

/* print out ethernet header */

for (c = 0; c < ETH_ALEN; c++)

printf(“%s%02x”,c == 0 ? “” : “:”,hdr-

>ether_shost[c]);

printf(“ > ”);

for (c = 0; c < ETH_ALEN; c++)

printf(“%s%02x”,c == 0 ? “” : “:”,hdr-

>ether_dhost[c]);

printf(“ type: %i\n”, hdr->ether_type);

}

}

int main(int argc, char **argv)

{

pcap_t *pd;

char *name = argv[1];

if (!argv[1]) {

fprintf(stderr, “Please specify an interface name\n”);

return -1;

}

pd = open_interface(name);

if (!pd) {

fprintf(stderr, “Unable to open interface\n”);

return -1;

}

if (read_loop(pd) < 0) {

fprintf(stderr, “Error reading packet\n”);

return -1;

}

return 0;

}

Windows

К сожалению, операционные системы семейства Windows не предоставляют функциональной возможности доступа к сети на канальном уровне. Мы должны приобрести и установить пакет драйвера стороннего производителя для получения доступа к данному уровню. До недавнего времени не существовало общедоступных драйверов, для которых не нужна лицензия. BPF-образный драйвер на данный момент уже написан и поддерживает BPF-механизм фильтрации в ядре. Также существует портация библиотеки libpcap, которая в сочетании с драйвером предоставляет интерфейс, такой же простой его UNIX, как аналог. Драйвер, портация libpcap, так же как и Windows-версия TCPDump, доступны на http://netgroup-serv.polito.it/windump.

Защитные меры

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

Обеспечение шифрования

К счастью, для состояния сетевой безопасности шифрование (используемое должным образом) является «серебряной пулей», которая делает пакетные анализаторы бесполезными. Зашифрованная информация, полагая, что механизм шифрования является эффективным, разрушит все попытки нарушителя пассивно прослушивать вашу сеть.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Коллектив авторов читать все книги автора по порядку

Коллектив авторов - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Защита от хакеров корпоративных сетей отзывы


Отзывы читателей о книге Защита от хакеров корпоративных сетей, автор: Коллектив авторов. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x