SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Downloaden Sie, um offline zu lesen
Автоматизация тестирования
соответствия стандарту протокола
безопасности транспортного уровня TLS
Шнитман В.З. vzs@ispras.ru
Никешин А.В. alexn@ispras.ru
Пакулин Н.В. npak@ispras.ru
Институт системного программирования РАН
План презентации
10-12 октября 2012 г.TMPA-2013, Кострома2
 Введение
 Представление о TLS/SSL
 Задачи тестирования
 Автоматизация тестирования: модели
 Наш метод моделирования протоколов
 Тестовый набор для TLS/SSL
 Обсуждение. Направления дальнейших исследований
Протоколы безопасности
10-12 октября 2012 г.TMPA-2013, Кострома3
 Телекоммуникационные протоколы, использующие
криптографические средства для обеспечения
 Конфиденциальности данных
 Целостности данных
 Аутентификации данных или субъектов
 IPsec, TLS/SSL, EAP, WPA, …
Несколько слов о безопасности
10-12 октября 2012 г.TMPA-2013, Кострома4
 Основные функции безопасности в
телекоммуникациях:
 Конфиденциальность данных: предотвращение
разглашения данных при передаче по сетям связи.
 Шифрование
 Целостность данных: предотвращение искажения данных
при передаче (модификация, удаление части
данных, внедрение новых данных)
 Контрольные суммы стойкими хэш-функциями
 Аутентификация данных: подтверждение идентичности
отправителя данных
 Цифровая подпись
Несколько слов о TLS
10-12 октября 2012 г.TMPA-2013, Кострома5
Протокол TLS/SSL
10-12 октября 2012 г.TMPA-2013, Кострома6
 Пожалуй, наиболее часто используемый протокол
безопасности (эл. почта, HTTPS, web-API мобильных
приложений)
 Конфиденциальность, целостность, аутентификация
 Двухуровневый
 Прикладной уровень –
handshake, уведомления, передача прикладных данных
 Уровень записей (records) –
фрагментирование, шифрование, контрольные суммы
Устройство TLS/SSL
10-12 октября 2012 г.TMPA-2013, Кострома7
 Конфиденциальность, целостность
 Шифрование DES, 3DES, AES, BlowFish, GOST, …
 Расширяемый набор криптосистем
 Хэш функции
 Аутентификация
 Сертификат, разделяемый секрет
 Односторонняя аутентификация, взаимная аутентификация
 Двухуровневый
 Прикладной уровень – handshake, уведомления, передача
прикладных данных
 Уровень записей (records) –
фрагментирование, шифрование, контрольные суммы
 Состояние TLS – набор параметров используемых
криптографических средств
 Актуальное состояние и будущее состояние
Защита данных
10-12 октября 2012 г.TMPA-2013, Кострома8
Прикладные данные
Фрагментирование
Сжатие
Контрольная сумма
Шифрование
Отправка
 Прикладные данные сжимаются
и шифруются в соответствии с
текущим состоянием протокола
записей TLS
 Прикладные данные
рассматриваются как бинарные
последовательности, их
семантика или структура не
учитываются TLS
Типовой сеанс TLS
10-12 октября 2012 г.TMPA-2013, Кострома9
Клиент
 ClientHello
 Client Certificate
 ClientKeyExchange
 CertificateVerify
 ChangeCipherSpec
 Finished
 Data
Сервер
 ServerHello
 Server Certificate
 ServerKeyExchange
 CertificateRequest
SerververHelloDone
 ChangeCipherSpec
 Finished
Тестирование соответствия
Метод
10-12 октября 2012 г.TMPA-2013, Кострома10
Задачи тестирования соответствия
10-12 октября 2012 г.TMPA-2013, Кострома11
 Тестирование соответствия – установление степени
соответствия реализации стандарту (протокола)
 Зачем?
 Основная гипотеза: любые две корректные реализации
«договорятся» друг с другом
 Наивный подход к обеспечению совместимости: попарная
проверка «заработает или нет»
 Как?
 См. следующие слайды
Общепринятая методология
тестирования соответствия
10-12 октября 2012 г.TMPA-2013, Кострома12/18
 Тестовый набор состоит из
формально заданных тестов, не
привязанных к реализации.
 Цели тестирования (test purposes)
описывают ситуации, подлежащие
проверке. Цель тестирования
реализуется в одном или нескольких
тестах.
 Реализация считается
соответствующей
спецификации, если все цели
тестирования успешно проверены.
Тестовый
набор
Тесты
TP
TP
TP
Понятие Test Case
10-12 октября 2012 г.TMPA-2013, Кострома13
 Абстрактный тестовый набор: набор
