Тестове срещу пробиви в сигурността

„Хакери продължават да тормозят компании“, „Откраднати са огромно количество лични данни след хакерска атака“, „Лошо конфигурирани ИТ ресурси – причина за поредният хакерски пробив и кражба на информация“, „ИТ сигурността става топ приоритет за бизнеса“ и т. н.

Това са само една малка част от заглавия на статии в Интернет от последните месеци, които ясно демонстрират какво означават ИТ ресурсите за отделните фирми и корпорации и от какво съществено значение е сигурността на тези ресурси за биснеса като цяло. В близкото минало, след бумът на Интернет и технологиите отделните фирми, компании и организации, постепенно започнаха да прехвърлят своят бизнес и работа в компютърните сиситеми. Поетапно все по-често започнаха да се използват компютърните системи и мрежи. Естествено Интернет стана основна среда, както за забавление, така и за работа – обмен на информация и среда за работа на фирментите компютърни системи и мрежи като елемент от техните ИТ ресурси. За в бъдеще бизнесът ще бъде все по-зависим от свързаността. Компютърт ще измести своето предназначение като крайно потребителско утройство. Все по-често ще се използват нови облачни технологии, технилогии за витуализация и др.

Каква е цялостната идея на това? Естественно оптимизация на работните процеси, гъвкавост чрез използване на технологии, улеснение при работа, възвращаемост и печалба. Фирмите и организациите използваха, използват и ще използват ИТ ресурси, казано просто, за да си вършат работата и тези ресурси просто работят и функционират. Но как? В повечето случай  след извършен одит на една такава система или ИТ ресурс, като цяло може да бъде направен генерлният извод, че системите работят перфектно, т.е вършат си работата, но не и от гледна точка на сигурността. Темата за сигурността на ИТ ресурсите е основна тема сред бизнеса, набира скорост и ще бъде основната тема при проектирането на нови ресурси за бизнеса, именно заради заглавия като тези, които посочихме в началото. С изместването на бизнеса в информационните технологии и Интернет расте и интересът към този бизнес от страна на недоброжелатели, най-общо казано и конкуренти. Липсата на сигурност при изграждането на ИТ ресурсите ги прави лесна плячка  за хакери и други, извършващи злонамерени действия. Резултатът е ясен.

Именно това ни води и към основната идея на тази статия – Как да се защитим? Как да защитим собствените си ИТ ресурси и да се предпазим от всичко, което може да си представим като злонамерени действия върху тях, така че да навреди на нашия бизнес и дори да го убие. Отговорът е картък, прост и ясен – НЕ МОЖЕМ :). Няма ИТ ресурс в света, било то компютър, система или мрежа, база от данни или каквото и да е подобно, които да са защитени на 100%. Но това, което можем и трябва да бъде направено е да бъде дадена една реална оценка на сигурността на ИТ ресурсите, да бъде определено на първо място какво искаме да защитаваме и след това как може да бъде постигнато това. А реално как може да бъде постигнато? Естествено може да бъде постигнато с редица организационни и технически средства и способи. Но съществената част от този процес заемат различните методи за проверка на сигурността на ИТ ресурсите. Активни или пасивни, технически или организационни, тяхната основна цел е да информират бизнеса за слабите места в неговите ИТ инфраструктури и ресурси, следствие на което рискът, съществуващ в тях да бъде сведен до определен приемлив минимум. Да темата за рискът съществува и тук и е добре да се знае, че това е един непрестанен процес, които е необходимо да бъде постоянно управляван.

Когато говорим за методи за проверка на сигурността на ИТ ресурсите, наред с не маловажните одити на системи за съвместимост с различните стандарти за информационна сигурност, като ISO 27001, CoBIT … и др., задължително трябва да бъде отделено внимание и на авангардни технически методи, каквито са например сканирането за уязвимости (Vulnerability scanning) и тестването срещу пробиви (penetration testing).  Ами да, какъв по добър тест за сигурността на една система, от това тя да се тества за определени уязвимости и срещу пробиви от хакери! Тук ще се опитаме да дадем малко по-детайлна информация за тези два метода, като елементи за опрделяне на сигурността на ИТ инфраструктурата в нейния жизнен цикъл.

Основната цел на такъв тип тестване е изготвянето на детайлна справка/рапорт, подробно описваща критични за IT инфраструктурата слабости и уязвимости и доколко те са устойчиви на атаки и зловредно въздействие. Идеята е да бъде предоставена една „снимка“ на текущото състояние на сигурността на ИТ ресурсите, която да подпомогне дадената организация или фирма в етапа на минимизиране на риска при управлението на въпросните ИТ ресурси.

