БЛОГОктомври 2012

KАК ПРОВЕРЯВАМЕ СИГУРНОСТТА НА ИНФОРМАЦИОННИТЕ СИСТЕМИ

В съвременният свят информацията е критичен актив за всяка организация. Това налага непрекъсната проверка на ефективността на съществуващите механизми за нейната сигурност

Тестовете за проникване (Penetration testing, PT) са легален и оторизиран опит да се открият слабостите на компютърна система с цел да се постигне по-висока сигурност. Процесът включва тестване за уязвимости, както и т. нар. POC (Proof of Concept) атаки, чрез които да се демонстрира, че съществуващите слаби места са реални заплахи. Тестовете за проникване винаги завършват със специфични препоръки за адресиране и решаване на проблемите, които са били открити. PT се използва като превантивна мярка за подсигуряване на компютърните мрежи срещу бъдещи атаки.

Стратегии за РТ

При провеждане на тестове за откриване на възможности за проникване в компютърните системи могат да бъдат следвани различни подходи:

  • Targeted testing – извършва се от ИТ екипа на организацията съвместно pen-testing екипа;
  • External testing – тук машините, които се подлагат на тест са тези, които са видими за външната среда: DNS, мейл сървър, firewall, уеб сървъри и други. Целта е да се види до каква степен атакуващ може да проникне в системата;
  • Internal testing – този вид тестване имитира вътрешна атака зад защитната стена като оторизиран потребител на мрежата без особени привилегии. Целта е да се разбере какви щети може да нанесе разгневен служител на фирмата;
  • Blind testing – имитира хакерска атака. На екипа не се предоставя почти никаква информация и е нужно повече време за осъществяването на такъв тест;
  • Double Blind testing – с провеждането на този тест трябва да са запознати най-много 2-3 служители на организацията. Често се използват за мониторинг на организации за сигурност.

White Hat VS Black Hat

В света на хакерството и тестовете за проникване съществуват две основни роли:

  • Етични хакери (Ethical Hackers) – наричани още White Hats или pentesters;
  • Неетични хакери (Unethical Hackers) – Black Hats, Crackers и други;

Въпреки че изпълняват много идентични стъпки и работят с еднакви инструменти, съществува много голяма разлика между двете страни. Различията им са по отношение на 3 основни характеристики: оторизация, мотивация и намерения.

Първият начин да се направи разлика между white hat и black hat е оторизацията. Тя е процес на получаване на потвърждение преди извършването на тестове и атаки. Чрез механизмът на оторизиране се постига споразумение между PT екипът и компанията за обхвата на тестовете. Обхватът изрично дефинира позволените цели. Изключително важно е и двете страни да разбират напълно оторизацията и обхватът на PT. White hats трябва винаги да изпълняват само позволените действия и да не нарушават договореният обхват. Black hats от своя страна нямат такива ограничения.

Вторият начин да се различат black от white hats е чрез изследване мотивацията на атакуващият. Ако той е движен от лична изгода (отмъщение, кражба, изнудване и т.н.), то трябва да се счита за неетичен хакер. Ако атакуващият е оторизиран и неговата мотивация е да помогне на организацията да повиши своята сигурност, то може да се счита за етичен.

Накрая, ако намерението е да се осигури реалистична симулация на атака към компанията, така че да може да се подобри нейната сигурност чрез ранно откриване и отстраняване на уязвимостите, атакуващият трябва да се счита за white hat. Важно е да се отбележи и критичността на това, конфиденциалните данни открити по време на PT да останат тайна. Етичният хакер никога не трябва да споделя подобна информация с никой друг, освен с клиента си. Въпреки това, ако намерението е тя да се използва за лична изгода, атакуващият трябва да се счита за black hat.

Етапи на PT

