35
3 закона робототехники или безопасность, функциональность и защищенность ПО

3 закона робототехники: или безопасность, функциональность и защищенность ПО

  • Upload
    sqalab

  • View
    552

  • Download
    2

Embed Size (px)

DESCRIPTION

Доклад Николая Юденко на конференции SQADays-14, Львов 8-9 ноября 2013

Citation preview

Page 1: 3 закона робототехники: или безопасность, функциональность и защищенность ПО

3 законаробототехники

илибезопасность,

функциональность и защищенность ПО

Page 2: 3 закона робототехники: или безопасность, функциональность и защищенность ПО

Обо мне• Юденко Николай

• Более 15 лет опыта разработки в IT

• За все эти года выполнял практически все роли в жизненном цикле ПО: от постановщика задачи до руководителя проекта

• На текущий момент – Java+Android разработчик

email: [email protected] Skype: unick_

Page 3: 3 закона робототехники: или безопасность, функциональность и защищенность ПО

Кто Я? Я робот!

Page 4: 3 закона робототехники: или безопасность, функциональность и защищенность ПО

Кто Я? Я робот!

Page 5: 3 закона робототехники: или безопасность, функциональность и защищенность ПО

Кто Я? Я робот!

Page 6: 3 закона робототехники: или безопасность, функциональность и защищенность ПО

Кто Я? Я робот!

Page 7: 3 закона робототехники: или безопасность, функциональность и защищенность ПО

3 закона робототехники

Закон 1:Робот не может причинить вред человеку или своим бездействием допустить, чтобы человеку был причинён вред.

Закон 2:Робот должен повиноваться всем приказам, которые даёт человек, кроме тех случаев, когда эти приказы противоречат Первому Закону.

Закон 3:Робот должен заботиться о своей безопасности в той мере, в которой это не противоречит Первому и Второму Законам.

Айзек Азимов (1942 год)

Page 8: 3 закона робототехники: или безопасность, функциональность и защищенность ПО

Закон 1 безопасность человека

Безопасность человека — такое состояние человека, когда действие внешних и внутренних факторов не приводит к смерти, ухудшению функционирования и развития:

- организма - сознания - психики - и человека в целом

Page 9: 3 закона робототехники: или безопасность, функциональность и защищенность ПО

Закон 1 – безопасность

Безопасность — состояние защищённости жизненно-важных интересов

личности, общества,

организации,предприятия

от потенциально и реально существующих угроз, или отсутствие таких угроз.

Page 10: 3 закона робототехники: или безопасность, функциональность и защищенность ПО

Обеспечение безопасности

• Соблюдение законов• Соблюдение норм и правил техники

безопасности в данной предметной области• Соблюдение физических законов

безопасности человека• Выработка системы защиты• Изоляция и нейтрализация источников

потенциальных угроз

Page 11: 3 закона робототехники: или безопасность, функциональность и защищенность ПО

Цена ошибки

Передозировка при лучевой терапии.

Дефект в компьютерной программе, управлявшейрадиотерапевтической установкой, привёл к переоблучению пациентов с 1985 года по 1987 в клиниках США и Канады.

Page 12: 3 закона робототехники: или безопасность, функциональность и защищенность ПО

Цена ошибкиАварии в космонавтике

1) Ariane 5 – 1996 год (финансовые потери)2) Аппараты исследования Марса – 1999 год (финансовые потери)3) Морской старт – 2000 год (финансовые потери)4) Шаттл Columbia – 2003 год (погибли 7 астронавтов)

Page 13: 3 закона робототехники: или безопасность, функциональность и защищенность ПО

Некоторые причины ошибок

Повторное использование модулей от предыдущих версий

Не проводилось регрессионное и интеграционное

тестирование

Page 14: 3 закона робототехники: или безопасность, функциональность и защищенность ПО

Некоторые причины ошибок

Неверная или неполная спецификация

Не проводилось тестирование спецификации

Page 15: 3 закона робототехники: или безопасность, функциональность и защищенность ПО

Некоторые причины ошибок

Отклонение от спецификации

Неполное функциональное тестирование

Page 16: 3 закона робототехники: или безопасность, функциональность и защищенность ПО

Некоторые причины ошибок

Недостатки пользовательского интерфейса

Не проводилось юзабилити тестирование

Page 17: 3 закона робототехники: или безопасность, функциональность и защищенность ПО

Примеры из личной практики

Приложение: АСУТП наЖД. Автоматическоеуправление питанием.Уровень напряжения от 3.3 кВ

до 220 кВ

Проблемы:- Обеспечить безопасность людей- Отсутствие тестировщиков в проекте- Недостаточные знания в предметной области

