SlideShare uma empresa Scribd logo
1 de 40
Шо не так з безпекою коду і
шо з цим можна зробити
Володимир Стиран
OSCP CISSP CISA
berezhasecurity.com
Попередження
Псевдонаука: мала вибірка, без peer-review
Повністю базується на моєму досвіді
Якщо ви впізнаєте себе, не паліться
Типу план
З безпекою коду щось
явно не так. Крапка.
Відкриті питання:
1. Хто гальмує?
2. Шо робиться не так?
3. Що з цим робити?
Хто стейк-холдери?
Розробники:
• Поняття зеленого не мають про безпеку
• Думають лише про фічі і дедлайни
ІБшники:
• Поняття зеленого не мають про розробку
• Думають про бюджет, ризики і комплаянс
Менеджери:
• Цих ми не чіпатимемо
Шо не так з
розробниками?
Не бачать в безпеці фічу
Вважають, шо код безпечний
сам по собі
Згадують про безпеку, коли
клієнт починає ставити питання
Думають, що шарять в безпеці,
тому що читають дивних
персонажів в Facebook
Шо не так з
стартапами?
Не думають про безпеку
взагалі
Не мають грошей на безпеку
Змушені починати захищатися
• коли виходять на великий
ринок
• коли вже не є стартапом
(підказка: вже пізно)
Шо не так із
ІБшниками?
Прийшли з ІТ-інфраструктури або ПОО
Зайняті встановленням правил
(“паперові тигри”) та засобів безпеки
(“блимаючі скриньки”)
Так само, як і розробники, вірять, що
«пентест» або «скан коду» розв’яжуть
всі їхні проблеми
Вірять в істинність Найкращих Практик
Де гальмують?
Вірять, що код безпечний за
замовчуванням
Вірять, що безпека це «процес»,
«проект» чи ще якась окрема річ
Вірять в «найкращі практики»
Не розрізняють безпеку коду та
безпеку бізнесу
Поспішають автоматизувати
безпеку
Приклади?
7-eleven Japan
3 дні
55 млн ієн ($500,000)
Причина: відсутність перевірки
email під час відновлення
паролю в додатку 7pay
(програма лояльності)
Приклади?
Cisco Data Center Network Manager
Завантаження довільного файлу
Виконання довільного коду
Причина: обхід автентифікації
через «неправильні налаштування
доступу»
Приклади?
Zoom
«Приєднання до конференції»
відвідувача веб-сайту
Причина: встановлення
локального вебсервера, який
• «допомагає» приєднуватися
до конференцій та
• перевстановлює Zoom, якщо
ви його «раптом» видалите
Справжні приклади
Facebook Graph Search +
Unrestricted access to API +
Poor user authorization +
Surveillance business model +
No respect to privacy =
В хорошому коді багів немає
В найкращому коді незліченна
кількість багів
When Lemon Markets, Imposter Syndrome & Dunning–Kruger collide - Haroon Meer
https://www.youtube.com/watch?v=YCijTioaCDw
Безпека це проект
Безпека це процес
Безпека це відчуття
Безпека це проект
Безпека це процес
Безпека це відчуття
Безпека це проект
Безпека це процес
Безпека це усвідомлення
Безпека бізнесу vs. Безпека продукту
Закони, вимоги та контракти
Доступ до бізнес-систем
Внутрішні контролі
Фінансові дані
Персональні дані працівників
Захист власності
Доступність даних
etc.
Безпека бізнесу vs. Безпека продукту
Безпека користувачів
Безпека від користувачів
Безпека від зловмисників
Безпека від конкурентів
Безпека та функціональність
etc.
Найкращі практики
Адекватні практики
• ISO/IEC 27034
• NIST 800-37 and 800-53
• OWASP ASVS
• OWASP TG
• OWASP SAMM
• OWASP Top-10
• WAHH
• BC NGPT
• STFU && GTFO
Безпека це нудно.
Давайте автоматизуємо!
www.cossacklabs.com
Справжнє обличчя автоматизації
DAST (Security Scanner)
Не знає нічого про код
Видає баги вводу/виводу
КПД 15%
Вимагає експерта за кермом
Дешевший за SAST
SAST (Source Code Analyzer)
Знає все про ваш код, але нічого
не розуміє
Бачить баги імплементації, але
не бізнес-логіки
КПД 274% (з 1078% можливих)
Коштує в 10-100 разів дорожче
за DAST
Підсумуємо
Розробник без спеціальної
підготовки
Повинен писати захищений код
В якому буде лише декілька багів
І їх всі знайдуть сканер безпеки та
аналізатор коду
Задарма
… але є виключення
Як розпізнати
супергероя
1. За безпеку відповідають окремі люди
2. За безпеку бізнесу та безпеку продукту
відповідають різні люди
3. Згадують про безпеку вчасно (хоча
ніколи не пізно)
4. Користуються принципами побудови
безпечних систем
5. Обирають правильні технологічні стеки
6. Постійно шукають баги в своїх
продуктах
7. Коли не можуть знайти – кличуть інших
Що можна зробити
просто зараз?
• Тренінг для команди
• Моделювання загроз
• Пошук багів
Тренінг для команди
розробки
Application Security Awareness
Security Champions
Спеціальні тренінги:
• Архітектори: безпечна архітектура
та вимоги безпеки
• Розробники: безпечне кодування,
ревю безпеки коду
• QA: тестування вимог безпеки,
тестування безпеки, пентести
University of
Maryland
Software Security
https://www.coursera.or
g/learn/software-
security/
Моделювання загроз
1. Що ми будуємо?
2. Що може піти не так?
3. Що з цим робити?
4. Як перевірити?
How to get started with Threat Modeling, before you get hacked - Alex Wauters
https://hackernoon.com/how-to-get-started-with-threat-modeling-before-you-get-hacked-1bf0ea3310df
Що може піти
не так?
S: Spoofing
T: Tempering
R: Repudiation
I: Information leakage
D: Denial of service
E: Elevation of privilege
Adam Shostack - Learning Threat Modeling for Security Professionals
https://www.linkedin.com/learning/learning-threat-modeling-for-security-professionals
Та що з цим робити?
Тримайте дизайн відкритим
Спрощуйте де можливо
Безпека за замовчуванням
Давайте менше прав
Розділяйте привілеї
Розділяйте функціональність
Централізуйте доступ
Багатошарова безпека
Захищайте найслабшу ланку
Безпека повинна бути юзабельна
Ross Anderson - Security Engineering
https://www.cl.cam.ac.uk/~rja14/book.html
Пошук багів
Просунутим: Techmaker’s
appsec course
Початківцям: Berezha
Security appsec course
Самоучкам: BugCrowd’s
BugHunting 101 та інші
відкриті ресурси
Просто спробуйте хантити:
HackerOne, BugCrowd,
Synack, Intigrity…
Що далі?
З чого почати?
OWASP Kyiv https://owasp.kyiv.ua
AppSec Awareness Training notes
Awesome AppSec curated list
AppSec Course on Coursera
Web Applications Hacker’s Handbook
Ross Anderson’s Security Engineering book
Startup Security
Health Check
1 день з експертами по безпеці:
• Технічне інтерв’ю з командою
• Сесія з моделювання загроз
• Експрес-оцінка захищеності MVP
• Висновки та плани на майбутнє
Українським стартапам –
безкоштовно
Як мене знайти
sapran@berezhasecurity.com
https://fb.me/vstyran
@arunninghacker
https://t.me/arunningh4x0r
What Is Wrong With Software Security And How We Can Fix It

