Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндексyaevents
Тарас Иващенко, Яндекс
Администратор информационной безопасности в Яндексе. Специалист по информационной безопасности, проповедник свободного программного обеспечения, автор Termite, xCobra и участник проекта W3AF.
Тема доклада
Сканирование уязвимостей со вкусом Яндекса.
Тезисы
В докладе будет рассказано о внедрении в Яндексе сканирования сервисов на уязвимости как одного из контроля безопасности в рамках SDLC (Secure Development Life Cycle). Речь пойдет о сканировании уязвимостей на этапе тестирования сервисов, а также о сканировании сервисов, находящихся в промышленной эксплуатации. Мы рассмотрим проблемы, с которыми столкнулись, и объясним, почему в качестве основного механизма решили выбрать открытое программное обеспечение (сканер уязвимостей w3af), доработанное под наши нужды.
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей БуровPositive Hack Days
1. Система мониторинга ресурсов различных отделов
2. Шаблоны и роли серверов, разграничение доступа и зон ответственности
3. ptzabbixtools - конфигурация мониторинга на целевых серверах
4. Пример встраивания системы мониторинга в процессы разработки/тестирования
Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндексyaevents
Тарас Иващенко, Яндекс
Администратор информационной безопасности в Яндексе. Специалист по информационной безопасности, проповедник свободного программного обеспечения, автор Termite, xCobra и участник проекта W3AF.
Тема доклада
Сканирование уязвимостей со вкусом Яндекса.
Тезисы
В докладе будет рассказано о внедрении в Яндексе сканирования сервисов на уязвимости как одного из контроля безопасности в рамках SDLC (Secure Development Life Cycle). Речь пойдет о сканировании уязвимостей на этапе тестирования сервисов, а также о сканировании сервисов, находящихся в промышленной эксплуатации. Мы рассмотрим проблемы, с которыми столкнулись, и объясним, почему в качестве основного механизма решили выбрать открытое программное обеспечение (сканер уязвимостей w3af), доработанное под наши нужды.
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей БуровPositive Hack Days
1. Система мониторинга ресурсов различных отделов
2. Шаблоны и роли серверов, разграничение доступа и зон ответственности
3. ptzabbixtools - конфигурация мониторинга на целевых серверах
4. Пример встраивания системы мониторинга в процессы разработки/тестирования
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...Mail.ru Group
Существует мнение, что от разработчиков системы автоматизированных тестов требуется высокая квалификация в области разработки программного обеспечения и солидный багаж знаний. Обычно таких людей в команде тестирования не много. Но можно начать работы по качественной автоматизации тестирования, даже не имея такого опыта. В докладе речь пойдет о:
отборе рекрутов в программу обучения автоматизации тестирования;
первичном пороге для вхождения в рекруты;
составлении учебной программы;
промежуточном контроле и испытаниях;
начале работы над реальными проектами;
подводных камнях и ошибках, которые можно допустить.
Применение этих знаний на собственном опыте позволило компании получить высокое покрытие проекта тестами и достичь результатов, когда каждый из команды разрабатывает и поддерживает автотесты, а также самостоятельно автоматизирует новые проекты.
Be productive with Javascript in the end of 2016 DataArt
Annotation: Today Javascript is one of the fastest growing programming languages. For the year to update and create a huge number of new libraries, frameworks, and development tools. We will look at the mainstream and well known tools, methodologies and approaches that allow you to be productive and effective with JS. There are a lot of code and examples under the hood.
In scope:
• Classes and Modules
• Promises, Generators, Async/Await
• Other ES6 magic
• Linters & JavaScript style guides
• Testing: TDD, BDD, Debugging
• Build tools
• IDEs
Алексей Петров, Mail.Ru Group, "Организация конвейера автоматизации тестирова...Mail.ru Group
Доклад о том, с чего начать выстраивать конвейер автоматизации тестирования. Как не утопить автоматизацию в мнимых штампах и стереотипах, построив по-настоящему эффективный процесс автоматизации тестирования.
Поделюсь опытом и расскажу:
- о том, с чего начать автоматизацию тестирования;
- о том, что делает автоматизированные тесты выгодными;
- как научить "зарабатывать" автотесты;
- о том, как превратить точечное написание автоматизирвоанных тестов в стройный конвейер с отлаженными процессами;
- о популярных ошибках и заблуждениях автоматизации тестирования и о том, как их избегать;
- о сопутствующих инструментах и лайфхаках из практики.
Доклад содержит полезные советы, как для тех, кто только думает внедрить автоматизацию тестирования, так и для тех, кто уже вовсю автоматизирует, но сталкивается с проблемами их эффективной работы или желает сделать автотесты еще более полезными.
Вадим Козлов, Илья Казначеев - Selenium через SAPIlya Kaznacheev
Выступление на SAP Community Day Spring 2017
История о том, как автоматизировать тестирование BSP и не только, и как управлять этим процессом из SAP ERP
От экспериментального программирования к промышленному: путь длиной в 10 летPositive Hack Days
Разработка наукоемкого программного обеспечения отличается тем, что нет ни четкой постановки задачи, ни понимания, что получится в результате. Однако даже этом надо программировать то, что надо, и как надо. Докладчик расскажет о том, как ее команда успешно разработала и вывела в промышленную эксплуатацию несколько наукоемких продуктов, пройдя непростой путь от эксперимента, результатом которого был прототип, до промышленных версий, которые успешно продаются как на российском, так и на зарубежном рынках. Этот путь был насыщен сложностями и качественными управленческими решениями, которыми поделится докладчик
[1.2] Трюки при анализе защищенности веб приложений – продвинутая версия - С...OWASP Russia
This document summarizes techniques for detecting XXE and SSRF vulnerabilities using DNS records. It describes how an attacker can configure their own DNS server to return their IP address instead of the actual domain, allowing them to detect if the application makes external requests. It also discusses challenges of detecting these vulnerabilities, and provides examples of how to test for them including checking web server access logs for requests to domains controlled by the attacker. The document then covers additional techniques like bypassing content security policies, detecting real users behind Cloudflare, and exploiting URL encoding to bypass input filtering.
Automated and unified opensource web application testingnavajanegra
GoLismero es un framework de código abierto para crear herramientas de pruebas de seguridad que permite unificar diferentes herramientas existentes para evitar reinventar la rueda. Proporciona una API bien documentada y permite extenderlo fácilmente, trabajando con estándares como CVE y CWE. Sirve para realizar auditorías de seguridad que incluyen fases como reconocimiento, limpieza, intrusión y escaneo.
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...Mail.ru Group
Существует мнение, что от разработчиков системы автоматизированных тестов требуется высокая квалификация в области разработки программного обеспечения и солидный багаж знаний. Обычно таких людей в команде тестирования не много. Но можно начать работы по качественной автоматизации тестирования, даже не имея такого опыта. В докладе речь пойдет о:
отборе рекрутов в программу обучения автоматизации тестирования;
первичном пороге для вхождения в рекруты;
составлении учебной программы;
промежуточном контроле и испытаниях;
начале работы над реальными проектами;
подводных камнях и ошибках, которые можно допустить.
Применение этих знаний на собственном опыте позволило компании получить высокое покрытие проекта тестами и достичь результатов, когда каждый из команды разрабатывает и поддерживает автотесты, а также самостоятельно автоматизирует новые проекты.
Be productive with Javascript in the end of 2016 DataArt
Annotation: Today Javascript is one of the fastest growing programming languages. For the year to update and create a huge number of new libraries, frameworks, and development tools. We will look at the mainstream and well known tools, methodologies and approaches that allow you to be productive and effective with JS. There are a lot of code and examples under the hood.
In scope:
• Classes and Modules
• Promises, Generators, Async/Await
• Other ES6 magic
• Linters & JavaScript style guides
• Testing: TDD, BDD, Debugging
• Build tools
• IDEs
Алексей Петров, Mail.Ru Group, "Организация конвейера автоматизации тестирова...Mail.ru Group
Доклад о том, с чего начать выстраивать конвейер автоматизации тестирования. Как не утопить автоматизацию в мнимых штампах и стереотипах, построив по-настоящему эффективный процесс автоматизации тестирования.
Поделюсь опытом и расскажу:
- о том, с чего начать автоматизацию тестирования;
- о том, что делает автоматизированные тесты выгодными;
- как научить "зарабатывать" автотесты;
- о том, как превратить точечное написание автоматизирвоанных тестов в стройный конвейер с отлаженными процессами;
- о популярных ошибках и заблуждениях автоматизации тестирования и о том, как их избегать;
- о сопутствующих инструментах и лайфхаках из практики.
Доклад содержит полезные советы, как для тех, кто только думает внедрить автоматизацию тестирования, так и для тех, кто уже вовсю автоматизирует, но сталкивается с проблемами их эффективной работы или желает сделать автотесты еще более полезными.
Вадим Козлов, Илья Казначеев - Selenium через SAPIlya Kaznacheev
Выступление на SAP Community Day Spring 2017
История о том, как автоматизировать тестирование BSP и не только, и как управлять этим процессом из SAP ERP
От экспериментального программирования к промышленному: путь длиной в 10 летPositive Hack Days
Разработка наукоемкого программного обеспечения отличается тем, что нет ни четкой постановки задачи, ни понимания, что получится в результате. Однако даже этом надо программировать то, что надо, и как надо. Докладчик расскажет о том, как ее команда успешно разработала и вывела в промышленную эксплуатацию несколько наукоемких продуктов, пройдя непростой путь от эксперимента, результатом которого был прототип, до промышленных версий, которые успешно продаются как на российском, так и на зарубежном рынках. Этот путь был насыщен сложностями и качественными управленческими решениями, которыми поделится докладчик
[1.2] Трюки при анализе защищенности веб приложений – продвинутая версия - С...OWASP Russia
This document summarizes techniques for detecting XXE and SSRF vulnerabilities using DNS records. It describes how an attacker can configure their own DNS server to return their IP address instead of the actual domain, allowing them to detect if the application makes external requests. It also discusses challenges of detecting these vulnerabilities, and provides examples of how to test for them including checking web server access logs for requests to domains controlled by the attacker. The document then covers additional techniques like bypassing content security policies, detecting real users behind Cloudflare, and exploiting URL encoding to bypass input filtering.
Automated and unified opensource web application testingnavajanegra
GoLismero es un framework de código abierto para crear herramientas de pruebas de seguridad que permite unificar diferentes herramientas existentes para evitar reinventar la rueda. Proporciona una API bien documentada y permite extenderlo fácilmente, trabajando con estándares como CVE y CWE. Sirve para realizar auditorías de seguridad que incluyen fases como reconocimiento, limpieza, intrusión y escaneo.
1) The document discusses XPath, an XML query language used to select nodes from an XML document. It provides examples of how XPath can be used to query nodes based on attributes, children, and other properties.
2) The document then discusses how XPath injection could allow an attacker to bypass authentication, bypass business logic, or extract arbitrary data from an XML database if user input is not sanitized in XPath queries.
3) Useful XPath functions like count, name, substring are demonstrated that could help an attacker crawl through and extract information from an XML structure. True/false-based blind XPath injection techniques are also presented.
This document discusses using DNS exfiltration to extract data from a SQL injection vulnerability when other techniques like time-based or boolean-based injections are too slow. It explains how SQL query results can be encoded and included in DNS lookup requests to a domain controlled by the attacker. This allows extracting one character or part of the result per request much faster than bit-by-bit techniques. The document provides examples for Microsoft SQL Server, Oracle, MySQL and PostgreSQL. It also describes how this technique has been integrated into the sqlmap tool to automatically attempt DNS exfiltration when other techniques fail or are inefficient.
Виталий Балашов - Гарантированное уничтожение информацииHackIT Ukraine
В рамках воркшопа будет рассмотрен процес гарантированного уничтожения информации от начала до конца. Слушатели узнают о стандартах, принятых в разных странах, в том числе в Украине, поймут разницу между ними. Желающие смогут своими руками надежно и ненадежно уничтожить информацию, попытаться её восстановить, научатся основам восстановления вручную. По итогам каждый для себя сможет ответить на вопрос о необходимом количестве проходов перезаписи, даже задать вопрос об остаточной намагниченности.
[HackInTheBox] Breaking virtualization by any meansMoabi.com
The document discusses various techniques for attacking virtualization systems and escalating privileges. It begins with an overview of virtualization definitions and market shares. It then covers methods such as privilege escalation on guest systems and the host, attacking isolation between guest operating systems, denial of service attacks targeting both the host and guests, and escaping the virtualized environment to the host system. Specific vulnerabilities and research are referenced to illustrate different attack vectors. The document concludes with a discussion of fuzzing the hypervisor or host operating system through techniques like virtual 8086 mode, I/O port fuzzing, and PCI device fuzzing to identify new ways to escalate privileges on the host system.
[3.3] Detection & exploitation of Xpath/Xquery Injections - Boris SavkovOWASP Russia
This document summarizes techniques for detecting and exploiting XPath and XQuery injections. It discusses Boolean-based, time-based, request-based, and union-based injection techniques and provides examples of vulnerable XML documents and code. Specific techniques covered include using functions like count(), string-length(), and substring() for Boolean-based injections, time delays with reverse() for time-based injections, and concatenating URLs and files with doc() and unparsed-text() for request-based injections.
Web Application Firewalls: Advanced analysis of detection logic mechanisms, V...OWASP Russia
This document summarizes a presentation on analyzing the detection logic of web application firewalls (WAFs). It discusses two methods for bypassing WAF rules: 1) Syntax bypassing regular expressions used by WAFs and 2) Unexpectedly bypassing the primary logic of tools like libinjection that WAFs rely on. It also demonstrates a SQL fuzzer tool for finding vulnerabilities in how WAFs detect SQL injections and calls for contributors to help expand the OWASP Regular Expression Security Cheatsheet and build a dynamic analysis tool for regular expressions.
Алексей Мисник - USB устройства для пентестаHackIT Ukraine
USB-устройства, такие как клавиатуры и мыши, могут быть использованы для взлома персональных компьютеров в качестве потенциального нового класса атак, которые обходят все известные механизмы защиты. Я покажу все типы USB атак и вы увидите эффективность USB атак на практике.
[Defcon24] Introduction to the Witchcraft Compiler CollectionMoabi.com
With this presentation, we take a new approach to reverse engineering. Instead of attempting to decompile code, we seek to undo the work of the linker and produce relocatable files, the typical output of a compiler. The main benefit of the later technique over the former being that it does work. Once achieved universal code ‘reuse’ by relinking those relocatable objects as arbitrary shared libraries, we'll create a form of binary reflection, add scripting capabilities and in memory debugging using a JIT compiler, to attain automated API prototyping and annotation, which, we will argue, constitutes a primary form of binary code self awareness. Finally, we'll see how abusing the dynamic linker internals shall elegantly solve a number of complex tasks for us, such as calling a given function within a binary without having to craft a valid input to reach it.
The applications in terms of vulnerability exploitation, functional testing, static analysis validation and more generally computer wizardry being tremendous, we'll have fun demoing some new exploits in real life applications, and commit public program profanity, such as turning PEs into ELFs, functional scripting of sshd in memory, stealing crypto routines without even disassembling them, among other things that were never supposed to work. All the above techniques have been implemented into the Wichcraft Compiler Collection, to be released as proper open source software (MIT/BSD-2 licenses) exclusively at DEF CON 24.
Jonathan Brossard is a computer whisperer from France, although he's been living in Brazil, India, Australia and now lives in San Francisco. For his first conference at DEF CON 16, he hacked Microsoft Bitlocker, McAffee Endpoint and a fair number of BIOS Firmwares. During his second presentation at DEF CON 20, he presented Rakshasa, a BIOS malware based on open source software, the MIT Technology review labeled "incurable and undetectable".
This year will be his third DEF CON ... Endrazine is also known in the community for having run the Hackito Ergo Sum and NoSuchCon conferences in France, participating to the Shakacon Program Committee in Hawaii, and authoring a number of exploits over the past decade. Including the first remote Windows 10 exploit and several hardcore reverse engineering tools and whitepapers. Jonathan is part of the team behind MOABI.COM, and acts as the Principal Engineer of Product Security at Salesforce.
Twitter: @endrazine
Facebook: toucansystem
https://moabi.com
Техники пентеста для активной защиты - Николай ОвчарукHackIT Ukraine
Презентация с форума http://hackit-ukraine.com/
Николай Овчарук
Служба IT безопасности, Воля
Техники пентеста для активной защиты
О спикере: Занимается техническим аудитом, расследованием инцидентов, разработкой и внедрением средств защиты. Играет в CTF.
This document discusses XML and XPath injection vulnerabilities. It begins with an overview of XML basics like structure and components. It then covers different types of XML injections like in node attributes, node values, and CDATA sections. Next, it discusses XPath basics like syntax and functions. The document outlines techniques for XPath injection vulnerabilities, including blind XPath injection to extract XML file structure. It concludes with recommendations for XPath injection tools and references.
Lie to Me: Bypassing Modern Web Application FirewallsIvan Novikov
The report considers analysis of modern Web Application Firewalls. The author provides comparison of attack detection algorithms and discusses their advantages and disadvantages. The talk includes examples of bypassing protection mechanisms. The author points out the necessity of discovering a universal method of masquerading for vectors of various attacks via WAFs for different algorithms.
The document discusses how modern Intel CPUs contain debugging features like JTAG that could enable hardware trojans if activated. It describes how the Intel Direct Connect Interface allows activating JTAG-like debugging over USB, potentially allowing full system control. It demonstrates activating DCI on a laptop through the UEFI and explains how to detect if DCI is enabled. The document warns that DCI could lead to a "new age of BadUSB" if used maliciously.
Waf.js: How to Protect Web Applications using JavaScriptDenis Kolegov
The document discusses techniques for protecting web applications from client-side attacks using JavaScript (Waf.js). It covers the following key points in 3 sentences:
Waf.js provides defenses like CSRF prevention, DOM-based XSS prevention, and detection of unwanted applications. It utilizes parsers like Acorn and DOMPurify to parse and sanitize inputs to prevent injections. The document outlines approaches used by Waf.js to build the AST of an input and search for dangerous code like function calls to prevent attacks while minimizing false positives.
Dan Kaminsky introduces Phreebird, an online DNSSEC signing proxy. Phreebird allows for on-demand signing of DNS responses rather than pre-computed offline signing. This makes DNSSEC easier to deploy. Kaminsky demonstrates signing a domain with DNSSEC using Phreebird and pushing the DS record to the domain registrar. Phreebird is open source and aims to make DNSSEC as simple and seamless as possible DNS. However, Phreebird must generate "white lies" for non-existent domain proofs due to limitations in DNSSEC's protocol.
Презентация доклада "Рейтинг навыков .NET-разработчика" Александра Рахманова на конференции Go# Moscow 15 ноября 2014 года (http://gosharp.ru). См. подробнее в заметке "Рейтинг навыков .NET-разработчика" (http://wp.me/p5n7k3-7) в официальном блоге SkillsWiki.
Какие навыки наиболее востребованы и перспективны для разработчика? Давайте посмотрим, что компании ценят уже сейчас и как научиться всегда быть в тренде. Результаты исследования рынка труда техническими специалистами. Детализация анализа с уровня языков программирования до отдельных технологий и навыков.
Видео: http://www.youtube.com/watch?v=vz0U3jQpHSM
Это обзор опыта применения лучших практик разработки программного обеспечения на разных проектах от госзаказов до видеоконференций в командах от 5 до 50 человек. В докладе будут описаны не только практики, но и то, как они применяются на реальных проектах и какие выгоды они действительно приносят.
Доклад является обобщением моего опыт по работе с системами мониторинга серверных приложений в Qiwi.
Цель доклада:
- Получить общее представление о подходах к мониторингу серверных приложений
- Разобраться с популярными средствами для мониторинга серверных приложений
Оглавление:
- Мотивация
- Теория
---- Определение
---- Модель системы с точки зрения мониторинга
---- Классификация систем мониторинга
---- Уровни мониторинга
---- Инструменты мониторинга
- Практика
---- Системы мониторинга и сбора логов
---- Интерфейсы мониторинга
---- Инструменты мониторинга в JVM-based приложениях
Виды QA: Всё что вы не знали и боялись спроститьGoIT
19.02.2015 состоялось очередное событие, посвященное тематике Тестирования ПО.
Встреча помогла участникам
• разобраться в видах QA;
• получить информацию о «подводных» камнях каждого из направлений;
• узнать о специфике работы тестеровщика;
• перенять опыт тестировщиков с многолетним стажем;
• узнать о нововведениях в мире QA;
• выбрать свой путь развития в тестировании.
Спикерами выступили:
Александр Майданюк – QA Lead, Manager, QA Consultant и Trainer. Занимает позицию Head
of Quality Assurance Solution в Ciklum. Эксперт и судья QA секции чемпионатов UA Web
Challenge. Соучредитель Киевского Клуба тестировщика QA Club.
Николай Ковш – QA Engineer в Ciklum. Является ярким примером свитчера - человека,
который сменил область деятельности. Со-организатор ивентов в QA Club - самом большом
киевском сообществе тестировщиков. Николай расскажет, почему тестировщику важно
научиться программировать.
Марина Шевченко – Mobile QA Engineer в Ciklum. QA з досвідом тестування веб, дестопних
та мобільних додатків. Співорганізатор заходів в QA Club – найбільшій київській спільності
тестувальників.
Ошибки проектирования высоконагруженных проектов / Максим Ехлаков (OneTwoRent)Ontico
РИТ++ 2017, HighLoad Junior
Зал Сингапур, 5 июня, 15:00
Тезисы:
http://junior.highload.ru/2017/abstracts/2632.html
Наиболее типичные ошибки, которые совершаются при создании высоконагруженных продуктов: выбор используемых языков, фреймворков, СУБД и других инструментов. Каковы причины совершения этих ошибок, и как их избежать.
Во время проектирования и разработки высоконагруженных программных продуктов существует большой соблазн применить классические подходы. Однако не все они будут полезны, а какие-то даже вредны. При этом цена каждой такой ошибки всегда будет очень большой.
На примере нескольких реальных проектов мы поговорим об ошибках проектирования, разработки и управления, о том, почему они возникли, и о решениях, которые позволили (или не позволили) преодолеть их.
Software development lifecycle: final security review and automatization, Tar...OWASP Russia
The document discusses implementing security controls earlier in the software development lifecycle to address issues found during the final security review. It proposes automating tasks to distribute work to security specialists and run security tools throughout development. This would provide recommendations to developers and assess risks to catch issues before the final review, saving time and improving security. The goal is to automate as much as possible to free up experts for more complex work.
[3.1] Webappsec future standards - Taras IvaschenkoOWASP Russia
This document summarizes an upcoming OWASP Russia Meetup on web application security standards and technologies. The meetup will discuss the Web Application Security Working Group and several proposed standards, including CSP2, Subresource Integrity, Referrer Policy, Credential Management API, and Confinement with Origin Web Labels. Each standard will be briefly introduced, such as how CSP2 will support nonces and hashes for content security and frame-ancestors to replace X-Frame-Options headers. The meetup aims to inform attendees about future web security standards and mechanisms under development.
[3.2] Content Security Policy - Pawel KrawczykOWASP Russia
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive function. Exercise causes chemical changes in the brain that may help protect against mental illness and improve symptoms.
[2.3] Large enterprise SIEM: get ready for oversize - Svetlana (Mona) ArkhipovaOWASP Russia
This document discusses large enterprise security information and event management (SIEM) systems. It begins with an overview of what SIEM systems are and how they differ from traditional log collection and monitoring. The document then discusses the architecture, performance, and scaling challenges of the IBM qRadar SIEM system. It also covers important considerations for log collection, including what sources to log from, log storage, normalization, and indexing. Lastly, it provides an example of the scale of logging for a large company and considerations for sizing a SIEM system for growth.
[2.2] Hacking Internet of Things devices - Ivan NovikovOWASP Russia
Ivan Novikov presented on hacking Internet of Things devices at an OWASP Russia Meetup. He discussed how IoT devices can be hacked by connecting "WiFi to serial" modules, exploiting default credentials, and finding hardcoded IP addresses and backdoors in firmware. Novikov also shared statistics on his hacking of 5 IoT devices from 3 vendors, finding backdoors in 3 devices from 2 vendors. He proposed developing a taxonomy, methodology, and checklists for IoT security and creating a new OWASP chapter focused on IoT security.
[2.1] Web application Security Trends - Omar GanievOWASP Russia
This document summarizes recent trends in web application security vulnerabilities. Client-side attacks like XSS remain prominent along with emerging threats involving cloud computing, big data, and the Internet of Things. Old vulnerabilities persist in widely used software while new issues are found in new technologies. Overall, the growth of web applications and their interactions creates many new attack surfaces despite ongoing security improvements, ensuring hackers will continue finding novel ways to exploit systems.
[1.1] Почему вам стоит поучаствовать в жизни OWASP Russia - Александр АнтухOWASP Russia
This document discusses the benefits of joining OWASP Russia, an open community dedicated to improving web application security. It notes that OWASP provides free security tools, best practices, projects to contribute to, and opportunities for career growth and networking. The author highlights several popular OWASP projects and tools. OWASP Russia started in 2012 and provides translations, meetups, and experience sharing to support the global OWASP community. The document encourages volunteering or participating in discussions, events, and projects like the OWASP Secure Configuration Guide to help harden systems against misconfiguration issues.
2. Disclaimer
• Это
не
научный
доклад,
но
научно-‐популярный
• Всё
равно
большинство
актуальных
задач
сводится
к
проблеме
останова
МТ
или
P=NP,
расходимся
• Тогда
зачем?
– обсудить
актуальные
нерешенные
практические
задачи
в
вебе
• Warning
для
практиков:
используется
сочетание
“методически
решенная
задача”
• Не
будет
слайда
с
Боромиром
3. Scope
• Технологии
поиска
недостатков
в
веб-‐приложениях
этапа
разработки
– черным
ящиком
– в
исходном
коде
• Технологии
защиты
веб-‐приложений
от
атак
на
эти
недостатки
• Out
of
scope:
– технологии
поиска
или
недопущения
недостатков
внедрения
и
эксплуатации
– технологии
защиты
от
атак
на
эти
недостатки
4. Фреймворк
для
рассуждений
• Веб-‐фреймворки
берут
рутину
на
себя,
популярен
принцип
safe
by
default
– ORM,
HTML
через
объектные
модели,
защита
от
CSRF
на
уровне
фреймворка,
даже
XXE
того
• Повышается
уровень
абстракции
API
– Vaadin
и
GWT
на
сервере
и
Angular.JS
на
клиенте
• Тенденция
к
исчезновению
типичных
недостатков
в
новом
коде
• Описанные
задачи
в
старом
коде
научились
решать
(методически)
сравнительно
неплохо
– Trinity:
статические
анализаторы,
black-‐box
сканеры
и
WAF
• Но
только
не
для
applica…on
specific
недостатков
5. WTF
applica…on
specific
недостатки?
• Типичные
-‐
это
input
valida…on
– в
общем
случае
-‐
некорректное
использование
API
внешних
подсистем
– порождают
класс
injec…on-‐атак
– injec…on-‐атаки
порождают
в
запросах
структурные
(синтаксические)
аномалии
• Applica…on-‐specific
-‐
это
логика
– в
общем
случае
API
-‐
собственное;
правила
использования
есть
только
в
голове
авторов
– порождают
класс
атак
на
логику
(abuse/misuse/hijacking
и
т.п.)
– в
запросах
нет
структурных
аномалий
6. Примеры
applica…on
specific
недостатков
• Уязвимости
авторизации
• Нарушение
целостности
процесса
– процедуры
checkout’ов
• Некорректное
использование
криптографических
примитивов
– купоны
и
прочие
тикеты
• Ошибки
интеграции
aka
неверные
допущения
о
границах
доверия
– интернет-‐магазины,
платежные
системы,
OAuth
туда
же
• Вменяемой
типизации
и
классификации
нет
7. Статические
анализаторы
• Построить
Data-‐Flow
представление
программы
– боль
для
нестрого
типизированных
языков
– боль
связывать
представления
через
хранилища
• Получить
возможные
значения
переменных
в
каждой
точке
– наследование,
интерфейсы,
reflec…on
8. Статические
анализаторы
• Найти
уязвимости
в
соответствии
с
моделью
– используемая
модель
-‐
модель
невмешательства
имени
Деннинг
– данные
из
недоверенного
канала
попадают
в
канал
с
высоким
уровнем
доверия
• Как
классифицировать
каналы?
– по
имени
вызовов
API
– по
маркерным
значениям
в
множестве
возможных
значений
переменной
• Типичные
vs
applica…on
specific
– API
заранее
неизвестно,
маркеры
тоже
непонятно
какие
9. Black-‐box
сканеры
• Задачи:
crawling
&
analysis
• Сrawling
классических
приложений
– разбор
HTML,
заполнение
форм,
вызов
обработчиков
• Сrawling
SPA
(GWT,
Vaadin)
– h“p://dashboard.demo.vaadin.com/,
Google
AdWords
– динамический
анализ
JS
и
состояния
DOM
• Проблема
– экспоненциальное
кол-‐во
последовательностей
взаимодействия
для
полного
обхода
интерфейса
11. SPA
-‐
проблемы
и
задачи
• Как
определить
множество
элементов
UI
и
способы
их
активации?
• Обработчики
событий
могут
добавляться/удаляться
динамически
• Код
может
генерироваться
динамически
или
приходить
с
сервера
• Обработка
событий
– делегированная
обработка
– фазы
перехвата
и
всплытия
– возможность
остановки
распространения
12. SPA
-‐
проблемы
и
задачи
• Как
определить,
какие
действия
в
UI
-‐
полезные?
– как
понять,
что
мы
изменили
интерфейс
и
перешли
в
новое
состояние?
• Что
входит
в
состояние?
– состояние
DOM?
содержимое
localStorage?
URI?
глобальные
переменные?
состояние
таймеров?
• Как
сравнивать
состояния
между
собой?
• По
какой
стратегии
переходить
в
новые
состояния?
– на
странице
AdWords
132
обработчика,
и
только
15%
из
них
повторяющиеся
• Как
возвращаться
в
предыдущие
состояния?
14. SPA
-‐
проблемы
и
задачи
• Проблемы
со
временем
– таймеры
– ожидание
конца
начальной
загрузки
– асинхронные
запросы
• Сrawljax
работает
очень
плохо,
остальные
-‐
еще
хуже
• Итого,
основная
проблема:
– для
полного
обхода
надо
вызывать
все
возможные
комбинации
UI-‐элементов
на
всех
страницах
• НО:
– в
любой
момент
могут
появиться
новые
обработчики
(в
т.ч.
на
посещенных
страницах)
– могут
быть
удалены
еще
не
посещенные
обработчики
15. WAF
• Обнаружение
атак
без
структурных
аномалий
в
параметрах
или
статистических
аномалий
в
трафике
16. Итого:
CHALLENGES
• Как
искать
applica…on
specific
баги?
– нет
API
для
реализации
бизнес-‐логики
=>
нет
сигнатур
для
стат
анализатора
на
основе
последовательности
вызовов
API
• Как
ловить
атаки,
не
вызывающие
структурные
аномалии
в
запросах/ответах?
– нет
структурных
аномалий
в
запросах
=>
нет
сигнатур
на
основе
синтаксиса
• Как
построить
модель
анализируемого
SPA
приложения?
– черным
ящиком
со
стороны
клиента
– на
уровне
промежуточного
фильтра
(WAF)
– из
исходного
кода
• Актуальные
задачи:
динамический
анализ
JS+DOM
и
майнинг
инвариантов
поведения
из
трафика
17. Вопросы?
• Лаборатория
безопасности
ИС
ВМК
МГУ
• h“p://secsem.ru/
• petand@seclab.cs.msu.su
• @p3tand