формально заданных тестов, не
привязанный к реализации.
 ISO 9646, TTCN
 Дальнейшее развитие TTCN2, TTCN3, UML
Testing Profile
 Для протоколов Интернета: TAHI (Perl +
C++), ETSI (TTCN3 + Java)
 Высокая трудоёмкость разработки тестового
набора – тысячи тестов
 Вынесение вердиктов о корректности
наблюдаемого поведения не опирается на
модель протокола
 Нет строгой процедуры оценки полноты
тестирования
Test System SUT
input
alt reaction1
pass
reaction2
inconc
fail
Тест (Test case)
preambula
postambula
Применение моделей для
тестирования
10-12 октября 2012 г.TMPA-2013, Кострома14
FSM Реализация
<>
<>
<><>
EFSM
FSM
a
b
LTS
SDL
Estelle
LOTOS
pass fail
x z
pass fail
u v
Дерево обхода
c
Протоколы редко
описываются FSM
Сложные структуры
сообщений/состояний:
16/32/64/128 битные
поля, списки переменной
длины, таблицы, таймер
ы, сложные функции
Недетерминизм:
случайные
числа, недоопределённо
сть
стандартов, управление
нагрузкой
O(n3)
Используемый подход к
тестированию соответствия (1)
10-12 октября 2012 г.TMPA-2013, Кострома15
 Основан на технологии автоматизированного
тестирования UniTESK
Реализация
Расширение
языка Java
Модель системы
Модель тестаНотация
S
Контрактная
спецификация
Конечный автомат, заданный в
неизбыточной форме
Предлагаемый подход к
тестированию соответствия (2)
10-12 октября 2012 г.TMPA-2013, Кострома16
Формальная
спецификация
Стандарт
протокола
(IETF RFC)
Тестовый
набор
Формализация стандарта
протокола
Формальное задание
тестов
S
Формальные спецификации
10-12 октября 2012 г.TMPA-2013, Кострома17
S
Формальный интерфейс
Элемент формального интерфейса
1. Сигнатура: In, Out
2. Контракт: pre, post
3. Выполнение: «эталонная реализация»
4. Набор разбиений пространства In S на
конечное число классов
эквивалентности
5. Машинно-читаемая нотация (язык
программирования)
Модель состояния системы.
Множество допустимых состояний определяется
инвариантом Inv.
Формализация стандартов
10-12 октября 2012 г.TMPA-2013, Кострома18
Составление
каталога требований
и анализ требований
Определение
состава
формального
интерфейса
S
Формализация
функциональных
требований в пред-
и постусловиях
S
Неизбыточное задание автомата
теста
10-12 октября 2012 г.TMPA-2013, Кострома19
 Неизбыточное задание автомата
теста есть пятёрка E,s0m, I, i,A
S[ ]E= E S×S - отношение эквивалентности
модельного состояния.
S0m- начальное модельное состояние
А – конструктор конкретных тестовых
воздействий
I - алфавит обобщённых тестовых воздействий
i – итератор обобщ. тестовых воздействий
S
Тестирование соответствия модели
10-12 октября 2012 г.TMPA-2013, Кострома20
Обходчик
Автомат
теста
Определение
текущего
состояния
Итератор
обобщённых
тестовых
воздействий
Конструктор
конкретных
тестовых
воздействий
Разработка тестов
10-12 октября 2012 г.TMPA-2013, Кострома21
Определение
целей
тестирования
Разработка неизбыточных
заданий автоматов тестов
Реализация и
отладка тестов
S
S
S[ ]E=
Формальная
спецификация
протокола
Алфавит
обобщённых
тестовых
воздействий
Состояние
автомата
теста
Итератор
обобщ. и
конструктор
конкр.
тестовых
воздействий
Тестирование TLS с использование
моделей
10-12 октября 2012 г.TMPA-2013, Кострома22
Тестирование соответствия TLS
10-12 октября 2012 г.TMPA-2013, Кострома23
 Существуют коммерческие тестовые наборы
 Полнота неизвестна
 Разработаны вручную, test cases
 Тесты OpenSSL и GnuTLS не проверяют
соответствие
 В основном тестируют внутреннее устройство
 Есть несколько сценариев для TLS
 1 research проект по тестированию TLS
 On the Adequacy of Statecharts as a Source of Tests for
Cryptographic ProtocolsK. R. Jayaram, Aditya P.
Mathur, 2008
 Небольшое покрытие спецификации