Mais conteúdo relacionado

Mais de Vlad Styran

Центр оперативного управления информационной безопасностью
Центр оперативного управления информационной безопасностьюЦентр оперативного управления информационной безопасностью
Центр оперативного управления информационной безопасностью
Vlad Styran
 
Прелюдия к атаке: практика и автоматизация OSINT
Прелюдия к атаке: практика и автоматизация OSINTПрелюдия к атаке: практика и автоматизация OSINT
Прелюдия к атаке: практика и автоматизация OSINT
Vlad Styran
 
Next generation pentest your company cannot buy
Next generation pentest your company cannot buyNext generation pentest your company cannot buy
Next generation pentest your company cannot buy
Vlad Styran
 
Социальные аспекты ИБ
Социальные аспекты ИБСоциальные аспекты ИБ
Социальные аспекты ИБ
Vlad Styran
 
Процедура внедрения СУИБ в банке: основные шаги и подводные камни
Процедура внедрения СУИБ в банке: основные шаги и подводные камниПроцедура внедрения СУИБ в банке: основные шаги и подводные камни
Процедура внедрения СУИБ в банке: основные шаги и подводные камни
Vlad Styran
 
Социальная инженерия для инженеров
Социальная инженерия для инженеровСоциальная инженерия для инженеров
Социальная инженерия для инженеров
Vlad Styran
 

Mais de Vlad Styran (19)

BruCON 0x09 Building Security Awareness Programs That Don't Suck
BruCON 0x09 Building Security Awareness Programs That Don't SuckBruCON 0x09 Building Security Awareness Programs That Don't Suck
BruCON 0x09 Building Security Awareness Programs That Don't Suck
 
