3 закона робототехники: или безопасность,...

Post on 16-Jun-2015

552 Views

Category:

Education

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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

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

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

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

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

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

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

email: unick04@ua.fm Skype: unick_

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Цена ошибки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

до 220 кВ

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

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

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

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

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

людей?

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

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

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

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

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

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

ГОСУДАРСТВО

КОМПАНИЯ

ГРУППА ЛЮДЕЙ

ЧЕЛОВЕК

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

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

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

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

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

Прямая:

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

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

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

Косвенная:

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

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

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

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

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

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

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

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

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

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

2) Другого ПО

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

воздействия

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

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

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

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

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

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

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

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

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

Проблемы:

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

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

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

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

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

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

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

- Бекап

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

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

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

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

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

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

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

Code injections

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

Data injections

- SQL инъекции

- XML инъекции

- File инъекции

- Protocol инъекции

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

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

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

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

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

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

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

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

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

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

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

Без

опас

ност

ь

Нет Да

Нет

Да

Итоги

Закон №1

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

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

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

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

Email: unick04@ua.fmSkype: unick_

top related