Saturday, July 27, 2013

Windows Hardcore Security

Windows като операционна система, има доста логична структура, на системата си за сигурност, но малко хора правят нещо по въпроса. Повечето просто слагат някакво копие, и мятат някакви драйвери, и после работят без повод с администраторски акаунт, и системата им е изложена постоянно. В техния случай те сами са си виновни че са хаквани. То заради безотговорни потребители идва и лошото име на ОС.
 
Част 1 акаунти.
Системата за сигурност, на уиндоус е ориентирана към акаунта и обекта. Обекта е всяка програма, която бива изпълнявана под дадения акаунт, и има същият достъп като акаунта, и същите забрани. Избора на неадминистративен акаунт, значително вкоравява операционната система, защото премахва достъп, до критични за ОС елементи, например регистри е с права само за четене, start up секцията е с права само за четене, Windows Firewall също не може да бъде преконфигуриран зад гърба ви, не може да бъде спрян, или да му се сложат правила.
 
В случай, че ползвате достатъчно зрял антивирус, независимо дали е Microsoft Security Essentials или друг зрял антивирус, ако е достатъчно зрял, антивируса ще усети под какъв акаунт работи, и ако не е администраторски, няма да може да бъде преконфигуриран или спиран.
 
В случай, че ползвате достатъчно зрял Firewall, независимо дали ползвате Windows Firewall или друг firewall, ако е достатъчно зрял Firewall ще се съобарази с акаунта, и няма да позволи преконфигуриране или излючване от акаунт по-нисък от администраторски.
Това създава значителни пречки при заразяване на система, защото самата ОС, възспира опитите на maware да се инсталират заавтоатично стартиране с ОС.
 
Хубавото е че тук дори с администраторски акаунт, дефакто не сте с администраторски акаунт и винаги работите със занижени права. Когато ви изтрябва администраторски достъп за някоя функция, идва интересен момент. Windows разрешава администраторски права, само за тази функция САМО ДОКАТО завърши работата си, после, администраторските права изчезват. Това постоянно държи още една бариера срещу malware и успешното заразяване, усложнява задачата, защото трябва да се търси, privilege escalation exploit а това значи още едно препядствие да се преодолее, още един проблем който повишава общото ниво на трудност и сложност на задачата, защото не малка част от ресурсите които един malware иска, ще са недостъпни.

Част 2 х86-х64
Windows 7 64 бита, предлага още 2 форми на системна защита, които 32 битовата форма не прелага и това е защита на ядрото от манипулации, и защита срещу зареждане на неподписани драйвери. Тук предимствата са допълнително ограничаване, на malware като му се отнемат още ресурси, които иска, освен това, и ядрото не се компрометира, потребителя не може да слага всякакви пошибалки като драйвери, това помага да се запази стабилността на ОС. Това са още 2 препядствия за преодоляване, още 2 пробелма които повишават общото ниво на трудност и сложност на задачата. Това допълнително възпрепядства malware защото не може да се регистриа като системен процес или системен драйвер, и да се лепне за ядрото на ОС. Не че контрола на нрайверите не може да се премахне, може, но това е още едно препядствие с което трябва да се справи malware, още еидн проблем да се реши, още едно ниво на сложност добавено към задачата.
 
Част 3 Firewall & Antivirus
За нуждите на изграждане на стабилна система, е добре да се изберат продукти, които следят акаунта, и променят функционалността си според акаунта. Например вградения firewall и microsoft security essentials се справят много добре с тези задачи. Освен че двете се допълват едно друго и си помагат, за да се допълват и си помагат при залавянето на malware или мрежови експлойти, и намаляват false positives, двете виждат дали е административен акаунт или не. Ако е административен акаунт позволяват промени, или да бъдат спрени, ако не е, не позволяват да бъдат спирани, и не позволяват да се правят промени, с което подсилват защитата, която ОС предлага.
 
