Личният блог на Chema Alonso за нейните неща.

компютърен

вторник, 31 октомври 2006 г.

Защита на безжична мрежа (I от III)

Атакуването на безжични мрежи отдавна се е превърнало в спорт, отклонение или хоби. Статии за това как да проникна безжични мрежи са написани в почти всички медии (аз написах статия за това преди почти 2 години) и дори в Дните на сигурността на Microsoft от 2005 г. и обиколката на Technet Security правехме демонстрации как можете лесно да извършите атака върху безжична мрежа.

Въпреки това все още е обичайно атаките срещу безжични мрежи да бъдат успешни. Защо се случва това? Обосновки като Кой ще ме атакува? O Ако нямам нищо важно, не ме интересува дали използват моята мрежа, те обикновено са отражение на липсата на знания за риска или проблем на техническите познания за това как може да се осигури безжична мрежа. Ще направим бърз преглед на технологиите за сигурност в безжичните мрежи и ще видим рисковете, които всяка от тях има, за да изберем добър вариант, когато става въпрос за защита на нашата мрежа.

Безжична технология

Всяка връзка, която е осъществена без кабели, се счита за безжична, но ние ще се съсредоточим върху мрежи WLan или безжични локални мрежи. Безжичните мрежи могат да бъдат от два типа, Ad-hoc, която би била мрежа между два еднакви компютъра (партньорска мрежа) или инфраструктура, която би симулирала мрежова връзка, базирана на концентратор или концентратор на връзки. Това е важно, защото медиира видовете атаки, които могат да бъдат извършени.

Стандартите, които управляват тези технологии, са 802.11 и първите, които достигат до обществеността, са 802.11b и 802.11g, стандарти, които позволяват скорости на предаване от 11 Mb/s до 108 Mb/s. От 2004 г. се работи по стандарта 802.11n, който ще позволи внедряване до 500 Mb/s и се очаква да бъде публикуван в края на тази година или началото на 2007 г. Изненадващо, както се случи с чакането на 802.11i ( за което ще говорим малко по-късно) пазарът вече е напреднал и 802.11n устройства са на разположение за продажба, които са проектирани в съответствие с информацията в проекта [1] на одобрения стандарт. За да завършим някои от „писмата“, които можем да намерим в стандартите, има версия 802.11e, предназначена за предаване на видео и аудио в реално време чрез използване на протоколи за качество на услугата.

Добре, засега информация за "писма", които маркират някои характеристики на връзките, но не и сигурност. Да продължим.

Определение на WLan

Първото нещо, което трябва да дефинираме, е името на нашата мрежа WLan и за това кратки дефиниции, които да ни изяснят:

- BSS (Basic Service Set). Той се отнася до набор от машини, които принадлежат към една и съща безжична мрежа и които споделят една и съща точка за достъп до безжичната мрежа (AP)
- BSSID (Basic Service Set Identifier): Това е идентификаторът, използван за обозначаване на BSS. Той има MAC адресната структура и обикновено всички производители използват MAC адреса на AP. Това е важно, тъй като нападателите откриват тази стойност, за да идентифицират клиенти в мрежата. За да направят това, нападателите търсят в мрежовите комуникации кои машини се свързват към тази AP.
- ESS (Разширен набор от услуги). Това е набор от BSS, които образуват мрежа, като цяло това ще бъде пълен Wlan.
- SSID (Service Set Identifier): Това е името на Wlan, разбираемо за потребителя, това, което конфигурираме: mi_wlan, scrufi или wlan1.
- ESSID (Extender Set Service Identifier): Това е идентификаторът на ESS, той е прозрачен за потребителя и носи информацията на SSID.

В крайна сметка, когато конфигурираме Wlan, това, което трябва да направим, е да изберем име за нашия SSID и радио канал за комуникационната честота.

SSID скриване

SSID е необходим за установяване на комуникация, тоест когато клиент иска да се свърже с AP, той трябва да знае SSID на мрежата. Стандартът за wlans позволява два начина за работа с SSID:

- Пасивно откриване: Клиентът получава рамка на маяк с информация за SSID. AP постоянно излъчва някои информационни рамки с ESSID, където отива SSID информацията на мрежата.
- Активно откриване: Клиентът трябва да знае SSID, защото AP не предлага Beacom рамки.

Това не е мярка за сигурност, тъй като откриването на SSID на wlan е тривиално за нападател, който трябва само да изчака клиентски компютър да изпрати информация за свързване и да види SSID.

Но дори хакерът не трябва да бъде търпелив и да чака компютър да се свърже и може да извърши това, което се нарича атака 0, тоест да изпрати рамка за управление на клиента, като се преструва, че е AP (фалшифициране на източника mac), който пита вие да излезете. Клиентът, много съвместим със стандарта, прекъсва връзката и се опитва да се свърже със следващата AP на ESS. Ако има само един AP, той ще се свърже с него. По време на този процес хакерът ще открие SSID на WLAN.

