Безпечне кодування (програмування) — методика розробки програмного забезпечення, що запобігає випадковому впровадженню вразливостей і забезпечує стійкість до впливу шкідливих програм і несанкціонованого доступу. Баги і логічні помилки є основною причиною появи вразливостей програмного забезпечення.
Безпечне програмне забезпечення — програмне забезпечення, розроблене з використанням сукупності заходів, спрямованих на запобігання появи і усунення вразливостей програми.
Завдання безпечного програмування — захист даних користувача від крадіжки і псування, збереження контролю над системою. Небезпечна програма — потенційна мета для зловмисника, який може використовувати наявні уразливості для перегляду, зміни або видалення наявної інформації, впливу на роботу програм і сервісів (запуск або зупинка), впровадження шкідливого коду в систему.
Термінологія
В англомовній літературі існує два терміни, які можуть бути переведені, як безпечне програмування.:
Defensive programming (Оборонне, захисне, безпечне програмування) — принцип розробки ПЗ, при якому розробники намагаються врахувати всі можливі помилки і збої, максимально ізолювати їх і при можливості відновити працездатність програми в разі неполадок. Це повинно робити програмне забезпечення більш стабільним і менш уразливим. Наприклад, апаратною реалізацією даного принципу є сторожовий таймер, обчислення контрольної суми — для виявлення помилок при пакетній передачі даних.
Secure coding (Безпечне програмування/кодування) — методика написання програм, стійких до атак з боку шкідливих програм і зловмисників. Безпечне програмування допомагає захистити дані користувача від крадіжки або псування. Крім того, небезпечна програма може надати зловмисникові доступ до управління сервером або комп'ютером користувача; наслідки можуть бути різні: від відмови в обслуговуванні одному користувачеві до компрометації секретної інформації, втрати обслуговування або пошкодження систем тисяч користувачів.
Важливість
Питання забезпечення безпеки і працездатності системи є невід'ємною частиною етапу її проектування (дизайну системи). Вимоги до безпеки конкретних продуктів і систем ІТ встановлюються виходячи з наявних і прогнозованих загроз безпеки, проведеної політики безпеки, а також з урахуванням умов їх застосування. Впровадження рішень для забезпечення безпеки після того, як система вже розроблена, є складною і дорогою процедурою. Тому слід з самого початку враховувати вимоги до безпеки протягом всього життєвого циклу системи.
Інформаційна система поділяється на фізичний і логічний рівень. Розуміння того, що саме має бути захищене від зовнішніх чинників, допомагає з найбільш ефективним вибором і застосуванням захисних заходів. Чітка межа між рівнями повинна визначатися політикою безпеки, яка регулює певний набір інформації та інформаційних технологій, що має фізичні кордони. Подальше ускладнення полягає в тому, що на одному комп'ютері або сервері може розміщуватися як загальнодоступна, так і конфіденційна інформація. В результаті кілька політик безпеки можуть застосовуватися до однієї машини або в межах однієї системи. Тому при розробці інформаційної системи кордону безпеки повинні враховуватися і описуватися у відповідній документації і політиках безпеки системи. Її розробники повинні вміти забезпечити безпеку системи при проектуванні, розробці, управлінні і конфігурації, інтеграції, правильно провести тестування.
Аналіз (ручний або автоматичний) і забезпечення безпеки — дорога процедура, яка збільшує загальну вартість програмного продукту. Раніше повне усунення ризиків було спільною метою забезпечення безпеки. Сьогодні визнається, що усунення всіх ризиків не є економічно ефективним. Для будь-якої запропонованої системи контролю слід провести аналіз витрат і вигод. У деяких випадках переваги більш безпечної системи можуть не виправдовувати прямих і непрямих витрат. Вигоди включають не тільки запобігання грошових втрат; варто враховувати, наприклад, і репутаційні втрати. Прямі витрати включають витрати на придбання та установку даної технології; непрямі витрати включають зниження продуктивності системи і додаткове навчання співробітників.
Принципи
В даний час існують різноманітні технології розробки безпечного програмного забезпечення. Але є набір принципів, що враховуються при будь-якому підході:
- безпека (англ. security) — можливість захисту від зовнішніх загроз, атак і збереження працездатності після їх виявленняі усунення;
- надійність (англ. reliability) — передбачувана, коректна і безвідмовна роботу в разі некоректних вихідних даних;
- конфіденційність (англ. privacy) — забезпечення безпечної та коректної роботи з конфіденційною інформацією;
- забезпечення цілісності і коректності бізнесу (англ. business integrity) — чітка організація супроводу програми, контроль прозорості, законності, правильності роботи користувача.
Чотири останніх якості стали основою Trustworthy computing (TwC) (англ. Trustworthy computing) («Обчислення, які заслуговують на довіру») — ініціативи корпорації Microsoft, головне завдання якої — звернути увагу розробників на важливість забезпечення зазначених вимог на кожному з етапів розробки ПЗ.
Існує безліч принципів забезпечення безпеки ПО, здебільшого схожих один на одного. Їх узагальненням можна вважати наведені вище принципи.
Класифікація та види вразливостей
Класифікатори
Використання стандартизованих описів вразливостей спрощує роботу фахівців з інформаційної безпеки. В даний час існує декілька популярних класифікаторів:
- CVE (Common Vulnerabilities and Exposures) — словник конкретних вразливостей конкретних продуктів;
- CWE (Common Weakness Enumeration) — база даних типів вразливостей. Основне завдання проекту — надати опису поширених видів вразливостей, способи їх запобігання, виявлення та виправлення;
- SecurityFocus BID;
- OSVDB ([en]) — «відкрита база даних вразливостей», створена трьома некомерційними організаціями. Припинила роботу 5 квітня 2016 року. Блог продовжує працювати;
- Secunia — стрічка вразливостей відомої данської компанії Secunia в області комп'ютерної та мережевої безпеки;
- IBM ISS X-Force.
Сучасні аналізатори коду і автоматизовані аудитори можуть використовувати подібні бази вразливостей. Це підвищує рівень довіри до продукту, а також може виявитися важливим при складанні звітів про уразливість, наявних в програмному продукті.
Зустрічаються й інші класифікатори. При роботі з ними слід звертати увагу на авторів, так як кожна система класифікації повинна створюватися експертами в цій галузі.
Метрики
Кожна програма є потенційною метою для зловмисників. Після знаходження вразливостей в додатках або сервісах вони будуть намагатися використовувати їх для крадіжки конфіденційної інформації, псування даних, управління комп'ютерними системами і мережами. Для опису властивостей уразливості фахівцями використовується система підрахунку ризиків вразливостей CVSS. Вона являє собою шкали, на основі яких виставляються бали. Система метрик розроблена для поділу пріоритетів над виправленням вразливостей. Кожна шкала відноситься до певного змістового розділу, який називається метрикою. Таких метрик три:
- Базова (англ. Base) — характеристики уразливості, які не залежать від часу і середовища виконання. Служить для опису складності експлуатації уразливості, потенційного збитку для конфіденційності, цілісності та доступності інформації;
- Тимчасова (англ. Temporal) — метрика, що враховує часовий чинник, наприклад, час на виправлення уразливості;
- Контекстна (англ. Environmental) — метрика, що враховує інформацію про середовище функціонування програмного забезпечення.
Останні дві метрики носять допоміжний характер і використовуються лише для коригування показників базової метрики з урахуванням різних специфік.
Види вразливостей
Список поширених помилок, що ставлять під загрозу безпеку сучасних програм:
- SQL ін'єкція (англ. SQL injection);
- уразливості, пов'язані з web-серверами (XSS, XSRF, розщеплення HTTP запиту (англ. HTTP response splitting));
- уразливості web-клієнтів (DOM XSS);
- переповнення буфера (англ. Buffer Overflow);
- дефекти форматних рядків (англ. Uncontrolled format string);
- арифметичне переповнення (англ. Integer overflow);
- некоректна обробка винятків і помилок;
- впровадження команд (командна ін'єкція, англ. Command injection);
- витік інформації (англ. Information Exposure);
- стан гонитви (англ. Race condition);
- слабке юзабіліті (англ. Insufficient Psychological Acceptability);
- виконання коду з завищеними привілеями (англ. Execution with Unnecessary Privileges);
- зберігання незахищених даних (англ. Protection Mechanism Failure);
- проблеми мобільного коду (англ. Mobile Code Issues);
- слабкі паролі;
- слабкі випадкові числа;
- невдалий вибір криптографічних алгоритмів;
- використання небезпечних криптографічних рішень;
- незахищений мережевий трафік (англ. Cleartext Transmission of Sensitive Information);
- довіра до механізму вирішення мережевих імен (англ. Reliance on Reverse DNS Resolution).
Перелічити всі відомі уразливості неможливо, враховуючи, що кожен день з'являються нові. В даному списку наведені проблеми, які часто зустрічаються, допустити які легко, але наслідки яких можуть бути катастрофічними. Наприклад, причиною поширення хробака Blaster стала помилка всього в двох рядках коду.
Захист
Правильною стратегією захисту від помилок і вразливостей є їх попередження та запобігання. Це вимагає від розробника постійної перевірки вхідних даних. Наприклад, найкращий спосіб захисту від атак переповнення буфера — перевірка того, чи вхідні дані не перевищують розміру буфера, в якому вони зберігаються. Дані, призначені для відправки в БД вимагають перевірки для захисту від атаки типу впровадження SQL-коду. Якщо дані відправляються на web-сторінку, то слід їх перевіряти для захисту від XSS. Однак, надмірне число перевірок ускладнює розробку вихідного коду програми і може привести, в свою чергу, до появи нових помилок, тому слід комбінувати цю стратегію з іншими.
Механізми для захисту від помилок може надавати компілятор або операційна система. Компілятор GCC дозволяє за допомогою функції _builtin_object_size () отримувати розмір об'єкта за вказівником на цей об'єкт, так що її використання робить процедуру копіювання безпечніше. при використанні прапора / RTCs дозволяє на етапі компіляції перевірити переповнення локальних змінних, використання неініціалізованих змінних, пошкодження покажчика стека, викликане невідповідністю угод про виклики. Використання технології CRED (C range error detector) і спеціальних вставок перед розділом стека, який захищається (StackGuard, SSP) частково дозволяє виявляти і запобігати атакам, пов'язаних з виходом за межі масиву і руйнуванням стека.
Операційна система також може контролювати процес виконання програми. Дана стратегія може бути корисною у разі, якщо вихідний код цієї програми невідомий. Технологія ASLR (рандомізація схеми адресного простору) є функцією безпеки операційних систем, призначеної для запобігання змоги виконувати довільний код. В даний час ASLR підтримується і в Linux, і в Windows. Підвищення рівня безпеки досягається застосуванням технологій нездійсненних стеків: W ^ X, PaX.
Типовими атаками на web-сервіси є впровадження SQL-коду, XSS, CSRF, clickjacking. Сучасні фреймворки допомагають розробникам у створенні безпечних web-додатків. Використання готових рішень дозволяє не займатися численними перевірками вхідних даних: від заголовків HTTP-запитів до їх змісту. Також надається більш безпечний метод роботи з БД — ORM.
Збитки
Інформація про уразливість може бути використана зловмисниками при написанні вірусів. Наприклад, один з найперших відомих мережевих черв'яків (вірус Моріса) в 1988 році використовував такі уразливості як переповнення буфера в Unix-демоні finger для поширення між машинами. Тоді кількість заражених машин склало близько 6 тисяч, а економічний збиток за даними рахункової палати США склав від 10 до 100 млн доларів.
З 2016 комп'ютерні віруси завдали світовій економіці збитків в 450 млрд доларів.
У 2017 збиток від вірусу WannaCry оцінили в 1 млрд доларів. Випадки зараження були зафіксовані щонайменше в 150 країнах. Вірус застосовував експлойт EternalBlue, що використовує уразливість в протоколі SMB, пов'язану з переповненням буфера.
У 2017 році відбулась масштабна хакерська атака з боку Росії проти України та ще 59 країн. Причиною стала компрометація системи оновлення програми M.E.Doc з встановленням бекдору та вірусу NotPetya. Збитки підприємств по всьому світу склали 8 млрд доларів.
Примітки
- . webportalsrv.gost.ru. Архів оригіналу за 22 жовтня 2017. Процитовано 9 квітня 2018.
- . developer.apple.com (англ.). Архів оригіналу за 21 березня 2018. Процитовано 9 квітня 2018.
- . Dr. Dobb's. Архів оригіналу за 13 листопада 2017. Процитовано 9 квітня 2018.
- Stoneburner G., Hayden C., Feringa A. Engineering Principles for Information Technology Security (A Baseline for Achieving Security) [ 19 лютого 2018 у Wayback Machine.] / National Institute of Standards and Technology. — Revision A. — 2004. — 33 p.
- . fstec.ru (ru-ru) . Архів оригіналу за 10 квітня 2018. Процитовано 9 квітня 2018.
- Сафонов В. О. Современные технологии разработки надежных и безопасных программ // Компьютерные инструменты в образовании: Журнал. — 2008. — № 06. — P. 25—33.
- . www.dwheeler.com. Архів оригіналу за 16 травня 2018. Процитовано 9 квітня 2018.
- Комаров А. Меряем уязвимости [ 6 січня 2018 у Wayback Machine.] // Хакер: Журнал. — 2009. — № 04 (124). — P. 48—51.
- . OSVDB (амер.). 6 квітня 2016. Архів оригіналу за 28 травня 2016. Процитовано 9 квітня 2018.
- Mell P., Scarfone K., Romanosky S. Common Vulnerability Scoring System (англ.) // IEEE Security & Privacy: article. — 2006. — Vol. 4. — P. 85—89. — ISSN 1540-7993 [ 9 березня 2021 у Wayback Machine.]
- . FIRST — Forum of Incident Response and Security Teams. Архів оригіналу за 8 березня 2022. Процитовано 9 квітня 2018.
- Howard, Michael; LeBlanc, David; Viega, John (22 вересня 2009). (англ.). McGraw Hill Professional. ISBN . Архів оригіналу за 10 квітня 2018. Процитовано 9 квітня 2018.
- Вахрушев И. А., Каушан В. В., Падарян В. А., Федотов А. Н. Метод поиска уязвимости форматной строки [ 19 червня 2018 у Wayback Machine.] // Труды ИСП РАН. — 2015. — Т. 27, № 4. — С. 23—38. — P. 25—33.
- Saltzer J.H., Schroeder M.D. The Protection of Information in Computer Systems [ 20 квітня 2018 у Wayback Machine.] (англ.): article / Saltzer J. H.. — 1975.
- Seacord R. C. Secure Coding in C and C++ [ 10 квітня 2018 у Wayback Machine.]. — 2. — Addison-Wesley, 2013. — 600 p. — ISBN 9780132981972.
- . docs.djangoproject.com (англ.). Архів оригіналу за 3 травня 2018. Процитовано 9 квітня 2018.
- . guides.rubyonrails.org (англ.). Архів оригіналу за 10 квітня 2018. Процитовано 9 квітня 2018.
- Kric., Kasperski, (2006). Zapiski issledovateli︠a︡ kompʹi︠u︡ternykh virusov. Moskva [Russia]: Piter. ISBN . OCLC 70916777.
- Malware History [ 3 березня 2016 у Wayback Machine.] / BitDefender. — 2010. — P. 23—24. — 71 p.
- Graham, Luke (7 лютого 2017). . CNBC. Архів оригіналу за 3 травня 2018. Процитовано 9 квітня 2018.
- Sun, David. Cybercrime cost world economy $620 billion last year [ 24 січня 2022 у Wayback Machine.] (англ.), Singapore: The New Paper (5 July 2017).
- . osvita.mediasapiens.ua. Архів оригіналу за 17 березня 2018. Процитовано 9 квітня 2018.
- The damage from the virus WannaCry exceeded $ 1 billion [ 15 жовтня 2017 у Wayback Machine.] (англ.), US: 6abc (25 May 2017)
- William Gamazo Sanchez (Vulnerability Research). MS17-010: EternalBlue's Large Non-Paged Pool Overflow in SRV Driver [ 8 січня 2018 у Wayback Machine.] (англ.). http://blog.trendmicro.com/ [ 4 травня 2018 у Wayback Machine.]. Trend Micro (2 June 2017)
- WannaCry ransomware used in widespread attacks all over the world [ 12 квітня 2018 у Wayback Machine.] (англ.). https://securelist.com/ [ 7 квітня 2015 у Wayback Machine.]. ЗАО «Лаборатория Касперского» (12 May 2017)
- Боровко, Роман. Экономический ущерб от вирусов [ 5 квітня 2018 у Wayback Machine.], Москва: CNews Analytics (2003).
- Net Losses: Estimating the Global Cost of Cybercrime [ 24 жовтня 2017 у Wayback Machine.] (англ.). https://www.mcafee.com/'. Архів оригіналу за 17 лютого 2022. Процитовано 9 квітня 2018.
{{}}
: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title ()'. McAfee (2014). - Rbc.ua. . РБК-Украина (укр.). Архів оригіналу за 13 січня 2018. Процитовано 9 квітня 2018.
- (укр.). Архів оригіналу за 10 квітня 2018. Процитовано 9 квітня 2018.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Ne plutati z Bezpechnim programuvannyam principom rozrobki PZ pri yakomu rozrobniki namagayutsya vrahuvati vsi mozhlivi pomilki i zboyi Bezpechne koduvannya programuvannya metodika rozrobki programnogo zabezpechennya sho zapobigaye vipadkovomu vprovadzhennyu vrazlivostej i zabezpechuye stijkist do vplivu shkidlivih program i nesankcionovanogo dostupu Bagi i logichni pomilki ye osnovnoyu prichinoyu poyavi vrazlivostej programnogo zabezpechennya Bezpechne programne zabezpechennya programne zabezpechennya rozroblene z vikoristannyam sukupnosti zahodiv spryamovanih na zapobigannya poyavi i usunennya vrazlivostej programi Zavdannya bezpechnogo programuvannya zahist danih koristuvacha vid kradizhki i psuvannya zberezhennya kontrolyu nad sistemoyu Nebezpechna programa potencijna meta dlya zlovmisnika yakij mozhe vikoristovuvati nayavni urazlivosti dlya pereglyadu zmini abo vidalennya nayavnoyi informaciyi vplivu na robotu program i servisiv zapusk abo zupinka vprovadzhennya shkidlivogo kodu v sistemu TerminologiyaV anglomovnij literaturi isnuye dva termini yaki mozhut buti perevedeni yak bezpechne programuvannya Defensive programming Oboronne zahisne bezpechne programuvannya princip rozrobki PZ pri yakomu rozrobniki namagayutsya vrahuvati vsi mozhlivi pomilki i zboyi maksimalno izolyuvati yih i pri mozhlivosti vidnoviti pracezdatnist programi v razi nepoladok Ce povinno robiti programne zabezpechennya bilsh stabilnim i mensh urazlivim Napriklad aparatnoyu realizaciyeyu danogo principu ye storozhovij tajmer obchislennya kontrolnoyi sumi dlya viyavlennya pomilok pri paketnij peredachi danih Secure coding Bezpechne programuvannya koduvannya metodika napisannya program stijkih do atak z boku shkidlivih program i zlovmisnikiv Bezpechne programuvannya dopomagaye zahistiti dani koristuvacha vid kradizhki abo psuvannya Krim togo nebezpechna programa mozhe nadati zlovmisnikovi dostup do upravlinnya serverom abo komp yuterom koristuvacha naslidki mozhut buti rizni vid vidmovi v obslugovuvanni odnomu koristuvachevi do komprometaciyi sekretnoyi informaciyi vtrati obslugovuvannya abo poshkodzhennya sistem tisyach koristuvachiv VazhlivistPitannya zabezpechennya bezpeki i pracezdatnosti sistemi ye nevid yemnoyu chastinoyu etapu yiyi proektuvannya dizajnu sistemi Vimogi do bezpeki konkretnih produktiv i sistem IT vstanovlyuyutsya vihodyachi z nayavnih i prognozovanih zagroz bezpeki provedenoyi politiki bezpeki a takozh z urahuvannyam umov yih zastosuvannya Vprovadzhennya rishen dlya zabezpechennya bezpeki pislya togo yak sistema vzhe rozroblena ye skladnoyu i dorogoyu proceduroyu Tomu slid z samogo pochatku vrahovuvati vimogi do bezpeki protyagom vsogo zhittyevogo ciklu sistemi Informacijna sistema podilyayetsya na fizichnij i logichnij riven Rozuminnya togo sho same maye buti zahishene vid zovnishnih chinnikiv dopomagaye z najbilsh efektivnim viborom i zastosuvannyam zahisnih zahodiv Chitka mezha mizh rivnyami povinna viznachatisya politikoyu bezpeki yaka regulyuye pevnij nabir informaciyi ta informacijnih tehnologij sho maye fizichni kordoni Podalshe uskladnennya polyagaye v tomu sho na odnomu komp yuteri abo serveri mozhe rozmishuvatisya yak zagalnodostupna tak i konfidencijna informaciya V rezultati kilka politik bezpeki mozhut zastosovuvatisya do odniyeyi mashini abo v mezhah odniyeyi sistemi Tomu pri rozrobci informacijnoyi sistemi kordonu bezpeki povinni vrahovuvatisya i opisuvatisya u vidpovidnij dokumentaciyi i politikah bezpeki sistemi Yiyi rozrobniki povinni vmiti zabezpechiti bezpeku sistemi pri proektuvanni rozrobci upravlinni i konfiguraciyi integraciyi pravilno provesti testuvannya Analiz ruchnij abo avtomatichnij i zabezpechennya bezpeki doroga procedura yaka zbilshuye zagalnu vartist programnogo produktu Ranishe povne usunennya rizikiv bulo spilnoyu metoyu zabezpechennya bezpeki Sogodni viznayetsya sho usunennya vsih rizikiv ne ye ekonomichno efektivnim Dlya bud yakoyi zaproponovanoyi sistemi kontrolyu slid provesti analiz vitrat i vigod U deyakih vipadkah perevagi bilsh bezpechnoyi sistemi mozhut ne vipravdovuvati pryamih i nepryamih vitrat Vigodi vklyuchayut ne tilki zapobigannya groshovih vtrat varto vrahovuvati napriklad i reputacijni vtrati Pryami vitrati vklyuchayut vitrati na pridbannya ta ustanovku danoyi tehnologiyi nepryami vitrati vklyuchayut znizhennya produktivnosti sistemi i dodatkove navchannya spivrobitnikiv PrincipiV danij chas isnuyut riznomanitni tehnologiyi rozrobki bezpechnogo programnogo zabezpechennya Ale ye nabir principiv sho vrahovuyutsya pri bud yakomu pidhodi pracezdatnist i korisnist yuzabiliti angl usability bezpeka angl security mozhlivist zahistu vid zovnishnih zagroz atak i zberezhennya pracezdatnosti pislya yih viyavlennyai usunennya nadijnist angl reliability peredbachuvana korektna i bezvidmovna robotu v razi nekorektnih vihidnih danih konfidencijnist angl privacy zabezpechennya bezpechnoyi ta korektnoyi roboti z konfidencijnoyu informaciyeyu zabezpechennya cilisnosti i korektnosti biznesu angl business integrity chitka organizaciya suprovodu programi kontrol prozorosti zakonnosti pravilnosti roboti koristuvacha Chotiri ostannih yakosti stali osnovoyu Trustworthy computing TwC angl Trustworthy computing Obchislennya yaki zaslugovuyut na doviru iniciativi korporaciyi Microsoft golovne zavdannya yakoyi zvernuti uvagu rozrobnikiv na vazhlivist zabezpechennya zaznachenih vimog na kozhnomu z etapiv rozrobki PZ Isnuye bezlich principiv zabezpechennya bezpeki PO zdebilshogo shozhih odin na odnogo Yih uzagalnennyam mozhna vvazhati navedeni vishe principi Klasifikaciya ta vidi vrazlivostejKlasifikatori Vikoristannya standartizovanih opisiv vrazlivostej sproshuye robotu fahivciv z informacijnoyi bezpeki V danij chas isnuye dekilka populyarnih klasifikatoriv CVE Common Vulnerabilities and Exposures slovnik konkretnih vrazlivostej konkretnih produktiv CWE Common Weakness Enumeration baza danih tipiv vrazlivostej Osnovne zavdannya proektu nadati opisu poshirenih vidiv vrazlivostej sposobi yih zapobigannya viyavlennya ta vipravlennya SecurityFocus BID OSVDB en vidkrita baza danih vrazlivostej stvorena troma nekomercijnimi organizaciyami Pripinila robotu 5 kvitnya 2016 roku Blog prodovzhuye pracyuvati Secunia strichka vrazlivostej vidomoyi danskoyi kompaniyi Secunia v oblasti komp yuternoyi ta merezhevoyi bezpeki IBM ISS X Force Suchasni analizatori kodu i avtomatizovani auditori mozhut vikoristovuvati podibni bazi vrazlivostej Ce pidvishuye riven doviri do produktu a takozh mozhe viyavitisya vazhlivim pri skladanni zvitiv pro urazlivist nayavnih v programnomu produkti Zustrichayutsya j inshi klasifikatori Pri roboti z nimi slid zvertati uvagu na avtoriv tak yak kozhna sistema klasifikaciyi povinna stvoryuvatisya ekspertami v cij galuzi Metriki Kozhna programa ye potencijnoyu metoyu dlya zlovmisnikiv Pislya znahodzhennya vrazlivostej v dodatkah abo servisah voni budut namagatisya vikoristovuvati yih dlya kradizhki konfidencijnoyi informaciyi psuvannya danih upravlinnya komp yuternimi sistemami i merezhami Dlya opisu vlastivostej urazlivosti fahivcyami vikoristovuyetsya sistema pidrahunku rizikiv vrazlivostej CVSS Vona yavlyaye soboyu shkali na osnovi yakih vistavlyayutsya bali Sistema metrik rozroblena dlya podilu prioritetiv nad vipravlennyam vrazlivostej Kozhna shkala vidnositsya do pevnogo zmistovogo rozdilu yakij nazivayetsya metrikoyu Takih metrik tri Bazova angl Base harakteristiki urazlivosti yaki ne zalezhat vid chasu i seredovisha vikonannya Sluzhit dlya opisu skladnosti ekspluataciyi urazlivosti potencijnogo zbitku dlya konfidencijnosti cilisnosti ta dostupnosti informaciyi Timchasova angl Temporal metrika sho vrahovuye chasovij chinnik napriklad chas na vipravlennya urazlivosti Kontekstna angl Environmental metrika sho vrahovuye informaciyu pro seredovishe funkcionuvannya programnogo zabezpechennya Ostanni dvi metriki nosyat dopomizhnij harakter i vikoristovuyutsya lishe dlya koriguvannya pokaznikiv bazovoyi metriki z urahuvannyam riznih specifik Vidi vrazlivostej Spisok poshirenih pomilok sho stavlyat pid zagrozu bezpeku suchasnih program SQL in yekciya angl SQL injection urazlivosti pov yazani z web serverami XSS XSRF rozsheplennya HTTP zapitu angl HTTP response splitting urazlivosti web kliyentiv DOM XSS perepovnennya bufera angl Buffer Overflow defekti formatnih ryadkiv angl Uncontrolled format string arifmetichne perepovnennya angl Integer overflow nekorektna obrobka vinyatkiv i pomilok vprovadzhennya komand komandna in yekciya angl Command injection vitik informaciyi angl Information Exposure stan gonitvi angl Race condition slabke yuzabiliti angl Insufficient Psychological Acceptability vikonannya kodu z zavishenimi privileyami angl Execution with Unnecessary Privileges zberigannya nezahishenih danih angl Protection Mechanism Failure problemi mobilnogo kodu angl Mobile Code Issues slabki paroli slabki vipadkovi chisla nevdalij vibir kriptografichnih algoritmiv vikoristannya nebezpechnih kriptografichnih rishen nezahishenij merezhevij trafik angl Cleartext Transmission of Sensitive Information nepravilne vikoristannya PKI angl Improper Certificate Validation dovira do mehanizmu virishennya merezhevih imen angl Reliance on Reverse DNS Resolution Domenna sistema merezhevih imen Perelichiti vsi vidomi urazlivosti nemozhlivo vrahovuyuchi sho kozhen den z yavlyayutsya novi V danomu spisku navedeni problemi yaki chasto zustrichayutsya dopustiti yaki legko ale naslidki yakih mozhut buti katastrofichnimi Napriklad prichinoyu poshirennya hrobaka Blaster stala pomilka vsogo v dvoh ryadkah kodu Zahist Pravilnoyu strategiyeyu zahistu vid pomilok i vrazlivostej ye yih poperedzhennya ta zapobigannya Ce vimagaye vid rozrobnika postijnoyi perevirki vhidnih danih Napriklad najkrashij sposib zahistu vid atak perepovnennya bufera perevirka togo chi vhidni dani ne perevishuyut rozmiru bufera v yakomu voni zberigayutsya Dani priznacheni dlya vidpravki v BD vimagayut perevirki dlya zahistu vid ataki tipu vprovadzhennya SQL kodu Yaksho dani vidpravlyayutsya na web storinku to slid yih pereviryati dlya zahistu vid XSS Odnak nadmirne chislo perevirok uskladnyuye rozrobku vihidnogo kodu programi i mozhe privesti v svoyu chergu do poyavi novih pomilok tomu slid kombinuvati cyu strategiyu z inshimi Mehanizmi dlya zahistu vid pomilok mozhe nadavati kompilyator abo operacijna sistema Kompilyator GCC dozvolyaye za dopomogoyu funkciyi builtin object size otrimuvati rozmir ob yekta za vkazivnikom na cej ob yekt tak sho yiyi vikoristannya robit proceduru kopiyuvannya bezpechnishe MSVC pri vikoristanni prapora RTCs dozvolyaye na etapi kompilyaciyi pereviriti perepovnennya lokalnih zminnih vikoristannya neinicializovanih zminnih poshkodzhennya pokazhchika steka viklikane nevidpovidnistyu ugod pro vikliki Vikoristannya tehnologiyi CRED C range error detector i specialnih vstavok pered rozdilom steka yakij zahishayetsya StackGuard SSP chastkovo dozvolyaye viyavlyati i zapobigati atakam pov yazanih z vihodom za mezhi masivu i rujnuvannyam steka Operacijna sistema takozh mozhe kontrolyuvati proces vikonannya programi Dana strategiya mozhe buti korisnoyu u razi yaksho vihidnij kod ciyeyi programi nevidomij Tehnologiya ASLR randomizaciya shemi adresnogo prostoru ye funkciyeyu bezpeki operacijnih sistem priznachenoyi dlya zapobigannya zmogi vikonuvati dovilnij kod V danij chas ASLR pidtrimuyetsya i v Linux i v Windows Pidvishennya rivnya bezpeki dosyagayetsya zastosuvannyam tehnologij nezdijsnennih stekiv W X PaX Tipovimi atakami na web servisi ye vprovadzhennya SQL kodu XSS CSRF clickjacking Suchasni frejmvorki dopomagayut rozrobnikam u stvorenni bezpechnih web dodatkiv Vikoristannya gotovih rishen dozvolyaye ne zajmatisya chislennimi perevirkami vhidnih danih vid zagolovkiv HTTP zapitiv do yih zmistu Takozh nadayetsya bilsh bezpechnij metod roboti z BD ORM ZbitkiMonitor komp yutera zarazhenogo virusom Petya Informaciya pro urazlivist mozhe buti vikoristana zlovmisnikami pri napisanni virusiv Napriklad odin z najpershih vidomih merezhevih cherv yakiv virus Morisa v 1988 roci vikoristovuvav taki urazlivosti yak perepovnennya bufera v Unix demoni finger dlya poshirennya mizh mashinami Todi kilkist zarazhenih mashin sklalo blizko 6 tisyach a ekonomichnij zbitok za danimi rahunkovoyi palati SShA sklav vid 10 do 100 mln dolariv Z 2016 komp yuterni virusi zavdali svitovij ekonomici zbitkiv v 450 mlrd dolariv U 2017 zbitok vid virusu WannaCry ocinili v 1 mlrd dolariv Vipadki zarazhennya buli zafiksovani shonajmenshe v 150 krayinah Virus zastosovuvav eksplojt EternalBlue sho vikoristovuye urazlivist v protokoli SMB pov yazanu z perepovnennyam bufera U 2017 roci vidbulas masshtabna hakerska ataka z boku Rosiyi proti Ukrayini ta she 59 krayin Prichinoyu stala komprometaciya sistemi onovlennya programi M E Doc z vstanovlennyam bekdoru ta virusu NotPetya Zbitki pidpriyemstv po vsomu svitu sklali 8 mlrd dolariv Primitki webportalsrv gost ru Arhiv originalu za 22 zhovtnya 2017 Procitovano 9 kvitnya 2018 developer apple com angl Arhiv originalu za 21 bereznya 2018 Procitovano 9 kvitnya 2018 Dr Dobb s Arhiv originalu za 13 listopada 2017 Procitovano 9 kvitnya 2018 Stoneburner G Hayden C Feringa A Engineering Principles for Information Technology Security A Baseline for Achieving Security 19 lyutogo 2018 u Wayback Machine National Institute of Standards and Technology Revision A 2004 33 p fstec ru ru ru Arhiv originalu za 10 kvitnya 2018 Procitovano 9 kvitnya 2018 Safonov V O Sovremennye tehnologii razrabotki nadezhnyh i bezopasnyh programm Kompyuternye instrumenty v obrazovanii Zhurnal 2008 06 P 25 33 www dwheeler com Arhiv originalu za 16 travnya 2018 Procitovano 9 kvitnya 2018 Komarov A Meryaem uyazvimosti 6 sichnya 2018 u Wayback Machine Haker Zhurnal 2009 04 124 P 48 51 OSVDB amer 6 kvitnya 2016 Arhiv originalu za 28 travnya 2016 Procitovano 9 kvitnya 2018 Mell P Scarfone K Romanosky S Common Vulnerability Scoring System angl IEEE Security amp Privacy article 2006 Vol 4 P 85 89 ISSN 1540 7993 9 bereznya 2021 u Wayback Machine FIRST Forum of Incident Response and Security Teams Arhiv originalu za 8 bereznya 2022 Procitovano 9 kvitnya 2018 Howard Michael LeBlanc David Viega John 22 veresnya 2009 angl McGraw Hill Professional ISBN 9780071626767 Arhiv originalu za 10 kvitnya 2018 Procitovano 9 kvitnya 2018 Vahrushev I A Kaushan V V Padaryan V A Fedotov A N Metod poiska uyazvimosti formatnoj stroki 19 chervnya 2018 u Wayback Machine Trudy ISP RAN 2015 T 27 4 S 23 38 P 25 33 Saltzer J H Schroeder M D The Protection of Information in Computer Systems 20 kvitnya 2018 u Wayback Machine angl article Saltzer J H 1975 Seacord R C Secure Coding in C and C 10 kvitnya 2018 u Wayback Machine 2 Addison Wesley 2013 600 p ISBN 9780132981972 docs djangoproject com angl Arhiv originalu za 3 travnya 2018 Procitovano 9 kvitnya 2018 guides rubyonrails org angl Arhiv originalu za 10 kvitnya 2018 Procitovano 9 kvitnya 2018 Kric Kasperski 2006 Zapiski issledovateli a kompʹi u ternykh virusov Moskva Russia Piter ISBN 5469003310 OCLC 70916777 Malware History 3 bereznya 2016 u Wayback Machine BitDefender 2010 P 23 24 71 p Graham Luke 7 lyutogo 2017 CNBC Arhiv originalu za 3 travnya 2018 Procitovano 9 kvitnya 2018 Sun David Cybercrime cost world economy 620 billion last year 24 sichnya 2022 u Wayback Machine angl Singapore The New Paper 5 July 2017 osvita mediasapiens ua Arhiv originalu za 17 bereznya 2018 Procitovano 9 kvitnya 2018 The damage from the virus WannaCry exceeded 1 billion 15 zhovtnya 2017 u Wayback Machine angl US 6abc 25 May 2017 William Gamazo Sanchez Vulnerability Research MS17 010 EternalBlue s Large Non Paged Pool Overflow in SRV Driver 8 sichnya 2018 u Wayback Machine angl http blog trendmicro com 4 travnya 2018 u Wayback Machine Trend Micro 2 June 2017 WannaCry ransomware used in widespread attacks all over the world 12 kvitnya 2018 u Wayback Machine angl https securelist com 7 kvitnya 2015 u Wayback Machine ZAO Laboratoriya Kasperskogo 12 May 2017 Borovko Roman Ekonomicheskij usherb ot virusov 5 kvitnya 2018 u Wayback Machine Moskva CNews Analytics 2003 Net Losses Estimating the Global Cost of Cybercrime 24 zhovtnya 2017 u Wayback Machine angl https www mcafee com Arhiv originalu za 17 lyutogo 2022 Procitovano 9 kvitnya 2018 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite web title Shablon Cite web cite web a Obslugovuvannya CS1 Storinki z tekstom archived copy yak znachennya parametru title posilannya McAfee 2014 Rbc ua RBK Ukraina ukr Arhiv originalu za 13 sichnya 2018 Procitovano 9 kvitnya 2018 ukr Arhiv originalu za 10 kvitnya 2018 Procitovano 9 kvitnya 2018