Част 4 драйвери
Често пъти потребителитеслагат какви ли не измислени глупости, за драйвери и после защо компютъра е нестабилен. Ами така е, ще е нестабилен. Тук препоръката е слагайте WHQL подписани драйвери, това са качествени драйвери, които са направени с повечко любов и грижа от другите, и са качествени, работят оптимално и не нарушават стабилността или общия баланс на ресурси на системата. WHQL означава Windows Hardware Quality Labs, и правят мого подробни и много детайлни тестове, на драйверите за качество и стабилност и надеждност, и ако са доволни то резултатите по всички показатели, полагат магическият подпис. Най-добрият вариант за Уиндоус, е всички драйвери да са такива и нито един неподписан. Под 64 битов нямате избор, или са такива или изобщо няма да бъдат заредени. Преминаването от обикновени на WHQL драйвери значително подобрява стабилността и скоростта на системата. Добър източник на такива драйвери е Microsoft Update. В момента в който Microsoft Update заедно с Windows Plug and Play засекат познат хардуер, в системата за актуализации, се появява и драйвер за хардуера който задължитено е WHQL.
 
Част 5 Приложения
Често пробиви стават чрез използването на приложения. Например Adobe Flash, Adobe Acrobat Reader. Флаш скоро сам ще си отиде, но за Adobe Acrobat има добър заместител Foxit Reader. По-малък, по-пъргав, много по-малко уязвим, още по-малко targeted и това значително повишава степента на защита.
 
Браузер, Дори Internet explorer може да бъде защитен браузер, но това изисква познаването му и търпението да бъде цялосто и напълно пренастроен. Освен това, той играе важна роля, в общото ниво на защита, която скоро ще видим, но използването на алтернативен браузер като гугъл хром, мозила файърфокс, е много по-добро решение. Работейки с алтернативен браузер, добра идея е да го настроите да работи в перманентен Privacy режим, това е режим в който нищо не се записва на диска, и със затварянето на браузера, браузера забравя всичко – кукита, кешове...., да забраните 3rd party cookies, и да активирате DNT: 1 хедъра в заявката. По желание на потребителя, може да сложите и приставка към браузерите наречена Ghostery. Тази приставка, следи критата част на уеб – а именно следенето и профилирането с цел насочена реклама. Приставката блокира всички тракери и профайлъри които са и известни, независимо дали са кукита, или скриптове, чупейки модела на следене и профилиране, давайки ви по-добра анонимност в интернет. Приставката Комбинирана с DNT: 1 header, перманентият Privacy mode, и забранените 3rd party кукита, осигурява много високо ниво на анонимност в интернет, и напълно чупи модела на следене и профилиране за всички тракъри и профайлъри с които е наясно.
 
Част 6
Електронна поща. В интерес на истината, защитата на Аутлук се повиши изключително, макар че докато вашият е-майл клиент спира всякакви executable attachments, и санитайзва всички писма от HTML до чист текст, всичко е ок и сте в безопасност, независимо кой е клиента ви. Аутлук 2010 SP1 от известно време има предимство, че отказва връзка по сървъри с ниско ниво на защита – разбирайте отказва връзака с всеки сървър който има сертификат по-малък от RSA 1024/AES 128 с което решава много проблеми, които иначе съществуват, при слабо защитени сърври.
 
Част 7
Допълнително ниво на защита. Тук идват функциите на интернет експлорер, и другите приложения на микрософт, които са взаимно обвързани. Ще дам пример с няколко приложения, за да илюстрирам, какво имам предвид. Защитата на интернет експлорер е разделена на 4 основни групи.
Internet
Local Intranet – тази група е по-важна и по интересна от колкото повечето хора предполагат
Trusted sited
Restricted sites
 
Друго интересен и малко известен факт е че с въвежданетона груипите експлоатация, те действат не само върху интернет експлорер, а и върху всичко което използва интернет експлорер за да си свърши работата. Общо взето зада илюстрирам примера ще спомена аутлук и уиндоус медиа плейър, като типични представители. Когато Аутлук 2007 или по-нов, получи писмо, той следи от кой домейн го получава, и следи в коя група се намира домейна. Ако Домейна се намира в някоя група, писмото бива третирано според правилата дефинирани в групата, а ако не е в нико група, писмото бива третирано по подразбиране в групата Restricted Sites. Освен това, от версия 2003, насам, аутлук, сам килва всеки изпълним атачмънт, без и да ти казва без и да ти обяснява. За мултимедиините си възможности, аутлук използва уиндс медиа плейър, но уиндоус медиа плейър също използва групите политиките на интернет експлорер, за установяване на източника, и с какви правила да бъде третиран, така че при уеб съдържание, също важи правилото за групите, в коя група попада и къде да ходи ако не е окрит домейна групите.
 
