Безпека

Що таке програмна безпека?

Що таке програмна безпека?
Захист програмного забезпечення - це створення захищеного програмного забезпечення із властивою обороною, щоб воно продовжувало функціонувати під шкідливими атаками, на задоволення користувачів та власників програмного забезпечення. Ця стаття пояснює загрози та рішення із загальної точки зору. Пояснюється також стандартний словник інформаційної безпеки. Ви повинні володіти комп’ютером та Інтернетом, щоб зрозуміти цю статтю; вам також слід було вивчити комп’ютерну мову, напр.g., Perl, C, C ++, PHP тощо.

Що захищено - це інформаційні та програмні пакети (програми та документи). Інформація - це будь-яке повідомлення, корисне будь-кому. “Інформація” - це туманне слово. Контекст, в якому він використовується, надає своє значення. Це може означати новину, лекцію, підручник (або урок) або рішення. Пакет програм, як правило, є рішенням якоїсь проблеми або пов'язаних з нею проблем. Раніше вся нерозмовна інформація писалася на папері. Сьогодні програмне забезпечення можна розглядати як підмножину інформації.

Програмне забезпечення може знаходитись у комп’ютері або переходити з одного комп’ютера на інший. Файли, дані, електронні листи, записаний голос, записані відео, програми та програми знаходяться на комп'ютері. Перебуваючи в комп'ютері, він може бути пошкоджений. Під час транзиту він все ще може бути пошкоджений.

Будь-який пристрій з процесором та пам'яттю є комп’ютером. Отже, у цій статті калькулятор, смартфон або планшет (наприклад,.g., iPad) - це комп’ютер. Кожен із цих пристроїв та їх мережевий носій передачі має програмне забезпечення або програмне забезпечення в процесі передачі, яке слід захистити.

Пільги

Користувач може отримати дозвіл на виконання файлу на комп’ютері. Користувач може отримати право читати код файлу на комп’ютері. Користувач може отримати право змінювати (писати) код файлу на комп’ютері. Користувач може отримати одну, дві або всі три ці привілеї. Є інші привілеї операційної системи або бази даних. Користувачі мають різну кількість або рівні привілеїв у системі.

Загрози

Основи програмних загроз

Щоб захистити програмне забезпечення, вам слід знати його загрози. Програмне забезпечення має бути захищене від несанкціонованого доступу людей до його даних. Він повинен бути захищений від незаконного використання (щоб заподіяти шкоду, наприклад). Програмне забезпечення має бути захищене від розголошення конкурентам. Програмне забезпечення не повинно бути пошкоджене. Програмне забезпечення не слід видаляти ненавмисно. Не слід порушувати роботу програмного забезпечення. Програмне забезпечення не повинно мати будь-яких модифікацій, які не викликаються. Дані (програмне забезпечення) не повинні перевірятися без поважних причин, особливо неавторизованими людьми. Програмне забезпечення не слід копіювати (піратське).

Одна або кілька з цих баз, що призводить до певного типу класичної загрози.

Класи програмної загрози

Напад підміни

Це ситуація, коли особа (або програма) успішно представляє іншу особу (або програму) в якійсь програмі. Це робиться з використанням неправдивих даних, щоб отримати незаконну перевагу.

Репутація

Це ситуація, коли хтось робить щось не так і відмовляється, що це не той, хто це зробив. Людина може використовувати підпис іншої людини, щоб вчинити неправильно.

Порушення даних

Порушення даних - це коли захищена або приватна інформація передається навмисно або ненавмисно в середовище, якому не довіряють.

Атака відмови в обслуговуванні

Програмна комп’ютерна мережа має програмне забезпечення, що працює на комп’ютерах мережі. Кожен користувач зазвичай використовує свій комп’ютер перед собою і зазвичай запитує послуги від інших комп’ютерів у мережі. Зловмисний користувач може вирішити залити сервер зайвими запитами. Сервер має обмежену кількість запитів, які він може обробити протягом тривалості. У цій схемі затоплення законні користувачі не можуть використовувати сервер так часто, як слід, оскільки сервер зайнятий реагуванням на запити злочинця. Це перевантажує сервер, тимчасово або на невизначений час порушуючи послуги сервера. В ході цього хост (сервер) уповільнює роботу для законних користувачів, тоді як винуватець здійснює своє лихо, яке залишається не виявленим, оскільки законні користувачі, які стоять поруч, чекаючи служби, не можуть знати, що відбувається в сервера. Хорошим користувачам відмовлено у наданні послуги, поки триває атака.