Организация, культура, и управление кибер-безопасностью
Организация, культура, и управление кибер-безопасностьюОрганизация, культура, и управление кибер-безопасностью
Организация, культура, и управление кибер-безопасностью
 
Cybersecurity Framework 021214 Final UA
Cybersecurity Framework 021214 Final UACybersecurity Framework 021214 Final UA
Cybersecurity Framework 021214 Final UA
 
Fantastic Beasts and where to hide from them
Fantastic Beasts and where to hide from themFantastic Beasts and where to hide from them
Fantastic Beasts and where to hide from them
 
Кібер-Шмібер
Кібер-ШміберКібер-Шмібер
Кібер-Шмібер
 
Recon-Fu @BsidesKyiv 2016
Recon-Fu @BsidesKyiv 2016Recon-Fu @BsidesKyiv 2016
Recon-Fu @BsidesKyiv 2016
 
Berezha Security
Berezha SecurityBerezha Security
Berezha Security
 
#root это только начало
#root это только начало#root это только начало
#root это только начало
 
Путевые заметки социального инженера
Путевые заметки социального инженераПутевые заметки социального инженера
Путевые заметки социального инженера
 
Наступательная безопасность: шпаргалка заказчика тестов на проникновение
Наступательная безопасность: шпаргалка заказчика тестов на проникновениеНаступательная безопасность: шпаргалка заказчика тестов на проникновение
Наступательная безопасность: шпаргалка заказчика тестов на проникновение
 
Построение Secure Development Lifecycle
Построение Secure Development Lifecycle Построение Secure Development Lifecycle
Построение Secure Development Lifecycle
 
Использование приватных, публичных и гибридных облаков для обеспечения информ...
Использование приватных, публичных и гибридных облаков для обеспечения информ...Использование приватных, публичных и гибридных облаков для обеспечения информ...
Использование приватных, публичных и гибридных облаков для обеспечения информ...
 
Центр оперативного управления информационной безопасностью
Центр оперативного управления информационной безопасностьюЦентр оперативного управления информационной безопасностью
Центр оперативного управления информационной безопасностью
 
Прелюдия к атаке: практика и автоматизация OSINT
Прелюдия к атаке: практика и автоматизация OSINTПрелюдия к атаке: практика и автоматизация OSINT
Прелюдия к атаке: практика и автоматизация OSINT
 
Next generation pentest your company cannot buy
Next generation pentest your company cannot buyNext generation pentest your company cannot buy
Next generation pentest your company cannot buy
 
правда про ложь
правда про ложьправда про ложь
правда про ложь
 
Социальные аспекты ИБ
Социальные аспекты ИБСоциальные аспекты ИБ
Социальные аспекты ИБ
 
Процедура внедрения СУИБ в банке: основные шаги и подводные камни
Процедура внедрения СУИБ в банке: основные шаги и подводные камниПроцедура внедрения СУИБ в банке: основные шаги и подводные камни
Процедура внедрения СУИБ в банке: основные шаги и подводные камни
 
Социальная инженерия для инженеров
Социальная инженерия для инженеровСоциальная инженерия для инженеров
Социальная инженерия для инженеров
 

