1625914891-62d0978a4faa71912bcf30efde0ff3e3 (843827), страница 9
Текст из файла (страница 9)
flood) — атака, связанная с большим количеством обычнобессмысленных или сформированных в неправильном формате запросов ккомпьютерной системе или сетевому оборудованию.Атака второго рода — атака, которая стремится вызвать ложное срабатываниесистемы защиты и таким образом привести к недоступности ресурса.Если атака (обычно флуд) производится одновременно с большого количества IPадресов, то в этом случае она называется распределённой атакой на отказ вобслуживании (DDoS).DDOS атакаВредоносное ПОДля вредоносного ПО выделяют следующие аспекты: Вредоносная функцияСпособ распространениявнедрение другого вредоносного ПО;получение контроля над атакуемой системой;агрессивное потребление ресурсов;изменение или разрушение программ и/или данных;«вирусы» - код, обладающий способностью к распространению путемвнедрения в другие программы;«черви» - код, способный самостоятельно, то есть без внедрения вдругие программы, вызывать распространение своих копий по ИС иих выполнение;Внешнее представлениетроянские программы.Вредоносное ПОНаиболее известные вирусамы:1988, Червь Морриса ($96 млн)1998, Melissa (макровирус)1999, CIH (Чернобыль)2001, Nimda (5 способовраспространения)2003, Lovesan, Blaster(распространялся через известнуюбрешь MS Windows)Современные способымошенничестваSMS вирус (ransomware)Ботнеты (bot nets)Лже-антивирусыСоциальная инженерия (пляшущие свинки)ПретекстингФишингДорожное яблокоСкиммерыБанкомат: скиммерБанкомат: скиммерБанкомат: скиммерМеханизмы обеспечениябезопасности сетейСреди механизмов безопасности сетей,предусмотренных ISO, обычно выделяютследующие основные: контроль доступа; шифрование; цифровая подпись.Контроль доступаСлужба контроля доступа реализует выполнениеследующих функций:1.Идентификация — процесс сообщения субъектом своегоимени или номера, с целью отличить данный субъект отдругих субъектов.2.Аутентификация или подтверждение подлинности —процедура проверки соответствия субъекта и того, закого он пытается себя выдать, с помощью некойуникальной информации.3.Авторизация — процесс, а также результат процессапроверки необходимых параметров и предоставлениеопределённых полномочий лицу или группе лиц (правдоступа) на выполнение некоторых действий.Методы аутентификацииЛогин/парольЭлектронный сертификатПластиковая картаСканер радужной оболочки глазаСканер отпечатков пальцевМногофакторная аутентификацияиспользует несколько компонентов.Модель угрозы Долева — ЯоМодель угрозы Долева — Яо — модель, широко используемая в криптографии дляописания среды, в которой происходит обмен шифрованными сообщениями.
Согласномодели, в сети злоумышленник обладает следующими возможностями:Злоумышленник может получить любое сообщение, передаваемое по сети.Злоумышленник имеет право устанавливать соединение с любым пользователем.Злоумышленник может стать стороной, принимающей сообщения от любойпередающей стороны.Злоумышленник может посылать любому пользователю сообщения от имени любогодругого пользователя.При этом накладываются следующие ограничения:Не может угадывать случайные числа, выбранные из достаточно большогомножестваНе может расшифровать не имея ключа, либо корректно зашифровать сообщениепри условии использования некоторого идеального алгоритма шифрованияКонтролируя средства связи, злоумышленник, тем не менее, не может получитьдоступ к внутренним ресурсам, например, к памяти или жёсткому дискуШифрование1.2.3.Алгоритмы симметричного шифрования - алгоритмышифрования, в которых для шифрования и дешифрованияиспользуется один и тот же ключАлгоритмы асимметричного шифрования алгоритмы шифрования, в которых для шифрования идешифрования используются два разных ключа,называемые открытым и закрытым ключами, причем, знаяодин из ключей, вычислить другой невозможно.Хэш-функции - функции, входным значением которыхявляется сообщение произвольной длины, а выходнымзначением - сообщение фиксированной длины.Ассиметричное шифрованиеПринцип работыПерехват данныхЭлектронно-цифровая подпись(ЭЦП)Цифровая подпись используется для реализациислужб аутентификации и защиты от отказов.Механизм цифровой подписи базируется наиспользовании способа шифрования с открытымключом.
Знание соответствующего открытого ключадает возможность получателю электронногосообщения однозначно опознать его отправителя.Цифровая подпись обеспечивает: Удостоверение источника документа. Защиту от изменений документа. Невозможность отказа от авторства.Взлом паролейПолный переборПеребор по словарюСловарь хэш-функцийКоллизия хэш-функцийЛекция окончена!Благодарю за внимание!26Системное и прикладное ПРОГРАММНОЕОБЕСПЕЧЕНИЕЛекция №10. Языки программированияГуськов Андрей Евгеньевичhttp://web.ict.nsc.ru/~guskov/courses/software/guskov (dog) ict.nsc.ru2010 г.1Лекция №10. Содержание1.2.3.4.5.Компилируемые и интерпретируемыеязыки программированияИмперативные и декларативные ЯПОбъектно-ориентированноепрограммированиеUML: Унифицированный языкмоделированияШаблоны проектирования2Hello World; Программа «Hello, World!» для процессора архитектуры x86:BB 11 01 B9 0D 00 B4 0E 8A 07 43 CD 10 E2 F9CD 20 48 65 6C 6C 6F 2C 20 57 6F 72 6C 64 21; Программа «Hello, World!» для Intel Assembler (MS DOS):mov ax,csmov ds,axmov ah,9mov dx,offset Helloint 21hxor ax,axint 21hHello:db "Hello World!",13,10,"$"Языки программированияНизкоуровневый язык программирования — языкпрограммирования, близкий к программированиюнепосредственно в машинных кодах используемого реальногоили виртуального процессора.Высокоуровневый язык программирования — языкпрограммирования, разработанный для быстроты и удобстваиспользования программистом.Основная черта высокоуровневых языков — это абстракция, тоесть введение смысловых конструкций, кратко описывающихтакие структуры данных и операции над ними, описаниякоторых на машинном коде (или другом низкоуровневомязыке программирования) длинны и сложны для понимания.ОпределенияЯзык программирования (ЯП) – формальная знаковаясистема, предназначенная для описания алгоритмов вформе, которая удобна для исполнителя (например,компьютера).Язык программирования определяет набор лексических,синтаксических и семантических правил, используемыхпри составлении компьютерной программы.Языки программирования делятся на: Компилируемые ИнтерпретируемыеОпределенияКаждый язык программирования может бытьпредставлен в виде набора формальныхспецификаций, определяющих его синтаксис исемантику.
Эти спецификации обычно включают всебя описание:• Типов и структур данных• Операционную семантику (алгоритм вычисленияконструкций языка)• Семантические конструкции языка• Библиотеки примитивов (например, инструкции вводавывода)• Философии, назначения и возможностей языкаКомпиляторТранслятор (translator) — программа, котораяпринимает на вход программу на одном языке(он в этом случае называется исходный язык, апрограмма — исходный код), и преобразует еёв программу, написанную на другом языке.Компилятор (compiler) — транслятор,который осуществляет перевод всей исходнойпрограммы в эквивалентную ейрезультирующую программу на языкемашинных команд.Структура компилятораПроцесс компиляции состоит изследующих этапов:1.Синтаксический анализ2.Семантический анализ3.Оптимизация4.Генерация кодаСинтаксический анализСинтаксический анализ — это процессанализа входной последовательностисимволов, с целью разбораграмматической структуры.Синтаксический анализ состоит из: Лексического анализа Грамматического анализаЛексический анализЛексема - последовательность допустимых символов языкапрограммирования, имеющая смысл для транслятора.Транслятор рассматривает программу какпоследовательность лексем.Лексический анализ — процесс аналитического разборавходной последовательности символов (например, такойкак исходный код на одном из языков программирования)с целью получения на выходе последовательностисимволов, называемых лексемами.Грамматический анализГрамматический анализ (грамматическийразбор) — это процесс сопоставлениялинейной последовательности лексем (слов,токенов) языка с его формальнойграмматикой.
Результатом обычно являетсядерево разбора.Пример:Семантический анализ иоптимизацияСемантический анализ. Дерево разбораобрабатывается с целью установления его семантики(смысла) — напр. привязка идентификаторов к ихдекларациям, типам, проверка совместимости,определение типов выражений и т. д.Оптимизация. Выполняется удаление излишнихконструкций и упрощение кода с сохранением егосмысла.