Заключение: Активирането или не на ESSID излъчването е опция за комфорт и/или замърсяване на радиочестотния спектър. Това не е мярка за сигурност.

MAC защита

За да се предотврати свързването на нежелани клиенти, много точки за достъп предлагат опции за включване в белия списък на компютри, които могат да се свързват въз основа на MAC адреса на клиентите. За това в AP добавяме адресите на машините, които искаме да разрешим и това е всичко.

Това не е надеждна мярка за сигурност, тъй като за атакуващия е доста лесно да го заобиколи. Използвайки всеки инструмент за мрежов анализ на wlan като Netstumbler, те откриват SSID, канала и честотата, които се използват, и MAC на AP.

След като MAC на AP са известни, познаването на Mac на упълномощените клиенти е толкова просто, колкото да отворите мрежов Sniffer като AiroPeek и да видите кои адреси комуникират с MAC на AP. Това ще бъдат упълномощените MAC. Когато вече имате списъка с упълномощени адреси, тъй като нападателят конфигурира валиден MAC с един от многото инструменти, които съществуват за подправяне (представяне под самоличност) на адреси и тази защита ще бъде заобиколена.

Заключение: Филтрирането на MAC адреси не е добра защита на сигурността, за атакуващия е много лесно да заобиколи тази защита.

Удостоверяване и криптиране

64 и 128 битови WEP ключове

Стандартът 802.11 дефинира система за удостоверяване и криптиране на Wlan комуникации, наречена WEP (Wireless Equivalent Privacy).

WEP използва ключова дума, която ще се използва за удостоверяване в затворени WEP мрежи и за криптиране на комуникационните съобщения.

За да се генерира ключът, в много точки за достъп се иска фраза и след това се генерират 5 различни ключа от нея, за да се гарантира максимален шанс при избора му, но в други просто се изисква да се въведе такъв с ограничения за дължината, за да бъде конфигуриран и готов.

За криптирането на всеки кадър ще бъде добавена променяща се последователност от битове, която се нарича вектор за инициализация (IV), така че не винаги се използва един и същ ключ за криптиране и декриптиране. По този начин две равни съобщения няма да генерират един и същ криптиран резултат, тъй като ключът продължава да се променя.

Както можете да видите на изображението, в този случай имаме AP, който ни позволява да генерираме 5 ключа от фраза или директно да конфигурираме ключ. Когато имаме 5 ключа, трябва да отбележим кой ще използваме, защото WEP използва само 1 ключ за всичко. Както можете да видите, ние избрахме опция за 64-битов WEP ключ, от които 5 октета (40 бита) са ключът, а останалите 24 бита ще бъдат IV. Тоест при нормална комуникация ще имаме от 2 до 24 различни ключа за криптиране.

В случай на 128-битов WEP ще имаме 13 фиксирани октета (104 байта) и 24 променящи се бита (IV), тоест ще имаме същия брой ключове, но с по-голяма дължина.

Процес на криптиране и дешифриране

За да разберете процеса на удостоверяване в Wlan мрежи с WEP, е необходимо предварително да обясните процеса на криптиране и дешифриране, тъй като той се използва по време на процеса на удостоверяване на клиент.

Процесът на криптиране е както следва:

Стъпка 1: Избира се IV (24 бита). Стандартът не изисква конкретна формула.
Стъпка 2: Клавишът Wep и IV се обединяват, за да генерират 64 или 128 битова последователност. Тази стойност се нарича RC4 Keystream.
Стъпка 3: Тази последователност се предава през RC4 алгоритъм за генериране на криптирана стойност на този специфичен ключ.
Стъпка 4: Генерира се стойност на целостта на съобщението, което трябва да се предаде (ICV), за да се провери дали съобщението е правилно дешифрирано и е добавено в края на съобщението.
Стъпка 5: Прави се XOR между съобщението и RC4 Keystream, генериращ криптираното съобщение.
Стъпка 6: IV, използван, така че получателят да може да дешифрира съобщението, се добавя към криптираното съобщение.

Процесът на дешифриране е обратен:

Стъпка 1: Чете се IV на полученото съобщение
Стъпка 2: Поставете IV към WEP ключа
Стъпка 3: Генерира се ключовият поток RC4
Стъпка 4: XOR между шифрованото съобщение и RC4 KeyStream и получете съобщението и ICV.
Стъпка 5: ICV се проверява за полученото съобщение.

Процес на удостоверяване

Когато клиент се свърже с Wlan, той трябва да бъде удостоверен. Това удостоверяване може да бъде отворено, тоест няма взискателна мярка, за да може да бъде свързано с мрежата или затворено, чрез което ще се проведе валиден процес на разпознаване на клиента.