Докато това са правила, за програми, използващи интернет експлорер, то самият експлорер, реагира различно на ставащото, той за себе си третира групит по-различно. Защо има тези разлики? Разликите в третирането на нещата, с аутлук и уидоус медия плейър, идват от самите уиндоус медиа плейър и аутлук, защото офис във версия 2010, и Windows Media player 12, по подрабиране, от микрософт им е указано, щом не ти е познато, го третирай според раздела Restricted sites. Това кара експлорер, да третира техните непознати според правилата в раздела Restricted sites а не според раздела интернет.
 
В група интернет слага всичко което не е дефинирано, но идва от интернет, и го третира според тези правила, всичко което идва по локалната мрежа се слага и дефинира и третира в групата Local Intranet и според правилата на групата. Дефинирайки правилата в тази група, дефакто определяте не само поведението на интернет експлорер в нея а и поведението на всички програми които ползват интернет експлорер, и ресурсите им попадат в съответната група, и на самият уиндоус, защото уиндоус също ползва интернет експорер за целта. Съответно как уиндоус, офис, аутлук, уиндоус медиа плейър ще реагират на ставащото в локалната мрежа зависи и от настройките на тази група. Как всички ще реагират на ставащото в интернет, ще е според правилата, дефинирани в група интернет.
 
Ново и интересно нещо в интернет експлорер 9, и се очаква да се засили в интернет експлорер 10, е въвеждането на Protected mode – пясъчен сандък. Това е интересно решение от страна на микрософт, и в интерес на истината макар да не е най-силния пясъчен сандък на земята, пак дава достатъчно добър ресурс, за защита на системата, под една или друа форма. В експлорер 10, тази функция ще се засили. Тук интересното е че функцията сама, постига прилични резултати, но тук и трябва помощ от хардуера. Ако тази функция се реализира върху процесор и чипсет с хардурна поддръжка на
 
virtualization (VT-x)?
Virtualization Technology for Directed I/O (VT-d)
 
Процесора и чипсета значително вкоравяват този Protected mode на интернет експлорер 9, правейки така че по-трудно да бъде пробит и по-трудно нещо да излезне от него. Тук няма особено значение интел или АМД процесор, важното е да ги има. Разбира се процесор и чипсет които поддържат и двете технологии, ще се справят по-добре от колкото процесор само с витуализация и чипсет без нищо, но това е по-скоро до клас хардуер. Високия клас процесори и чипсети, са стабилни а евтините – не разчитайте на тях за нещо сериозно. Офис 2010, също има подобна технология protected view която позволява да се преглеждат съмнителни документи, без скриптове и без макроси в защитена среда, и ако решите че искате да ги позволите, чак тогава може да ги пуснете в пълният Word.
 
Други защитни мерки, в Windows 7 са системни защити на паметта, тъкмо 3 броя за героя. Вградените защити на паметта са:
DEP – Data Execution Protection
ASLR – Address Space layout Randomizaton
SEHOP – Structured Exception Handler Overwrite Protection
 
Които заедно работят много добре. Проблемът е че по подразбиране са поставено на ниво Opt-in което значи че не пазят освен ако някой специално не поиска това. Засилете ги на always on използвайки инструмента ЕМЕТ. Чак след като ги засилите на Always On, ще получите ниво на защита на което ще можете да вярвате. Проблемът е че не всичкият хардуер може да работи с подобно засилване. например драйверите за видеокарти АМД/АТИ, забиват при ниво на сила Opt-out или always on на ASLR, така че с промяна нан хардуера, например видеокарти на интел или на NVidia ще можете да работите, със всички системни защити, едновременно засилени на максималните си степени безпроблемно, рачитайки на добро ниво на защита. Препоръчва се да следите на какъв хардуер ще работите, и да работите на хардуера го позволява. Малко за защитите преди да продължим:
 
