ypv 1 year ago
parent
commit
08a49dce79
6 changed files with 1049 additions and 28 deletions
  1. 7 3
      2023-24/README.md
  2. 351 0
      bad_variants.txt
  3. 269 0
      bad_variants_1.txt
  4. 273 0
      plagiat_1.v3.py
  5. 133 0
      plagiat_all.v3.py
  6. 16 25
      Лекции/README.md

+ 7 - 3
2023-24/README.md

@@ -1,18 +1,19 @@
 # 36 гр.  2023-24 уч.г. 1 сем.
 
 ## Формат лекций
-
 Первая строка лекции должна быть вида: # Точное название темы из Readme.md  
 Без цифр номера лекции.  
+Антиплагиат: > 80%, орфография: < 2%
+
 
 1 подгруппа  
-Бовтунова Светлана [4]: 5,  
+Бовтунова Светлана [0]: 5,  
 Борановский Илья [2]: 2, 2, 2, 3, 2   
 Гавриленко Надежда [6]: 2, 4,  
 Данилова Оксана [2]: 5, 3, 3,   
 Ивако Кирилл: 2, 2, 3,  
 Исаенков Кирилл: 2, 2,   
-Краснова Маргарита [7]: 5, 5, 4  
+Краснова Маргарита [0]: 5, 5, 4  
 Разумейко Полина: 5,  
 Сиволобова Юлия:   
 Стольникова Анастасия: 2,   
@@ -42,6 +43,9 @@
 1.4.100 Организационные, правовые, программно-аппаратные, криптографические, технические меры защиты информации в автоматизированных системах.
 
 ## Журнал
+07Dec23  
+обнулены работы: Бовтунова С, Краснова М.  
+
 02Dec23  
 **Отсутств**: Стольникова, Разумейко, Петров   
 1.3.500 Банк данных угроз безопасности информации.

+ 351 - 0
bad_variants.txt

