TMPA-2013 Conference: Verification of Parallel Programs – Current Stage and P...Iosif Itkin
The unprecedented use of computers in all areas of human activity makes the challenge of building errorless programs the central one of informatics.
The challenge is of utmost importance for developing built in program systems for managing critical applications where defects of programming can lead to catastrophic consequences. The cost of activities to ensure errorless behavior of built in software management systems amounts to more than a half of their development cost.
Modern day methods of software quality assurance include a variety of means, techniques, and approaches. Although testing and debugging stay the main method, verification, i.e. the formal proof of meeting a set of formal requirements by a formal program system model, has been gaining wider use recently. The method of Model checking has become a breakthrough trend in the area of formal verification.
The method of Model checking can be used for software and hardware systems that represent a model of transformations with a finite number of states. Therefore, the main problem of this method is the “state explosion problem”, i.e. the exponential growth of the number of states of a parallel programs system as the number of interacting components grows. The development of “symbol” algorithms based on economical methods of representing the final data structures has lead to a reduction of this method’s sensitivity to the “state explosion problem” and a significant increase in the efficiency of this method of verification. The “symbol” methods of verification have been successfully used in many practical development projects of building real program systems. Currently this technique is used as a technological phase in many large firms who develop built in systems for critical applications.
Model checking stays a “hot” area of informatics, as intensive research continues to be underway and as the means of this approach are being broadened.
A group of leading scientists in the area of applying formal software development methods has launched an ambitions international research project named “Verified Software Initiative”. The goal of the project is to bring the theoretical foundation, the instruments, and the elements of the verification technology to a state where they will allow developing errorless software systems.
Sergey Belov - Покажите нам Impact! Доказываем угрозу в сложных условияхDefconRussia
Все шире и шире получают распространение bugbounty программы - программы вознаграждения за уязвимости различных вендоров. И порой при поиске уязвимостей находятся места, которые явно небезопасны (например - self XSS), но доказать от них угрозу сложно. Но чем крупнее (хотя, скорее адекватнее) вендор, тем они охотнее обсуждают и просят показать угрозу от сообщенной уязвимости, и при успехе – вознаграждают 8). Мой доклад – подборка таких сложных ситуаций и рассказ, как же можно доказать угрозу.
TMPA-2013 Conference: Verification of Parallel Programs – Current Stage and P...Iosif Itkin
The unprecedented use of computers in all areas of human activity makes the challenge of building errorless programs the central one of informatics.
The challenge is of utmost importance for developing built in program systems for managing critical applications where defects of programming can lead to catastrophic consequences. The cost of activities to ensure errorless behavior of built in software management systems amounts to more than a half of their development cost.
Modern day methods of software quality assurance include a variety of means, techniques, and approaches. Although testing and debugging stay the main method, verification, i.e. the formal proof of meeting a set of formal requirements by a formal program system model, has been gaining wider use recently. The method of Model checking has become a breakthrough trend in the area of formal verification.
The method of Model checking can be used for software and hardware systems that represent a model of transformations with a finite number of states. Therefore, the main problem of this method is the “state explosion problem”, i.e. the exponential growth of the number of states of a parallel programs system as the number of interacting components grows. The development of “symbol” algorithms based on economical methods of representing the final data structures has lead to a reduction of this method’s sensitivity to the “state explosion problem” and a significant increase in the efficiency of this method of verification. The “symbol” methods of verification have been successfully used in many practical development projects of building real program systems. Currently this technique is used as a technological phase in many large firms who develop built in systems for critical applications.
Model checking stays a “hot” area of informatics, as intensive research continues to be underway and as the means of this approach are being broadened.
A group of leading scientists in the area of applying formal software development methods has launched an ambitions international research project named “Verified Software Initiative”. The goal of the project is to bring the theoretical foundation, the instruments, and the elements of the verification technology to a state where they will allow developing errorless software systems.
Sergey Belov - Покажите нам Impact! Доказываем угрозу в сложных условияхDefconRussia
Все шире и шире получают распространение bugbounty программы - программы вознаграждения за уязвимости различных вендоров. И порой при поиске уязвимостей находятся места, которые явно небезопасны (например - self XSS), но доказать от них угрозу сложно. Но чем крупнее (хотя, скорее адекватнее) вендор, тем они охотнее обсуждают и просят показать угрозу от сообщенной уязвимости, и при успехе – вознаграждают 8). Мой доклад – подборка таких сложных ситуаций и рассказ, как же можно доказать угрозу.
DCRat, швейцарский армейский нож киберпреступного мира, истинное свидетельство предпринимательского духа, процветающего в темных уголках Интернета. С момента своего грандиозного дебюта в 2018 году DCRat стал незаменимым гаджетом для каждого начинающего злодея со склонностью к цифровым проказам. По очень низкой цене в 7 долларов можно приобрести двухмесячную подписку на это чудо современного вредоносного ПО, а для тех, кто действительно предан делу, доступна пожизненная лицензия за внушительную сумму в 40 долларов. DCRat служит напоминанием, что в эпоху цифровых технологий безопасность настолько сильна, насколько сильна способность не переходить по подозрительным ссылкам.
This is a war-story about deploying and managing Jenkins instances in the cloud in our company. For this purpose, we use Mesos and Docker plugins. In the talk I focus on our requirements to Jenkins in the Cloud, prerequisites and the preparation process. The presentation also covers the current state of the deployment and the lessons learnt.
We are hiring! Msk and Spb: https://goo.gl/HjfOz5
Особенности использования машинного обучения при защите от DDoS-атакQrator Labs
В докладе мы взглянем на проблему DDOS, с одной стороны, более широко — как на проблему обеспечения доступности ресурса, с другой стороны более конкретно — как на проблему информационной безопасности.
Поговорим о том, как автоматизировать борьбу с DDOS-атаками при помощи машинного обучения, и чем такая автоматизация может быть опасна.
Наконец, рассмотрим пару примеров и обсудим, с чего начинать строить систему защиты от DDOS.
Mykonos лучший способ защитить ваш web сайт и web-приложение от атакSergii Liventsev
Коллеги всем кому интересно выкладываю презентации которые читались на мероприятии Juniper Learning Academy 13 ноября.в Москве
Если есть вопросы по презентации обращайтесь по адрессу ssliventsev@gmail.com или sl@netwell.com.ua
Пора ли отправлять С на свалку истории? Пишем демонов на PHP с использованием...Vadim Kruchkov
Вадим Крючков [Long], руководитель группы разработки, компания Agunga
Считается (в общем случае — вполне справедливо), что писать демонов на PHP — моветон. Использовать для прототипирования интерфейсов взаимодействия — можно, а вот в продакшене ни-ни. Именно с таким представлением мы начинали разработку новой версии игры — проработаем интерфейсы взаимодействия с демоном, который к запуску будет переписан на высокопроизводительном С. Однако, первые тесты демона, написанного на PHP с использованием libevent, заставили нас серьезно задуматься — а нужен ли нам переход на С? Какую производительность нам удалось достичь? Течет ли память? Обо всем этом будет рассказано в докладе. А так же - особенности использования и недокументированные возможности расширения, облегчающие рутинные операции
Процесс разработки и тестирования с Docker + gitlab ciАлександр Сигачев
Доклад - https://www.youtube.com/watch?v=lJsqRwULRVA
Какие проблемы решаем?
быстрый вход нового разработчика в проект
стандартизация настроек разработчиков
переключение между проектами - разные версии ПО и библиотек (mysql 5.6/5.7, node 0.12/7.2)
приучаем разработчиков к сетевому взаимодействию компонентов
Microservice - масштабирование/разделения разработки
Делим ресурсы staging среды между проектами
[Defcon Russia #29] Борис Савков - Bare-metal programming на примере Raspber...DefconRussia
Докладчик покажет, как с помощью bare-metal programming подружить Raspberry Pi с GPIO, памятью и Ethernet, и пояснит, кому и зачем это может понадобиться.
[Defcon Russia #29] Александр Ермолов - Safeguarding rootkits: Intel Boot Gua...DefconRussia
Intel Boot Guard — аппаратно поддержанная технология верификации подлинности BIOS, которую вендор компьютерной системы может встроить на этапе производства. Докладчик представит результаты анализа технологии, расскажет об её эволюции. Слушатели узнают, как годами клонируемая ошибка на производстве нескольких вендоров позволяет потенциальному злоумышленнику воспользоваться этой технологией для создания в системе неудаляемого (даже программатором!) скрытого руткита. Github: https://github.com/flothrone/bootguard
DCRat, швейцарский армейский нож киберпреступного мира, истинное свидетельство предпринимательского духа, процветающего в темных уголках Интернета. С момента своего грандиозного дебюта в 2018 году DCRat стал незаменимым гаджетом для каждого начинающего злодея со склонностью к цифровым проказам. По очень низкой цене в 7 долларов можно приобрести двухмесячную подписку на это чудо современного вредоносного ПО, а для тех, кто действительно предан делу, доступна пожизненная лицензия за внушительную сумму в 40 долларов. DCRat служит напоминанием, что в эпоху цифровых технологий безопасность настолько сильна, насколько сильна способность не переходить по подозрительным ссылкам.
This is a war-story about deploying and managing Jenkins instances in the cloud in our company. For this purpose, we use Mesos and Docker plugins. In the talk I focus on our requirements to Jenkins in the Cloud, prerequisites and the preparation process. The presentation also covers the current state of the deployment and the lessons learnt.
We are hiring! Msk and Spb: https://goo.gl/HjfOz5
Особенности использования машинного обучения при защите от DDoS-атакQrator Labs
В докладе мы взглянем на проблему DDOS, с одной стороны, более широко — как на проблему обеспечения доступности ресурса, с другой стороны более конкретно — как на проблему информационной безопасности.
Поговорим о том, как автоматизировать борьбу с DDOS-атаками при помощи машинного обучения, и чем такая автоматизация может быть опасна.
Наконец, рассмотрим пару примеров и обсудим, с чего начинать строить систему защиты от DDOS.
Mykonos лучший способ защитить ваш web сайт и web-приложение от атакSergii Liventsev
Коллеги всем кому интересно выкладываю презентации которые читались на мероприятии Juniper Learning Academy 13 ноября.в Москве
Если есть вопросы по презентации обращайтесь по адрессу ssliventsev@gmail.com или sl@netwell.com.ua
Пора ли отправлять С на свалку истории? Пишем демонов на PHP с использованием...Vadim Kruchkov
Вадим Крючков [Long], руководитель группы разработки, компания Agunga
Считается (в общем случае — вполне справедливо), что писать демонов на PHP — моветон. Использовать для прототипирования интерфейсов взаимодействия — можно, а вот в продакшене ни-ни. Именно с таким представлением мы начинали разработку новой версии игры — проработаем интерфейсы взаимодействия с демоном, который к запуску будет переписан на высокопроизводительном С. Однако, первые тесты демона, написанного на PHP с использованием libevent, заставили нас серьезно задуматься — а нужен ли нам переход на С? Какую производительность нам удалось достичь? Течет ли память? Обо всем этом будет рассказано в докладе. А так же - особенности использования и недокументированные возможности расширения, облегчающие рутинные операции
Процесс разработки и тестирования с Docker + gitlab ciАлександр Сигачев
Доклад - https://www.youtube.com/watch?v=lJsqRwULRVA
Какие проблемы решаем?
быстрый вход нового разработчика в проект
стандартизация настроек разработчиков
переключение между проектами - разные версии ПО и библиотек (mysql 5.6/5.7, node 0.12/7.2)
приучаем разработчиков к сетевому взаимодействию компонентов
Microservice - масштабирование/разделения разработки
Делим ресурсы staging среды между проектами
[Defcon Russia #29] Борис Савков - Bare-metal programming на примере Raspber...DefconRussia
Докладчик покажет, как с помощью bare-metal programming подружить Raspberry Pi с GPIO, памятью и Ethernet, и пояснит, кому и зачем это может понадобиться.
[Defcon Russia #29] Александр Ермолов - Safeguarding rootkits: Intel Boot Gua...DefconRussia
Intel Boot Guard — аппаратно поддержанная технология верификации подлинности BIOS, которую вендор компьютерной системы может встроить на этапе производства. Докладчик представит результаты анализа технологии, расскажет об её эволюции. Слушатели узнают, как годами клонируемая ошибка на производстве нескольких вендоров позволяет потенциальному злоумышленнику воспользоваться этой технологией для создания в системе неудаляемого (даже программатором!) скрытого руткита. Github: https://github.com/flothrone/bootguard
[Defcon Russia #29] Алексей Тюрин - Spring autobindingDefconRussia
В Spring MVC есть классная фича — autobinding. Но если пользоваться ей неправильно, могут появиться «незаметные» уязвимости, иногда с серьёзным импактом. Рассмотрим пару примеров, углубимся в тонкости появления autobinding-багов. Writeup [ENG]: http://agrrrdog.blogspot.ru/2017/03/autobinding-vulns-and-spring-mvc.html
[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/LinuxDefconRussia
Руткиты в мире основанных на ядре Linux операционных систем уже не являются редкостью. Рассказ будет о том, как попытки в современных реалиях определить то, скомпрометирована ли система, привели к неожиданному результату.
[DCG 25] Александр Большев - Never Trust Your Inputs or How To Fool an ADC DefconRussia
Мы поговорим об общей проблеме валидации входных данных и качестве их обработки. Интерпретация входящих данных оказывает прямое влияние на решения, принимаемые в физической инфраструктуре: если какая-либо часть данных обрабатывается недостаточно аккуратно, это может повлиять на эффективность и безопасность процесса.
В этой беседе мы обсудим атаки на процесс обработки данных и природу концепции «never trust your inputs» в контексте информационно-физических систем (в общем смысле, то есть любых подобных систем). Для иллюстрации проблемы мы используем уязвимости аналого-цифровых преобразователей (АЦП), которые можно заставить выдавать поддельный цифровой сигнал с помощью изменения частоты и фазы входящего аналогового сигнала: ошибка масштабирования такого сигнала может вызывать целочисленное переполнение и дает возможность эксплуатировать уязвимости в логике PLC/встроенного ПО. Также мы покажем реальные примеры использования подобных уязвимостей и последствия этих нападений.
Cisco network equipment has always been an attractive attack target due to its prevalence and the key role that it plays in network structure and security.
This equipment is based on a wide variety of OS (firmware) architectures, types, and versions, so it is much harder to develop a universal shellcode. Publicly available Cisco IOS shellcodes are tailored to specific equipment, have narrow functionality, and are not exactly useful for penetration testing.
This talk is the presentation of a research initiated by our research center to create a shellcode which is as easily portable between different IOS firmwares as possible and which provides a lot of pentesting features because it can dynamically change the shellcode destination at the stage of post-exploitation.
We will also consider the possibility of creating a worm which could spread across the infrastructure, from firewall to router, from router to switch, etc.
Andrey Belenko, Alexey Troshichev - Внутреннее устройство и безопасность iClo...DefconRussia
Расскажу где и как iCloud Keychain хранит пароли, и какие потенциальные риски это несёт. Apple утверждает, что пароли надежно защищены, и даже её сотрудники не могут получить к ним доступ. Чтобы это подтвердить или опровергнуть, необходимо разобраться с внутренним устройством iCloud Keychain, чем мы и займемся.
George Lagoda - Альтернативное использование вэб сервисов SharePoint со сторо...DefconRussia
Мои последние исселодования показали, что у SharePoint есть определенное количество вэб сервисов, которые могут помочь аудитору собрать крайне полезную информацию с сайта (списки пользователей, групп, ролей и т д). Также данные сервисы, в комбинации с хранимыми XSS, могут быть использованы для вертикального повышения привилегий или предоставить информацию для компрометации доменных записей AD.
12. a) Microsoft Office Word
1. Распространение
1.1. Партнерки
1.2. Социальная инженерия
1.3. Эксплоиты
MS09-027
CVE-2008-5353
CVE-2011-3544
CVE-2012-0507
…
b) Java
BackDoor.Flashback
BackDoor.Macontrol
BackDoor.Lamadai
BackDoor.Sabpub
…
13. a) Установочные пакеты
PackageInfo:
2. Установка в системе
<pkg-info ... install-location="/" auth="root"> 2.1. Повышение привелегий
Distribution.dist:
<pkg-ref ... auth="Root"> 2.2. Автозагрузка
Mac.Iservice
Trojan.Fakealert
BackDoor.Flashback
BackDoor.DaVinci
…
b) Сервис авторизации
AuthorizationCreate
AuthorizationExecuteWithPrivileges
14. a) Элементы автозагрузки (Login, Startup items)
2. Установка в системе
~/Library/StartupItems/
/Library/StartupItems/ 2.1. Повышение привелегий
/System/Library/StartupItems/
/Library/Preferences/com.apple.SystemLoginItems.plist
2.2. Автозагрузка
Mac.Opener
Mac.Iservice
BackDoor.Macontrol
BackDoor.Sabpub
BackDoor.DaVinci
b) Запуск через launchd agent BackDoor.Muxler/Imuler
~/Library/LaunchAgents
BackDoor.Flashback
/Library/LaunchAgents …
/Library/LaunchDaemons
/System/Library/LaunchAgents
/System/Library/LaunchDaemons
15. a) Шифрование файлов
FileAgent - дроппер Trojan.Muxler/Revir
3. Самозашита
.cnf - имя файла для открытия картинки 3.1. Упаковка
.confr - картинка в качестве приманки
.conft - шифрованный файл RC4 от .confr 3.2. Обфускация
b) Инфицированный файл 3.3. Нежелательный софт
3.4. Rootkit
Trojan.Muxler/Revir
BackDoor.DaVinci
BackDoor.Macontrol
http://upx.sourceforge.net/
c) Использование UPX
до 7/44 7bcdd1e241dd37d10ccbafddd066b31f
после 1/44 19b710185a2e997c4f03710d83fe099b
до 37/44 e88027e4bfc69b9d29caef6bae0238e8
после 0/44 2fe211ffc97efface1b521d5cb941979
16. a) Мусорный скрипт, программный код
3. Самозашита
#!/bin/sh
x=cat "$0" |wc -l|awk '{print
3.1. Упаковка
$1}';x=expr $x - 2;tail -$x "$0" |tr
... 3.2. Обфускация
3.3. Нежелательный софт
b) Шифрование строк 3.4. Rootkit
Trojan.DnsChange/RSPlug
BackDoor.Flashback
BackDoor.Wirenet
Trojan.Merin/DevilRobber
c) Привязка к железу (UUID)
17. a) Список файлов или процессов
3. Самозашита
/Library/Little Snitch
/Developer/Applications/Xcode.app/Contents/MacOS/Xcode 3.1. Упаковка
/Applications/VirusBarrier X6.app
/Applications/iAntiVirus/iAntiVirus.app 3.2. Обфускация
/Applications/avast!.app
/Applications/ClamXav.app 3.3. Нежелательный софт
/Applications/HTTPScoop.app
/Applications/Packet Peeper.app 3.4. Rootkit
...
DetectProcessByName("Wireshark")
BackDoor.Muxler/Imuler
b) Обнаружение VMWare BackDoor.Flashback
BackDoor.DaVinci
c) Отключение XProtect
/System/Library/LaunchDaemons/com.apple.xprotectupdater.plist
/usr/libexec/XProtectUpdater
d) AmIBeingDebugged
mib[0] = CTL_KERN;
mib[1] = KERN_PROC;
mib[2] = KERN_PROC_PID;
mib[3] = getpid();
sysctl(mib,sizeof(mib)/sizeof(*mib),&info,&size,0,0);