Сигурност

Практична ИТ сигурност (част 1): Сред стените на крепоста

CIO Media

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

Александър Свердлов

Обратно на разпространеното схващане, няма да започнем защитата от периметъра. Защитните стени, системите за сигурност - това трябва да е последната грижа при изграждане на всяка защита. Нашата цел е да защитим информацията, не да направим доставчиците на различни "решения" богати, нали така?

ПЪРВА СТЪПКА - ЗАЩИТА НА ПОСЛЕДНОТО ЗВЕНО
Съществуват няколко вида "последни звена" - работна станция, база данни, защитена търговска информация, защитени бизнес практики, дори потребителят може да бъде смятан като най-вътрешното звено за защита... Да започнем от работните станции - ще ви задам поредица от въпроси и ще ви предложа съответните решения - в повечето случаи, те са общовалидни, също като проблемите които решават.

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

2. Всяка работна станция има ли парола за BIOS, предотвратяваща стартиране с Live CD или Bootable USB?
Ако не, време е да си изработите стратегия за използване на различни BIOS пароли за всеки компютър и сървър. Можете да разработите алгоритъм за вариране на паролата според серийния номер или местоположението на компютъра - така администраторите няма да има нужда да помнят паролите, а потребителите или "нарушителите" няма да знаят логиката и няма да могат да ги познаят. Ако не смятате това за необходима стъпка, хвърлете едно око на http://www.piotrbania.com/all/kon-boot/ -  изправи ли ви се косата? Добре, сега помислете как да предотвратите това да се случва във вашата организация...