Page 18: 3 закона робототехники: или безопасность, функциональность и защищенность ПО

Примеры из личной практики

Приложение: Системауправления доступом впомещения.

Проблемы:- При отключении электричества люди оказались

заблокированными в помещении.- Дилема: безопасность компании или безопасность

людей?

Page 19: 3 закона робототехники: или безопасность, функциональность и защищенность ПО

Примеры из личной практики

Приложение:Информационный вебпортал для узкой целевойгруппы.

Проблемы:- Была обеспечена информационная безопасность- Отсутствие полноценной защищенности привело

к заражению ПК пользователей

Page 20: 3 закона робототехники: или безопасность, функциональность и защищенность ПО

Приоритеты безопасности

ЧЕЛОВЕЧЕСТВО

ГОСУДАРСТВО

КОМПАНИЯ

ГРУППА ЛЮДЕЙ

ЧЕЛОВЕК

Page 21: 3 закона робототехники: или безопасность, функциональность и защищенность ПО

Типы безопасности по направленности

Прямая - направлена на конкретного пользователя (потребителя) ПО

Косвенная - направлена на третьи лица

Смешанная – сочетание прямой и косвенной

Page 22: 3 закона робототехники: или безопасность, функциональность и защищенность ПО

Пример объекта безопасности

Прямая:

- человек, снимающий деньги,

- банк-владелец банкомата

Снятие денег в банкомате

Косвенная:

- другие клиенты банка

Page 23: 3 закона робототехники: или безопасность, функциональность и защищенность ПО

Закон 2 функциональность ПО

Робот должен повиноваться всем приказам, которые даёт человек, кроме тех случаев,

когда эти приказы противоречат Первому Закону.

Page 24: 3 закона робототехники: или безопасность, функциональность и защищенность ПО

Закон 2 функциональность ПО

Разрабатываемое ПО должно выполнять функции, возложенные на него человеком.

То есть выполнять «приказы» человека.

Page 25: 3 закона робототехники: или безопасность, функциональность и защищенность ПО

Закон 3 – защищенность ПО

ПО должно защищать само себя от

1) Человека (пользователя)

2) Другого ПО

3) От физического

воздействия

4) Самого себя

Page 26: 3 закона робототехники: или безопасность, функциональность и защищенность ПО

Защита от «дурака»

- Защита от любых случайных действий пользователя

- Защита важных функций от пользователя (использование по незнанию)

- Защита от злоумышленников

Page 27: 3 закона робототехники: или безопасность, функциональность и защищенность ПО

Защита от другого ПО

- Защита от ошибок в другом ПО (пассивная)

- Защита от атак со стороны другого ПО (активная)

Page 28: 3 закона робототехники: или безопасность, функциональность и защищенность ПО

Защита от физического воздействия

Проблемы:

- Отключение питания

- Уничтожение

аппаратной части системы

- Разрыв физической связи с сервером

Варианты решения:

- Автосохранение

- Самовосстановление

- Бекап

- Возможность работать в упрощенном режиме

Page 29: 3 закона робототехники: или безопасность, функциональность и защищенность ПО

Защита от самого себя

- Удаление своих данных настройки

- Удаление части библиотек- Чрезмерные защиты от

пользователя- Невозможность изменить

свои настройки, которые приводят к краху системы

- Удаление единственного админа

Page 30: 3 закона робототехники: или безопасность, функциональность и защищенность ПО

Code injections

- XSS (Cross-Site Scripting)- XSRF / CSRF (Request Forgery) - PHP, ASP … injection- Подмена библиотек (DLL и т.п.)- Shell injection

Page 31: 3 закона робототехники: или безопасность, функциональность и защищенность ПО

Data injections

- SQL инъекции

- XML инъекции

- File инъекции

- Protocol инъекции

- Неверные данные

- Большие объемы данных

Page 32: 3 закона робототехники: или безопасность, функциональность и защищенность ПО

Перезащищенность

1) Нарушение функциональности

2) Нарушение безопасности

Page 33: 3 закона робототехники: или безопасность, функциональность и защищенность ПО

Матрица человечности

БезопасноНе защищено

БезопасноЗащищено

НебезопасноНе защищено

НебезопасноЗащищено

Защищенность

Без

опас

ност

ь

Нет Да

Нет

Да

Page 34: 3 закона робототехники: или безопасность, функциональность и защищенность ПО

Итоги

Закон №1

БезопасностьЗакон №2

ФункциональностьЗакон №3

Защищенность

Page 35: 3 закона робототехники: или безопасность, функциональность и защищенность ПО

Спасибо за внимание!

Email: [email protected]: unick_