Новини Технологии и концепции
бр. 6, 2007

4 подхода към защитата на операционните системи

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

от Антония Дойчева, 13 юни 2007 3 3499 прочитания,
Страница 1 от 3

Защо DVD и MP3-плейърите, мобилните телефони и други устройства с вграден софтуер са напълно надеждни и добре защитени, а компютрите не? Това е един неудобен въпрос за компютърната индустрия. Отговорите варират от – „това са гъвкави системи, потребителите имат право да избират, софтуера който да инсталират”, до „информационните технологии са все още млада индустрия”. За потребителите обаче, по-важно е не да получат обяснение, а компютър, който да включат и да ползват години на ред без проблеми, така както ползват своя телевизор и други устройства. Операционната система е има ключово значение от гледна точка на защитата и надеждността. Въпреки че в софтуерните приложения има не малко дефекти, ако операционната система е безгрешна, некоректността на програмите, изпълнявани под нейното управление не би имала толкова голямо значение. Ето защо в тази статия се спираме именно на операционните системи. Преди това обаче ще направим едно терминологично уточнение – какво имаме предвид, когато говорим за надеждност и за защитеност. Например грешка, водеща до препълване на буфера може да предизвика срив в системата – това е проблем свързан с надеждността. Но същата грешка може да дава възможност на хитроумно написан вирус да проникне в компютъра – това вече е проблем свързан със защитеността. Тук се спираме предимно на надеждността, като е очевидно, че нейното подобряване води до подобряване и на защитеността. Защо системите не са надеждни? Съвременните ОС имат 2 особености, които се отразяват отрицателно на тяхната надеждност и защитеност. Първо те са с огромни размери, второ – в тях не са взети достатъчно мерки за изолиране на грешките. Ядрото на Linux има над 2,5 млн. реда код, а на Windows XP – поне 2 пъти повече. В същото време, проучване сочи, че програмите съдържат от 6 до 16 грешки на всеки 1000 реда от изпълнявания код. Друго изследване пък констатира, че грешките на 1000 реда са между 2 и 75, в зависимост от големината на модула. Даже ако приемем долните граници на тези оценки, пак ще се окаже, че броят на грешките в съвременните ОС е огромен. А ситуацията е още по-тревожна, защото около 70% от операционната система представлява драйвери за устройства, при които грешките са 3 до 7 пъти повече, отколкото в друг програмен код. И така, ясно е, че да се намерят и отстранят толкова много грешки не е възможно, да не говорим, че при поправката на една грешка, често се допускат други. Огромният размер на съвременните ОС води и до друг проблем – никой не може да ги изучи в пълни детайли. Много трудно е, но не е невъзможно да се създаде перфектна система, която никой не познава напълно. Необходимо е обаче да се осигури изолация на грешките. Например, едва ли някой познава всички технологии, с които е оборудван едни самолетоносач, но повреда в кухнята му, няма да се отрази на подсистемите за изстрелване на ракети. Операционните системи не разполагат с такава изолация между своите компоненти. Те съдържат стотици процедури, обединени в една програма, работеща като ядро. Ако вирус се добере до една процедура от ядрото, неговото разпространение по всички други процедури не може да бъде спряно. Да се върнем отново на аналогията с кораба-самолетоносач. Неговият корпус е разделен на множество отделения. Ако в едно от тях възникне теч, само то ще бъде наводнено, а не целия трюм. Докато за да бъде „потопена” операционната система е достатъчна една пробойна. За щастие ситуацията не е чак толкова безперспективна. Разработчиците вземат мерки, за създаването на надеждни ОС. Открояват се поне 4 подхода към решаването на тази задача. Тук ще се спрем накратко на тях. Укрепени операционни системи Най-консервативния подход, Nooks [4], е разработен с цел да повиши надеждността на съществуващите ОС – Windows, Linux и др. Технологията поддържа монолитна структура на ядрото, в която стотици или хиляди процедури са обединени в едно адресно пространство и работят като ядро. Подходът се фокусира върху задачата да направи драйверите за устройства (основната причина за проблеми) по-малко опасни. Както се вижда на фиг.
1 23
Реклама

КОМЕНТАРИ ОТ  

КОМЕНТАРИ

 
task_struct
  
12:22, 13 юни 2007 # 1
NO AVATAR
"компютър, който да включат и да ползват години на ред без проблеми" - Linux
 
Анонимен
  
11:32, 29 септември 2008 # 2
NO AVATAR
ko staa manqci
 
az
  
11:35, 29 септември 2008 # 3
NO AVATAR
tashak
Трябва да сте регистриран потребител, за да коментирате статията
"4 подхода към защитата на операционните системи"



    

Полезни страници
    © Ай Си Ти Медиа ЕООД 1997 - 2013 | Реклама | За нас |
    Действителни собственици на настоящото издание са Иво Георгиев Прокопиев и Теодор Иванов Захов