3. Портове: USB, FireWire, Оптичните устройства...
Aко имате пуснат FireWire порт, това е огромна дупка в сигурността - този порт позволява директен достъп до паметта, без да се взимат под внимание контролите на операционната система. Изключете FireWire още в BIOS, освен ако не е абсолютно необходим за работния процес. Същото се отнася и за USB устройствата - контролирайте поне използването им, ако не можете да ги забраните. На сайта ми - http://www.securityguy.org/disable-usb-storage-devices/ - има инструкции как да поемете контрол над USB устройствата. Оптичните устройства трябва да присъстват само там, където са необходими за функционирането на бизнеса или ежедневната работа на служителя.
Ако все пак се налага да ползвате USB памети за бизнес цели, най-доброто на което бихте могли да се спрете е Ironkey (https://www.ironkey.com/enterprise) - Enterprise версията може да предложи цялата сигурност от която бихте се нуждали (FIPS 140-2), и повече.

4. Потребителят - има ли административни права върху компютъра с който работи?
Ако отговорът е да, това е лошо. Най-доброто което можете да на направите е да присъедините всеки потребител, включително мрежовите и системни администратори, към групата Guests (предполагам използването на Microsoft Windows операционни системи в повечето компании в България), и да създадете акаунти с които могат да се извършват административни действия, но е невъзможно да бъдат използвани за Login. Ако някой има нужда да извърши административно действие на компютъра си, винаги може да ползва опцията Run As.
Изградете добри системни политики за сигурност. За Windows XP и Windows 2003, можете смело да приложите, с минимални редакции, следния архив - http://www.nsa.gov/ia/_files/os/winxp/Windows_XP_Security_Guide_v2.2.zip - съдържа документ + някои примерни политики за сигурност. Не забравяйте да изпробвате всичко в тестова среда. На същия сайт можете да намерите съответните препоръчителни политики за други операционни системи. Прочитането и прилагането им ще ви костват известно време и усилия, но си заслужава. С малко скриптиране и въвеждане на политиките в Active Directory , след като веднъж решите кои настройки са необходими, въвеждането им върху всички сървъри и компютри в компанията е въпрос на минути (не забравяйте да тествате!).

 

5. Антивирусните системи...
Тук може много да се дискутира. Аз лично съм „враг" на най-разпространените системи, поради факта, че добрите вируси са написани с мисълта за деактивиране на именно тези продукти, но това не значи, че не ви трябва антивирусна програма. Търсете такава, която може да прихваща браузърни сесии и да блокира достъпа до опасни сайтове още преди зареждане на зловреден код. Според мен един от най-добрите блогове за ИТ сигурност е блогът на F-Secure - http://www.f-secure.com/weblog/, тяхното посвещение и начинът по който комуникират с Интернет обществото значат повече от красивите брошури и гигантските маркетинг отдели. Отделете време да разгледате блога им - имат много продукти в бета-фаза на разработка, безплатни и в същото време изключително ефективни - изпробвайте ги в тестова среда, може да откриете нещо което да подобри сигурността в компанията ви дори на този етап, когато продуктите още не са излезнали на пазара.

6. Откраднати носители на данни
Според http://datalossdb.org/statistics, 35% от загубата (изтичането) на информация се дължат на откраднати носители на данни - дискове, компютри, флаш памети, лаптопи, мобилни телефони. Това означава, че една проста стратегия по криптиране на всички носители на данни, ще предотврати 35% от инцидентите със загуба или кражба на информация.
На първо място, започнете с пълно криптиране на операцинната система, препоръчвам безплатната TrueCrypt програма, същото се отнася и за другите носители на информация. Освен предотвратяване на загуба и изтичане на информация при загуба и кражба на носители, поставете се на мястото на някой проникнал в мрежата по някакъв начин и срещащ навсякъде криптирани данни, винаги с различни пароли... Опитайте с опростени, рестриктивни (непозволяващи "лавиране") политики за ИТ сигурност, а не с огромни документи описващи задълженията на служителите - просто инсталирайте на всеки компютър криптираща програма, и направете план за поетапно криптиране.
Възможно е да вълзложите на ИТ отдела да изработи скрипт, който криптира работните станции извън работно време - така ще избегнете загуба на работни часове. Добре е също така да изработите проста стратегия за пароли... вижте точка 7.


 

7. Паролите...
Отделете време за обучение - това е вече нещо, което е повече в областта на психологията, отколкото на ИТ. Помогнете на хората да разберат колко лесно е да се създават и запомнят трудни за отгатване пароли. Научете ги на l337 азбуката - 1 = !, 3 = e, 4 = A, @ = a, 7 = t, 0 - O, 9=g, и тн. Например... 4l!g@70r, ще значи Aligator, едното присъства в повечето bruteforce - речници, а другото - не. Първо, е забавно, второ - сигурно.
Самите системи не би трябвало да приемат пароли, по-кратки от 8 (по-добре 12) символа. Или им дайте следната идея - любимата музикална група и любимата песен образуват една дълга фраза, която в същото време е и перфектната парола - невъзможна за отгатване, лесна за запомняне. Още по-хубаво е да се използват фрази на български с латински букви... представете си само колко трудно ще е за някой от друга държава да познае такава парола...
Направете обучението забавно - използвайте фрапантни, пикантни, смешни фрази - нека хората възприемат сигурността като нещо позитивно, а не като поредната суха тренировка без смисъл.


8. Човешкият фактор
Още по-вътрешно ниво от работната станция е човешкият фактор. Битката често се води на интелектуално ниво още преди да излезе на физическо. Както във войната, така и в бизнеса - някой може да иска да открадне информация използвайки просто човешките взаимоотношения, но и без външна намеса информацията може да изтече през e-mail, chat, facebook и т.н. Най-често това става случайно, в малък процент от случаите - нарочно.
За да не се случва, отново опираме до психология на поведението - има нужда от обучение, промяна на отношението към информацията и на ценностната система на хора, които постват онлайн всичко ново и интересно, независимо дали е конфиденциално или не. Някой праща мейл "помогни на дете, изпрати на всички", след 20 минути писмото е обиколило всички служители на компанията и е излязло навън, изнасяйки със себе си списък с всички e-mail адреси ... Две години работите по нов продукт, и някой споделя за него във Facebook - давайте цветни, ярки и емоционални примери на хората си, за да ги запомнят на емоционално ниво - хората са емоционални, използвайте това. Ако вие не го използвате първи, някой друг ще го направи със сигурност.
Като крайна мярка, можете да прибегнете и до принципа на "пръчката и поничката" - наказания и поощрения, според случая. Имайте предвид, че поощренията трябва да отговарят по сила на наказанията - не може наказанието да е процент от заплатата, а поощрението фирмена химикалка или потупване по рамото.
Един въпрос който следва да си зададете: ако ваш служител намери флаш памет на улицата пред сградата, ще я включи ли веднага в компютъра си за да провери какво има вътре? Обучени ли са служителите ви за разпознаване на такива рискове?


9. 0-day атаки и защита

След всичко казано дотук, един риск остава незабелязан и в същото време изключително опасен - 0-day уязвимостите в популярен софтуер като Adobe Acrobat Reader, Microsoft Word, Microsoft Excel и т.н. - съответните компании редовно предоставят кръпки но не винаги ИТ отделът инсталира най-новите версии... ако някой прати "инфектиран" файл на нечия поща и успее да изпълни код, дори с всички досега изброени мерки информацията от ще изтече, освен ако не предприемете мерки за спиране на достъпа до Интернет отвътре навън.
Тъй като тази статия се занимава с вътрешни системи за защита намиращи се на крайното устройство - в случая работна станция, лаптоп - ще препоръчам да използвате защитна стена, блокираща достъпа на дадени програми или процеси до Интернет, освен ако потребителят изрично не го разреши. Само като пример ще дам безплатната версия на http://personalfirewall.comodo.com/ - естествено, за бизнес цели ще трябва да изберете или платената версия или друг подобен продукт - тук, споменавам точно този софтуер само заради лични преференции към него и мнението ми подлежи на критика.
И така... оставяйки настрана комерсиалните или некомерсиални продукти за защита, служителите ви наясно ли са с рисковете пред отваряне на pdf, doc, xls файлове от непознати източници? Ако не са, е крайно време да ги запознаете. Един единствен pdf прикачен файл, изпратен на секретарката на изпълнителния директор, може да ознаменува края на една компания - денят, в който всички конфиденциални данни от нейния компютър изтекат навън...
Защитени ли сте от този риск? Да... всъщност, много малко хора, не само в България - където и да е посвета, знаят как да се справят с подобни рискове. На практика, решение няма - няма продукт, който да си закупите и да решите проблема... Но има логични решения, или по-скоро последователност от действия които могат да предотвратят изтичане на информация по този начин.
Всеки код, всяка програма се изпълнява в контекста на потребителя. Можете да промените донякъде стандартното обкръжение при което потребителят изпълнява всяка команда и програма с едни и същи привилегии, добавяйки още минимум едно ниво на сложност - като някои програми, например браузъри, пощенски клиенти, могат да се изпълняват с права Guest, докато всички останали, които не могат да работят като Guest - като User, и само в изключителни случаи - като Administrator. Съществуват решения за виртуализация - виртуализация на браузъри, програми, или операционни сисетми - също така сегрегация на мрежи. Можете да използвате VPN връзка за Интернет достъп, и нормална връзка за корпоративна мрежа. Може също така да използвате VPN дори за достъп до мрежата отвътре - не мислете, че е прекалено параноично, и не е чак толкова сложно за изпълнение.
Но да се върнем отново на предишния риск - изпълнение на зловреден код от изпратен документ, получен в пощата на служител, на компютъра на който има изключително конфиденциални данни. За да предпазим данните, можем да изпълняваме например Outlook през Citrix, или още по-добре - през Windows Server 2008 - виртуализация на приложения, или хостинг на приложения. По този начин, програмата не се изпълнява на клиентския, заразен компютър, а данните не се пазят на него.

Отново искам да напомня - никое приложение, използвано от потребител, освен когато това не е изрично необходимо, не бива да се изпълнява с административни права. Но... отново, имаме проблем. Ако някой изпълни код на работната станция, той може да "прослуша" и паролите, използвани дори за хоствани, или виртуализирани приложения, и да получи достъп до тях и данните в тях. Какъв е начинът за защита? Трябва по някакъв начин да се предпазите от изтеклите вече в мрежата 0-day скриптове, независимо дали за тях има кръпки или не. Едно решение е безплатната програма, която все още е в бета версия, F-Secure Exploit Shield. Програмата редовно се обновява срещу последните експлоити в мрежата, и работи много добре - следи за изпълним двоичен код в паметта - не за изпълними файлове, а изпълним код - сравнява с базата си даннни, и ако не хареса нещо - блокира изпълнението му. Лично съм я тествал за експлоит, за който Microsoft все още не бяха пуснали обновление - сработи, и не позволи на кода да се изпълни.
За да намалите шанса от „хакване", обновяване до Windows Vista или Windows 7 (за препоръчване) е добро решение поради добавената в тях функция ASLR, значително затрудняваща писането на експлоити и компрометиране на уязвими програми на ниво операционна система. Някои приложения също така могат да се изпълняват през Web - пример за това е новият проект EyeOS, работеща версия на който ще излезне през 2010 година, продукт с отворен код изнасящ операционната система в браузъра... но докато този начин на работа навлезне в бизнеса, ще има още много да се потрудим за да защитаваме сегашните системи, при които данните се намират на работната станция.

И така... защитили сме BIOS, защитили сме паролите, криптирали сме данните, въвели сме политиката за сигурност за операционната система препоръчана от NSA, имаме добра антивирусна програма, добра защитна стена непозволяваща на неизвестни и неодобрени от потребителя процеси да достъпват Мрежата, в най-добрия случай сме включили в схемата виртуализация на приложения или операционни системи, разделяме фирмената от външната мрежа с VPN, и сме инсталирали F-Secure Exploit Shield - от гледна точка на сигурността, работната станция вече прилича на крепост. Остава още нещо...


 

10. HIDS
Колко компании използват Host Intrusion Detection Systems? Поне в България... доста малко. Имайки предвид - от това което знам от опит, от приятели и познати, честотата на пробивите в сигурността би трябвало да предизвика по-активна реакция... да, може би причината е, че тези пробиви остават неизвестни за самите компании? Това е поне моето мнение.
OSSEC (http://www.ossec.net/) има безплатна версия за HIDS, работеща както с Линукс клиенти и сървъри, така и с Windows базирани такива. Без да навлизам в детайли - HIDS следи за неоторизирани промени върху файловата система на дадена работна станция или сървър - нови файлове, нови програми, нови записи в конфигурацията, нови потребители и т.н. - и ако открие нещо подозрително, изпраща репорт където трябва.
Не е толкова голяма трудност да се въведе - по-скоро ще трябва да се погрижите да имате човешките ресурси които да преглеждат редовно логовете. Какъв смисъл има да имате HIDS ако няма кой да следи логовете? Колкото и да е странно, има хора плащащи хиляди долари за комерсиални подобни системи, само за да ги имат - но не преглеждат логовете - това не е добра идея.

11. Защита на бази данни
Те също са "крайно стъпало" - стигне ли някой до тях, играта приключва. За защитата на бази данни от изтичане на информация може да се каже много. Съветвам ви обаче вместо да следвате инструкции за защита, да потърсите инструкции за преодоляване на защити за бази данни. Това е най-добрият подход при откриване на уязвимости в собствените ви бази, и най-краткият път към успеха. Ключовите думи които бих използвал при търсене са: "pentesting oracle", "pentesting ms sql", "database penetration testing" и т.н. Можете да замените "pentesting" с "attacking".
И не се ограничавайте само до самата база данни - срещал съм случаи, когато базата е една укрепена крепост - но приложенията, написани от трета страна (самото бизнес приложение, използващо базата данни) съдържа в себе си като кодирани, но лесно декодируеми стрингове, пароли и потребителски имена към базата, даващи пълен достъп! Естествено, организацията не беше (и все още не е...) наясно, че тази уязвимост съществува в компанията им... Оглеждайте се за такива уязвимости. Искайте от доставчиците на софтуер пълен сорс код на приложенията. Ако нямате сорс кода, няма как да сте сигурни. Накратко - доверявай се, но проверявай!


В ЗАКЛЮЧЕНИЕ
Тази статия би могла да послужи като план за пълно "бойно снаряжение" на работните станции или дори сървърите - за организация с размер 100-300 служители, планирането и въвеждането на всяка последователна стъпка от плана не би трябвало да отнеме повече от една-две седмици. Като резултат, за няколко месеца можете да се погрижите за сигурността на една средно голяма компания, при това без почти никакви разходи, което не е никак зле за кризисни времена като сегашните.


X