Бешков Андрей
Руководитель программы
информационной безопасности
Microsoft

http://beshkov.ru
http://twitter.com/abeshkov
abeshkov@microsoft.com
Разработка безопасных веб приложений
• Сроки запуска проекта
  горят
• Нет ресурсов и
  специалистов для
  обеспечения безопасных
  практик
• Мы стартап – нам нужно
  быстрее стать
  популярными и заработать
  много денег
• Безопасность
  необходимое зло
Разработка безопасных веб приложений
после выпуска дороже в 30 раз


                    Относительная стоимость устранения ошибок
30

                                                                 Выпуск
25


20


15


10


5


0
     Требования/                  Интеграция/    Финальное                          После
                   Кодирование
     Архитектура                 Тестирование   тестирование                       выпуска
                                   компонент
                                                 Источник: National Institute of Standards and Technology
Критические уязвимости через год после выпуска
70



60



50



40



30



20



10



 0



     Windows XP        Windows Vista             Windows 7
3,500   3,280   3,322
                                        3,042
                        2,822   2,869
3,000
                                                2,594
                                                         Не Microsoft
                                                         2,417
2,500                                                             2,215
2,000

1,500

1,000

 500                                                  Microsoft
        170     152      97      93     146     113       129     145
   0
        2H06    1H07    2H07    1H08    2H08    1H09     2H09     1H10
3,500
        3079        3110
3,000                                     2807
                            2547   2573
2,500                                            2351
                                                        2161
                                                                1943
2,000

1,500

1,000

 500    259         242     276    310    256    207    237     196
              112             96    79
   0                  122
        2H06        1H07    2H07   1H08   2H08   1H09   2H09    1H10

        Приложения                   Браузеры              ОС
Sun Solaris 10                              1191
   Red Hat Enterprise Linux Server v.5         1580
   FreeBSD 6.x                                   86
   Microsoft Windows Server 2008                302

   Apple Mac OS X                              1555
   Red Hat Enterprise Linux Client v.5         1709
   Ubuntu Linux 8.04 (выпуск 2008 год)         1397
   Windows XP (выпуск 2001 год)                 498
   Windows 7                                    170

   Oracle Database 11.x                        315
   IBM DB2 9.x                                  98
   MySQL 5.x                                    66
   Microsoft SQL Server 2008                     1

   Mozilla Firefox 4.0             (04.2011)   14     Firefox 3.5.x (2009) 161
   Opera 11                        (10.2010)   10     Opera 9.x     (2008)   56
   Google Chrome 11                (04.2011)   30     Chrome 5.x (5.2010)    56
   Microsoft Internet Explorer 9   (03.2011)   18     Explorer 8.x (3.2009) 104

   Cisco ASA 7.x                               71
   Microsoft ISA Server 2006                    7
   Microsoft Forefront TMG                      2



В ядре Linux 2.6 — 596 уязвимостей . Почти в 3 раза больше уязвимостей
чем в Windows 7
SDL – обязательная политика в Майкрософт с 2004 г.


  Обуче        Требо           Проекти        Реали         Провер                         Реагиро
                                                                            Выпуск
   ние         вания           рование         зация          ка                            вание

Начальное   Определение      Моделирован   Выбор          Динамическое    План           Выполнение
            владельца от     ие угроз      инструментов   тестирование    реагирования   плана
обучение    бизнеса                                       и fuzzing                      реагирования
                             Анализ        Блокировани                    Заключитель-
по          Анализ           опасных       е              Проверка        ный анализ     на инциденты
основам     рисков           областей      запрещенных    моделей угроз   безопасности
безопасно   безопасности                   функций        и опасных       Архив
сти         и конфиден-                    Статический    областей        выпусков
            циальности                     анализ
            Определение
            требований к
            качеству




Обучение                     Технология и процесс                           Ответственность



                           Постоянные улучшения процессов
Разработка безопасных веб приложений
SDL THREAT MODELING TOOL




Формализует и упрощает
моделирование угроз так
чтобы им мог
заниматься архитектор
Как написать безопасный код на
С++, Java, Perl, PHP, ASP. NET

