Security of information and communication systems

60
Security of information and communication systems Andrii Rodionov Institute of physics and technology NTUU «KPI» [email protected]

description

AACIMP-2011 Summer School. Computer Science Stream. Lecture by Andrii Rodionov.

Transcript of Security of information and communication systems

Security of information and communication systems

Andrii RodionovInstitute of physics and technology

NTUU «KPI»[email protected]

ATTENTION:Do not try to repeat what you will see

in demos

Plan for today

Basic terminology Main threats Complex protection Symmetric-key cryptography & Public-key

cryptography Digital signature OS Security Network security

How do you think, what information technologies hacker needs to know to be

successful?

Security issues

http://www.youtube.com/watch?v=gQbUzJUkBXg

gate

Who is responsible for these security issues?

Top 10

Information System Security Key Factors

Developer – vulnerabilities System, Domain, Data Base, … administrators

– misconfigured settings Architect — insecure design Users — viruses, weak passwords, … Information security policy

Information security policy

Main goal is to ensure information is appropriately protected from modification or disclosure.

Should define who can have access to information or information services.

Should define how information is to be stored and transmitted (encrypted, archive files, unencoded, etc).

The main goals of information security Confidentiality

confidentiality is the term used to prevent the disclosure of information to unauthorized individuals or systems

Integrity integrity means that data cannot be modified

undetectably Availability

the information (or service) must be available when it is needed

The threats of violation of the information properties

Confidentiality: “sniffing”: listening of the data transmitted through a

telecommunication channel “spoofing”: an authorized object of telecommunication

exchange is substituted by an unauthorized object Integrity:

partial or complete loss of the information falsification of data

Accessibility: denial of service (DoS or DDoS) attacks, when any

authorized object may obtain data within the certain (short) time interval

Teleworkers

Remote SitesCentral Sites

WANRouter

Network Reference Model

PBX

Hub

IPTGateway

Hub

PSTN

Router

WAN

Violator (Internal)

L3 SwitchL2

Switch

PBX

Violator (External)

Internet

WAN Router/IPT Gateway

TeleworkersSpoofing

Sniffing

WANRouter

The threats of confidentiality violation

HubHub

WANL3 Switch

L2Switch

Internet

WAN Router/IPT Gateway

Router

Demo

Wireshark (GMail, FTP) Tampere Date in Firefox

The threats of integrity violation

The violation of integrity: partial or complete loss of the

information falsification of data

Hub

WAN Router/IPT Gateway

Router

The threats of accessibility violation

The violation of accessibility: denial of service (DoS) attacks

Hub

WAN Router/IPT Gateway

Router

Attack levels

NETWORK DEFENSE

HOST/DEVICE DEFENSE

DATA DEFENSE

APPLICATION DEFENSE

Phys

ical

Sec

urity

• Secured equipment rack• Physically controlled

access• Secure facilities• RFI/EMI shielding• Geographical site location

Security Mechanisms

Security Mechanisms

• HTML content filters• Validation checks• Secure stored procedures

Security Mechanisms

• Windows Server 2003 Security Templates

• IIS 6.0 hardening• HIDS

Security Mechanisms

• Authentication• Security Policy• Encryption• Audit• Access control

Security Mechanisms

• Network device access control lists

• IPSec Encryption• NIDS• Firewalls

Complex protection

Identification and Authentication Access control Registration and audit Integrity Cryptography

Identification and Authentication

The function of identification is to map a known quantity to an unknown entity so as to make it known

Authentication is the act of confirming the truth of an attribute of a datum or entity

Rainbow tables Multi-factor authentication Single Sign On (SSO)

Demo

Weak password

Access control policy

Discretionary access control Role-based access control Mandatory access control

Discretionary access control

Mandatory access control

Cryptography

Symmetric-key cryptography Public-key cryptography

(Asymmetric-key cryptography)

Symmetric-key cryptography

Symmetric-key cryptography

• AES (Advanced Encryption Standard)• ГОСТ 28147-89• DES (Data Encryption Standard)• 3DES (Triple-DES)• RC6• IDEA (International Data Encryption Algorithm)

Public-key cryptography(Asymmetric-key cryptography)

Public-key cryptography

a x≡bmod p

1) Discrete logarithm problem

2) Integer factorization problem

n= p×q

NP = full search

Digital Signature

Examples

GMail MS Outlook Java 6 and Java 7 Libraries

Solaris Trusted Extensions - demo

Network security

Network security

Firewalls DMZ (De

Militarized Zone ) NAT (Network

Address Translation)

Sub-netting NAC (Network

Access Control)

VPN (Virtual Private Network)

IDS (Intrusion Detection System)

IPS (Intrusion Prevention Systems)

DLP (Data Leak Prevention)

De Militarized Zone (DMZ)

Network segmentation principles

Security Projects/special applications Performance/bandwidth Broadcasts/traffic flow Departments/specific job types

Security Auditing Tools

Service Mapping Tools Nmap Hping

Vulnerability Assessment Tools Nessus RedSeal