Тестовый набор
10-12 октября 2012 г.TMPA-2013, Кострома24
 Проведен анализ стандарта TLS
 Извлечены 300 требований
 Разработана модель TLS
 2,5 тыс. строк, Java
 Эксперимент: Python 1,5 тыс. строк
 Разработан тестовый набор для тестирования
соответствия TLS
 Тестовые сценарии, 1 тыс. строк, Java
 Адаптер, 1 тыс. строк, Java
 Проведено тестирование ряда реализаций
Особенности тестового набора TLS
10-12 октября 2012 г.TMPA-2013, Кострома25
 Нет спецификации для нижнего уровня (TLS
Records): модель реализована в явном виде в
адаптере
 Недетерминизм разделения на
фрагменты, недетерминизм шифрования
 Отсутствие содержательной семантики
 Ошибки в реализации TLS Records выявляются как
проблемы с расшифровкой / валидацией контрольной
суммы сообщений
 Глубокий перебор последовательностей сообщений
 Включая «странные» и «невозможные»
Результаты (1)
10-12 октября 2012 г.TMPA-2013, Кострома26
 Почтовый сервер Postfix.2.9.3: OpenSSL 1.0.1c
 Не всегда отправляет уведомление о разрыве соединения
 Не всегда принимает уведомления
 Некорректно обрабатывает ошибки в ClientHello
 В отдельных ситуациях некорректно обрабатывает длины
элементов сообщения
 Принимает сообщения чрезмерной длины
 Некорректно обрабатывает дубликат ClientHello
Результаты (2)
10-12 октября 2012 г.TMPA-2013, Кострома27
 Java Runtime Environment 1.7.0_5
 Игнорирует поле длины в сообщениях Handshake
 Не проверяет поля длин элементов
 Не завершает сеанс при получении пустого сообщения в
Handshake
 www.mikestoolbox.com
 Не осуществляет в ряде случаев проверку номера версии –
нарушение критического требования
 Некорректные сообщения об ошибках
Обсуждение
10-12 октября 2012 г.TMPA-2013, Кострома28
Результаты
10-12 октября 2012 г.TMPA-2013, Кострома29
 Получен новый результат:
 Разработана модель протокола TLS
 Разработан тестовый набор для проверки соответствия
спецификации TLS
 Обнаружены отклонения от стандарта в
распространенных реализациях
 В том числе нарушения критических требований
Планы развития
10-12 октября 2012 г.TMPA-2013, Кострома30
 Дальнейшее развитие тестового набора:
 Увеличение покрытия требований – рассмотрение
большего количества аномальных ситуаций
 Добавление расширений TLS
 Упрощение генерации и анализа логов теста
 Бывает, генерируется до 2Гб
Практика использованияTLS
10-12 октября 2012 г.TMPA-2013, Кострома31
 Реализация openssl – стандарт де-факто
 Тщательная валидация в community
 Регулярное выявление уязвимостей
 2009 год – нарушение целостности, переход TLS 1.1
 2012 год – атака на алгоритм цифровой подписи ЭК, релиз 1.0.1c
 Apache, Mozilla, Google, email сервера и клиенты, …
 Но… неадекватные сценарии использования
 Неадекватные настройки:
 Старые версии (SSL 3.0, TLS 1.0)
 Слабые алгоритмы (MD5, DES)
 Неадекватные сертификаты – просрочены, неверные
имена, неверные права, самоподписные, …
 Отсутствие проверок аутентичности
 40 из 100 популярных приложений Android не проверяют сертификат
сервера
 Реализованы атаки man-in-the-middle для извлечения паролей, данных банковских
карт и т.п.

Weitere ähnliche Inhalte

Ähnlich wie TMPA-2013 Pakulin: Automation of Conformance Testing of TLS

TMPA-2015: Standards and Standartization in Program Engineering. Why Would Yo...
TMPA-2015: Standards and Standartization in Program Engineering. Why Would Yo...TMPA-2015: Standards and Standartization in Program Engineering. Why Would Yo...
TMPA-2015: Standards and Standartization in Program Engineering. Why Would Yo...Iosif Itkin
 
лекционное занятие №4
лекционное занятие №4лекционное занятие №4
лекционное занятие №4Pavlo Krasikov
 
Инфрраструктура ЦОД - интерконнект от Qlogik
Инфрраструктура ЦОД - интерконнект от QlogikИнфрраструктура ЦОД - интерконнект от Qlogik
Инфрраструктура ЦОД - интерконнект от QlogikExpolink
 