Защищенный код для Windows Vista

Игра «Spot the vuln»

10 уязвимостей веб проектов - OWASP Top Ten

Курсы SANS

Книга по SDL

Упрощенный SDL

Курсы по SDL
Разработка безопасных веб приложений
Разработка безопасных веб приложений
ПРОТИВОДЕЙСТВИЯ АТАКЕ

• Не использовать GET-запросы для
   внесения изменений в БД и доступа к
   важным данным
Разработка безопасных веб приложений
ПРОТИВОДЕЙСТВИЯ АТАКЕ




                 ValidateRequest
           ValidateInput AllowHtml
Разработка безопасных веб приложений
ПРОТИВОДЕЙСТВИЯ АТАКЕ
Разработка безопасных веб приложений
ПРОТИВОДЕЙСТВИЯ АТАКЕ




                                   HTTP Referer




      Html.AntiForgeryToken() ValidateAntiForgeryToken
                   ViewStateUserKey
МЕТОД УСТАРЕЛ, ПРИМЕНИМ ТОЛЬКО ДЛЯ СТАРЫХ БРАУЗЕРОВ




                                     [{"Id":1,"Amt":3.14},{"Id":2,"Amt":2.72}]




                                                   Конструкция
                              <script src="http://example.com/Home/AdminBalances"></script>
                                 загружает JSON-массив как валидный
                                 JavaScript код и выполняет его.
                                                    __defineSetter__
ПРОТИВОДЕЙСТВИЯ АТАКЕ




   {"d" : "bankaccountnumber", "$1234.56" }




                        __defineSetter__ для данной атаки
   больше
ХАРАКТЕРНО ДЛЯ ASP.NET MVC
ПРОТИВОДЕЙСТВИЯ АТАКЕ




   • [Bind(Include = ―Title‖, Exclude =
      ―ViewCount‖)]

• Использовать Data Transfer Objects
   (DTO) - модели данных представлений,
   отличные от моделей данных
<%@Page ViewStateEncryptionMode="Always" %>
WPL




      •   http://wpl.codeplex.com/
SECURITY APPLICATION BLOCK
ПРОВЕРКА КОНФИГУРАЦИЙ ASP.NET 2.0
WEB APPLICATION CONFIGURATION ANALYZER
Разработка безопасных веб приложений
Вебсайт SDL
The Simplified Implementation of the
SDL
Блог об SDL
Microsoft Enterprise Library
Microsoft Web Protection Library
Best Practice Analyzer for ASP.NET
Microsoft Web Application
Configuration Analyzer v2.0
http://beshkov.ru
http://twitter.com/abeshkov
abeshkov@microsoft.com

More Related Content

PPT
Positive Hack Days. Гуркин. Нулевой день для SCADA (0-day)
PDF
Как мануальный тестировщик может базово протестировать безопасность, Евгений ...
PPTX
Solar inCode – система анализа программного кода на наличие уязвимостей ИБ
PPTX
Solar inView: Безопасность под контролем
PDF
ЄВГЕНІЙ ТОЛЧИНСКИЙ «Як manual QA може протестувати проект з боку security» QA...
PDF
Как мануальный тестировщик может базово протестировать безопасность, Евгений ...
PDF
Eset. Пётр Лебедев. "Защита виртуальных систем"
PPT
VMware User Group Community Russia, Константин Пичугов
Positive Hack Days. Гуркин. Нулевой день для SCADA (0-day)
Как мануальный тестировщик может базово протестировать безопасность, Евгений ...
Solar inCode – система анализа программного кода на наличие уязвимостей ИБ
Solar inView: Безопасность под контролем
ЄВГЕНІЙ ТОЛЧИНСКИЙ «Як manual QA може протестувати проект з боку security» QA...
Как мануальный тестировщик может базово протестировать безопасность, Евгений ...
Eset. Пётр Лебедев. "Защита виртуальных систем"
VMware User Group Community Russia, Константин Пичугов

What's hot (14)