Ескалація пільг

Різні користувачі операційної системи або програми мають різні права. Отже, деякі користувачі отримують більше цінності, ніж інші, від системи. Використання помилки програмного забезпечення або нагляду за конфігурацією для отримання розширеного доступу до ресурсів або несанкціонованої інформації - це привілей ескалації.

Наведені вище класифікаційні схеми можуть бути використані для спричинення комп'ютерного вірусу та хробаків.

Для програмних атак можна використовувати одну або кілька з вищезазначених схем класифікації, які включають: крадіжку інтелектуальної власності, пошкодження бази даних, крадіжку особистих даних, саботаж та вимагання інформації. Якщо людина використовує одну або декілька схем для руйнівних модифікацій, веб-сайт таким чином, що клієнти сайту втрачають довіру, тобто саботаж. Вимагання інформації - це викрадення комп’ютера компанії або неправдиве отримання секретної інформації про компанію. Вкрадений комп’ютер може мати секретну інформацію. Це може призвести до програми-вимагателя, коли злодій вимагатиме виплати в обмін на викрадене майно або інформацію.

Конфіденційність

Коли щось для вас є чутливим або за своєю суттю особливим, тоді ця річ є приватною для вас. Це стосується і групи людей. Людині потрібно висловлюватись вибірково. Щоб досягти такої вибірковості, людина повинна скласти собі графік або запланувати інформацію про себе; це приватність. Групі людей потрібно висловлюватися вибірково. Для досягнення такої вибірковості група повинна самостійно скласти графік або запланувати інформацію про себе; це приватність. Людині потрібно захищати себе вибірково. Для досягнення такого вибіркового захисту особа повинна захищати себе або захищати інформацію про себе вибірково; тобто конфіденційність. Групі людей потрібно захищати себе вибірково. Для досягнення такого вибіркового захисту група повинна захищати себе або захищати інформацію про себе вибірково; тобто конфіденційність.

Ідентифікація та автентифікація

Подорожуючи до чужої країни, ви дійдете до порту цієї країни. У порту працівник міліції попросить вас повідомити себе. Ви пред'явите свій паспорт. Поліцейський дізнається ваш вік (з дати народження), вашу стать та вашу професію з паспорта, і подивиться на вас (ваше обличчя); тобто ідентифікація. Поліцейський порівняє ваше справжнє обличчя та фото в паспорті. Він також оцінить ваш вік за тим, що є в паспорті, щоб дізнатись, чи це ви.

Подивитися на вас і пов’язати з вами ваш вік, стать та професію - це ідентифікація. Перевірка того, чи справжнє ваше обличчя та фотографія однакові, та оцінка відповідності презентації вашому віку - це автентифікація. Ідентифікація - це пов’язання людини чи чогось із певними ознаками. Вказівка ​​особи також є ідентифікацією. Аутентифікація - це акт доказування істинності (ідентифікації). Іншими словами, автентифікація - це акт підтвердження твердження.

У обчисленнях найпоширенішим способом автентифікації є використання пароля. Наприклад, на сервері багато користувачів. Під час входу ви вказуєте свою особу (ідентифікуйте себе) своїм ім’ям користувача. Ви підтверджуєте свою особу своїм паролем. Ваш пароль повинен бути відомий тільки вам. Аутентифікація може піти далі; поставивши запитання на зразок «У якому місті чи місті ти народився?"

Цілі безпеки

Цілями безпеки в інформації є конфіденційність, цілісність та доступність. Ці три особливості відомі як тріада ЦРУ: C для конфіденційності, I для цілісності та A для доступності.

Конфіденційність