Вячеслав Бирюков - HTTP и HTTPS
Вячеслав Бирюков - HTTP и HTTPSВячеслав Бирюков - HTTP и HTTPS
Вячеслав Бирюков - HTTP и HTTPSYandex
 
Первые шаги с RabbitMQ
Первые шаги с RabbitMQПервые шаги с RabbitMQ
Первые шаги с RabbitMQAlexander Svetkin
 
Учебно-методическая работа по тематике ПКС и ВСС
Учебно-методическая работа по тематике ПКС и ВССУчебно-методическая работа по тематике ПКС и ВСС
Учебно-методическая работа по тематике ПКС и ВССARCCN
 
Уязвимости сервисов
Уязвимости сервисовУязвимости сервисов
Уязвимости сервисовPositive Hack Days
 
IBM DataPower In SameTime
IBM DataPower In SameTimeIBM DataPower In SameTime
IBM DataPower In SameTimeIBM IBM
 
МАИ, Сети ЭВМ, Лекция №3
МАИ, Сети ЭВМ, Лекция №3МАИ, Сети ЭВМ, Лекция №3
МАИ, Сети ЭВМ, Лекция №3Dima Dzuba
 
Управление услугами с помощью NETCONF/YANG и оркестратора Cisco NSO
Управление услугами с помощью NETCONF/YANG и оркестратора Cisco NSOУправление услугами с помощью NETCONF/YANG и оркестратора Cisco NSO
Управление услугами с помощью NETCONF/YANG и оркестратора Cisco NSOCisco Russia
 
Microsoft Master Data Services - Master Data Management Tool
Microsoft Master Data Services - Master Data Management ToolMicrosoft Master Data Services - Master Data Management Tool
Microsoft Master Data Services - Master Data Management ToolМаксим Остархов
 

Ähnlich wie TMPA-2013 Pakulin: Automation of Conformance Testing of TLS (20)

TMPA-2015: Standards and Standartization in Program Engineering. Why Would Yo...
TMPA-2015: Standards and Standartization in Program Engineering. Why Would Yo...TMPA-2015: Standards and Standartization in Program Engineering. Why Would Yo...
TMPA-2015: Standards and Standartization in Program Engineering. Why Would Yo...
 
Topic15 leased lines
Topic15 leased linesTopic15 leased lines
Topic15 leased lines
 
лекционное занятие №4
лекционное занятие №4лекционное занятие №4
лекционное занятие №4
 
Инфрраструктура ЦОД - интерконнект от Qlogik
Инфрраструктура ЦОД - интерконнект от QlogikИнфрраструктура ЦОД - интерконнект от Qlogik
Инфрраструктура ЦОД - интерконнект от Qlogik
 
Topic05 osi
Topic05 osiTopic05 osi
Topic05 osi
 
Вячеслав Бирюков - HTTP и HTTPS
Вячеслав Бирюков - HTTP и HTTPSВячеслав Бирюков - HTTP и HTTPS
Вячеслав Бирюков - HTTP и HTTPS
 
Первые шаги с RabbitMQ
Первые шаги с RabbitMQПервые шаги с RabbitMQ
Первые шаги с RabbitMQ
 
Ftp
FtpFtp
Ftp
 
Ftp1989235
Ftp1989235Ftp1989235
Ftp1989235
 
Ftp
FtpFtp
Ftp
 
Ftp
FtpFtp
Ftp
 
Учебно-методическая работа по тематике ПКС и ВСС
Учебно-методическая работа по тематике ПКС и ВССУчебно-методическая работа по тематике ПКС и ВСС
Учебно-методическая работа по тематике ПКС и ВСС
 
Уязвимости сервисов
Уязвимости сервисовУязвимости сервисов
Уязвимости сервисов
 
IBM DataPower In SameTime
IBM DataPower In SameTimeIBM DataPower In SameTime
IBM DataPower In SameTime
 
Смотрим в HTTPS
Смотрим в HTTPSСмотрим в HTTPS
Смотрим в HTTPS
 
МАИ, Сети ЭВМ, Лекция №3
МАИ, Сети ЭВМ, Лекция №3МАИ, Сети ЭВМ, Лекция №3
МАИ, Сети ЭВМ, Лекция №3
 
Маршрутизатор SMS2SERVE (SMS на службе)
Маршрутизатор SMS2SERVE (SMS на службе)Маршрутизатор SMS2SERVE (SMS на службе)
Маршрутизатор SMS2SERVE (SMS на службе)
 
