1

Тема: Информационная безопасность

Конкретики пока нет никакой. Есть пожелания и комменты. Программа должна учитывать очень широкий круг проблем, связанных с информационной безопаностью и киберпреступностью, начиная от взлома пароля, заканичивая угрозой возникновения цветных революций в РФ, точнее использованием информационных технологий при подготовке к ним. В идеале программа должна отвечать на вопросы: что случилось с моим компом(если работает юзер), почему накрылась сеть, откуда утечка инфы, как восстановить оффсайт (если работает компания), и самое главное, если заказчик государство (РФ), то должно отвечать\предвидеть ответы на след вопросы - вон большая куча народа\злое государство, у них есть коварный план, реализация которого предполагает "работу в глобальной сети", при этом под этим подразумевается все; так вот, как вычислить врага и предотвратить, в идеале, на самом первом шаге, реализацию плана, или хотя бы, повторения такого в будущем. Первый вопрос - что общего у этих трех проблем. Как эти проблемы объединить так, чтобы дать единый ответ. Если юзера и компанию можно объединить, то юрлицо и госво тяжело - зачастую их интересы не пересекаются, потому что РФ. Программа гипотетическая.

Пока что первоначальный план такой. Что есть? Что и зачем изменить? (изменять можно все, вплоть до основ) Как изменить?

Вначале что есть.
Есть некоторая большая база данных прецедентов кибератак, и т.п., которые случились в мире. Есть некоторое множество элементов (будем говорить классы), например, симпотмы прецедентов, их последствия, уязвимости, и т.д. которая взаимодействует с этой базой данных. На основе этих взаимодейсвтий, которые прописаны на программном уровне, юзер может получать ответы на такого типа вопросы - у меня случилось неполадка, что делать. Программа по опр. критериям ищет похожие прецеденты, которые уже случились, и анализируя их говорит, что надо делать то и то. Как видно, программа работает с уже случившимися неполадками, но не предотвращает их.
Итак, насчет БД. хранилище все время пополняется, причем в ручном режиме, т.к. в автоматическом пока нереализуема (имеется в виду, что есть некоторая программа, которая анализирует крупнейшие ресурсы по ИБ, в которых публикуется информация по прецедентам и извлекает оттуда все необх. данные в автоматическом режиме; какие данные при этом необх. - чуть позже). Хотя это уже первая проблема. Почему? Ответ прост - прецедентов в мире случается очень много, так что ручной метод забивания информации - бесперспективный.

Есть несколько путей решения, которые я пока вижу. 1 - сделать пополенение базы в полуавтоматическом режиме. Т.е. программа ищет ключевые слова, причем поиск грубый очень, это наверняка несложно реализовать. Если есть совпадение по критерием поиска - "почти идеальное", то прецедент заносится в базу. Если нет, то передается специалисту, который за этим следит, и он уже все решает. Однако этот путь реализуем только при условии, что мы просматриваем заранее предопределенный список сайтов. Если такого ограничения нет, то тогда пока непонятно. Можно пользоваться поисовыми системами - google, yandex, и полученную оттуда инфу еще более тонко фильтровать. Однако и здесь возникает проблема.

Наиболее общая проблема - это точность полученной информации о прецеденте, и вообще, что считать за прецендент.

Верификация.
Эти вопросы необходимо проработать. Отвечая на первый вопрос - необходимо разработать алгоритм верификации информации. Хотя, возможно, на первоначальном этапе это не особо важно, но пока что первое что приходит на ум - это существание одной и тоже информации на нескольких ресурсах. А если на тех ресурсах написан источник - тогда хорошо, можно сразу перейти к источнику информации. И т.д. пока не добрались до первоисточника. Как правило, с учетом того, что контент на 95 процентов в интернете написан\озвучен на английском языке, но первоисточник будет на английском. Только если это не касается прецедентов на территории РФ. Как правило прецеденты, нам интеренсные, которые происходят на территории РФ имеют политичкий окрас. Так что возникает идея разбить поступающая инфу первоначально на 2 типа - с полит. окрасом и без. Строгий критерий политокраски пока не разработан. Но интуитивно это понятно. Прецеденты без политокраски - можно сразу пытаться обрабатывать на англоязычных ресурсах (вообще, насчет автоматического анализа текста, целью которого является выявление прецедентов. Гораздо проще анализировать английский язык в силу его грамматической строгости). Остальные  - на русских. Хотя, думается, в недалеком будущем, когда ИБ и кибератаки перейдут на межнациональный уровень (т.е. кибератаки одних государств на др и т.п.), все прецеденты будут носить политокрас. Так что проблема верификации если не сейчас, то в будущем будет крайне важна. На самом деле уже сейчас можно более серьезно думать об этом.

Итак, возвращаясь к тому, с чего начали - мы нашли первоисточник. Вопрос - можем ли мы ему доверять? Идей мало - можно, например, составить список белых сайтов, из которых инфа будет, как правило верна. Как это делается? Допустим, вначале мы вручную ищем все первоисточники. Со временем мы замечаем, что множество прецедентов, о которых мы узнаем, сводится к нескольким авторитетынм ресурсам, которые можно и внести в белый список на основе того, что они, как правило предоставяли ранее правдивую инфу, или просто ресурс очень авторитен и можем ему доверять де-факто. Кстати, выше говорилось как раз о том, что для автоматического поиска инфы необходимо фильтровать некоторый конечный и заранее известный, и, возможно, пополняемый список ресурсов. Наш белый список список может случить в этом качестве. На самом деле это видется единственно возможным правильным вариантом. Для неизвестных сайтов в качестве критерии истинности можно использовать существование у них ссылки на сайт из белого списка. Вообще интересен этот вопрос - возможно ли так работать с сайтами в Интернете, чтобы сравнительно легко получать оттуда источник информации. Аналогичным образом состалвяем черный список, хотя, как мне кажется, он будет довольно короткий. Однако, есть пара моментов. Если для нас важна скорость получения информации, то можно заметить, что, как правило (или только иногда?), на авторитетных источниках информация появляется несколько позже, чем на желтых страницах. Этот вопрос надо обдумать.

