
Информатика: создаём своего цифрового помощника Урок 55 из 72
Кого и от чего мы защищаем
Представьте школьный дневник на столе.
Где мы на карте
Урок 55 из 72. Блок «Цифровая безопасность» (55–62). Мы продолжаем локального помощника с тремя вымышленными задачами. Каждая мера имеет конкретную границу: учебная версия не становится готовым публичным сервисом.
Ситуация и вопрос
Представьте школьный дневник на столе. Кто-то может прочитать его, исправить отметку или унести целиком. У нашего вымышленного помощника похожие риски: файл SQLite, локальная страница и резервная копия требуют разных мер. Сначала назовём, что защищаем, а уже затем выберем средство.
Где взять файлы проекта
Откройте папку контрольной версии, скачайте репозиторий через Code → Download ZIP и найдите course/informatics-assistant/step-06. Откройте терминал в этой папке. Команда python3 --version покажет Python; затем запустите указанную проверку. Все имена задач вымышлены, никаких реальных данных вводить не нужно.
Новые слова без пропусков
Актив — ценная вещь или информация: здесь файл задач и возможность продолжить работу. Угроза — возможное нежелательное событие; уязвимость — слабое место, через которое оно реализуется. Конфиденциальность ограничивает чтение посторонними; целостность позволяет заметить изменение; доступность означает, что владелец сможет открыть данные вовремя. Это три разных обещания, а не одна кнопка «защитить».
Опорный сигнал
Прочитайте три клетки схемы слева направо, затем закройте третью. Назовите вход и действие в каждой клетке; предскажите, чем закончится путь и какой наблюдаемый факт подтвердит ответ. Сравните рисунок с файлом проекта или контрольным примером. Если число на схеме не получается из данных, исправьте схему, а не данные под красивую картинку.
Разбираем шаг за шагом
Составьте таблицу из трёх строк. Посторонний читает незашифрованную копию: страдает конфиденциальность. Кто-то меняет 20 минут на 200: страдает целостность. Диск ломается: страдает доступность. Для первого случая не публикуем данные и оставляем сервер на 127.0.0.1; для второго проверяем данные и резервную копию; для третьего испытываем восстановление. Локальный адрес не спасает от человека с доступом к самому компьютеру.
Предскажите и проверьте
Запишите ожидаемый вывод до запуска кода. Выполните его в указанной папке step-06 или step-07, сравните результат символ за символом и объясните каждую строку. Затем измените один безопасный вымышленный вход и повторите цикл «предсказать — запустить — изменить — объяснить — проверить». Наблюдение на маленьком наборе не превращайте в обещание для реальных людей.
from pathlib import Path
from data_store import connect_readonly
print("local", Path("tasks.json").is_file())
print("read-only", "mode=ro" in Path("data_store.py").read_text())
Ожидаемый вывод
local True
read-only True
Поймайте ошибку
Хеш файла показывает изменение, но не скрывает содержимое. Копия помогает восстановить данные, но сама нуждается в защите. Три вымышленные задачи не требуют реальных личных данных учащихся.
Изменение проекта
В проекте 1.3 сохраняются исходные три задачи, четыре занятия и правила напоминаний. Новые действия вынесены в security_assistant.py: проверка, создание отдельной копии и восстановление только в новый файл. Запишите, от какой угрозы помогает это изменение и от какой не помогает; учебные данные остаются вымышленными.
Задание и доказательство
Нарисуйте таблицу «актив — событие — свойство — проверка» для базы, веб-страницы и копии. Назовите хотя бы по одному случаю, который выбранная мера не предотвращает.
Перенос в новую ситуацию
Телефон потерян, но пароль на нём установлен. Что известно о конфиденциальности, а что ещё нужно проверить для доступности семейных фотографий?
Возврат через 1, 7 и 30 дней
Через 1 день нарисуйте схему по памяти и найдите в ней одну границу применения. Через 7 дней объясните её товарищу, не читая урок, и решите 7 из 10 вопросов блока; ошибочные ответы разберите на конкретных входах. Через 30 дней откройте свежую копию проекта, воспроизведите проверку и перенесите принцип в новый пример. Сохраните свой протокол с входом, ожидаемым и фактическим результатом.
Первоисточник для проверки
Следующий урок
Если вы нашли ошибку или опечатку в тексте статьи, то сообщите нам об этом
Комментарии (0)
Войдите, чтобы оставить комментарий →
Пока нет комментариев. Будьте первым.