Управление услугами с помощью NETCONF/YANG и оркестратора Cisco NSO
Управление услугами с помощью NETCONF/YANG и оркестратора Cisco NSOУправление услугами с помощью NETCONF/YANG и оркестратора Cisco NSO
Управление услугами с помощью NETCONF/YANG и оркестратора Cisco NSO
 
Web лекция 1
Web   лекция 1Web   лекция 1
Web лекция 1
 
Microsoft Master Data Services - Master Data Management Tool
Microsoft Master Data Services - Master Data Management ToolMicrosoft Master Data Services - Master Data Management Tool
Microsoft Master Data Services - Master Data Management Tool
 

Mehr von Iosif Itkin

Foundations of Software Testing Lecture 4
Foundations of Software Testing Lecture 4Foundations of Software Testing Lecture 4
Foundations of Software Testing Lecture 4Iosif Itkin
 
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...Iosif Itkin
 
Exactpro FinTech Webinar - Global Exchanges Test Oracles
Exactpro FinTech Webinar - Global Exchanges Test OraclesExactpro FinTech Webinar - Global Exchanges Test Oracles
Exactpro FinTech Webinar - Global Exchanges Test OraclesIosif Itkin
 
Exactpro FinTech Webinar - Global Exchanges FIX Protocol
Exactpro FinTech Webinar - Global Exchanges FIX ProtocolExactpro FinTech Webinar - Global Exchanges FIX Protocol
Exactpro FinTech Webinar - Global Exchanges FIX ProtocolIosif Itkin
 
Operational Resilience in Financial Market Infrastructures
Operational Resilience in Financial Market InfrastructuresOperational Resilience in Financial Market Infrastructures
Operational Resilience in Financial Market InfrastructuresIosif Itkin
 
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
20 Simple Questions from Exactpro for Your Enjoyment This Holiday SeasonIosif Itkin
 
Testing the Intelligence of your AI
Testing the Intelligence of your AITesting the Intelligence of your AI
Testing the Intelligence of your AIIosif Itkin
 
EXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
EXTENT 2019: Exactpro Quality Assurance for Financial Market InfrastructuresEXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
EXTENT 2019: Exactpro Quality Assurance for Financial Market InfrastructuresIosif Itkin
 
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...Iosif Itkin
 
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan ShamraiEXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan ShamraiIosif Itkin
 
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference OpenEXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference OpenIosif Itkin
 
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...Iosif Itkin
 
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...Iosif Itkin
 
QA Community Saratov: Past, Present, Future (2019-02-08)
QA Community Saratov: Past, Present, Future (2019-02-08)QA Community Saratov: Past, Present, Future (2019-02-08)
QA Community Saratov: Past, Present, Future (2019-02-08)Iosif Itkin
 
Machine Learning and RoboCop Testing
Machine Learning and RoboCop TestingMachine Learning and RoboCop Testing
Machine Learning and RoboCop TestingIosif Itkin
 
Behaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibileBehaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibileIosif Itkin
 
2018 - Exactpro Year in Review
2018 - Exactpro Year in Review2018 - Exactpro Year in Review
2018 - Exactpro Year in ReviewIosif Itkin
 
Exactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and StrategyExactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and StrategyIosif Itkin
 
FIX EMEA Conference 2018 - Post Trade Software Testing Challenges
FIX EMEA Conference 2018 - Post Trade Software Testing ChallengesFIX EMEA Conference 2018 - Post Trade Software Testing Challenges
FIX EMEA Conference 2018 - Post Trade Software Testing ChallengesIosif Itkin
 
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)Iosif Itkin
 

Mehr von Iosif Itkin (20)

Foundations of Software Testing Lecture 4
Foundations of Software Testing Lecture 4Foundations of Software Testing Lecture 4
Foundations of Software Testing Lecture 4
 
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
 
Exactpro FinTech Webinar - Global Exchanges Test Oracles
Exactpro FinTech Webinar - Global Exchanges Test OraclesExactpro FinTech Webinar - Global Exchanges Test Oracles
Exactpro FinTech Webinar - Global Exchanges Test Oracles
 
Exactpro FinTech Webinar - Global Exchanges FIX Protocol
Exactpro FinTech Webinar - Global Exchanges FIX ProtocolExactpro FinTech Webinar - Global Exchanges FIX Protocol
Exactpro FinTech Webinar - Global Exchanges FIX Protocol
 
Operational Resilience in Financial Market Infrastructures
Operational Resilience in Financial Market InfrastructuresOperational Resilience in Financial Market Infrastructures
Operational Resilience in Financial Market Infrastructures
 
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
 