Packet Capture Tools Tcpdump Wireshark/Tshark

Penetration Testing Tools Core Impact Metasploit XSpider

XSpider - demo

BackTrack

Information Gathering: This category includes tools for DNS mapping, Whois, Finger, and mail scanning.

Network Mapping: Port and services mapping, OS fingerprinting, and VPN discovery. Vulnerability Identification: Tools to identify service, SQL, VoIP, and http

vulnerabilities. Penetration: Tools to exploit vulnerabilities and compromise systems. Metasploit is the

primary application. Privilege Escalation: LAN Sniffers, password sniffers, and spoofing tools are here. Maintaining Access: Backdoors, rootkits, and tunneling applications for retaining

access after exploiting. Radio Network Analysis: Wireless sniffers, scanners, and cracking tools VoIP & Telephony Analysis: VoIP cracking and recording tools Digital Forensics: Disk editors, file system dump tools, and hexeditors for recovering

evidence from deleted and hidden files. Reverse Engineering: Malware analysis tools, application debug tools, hex and

assembly tools.

Let's try to hack!

http://demo.testfire.net/

Most common vulnerabilities

Buffer overflow, integer overflow SQL/Script Injection Cross-Site Scripting (XSS) Unlimited Resource Consumption

(DoS, DDoS) http://live.xakep.ru/blog/Hack/638.html

Information Leakage

Buffer overflow

(DATA)(DATA)(...) (NEWDATA)(DATA)(DATA)(...) (ADDR)(DATA)(DATA)(...) (.a........)(ADDR)(DATA)(DATA)(...)

char[10]

Integer/Sheep overflow

Web applications vulnerabilities

Cross Site Scripting

Videohttp://www.virtualforge.de/vmovie/xss_lesson_1/xss_selling_

platform_v1.0.htmlhttp://www.virtualforge.de/vmovie/xss_lesson_2/xss_selling_

platform_v2.0.html

SQL - injection

SQL - injection

Security Development Lifecycle(SDL)

SDL in action

Ресурсы

Рекомендации по безопасности, касающиеся языка C# http://msdn.microsoft.com/ru-

ru/library/ms173195.aspx

SDL: Дизайн

Применение лучших практик по безопасности: Установить и задокументировать критические

компоненты безопасности Следовать принципам безопасного дизайна

Модульный дизайн Разрешать минимальные привилегии

Задокументировать и минимизировать «атакуемую поверхность» Моделирование угроз Удовлетворить крипто-стандарты Не использовать MD4, MD5, SHA1

Гибкость замены крипто-алгоритмов

Моделирование угроз

• Систематический обзор архитектуры с точки зрения атакующего

• Определение ресурсов, угроз, уязвимостей, механизмов защиты и рисков

• Имеет большое значение для тестирования безопасности

• Использование модели “STRIDE”

SDL: Разработка

• Требования к средствам разработки• Улучшения в Visual Studio, начиная с версии 2005 (компиляция с ключом /GS)

• Переход на более безопасные библиотеки C/C++• Не использовать «небезопасные» функции

(http://msdn2.microsoft.com/en-us/library/bb288454.aspx)• Использование инструментов статического анализа• Использование ASLR• Использование последних версий компиляторов и

ХML-парсеров• ...и многое, многое другое

SDL: Верификация

• Кодирование завершено – делается тест безопасности как нового, так и ранее существовавшего кода

• «Фаззинг» для тестирования обработки данных (обработка намеренно некачественных входных данных)o Файлы, RPC, ActiveX, DCOMo Те же методы используют хакеры и исследователи в

области безопасности• Анализаторы безопасности:

o статические (FxCop, PreFast)o Динамические (AppVerifier, Binscope, CAT.NET) o другие инструменты

• Тесты на основе модели угроз• Tестирование взломом (проникновения)

SDL: Выпуск продукта

• Задача: проверить что все требования SDL выполнены– Обзор всей проделанной работы по безопасности

перед выпуском продукта, поиск слабых мест– Независимый взгляд на готовность выпуска с точки

зрения безопасности• Шаги

– Специальный вопросник SDLTrack – Обзор дизайна и моделей угроз– Анализ поверхности атаки– Проверка средств построения продукта– Анализ известных ошибок– Результаты тестирования взломом– Оценка плана реагирования– Дополнительные критерии

Оптимизационная модель внедрения SDL – стандартный уровень готовности•Обучение персонала, организационные планы и мероприятия: поддержка руководства по умолчанию, есть несколько пилотных проектов, введено обучение основным концепциям безопасности•Постановка и дизайн: оценка рисков безопасности, моделирование угроз для задач с высоким уровнем риска•Разработка: использование защиты при компиляции, учет запрещенных функций, защиты от межсайтового скриптинга и SQL-инъекции•Верификация: фаззинг, сканирование веб-приложений, тестирование взлома •Выпуск и сопровождение: финальный обзор безопасности, архивирование проекта, базовый уровень сопровождения

Детальнее про SDL

http://www.microsoft.com/security/sdl/getstarted/starterkit.aspx