What Is Wrong With Software Security And How We Can Fix It

  • 1. Шо не так з безпекою коду і шо з цим можна зробити Володимир Стиран OSCP CISSP CISA berezhasecurity.com
  • 2.
  • 3.
  • 4.
  • 5. Попередження Псевдонаука: мала вибірка, без peer-review Повністю базується на моєму досвіді Якщо ви впізнаєте себе, не паліться
  • 6. Типу план З безпекою коду щось явно не так. Крапка. Відкриті питання: 1. Хто гальмує? 2. Шо робиться не так? 3. Що з цим робити?
  • 7. Хто стейк-холдери? Розробники: • Поняття зеленого не мають про безпеку • Думають лише про фічі і дедлайни ІБшники: • Поняття зеленого не мають про розробку • Думають про бюджет, ризики і комплаянс Менеджери: • Цих ми не чіпатимемо
  • 8. Шо не так з розробниками? Не бачать в безпеці фічу Вважають, шо код безпечний сам по собі Згадують про безпеку, коли клієнт починає ставити питання Думають, що шарять в безпеці, тому що читають дивних персонажів в Facebook
  • 9. Шо не так з стартапами? Не думають про безпеку взагалі Не мають грошей на безпеку Змушені починати захищатися • коли виходять на великий ринок • коли вже не є стартапом (підказка: вже пізно)
  • 10. Шо не так із ІБшниками? Прийшли з ІТ-інфраструктури або ПОО Зайняті встановленням правил (“паперові тигри”) та засобів безпеки (“блимаючі скриньки”) Так само, як і розробники, вірять, що «пентест» або «скан коду» розв’яжуть всі їхні проблеми Вірять в істинність Найкращих Практик
  • 11. Де гальмують? Вірять, що код безпечний за замовчуванням Вірять, що безпека це «процес», «проект» чи ще якась окрема річ Вірять в «найкращі практики» Не розрізняють безпеку коду та безпеку бізнесу Поспішають автоматизувати безпеку
  • 12. Приклади? 7-eleven Japan 3 дні 55 млн ієн ($500,000) Причина: відсутність перевірки email під час відновлення паролю в додатку 7pay (програма лояльності)
  • 13. Приклади? Cisco Data Center Network Manager Завантаження довільного файлу Виконання довільного коду Причина: обхід автентифікації через «неправильні налаштування доступу»
  • 14. Приклади? Zoom «Приєднання до конференції» відвідувача веб-сайту Причина: встановлення локального вебсервера, який • «допомагає» приєднуватися до конференцій та • перевстановлює Zoom, якщо ви його «раптом» видалите
  • 15. Справжні приклади Facebook Graph Search + Unrestricted access to API + Poor user authorization + Surveillance business model + No respect to privacy =
  • 16.
  • 17. В хорошому коді багів немає В найкращому коді незліченна кількість багів When Lemon Markets, Imposter Syndrome & Dunning–Kruger collide - Haroon Meer https://www.youtube.com/watch?v=YCijTioaCDw
  • 18. Безпека це проект Безпека це процес Безпека це відчуття
  • 19. Безпека це проект Безпека це процес Безпека це відчуття
  • 20. Безпека це проект Безпека це процес Безпека це усвідомлення
  • 21. Безпека бізнесу vs. Безпека продукту Закони, вимоги та контракти Доступ до бізнес-систем Внутрішні контролі Фінансові дані Персональні дані працівників Захист власності Доступність даних etc.
  • 22. Безпека бізнесу vs. Безпека продукту Безпека користувачів Безпека від користувачів Безпека від зловмисників Безпека від конкурентів Безпека та функціональність etc.
  • 23. Найкращі практики Адекватні практики • ISO/IEC 27034 • NIST 800-37 and 800-53 • OWASP ASVS • OWASP TG • OWASP SAMM • OWASP Top-10 • WAHH • BC NGPT • STFU && GTFO
  • 24. Безпека це нудно. Давайте автоматизуємо! www.cossacklabs.com
  • 25. Справжнє обличчя автоматизації DAST (Security Scanner) Не знає нічого про код Видає баги вводу/виводу КПД 15% Вимагає експерта за кермом Дешевший за SAST SAST (Source Code Analyzer) Знає все про ваш код, але нічого не розуміє Бачить баги імплементації, але не бізнес-логіки КПД 274% (з 1078% можливих) Коштує в 10-100 разів дорожче за DAST
  • 26. Підсумуємо Розробник без спеціальної підготовки Повинен писати захищений код В якому буде лише декілька багів І їх всі знайдуть сканер безпеки та аналізатор коду Задарма
  • 27.
  • 28. … але є виключення
  • 29. Як розпізнати супергероя 1. За безпеку відповідають окремі люди 2. За безпеку бізнесу та безпеку продукту відповідають різні люди 3. Згадують про безпеку вчасно (хоча ніколи не пізно) 4. Користуються принципами побудови безпечних систем 5. Обирають правильні технологічні стеки 6. Постійно шукають баги в своїх продуктах 7. Коли не можуть знайти – кличуть інших
  • 30. Що можна зробити просто зараз? • Тренінг для команди • Моделювання загроз • Пошук багів
  • 31. Тренінг для команди розробки Application Security Awareness Security Champions Спеціальні тренінги: • Архітектори: безпечна архітектура та вимоги безпеки • Розробники: безпечне кодування, ревю безпеки коду • QA: тестування вимог безпеки, тестування безпеки, пентести
  • 33. Моделювання загроз 1. Що ми будуємо? 2. Що може піти не так? 3. Що з цим робити? 4. Як перевірити? How to get started with Threat Modeling, before you get hacked - Alex Wauters https://hackernoon.com/how-to-get-started-with-threat-modeling-before-you-get-hacked-1bf0ea3310df
  • 34. Що може піти не так? S: Spoofing T: Tempering R: Repudiation I: Information leakage D: Denial of service E: Elevation of privilege Adam Shostack - Learning Threat Modeling for Security Professionals https://www.linkedin.com/learning/learning-threat-modeling-for-security-professionals
  • 35. Та що з цим робити? Тримайте дизайн відкритим Спрощуйте де можливо Безпека за замовчуванням Давайте менше прав Розділяйте привілеї Розділяйте функціональність Централізуйте доступ Багатошарова безпека Захищайте найслабшу ланку Безпека повинна бути юзабельна Ross Anderson - Security Engineering https://www.cl.cam.ac.uk/~rja14/book.html
  • 36. Пошук багів Просунутим: Techmaker’s appsec course Початківцям: Berezha Security appsec course Самоучкам: BugCrowd’s BugHunting 101 та інші відкриті ресурси Просто спробуйте хантити: HackerOne, BugCrowd, Synack, Intigrity…
  • 37. Що далі? З чого почати? OWASP Kyiv https://owasp.kyiv.ua AppSec Awareness Training notes Awesome AppSec curated list AppSec Course on Coursera Web Applications Hacker’s Handbook Ross Anderson’s Security Engineering book
  • 38. Startup Security Health Check 1 день з експертами по безпеці: • Технічне інтерв’ю з командою • Сесія з моделювання загроз • Експрес-оцінка захищеності MVP • Висновки та плани на майбутнє Українським стартапам – безкоштовно