Testing the Intelligence of your AI
Testing the Intelligence of your AITesting the Intelligence of your AI
Testing the Intelligence of your AI
 
EXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
EXTENT 2019: Exactpro Quality Assurance for Financial Market InfrastructuresEXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
EXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
 
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
 
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan ShamraiEXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
 
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference OpenEXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
 
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
 
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
 
QA Community Saratov: Past, Present, Future (2019-02-08)
QA Community Saratov: Past, Present, Future (2019-02-08)QA Community Saratov: Past, Present, Future (2019-02-08)
QA Community Saratov: Past, Present, Future (2019-02-08)
 
Machine Learning and RoboCop Testing
Machine Learning and RoboCop TestingMachine Learning and RoboCop Testing
Machine Learning and RoboCop Testing
 
Behaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibileBehaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibile
 
2018 - Exactpro Year in Review
2018 - Exactpro Year in Review2018 - Exactpro Year in Review
2018 - Exactpro Year in Review
 
Exactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and StrategyExactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and Strategy
 
FIX EMEA Conference 2018 - Post Trade Software Testing Challenges
FIX EMEA Conference 2018 - Post Trade Software Testing ChallengesFIX EMEA Conference 2018 - Post Trade Software Testing Challenges
FIX EMEA Conference 2018 - Post Trade Software Testing Challenges
 
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
 