@@ -0,0 +1,351 @@
+1.4.120 Правовые меры защиты информации в автоматизированных системах. Обзор изменений в законодательстве.
+март 2023, Поправки в закон о государственном языке: 4.88
+
+1.4.120 Правовые меры защиты информации в автоматизированных системах. Обзор изменений в законодательстве.
+октябрь 2022: 6.66
+
+1.4.120 Правовые меры защиты информации в автоматизированных системах. Обзор изменений в законодательстве.
+октябрь 2022: 6.08
+
+1.4.120 Правовые меры защиты информации в автоматизированных системах. Обзор изменений в законодательстве.
+сентябрь 2022: 9.03
+
+1.1.100 Понятиe автоматизированной (информационной) систeмы.
+Вариант 1.: 1.31
+
+1.1.100 Понятиe автоматизированной (информационной) систeмы.
+Бовтунова С.: 54.7
+
+1.1.100 Понятиe автоматизированной (информационной) систeмы.
+Гавриленко Н.: 2.14
+
+1.1.200 Отличительные черты АИС наиболее часто используемых классификаций
+Махоткина А.: 0.63
+
+1.1.200 Отличительные черты АИС наиболее часто используемых классификаций
+Борановский И.: 1.4
+
+1.1.300 Примеры областей применения АИС.
+Дмитренок В.: 0.6
+
+1.1.300 Примеры областей применения АИС.
+Теслин Д.: 22.77
+
+1.1.400 Процессы в АИС: ввод, обработка, вывод, обратная связь.
+Молчанов Н.: 0.57
+
+1.1.400 Процессы в АИС: ввод, обработка, вывод, обратная связь.
+Данилова О.: 90.79
+
+1.1.400 Процессы в АИС: ввод, обработка, вывод, обратная связь.
+Гавриленко Н.: 0.0
+
+1.1.500 Требования к АИС: гибкость, надежность, эффективность, безопасность.
+Вариант 1.: 1.29
+
+1.1.500 Требования к АИС: гибкость, надежность, эффективность, безопасность.
+Осипенко А.: 0.54
+
+1.1.500 Требования к АИС: гибкость, надежность, эффективность, безопасность.
+Теслин И.: 0.45
+
+1.1.500 Требования к АИС: гибкость, надежность, эффективность, безопасность.
+Гавриленко Н.: 0.0
+
+П1.1.100 Рассмотрение примеров функционирования автоматизированных информационных систем (еГАИС, Российская торговая система, автоматизированная информационная система компании).
+Короба К.: 2.59
+
+П1.1.100 Рассмотрение примеров функционирования автоматизированных информационных систем (еГАИС, Российская торговая система, автоматизированная информационная система компании).
+Молчанов Н.: 86.99
+
+1.2.100 Понятие жизненного цикла АИС.
+Пантелеев В.: 0.91
+
+1.2.100 Понятие жизненного цикла АИС.
+Гавриленко Н.: 0.67
+
+1.2.100 Понятие жизненного цикла АИС.
+Бовтунова С.: 0.0
+
+1.2.200 Процессы жизненного цикла АИС: основные, вспомогательные, организационные.
+Потемкин М.: 4.04
+
+1.2.200 Процессы жизненного цикла АИС: основные, вспомогательные, организационные.
+Краснова М.: 85.02
+
+1.2.300 Стадии жизненного цикла АИС
+Потемкин М.: 0.57
+
+1.2.300 Стадии жизненного цикла АИС
+Теслин И.: 0.96
+
+1.2.300 Стадии жизненного цикла АИС
+Гончаров Р.: 0.8
+
+1.2.300 Стадии жизненного цикла АИС
+Цупиков Д.: 5.38
+
+1.2.400 Модели жизненного цикла АИС.
+Потемкин М.: 0.57
+
+1.2.400 Модели жизненного цикла АИС.
+Теслин И.: 1.82
+
+П1.2.100 Разработка технического задания на проектирование автоматизированной системы.
+Короба К.: 2.78
+
+П1.2.100 Разработка технического задания на проектирование автоматизированной системы.
+Молчанов Н.: 90.6
+
+1.3.50 Терминология
+Вариант 1: 0.57
+
+1.3.50 Терминология
+Тышкевич В.: 3.14
+
+1.3.100 Потенциальные угрозы безопасности в автоматизированных системах.
+Вариант 1: 0.53
+
+1.3.100 Потенциальные угрозы безопасности в автоматизированных системах.
+Теслин И.: 0.09
+
+1.3.100 Потенциальные угрозы безопасности в автоматизированных системах.
+Пивовар Д.: 3.55
+
+1.3.100 Потенциальные угрозы безопасности в автоматизированных системах.
+Петров С.: 0.0
+
+1.3.101 Что такое стеганография?
+Стеганография.: 2.28
+
+1.3.101 Что такое стеганография?
+Пивовар Д.: 2.4
+
+1.3.101 Что такое стеганография?
+Гавриленко Н.: 3.36
+
+
+1.3.105 [Ущерб, как категория классификации угроз: 0.0
+
+1.3.200 Источники и объекты воздействия угроз безопасности информации.
+Воронин Ф.: 2.21
+
+1.3.200 Источники и объекты воздействия угроз безопасности информации.
+Беликов К.: 11.35
+
+1.3.200 Источники и объекты воздействия угроз безопасности информации.
+Бовтунова С.: 52.01
+
+1.3.300 Критерии классификации угроз.
+Вариант 1.: 2.17
+
+1.3.300 Критерии классификации угроз.
+Долгополов В.: 0.86
+
+1.3.300 Критерии классификации угроз.
+Абрамян С.: 2.84
+
+1.3.300 Критерии классификации угроз.
+Александров А.: 0.49
+
+1.3.300 Критерии классификации угроз.
+Дмитренок В.: 4.98
+
+1.3.300 Критерии классификации угроз.
+Кулешов В.: 0.59
+
+1.3.300 Критерии классификации угроз.
+Воронин Ф.: 2.38
+
+1.3.400 Методы оценки опасности угроз.
+Александров А.: 0.72
+
+1.3.400 Методы оценки опасности угроз.
+Зуров Д.: 0.5
+
+1.3.500 Банк данных угроз безопасности информации.
+Булавко А.: 5.6
+
+1.3.500 Банк данных угроз безопасности информации.
+Осипенко А.: 82.64
+
+1.3.500 Банк данных угроз безопасности информации.
+Зенченко Р.: 3.93
+
+П1.3.100 Категорирование информационных ресурсов.
+Вариант 1: 0.88
+
+П1.3.100 Категорирование информационных ресурсов.
+Евстратенко И.: 9.18
+
+П1.3.100 Категорирование информационных ресурсов.
+Абрамян С.: 86.22
+
+П1.3.200 Анализ угроз безопасности информации.
+Потемкин М.: 0.37
+
+П1.3.200 Анализ угроз безопасности информации.
+Рябошапченко Т.: 0.3
+
+П1.3.300 Пoстрoeниe мoдeли yгрoз.
+Александров А.: 5.47
+
+П1.3.300 Пoстрoeниe мoдeли yгрoз.
+Абрамян С.: 19.52
+
+П1.3.300 Пoстрoeниe мoдeли yгрoз.
+Потемкин М.: 4.95
+
+П1.3.300 Пoстрoeниe мoдeли yгрoз.
+Гончаров Р.: 1.53
+
+П1.3.300 Пoстрoeниe мoдeли yгрoз.
+Цупиков Д.: 0.39
+
+П1.3.300 Пoстрoeниe мoдeли yгрoз.
+Краснова М.: 74.7
+
+1.4.100 Организационные, правовые, программно-аппаратные, криптографические, технические меры защиты информации в автоматизированных системах.
+Вариант 1.: 0.76
+
+1.4.100 Организационные, правовые, программно-аппаратные, криптографические, технические меры защиты информации в автоматизированных системах.
+Молчанов Н.: 0.79
+
+1.4.100 Организационные, правовые, программно-аппаратные, криптографические, технические меры защиты информации в автоматизированных системах.
+Скуйбеда С.: 0.0
+
+1.4.100 Организационные, правовые, программно-аппаратные, криптографические, технические меры защиты информации в автоматизированных системах.
+Пивовар Д.: 0.41
+
+1.5.100 Идентификация и аутентификация субъектов доступа и объектов доступа.
+Дмитренок В.: 1.34
+
+1.5.100 Идентификация и аутентификация субъектов доступа и объектов доступа.
+Молчанов Н.: 2.46
+
+1.5.100 Идентификация и аутентификация субъектов доступа и объектов доступа.
+Абдурахманов С.: 4.29
+
+1.5.100 Идентификация и аутентификация субъектов доступа и объектов доступа.
+Кулешов В.: 0.73
+
+1.5.100 Идентификация и аутентификация субъектов доступа и объектов доступа.
+Щербаков М.: 1.7
+
+1.5.100 Идентификация и аутентификация субъектов доступа и объектов доступа.
+Цупиков Д.: 5.78
+
+1.5.100 Идентификация и аутентификация субъектов доступа и объектов доступа.
+Рябошапченко Т.: 0.49
+
+1.5.200 Управление доступом субъектов доступа к объектам доступа.
+Савкин С.: 1.21
+
+1.5.200 Управление доступом субъектов доступа к объектам доступа.
+Жгельский Т: 1.58
+
+1.5.200 Управление доступом субъектов доступа к объектам доступа.
+Теслин И.: 18.67
+
+1.5.200 Управление доступом субъектов доступа к объектам доступа.
+Яковлев М.: 0.62
+
+1.5.201 ZTNA
+Спинков И.: 0.99
+
+1.5.201 ZTNA
+Воронин Ф.: 0.34
+
+1.6.100 Механизмы и методы защиты информации в распределенных автоматизированных системах.
+Бешляга Д.: 0.3
+
+1.6.100 Механизмы и методы защиты информации в распределенных автоматизированных системах.
+Зуров Д.: 0.22
+
+1.6.100 Механизмы и методы защиты информации в распределенных автоматизированных системах.
+Щербаков М.: 14.75
+
+1.6.100 Механизмы и методы защиты информации в распределенных автоматизированных системах.
+Рябошапченко Т.: 1.35
+
+1.6.200 Архитектура механизмов защиты распределенных автоматизированных систем.
+Климанский Д.: 3.49
+
+1.6.200 Архитектура механизмов защиты распределенных автоматизированных систем.
+Как работает WebAuthn: 0.9
+
+1.6.200 Архитектура механизмов защиты распределенных автоматизированных систем.
+Гончаров Р.: 2.93
+
+1.6.200 Архитектура механизмов защиты распределенных автоматизированных систем.
+Петров С.: 5.02
+
+1.6.250 SSL, HTTPS.
+Чубаров Н.: 0.46
+
+1.6.250 SSL, HTTPS.
+Короба К.: 0.52
+
+1.6.260 Квантовое распределение ключей
+Скворцова Д.: 8.02
+
+1.6.260 Квантовое распределение ключей
+Тышкевич В.: 1.14
+
+1.6.260 Квантовое распределение ключей
+Краснова М.: 1.78
+
+1.6.300 Анализ и синтез структурных и функциональных схем защищенных автоматизированных информационных систем.
+Meraki: 1.49
+
+1.7.100 Oбщиe трeбoвaния пo зaщитe пeрсoнaльных дaнныx.
+Махоткина А.: 0.61
+
+1.7.100 Oбщиe трeбoвaния пo зaщитe пeрсoнaльных дaнныx.
+Осипенко А.: 78.51
+
+1.7.100 Oбщиe трeбoвaния пo зaщитe пeрсoнaльных дaнныx.
+Петров С.: 3.28
+
+1.7.200 Состав и содержание организационных и технических мер по защите информационных систем персональных данных.
+Абрамян С.: 0.12
+
+1.7.200 Состав и содержание организационных и технических мер по защите информационных систем персональных данных.
+Рябошапченко Т.: 2.37
+
+1.7.300 Порядок выбора мер по обеспечению безопасности персональных данных.
+Вариант 1.: 0.0
+
+1.7.300 Порядок выбора мер по обеспечению безопасности персональных данных.
+Дмитренок В.: 0.36
+
+1.7.300 Порядок выбора мер по обеспечению безопасности персональных данных.
+Александров А.: 1.85
+
+1.7.300 Порядок выбора мер по обеспечению безопасности персональных данных.
+Рябошапченко Т.: 1.63
+
+1.7.400 Требования по защите персональных данных, в соответствии с уровнем защищенности.
+Потемкин М.: 4.76
+
+1.7.400 Требования по защите персональных данных, в соответствии с уровнем защищенности.
+Данилова О.: 4.21
+
+1.7.400 Требования по защите персональных данных, в соответствии с уровнем защищенности.
+Рябошапченко Т.: 0.45
+
+П1.7.100 Определения уровня защищенности ИСПДн и выбор мер по обеспечению безопасности ПДн.
+Рябошапченко Т.: 1.25
+
+2.1.100 Содержание и порядок выполнения работ по защите информации при модернизации автоматизированной системы в защищенном исполнении.
+Абрамян С.: 9.01
+
+2.1.100 Содержание и порядок выполнения работ по защите информации при модернизации автоматизированной системы в защищенном исполнении.
+Яковлев М.: 0.37
+
+2.2.50 PowerShell
+Молчанов Н.: 65.09
+
+2.2.53 PowerShell. Автоматизация настроек
+Осипенко А.: 0.53
+

+ 269 - 0
bad_variants_1.txt

@@ -0,0 +1,269 @@
+
+Яковлев М.: 0.37
+
+2.2.50 PowerShell
+Молчанов Н.: 65.09
+
+2.2.53 PowerShell. Автоматизация настроек
+Осипенко А.: 0.53
+
+!!! 2.2.53 PowerShell. Автоматизация настроек
+Цупиков Д.: Файла нет2.2.100 Задачи и функции администрирования автоматизированных систем.
+Теслин И.: 0.21
+
+2.2.200 Автоматизация управления сетью.
+Климанский Д.: 0.82
+
+2.2.200 Автоматизация управления сетью.
+Пивовар Д.: 0.38
+
+2.2.200 Автоматизация управления сетью.
+Осипенко А.: 86.29
+
+2.2.200 Автоматизация управления сетью.
+Краснова М.: 85.71
+
+2.2.300 Организация администрирования автоматизированных систем.
+Пантелеев В.: 0.22
+
+2.2.300 Организация администрирования автоматизированных систем.
+Теслин И.: 0.34
+
+2.2.400 Административный персонал и работа с пользователями.
+Теслин И.: 0.0
+
+2.2.400 Административный персонал и работа с пользователями.
+Борановский И.: 85.12
+
+2.2.500 Управление, тестирование и эксплуатация автоматизированных систем.
+Осипенко А.: 3.92
+
+2.2.600 Методы, способы и средства обеспечения отказоустойчивости автоматизированных систем.
+Носов Д.: 3.36
+
+2.2.600 Методы, способы и средства обеспечения отказоустойчивости автоматизированных систем.
+Абрамян С.: 1.54
+
+2.3.100 Содержание и порядок деятельности персонала по эксплуатации защищенных автоматизированных систем и подсистем безопасности автоматизированных систем.
+Потемкин М.: 0.41
+
+2.3.200 Общие обязанности администратора информационной безопасности автоматизированных систем
+Вариант 1: 4.29
+
+2.4.200 Основные способы НСД.
+Теслин И.: 1.06
+
+2.4.200 Основные способы НСД.
+Кулешов В.: 1.11
+
+2.4.200 Основные способы НСД.
+Гавриленко Н.: 1.42
+
+2.4.200 Основные способы НСД.
+Бовтунова С.: 57.76
+
+2.4.210 Использование программных средств для НСД
+Короба К.: 2.97
+
+2.4.210 Использование программных средств для НСД
+Дмитренок В.: 4.87
+
+2.4.211 Хищение паролей, файлов и другой информации (Stealers)
+Бешляга Д., Калако А.: 3.11
+
+2.4.211 Хищение паролей, файлов и другой информации (Stealers)
+Миклухо Н.: 2.49
+
+2.4.211 Хищение паролей, файлов и другой информации (Stealers)
+Краснова М.: 77.39
+
+2.4.100 Основные принципы защиты от НСД.
+Дмитренок В.: 1.53
+
+2.4.100 Основные принципы защиты от НСД.
+Петров С.: 3.66
+
+2.4.300 Основные направления обеспечения защиты от НСД.
+Молчанов Н.: 8.82
+
+2.4.310 Очистка компьютера от мусора (Cleaners)
+Скворцова Д.: 2.22
+
+2.4.330 Программы поиска уязвимостей (Bug Bounty Programs)
+Калако А., BI.zone Bug Bounty: 3.86
+
+2.4.350 OSINT (Open Source INTelligence)
+Теслин И.: 1.5
+
+2.4.400 Основные характеристики технических средств защиты от НСД.
+Вариант 1: 5.42
+
+2.4.400 Основные характеристики технических средств защиты от НСД.
+Цупиков Д.: 6.12
+
+2.4.500 Организация работ по защите от НСД.
+Осипенко А.: 0.82
+
+2.4.510 Hardening Checklist for Linux
+Абдурахманов С.: 0.29
+
+2.4.520 Hardening Checklist for Windows
+Абрамян С.: 0.44
+
+2.5.100 Назначение и основные возможности системы защиты от несанкционированного доступа.
+Потемкин М.: 1.54
+
+2.5.110 InfoWatch ARMA
+Вариант 1: 3.82
+
+2.5.110 InfoWatch ARMA
+Дмитренок В.: 6.16
+
+2.5.200 Архитектура и средства управления СЗИ от НСД.
+Осипенко А.: 6.06
+
+!!! 2.5.200 Архитектура и средства управления СЗИ от НСД.
+Краснова М.: Файла нет2.5.300 Общие принципы управления.
+Молчанов Н.: 4.77
+
+2.5.400 Основные механизмы защиты.
+Короба К.: 0.42
+
+2.5.500 Управление устройствами.
+Гончаров Р.: 3.98
+
+2.5.600 Контроль аппаратной конфигурации компьютера.
+Вариант 1: 2.64
+
+2.5.600 Контроль аппаратной конфигурации компьютера.
+Шаповалов Д.: 0.39
+
+2.5.600 Контроль аппаратной конфигурации компьютера.
+Черкасов А.: 0.63
+
+2.5.600 Контроль аппаратной конфигурации компьютера.
+Абрамян С.: 0.57
+
+2.5.650 Аудит аппаратной конфигурации компьютеров в локальной сети.
+Зуров Д.: 0.36
+
+2.5.700 Избирательное разграничение доступа к устройствам.
+Гончаров Р.: 0.23
+
+2.5.700 Избирательное разграничение доступа к устройствам.
+Миклухо Н.: 1.63
+
+2.5.700 Избирательное разграничение доступа к устройствам.
+Вариант 1: 1.54
+
+2.5.800 Управление доступом и контроль печати конфиденциальной информации.
+Молчанов Н.: 4.41
+
+2.5.900 Правила работы с конфиденциальными ресурсами.
+Потемкин М.: 2.28
+
+2.5.900 Правила работы с конфиденциальными ресурсами.
+Петров С.: 0.26
+
+2.5.1000 Настройка механизма полномочного управления доступом.
+Дмитренок В.: 0.64
+
+2.5.1000 Настройка механизма полномочного управления доступом.
+Миклухо Н.: 0.26
+
+2.5.1100 Настройка регистрации событий.
+Короба К.: 0.32
+
+2.5.1100 Настройка регистрации событий.
+Потемкин М.: 11.82
+
+2.5.1200 Управление режимом потоков.
+Гончаров Р.: 0.48
+
+2.5.1200 Управление режимом потоков.
+Петров С.: 5.94
+
+2.5.1300 Управление режимом контроля печати конфиденциальных документов.
+Климанский Д.: 1.45
+
+Бумажный носитель:
+Теслин И.: 3.76
+
+*nix:
+Теслин И.: 1.64
+
+П2.5.100 Установка и настройка СЗИ от НСД.
+Осипенко А.: 5.52
+
+П2.5.200 Защита входа в систему (идентификация и аутентификация пользователей).
+Миклухо Н.: 2.25
+
+П2.5.300 Разграничение доступа к устройствам.
+Пантелеев В.: 9.58
+
+П2.5.300 Разграничение доступа к устройствам.
+Тышкевич В.: 0.15
+
+П2.5.400 Управление доступом.
+Булавко А.: 0.41
+
+П2.5.400 Управление доступом.
+Пантелеев В.: 1.35
+
+П2.5.400 Управление доступом.
+Молчанов Н.: 83.49
+
+П2.5.500 Использование принтеров для печати конфиденциальных документов. Контроль печати.
+Климанский Д.: 0.62
+
+П2.5.500 Использование принтеров для печати конфиденциальных документов. Контроль печати.
+Молчанов Н.: 1.16
+
+П2.5.600 Централизованное управление системой защиты, оперативный мониторинг и аудит безопасности.
+Зуров Д.: 0.87
+
+П2.5.600 Централизованное управление системой защиты, оперативный мониторинг и аудит безопасности.
+Абрамян С.: 89.06
+
+П2.5.600 Централизованное управление системой защиты, оперативный мониторинг и аудит безопасности.
+Осипенко А.: 88.52
+
+П2.5.600 Централизованное управление системой защиты, оперативный мониторинг и аудит безопасности.
+Краснова М.: 1.45
+
+2.6.100 Порядок установки и ввода в эксплуатацию средств защиты информации в компьютерных сетях.
+Осипенко А.: 6.92
+
+2.6.100 Порядок установки и ввода в эксплуатацию средств защиты информации в компьютерных сетях.
+Абрамян С.: 2.46
+
+2.6.200 Принципы основных методов организации и проведения технического обслуживания вычислительной техники и других технических средств информатизации.
+Потемкин М.: 15.41
+
+2.6.200 Принципы основных методов организации и проведения технического обслуживания вычислительной техники и других технических средств информатизации.
+Кулешов В.: 0.44
+
+
+2.6.201 [Как просканировать сетевой периметр сервиса с помощью OpenSource-инструментов.: 1.59
+
+П2.6.100 Устранение отказов и восстановление работоспособности компонентов систем защиты информации автоматизированных систем.
+Зенченко М. - Стадии реагирования на инцидент: 1.62
+
+П2.6.100 Устранение отказов и восстановление работоспособности компонентов систем защиты информации автоматизированных систем.
+Зуров Д.: 0.32
+
+2.7.100 Основные эксплуатационные документы защищенных автоматизированных систем.
+Дмитренок В.: 2.28
+
+2.7.200 Разработка и ведение эксплуатационной документации защищенных автоматизированных систем.
+Миклухо Н.: 1.13
+
+2.7.300 Акт ввода в эксплуатацию на автоматизированную систему.
+Климанский Д.: 0.62
+
+2.7.400 Технический паспорт на защищаемую автоматизированную систему.
+Осипенко А.: 5.77
+
+П2.7.100 Оформление основных эксплуатационных документов на автоматизированную систему.
+Миклухо Н.: 0.99
+

+ 273 - 0
plagiat_1.v3.py

@@ -0,0 +1,273 @@
+# версия полной проверки с проверкой русской орфографии
+
+import os
+from difflib import SequenceMatcher
+from tqdm import tqdm
+import datetime
+import requests
+
+# download stopwords corpus, you need to run it once
+import nltk
+#nltk.download("stopwords")
+from nltk.corpus import stopwords
+import pymorphy2
+from string import punctuation
+
+
+# ------------------------------- НАСТРОЙКИ ------------
+# директория файла (на уровень выше, для структуры репозиториев 2 сем. 2022-23)
+BASE_DIR = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
+# проверяемая директория
+LECTION_DIR = os.path.join("EASvZI", "Лекции")
+
+# ссылка для проверки
+url = "http://213.155.192.79:3001/u21-25petrov/EASvZI/src/b664d0ad3f37d4f5c3410970a92ab914b4c1f975/%d0%9b%d0%b5%d0%ba%d1%86%d0%b8%d0%b8/2.4.500_%d0%9e%d1%80%d0%b3%d0%b0%d0%bd%d0%b8%d0%b7%d0%b0%d1%86%d0%b8%d1%8f_%d1%80%d0%b0%d0%b1%d0%be%d1%82_%d0%bf%d0%be_%d0%b7%d0%b0%d1%89%d0%b8%d1%82%d0%b5_%d0%be%d1%82_%d0%9d%d0%a1%d0%94/%d0%bf%d0%b5%d1%82%d1%80%d0%be%d0%b2.md"
+
+# ------------------------------- / НАСТРОЙКИ ------------
+
+
+url = url.replace("src", "raw")
+
+
+
+
+
+
+
+
+
+
+#Create lemmatizer and stopwords list
+morph = pymorphy2.MorphAnalyzer()
+russian_stopwords = stopwords.words("russian")
+
+#Preprocess function
+def preprocess_text(text):
+    translator = str.maketrans(punctuation, ' '*len(punctuation))
+    words = text.translate(translator)
+    words = words.lower().split()
+    
+    # очистка от прилегающего к слову мусора (слово, "или так")
+    clear_words = []
+    for word in words:
+        clear_word = ""
+        for s in word:
+            if not s in punctuation:
+                clear_word = clear_word + s
+        clear_words.append(clear_word)
+    tokens = []
+    tokens = [morph.parse(token)[0].normal_form for token in clear_words if token not in russian_stopwords\
+            and token != " " \
+            and token.strip() not in punctuation \
+            ]
+
+    text = " ".join(tokens)    
+    return tokens, text
+
+
+
+#Preprocess function
+import language_tool_python
+tool = language_tool_python.LanguageTool('ru-RU')
+def orfo_text(tokens):
+    bad_tokens_n = 0
+    for token in tokens:
+        matches = tool.check(token)
+        if len(matches)>0:
+            bad_tokens_n += 1
+            #print(matches[0].ruleId)
+
+    return bad_tokens_n
+    
+print()
+
+now = datetime.datetime.now().strftime('%d-%m-%Y %H:%M')
+out_str = f"Время проверки: {now} \n"
+# print(out_str)
+
+response = requests.get(url)
+post_html = response.text
+
+post_list = post_html.split("\n")
+
+# проверяем правильность оформления 1й строки
+header_exist = True
+line_1 = post_list[0].strip()
+line_1 = line_1.replace(chr(65279), "")
+if (line_1[0:2]) != "# ":
+    print(f"Заголовок статьи не найден: '{line_1[0:1]} {line_1[1:2]}' вместо '# '")
+    print(f"{ord(line_1[0:1])} {ord(line_1[1:2])} вместо {ord('#')} {ord(' ')}")
+    header_exist = False
+
+# наличие вопросов и списка литературы
+quest_exist = False
+source_exist = False
+for post_line in post_list:
+    if (post_line[0:2] == "##"):
+        if ("Вопросы" in post_line):
+            quest_exist = True
+        if ("Список" in post_line) and ("литературы" in post_line):
+            source_exist = True
+if not (quest_exist):
+    print("Вопросы не найдены")
+if not (source_exist):
+    print("Список литературы не найден")
+
+
+header_text = line_1.replace("# ", "")
+header_text = header_text.replace(".", "")
+header_text = header_text.strip()
+header_text = header_text.strip()
+print(f"Заголовок: {header_text}")
+
+# ищем другие лекции по этой теме
+readme_path = os.path.join(BASE_DIR, LECTION_DIR, "README.md")
+try:
+    with open(readme_path, encoding="utf-8") as f:
+        readme_html = f.read()
+except:
+    with open(readme_path, encoding="cp1251") as f:
+        readme_html = f.read()
+
+
+"""
+█    █    █████    ███████
+█    █   ██   ██   ██    ██
+ █  █    ███████   ███████
+ █  █    ██   ██   ██  ██
+  ██     ██   ██   ██    ██
+"""
+
+
+
+lection_exist = False
+variants_exist = False
+in_lections = False # начало поиска вариантов
+readme_list = readme_html.split("\n")
+for readme_str in readme_list:
+    readme_str = readme_str.strip()
+    readme_str_list = readme_str.split(" ")
+    lection_number = readme_str_list[0]
+    readme_str_list.pop(0)
+    name_str = " ".join(readme_str_list)
+    name_str = name_str.replace(".", "")
+    name_str = name_str.strip()
+
+
+    if len(name_str)>0:
+        """
+        print(lection_number)
+        print(name_str)
+        print(header_text)
+        #print(f"{ord(name_str[0:1])} {ord(name_str[1:2])} {ord(name_str[2:3])} вместо {ord(header_text[0:1])} {ord(header_text[1:2])} {ord(header_text[2:3])}")
+        #print(fuzz.partial_ratio(name_str, header_text))
+        print()
+        """
+
+        if (str(name_str).lower() == str(header_text).lower()):
+            print("Лекция найдена в readme")
+            lection_exist = True
+            in_lections = True
+
+            post_tokens, post_uniq_text = preprocess_text(post_html)
+            print(f"количество уникальных слов: {len(set(post_tokens))}")
+            
+            bad_tokens_n = orfo_text(post_tokens)
+            bad_tokens_stat = int(bad_tokens_n / len(post_tokens) * 10000) / 100
+            print(f"процент ошибок: {bad_tokens_stat}%")
+
+
+            print()
+
+
+
+    # ищем конец списка вариантов лекций (пустая строка)
+    if lection_exist:
+        if (readme_str == ""):
+            in_lections = False
+
+    # следующие после названия лекции строки
+    if in_lections and (str(name_str).lower() != str(header_text).lower()):
+        variants_exist = True
+        variant_name, t = readme_str.split("]")
+        variant_name = variant_name.strip("[")
+        print(f"проверяю {variant_name}")
+        t, variant_uri = readme_str.split("(")
+        variant_uri = variant_uri.replace("),", "")
+        variant_uri = variant_uri.replace(")", "")
+        variant_uri = variant_uri.strip()
+            
+        if "youtube" in variant_uri:
+            print("youtube - не проверяем")
+            print()
+        else:
+            variant_path = os.path.join(BASE_DIR, LECTION_DIR, variant_uri)
+            try:
+                with open(variant_path, encoding="utf-8") as f:
+                    variant_html = f.read()
+            except:
+                with open(variant_path, encoding="cp1251") as f:
+                    variant_html = f.read()
+
+            variant_tokens, variant_uniq_text = preprocess_text(variant_html)
+            print(f"количество уникальных слов варианта: {len(set(variant_tokens))}")
+
+            # пересечение множеств 
+            min_tokens_len = min([len(set(post_tokens)), len(set(variant_tokens))])
+            c = list(set(post_tokens) & set(variant_tokens))
+            ratio = (1 - (len(c) / min_tokens_len)) * 100
+            print(f"количество совпадающих слов: {len(c)} / {ratio:.2f}%")
+            print()
+
+if not(lection_exist):
+    print("Лекция не найдена в readme")
+if not(variants_exist):
+    print("Вариантов не найдено")
+
+
+exit()
+files_paths = []
+dirs = os.listdir(BASE_DIR)
+for dir in dirs:
+    dir_path = os.path.join(BASE_DIR, dir)
+    if os.path.isdir(dir_path) and (dir != "__pycache__"):
+        files = os.listdir(dir_path)
+        for file in files:
+            file_path = os.path.join(BASE_DIR, dir, file)
+            filename, fileext = os.path.splitext(file)
+
+            if os.path.isfile(file_path) and (fileext=='.md'):
+                files_paths.append(file_path)
+
+out_str = ""
+max_ratio = 0
+max_ratio_file = ""
+for file_1 in tqdm(files_paths):
+    small_filename_1 = str(file_1).replace(BASE_DIR, "").strip("\\")
+    try:
+        with open(file_1, encoding="utf-8") as f_1:
+            str1 = f_1.read()
+    except:
+        with open(file_1, encoding="cp1251") as f_1:
+            str1 = f_1.read()
+            f_1.close()
+        with open(file_1, 'w', encoding="utf-8") as f_1:
+            f_1.write(str1)
+            f_1.close()
+                    
+
+
+    ratio = int(SequenceMatcher(None, str1.lower(), post_html.lower()).ratio() * 100)
+    if (ratio > 70):
+        out_str += f"{small_filename_1}\n"
+        out_str += f"ratio = {ratio}\n"
+    if (ratio > max_ratio):
+        max_ratio = ratio
+        max_ratio_file = small_filename_1
+
+print(out_str)
+print()
+print(f"max ratio: {max_ratio}%")
+print(f"max ratio file: {max_ratio_file}")
+print("success")
+

+ 133 - 0
plagiat_all.v3.py

@@ -0,0 +1,133 @@
+# версия полной проверки с проверкой русской орфографии
+
+import os
+from difflib import SequenceMatcher
+from tqdm import tqdm
+import datetime
+import requests
+
+# download stopwords corpus, you need to run it once
+import nltk
+#nltk.download("stopwords")
+from nltk.corpus import stopwords
+import pymorphy2
+from string import punctuation
+
+
+# ------------------------------- НАСТРОЙКИ ------------
+# директория файла (на уровень выше, для структуры репозиториев 2 сем. 2022-23)
+BASE_DIR = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
+# проверяемая директория
+LECTION_DIR = os.path.join("EASvZI", "Лекции")
+
+
+
+
+
+
+#Create lemmatizer and stopwords list
+morph = pymorphy2.MorphAnalyzer()
+russian_stopwords = stopwords.words("russian")
+
+#Preprocess function
+def preprocess_text(text):
+    translator = str.maketrans(punctuation, ' '*len(punctuation))
+    words = text.translate(translator)
+    words = words.lower().split()
+    
+    # очистка от прилегающего к слову мусора (слово, "или так")
+    clear_words = []
+    for word in words:
+        clear_word = ""
+        for s in word:
+            if not s in punctuation:
+                clear_word = clear_word + s
+        clear_words.append(clear_word)
+    tokens = []
+    tokens = [morph.parse(token)[0].normal_form for token in clear_words if token not in russian_stopwords\
+            and token != " " \
+            and token.strip() not in punctuation \
+            ]
+
+    text = " ".join(tokens)    
+    return tokens, text
+
+
+
+#Preprocess function
+import language_tool_python
+tool = language_tool_python.LanguageTool('ru-RU')
+def orfo_text(tokens):
+    bad_tokens_n = 0
+    for token in tokens:
+        matches = tool.check(token)
+        if len(matches)>0:
+            bad_tokens_n += 1
+            #print(matches[0].ruleId)
+
+    return bad_tokens_n
+    
+# ищем другие лекции по этой теме
+readme_path = os.path.join(BASE_DIR, LECTION_DIR, "README.md")
+try:
+    with open(readme_path, encoding="utf-8") as f:
+        readme_html = f.read()
+except:
+    with open(readme_path, encoding="cp1251") as f:
+        readme_html = f.read()
+
+
+"""
+█    █    █████    ███████
+█    █   ██   ██   ██    ██
+ █  █    ███████   ███████
+ █  █    ██   ██   ██  ██
+  ██     ██   ██   ██    ██
+"""
+
+
+bad_variants_text = ""
+lection_name_str = ""
+readme_list = readme_html.split("\n")
+for readme_str in readme_list[253:]:
+    readme_str = readme_str.strip()
+    readme_str_list = readme_str.split(" ")
+
+    if "[" in readme_str:
+        variant_name, t = readme_str.split("]")
+        variant_name = variant_name.strip("[")
+        print(f"проверяю: {variant_name} / {lection_name_str}")
+        t, variant_uri = readme_str.split("(")
+        variant_uri = variant_uri.replace("),", "")
+        variant_uri = variant_uri.replace(")", "")
+        variant_uri = variant_uri.strip()
+            
+        if "youtube" in variant_uri:
+            print("youtube - не проверяем")
+            print()
+        else:
+            variant_path = os.path.join(BASE_DIR, LECTION_DIR, variant_uri)
+            if os.path.isfile(variant_path):
+                try:
+                    with open(variant_path, encoding="utf-8") as f:
+                        variant_html = f.read()
+                except:
+                    with open(variant_path, encoding="cp1251") as f:
+                        variant_html = f.read()
+
+                variant_tokens, variant_uniq_text = preprocess_text(variant_html)
+                print(f"количество уникальных слов варианта: {len(set(variant_tokens))}")
+
+                bad_tokens_n = orfo_text(variant_tokens)
+                bad_tokens_stat = int(bad_tokens_n / len(variant_tokens) * 10000) / 100
+                print(f"процент ошибок: {bad_tokens_stat}%")
+
+                bad_variants_text += f"{lection_name_str}\n{variant_name}: {bad_tokens_stat}\n\n"
+            else:
+                bad_variants_text += f"!!! {lection_name_str}\n{variant_name}: Файла нет"
+            with open("bad_variants_1.txt", "w", encoding="utf-8") as f:
+                f.write(bad_variants_text)
+        
+    else:
+        lection_name_str = readme_str
+

+ 16 - 25
Лекции/README.md

@@ -15,7 +15,6 @@
 ### Тема 1.1. Основы информационных систем как объекта защиты.
 1.1.100 Понятиe автоматизированной (информационной) систeмы.  
 [Вариант 1.](1.1.100_Понятие_автоматизированной_информационной_системы/README.md), 
-[Бовтунова С.](1.1.100_Понятие_автоматизированной_информационной_системы/Бовтунова.md), 
 [Гавриленко Н.](1.1.100_Понятие_автоматизированной_информационной_системы/Гавриленко2.md), 
 
   
@@ -30,7 +29,6 @@
   
 1.1.400 Процессы в АИС: ввод, обработка, вывод, обратная связь.  
 [Молчанов Н.](1.1.400_Процессы_в_АИС/Readme.md), 
-[Данилова О.](1.1.400_Процессы_в_АИС/Oksana.md), 
 [Гавриленко Н.](1.1.400_Процессы_в_АИС/Гавриленко3.md), 
 
 
@@ -44,7 +42,7 @@
 #### Тематика практических занятий и лабораторных работ
 П1.1.100 Рассмотрение примеров функционирования автоматизированных информационных систем (еГАИС, Российская торговая система, автоматизированная информационная система компании).
 [Короба К.](П1.1.10_Рассмотрение_примеров_функционирования_АИС/Короба.md), 
-[Молчанов Н.](П1.1.10_Рассмотрение_примеров_функционирования_АИС/Molchan.md), 
+
 
 ### Тема 1.2. Жизненный цикл автоматизированных систем
 1.2.100 Понятие жизненного цикла АИС.  
@@ -55,7 +53,6 @@
   
 1.2.200 Процессы жизненного цикла АИС: основные, вспомогательные, организационные.  
 [Потемкин М.](1.2.200_Процессы_жизненного_цикла_АИС_основные_вспомогательные_организационные/potemkin.md), 
-[Краснова М.](1.2.200_Процессы_жизненного_цикла_АИС_основные_вспомогательные_организационные/Krasnova.md), 
 
 
 1.2.300 Стадии жизненного цикла АИС
@@ -73,7 +70,6 @@
 #### Тематика практических занятий и лабораторных работ
 П1.2.100 Разработка технического задания на проектирование автоматизированной системы.  
 [Короба К.](П1.2.100_Разработка_ТЗ_на_проектирование_автоматизированной_системы/Koroba.md), 
-[Молчанов Н.](П1.2.100_Разработка_ТЗ_на_проектирование_автоматизированной_системы/Molchan.md), 
 
 
 ### Тема 1.3. Угрозы безопасности информации в автоматизированных системах
@@ -103,7 +99,6 @@
 1.3.200 Источники и объекты воздействия угроз безопасности информации.  
 [Воронин Ф.](1.3.200_Источники_и_объекты_воздействия_угроз_безопасности_информации/Воронин.md), 
 [Беликов К.](1.3.200_Источники_и_объекты_воздействия_угроз_безопасности_информации/Беликов.md),
-[Бовтунова С.](1.3.200_Источники_и_объекты_воздействия_угроз_безопасности_информации/Bovtunova.md),
 
   
 1.3.300 Критерии классификации угроз.  
@@ -123,7 +118,6 @@
   
 1.3.500 Банк данных угроз безопасности информации.  
 [Булавко А.](1.3.500_Банк_данных_угроз_от_НСД/README.md), 
-[Осипенко А.](1.3.500_Банк_данных_угроз_от_НСД/1.3.500_Банк_данных_угроз_от_НСД.md), 
 [Зенченко Р.](1.3.500_Банк_данных_угроз_от_НСД/Зенченко_Роман.md), 
 
 
@@ -131,7 +125,6 @@
 П1.3.100 Категорирование информационных ресурсов.  
 [Вариант 1](П1.3.100_Категорирование_информационных_ресурсов/README.md), 
 [Евстратенко И.](П1.3.100_Категорирование_информационных_ресурсов/evstrat.md), 
-[Абрамян С.](П1.3.100_Категорирование_информационных_ресурсов/Abramyan.md), 
 
   
 П1.3.200 Анализ угроз безопасности информации.  
@@ -145,7 +138,6 @@
 [Потемкин М.](П1.3.300_Построение_модели_угроз/Potemkin.md), 
 [Гончаров Р.](П1.3.300_Построение_модели_угроз/Гончаров.md), 
 [Цупиков Д.](П1.3.300_Построение_модели_угроз/Цупиков.md), 
-[Краснова М.](П1.3.300_Построение_модели_угроз/краснова.md), 
 
   
 ### Тема 1.4. Основные меры защиты информации в автоматизированных системах
@@ -217,7 +209,6 @@
 
 1.7.100 Oбщиe трeбoвaния пo зaщитe пeрсoнaльных дaнныx.  
 [Махоткина А.](1.7.100_Общие_требования_по_защите_персональных_данных/Махоткина.md), 
-[Осипенко А.](1.7.100_Общие_требования_по_защите_персональных_данных/Осипенко.md), 
 [Петров С.](1.7.100_Общие_требования_по_защите_персональных_данных/петров.md), 
 
   
@@ -257,11 +248,9 @@
 ### Тема 2.2. Администрирование автоматизированных систем
 #### Тема 2.2.0 Программные средства автоматизации администрирования АС
 2.2.50 PowerShell  
-[Молчанов Н.](2.2.50_PowerShell/Molchanov.md),
-
+  
 2.2.53 PowerShell. Автоматизация настроек  
 [Осипенко А.](2.2.53_PowerShell_Автоматизация_настроек/project.md), 
-[Цупиков Д.](2.2.53_PowerShell_Автоматизация_настроек/Tsupikov.md), 
 
 
 #### Тема 2.2. Администрирование автоматизированных систем
@@ -271,8 +260,6 @@
 2.2.200 Автоматизация управления сетью.  
 [Климанский Д.](2.2.200_Автоматизация_управления_сетью/klimansky.md),  
 [Пивовар Д.](2.2.200_Автоматизация_управления_сетью/pivovar.md), 
-[Осипенко А.](2.2.200_Автоматизация_управления_сетью/2.2.200_Автоматизация_управления_сетью.md), 
-[Краснова М.](2.2.200_Автоматизация_управления_сетью/ритусик.md), 
 
 2.2.300 Организация администрирования автоматизированных систем.  
 [Пантелеев В.](2.2.300_Организация_администрирования_АС/Panteleev.md), 
@@ -281,7 +268,6 @@
   
 2.2.400 Административный персонал и работа с пользователями.  
 [Теслин И.](2.2.400_Административный_персонал_и_работа_с_пользователями/Tesla22.md), 
-[Борановский И.](2.2.400_Административный_персонал_и_работа_с_пользователями/борановский.md),
 
   
 2.2.500 Управление, тестирование и эксплуатация автоматизированных систем.  
@@ -311,7 +297,6 @@
 [Теслин И.](2.4.200_Основные_способы_НСД/OCNCDTeslin.md),  
 [Кулешов В.](2.4.200_Основные_способы_НСД/Kuleshov.md), 
 [Гавриленко Н.](2.4.200_Основные_способы_НСД/Гавриленко.md), 
-[Бовтунова С.](2.4.200_Основные_способы_НСД/Bovtunova.md), 
 
   
 2.4.210 Использование программных средств для НСД   
@@ -322,7 +307,6 @@
 2.4.211 Хищение паролей, файлов и другой информации (Stealers)  
 [Бешляга Д., Калако А.](2.4.211_Хищение_паролей_файлов_другой_информации_Stealers/Ispolzovanie_sredstv_vzloma.md), 
 [Миклухо Н.](2.4.211_Хищение_паролей_файлов_другой_информации_Stealers/Miklyho.md), 
-[Краснова М.](2.4.211_Хищение_паролей_файлов_другой_информации_Stealers/Краснова.md), 
 
 
 **Синие**  
@@ -374,7 +358,6 @@
 
 2.5.200 Архитектура и средства управления СЗИ от НСД.  
 [Осипенко А.](2.5.200_Архитектура_и_средства_управления_СЗИ_от_НСД/2.5.200_Архитектура_и_средства_управления_СЗИ_от_НСД.md), 
-[Краснова М.](2.5.200_Архитектура_и_средства_управления_СЗИ_от_НСД/П2.5.200_Защита_входа_идентификация_аутентификация/краснова.md), 
 
   
 2.5.300 Общие принципы управления.  
@@ -448,25 +431,27 @@
 П2.5.200 Защита входа в систему (идентификация и аутентификация пользователей).  
 [Миклухо Н.](П2.5.200_Защита_входа_идентификация_аутентификация/Miklyho.md), 
 
+
 П2.5.300 Разграничение доступа к устройствам.  
 [Пантелеев В.](П2.5.300_Разграничение_доступа/Panteleev11.md),
 [Тышкевич В.](П2.5.300_Разграничение_доступа/tyshkevich.md), 
-  
+
+
 П2.5.400 Управление доступом.  
 [Булавко А.](П2.5.400_Управление_доступом/blvk032get.md), 
 [Пантелеев В.](П2.5.400_Управление_доступом/Panteleev.md), 
-[Молчанов Н.](П2.5.400_Управление_доступом/Molchanov.md),  
-  
+
+
 П2.5.500 Использование принтеров для печати конфиденциальных документов. Контроль печати.  
 [Климанский Д.](П2.5.500_Использование_принтеров_для_печати_конфиденциальных_документов/u20-24klimansky.md), 
 [Молчанов Н.](П2.5.500_Использование_принтеров_для_печати_конфиденциальных_документов/Molchanov.md)
-  
+
+
 П2.5.600 Централизованное управление системой защиты, оперативный мониторинг и аудит безопасности.  
 [Зуров Д.](П2.5.600_Централизованное_управление_системой_защиты/Zurov.md), 
-[Абрамян С.](П2.5.600_Централизованное_управление_системой_защиты/Abramyan.md), 
-[Осипенко А.](П2.5.600_Централизованное_управление_системой_защиты/u20-24osipenko.md), 
 [Краснова М.](П2.5.600_Централизованное_управление_системой_защиты/краснова.md), 
 
+
 ### Тема 2.6. Эксплуатация средств защиты информации в компьютерных сетях
 2.6.50 Аттестация объектов информатизации по требованиям безопасности информации.
 [Вариант 1](https://www.youtube.com/watch?v=Qu3765Vr1sE), 
@@ -510,3 +495,9 @@
 #### Тематика практических занятий и лабораторных работ
 П2.7.100 Оформление основных эксплуатационных документов на автоматизированную систему.
 [Миклухо Н.](П2.7.100_Оформление_основных_эксплуатационных_документов_автоматизированную_систему/Mikluho.md), 
+
+
+## Запуск локального антиплагиата
+pip install language-tool-python
+
+