Інформація не повинна розголошуватися стороннім особам, несанкціонованим організаціям або несанкціонованим процесам; це конфіденційність інформації в інформаційній безпеці (як і програмна безпека). Викрадення паролів або надсилання чутливих електронних листів неправильній особі порушує конфіденційність. Конфіденційність - це компонент конфіденційності, який захищає інформацію від несанкціонованих осіб, несанкціонованих осіб або несанкціонованих процесів.

Чесність

Інформація чи дані мають життєвий цикл. Іншими словами, інформація чи дані мають час початку та час закінчення.  У деяких випадках після закінчення життєвого циклу інформація (або дані) повинна бути стерта (юридично). Цілісність складається з двох особливостей, а саме: 1) підтримка та забезпечення точності інформації (або даних) протягом усього життєвого циклу та 2) повнота інформації (або даних) протягом усього життєвого циклу. Отже, інформація (або дані) не повинна зменшуватися чи модифікуватися несанкціонованим або невизначеним способом.

Доступність

Щоб будь-яка комп’ютерна система могла служити своєму призначенню, інформація (або дані) повинна бути доступна у разі потреби. Це означає, що комп’ютерна система та її носії передачі повинні функціонувати належним чином. Доступність може бути порушена через оновлення системи, збої в роботі обладнання та перебої в електроживленні. Доступність також може бути порушена атаками відмови в обслуговуванні.

Не відмова

Коли хтось використовує вашу особу та ваш підпис для підписання договору, який він ніколи не виконував, відмова - це коли ви не можете успішно заперечити в суді, що не складали контракт.

В кінці договору сторона, яка пропонує послугу, повинна була запропонувати послугу; сторона, яка платить, повинна була здійснити платіж.

Щоб зрозуміти, як заперечення застосовне до цифрового спілкування, спочатку потрібно знати значення ключа та значення цифрового підпису. Ключ - це шматок коду. Цифровий підпис - це алгоритм, який використовує ключ для створення якогось іншого коду, який уподібнюється письмовому підпису відправника.

