Чи погрози безпеці викликані помилками програмного забезпечення?


13

Більшість загроз безпеці, про які я чув, виникали через помилку в програмному забезпеченні (наприклад, весь ввід не перевірено належним чином, переповнення стека тощо). Тож якщо ми виключимо всі соціальні злому, чи всі загрози безпеці через помилки? Іншими словами, якби не було помилок, чи не було б загроз безпеці (знову ж таки, виключаючи помилки людей, такі як розкриття паролів і таке інше)? Чи можна експлуатувати системи способами, які не викликають помилок?


4
Чи називаєте ви можливістю, що я міг здогадатися про слабкий пароль програмної помилки? Якщо що, це проблема дизайну, але це, мабуть, навіть більш фундаментально, ніж це.
Йоахім Зауер

4
Ви б визначили поганий дизайн як помилку?
StuperUser

1
Щоб підтримати @StuperUser, за посиланням " security.stackexchange.com/questions/25585/… " немає помилки в сценарії Дейва. Але це дурний дизайн.
Маной R

1
Якщо ми виключимо всі причини проблем із безпекою, крім помилок, то так.
andho

Відповіді:


25

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

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

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

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

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

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

Зрештою, чи можна вважати застосування бейсбольної бити на коліні соціальною технікою?


2
"якщо технічні характеристики несправні, це не помилка". Хм, це формулювання звучить слизько. Я б сказав, що це помилка в специфікації . Коли я був тестером, я успішно подав і перевірив виправлення кількох десятків таких помилок. І як розробник у мене був шанс виправити деякі подібні "помилки специфіки", про які повідомляли тестери, проти документів API, які мені призначено підтримувати ...
gnat

8
@gnat - Однак "помилка в специфікації" не є програмною помилкою, це помилка в дизайні . Якщо ви, звичайно, не могли б дизайн як частина програмного забезпечення. Все залежить від того, де ви проведете лінію.
ChrisF

1
@ChrisF: Дякую, що висловив слова, що я хотів сказати, але не знав як. Відредагована відповідь для уточнення.
СФ.

Не завжди зрозуміло, що конкретна особливість, записана в специфікації, є помилкою.
Док Браун

1
@DocBrown: Так - іноді потрібно знизити безпеку як компроміс витрат та ефективності ...
SF.

12

Можуть бути ситуації, коли апаратні помилки також викликають проблеми із безпекою. Подумайте лише про несправний чіп оперативної пам'яті, який спонтанно перевертає біт "isAdmin".

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

Для вашого задоволення від читання: безпека комп’ютера порушена апаратним збоєм


Які шанси на чіп гортання оперативної пам’яті саме на AdAdmin?
m3th0dman

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

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

@ user281377 Ви усвідомлюєте, що ймовірність вибору саме біта isAdmin з усіх бітів становить 1/34359738368 для машини з 4 ГБ оперативної пам’яті; це, ігноруючи ймовірність неправильного гортання чіпа.
m3th0dman

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

6

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


Ярлик одного чоловіка - це подвиг заднього двері іншого.
Даніель Холлінрак

5

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

Тож відповідь на ваше запитання: ні, не всі загрози безпеці викликаються помилками програмного забезпечення.


Це ризик для безпеки ? Це, безумовно, може порушити ваш сайт, але чи може він порушити безпеку вашого сайту?
Carson63000

1
Це залежить від того, наскільки широко чи вузько ваше визначення ризику безпеки.
Пітер Б

4

Соціальна інженерія.

Привіт, я XX із відділу інформатики. Наразі ваш комп’ютер поширює віруси на інші офісні комп'ютери. Мені потрібні ваше ім’я користувача та пароль, щоб мати можливість їх видалити.

Коли хакер отримає ім'я користувача / пароль, він може сміливо встановлювати трояни тощо.

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


4
Ймовірною причиною, чому цього більше не рекомендується, є те, що особи, які ставили запитання, явно виключили "соціальний злом".
Йоахім Зауер

@JoachimSauer Добре. Не бачив цього.
jgauffin

3

Як щодо чогось на зразок Firesheep , додатку Firefox, який краде файли cookie, що передаються у спільній бездротовій мережі?

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


1
Я б класифікував рішення про передачу важливої ​​приватної інформації через незашифрований носій помилка дизайну. Якщо це слід вважати "програмною помилкою", на мою думку, це окрема дискусія.
Йоахім Зауер

@JoachimSauer, що робити, якщо ваш веб-сайт відмовляється передавати будь-яку інформацію через HTTP, і це насправді MITM, який відображає HTTP на HTTPS? У той час як браузери підтримують HTTP та маршрутизатори, вони дозволяють йому передавати нюх, який може уникнути лише надзвичайно безпечні клієнти. Тож справді виникає питання: чи помилка веб-браузерів підтримує HTTP?
Пітер Тейлор

@PeterTaylor: для цієї проблеми існує сувора безпека транспорту HTTP , яка в основному гарантує, що браузер знає, що ваш сайт слід відвідувати лише через захищене з'єднання. Також: запитувач явно виключив "соціальне хакерство" і залежно від того, хто користувач буде ігнорувати незахищену лінію, може вважатися таким, що міститься в цьому аспекті.
Йоахім Зауер

@JoachimSauer Що робити, якщо я просто проксі весь трафік на Строгий транспортний сайт, але дозволяю HTTP-з'єднання повертатися до клієнтів?
Джошуа Дрейк

@JoachimSauer: Дійсно, я з вами згоден. Нерозумні архітектурні дизайнерські рішення викликають цю вразливість. Нічого неправильно реалізованого в коді, саме так я б назвав "помилку".
Carson63000

1

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

Я приймаю, що це лише тавтологія, але це міра її.


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

Тільки тому, що вимога не була висунута на початку проекту, @JoachimSauer, не означає, що вона не була необхідною. Програма програмного забезпечення витратила довше, ніж моє життя, на вирішення цього факту.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.