По този начин при WEP удостоверяване се използва много проста идея. Ако имате WEP ключ, ще можете да върнете шифровано това, което ви изпращам. По този начин клиентът иска да се свърже и AP генерира последователност от 128 байта, която изпраща на клиента криптиран. Клиентът дешифрира този 128-байтов низ и му го връща в друга криптирана рамка с друга IV. За да бъде взаимното удостоверяване, процесът се повтаря обратно, тоест AP изпраща заявката за връзка до клиента и повтаря изпращането на 128-октетна криптирана верига от клиента към AP.

WEP сигурност

Безопасно ли е да използвате WEP тогава? Ами истината е, че не. Преди години беше показано, че може да се счупи, а днес разбиването на WEP е доста тривиално и за броени минути е възможно да откриете WEP ключа. Нападателят трябва да улови само достатъчно кадри, криптирани със същия IV; ключът WEP влиза във всички съобщения, така че ако получите достатъчно криптирани съобщения със същия IV, можете да направите математическа интерполация и след няколко секунди можете да откриете WEP ключа. За да получи достатъчно съобщения, криптирани със същия IV, нападателят може просто да изчака или да генерира много повтарящи се съобщения с помощта на инструмент за инжектиране на трафик. В днешно време е много лесно за нападателите да нарушат WEP, защото има безплатни инструменти, достатъчно прости, за да заобиколят процеса, който изпълняват, за да разбият WEP.

Но дори и тук в Испания, където има изследователска група по въпроса за безжичната сигурност (http://hwagm.elhacker.net/) са разработени инструменти с GUI, за да ги направят по-опростени.

След като генерират достатъчен файл за улавяне, той се предава през крекера, който ще върне използвания WEP ключ.

WLanDecrypter

Специална спецификация на WEP мрежите е създадена в Испания. Интернет телевизионна компания винаги инсталира безжични мрежи в своите клиенти, които конфигурира, като SSID стойност от типа: WLAN_XX.

Тези мрежи използват проста система за ключови WEP, която е била открита. Ключът е съставен от първата буква на марката на рутера, използвана с главни букви (Comtrend, Zyxel, Xavi) и MAC на WAN интерфейса на рутера. Също така името на мрежата е WLAN_XX, където XX е последните две цифри от MAC адреса на WAN интерфейса. Тъй като всеки рутер има връзка между производителя на безжичния интерфейс и WAN интерфейса, тъй като те са направени последователно и с едни и същи части, ако знаем MAC на безжичния интерфейс, ще знаем и първите 3 двойки шестнадесетични цифри на MAC WAN (съответстващ на производителя).

Накратко, с прост инструмент и улавяне на 1 мрежово съобщение за няколко секунди, WEP ключът на този тип мрежа е счупен. Докато компаниите не променят политиката си.

Мрежово адресиране

За нападателя намирането на мрежовия адрес, който да се използва в wlan, в който са се промъкнали, също е тривиална стъпка:

- Мрежата има DHCP сървър: компютърът на нападателя ще бъде конфигуриран автоматично и той няма да трябва да прави нищо. В случай, че MAC адресът на клиента е бил подправен, нападателят няма да може да използва този IP адрес, тъй като той вече се използва от друг (тъй като DHCP сървърът присвоява адреси въз основа на MAC адреси), но това ще им помогне да вижте обхвата на адресите, който можете да използвате и шлюза.

- Мрежата има DHCP акаунт: Клиентът се свързва с невалиден IP адрес и улавя мрежата с помощта на снифер (Wireshark, Ethereal, AiroPeek, ...). При улавяне с трафик бързо ще видите кои IP адреси се използват. За да разберете шлюза, ще трябва само да потърсите комуникация между вътрешен компютър с външен IP. Това съобщение задължително е изпратено до шлюза, тогава целевият MAC на това съобщение ще бъде MAC на шлюза. Просто използвайте командите ARP, за да разберете IP адреса, свързан с този MAC.

802.11i, WPA и WPA2

След като видяха видяното, всички знаеха, че трябва да се направи нещо със сигурността в безжичните мрежи. Единственото решение, възникнало при този сценарий, се състоеше в осъществяване на VPN връзки от клиента, който иска да се свърже с Wlan към сървър в мрежата, за да шифрова връзките, тоест да третира Wlan като несигурна мрежа, като например Интернет и изпълнете криптиране и удостоверяване по-горе с механизмите, предлагани от VPN сървърите.

IEEE 802.11 обяви нова защитена версия за Wlan, която ще се нарича 802.11i и ще промени протоколите за сигурност на Wlans. Тъй като процесът на одобрение на даден стандарт беше дълъг и пазарът се нуждаеше от бързо решение, група компании, събрани под организацията Wi-Fi Alliance, създадоха WPA (Wireless Protected Access) като практическа реализация на това, което ще бъде следващият стандарт 802.11 i.