У цифровій безпеці невідмова надається (не обов'язково гарантується) цифровим підписом. У безпеці програмного забезпечення (або інформаційної безпеки) відмова стосується цілісності даних. Шифрування даних (яке ви могли чути) у поєднанні з цифровим підписом також сприяє конфіденційності.

Цілями безпеки в інформації є конфіденційність, цілісність та доступність. Однак невідмова - це ще одна особливість, яку ви повинні враховувати, маючи справу з інформаційною безпекою (або захистом програмного забезпечення).

Відповіді на загрози

На загрози можна реагувати одним або кількома з наступних трьох способів:

- Скорочення / пом'якшення: Це впровадження запобіжних заходів та контрзаходів для усунення вразливостей або блокування загроз.

- Призначення / передача: Це покладає тягар загрози на іншу організацію, таку як страхова компанія або аутсорсингова компанія.

- Прийняття: Це оцінює, якщо вартість контрзаходу перевищує можливу вартість збитків через загрозу.

Управління доступом

В інформаційній безпеці, частиною якої є програмна безпека, контроль доступу - це механізм, який забезпечує доступ лише захищеним користувачам до захищених ресурсів у даній системі з різними заслуженими привілеями.

Сучасне рішення інформаційної безпеки

Сучасний і популярний спосіб забезпечення інформаційної безпеки - це забезпечення контролю доступу. Сюди входять такі заходи, як перевірка вхідних даних програми, установка антивірусів, використання брандмауера в локальній мережі та використання рівня транспортного рівня.

Коли ви очікуєте дату як вхід до програми, але користувач вводить число, таке введення має бути відхилено. Це перевірка вхідних даних.

Антивірус, встановлений на вашому комп’ютері, запобігає пошкодженню вірусами файлів на вашому комп’ютері. Це допомагає у доступності програмного забезпечення.

Для захисту мережі можуть бути створені правила моніторингу та контролю вхідного та вихідного трафіку локальної мережі. Коли такі правила впроваджуються як програмне забезпечення, в локальній мережі це брандмауер.

Безпека транспортного рівня (TLS) - це протокол безпеки, призначений для полегшення конфіденційності та безпеки даних при передачі через Інтернет. Це передбачає шифрування зв'язку між хостом, що надсилає, та хостом, що приймає.

Забезпечення інформаційної безпеки шляхом забезпечення контролю доступу називається Security Software, яке відрізняється від Software Security, як пояснено нижче. Обидва підходи мають одну мету, але вони різні.

Належне забезпечення програмного забезпечення

Програми, як вони написані сьогодні, мають багато програмних уразливостей, яких програмісти все більше усвідомлювали протягом останніх 20 років. Більшість атак здійснюються завдяки використанню цих вразливостей, ніж подолання або обхід контролю доступу.

Буфер схожий на масив, але без нав'язаної довжини. Коли програміст пише в буфер, можна несвідомо перезаписати його довжину. Ця вразливість є переповненням буфера.

Сьогодні програмне забезпечення дефектувало з наслідками безпеки, включаючи помилки реалізації, такі як переповнення буфера та недоліки дизайну, такі як непослідовність обробки помилок. Це вразливі місця.

Можливо, ви чули про чіти на комп'ютерній мові, такі як коди PHP, чіти Perl та чіти C ++. Це вразливі місця.

Захист програмного забезпечення, на відміну від програмного забезпечення для захисту, долає ці вразливості шляхом написання захисного коду, де вразливості можна було б запобігти. Поки додаток використовується, коли виявляється більше вразливостей, розробники (програмісти) повинні шукати способи перекодування вразливостей, захисно.

Загроза, атака відмовою в обслуговуванні, не може бути зупинена контролем доступу, оскільки для того, щоб злочинець зробив це, він вже повинен мати доступ до хоста (сервера). Це можна зупинити, включивши деяке внутрішнє програмне забезпечення, яке контролює, що роблять користувачі на хості.

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

Захист програмного забезпечення - це розробка захисного коду всередині програми, тоді як програмне забезпечення для забезпечення забезпечує (проектує) контроль доступу. Іноді ці два питання збігаються, але часто цього не відбувається.

Безпека програмного забезпечення вже досить розвинена, хоча вона все ще розробляється, але не настільки розвинена, як програмне забезпечення безпеки. Погані хакери досягають своїх цілей більше, користуючись перевагами вразливості програмного забезпечення, аніж долаючи або обходячи програмне забезпечення безпеки. Сподіваємось, що в майбутньому інформаційна безпека буде скоріше захистом програмного забезпечення, ніж програмним забезпеченням безпеки. Наразі, як безпека програмного забезпечення, так і програмне забезпечення для захисту, повинно тривати.

Безпека програмного забезпечення насправді не буде ефективною, якщо в кінці розробки програмного забезпечення не буде проведено ретельне тестування.

Програмісти повинні бути навчені виконувати захисне програмування коду. Користувачі також повинні бути навчені тому, як використовувати програми в обороні.

Що стосується програмного забезпечення, розробник повинен переконатися, що користувач не отримує більше привілеїв, ніж він заслуговує.

Висновок

Безпека програмного забезпечення - це розробка додатків із захисним кодуванням від уразливостей, що ускладнює програмні атаки. З іншого боку, програмне забезпечення безпеки - це виробництво програмного забезпечення, яке забезпечує контроль доступу. Безпека програмного забезпечення все ще розробляється, але вона є більш перспективною для захисту інформації, ніж програмне забезпечення. Він уже використовується, і популярність зростає. У майбутньому будуть потрібні обидва, але з програмним забезпеченням потрібно більше безпеки.

How to reverse Mouse and Touchpads scrolling direction in Windows 10
Mouse and Touchpads not only make computing easy but more efficient and less time-consuming. We cannot imagine a life without these devices, but still...
How to change Mouse pointer and cursor size, color & scheme on Windows 10
The mouse pointer and cursor in Windows 10 are very important aspects of the operating system. This can be said for other operating systems as well, s...
Безкоштовні ігри з відкритим кодом для розробки ігор Linux
У цій статті буде розглянуто перелік безкоштовних ігрових механізмів з відкритим кодом, які можна використовувати для розробки 2D та 3D ігор на Linux....