PDF
Практика использования Solar inCode
PDF
актуальные угрозы информационной безопасности. конкурентные преимущества бизн...
PPTX
Acronis Защита данных нового поколения
PPTX
Спроси эксперта. Solar inСode все, что вы хотели узнать про "дыры" в коде, но...
PDF
ESET. Александр Зонов. "ESET. Просто. Удобно. Надежно "
PPTX
Как выбрать правильный IdM управление доступом в крупных компаниях
PDF
новый уровень безопасности бизнеса с Eset
PDF
Sw2009 Kurulum Oku
PPTX
Solar in code: в поисках уязвимостей
PDF
Опыт построения и эксплуатации коммерческого SOC
PPTX
Этичный хакинг или пентестинг в действии
PDF
Тенденции рынка инфраструктуры ЦОД
PDF
Сертификация решений Cisco по требованиям безопасности Часто задаваемые вопро...
PDF
PT ISIM. Обнаружение кибератак на промышленные объекты
Практика использования Solar inCode
актуальные угрозы информационной безопасности. конкурентные преимущества бизн...
Acronis Защита данных нового поколения
Спроси эксперта. Solar inСode все, что вы хотели узнать про "дыры" в коде, но...
ESET. Александр Зонов. "ESET. Просто. Удобно. Надежно "
Как выбрать правильный IdM управление доступом в крупных компаниях
новый уровень безопасности бизнеса с Eset
Sw2009 Kurulum Oku
Solar in code: в поисках уязвимостей
Опыт построения и эксплуатации коммерческого SOC
Этичный хакинг или пентестинг в действии
Тенденции рынка инфраструктуры ЦОД
Сертификация решений Cisco по требованиям безопасности Часто задаваемые вопро...
PT ISIM. Обнаружение кибератак на промышленные объекты
Ad

Similar to Разработка безопасных веб приложений (20)

PPTX
Методы разработки безопасного ПО
PPTX
Практические аспекты разработки безопасного кода с помощью Microsoft SDL
PDF
Andrey Beshkov - Behind the Window Update Scenes. From vulnerability to patсh
PPTX
За кулисами Windows Update. От уязвимости к обновлению.
PDF
Надёжная Kомпьютерная Инициатива - ответ сегодняшним рискам ИT безопасности 2...
PPT
Dr web
 
PDF
Dr web
 
PDF
Dr web
 
PDF
Check Point: предотвращение атак - сделайте 2012 год не таким, как 2011
 
PPTX
Security Testing - Polazhenko Sergey
PDF
калмыков росс 2013
PPTX
Система анализа уязвимостей программных продуктов
PDF
Kaspersky endpoint security 8 для windows и kaspersky security center
PPTX
Тенденции на рынке инфобезопасности (IDC)
PPTX
Безопасная разработка приложений на практике
PDF
Kaspersky Endpoint Security and Control - RUSSIAN
PPTX
Карьерные и финансовые возможности
PPT
Атлас управление рисками и контроль выполнения политики безопасности с помощь...
PDF
Kaspersky endpoint security 8 для windows и kaspersky security center. лиценз...
PDF
Softpromotion 2011 Партнерская конференция SOFTPROM вступление, Павел Жданович
Методы разработки безопасного ПО
Практические аспекты разработки безопасного кода с помощью Microsoft SDL
Andrey Beshkov - Behind the Window Update Scenes. From vulnerability to patсh
За кулисами Windows Update. От уязвимости к обновлению.
Надёжная Kомпьютерная Инициатива - ответ сегодняшним рискам ИT безопасности 2...
Dr web
 
Dr web
 
Dr web
 
Check Point: предотвращение атак - сделайте 2012 год не таким, как 2011
 
Security Testing - Polazhenko Sergey
калмыков росс 2013
Система анализа уязвимостей программных продуктов
Kaspersky endpoint security 8 для windows и kaspersky security center
Тенденции на рынке инфобезопасности (IDC)
Безопасная разработка приложений на практике
Kaspersky Endpoint Security and Control - RUSSIAN
Карьерные и финансовые возможности
Атлас управление рисками и контроль выполнения политики безопасности с помощь...
Kaspersky endpoint security 8 для windows и kaspersky security center. лиценз...
Softpromotion 2011 Партнерская конференция SOFTPROM вступление, Павел Жданович
Ad

