Введення
в Інтернет і безпека в ньому
План p>
Інтернет p>
Огляд внутрішнього пристрою TCP/IP p>
Проблеми, пов'язані з безпекою p>
Наскільки уразливі мережі організаці в Інтернеті? p>
Хоча приєднання до Інтернету надає величезні вигоди у вигляді доступу до колосального обсягу інформації, воно не обов'язково є гарним рішенням
для організацій з низьким рівнем безпеки. Інтернет страждає від серйозних проблем з безпекою, які, якщо їх ігнорувати, можуть призвести до
жахливих наслідків для непідготовлених мереж. Помилки при проектуванні сервісів TCP/IP, складність конфігурування хостів, уразливі місця, що з'явилися
під час написання програм, і ряд інших причин в сукупності роблять непідготовлені мережі відкритими для діяльності зловмисників і вразливими до
, пов'язаних з цим проблем. p>
Наступні пункти коротко описують Інтернет, TCP/IP, а потім розповідають про деякі проблеми безпеки в Інтернеті і причини, що роблять досить
серйозними. p>
Інтернет
Інтернет - це всесвітня мережа мереж, яка використовує для взаємодії стек протоколів TCP/IP. Спочатку Інтернет був створений для поліпшення
взаємодії між науковими організаціями, які виконували роботи на користь уряду США. Протягом 80-х років до Інтернету підключилися
освітні установи, державні організації, різні американські та іноземні фірми. У 90-х років Інтернет переживає феноменальне зростання, причому
збільшення числа з'єднань перевищує всі темпи, що мали місце раніше. Тепер до Інтернету приєднані багато мільйонів користувачів, причому тільки половина з
них комерційні користувачі [Cerf93]. Зараз Інтернет використовується як основа для Національної Інформаційної Інфраструктури (NII) США. p>
1.1.1 Типові сервіси
Існує ряд сервісів, пов'язаних з TCP/IP і Інтернетом. Найбільш поширеним сервісом є електронна пошта, реалізована на базі
протоколу SMTP (Простий Протокол Передачі Листів). Також широко використовуються TELNET (емуляція віддаленого терміналу) і FTP (протокол передачі файлів). Крім
них існує ряд сервісів і протоколів для віддаленої друку, надання віддаленого доступу до файлів і дисків, роботи з розподіленими базами даних і
організації інших інформаційних сервісів. Далі наводиться короткий список найбільш поширених сервісів: p>
SMTP b> - Простий протокол
передачі пошти, використовується для прийому та передачі електронної пошти
TELNET b> - використовується
для підключення до віддалених систем, приєднаним до мережі, застосовує
базові можливості по емуляції терміналу
FTP - b> Протокол передачі
файлів, що використовується для прийому або передачі файлів між системами в мережі
DNS b> - Служба мережевих
імен, використовується TELNET, FTP і іншими сервісами для трансляції імен хостів
у IP адреси.
інформаційні сервіси, такі як b>
gopher b>
- Засіб пошуку та перегляду інформації за допомогою системи меню, яке
може забезпечити дружній інтерфейс до інших інформаційних сервісів
WAIS b> --
глобальний інформаційний сервіс, що використовується для індексування та
пошуку в базах даних файлів
WWW/http b>
- Всесвітня Павутина, об'єднання FTP, gopher, WAIS та інших
інформаційних сервісів, що використовує протокол передачі
гіпертексту (http), і програми Netscape, Microsoft Internet Explorer і
Mosaic в якості клієнтських програм.
сервіси на основі RPC - b> сервіси
на основі віддаленого виклику процедур, такі як
NFS b> --
Мережева файлова система, що дозволяє системам спільно використовувати
директорії і диски, при цьому віддалена директорія або диск здаються
що знаходяться на локальній машині
NIS b> --
Мережеві Інформаційні Послуги, дозволяють декільком системам спільно
використовувати бази даних, наприклад файл паролів, для централізованого
керування ними
Система X Windows - b>
графічна віконна середу набір із базових бібліотек, що використовуються на
b> робочих станціях
rlogin, rsh і інші r-сервіси - b> реалізують концепцію довіряють один одному хостів,
дозволяють виконувати команди на інших комп'ютерах, не вводячи пароль
Хоча сервіси TCP/IP можуть в рівній мірі використовуватися як в локальних мережах, так і в глобальних мережах, у локальних мережах, як правило, застосовується
спільне використання файлів і принтерів, а електронна пошта та вилучений термінальний доступ - в обох випадках. З кожним роком зростає популярність
gopher і www. Обидва цих сервісу призводять до виникнення проблем для розробників брандмауерів і будуть розглянуті у наступних розділах. p>
1.1.2 Хости в Інтернеті
На багатьох системах, підключених до Інтернету, працює одна з версій ОС Unix.
Вперше TCP/IP був реалізований на початку 80-х років у версії Unix, написаної в університеті в Каліфорнії в Берклі, відомої як BSD (Berkeley Software
Distribution). Багато сучасних версії Unix запозичили тексти мережевих програм з цієї версії, тому Unix забезпечує більш-менш стандартний
набір сервісів TCP/IP. Це призвело до того, що багато різних версій Unixа мають одні й ті самі уразливі місця, правда, це також призвело до доцільності
широкого застосування стратегій брандмауерів, таких як фільтрація IP. Слід зазначити, що вихідні тексти BSD UNIX можна легко отримати в ряді
Інтернетівських серверів, тому як хороші, так і погані люди можуть вивчити тексти програм і знайти в них потенційні вразливі місця і використовувати їх для
проникнення. p>
Хоча Unix і є найбільш поширеною ОС в Інтернеті, до нього приєднано багато різних типів комп'ютерів з іншими ОС, включаючи системи з
DEC VMS, NeXT, MVS і ОС персональних комп'ютерів, такі як DOS, Microsoft Windows, Windows'95, Windows NT і Apple. Хоча персональні комп'ютери
забезпечують тільки клієнтську частину сервісів, тобто, використовуючи TELNET, можна підключитися з персонального комп'ютера, але не до персонального комп'ютера, все
зростаюча потужність ПЕОМ починає також забезпечувати надання тих же сервісів, які зараз надаються великими комп'ютерами, тільки набагато
дешевше. Версії Unix для ПЕОМ, включаючи Linux, FreeBSD і BSDi, а також інші ОС, такі як Microsoft Windows NT, можуть зараз забезпечити ті ж самі сервіси
і програми, які раніше були тільки на великих системах. Наслідком цього є те, що зараз повний набір сервісів TCP/IP використовується небувалим
кількістю людей. Хоча це і добре в тому сенсі, що мережеві сервіси стали загальнодоступними, негативні наслідки полягають у виникненні величезних
можливостей для скоєння злочинів у зловмисників (а також у неписьменних користувачів, які в деяких випадках можуть розглядатися
як вид зловмисників). p>
Огляд внутрішнього пристрою TCP/IP
Цей розділ містить короткий опис TCP/IP в обсязі, достатньому для подальшого обговорення проблем безпеки, пов'язаних з Інтернетом.
[Com91a], [Com91b], [Hunt92] і [Bel89] містять набагато більш докладний опис; читачі, які хочуть одержати більш глибоке уявлення, повинні
звернутися до цих джерел. p>
Почасти популярність стека протоколів TCP/IP пояснюється можливістю його реалізації на базі великої кількості різноманітних каналів і протоколів канального
рівня, таких як T1 і Х.25, Ethernet і лінії RS-232. Більшість організацій використовує у своїх ЛВС Ethernet для об'єднання хостів і клієнтських систем, а
потім приєднує ці мережі за допомогою T1 до регіональної мережі. (наприклад, регіональної магістральної мережі TCP/IP), яка поєднує в свою чергу з
мережами інших організацій та іншими магістральними каналами. Як правило, організації мають одне з'єднання з Інтернетом, але великі організації можуть
мати два і більше сполук. Швидкості модемів збільшуються у міру появи нових комунікаційних стандартів, тому версії TCP/IP, які працюють в
середовищі комутованих телефонних каналів, стають все більш популярними. Багато організацій і просто окремі люди використовують PPP (Point-to-Point
Protocol) і SLIP (Serial Line IP) для підключення своїх мереж і робочих станцій до інших мереж, використовуючи телефонні канали. p>
Якщо говорити строго, то TCP/IP - це стік протоколів, що включає TCP, IP, UDP (User Datagram Protocol), ICMP (Internet Control Message Protocol), і ряд інших
протоколів. Стек протоколів TCP/IP не відповідає моделі взаємодії відкритих систем (ВОС), і його структура показана на малюнку 1.1 p>
p>
1.2 IP
Рівень IP отримує пакети, доставлемие нижніми рівнями, наприклад драйвером інтерфейсу з ЛОМ, і передає їх лежать вище рівнів TCP або UDP. І навпаки,
IP передає пакети, отримані від рівнів TCP і UDP до нижчого рівня рівнями. p>
Пакети IP є дейтаграмамі з негарантованою доставкою, тому що IP нічого не робить для забезпечення гарантії доставки пакетів IP по порядку і без
помилок. Пакети містять IP адреса хоста, з якого був посланий пакет, який називається адресою відправника, і адреса хоста, який повинен отримати пакет, званий
адресою одержувача. p>
Високорівневі сервіси TCP і UDP при прийомі пакету припускають, що адреса відправника, вказану в пакеті, є неправдою. Іншими словами, адреса IP
є основою для аутентифікації в багатьох сервісах; сервіси припускають, що пакет був посланий від існуючого хоста, і саме від того хоста, чия адреса
вказаний в пакеті. IP має опцію, яка називається опція маршрутизації джерела, яка може бути використана для для зазначення точного прямого та зворотного
шляху між відправником і одержувачем. Цей шлях може задіяти для передачі пакета маршрутизатори або хости, звичайно не використовуються для передачі
пакетів до даного хоста-одержувача. Для деяких сервісів TCP і UDP пакет IP c такою опцією здається що прийшов від останньої системи в зазначеному шляху, а не від
свого справжнього відправника. Ця опція з'явилась у протоколі для його тестування, але [Bel89] відзначає, що маршрутизація джерела може
використовуватися для обману систем з метою підтримання зв'язку з ними тих хостів, яким заборонено з ними з'єднуватися. Тому, те, що ряд сервісів
довіряють вказаною IP-адресою відправника і покладаються на нього при аутентифікації, дуже небезпечно і може призвести до проникнення в систему. p>
1.2.2 TCP
Якщо IP-пакети містять інкапсульованими пакети TCP, програми IP передадуть їх вгору рівнем TCP. TCP послідовно нумерує всі пакети і виконує
виправлення помилок, і реалізує таким чином віртуальні з'єднання між хостами. Пакети TCP містять послідовні номери та підтвердження про прийом
пакетів, тому пакети, прийняті не в порядку передачі, можуть бути Переупорядкований, а зіпсовані пакети повторно надіслано. p>
TCP передає отриману інформацію додаткам верхнього рівня, наприклад клієнтові або серверу TELNETа. Програми, в свою чергу, передають інформацію
назад рівня TCP, який передає її нижче рівня IP, після чого вона потрапляє до драйверів пристроїв, у фізичну середу і по ній передається до
хоста-одержувача. Послуги з встановленням з'єднання, такі як TELNET, FTP, rlogin, X Windows і SMTP вимагають надійності і тому використовують TCP. DNS
використовує TCP тільки в ряді випадків (для передачі і прийому баз даних доменних імен), а для передачі інформації про окремі хостах використовує UDP. p>
1.2.3 UDP
Як показано на малюнку 1.1, UDP взаємодіє з прикладними програмами на тому ж рівні, що і TCP. Тим не менш, він не виконує функції виправлення
помилок або повторної передачі втрачених пакетів. Тому UDP не використовується в сервісах з встановленням з'єднання, яким потрібне створення віртуального
каналу. Він застосовується в сервісах типу запит-відповідь, таких як NFS, де число повідомлень в ході взаємодії набагато менше, ніж у TELNET і FTP. У число
сервісів, що використовують UDP, входять сервіси на базі RPC, такі як NIS і NFS, NTP (протокол мережевого часу) і DNS (DNS також використовує TCP). p>
Пакети UDP набагато простіше підробити, ніж пакети TCP, так як немає етапу встановлення з'єднання (рукостискання). [Ches94]. Тому з використанням
сервісів на базі UDP пов'язаний більший ризик. p>
1.2.4 ICMP
ICMP (Протокол міжмережевих керуючих повідомлень) знаходиться на тому ж рівні, що і IP; його призначення - передавати інформацію, необхідну для управління
трафіком IP. В-основному, він використовується для надання інформації про шляхи до хостам-одержувачам. Повідомлення ICMP redirect інформують хости про існування
більш коротких маршрутів до інших систем, а повідомлення ICMP unreachable вказує на наявність проблем зі знаходженням шляху до одержувача пакета. Крім
того, ICMP може допомогти коректно завершити підключення TCP, якщо шлях став недоступний. PING є широко поширеним сервісом на базі ICMP. p>
[Bel89] розглядає дві проблеми з ICMP: старі версії Unix можуть розірвати всі з'єднання між хостами, навіть якщо тільки один із них
зіткнулося з проблемами. Крім того, повідомлення про перенаправлення шляху ICMP можуть бути використані для обману маршрутизаторів і хостів з метою змусити
їх повірити в те, що хост зловмисника є маршрутизатором і пакети краще відправляти через нього. Це, у свою чергу, може призвести до того, що
атакуючий отримає доступ до систем, яким не дозволено мати з'єднання з машиною атакуючого або його мережею. p>
1.2.5 Структура портів TCP і UDP
Сервіси TCP і UDP використовуються за допомогою схеми клієнт-сервер. Наприклад, процес сервера TELNET спочатку перебуває у стані очікування запиту
встановлення з'єднання. У якийсь момент часу користувач запускає процес клієнта TELNET, який ініціює з'єднання з сервером TELNET. Клієнт
посилає дані серверу, той читає їх, і посилає назад клієнтові відповідь. Клієнт читає відповідь і повідомляє про нього користувачеві. Тому, з'єднання є
двонаправленим і може бути використано як для читання, так і для запису. p>
Як багато одночасних з'єднань TELNET може бути встановлено між системами? З'єднання TCP або UDP унікальним чином ідентифікується за допомогою
чотирьох полів, які присутні в кожному з'єднанні: p>
IP-адреса джерела - b>
адреса системи, яка надіслала пакет
IP-адреса одержувача b> --
адреса системи, яка приймає пакет
порт відправника - b> порт
з'єднання в системі-відправника
порт одержувача b> - порт
з'єднання в системі-одержувача
Порт - це програмне поняття, що використовується клієнтом або сервером для посилки або прийому повідомлень; порт ідентифікується 16-битви числом.
Серверні процеси зазвичай асоціюються з фіксованим числом, наприклад числом 25 для SMTP або 6000 для X Windows; номер порту є відомим, так як він
потрібно, крім IP-адреси одержувача, при встановленні з'єднання з конкретним хостом і сервісом. Клієнтські процеси, з іншого боку,
запитують номер порту в операційній системи на початку роботи, і номер порту є випадковим, хоча в деяких випадках він є наступним у списку
вільних номерів портів. p>
Для ілюстрації того, як використовуються порти для здійснення та отримання повідомлень, розглянемо протокол TELNET. Сервер TELNET слухає приходять повідомлення на порту
23, і сам посилає повідомлення на порт 23. Клієнт TELNET, на тій же або іншій системі, спочатку запитує невикористовуваний номер порту в ОС, а потім
використовує його при посилці і прийомі повідомлень. Він повинен вказувати це номер порту, наприклад 3097, у пакетах, призначених для сервера TELNET, щоб цей
сервер при відповіді на повідомлення клієнта міг помістити це номер в їх посилають їм TCP-пакети. Хост клієнта з прийому повідомлення повинен побачити номер порту в
повідомленні і вирішити, який з клієнтів TELNET повинен прийняти це повідомлення. Цей процес показаний на малюнку 1.2 p>
p>
Малюнок 1.2 Взаємодія при TELNET h2>
Існує досить поширене правило, згідно з яким тольуо привілейовані
процеси сервера, тобто ті процеси, які працюють з привілеями суперкористувача UNIX, можуть використовувати порти з номерами менше, ніж 1024 (
так звані привілейовані порти). Сервера в-основному використовують порти з номерами менше, ніж 1024, а клієнти як правило повинні запитувати
непривілейованих порти в ОС. Хоча це правило і не є обов'язковим для виконання і не потрібно специфікацією протоколів TCP/IP, системи на основі
BSD дотримуються його. p>
В результаті всього цього брандмауери можуть блокувати або фільтрувати доступ до служб на основі перевірки номерів портів в TCP-і UDP-пакетах і
подальшого пропускання через себе або видалення пакета на основі політики, що вказує доступ до яких службам дозволений або заборонений. (більш детально це
описано в главі 2). p>
Не всі сервери і к?? Иенти TCP і UDP використовують порти таким простим способом, як TELNET, але в цілому, процедура, описана тут, корисна в контексті
брандмауера. Наприклад, багато ОС персональних комп'ютерів не використовують поняття супер-UNIX, але все-таки використовують порти описаним вище способом (
хоча немає стандарту, що вимагає це). p>
Проблеми, пов'язані з безпекою
Як було встановлено раніше, Інтернет страждає від серйозних проблем з безпекою. Організації, які ігнорують ці проблеми, піддають себе
значного ризику того, що вони будуть атаковані зловмисниками, і що вони можуть стати стартовим майданчиком при атаках на інші мережі. Навіть ті організації,
які піклуються про безпеку, мають ті ж самі проблеми через появу нових уразливих місць в мережевому програмному забезпеченні (ПЗ) і відсутності заходів
захисту від деяких зловмисників. p>
Деякі з проблем безпеки в Інтернеті - результат наявності вразливих місць через помилки при проектуванні в службах (і в протоколах, їх реалізують)
, У той час як інші - результат помилок при конфігуруванні хоста або засобів управління доступом, які встановлені або погано або настільки
складні, що практично не піддаються адміністрування. Крім того: роль і важливість адміністрування системи часто випускати при описі посадових
обов'язків співробітників, що при призводить до того, що більшість адміністраторів у кращому випадку наймаються на неповний робочий день і погано
підготовлені. Це ускладнюється швидким зростанням Інтернету та характеру використання Інтернету; державні та комерційні організації тепер
залежать від Інтернету (іноді навіть більше: що вони думають) при взаємодії з іншими організаціями та дослідженнях і тому зазнають великих втрат при
атаках на їх хости. Наступні розділи описують проблеми в Інтернеті і причини, що призводять до їх виникнення. p>
1.3.1 Інциденти з безпекою в Інтернеті
На доказ того, що описані вище загрози реальні, три групи інцидентів мали місце протягом декількох місяців один після одного. Спочатку,
почалося широке обговорення виявлених вразливих місць у програмі UNIX sendmail (це транспортна поштова програма на більшості хостів з Unix. Це
дуже велика і складна програма, і в ній вже кілька разів були знайдені вразливі місця, які дозволяють зловмиснику отримати доступ до системи, в
яких запущена sendmail). Організаціям, які не мали виправлених версій програми, довелося терміново виправляти ці помилки в своїх програмах sendmail до
того, як зловмисники використовують ці вразливі місця для атаки на їх мережі. Проте, через складність програми sendmail і мережевого ПЗ в цілому три
наступні версії sendmail також містили ряд уразливих місць [CIAC94a]. Програма sendmail широко використовувалася, тому організаціям без
брандмауерів, для того щоб обмежити доступ до цієї програми, довелося швидко регіровать на виникали проблеми і які виявляються вразливі місця. p>
По-друге, виявилося, що популярна версія, що вільно розповсюджується FTP-сервера містила троянського коня, який дозволяв отримати привілейований
доступ до сервера. Організаціям, що використав цей FTP-сервер, не обов'язково заражену версію, також довелося швидко реагувати на цю ситуацію [CIAC94c].
Багато організацій покладаються на добру якість вільного програмного забезпечення, доступного в Інтернеті, особливо на ПЗ у галузі безпеки з додатковими
можливостями по протоколюванню, управління доступом і перевірки цілісності, яке не входить до складу ОС, що поставляється її виробником. Хоча це ПЗ
часто дуже високої якості, організації можуть виявитися у важкому становищі, якщо в ПЗ будуть знайдені вразливі місця або з ним виникнуть інші проблеми, і
повинні будуть покладатися тільки на його авторів. (Справедливості заради, варто відзначити, що навіть ПЗ, зроблену виробником ОС, може страждати від таких же
проблем і його виправлення може виявитися більш тривалим). p>
Третя проблема мала найсерйозніші наслідки: [CERT94] і [CIAC94b] повідомили, що зловмисники проникли в тисячі систем в Інтернеті,
включаючи шлюзи між великими мережами і встановили аналізатори пакетів для перехоплення в мережевому трафіку імен користувачів і статичних паролів, що вводяться
користувачами для підключення до мережевих систем. Зловмисники також використовували інші відомі технології для проникнення в системи, а також
перехоплені ними паролі. Одним з висновків, які можна зробити тому є те, що статичні або повторно використовуються паролі не повинні
використовуватися для управління доступом. Фактично, користувач, що підключається до мережевої системи через Інтернет, може ненавмисно піддати
цю систему ризику бути атаковані зловмисниками, які могли перехопити мережевий трафік, що йде до цієї віддаленій системі. p>
Наступні розділи більш детально описують проблеми з безпекою в Інтернеті. [Garf92], [Cur92], [Bel89], [Ches94] і [Farm93] є книгами,
де ви знайдете більш детальну інформацію. p>
1.3.2 Слабка аутентифікація
Групи залагодження інцидентів вважають, що більшість інцидентів відбулося через використання слабких, статичних паролів. Паролі в Інтернеті можуть бути
"зламані" рядом способів, але двома найпоширенішими є злом зашифрованою форми пароля і спостереження за каналами передачі даних з
метою перехоплення пакетів з паролями. ОС Unix зазвичай зберігає паролі в зашифрованою формі у файлі, що можуть прочитати будь-яким користувачем.
Цей файл паролів може бути отриманий простим копіюванням його або одним з інших способів, використовуваних зловмисниками. Як тільки файл отриманий,
зловмисник може запустити легко-доступні програми злому паролів для цього файлу. Якщо паролі слабкі, тобто меьше, ніж 8 символів, є
словами, і т.д., то вони можуть бути зламані і використані для отримання доступу до системи. p>
Друная проблема з аутентифікацією виникає через те, що деякі служби TCP і UDP можуть автентифікувати тільки окремий хост, але не користувача.
Наприклад, сервер NFS (UDP) не може дати доступ окремому користувачеві на хості, він може дати його всьому хосту. Адміністратор сервера може довіряти
окремому користувачеві на хості і дати йому доступ, але адміністратор не може заборонити доступ інших користувачів на цьому хості і тому автоматично
повинен надати його всім користувачам або не давати його взагалі. p>
1.3.3 Легкість спостереження за що передаються даними
Слід зазначити, що коли користувач встановив сеансу з віддаленим хостом, використовуючи TELNET або FTP, то пароль користувача передається по
Інтернету в незашифрованому вигляді. Тому іншим способом проникнення в системи є спостереження за з'єднанням з метою перехоплення IP-пакетів,
що містять ім'я та пароль, і подальше використання їх для нормального входу в систему. Якщо перехоплений пароль є паролем адміністратора, то завдання
отримання привілейованого доступу стає набагато легше. Як вже раніше зазначалося, сотні і навіть тисячі систем в Інтернеті були скомпрометовані в
результаті перехоплення імен і паролів. p>
Електронна пошта, а також вміст сеансів TELNET і FTP, може перехоплюватися і використовуватися для отримання інформації про організацію та її
взаємодії з іншими організаціями в ході повсякденної діяльності. Більшість користувачів не шифрують пошту, так як багато хто вважає, що
електронна пошта безпечна і з її допомогою можна передавати критичну інформацію. p>
Система X Windows, що стає все більш популярною, також вразлива перехоплення даних. X дозволяє відкривати декілька вікон на робочій станції для
роботи з графікою та мультимедійними додатками (наприклад, WWW-браузером Netscape). Зловмисники можуть іноді відкривати вікна на інших системах і
перехоплювати текст, що набирає на клавіатурі, який може містити паролі і критичну інформацію. p>
1.3.4 Легкість маскування під інших
Як вже зазначалося в частині 1.2.1,
передбачається, що IP-адреса хоста правильний, і служби TCP і UDP тому можуть довіряти йому. Проблема полягає в тому, що використовуючи маршрутизацію
IP-джерела, хост атакуючого може замаскуватися під довіреного хоста або клієнта. Коротко кажучи, маршрутизація IP-джерела - це опція, за допомогою
якої можна явно вказати маршрут до призначення і шлях, по якому пакет буде повертатися до відправника. Це шлях може включати використання інших
маршрутизаторів або хостів, які в звичайних умовах не використовуються при передачі пакетів до призначення. Наведемо приклад того, як це може
бути використано для маскування системи атакуючого під довірений клієнт якогось сервера: p>
Атакуючий міняє IP-адресу свого хоста на той, який має
довірений клієнт.
Атакуючий створює маршрут для маршрутизації джерела до цього
сервера, у якому явно вказує шлях, по якому повинні передаватися
IP-пакети до сервера і від сервера до хоста що атакує, і використовує адреса
довіреної клієнта як останній проміжний адреса в дорозі до сервера.
Атакуючий посилає клієнтський запит до сервера, використовуючи опцію
маршрутизації джерела.
Сервер приймає клієнтський запит, як якби він прийшов від
довіреної клієнта, і повертає відповідь довіреній клієнтові.
Довірений клієнт, використовуючи опцію маршрутизації джерела,
переправляє пакет до хоста що атакує.
Багато хости Unix беруть пакети з маршрутизацією джерела і передаватимуть їх шляхом, вказаним у пакеті. Багато маршрутизатори також
беруть пакети з маршрутизацією джерела, у той час як деякі маршрутизатори можуть бути налаштовані таким чином, що блокуватимуть
такі пакети. p>
Ще більш простим способом маскування під клієнта є очікування того моменту часу, коли клієнтська система буде виключена, і наступна
маскування під неї. У багатьох організаціях співробітники використовують персональні ЕОМ з мережевою математикою TCP/IP для підключення до хостам з Unixом і
іспользуюют машини з Unix як сервери ЛОМ. ПЕОМ часто використовують NFS для отримання доступу до теки та файлів на сервер (NFS використовує тільки
IP-адреси для аутентифікації клієнтів). Атакуючий може настроїти після закінчення роботи свій ПЕОМ таким чином, що він буде мати те ж саме ім'я і
IP-адреса, що й інша машина, а потім ініціювати з'єднання з Unixовскім хостом, як якби він був довіреною клієнтом. Це дуже просто зробити і
саме так роблять атакуючі-співробітники організації. p>
Електронну пошту в Інтернеті особливо легко підробити, і їй взагалі не можна довіряти, якщо в ній не застосовуються розширення, такі як електронний підпис
листи [NIST94a]. Наприклад, давайте розглянемо взаємодію між хостами Інтернету при обміні поштою. Взаємодія відбувається за допомогою простого
протоколу, що використовує текстові команди. Зловмисник може легко ввести ці команди вручну, використовуючи TELNET для встановлення сеансу з портом SMTP (
простий протокол передачі пошти). Приймаючий хост довіряє тому, що заявляє про себе хост-відправник, тому можна легко вказати помилковий джерело листи,
ввівши адресу електронної пошти як адресу відправника, котоирй буде відрізнятися від істинного адреси. У результаті, будь-який користувач, який не має ніяких
привілеїв, може фальсифікувати електронний лист. p>
В інших сервісах, таких як DNS, також можна замаскуватися під іншу машину, але зробити це трохи складніше, ніж для електронної пошти. Для цих
сервісів до цих пір існують загрози, і їх треба враховувати того, хто збирається користуватися ними. p>
1.3.5 Недоліки служб ЛОМ та взаємну довіру хостів один до одного
Хости важко підтримувати в безпечному стані і це займає багато часу. Для спрощення управління хостами і більшого використання переваг
ЛВС, деякі організації використовують такі сервіси, як NIS (Network Information Service) і NFS (Network File system). Ці сервіси можуть сильно
зменшити час на конфігурування хостів, дозволяючи керувати поруч баз даних, таких як файли паролів, за допомогою віддаленого доступу до них і
забезпечуючи можливість спільного використання файлів і даних. На жаль, ці сервіси небезпечні за своєю природою і можуть використовуватися для отримання
доступу грамотними зловмисниками. Якщо скомпрометований центральний сервер, то інші системи, що довіряють центральній системі, також можуть бути легко
скомпрометовані. p>
Деякі сервіси, такі як rlogin, дозволяють хостам "довіряти" один одному для зручності роботи користувачів та полегшення спільного
використання систем і пристроїв. Якщо в систему було вчинено проникнення або її обдурили з допомогою маскараду, і цій системі інші системи, то для зловмисника
не важко отримати доступ до інших систем. Наприклад, користувач, зареєстрований на декількох машинах, може позбутися необхідності
вводити пароль, конфігурована себе на цих машинах так, що вони будуть довіряти підключенню з основної системи користувача. Коли користувач
використовує rlogin для підключення до хоста, то машина, до якої підключаються, не буде питати пароль, а підключення буде просто дозволено. Хоча це й не
так вже й погано, тому що пароль користувача не передається і не зможе бути перехоплений, це має той недолік, що якщо зловмисник проникне на
основну машину під ім'ям користувача, то зловмисник легко зможе скористатися rlogin для проникнення в рахунку користувача на інших
системах. З цієї причини використання взаємної довіри хостів один до одного не рекомендується [Bel89] [Ches94]. p>
1.3.6 Складність конфігурації і заходів захисту
Системи управління доступом в хостах часто складні в настроюванні і важко перевірити, чи правильно вони працюють. У результаті неправильно
сконфігуровані заходів захисту можуть призвести до проникнення зловмисників. Кілька великих виробників Unix все ще продають свої системи з системою
управління доступом, сконфігурованої так, що користувачам надано максимальний (тобто найменш безпечний) доступ, який може призвести до
несанкціонованого доступу, якщо не буде проведена переконфігурація. p>
Ряд інцидентів з безпекою стався в Інтернеті частково через те, що зловмисники знайшли вразливі місця (пізніше їх виявили користувачі,
групи комп'ютерної безпеки і самі виробники). Тому що велика частина сучасних варіантів Unix запозичила свій мережевий код з версії BSD, і так
як вихідний код цієї версії широко доступний, зловмисники змогли вивчити його на предмет помилок і умов, за яких їх можна використовувати для отримання
доступу до систем. Почасти помилки існують через складність програм і неможливості перевірити їх у всіх середовищах, в яких вони повинні працювати.
Іноді помилки легко виявляються і виправляються, але буває і так, що треба, як мінімум, переписати всі додаток, що є останнім засобом (
програма sendmail тому приклад). p>
1.3.7 Безпека на рівні хост не масштабується.
Безпека на рівні хостів погано шкалирующие: у міру того, як зростає число хостів у мережі, можливості по забезпеченню гарантій
безпеки на високому рівні для кожного хоста зменшуються. Зважаючи на те, що адміністрування навіть однієї системи для підтримки безпеки в ній може
виявитися складним, управління великим числом таких систем може легко призвести до помилок і упущень. Важливо також пам'ятати, що найчастіше важливість роботи
системних адміністраторів не розуміється і ця робота виконується де-не-як. В результаті деякі системи можуть виявитися менш безпечними, ніж інші, і
саме ці системи стануть слабкою ланкою, яка в кінцевому рахунку призведе до появи вразливого місця в системі безпеки. p>
Якщо виявляється уразливість в мережевому ПЗ, мережі, яка не захищена брандмауером, потрібно терміново виправити помилку на всіх системах, де вона
виявлена. Як уже говорилося в пункті 1.3.2,
деякі вразливі місця дозволяють отримати легкий доступ з правами користувача root Unix. Організація, що має багато Unix-хостів, буде особливо
вразлива до атак зловмисників в такій ситуації. Загортанню вразливих місць на багатьох системах за короткий проміжок часу просто неможливо, і якщо
використовуються різні версії ОС, може виявитися взагалі неможливим. Такі мережі будуть просто-таки напрошуватися на атаки зловмисників. p>
Наскільки уразливі мережі організаці в
Інтернеті?
Як вже зазначалося в попередніх?? розділах, ряд служб TCP і UDP погано забезпечують безпеку в сучасному середовищі в Інтернеті. При мільйонах
користувачів, підключених до Інтернету, і при тому, що уряду і промисловість залежать від Інтернету, недоліки в цих службах, а також
легкодоступностью вихідного коду і засобів для автоматизації проникнення в системи можуть зробити мережі уразливими до проникненням в них. Тим не менше,
справжній ризик при використанні Інтернету важко оцінити, і непросто сказати, наскільки вразливою є мережа до атак зловмисників. Такої статистики не ведеться. p>
Координаційний Центр з груп розслідування пригод з комп'ютерною безпекою (CERT/CC) веде деяку статистику про кількість інцидентів, які
вони розслідували після його створення в 1988 році. Числа в цій статистиці стрибкоподібно збільшуються щороку, але слід пам'ятати, що й число машин в Інтернеті
також зростає. У деяких випадках CERT вважає дещо проникнень одного і того жн типу одним подією, тому одна подія може складатися з
декількох сотень проникнень в ряд систем. Важко сказати, наскільки пропорційні кількість інцидентів і число проникнень. Ця проблема також
ускладнюється тим, що чим більше людей знають про існування груп з розслідування інцидентів, тим більша ймовірність того, що вони повідомлять про
подію, тому насправді незрозуміло, чи то відбувається все більше пригод, чи то повідомляється про усе більшій їх відсотку. p>
NIST вважає, що Інтернет, хоча і є дуже корисною і важливою мережею, в той же самий час дуже вразливий до атак. Мережі, які з'єднані з Інтернетом,
піддаються деякого ризику того, що їх системи будуть атаковані або піддані деякому впливу з боку зловмисників, і що ризик цього
значний. Наступні фактори можуть вплинути на рівень ризику: p>
число систем в мережі
які служби використовуються в мережі
яким чином мережа з'єднана з Інтернетом
профіль мережі, або наскільки відомо про її існування
наскільки готова організація до залагодження інцидентів з
комп'ютерною безпекою
Чим більше систем в мережі, тим важче контролювати їхню безпеку. Аналогічно, якщо мережа з'єднана з Інтернетом в декількох місцях, то вона буде
більш вразлива ніж мережа з одним шлюзом. У той же самий час, то, наскільки готова до атаки організація, або те, наскільки вона залежить від Інтернету, може
збільшити або зменшити ризик. Мережа, що має привабливий для зловмисників профіль, може піддатися більшій кількості атак з метою отримання інформації,
що зберігається в ній. Хоча, варто сказати, що "мовчазні" мало відвідувані мережі також привабливі для зловмисників, оскільки їм легше
буде приховати свою активність. p>
NIST заявляє, що мережі, які використовують рекомендовані процедури і заходи захисту для підвищення комп'ютерної безпеки, будуть піддаватися значно
меншому ризику атак. Брандмауери в поєднанні з одноразовими паролями, які стійкі до їх перехоплення, можуть збільшити загальний рівень безпеки мережі та
зробити використання