Notas do Editor

  1. Мене трошки поносило, я працював в великих компаніях, маленьких компаніях… Зараз в мене власна компанія і ми займаємося тим, що допомагаємо іншим компаніям менше страждати.
  2. В мене є ціла пачка різних професійних сертифікатів, деякі з них я тут вказав. Це такі магічні закляття, ви їх вимовляєте, і всі навколо одразу починають вам вірити. Прям як в DOOMi, коли вводите IDDQD. А, я бачу тут доволі молода у нас аудиторія: DOOM це така стара комп’ютерна гра, типу Fortnite тільки з більш натуральною графікою. Щось з цього актуально, щось ні. Чимось я пишаюся, чимось не дуже. От OSCP може хтось знає? Ну от я ніби в п’ятірці перших OSCP в Україні. Це така медалька, яка засвідчує, шо я можу поїхати на хакерську конференцію і там з народом пити пиво і спілкуватися, і при цьому мати шанси не зморозити якусь фігню. От CISA наприклад означає шо я можу працювати аудитором, знаєте шо це? Це коли я прихожу в офіс, відкриваю двері, там такий опенспейс на весь поверх, і всі такі – привіт Вова! Звісно ж ні, всі одразу втупляться в монітор, «тільки б не до мене, тільки б не до мене…» Ну CISSP ви напевно всі знаєте… не знаєте? Це короче такий сертифікат, яким нагороджують за знання про все; от треба про все в безпеці знати хоч трохи. Наприклад, я знаю, якими типами протигазів тушити які типи пожеж. Ну або принаймні знав в день іспиту.
  3. І я дуже багато активнічаю в плані розбудови спільноти … Я один з засновників UISG, це Українська група інформаційної безпеки. Інформаційна безпека це майже як кібербезпека, тільки кібербезпека вона як фіча, а ІБ це баг. Я десять років брав участь в організації конференції UISGCON, потім заснував іншу конференцію: NoNameCon. Ще я веду подкаст, називається NoNamePodcast. В мене взагалі не дуже добре з уявою. Ще ми з колегами заснували київське відділення OWASP, знаєте шо таке OWASP? О, бачу люди знають. OWASP це такий монстр, який приходить за поганими айтішниками, коли вони сплять, і сниться їм у вигляді неотриманих бонусів. Вам цього всього зараз знати не треба, я про це розповідаю, суто щоб ви розуміли, як безвідповідально я витрачаю своє життя.
  4. Just to give you an idea: HP (while still owning Fortify) made a survey between its customers, mostly development personnel, to measure their level of understanding of application security matters. Significant faction of respondents defined application security as security controls for software development process, such as access control to repositories and
  5. Вірять, що код має кілька вразливостей, які можна «просканувати» та виправити перед релізом
  6. У нас це називається persistence. Хочете прикол? Ці три приклади сталися з початку місяця.
  7. SAST is basically a lie. Both statistical and random ASTs don’t work very well. All this can be neatly integrated into a CI/CD pipeline to give you the highest level of false sense of security.
  8. Come to a consultant and as for a pentest. For 2 weeks and 4k USD. And expect a clean report. How the hackers changed the game in the early 2000’s.