DEP – Data Execution Prevention
Това е защитна технология която се състои от 2 части, хардуерна и софтуера. Хардуерната част, се осигурява от процесора, а софтуерната от операционната система. Софтуерният DEP контролиран от ЕМЕТ налага тези правила, върху stack и heap на Опрерационната система и работещите програми. Идеята е да се предотврати изпълнението на код, от stack и Heap и така да се пресече второто най-голямо семейство атаки върху уиндоус – Buffer Overrun/Buffer Overflow. Тове ни во на DEP дава базова функционалност, и не може да му се вярва на 100%. Хардуерният DEP контролиран от процесора е много по-силен, защото всечко става на ниво процесор и инструкция която процесора трябва да изпълнява. Това е много по-силна форма на защита и определено придава сила и тежест на DEP до ниво до което да ен можете просто да пренебрегнете DEP а да трябва да се съобразите, защоот държейки системния приоритет, роцесора чупи всичко което не му харесва, независимо кой модул на ОС е този който сее провинил. Принципа на работа е прост, по подразиране, ако няма друга инструкция, цялата памет се маркира на ниско физическо ниво като неизпълнима, и ако нещо тръгне да се стартира от там, процесора, сам спира изпълнението и подава system exception че има DEP violation грешка 0xc0000005. когато двете нива на DEP работят на пълна сила - софтуерното и хардуерното, хардуера полага основата, ОС в нея налага правилата си. Това е максималната сила на DEP практически има реалната сила да изкорени изцяло второто най-голямо семейство от атаки срещу уиндоус - Buffer Overrun/Buffer Overflow.
 
SEHOP – Structured Exception Handler Overwrite Protection
Това е доста интересна защита на паметта. Като механизъм за повишаване на стабилността на ОС в Windows vista/7/8/2008/2008R2/2012 е представех механизъм който се нарича SEH – Structured Exception Handler чиято роля е ако нещо стане, не просто приложението да бъде спряно, а даму бъде обърнато внимание какво е излезнало от строя, и може ли да се оправи, и приложението да проължи да работи. Не след дълго, се откри че с този механизъм може да се злоупотребява, и нарочно да се причиняват блокирания на приложения, за да може да се търси, достъп до веригата с handlers и определен handler се презаписва с код от хакера. Така системата сама изпълнява кода на хакера. Този тип защита се с състои в това да провери дали цялата защита от handler-и е манипулирана, и ако е манипулирана, елиминира манипулираната верига, и спира приложението. След това се създава нова чиста, верига, от Handler-и и работата на компютъра продължава нормално, ефективно неутрализирайки атаката.
 
ASLR - Address Space Layout Randomization
Тази техника, разбърква stack I heap на операционната система, и на програмите, за да може всички модулии данни с които се работи, да са постоянно разбъркани, на произволни места за всеки компютър, и несамо това, а и между 2 зареждания на ОС. Това значи, че всеки път катостартирате, всичко е на различно място. Това затруднява хакерите, до много голяма степен, защото за всеки компютър ще трябва да търсят и да гадаят, и да се чудят кое къде е, да го търсят отново. Това е също много добро препядствие, и срещу разни червеи, които използват техники, за предвиждане на адреса на който ще е дупката която се търси.
Напрактика, обаче, тук имаме голямо влияние на хардуера, и определен хардуер позволява, да се достигне пълна сила, и действително да се изкорени изцяло второто най-голямо семейство от атаки спещу Windows – Buffer Overrun/Buffer Overflow. За пълното изкореняване на Buffer Overrun/Buffer Overflow, е нужно да се изпълнят 4 условия:
 
1 Хардуерен DEP на процесора да е ЗАДЪЛЖИТЕЛНО АКТИВИРАН
 
2 ASLR да е задължително активиран на ниво Always On
 
3. 64 битов Windows 7 Professional или по-висш….
 
4 DEP от операционната система да е задължително активиран на ниво Always on.
 
Което въвежда известни ограничения, в хардуера използван. Всеки компютър който има 64 битов процесор с хардуерен DEP (тук няма никакво значение амд или интел, важното е да го има), и който няма видеокарта на АМД/АТИ, може да постигне този резулат. Проблемът при видеокартите на АМД/АТИ е липстата на съвместимост на драйверите с ASLR и при буутване, компютъра забива със син екран. Това го няма като дефект, при драйверите завидеокарти на НВидия и на интел. При тях както и да го засилите, работи, просто работи. Друго предимство на 64 битовия Windows 7 е че поддръжката на DEP е задължителна за 64 битови приложеиня, и че самият модел на работа на windows 7 64 bit е така направен че самият 64 бит, носи информация дали това което се намира в този пакет е изпълнимо ли не.
 
Какво излиза до тук? Излиза че може да се постигне, но се иска да се бръкне по-дълбоко в системата и в джоба.
 
