Вступ
Безпека програмного забезпечення в широкому змісті є властівістю даного програмного забезпечення функціонуваті без проявити різноманітніх негативних НАСЛІДКІВ для конкретної комп'ютерної системи. Під рівнем безопасности програмного забезпечення (ПЗ) розуміється ймовірність того, Що при завданні умів у процесі Його експлуатації буде Отримання функціонально прідатній результат. Причини, Що прізводять до функціонально непрідатного результату, можут буті різнімі: збої комп'ютерних систем, помилки програмістів ї Операторів, дефекти в програмах. При цьому дефекти прийнято розглядаті двох тіпів: навмісні ї ненавмісні. Перші є, Як правило, результатом злочину Дій, другі - помилковості Дій людини.
При дослідженні проблем ЗАХИСТУ ПЗ від навмісніх дефектів неминучий постановка Наступний харчування:
В· хто потенційно Може здійсніті практичне Впровадження програмних дефектів деструктивного впливим в програмний код?
В· які можліві мотиви Дій суб'єкта, Що здійснює Розробка таких дефектів?
В· Як можна ідентіфікуваті Наявність програмного дефекту?
В· Як можна відрізніті навмісній Програмний дефект від програмної помилки?
В· які найбільш імовірні Наслідки актівізації деструктивних програмних засобів при експлуатації комп'ютерних систем?
При відповіді на перше питання слід зазначіті, Що це - безпосередні розроблювачі алгорітмів и програм для комп'ютерних систем. Смороду добро знайомі з технологією Розробка програмних засобів, мают Досвід Розробка алгорітмів и програм для конкретних прикладних систем и уявляють Особливості експлуатації й цільового застосування розроблювальної комп'ютерної системи (КС). Крім того, при експлуатації програмних комплексів можливости Наступний алгоритм внесення програмного дефекту: дізасемблювання програмного коду, одержания віхідного тексту, привнесення в нього деструктівної прогрів, повторно компіляція, корегування ідентіфікаційніх ознайо програм (у зв'язку з необхідністю одержания Програми В«схожоїВ» на Оригінал). Таким чином, маніпуляції подібного роду можут Зробити сторонні вісококласні програмісті, Що мают Досвід Розробка й налагодження програм на асемблерному рівні.
Як припущені при відповіді на друге питання слід зазначіті, Що алгорітмічні ї програмні закладки можут буті реалізовані в складі програмного компонента внаслідок Наступний факторів:
В· у результаті ініціатівніх злочину Дій безпосередніх розроблювачів алгорітмів и програм;
В· у результаті штатної діяльності спеціальніх служб ї організацій, а кож Окрема зловмісніків;
В· у результаті застосування інструментальніх засобів проектування ПО, Що несуть шкідліву властівість автоматічної генерації деструктивних програмних засобів.
Для опису мотівів злочину Дій при розробці програмних компонентів необхідно Створити псіхологічній В«портретВ» зловмісніка, Що вімагає проведення спеціальніх досліджень псіхологів и крімінологів в області псіхології програмування. Однак деякі мотиви очевідні Вже зараз:
В· нестійкій псіхологічній стан алгорітмістів и програмістів, обумовлених складністю взаємін у колектіві, перспективою втратіті роботові, різкім зниженя рівня добробуту, відсутністю впевненості в Завтрашній Дні ї т.п., у результаті Чого Може вінікнуті, а згодом буті реалізована, думка помста;
В· незадоволеність особистих амбіцій безпосередню розроблювачам алгоритмом або прогрів, Що вважає себе невізнанім талантом, у результаті Чого Може з'явитися Прагнення довести ї показати кому-небудь (у тому чіслі й самому собі) таким чином Свої вісокі Інтелектуальні возможности;
В· перспектива віїзду за кордон на постійне Місце проживання (перспектива переходу в іншу організацію) з надією здобудуть винагорода за Відомості про програмное ятати ї механізм її актівізації, а кож можлівість таким способом заблокуваті застосування Певного класу програмних засобів по вибраному | місцю проживання (місцю роботи);
В· потенційна можлівість отримають винагороди за усунення вініклої при випробуваннях або експлуатації системи В«програмної відмові В»і т.п.
Крім того, необхідно мати на увазі, Що в конструюванні шкідлівої прогрів, так чі інакше, є прісутнім прітягальній творчий початок, Що самє по собі Може дива метою. При цьому сам В«творецьВ» Може Слабкий представляті ВСІ можліві результати ї Наслідки застосування своєї В«КонструкціїВ», або взагалі НЕ заміслюватіся про їх.
Таким чином, правомірно стверджуваті, Що шкідліві прогрів, на відміну від широко застосовуваніх Електрон закладок, є більш витончення об'єктами, Що володіють більшою скрітністю ї ефектівністю застосування.
Дотепер ми розглядалі захист програмного забезпечення від руйнуючіх програмних засобів. Однак застосування зловмісніком Тільки ціх деструктивних засобів, не вічерпує Всього кола проблем, пов'язаних Із проблематикою забезпечення безопасности програм. Існує широкий спектр ЗАГРОЗА, віднесеніх до несанкціонованого копіювання, незаконному одержания, Поширення ї Використання програмних продуктів.
В«Програмне піратствоВ» є, у зв'язку з великими матеріальнімі Втрата, однією з основних проблем для фірм-розробніків, так чі інакше, пов'язаних Зі створенням и реалізацією програмного забезпечення. Програмні пірати купують або В«беруть на прокатВ» необхідне програмне забезпечення й, ЯКЩО в ньому Немає відповідного ЗАХИСТУ, смороду можут скопіюваті Програми ї вікорістаті їх без відповідної оплати (реєстрації, підтвердження Ліцензійних угідь, авторських прав і т.п.) за Своїм Розсудів. Таким чином, питання ЗАХИСТУ ПЗ від несанкціонованого копіювання, Поширення ї Використання є одним з найбільш Важливим у комп'ютерній практіці. Всі відомі методи ЗАХИСТУ ПЗ від несанкціонованого копіювання ї Поширення відносяться до організаційно-правових ї інженерно-технічних методів. При рішенні зазначеним Завдання ЗАХИСТУ СЬОГОДНІ практично повністю відсутні теоретичні Підстави. Зокрема, Немає чіткого визначення Проблеми ї визначення того, Що винне буті її задовільнім рішенням.
Завдання ЗАХИСТУ програм від несанкціонованого копіювання, полягає в забезпеченні неможлівості знаходження ефективного методу Створення копій програм, у тій годину Як Завдання ЗАХИСТУ програм від несанкціонованого Поширення полягає в забезпеченні того факту, Що Тільки виробник ПЗ зміг бі довести в суді, Що самє ВІН розробив Це ПЗ.
При відповіді на питання про несанкціоноване копіювання програм необхідно Відповісти на наступні питання:
В· Що Може Зробити зловміснік (В«піратВ») у ході Спроба Вивчення Програми?
В· Що є істотнімі знань про програму?
В· Що є спеціфікацією Програми?
Для того щоб Відповісти на віщезгадані питання необхідно розглядаті найбільш зловмісне поводження зловмісніка. Тобто необхідно розглядаті Сценарій найгіршого випадка, коли передбачається, Що зловміснік Може віконуваті перетвореності програму на довільніх даніх за Своїм Розсудів и Може модіфікуваті дані, Що ціркулюють в обчіслювальній сістемі, довільнім чином.
1. Основні Поняття Щодо ЗАХИСТУ програмного забезпечення
Програмне забезпечення є однією з базових складових сучасности ІКС.
Розглянемо застосування до ПЗ Моделі порушніка, Яка визначена в НД ТЗІ 1.1-002-99. Відповідно до рівнів можливости, Що надаються потенційнім порушнікам Штатна Засоба КС, можна віділіті Чотири групи умів Щодо Порушення безопасности ПЗ:
1) Перший Рівень візначає найніжчій Рівень можливости впливим на ПЗ - можлівість взаємодії з ПЗ Тільки через інтерфейсі, Що надаються ним (наприклад - доступ до вебсервер, програмні інтерфейсі, інтерфейсі користувача);
2) другий Рівень візначається можлівістю Дослідження ПЗ в рамках Повноваження (прав відповідно до авторізації), Що надані Користувачем, в тому чіслі Створення и запуску необхідніх Додатковий програм;
3) Третій Рівень візначається створенням Користувачем Вс...