Какво е общото и различното при тези два метода на проверка? Според онлайн енциклопедията Wikipedia, Penetration Testing или накратко PenTesting е метод за оценка на компютърна система или мрежа, чрез симулиране на атака от зловредни външни и вътрешни за дадена фирма/организация субекти. Сканирането за уязвимости (Vulnerability scanning) е определено като метод, използващ софтуер предназначен да достъпва компютри, компютърни системи, мрежи или приложения за слабости. Казано накратко и двата метода имат за цел да проверят сигурността на системите, но докато сканирането за уязвимости проверява как ИТ ресурсите са конфигурирани чрез проверка на регистрите, инсталирани услуги, кръпки на ниво ОС, използване на порт скенери, мрежови скенери и др. то pentesting метода отива една идея по напред. Тук съществено зачение придобива човешкият елемент. Човекът може да сътвори и изпълни атака върху компютърни ресурси, базирана на умения, креативност и информация за таргетираната система, което едно автоматизирано сканиране за уязвимости не може. Атакуващият, извършващ самото тестване се старае вече не само да открие самите уязвимости, но и да се възползва от тях. Целта му е контролирано да проникне в системата. Като споменаваме думата контролирано, тук е мястото да споменем, че Penetration testing-a изисква да бъде взето разрешение от собственика, чиято собственост са ИТ ресурсите за извършване на подобно действие. В противен случай можем да говорим за хакване на системата или ресурсите, което от своя страна е нелегално действие и в повечето страни се преследва стриктно от закона. Именно затова в областта на ИТ сигурността се говори за т.нар етично хакерство.

Самият penetration test процес в повечето случай не е еднократен акт и като такъв изисква детайлна подготовка, изпълнение и завършване. В Интернет са налице много статии и ръководства, описващи различни фази и елементи при тяхното изпълнение. Това, което трябва да запомним и отсеем е, че самите тестове могат да бъдат извършени по различни начини, в зависимост информацията, която тестващият притежава за системата преди да започне. Именно затова са налице т. нар. Black Box и White Box pentesting. В първият случай се приема, че атакуващият няма никаква информация относно инфраструктурата, която ще бъде тествана, а във вторият – налице е пълно познание на последната. Често това включва сорс код, IP адресен план, топология и др. В някои от случаите практиката е наложила и комбинация от тези два метода, известна като Grey Box. Естествено всеки от описаните варианти на тестване предоставя своите плюсове и минуси. Например Black Box е лесен, бърз и прост метод, но често при него е невъзможно тестването на някои части от приложенията – например проверка на хеш алгоритмите, session id entropy и др. Тоест не може да бъдеш сигурен, че цялото приложение е тествано. От друг страна White Box предоставя възможност за проверка на сорс код например. Последното спестява време в някои случай и няма нужда за тестване на SQL injections при положение че може да бъде видяно как всички параметри се използват по сигурен начин навсякъде.

Кой метод на тестване ще бъде избран е вариант на избор в предварителната подготвителна фаза и естествено би било да подлежи на коментар със собственика на системата/ресурсът, които ще бъде тестван. Логично тук е да бъде уточнено какво именно ще се тества – например определено web приложение, бази данни, различни инфраструктурни обекти, като сървъри, предоставящи различни услуги, активно мрежово оборудване или дори цялостна инфраструктура. Налице са множество стандарти, описващи отделни методологии, които трябва да се следват в самият процес. Но един по общ примерен цикъл на отделните фази на тестване, които биха последвали включва:

1.    Изработване на penetration test план – тук се определят отделните цели на тестването, базирани на различни критерии. Дефинират се обхвата и отделните системи. Опеделя се метода на тестване.
2.   Discovery – Придобиване на първоначална информация за ИТ ресурсът или отделната състема обект на тестването. Използват се различни техники, като целта е да бъде събрана визможно най – много информация за системата – who is бази данни, приложения за сканиране (активни и пасивни), Google данни, OS fingerprinting и др.
3.   Идентифициране на уязвимостите – на база на първоначалната събрана информация и все по-задълбоченото „разучаване“ на системата следва елемента на идентифициране на слабите места и къде именно би било удачно да бъде извършена тестовата атака.
4.    Извършване на атаката – след уточняване на уязвимите места се извършва същинската атака върху обекта на тестване. Целта е придобиване на достъп до съответните ресурси.
5.   Изводи и рапорт – след извършване на самият тест, под формата на справка или репорт детайлно се описват всички извършени действия, открити пролуки и уязвимости. Дава се описание на използваните методи и ефекта от тяхното прилагане. Описват се подробни препоръки за поправяне на откритите уязвимости. Добра практика е репортът да е издържан, както от техническа, така и от мениджмънт гледна точка.

В така изброените примерни фази на тестване биха могли да залегнат множество специфични техники, в зависимост от отделните цели на тестване, които от своя страна да ги видоизменят и допълнят. Така например, често се използват password cracking техники със специализиран софтуер за bruteforce или rainbow tables, Sniffing tools, Fuzzing tools, scanning tools, flooding tools, WEP/WPA Password attack tools,  SQL injections, XSS, CSRF,  Metasploit Framework и много други.

Елемент от цялостната penetration тестинг стратегия би била и проверката на физическата сигурност, включваща входни точки, периметрова охрана, контрол на достъпа и др.

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

Екип „Профисек“, списание PROFESSIONAL бр. 8

Новини

picture

Тринадесети брой на специализираното списание за сигурност Professional

Виж още »

Проекти

picture

Система за откриване на подслушвателни устройства, използващи WiFi и Bluetooth свързаност

Виж още »

Библиотека

picture

Защита от подслушване през мобилен телефон

Виж още »