Говорейки за системни защити на паметта, трябва да спомена, че тези системни защити на паметта, също така не са съвместими с всичкия anti-malware софтуер, сериозните производители отдавна са си решили проблема а несериозните се ослушват като гърмяни патки, и скоро действително се станат такива, ако не са станали вече. Друг белег по който ще познаете един зрял Antimalware и един зрял Firewall независимо дали са Windows Firewall или друг, или Microsoft security essentials или друг, е способността му да работи, при пълна сила на SEHOP, DEP, ASLR. Това не само показва че производителя на софтуера е сериозен и че това е зрял софтуер, но и всъщност, има още един положителен ефект, самият защитен софтуер бива защитаван и вкоравяван от тези системни зещити, което го прави по-труден за експлойтване и по-устойчив на саботиране. А това в наши дни не е малко предимство.
 
Инсталирането на ЕМЕТ – Enhanced Mitigation expirience toolkit, помага и то доста. От една страна, ЕМЕТ е нещо като GUI - Front-end който позволява да настройвате системните защити на ОС, които действат на глобално ниво, от друга страна позволяма на системата за сигурност, да обърне повече внимание на избрани приложения, които са критично важни, и да ги подсили и вкорави значително. Разбира се това няма да направи компютъра непробиваем, или приложенията на които се обръща специално внимание непробиваеми, но ще ги вкорави значително. И то с натрупване. Веднъж това с което е вкоравило самата ОС, и върху него се натрупва, това което е вкоравено като приложение. Резултатът може да е изненадващ.
 
Част 8
Актуализация на ОС и програмите. Актуализациите са важна част от изграждането на защитена система. Нови пробиви постоянно се откриват и се къпят. Актуализирането на ОС, позволява на тези кръпки да закърпят пробивите, елиминирайки проблема от източника. Често пъти акотуализирането на интернет експлорер, дори да не го ползвате в качеството м на браузер, е достатъчно да реши сума ти проблеми, други проблеми, защото дори вие да не го ползвате, други приложения го ползват. Така че актуализирайте си го, ищо че не го ползвате, ама поне да си знаете че файловете са актуализирани и проблемте са изчистени.
 
Част 9
GPEDIT.MSC – Играчката на големите играчи. Ясно е че тия лаптопчета за по 10 лв от техномаркет, технополис, които идват с предварително инсталиран уиндоус 7, starter, home, home basic, home premium и другите подобни, на тях ен може да се постигне високо ниво назащите, ОС нито е инсталирана на сериозен хардуер, нито самата ОС е сериозна версия, при тях няма предпоставка за постигане на висок резултат. Това евтни боклуци, само за забавление, това са лаптопи играчки и ОС играчки. Напълно са равностойни, на евтините китайски играчки от магазина за един лев. Ако искате нещо сериозно като резултат, това не е вашият избор.
 
За останалите които сте избрали високо ниво ОС, и хардуер от високо ниво, има една прекрасна благинка, която се казва Group Policy Editor. Има 2 начина да с стартира, единия е в полето Run с команда GPEDIT.MSC, другия начин е от контрол панел, administrative tools и като отворите Administrative tools търсите да видите къде е group policy editor. Те това е благината, и това е играчката на истинският hardcore администратор. От там, имате пълен и абсолютен контрол, над всичко което може дасе асоциира с един акаунт, като права за достъп, забрани за достъп, достъп до функции и възможности на ОС, както за век акаунт, така и за всяга група потрбители които създадете. Една красота е че можете да си създадете които групи ви трябват, да си разпределите правата на групите, така че да няма достъп, и просто да пляснете някой акаунт в групата и той автоматично приема правата и зараните на групата. Ако преместите акаунта от една група в друга, старите групови правила отпадат, и акаунта приема новите автоматично без да правите нищо по въпроса. И още една красота. Всеки акаунт има възможност да му се назначат индивидуални права и забрани, които са независими от групата в която е член и тези негови права и забрани го следват навсякъде, през групите, или ако е самостоятелен акаунт. Така че тук финия контрол е супер лесен. Основният набор права и забрани за достъп се указват в групата и акаунта се мести в групата, в която би трябвало да бъде, и така акаунта приема основнтите правила, а фините правила, които правмят нещата изпипани точно за този акаунт, се правят индивуално за акаунта. Искате ли още добри новини? Същият този контрол може да се прехвърли и върху файловете и приложенията, които да са достъпни за даден потребител или група от потребители, и ОС сама да изгради връзки и зависимости между потребители и права и забрани и приложения. Истината е, ако сте отговорен администратор, който не го мързи да се развихри из настройките на ОС, спокойно можете да стегнете секюритито на уин 7, да е равностойно на някоя стабилна линукс дистрибуция.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.