More from Andrey Beshkov (20)

PPTX
Биометрическая аутентификация Windows Hello и Microsoft Passport в гибридных ...
PPTX
Как разработчику обеспечить безопасность пользователей и данных в мобильном м...
PPTX
Windows 8 и Windows server 2012. Что нового с точки зрения безопасности?
PPTX
Слепая вера в безопасность или инженерная практика?
PPTX
Защита от вредоносного кода бесплатно.
PPTX
Безопасность гибридных облаков
PPTX
Как донести идею до миллионов?
PPTX
Безопасность филиальных офисов
PPTX
Современные методы борьбы с ботнетами
PPTX
Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003
PPTX
Защита данных с помощью System Center Data Protection Manager 2007
PPTX
Управление гетерогенной инфраструктурой с помощью System Center Operations Ma...
PPTX
DirectAccess - безопасный и прозрачный доступ к корпоративной сети
PPTX
Технологии обеспечения безопасности Windows 7
PPTX
Реализации политик здоровья  и защиты доступа в гетерогенной среде с помощью ...
PPTX
Построение систем виртуализации высокой надежности с помощью Windows server 2...
PPTX
Новые возможности Windows Server 2008 R2 SP1
PPTX
Dynamic Memory в Windows Server 2008 R2 SP1
PPTX
Защита инфраструктуры предприятия с помощью Forefront Endpoint Protection и S...
PPTX
Running Linux and Unix on Hyper-V
Биометрическая аутентификация Windows Hello и Microsoft Passport в гибридных ...
Как разработчику обеспечить безопасность пользователей и данных в мобильном м...
Windows 8 и Windows server 2012. Что нового с точки зрения безопасности?
Слепая вера в безопасность или инженерная практика?
Защита от вредоносного кода бесплатно.
Безопасность гибридных облаков
Как донести идею до миллионов?
Безопасность филиальных офисов
Современные методы борьбы с ботнетами
Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003
Защита данных с помощью System Center Data Protection Manager 2007
Управление гетерогенной инфраструктурой с помощью System Center Operations Ma...
DirectAccess - безопасный и прозрачный доступ к корпоративной сети
Технологии обеспечения безопасности Windows 7
Реализации политик здоровья  и защиты доступа в гетерогенной среде с помощью ...
Построение систем виртуализации высокой надежности с помощью Windows server 2...
Новые возможности Windows Server 2008 R2 SP1
Dynamic Memory в Windows Server 2008 R2 SP1
Защита инфраструктуры предприятия с помощью Forefront Endpoint Protection и S...
Running Linux and Unix on Hyper-V

