
- •Введение
- •Жизненный цикл it-проекта
- •Концепция проекта
- •Определение проекта
- •Выполнение проекта
- •Завершение проекта
- •Стандарты жизненного цикла
- •Выбор методологии
- •Жесткие и гибкие методологии Модель водопада
- •Итеративная разработка
- •Спиральная модель
- •Архитектура Вычислительные системы
- •Операционные системы
- •Выбор языка и среды программирования
- •Краткий обзор распространенныхпромышленных языков программирования и программных платформ
- •Разработка программного обеспечения Парадигмы программирования
- •Структурное программирование
- •Процедурное программирование
- •Функциональное программирование
- •Событийно-ориентированное программирование
- •Объектно-ориентированное программирование
- •Аспектно-ориентированное программирование
- •Визуально-ориентированное программирование
- •Метапрограммирование
- •Качество кода. Критерии качества кода
- •Форматирование и оформление
- •Комментарии
- •Читаемость
- •Обработка исключений
- •Документирование
- •Рефакторинг
- •Архитектура программного обеспечения
- •Отличие архитектуры по от детального проектирования по
- •Примеры архитектурных стилей и моделей
- •Паттерны проектирования
- •Адаптер (adapter, wrapper)
- •Абстрактная фабрика (abstractfactory, kit)
- •Стратегия (strategy, policy)
- •Менеджмент Проекта
- •Проектный менеджмент
- •Команда менеджмента проекта Команды в проекте
- •Соотношение между различными командами в проекте
- •Цели кмп в проекте
- •Создание и развитие кмп Сущность и характеристики кмп
- •Управление трудовыми ресурсами проекта и менеджмент человеческих ресурсов проекта
- •Интегрированная культура кмп
- •Оценка деятельности кмп Что такое эффективная кмп?
- •Команда Менеджмента Проекта – критический фактор успеха проекта
- •Структура проекта Определение проекта
- •Основные признаки проекта
- •Направленность на достижение целей
- •Координированное выполнение взаимосвязанных действий
- •Ограниченная протяженность во времени
- •Уникальность
- •Структура проекта
- •Разработка программного обеспечения Виртуальная реальность
- •Виртуальная реальность в играх.
- •Виртуальная реальность и 3d.
- •История виртуальной реальности.
- •Что такое виртуальная реальность?
- •Миры с различными потенциально-возможными сценариями хода событий
- •Студии виртуальной реальности на телевидении
- •Имитационное моделирование
- •Искусственный интеллект
- •Предпосылки развития науки искусственного интеллекта
- •Подходы и направления
- •Тест Тьюринга
- •Символьный подход
- •Логический подход
- •Накопление и использование знаний
- •Суть процесса искусственного мышления
- •Применение
- •Перспективы
- •Искусственный интеллект в играх
- •Распределённые и облачные вычисления Распределённые вычисления
- •История
- •Участие в проектах распределенных вычислений Общая схема участия
- •Привлечение и мотивация участников
- •Критика проектов распределенных вычислений
- •Организации, участвующие в проектах распределенных вычислений
- •Список проектов распределённых вычислений
- •Биология и медицина
- •Математика и криптография
- •Естественные науки
- •По для организации распределённых вычислений
- •Облачные вычисления
- •Терминология
- •Критика
- •Примеры
- •Потребность
- •Внешние и внутренние облака
- •Стоимость
- •Надёжность
- •Проблемы облачных технологий
- •Нейронные сети
- •Возможные способы применения и реализации
- •Категории аппаратного обеспечения инс
- •Цифровое исполнение
- •Аналоговое исполнение
- •Гибридное исполнение
- •Области применения нейронных сетей
- •Аутсорсинг
- •Мировой рынок экспортного программирования
- •Прогноз развития мирового и российского рынка
- •Белорусскиекомпании
- •Типы аутсорсинга
- •Развитие cad технологий
- •Исправление ошибок
- •Системы старшего класса
- •Большие сборки
- •Зачем нужны сборки
- •Стратегии упрощения
- •Моделирование
- •Параметризация
- •Гибридное моделирование
- •Практические результаты
- •Проектная база: технология моделирования
- •Переход к гибридному моделированию
- •Электронная сборка
- •Модель акторов
- •История
- •Фундаментальные концепции
- •Формальные системы
- •Применения
- •Семантика передачи сообщений
- •Локальность
- •Безопасность
- •Актуальность в настоящий момент
- •Социальный компьютинг
- •Сферы применения
- •С чего начать
- •Тестирование программного обеспечения Уровни тестирования
- •Модульное тестирование
- •Интеграционное тестирование
- •Системы непрерывной интеграции
- •Системное тестирование программного обеспечения
- •Функциональное тестирование
- •Регрессионное тестирование
- •Виды тестов регрессии
- •Нагрузочное тестирование
- •Тестирование «белого ящика» и «чёрного ящика»
- •Серый ящик. Комбинация предыдущих.
- •Права автора Личные неимущественные права:
- •Личные имущественные права:
- •Способы защиты авторского права
- •Защита при помощи компьютерных компакт-дисков
- •Методы взлома/обхода технических мер защиты
- •Нарушение авторских прав
- •Типы лицензий
- •Проприетарные лицензии
- •Свободные и открытые лицензии
- •Пиратское по
- •Взгляд в будущее
- •Взлом информации и защита от взлома Классы атак Аутентификация (Authentication)
- •Авторизация (Authorization)
- •Атакинаклиентов (Client-side Attacks)
- •Выполнение кода (Command Execution)
- •Разглашение информации (Information Disclosure)
- •Логические атаки (Logical Attacks)
- •Компьютерные вирусы
- •Классификация вирусов
- •Антивирусные программы
- •Методы обнаружения вирусов
- •Метод соответствия определению вирусов в словаре
- •Метод обнаружения странного поведения программ
- •Метод обнаружения при помощи эмуляции
- •Метод «Белого списка»
- •Эвристический анализ
- •Классические hips
- •Экспертные hips
- •Жизненный цикл вируса.
- •Стратегии развития крупнейших it-компаний
- •Перспективы развития Microsoft
- •Секреты успеха
- •Крупнейшие производители современных операционных систем и их продукты
- •Основные заблуждения по поводу Macintosh
- •Технические подробности операционной системы
- •Причины успеха и будущее компании
- •История создания Linux
- •Свободное программное обеспечение
- •Графические интерфейсы Linux
- •Дистрибутивы Linux
- •Безопасность Linux
- •Краткая история FreeBsd и unix
- •Рождение системы bsd
- •Bsd на платформах Intel х86
- •Рождение FreeBsd
- •Преимущества FreeBsd
- •Различия между FreeBsd и Windows
- •Мобильные ос
Выполнение кода (Command Execution)
Эта секция описывает атаки, направленные на выполнение кода на Web-сервере. Все серверы используют данные, преданные пользователем при обработке запросов. Часто эти данные используются при составлении команд, применяемых для генерации динамического содержимого. Если при разработке не учитываются требования безопасности, злоумышленник получает возможность модифицировать исполняемые команды.
Переполнение буфера (Buffer Overflow) Эксплуатация переполнения буфера позволяет злоумышленнику изменить путь исполнения программы путем перезаписи данных в памяти системы
Атака на функции форматирования строк (Format String Attack) При использовании этих атак путь исполнения программы модифицируется методои перезаписи областей памяти с помощью функций форматирования символьных переменных
Внедрение операторов LDAP (LDAP Injection) Атаки этого типа направлены на Web-серверы, создающие запросы к службе LDAP на основе данных, вводимых пользователем
Выполнение команд ОС (OS Commanding) Атаки этого класса направлены на выполнение команд операционной системы на Web-сервере путем манипуляции входными данными. Когда веб-приложение не надлежащим образом обрабатывает входные данные от пользователя перед их применением в коде приложения, это может дать возможность обмануть приложение при выполнении команд операционной системы. Выполняемые команды будут запускаться с таким же правами доступа, как и компонент, исполняющий команду (например, сервер БД, сервер Веб-приложений, Веб-сервер и т.п.).
Внедрение операторов SQL (SQL Injection) Эти атаки направлены на Web-серверы, создающие SQL запросы к серверам СУБД на основе данных, вводимых пользователем. Внедрение SQL, в зависимости от типа используемой СУБД и условий внедрения, может дать возможность атакующему выполнить произвольный запрос к базе данных (например, прочитать содержимое любых таблиц, удалить, изменить или добавить данные), получить возможность чтения и/или записи локальных файлов и выполнения произвольных команд на атакуемом сервере. Атака типа внедрения SQL может быть возможна из-за некорректной обработки входных данных, используемых в SQL-запросах.
В недрение серверных сценариев (SSI Injection) Атаки данного класса позволяют злоумышленнику передать исполняемый код, который в дальнейшем будет выполнен на Web-сервере. Уязвимости, приводящие к возможности осуществления данных атак, обычно заключаются в отсутствии проверки данных, предоставленных пользователем, перед сохранением их в интерпретируемом сервером файле.
Внедрение операторов XPath (XPath Injection) Эти атаки направлены на Web-серверы, создающие запросы на языке XPath на основе данных, вводимых пользователем
Разглашение информации (Information Disclosure)
Атаки данного класса направлены на получение дополнительной информации о Web-приложении. Используя эти уязвимости, злоумышленник может определить используемые дистрибутивы ПО, номера версий клиента и сервера и установленные обновления. В других случаях, в утекающей информации может содержаться расположение временных файлов или резервных копий. Во многих случаях эти данные не требуются для работы пользователя. Большинство серверов предоставляют доступ к чрезмерному объему данных, однако необходимо минимизировать объем служебной информации. Чем большими знаниями о приложении будет располагать злоумышленник, тем легче ему будет скомпрометировать систему.
Индексирование директорий (Directory Indexing) атаки данного класса позволяют атакующему получить информацию о наличии файлов в Web каталоге, которые недоступны при обычной навигации по Web сайту. Когда пользователь запрашивает основную страницу сайта, он обычно указывает доменное имя сервера без имени конкретного файла (http://www.example.com). Сервер просматривает основную папку, находит в ней файл, используемый по умолчанию, и на его основе генерирует ответ. Если такой файл отсутствует, в качестве ответа может вернуться список файлов в директории сервера. Этот случай аналогичен выполнению команды ls (UNIX) или dir (Windows) на сервере и форматированию результатов в виде HTML.В этой ситуации злоумышленник может получить доступ к данным, не предназначенным для свободного доступа. Довольно часто администраторы полагаются на «безопасность через сокрытие», предполагая, что раз гиперссылка на документ отсутствует, то он недоступен непосвященным. Современные сканеры уязвимостей, такие как Nikto, могут динамически добавлять файлы и папки к списку сканируемых в зависимости от результатов запросов.Используя содержимое /robots.txt или полученного списка директорий, сканер может найти спрятанное содержимое или другие файлы. Таким образом, внешне безопасное индексирование директорий может привести к утечке важной информации, которая в дальнейшем будет использована для проведения атак на систему
Идентификация приложений (Web Server/Application Fingerprinting) определение версий приложений используется злоумышленником для получения информации об используемых сервером и клиентом операционных системах, Web-северах и браузерах
Утечка информации (Information Leakage) эти уязвимости возникают в ситуациях, когда сервер публикует важную информацию, например комментарии разработчиков или сообщения об ошибках, которая может быть использована для компрометации системы. Необязательно она приводит к возникновению уязвимости, но часто дает атакующему прекрасное пособие для развития атаки. С утечкой важной информации могут возникать риски различной степени, поэтому необходимо минимизировать количество служебной информации, доступной на клиентской стороне. Анализ доступной информации позволяет злоумышленнику произвести разведку и получить представление о структуре директорий сервера, используемых SQL-запросах, названиях ключевых процессов и программ сервера.Часто разработчики оставляют комментарии в HTML-страницах и коде сценариев для облегчения поиска ошибок и поддержки приложения. Эта информация может варьироваться от простыхописаний деталей функционирования программы до, в худших случаях, имен пользователей и паролей, используемых при отладке
Обратный путь в директориях (Path Traversal) данная техника атак направлена на получение доступа к файлам, директориям и командам, находящимся вне основной директории Web-сервера.
Предсказуемое расположение ресурсов (Predictable Resource Location) позволяет злоумышленнику получить доступ к скрытым данным или функциональным возможностя