go в продакшене вирмейкера

Post on 05-Jul-2015

1.063 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Slides from Zero Nights 2014

TRANSCRIPT

Go в продакшене вирмейкера

Борис Рютин@dukebarman

«Цифровое оружие и защита»© 2014

Что такое Go?

Создатели Go

• Роберт Гризмер

• Роб Пайк

• Кен Томпсон

Основные мотивации

• Безопасность

• Масштабируемость

• Время сборки

Особенности #1

• Компилируется в машинный код

• Автоматическое управление памятью, сборщик мусора

• Строгая статическая типизация

• Конкурентное программирование

• Есть принципы ОО, но нет классов и наследования

Синтаксис

Особенности #2

• Нет исключений

• Есть указатели, но нет арифметических операций

Исключения

Указатели

Плюсы

• Лёгкость освоения

• Скорость

• Кроссплатформеность

• Параллелизм

• Opensource

• Обаятельный талисман

Минусы

• РАЗМЕР файла

• Отсутствие generics и переопределения операторов

• Отсутствие GUI

• Это не С/C++ и многие ждут Rust

Где используется

• Google

• 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