Цялостният процес на Penetration testing включва няколко фази. Според различните източници, методиката обикновенно включва между 4 и 8 стъпки. Въпреки че имената или броят им могат да се различават, важното е, че те са подобни в своята същност и начин на изпълнение. Фигура 1 илюстрира сравнение на четири и осемстъпков модел.

  • Разузнаване (събиране на данни) – Това е фазата в която се събира информация за организацията която се атакува, с помощта на социално-медийни мрежи, Google, fingerprint, и така нататък. Това е един от най-важните етапи. В него трябва да се научи възможно най-много за организацията, мрежата или машината, която ще бъде атакувана. Информацията, която е събрана може да даде ценен поглед върху контролите за сигурност в дадената организация. Тук добра практика е да се използват IP адреси, които не могат да бъдат свързани с хакера. Организациите с външно присъствие в Интернет биват атакувани всеки ден и по този начин събирането на информация от страна на атакуващият е трудно забележимо. Колкото повече информация се събере за целта във фазата на разузнаването, толкова по-голям е шансът за успех в следващите стъпки;
  • Сканиране – може да се раздели на две основни дейности. Първата е сканиране на портове (port scanning). Резултатът е списък с отворените портове и потенциалните услуги, работещи на целта. Втората дейност е сканиране за уязвимости (vulnerability scanning). Сканирането за уязвимости е процес на локализиране и идентификация на специфични слабости в софтуерните продукти на атакуваната цел;
  • Експлоатация – Това е „най-бляскавата“ част от тестовете за получаване на неоторизиран достъп. Въпреки това, често се прави с груба сила, а не с точност. Преди да се прибегне към експлоатация, хакера трябва да бъде сигурен в крайния резултат или по-добре да не опитва. При един евентуален неуспешен опит, той може да бъде забелязан от специалистите по сигурност и събраната информация от предните фази вече да не е нужна. Експлоатацията може да включва множество различни техники, инструменти и код. Основната цел на тази стъпка е да осигури административен достъп (пълен контрол) над атакуваната машина;
  • Поддържане на достъпа – целта е да се осигури постоянна „задна врата“ (back door) за вход към системата. Това позволява задържане на достъпа дори и след рестартиране на целта или спиране на приложения. След като бъде получен достъп до една от машините, атакуващият трябва да си осигури достъп и до други машини, които съхраняват важна информация за фирмата. Той може да се опита да получи права на домейн администратор или да компрометира системата за изплащане на заплатите. Поддържането на достъпа е една от тези ситуации, в които трябва да мине време за да се анализира с каква информация се разполага и как може да бъде използвана. Един специалист по сигурност трябва да прекарва много време в опити да мисли като злонамерен хакер. По този начин той може да предотврати пробив в системата. В този етап използването на автоматизирани инструменти е загуба на време. На този етап се разбира всъщност колко е добър един хакер;
  • Доклад – често методиките не включват тази стъпка, но тя е една от най-важните за успешното тестване. Организациите оценяват количеството свършена работа от PT екипът и нейната ефективност в зависимост качеството на представеният доклад. Той трябва да включва цялата разкрита по време на тестовете информация и да обяснява как са извършени самите тестове. Когато е възможно трябва да предлага и решения на откритите проблеми. За целта почти всички инструменти, с които се налага да работи един специалист по сигурност, имат възможност да съхраняват всеки тест в собствена база от данни. Това улеснява съставянето на доклад и изготвянето на една цялостна оценка на мрежата.

Обърнатият триъгълник на Фигура 1 показва, че с преминаването надолу през всяка фаза, от първоначалната обща информация се стига до конкретно търсените данни и системи. Всеки открит по веригата детайл се събира и съхранява. Не са малко примерите, когато първоначално ненужни данни се оказват ключов компонент при успешното експлоатиране на уязвимост и получаване на достъп до дадена система.

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

В заключение

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

Автори:

инж. Дамян Пейков е редовен докторант в РУ „Ангел Кънчев“. Завършил е магистърска степен „Телекомуникационни мрежи“ в в РУ „А. Кънчев“. Работи по проект „Изследване и разработване модел на система за информационно-комуникационно осигуряване процеса за вземането на решения, в условия на системна неопределеност, неточност и непълнота на информацията“. Професионалните му интереси са насочени към виртуализационните технологии, Linux базирани ОС, телекомуникационни мрежи, мрежова сигурност, уеб разработки и мултимедийни технологии.

инж. Цаньо Стоянов е редовен докторант в РУ „А. Кънчев“. Завършил е магистърска степен „Компютърни системи и мрежи“. В момента работи като ИТ специалист към центъра за компютърно обслужване в университета. Неговите професионални интереси включват: информационна сигурност, компютърни мрежи и операционни системи.