TMPA-2013 Pakulin: Automation of Conformance Testing of TLS

  • 1. Автоматизация тестирования соответствия стандарту протокола безопасности транспортного уровня TLS Шнитман В.З. vzs@ispras.ru Никешин А.В. alexn@ispras.ru Пакулин Н.В. npak@ispras.ru Институт системного программирования РАН
  • 2. План презентации 10-12 октября 2012 г.TMPA-2013, Кострома2  Введение  Представление о TLS/SSL  Задачи тестирования  Автоматизация тестирования: модели  Наш метод моделирования протоколов  Тестовый набор для TLS/SSL  Обсуждение. Направления дальнейших исследований
  • 3. Протоколы безопасности 10-12 октября 2012 г.TMPA-2013, Кострома3  Телекоммуникационные протоколы, использующие криптографические средства для обеспечения  Конфиденциальности данных  Целостности данных  Аутентификации данных или субъектов  IPsec, TLS/SSL, EAP, WPA, …
  • 4. Несколько слов о безопасности 10-12 октября 2012 г.TMPA-2013, Кострома4  Основные функции безопасности в телекоммуникациях:  Конфиденциальность данных: предотвращение разглашения данных при передаче по сетям связи.  Шифрование  Целостность данных: предотвращение искажения данных при передаче (модификация, удаление части данных, внедрение новых данных)  Контрольные суммы стойкими хэш-функциями  Аутентификация данных: подтверждение идентичности отправителя данных  Цифровая подпись
  • 5. Несколько слов о TLS 10-12 октября 2012 г.TMPA-2013, Кострома5
  • 6. Протокол TLS/SSL 10-12 октября 2012 г.TMPA-2013, Кострома6  Пожалуй, наиболее часто используемый протокол безопасности (эл. почта, HTTPS, web-API мобильных приложений)  Конфиденциальность, целостность, аутентификация  Двухуровневый  Прикладной уровень – handshake, уведомления, передача прикладных данных  Уровень записей (records) – фрагментирование, шифрование, контрольные суммы
  • 7. Устройство TLS/SSL 10-12 октября 2012 г.TMPA-2013, Кострома7  Конфиденциальность, целостность  Шифрование DES, 3DES, AES, BlowFish, GOST, …  Расширяемый набор криптосистем  Хэш функции  Аутентификация  Сертификат, разделяемый секрет  Односторонняя аутентификация, взаимная аутентификация  Двухуровневый  Прикладной уровень – handshake, уведомления, передача прикладных данных  Уровень записей (records) – фрагментирование, шифрование, контрольные суммы  Состояние TLS – набор параметров используемых криптографических средств  Актуальное состояние и будущее состояние
  • 8. Защита данных 10-12 октября 2012 г.TMPA-2013, Кострома8 Прикладные данные Фрагментирование Сжатие Контрольная сумма Шифрование Отправка  Прикладные данные сжимаются и шифруются в соответствии с текущим состоянием протокола записей TLS  Прикладные данные рассматриваются как бинарные последовательности, их семантика или структура не учитываются TLS
  • 9. Типовой сеанс TLS 10-12 октября 2012 г.TMPA-2013, Кострома9 Клиент  ClientHello  Client Certificate  ClientKeyExchange  CertificateVerify  ChangeCipherSpec  Finished  Data Сервер  ServerHello  Server Certificate  ServerKeyExchange  CertificateRequest SerververHelloDone  ChangeCipherSpec  Finished
  • 11. Задачи тестирования соответствия 10-12 октября 2012 г.TMPA-2013, Кострома11  Тестирование соответствия – установление степени соответствия реализации стандарту (протокола)  Зачем?  Основная гипотеза: любые две корректные реализации «договорятся» друг с другом  Наивный подход к обеспечению совместимости: попарная проверка «заработает или нет»  Как?  См. следующие слайды
  • 12. Общепринятая методология тестирования соответствия 10-12 октября 2012 г.TMPA-2013, Кострома12/18  Тестовый набор состоит из формально заданных тестов, не привязанных к реализации.  Цели тестирования (test purposes) описывают ситуации, подлежащие проверке. Цель тестирования реализуется в одном или нескольких тестах.  Реализация считается соответствующей спецификации, если все цели тестирования успешно проверены. Тестовый набор Тесты TP TP TP
  • 13. Понятие Test Case 10-12 октября 2012 г.TMPA-2013, Кострома13  Абстрактный тестовый набор: набор формально заданных тестов, не привязанный к реализации.  ISO 9646, TTCN  Дальнейшее развитие TTCN2, TTCN3, UML Testing Profile  Для протоколов Интернета: TAHI (Perl + C++), ETSI (TTCN3 + Java)  Высокая трудоёмкость разработки тестового набора – тысячи тестов  Вынесение вердиктов о корректности наблюдаемого поведения не опирается на модель протокола  Нет строгой процедуры оценки полноты тестирования Test System SUT input alt reaction1 pass reaction2 inconc fail Тест (Test case) preambula postambula
  • 14. Применение моделей для тестирования 10-12 октября 2012 г.TMPA-2013, Кострома14 FSM Реализация <> <> <><> EFSM FSM a b LTS SDL Estelle LOTOS pass fail x z pass fail u v Дерево обхода c Протоколы редко описываются FSM Сложные структуры сообщений/состояний: 16/32/64/128 битные поля, списки переменной длины, таблицы, таймер ы, сложные функции Недетерминизм: случайные числа, недоопределённо сть стандартов, управление нагрузкой O(n3)
  • 15. Используемый подход к тестированию соответствия (1) 10-12 октября 2012 г.TMPA-2013, Кострома15  Основан на технологии автоматизированного тестирования UniTESK Реализация Расширение языка Java Модель системы Модель тестаНотация S Контрактная спецификация Конечный автомат, заданный в неизбыточной форме
  • 16. Предлагаемый подход к тестированию соответствия (2) 10-12 октября 2012 г.TMPA-2013, Кострома16 Формальная спецификация Стандарт протокола (IETF RFC) Тестовый набор Формализация стандарта протокола Формальное задание тестов S
  • 17. Формальные спецификации 10-12 октября 2012 г.TMPA-2013, Кострома17 S Формальный интерфейс Элемент формального интерфейса 1. Сигнатура: In, Out 2. Контракт: pre, post 3. Выполнение: «эталонная реализация» 4. Набор разбиений пространства In S на конечное число классов эквивалентности 5. Машинно-читаемая нотация (язык программирования) Модель состояния системы. Множество допустимых состояний определяется инвариантом Inv.
  • 18. Формализация стандартов 10-12 октября 2012 г.TMPA-2013, Кострома18 Составление каталога требований и анализ требований Определение состава формального интерфейса S Формализация функциональных требований в пред- и постусловиях S
  • 19. Неизбыточное задание автомата теста 10-12 октября 2012 г.TMPA-2013, Кострома19  Неизбыточное задание автомата теста есть пятёрка E,s0m, I, i,A S[ ]E= E S×S - отношение эквивалентности модельного состояния. S0m- начальное модельное состояние А – конструктор конкретных тестовых воздействий I - алфавит обобщённых тестовых воздействий i – итератор обобщ. тестовых воздействий S
  • 20. Тестирование соответствия модели 10-12 октября 2012 г.TMPA-2013, Кострома20 Обходчик Автомат теста Определение текущего состояния Итератор обобщённых тестовых воздействий Конструктор конкретных тестовых воздействий
  • 21. Разработка тестов 10-12 октября 2012 г.TMPA-2013, Кострома21 Определение целей тестирования Разработка неизбыточных заданий автоматов тестов Реализация и отладка тестов S S S[ ]E= Формальная спецификация протокола Алфавит обобщённых тестовых воздействий Состояние автомата теста Итератор обобщ. и конструктор конкр. тестовых воздействий
  • 22. Тестирование TLS с использование моделей 10-12 октября 2012 г.TMPA-2013, Кострома22
  • 23. Тестирование соответствия TLS 10-12 октября 2012 г.TMPA-2013, Кострома23  Существуют коммерческие тестовые наборы  Полнота неизвестна  Разработаны вручную, test cases  Тесты OpenSSL и GnuTLS не проверяют соответствие  В основном тестируют внутреннее устройство  Есть несколько сценариев для TLS  1 research проект по тестированию TLS  On the Adequacy of Statecharts as a Source of Tests for Cryptographic ProtocolsK. R. Jayaram, Aditya P. Mathur, 2008  Небольшое покрытие спецификации
  • 24. Тестовый набор 10-12 октября 2012 г.TMPA-2013, Кострома24  Проведен анализ стандарта TLS  Извлечены 300 требований  Разработана модель TLS  2,5 тыс. строк, Java  Эксперимент: Python 1,5 тыс. строк  Разработан тестовый набор для тестирования соответствия TLS  Тестовые сценарии, 1 тыс. строк, Java  Адаптер, 1 тыс. строк, Java  Проведено тестирование ряда реализаций
  • 25. Особенности тестового набора TLS 10-12 октября 2012 г.TMPA-2013, Кострома25  Нет спецификации для нижнего уровня (TLS Records): модель реализована в явном виде в адаптере  Недетерминизм разделения на фрагменты, недетерминизм шифрования  Отсутствие содержательной семантики  Ошибки в реализации TLS Records выявляются как проблемы с расшифровкой / валидацией контрольной суммы сообщений  Глубокий перебор последовательностей сообщений  Включая «странные» и «невозможные»
  • 26. Результаты (1) 10-12 октября 2012 г.TMPA-2013, Кострома26  Почтовый сервер Postfix.2.9.3: OpenSSL 1.0.1c  Не всегда отправляет уведомление о разрыве соединения  Не всегда принимает уведомления  Некорректно обрабатывает ошибки в ClientHello  В отдельных ситуациях некорректно обрабатывает длины элементов сообщения  Принимает сообщения чрезмерной длины  Некорректно обрабатывает дубликат ClientHello
  • 27. Результаты (2) 10-12 октября 2012 г.TMPA-2013, Кострома27  Java Runtime Environment 1.7.0_5  Игнорирует поле длины в сообщениях Handshake  Не проверяет поля длин элементов  Не завершает сеанс при получении пустого сообщения в Handshake  www.mikestoolbox.com  Не осуществляет в ряде случаев проверку номера версии – нарушение критического требования  Некорректные сообщения об ошибках
  • 28. Обсуждение 10-12 октября 2012 г.TMPA-2013, Кострома28
  • 29. Результаты 10-12 октября 2012 г.TMPA-2013, Кострома29  Получен новый результат:  Разработана модель протокола TLS  Разработан тестовый набор для проверки соответствия спецификации TLS  Обнаружены отклонения от стандарта в распространенных реализациях  В том числе нарушения критических требований
  • 30. Планы развития 10-12 октября 2012 г.TMPA-2013, Кострома30  Дальнейшее развитие тестового набора:  Увеличение покрытия требований – рассмотрение большего количества аномальных ситуаций  Добавление расширений TLS  Упрощение генерации и анализа логов теста  Бывает, генерируется до 2Гб
  • 31. Практика использованияTLS 10-12 октября 2012 г.TMPA-2013, Кострома31  Реализация openssl – стандарт де-факто  Тщательная валидация в community  Регулярное выявление уязвимостей  2009 год – нарушение целостности, переход TLS 1.1  2012 год – атака на алгоритм цифровой подписи ЭК, релиз 1.0.1c  Apache, Mozilla, Google, email сервера и клиенты, …  Но… неадекватные сценарии использования  Неадекватные настройки:  Старые версии (SSL 3.0, TLS 1.0)  Слабые алгоритмы (MD5, DES)  Неадекватные сертификаты – просрочены, неверные имена, неверные права, самоподписные, …  Отсутствие проверок аутентичности  40 из 100 популярных приложений Android не проверяют сертификат сервера  Реализованы атаки man-in-the-middle для извлечения паролей, данных банковских карт и т.п.