Итак, если инфа без политокраски то все норм. А если с политокраской, что скоро может стать актуально? Какому источнику тогда доверять. Если взять любую др область, необязательно ИБ, то видно, что авторитетные источники разных стран (как правило РФ, Европа, США, и возможно, КНР) по-разному трактуют\предоставляют информацию. А если еще есть и цензура (а она есть везде в той или иной степени), то это вообще становится большой проблемой, кому доверять. Однако есть пара идей. По большому счету, нам ведь неважно как трактуется информация. Нам важны только сами факты, проишествия. А трактовкой причин можно заняться и самим, хотя это и не надо будет, скорее всего, в рамках программы. Итак алгоритм такой - случае событие, прецедент. Анализируем несколько белых (из белого списка) источников, ищем те факты, которые одинаковы в них. Например, время происшествия, названия, причина, последствия. Конечно, как раз в этом то и будут различия информации, особенно в причинах\последствиях. Однако если мы обнаружим некоторые общие факты, то это можно считать истиной. Например  последсвтие - убыток компании в источнике А 100 млн долларов, в источнике Б - незначительные убытки. Истина заключается в том что убытки были. Таким образом, можно предположить что инфа будет отличаться в цифрах, в том врема как факты существования потерь\взлома и т.п. везде будут указаны, стало быть будут истинными. Конечно, будет множество прецеднтов, инфа о которых в корне отличается. Так что этот вопрос стоит также проработать. Первоначальная идея пока что - допустим, разработана программа, автоматически анализирующая ресурсу в Интеренете и умеющая выделять нужные нам факты. Применяем ее для нескольких ресурсов, где есть совпадения - значит факт истинен. На самом деле, такой анализ можно применять к любым прецедентам, даже не имеющим политокрас. Просто к полипрецедентам нужен более тщательный подход.

Определение прецедента.
Выше мы рассмотрели проблему верификации прецедента. Однако парал. проблеме ферификации идет проблема определения прецедента. Что вообще можно считать за прецедент? Вопрос, казалось бы простой, и наверняка, в большинстве случаев он будет простым. Например, атака на банк\госучреждение, в результате которой случилась утечка информации - это прецедент. Однако существуют менее очевидные прецеденты. Вообще этот вопрос возник, потому что 1 - для написания программы для (полу)автоматического анализа текста крайне важно понимать, что такое прецедент, для составления того что списка ключевых слов например. 2 - в самом начале говорилось о том, что программа должна учитывать очень широкий круг проблем, связанных с информационной безопаностью и киберпреступностью, начиная от взлома пароля, заканичивая угрозой возникновения цветных революций в РФ, точнее использованием информационных технологий при подготовке к ним. Так вот проблема как раз в таких угрозах - которые напрямую не несут вред юридическому\физическому лицу, но которые лишь косвенно имеют отношение к угрозе в общем смысле этого слова. Пример, актуальный для РФ. Допустим есть группа лиц, которые хотят спланировать какую-нибудь, будем говорить, акцию, одним из ключевых критериев которой является участие в ней огромного количества людей (это может быть все что угодно - начиная от забастовки, заканчивая государсвенным переворотом, хотя в посл случае, группа лиц будет действовать более скрытно, чем мы в дальнейшем будем предполагать). Для них что важно? Агитация людей для того, чтобы склонить их учавствовать в акции. Современные средства массовой связи, в особенности, интернет (соц сети, рассылка сообщений и тп) предоставляют огромные возможности для такого рода действий. Самое простое, что напрашивается - создать группу в соцсети с веселым названием и невеселой целью. По факту, все гораздо сложнее. Так вот, в этом смысле - создание такой группы - это прецедент. Теперь можно видеть сложность определения прецедентов. Идей опять таки мало - взаймодействие с соцсетями, хотя их руководство навряд ли предоставит более менее полезную инфу (если только не для спецслужб). Причины этого - политика руководства соцсетей и огромное количество иформации. Хотя, можно, например, предоставить возможность для более избирательного\специфического поиска в соцсетях, если стандартных средсв не хватает. Однако это идея лишь на простом примере с созданием плогой группы в соцсети. По факту, повторюсь, все гораздо сложнее. Необходимо более подробно проработать этот вопрос, и вообще сделать какой нибудь отчет (здесь еще будет дополнение), основанный на примерах уже происходивших в мире "акций".

Вообще, изначально я хотел написать комменарии по общей проблеме (точность полученной информации о прецеденте, и вообще, что считать за прецендент), которые относились к возможности автоматического анализа текста для выявления прецедентов. Однако по ходу дела отвлекся довольно сильно, и возможно привел несколько аргументов, чтобы поменять концепцию программы. Осталось понять что менять?
На самом деле, отвечая на вопрос "Что есть?", пока что уделил внимание лишь пополнению базы данных инфой из сети. Не рассмотрены пока что след вопросы - с учетом того что прецеденты - это класс в БД, в которой есть еще и другие классы  и связи между ними, как вообще все между собой связано. Пока что это неважно. Вопрос в след - такая концепция вообще хороша для главного вопроса из 1 абзаца? (основные моменты след - главное - есть база прецедентов, связанные с ней угрозы, уязвимости и тп, юзер вбивает инфу о том что что то не работает, программа говорит что случилось то и то, делать надо то и то, и как с этим связать вопросы, поднятые в абзаце, посвященному определению прецедента?)