Разработка безопасных веб приложений

  • 1. Бешков Андрей Руководитель программы информационной безопасности Microsoft http://beshkov.ru http://twitter.com/abeshkov abeshkov@microsoft.com
  • 3. • Сроки запуска проекта горят • Нет ресурсов и специалистов для обеспечения безопасных практик • Мы стартап – нам нужно быстрее стать популярными и заработать много денег • Безопасность необходимое зло
  • 5. после выпуска дороже в 30 раз Относительная стоимость устранения ошибок 30 Выпуск 25 20 15 10 5 0 Требования/ Интеграция/ Финальное После Кодирование Архитектура Тестирование тестирование выпуска компонент Источник: National Institute of Standards and Technology
  • 6. Критические уязвимости через год после выпуска 70 60 50 40 30 20 10 0 Windows XP Windows Vista Windows 7
  • 7. 3,500 3,280 3,322 3,042 2,822 2,869 3,000 2,594 Не Microsoft 2,417 2,500 2,215 2,000 1,500 1,000 500 Microsoft 170 152 97 93 146 113 129 145 0 2H06 1H07 2H07 1H08 2H08 1H09 2H09 1H10
  • 8. 3,500 3079 3110 3,000 2807 2547 2573 2,500 2351 2161 1943 2,000 1,500 1,000 500 259 242 276 310 256 207 237 196 112 96 79 0 122 2H06 1H07 2H07 1H08 2H08 1H09 2H09 1H10 Приложения Браузеры ОС
  • 9. Sun Solaris 10 1191 Red Hat Enterprise Linux Server v.5 1580 FreeBSD 6.x 86 Microsoft Windows Server 2008 302 Apple Mac OS X 1555 Red Hat Enterprise Linux Client v.5 1709 Ubuntu Linux 8.04 (выпуск 2008 год) 1397 Windows XP (выпуск 2001 год) 498 Windows 7 170 Oracle Database 11.x 315 IBM DB2 9.x 98 MySQL 5.x 66 Microsoft SQL Server 2008 1 Mozilla Firefox 4.0 (04.2011) 14 Firefox 3.5.x (2009) 161 Opera 11 (10.2010) 10 Opera 9.x (2008) 56 Google Chrome 11 (04.2011) 30 Chrome 5.x (5.2010) 56 Microsoft Internet Explorer 9 (03.2011) 18 Explorer 8.x (3.2009) 104 Cisco ASA 7.x 71 Microsoft ISA Server 2006 7 Microsoft Forefront TMG 2 В ядре Linux 2.6 — 596 уязвимостей . Почти в 3 раза больше уязвимостей чем в Windows 7
  • 10. SDL – обязательная политика в Майкрософт с 2004 г. Обуче Требо Проекти Реали Провер Реагиро Выпуск ние вания рование зация ка вание Начальное Определение Моделирован Выбор Динамическое План Выполнение владельца от ие угроз инструментов тестирование реагирования плана обучение бизнеса и fuzzing реагирования Анализ Блокировани Заключитель- по Анализ опасных е Проверка ный анализ на инциденты основам рисков областей запрещенных моделей угроз безопасности безопасно безопасности функций и опасных Архив сти и конфиден- Статический областей выпусков циальности анализ Определение требований к качеству Обучение Технология и процесс Ответственность Постоянные улучшения процессов
  • 12. SDL THREAT MODELING TOOL Формализует и упрощает моделирование угроз так чтобы им мог заниматься архитектор
  • 13. Как написать безопасный код на С++, Java, Perl, PHP, ASP. NET Защищенный код для Windows Vista Игра «Spot the vuln» 10 уязвимостей веб проектов - OWASP Top Ten Курсы SANS Книга по SDL Упрощенный SDL Курсы по SDL
  • 16. ПРОТИВОДЕЙСТВИЯ АТАКЕ • Не использовать GET-запросы для внесения изменений в БД и доступа к важным данным
  • 18. ПРОТИВОДЕЙСТВИЯ АТАКЕ ValidateRequest ValidateInput AllowHtml
  • 22. ПРОТИВОДЕЙСТВИЯ АТАКЕ HTTP Referer Html.AntiForgeryToken() ValidateAntiForgeryToken ViewStateUserKey
  • 23. МЕТОД УСТАРЕЛ, ПРИМЕНИМ ТОЛЬКО ДЛЯ СТАРЫХ БРАУЗЕРОВ [{"Id":1,"Amt":3.14},{"Id":2,"Amt":2.72}] Конструкция <script src="http://example.com/Home/AdminBalances"></script> загружает JSON-массив как валидный JavaScript код и выполняет его. __defineSetter__
  • 24. ПРОТИВОДЕЙСТВИЯ АТАКЕ {"d" : "bankaccountnumber", "$1234.56" } __defineSetter__ для данной атаки больше
  • 26. ПРОТИВОДЕЙСТВИЯ АТАКЕ • [Bind(Include = ―Title‖, Exclude = ―ViewCount‖)] • Использовать Data Transfer Objects (DTO) - модели данных представлений, отличные от моделей данных
  • 28. WPL • http://wpl.codeplex.com/
  • 33. Вебсайт SDL The Simplified Implementation of the SDL Блог об SDL Microsoft Enterprise Library Microsoft Web Protection Library Best Practice Analyzer for ASP.NET Microsoft Web Application Configuration Analyzer v2.0