foss information security practices @openfest 07.11.2015

12
Web Application Security: FOSS edition

Upload: code-runners

Post on 13-Apr-2017

286 views

Category:

Internet


0 download

TRANSCRIPT

Web Application

Security: FOSS edition

КСТ ТУ 2006-2010 3xCCNP Cisco Systems 2008-2010 CEH and CISSP trained HP 2010-2011

Sys/netadmin Evolink 2008-2010 Information Security Officer Nokia, Ericsson 2010-2012 Бизнес консултант Philips, Pfizer 2012-2015 CTO CodeRunners 2012 +

$ whoami

Защо е необходима информационна сигурност?

Общи понятия

Интегритет

Конфиденциалност

Достъпност

o Информацията през XXI век представлява за компаниите ресурс, сравним с авоарите, материалната база или човешкия капитал

o Информацията не е само дигитална – съществуват договори, фактури, регистри и пр.

o Различните индустрии поставят различен акцент върху важността на дигиталната си информация Циментов бизнес vs. Онлайн търговия

o Всеки бизнес модел може допълнително да репротизира важността на дигиталните си информационни активи:

Quora/Twitter vs. Facebook

Frontend Stack / API

sFTP

Mail servers

Network accessible servers

Host

Web Application

Database

Backend stack

SSH

MongoDB

LDAP

Щом трябва да го охраняваме, колко врати има?

Информационна сигурност – аксиоми

Нулево доверие към околните (сървъри, услуги, хора) що

се отнася до обмен на информация

Самостоятелно инсталирани услуги

„Зная и мога ли достатъчно, за да защитя

инсталираната услуга?“

Системно инсталирани услуги (Windows, Mac, Ubuntu)

Rootkits

Spyware

Не-лично инсталирани услуги на хоста

„Инсталиращият знае и може ли достатъчно за

защитаването на услугата и средата, за да му се

доверя?“

Останалите хостове в мрежата, към които има

политика на доверие

„Ние сме толкова защитени, колкото защитен е

най-уязвимият от нас“

Външния свят – студеният лош Интернет

Приоритизация на рисковете15%

Проблеми на кода на уеб

апликацията, проблеми на API

обмена на данни и т.н.

100%

Всички възможни заплахи и рискове:

- Фалит

- Природно бедствие

- Световна война

50%

Мрежови проблеми и проблеми, свързани

с доверени сървъри, сървъри, с които се

обменя информация, хостове, които

достъпват сървъра и т.н.

25%

Проблеми, свързани с хоста: зле

администриран сървър, уязвими

услуги, проблеми с колокация,

неоторизиран достъп и т.н.

Frontend Stack / API

sFTP

Mail servers

Network accessible servers

Host

Web Application

Database

Backend stack

SSH

MongoDB

LDAP

Карта на заплахите

Магия!

Автоматизирано

сканиране

Ръчен pen testing

Тримесечен одит на

достъпа и апликациите

Автоматизирано

сканиране

Ръчен pen testing

Тримесечен одит на

достъпа и апликациите

Минимален exposure, дори

по-малък отколкото към

Интернет

Магия?

Стъпки за (само)защита

Сканиране

Комуникационни потоци?

Одит на кода

Постоянно наблюдение

Първата стъпка е сканиране на сървъра за уязвимости. Но сканирането не трябва да е само списък, а план на подобрения, върху който трябва да се работи.

Toolbox: Nessus, OpenVAS

Втората стъпка е одита на комуникационните потоци. Не забравяйте – ако не комуникира с други машини, Вашият сървър би бил много по-защитен.

С кого си говори вашият сървър? Има ли валидна причина за това?

Ключовата стъпка е одит на логиката на кода и интерфейсите му, както и на очакваното поведение спрямо особеностите на апликацията.

Toolbox: Acunetix, ZAP

Информационната сигурност не е явление, а процес.

Като всеки друг процес, и този има нужда от постоянно наблюдение – и постоянна (форс-мажорна?) мотивация.Първата стъпка е идентификация, втората – подобрение, третата – постоянно наблюдение.

Вашият код трябва да е Ваша крепост?

Подготовка за одит Познаване на проблематиката и познаване на кода Дефиниране на контекст и поведение Определяне на атакуваната повърхност

Ефективно моделиране на заплаха Точки на достъп, достъпни за широкия свят Определение и приоритизация на заплахите Намиране на противодействие и имплементацията му

Сверяване на security audit чеклиста (see OWASP Top 10 2015)

Аутентикация / оторизация Управление на cookies

Валидация на input, санитизация на output (вкл. error handling)

Запис и съхранение на събития (логове) Криптиране на ключови данни и канали Управление на сесии

OWASP Top 10

Injections

Broken authentication / Session Management

XSS

Insecure Direct Object References

Security misconfiguration <3

Sensitive Data Exposure

Missing Function Level Access Control

CSRF

Components with known vulnerabilities

Unvalidated Redirects / Forwards

Buffer overflow

Въпроси!