go в продакшене вирмейкера
Post on 05-Jul-2015
1.063 Views
Preview:
DESCRIPTION
TRANSCRIPT
Go в продакшене вирмейкера
Борис Рютин@dukebarman
«Цифровое оружие и защита»© 2014
Что такое Go?
Создатели Go
• Роберт Гризмер
• Роб Пайк
• Кен Томпсон
Основные мотивации
• Безопасность
• Масштабируемость
• Время сборки
Особенности #1
• Компилируется в машинный код
• Автоматическое управление памятью, сборщик мусора
• Строгая статическая типизация
• Конкурентное программирование
• Есть принципы ОО, но нет классов и наследования
Синтаксис
Особенности #2
• Нет исключений
• Есть указатели, но нет арифметических операций
Исключения
Указатели
Плюсы
• Лёгкость освоения
• Скорость
• Кроссплатформеность
• Параллелизм
• Opensource
• Обаятельный талисман
Минусы
• РАЗМЕР файла
• Отсутствие generics и переопределения операторов
• Отсутствие GUI
• Это не С/C++ и многие ждут Rust
Где используется
• Yandex
• Soundcloud
• Docker
• CoreOS
• Twitch
Тёмная стороны силы
Инструментарий
• GDB (+ runtime-gdb.py)
• IDA, radare2
Zygnatures. strip=false
Zygnatures. strip=true
Zygnatures
Zygnatures
Windows. Type
Windows. Infostealer
Windows. Infostealer
Вызов DLL
Вызов DLL
Вызов DLL
GoArm
• strings | grep 'func(‘
• r2>izz~func
GoArm
Светлая стороны силы
Инструментарий
• IDE: Intelij IDEA + плагин, gosublime, LiteIDE, vimgo
• Установщик (golang.org, репозиторий)
• Настройка окружения (GOPATH, GOROOT)
«Программы-шутки»?
• godoor
• Schoolware
AV сканеры
• asgard-cli
• gonotifyav
• ipinformer
SkyNet
GoDrone Bots GoBot
Распределенные вычисления
• btcd
• mumax
Стрессовое тестирование
• Go-meter
Массовое тестирование
• Heartbleed
• Shellshock
• SSH/sitescanner/AuthenticationScanner/…
Wopbot?
Оптимизация
zorsecurity.ru
Спасибо!
b.ryutin@zorsecurity.ru
top related