Система и способ определения текста, содержащего конфиденциальные данные
SYSTEM AND METHOD FOR DEFINITION OF TEXT CONTAINING CONFIDENTIAL DATA

Область техники
Изобретение относится к области предотвращения утечек информации.
Уровень техники
В связи с возросшим в последнее время числом киберпреступлений и увеличившимся количеством краж информации все более востребованными становятся системы предотвращения утечек информации (англ. DLP - Data Leak Prevention). Одной из основных задач систем DLP является предотвращение утечек персональных и конфиденциальных данных (текста), таких как, например, паспортные данные, данные водительских удостоверений, банковских карт и пр.
Для обнаружения персональных и конфиденциальных данных обычно используется способ, заключающийся в обнаружении нескольких ключевых слов, расположенных рядом. Например, для паспорта - это слово «серия» и цифры серии паспорта, слово «номер» и цифры номера паспорта, словосочетание «дата выдачи» и сама дата выдачи паспорта и т.д. Однако на практике некоторые ключевые слова могут отсутствовать, расстояние между другими ключевыми словами может быть велико, а сами ключевые слова могут относиться к разным типам конфиденциальных данных. Например, после слова «серия» может следовать штрихкод некоторого товара, который может быть ошибочно принят за номер паспорта. В данном случае говорят о возникновении ошибки первого рода или о ложном срабатывании, т.е. о ситуации, когда текст был определен как содержащий конфиденциальные данные, хотя на самом деле указанный текст не содержит конфиденциальные данные.
Таким образом, техническая проблема заключается в ложных срабатываниях, возникающих при определении текста, содержащего конфиденциальные данные.
Из уровня техники известен способ обнаружения конфиденциальных документов, описанный в заявке US 20130232162 А1. В анализируемом документе осуществляют поиск ключевых слов и если заданный набор ключевых слов встречается в определенной последовательности, при этом расстояние между первым и последним словом не превышает некоторое число, то считается, что документ содержит конфиденциальную информацию. В патенте US 9473521 B2 описан способ обнаружения конфиденциальной информации, заключающийся в поиске ключевых слов. Например, если в тексте встречается номер банковской карты и на заданном расстоянии от него находятся ключевые слова «SSN» или «Serial security number», считается, что текст содержит конфиденциальную информацию.
Тем не менее, указанные публикации не решают упомянутую техническую проблему: в приведенном выше примере применение способов из описанных публикаций вызовет ложное срабатывание.
Раскрытие сущности изобретения
Технический результат заключается в улучшении определения конфиденциальной информации в тексте по сравнению с известными аналогами за счет уменьшения количества ложных срабатываний.
Технический результат заключается в реализации назначения.
Согласно варианту реализации используется способ определения текста, содержащего конфиденциальные данные, в котором с использованием средства поиска осуществляют поиск ключевых слов в анализируемом тексте; с использованием средства разбора вычисляют плотность ключевых слов в анализируемом тексте, при этом упомянутая плотность ключевых слов вычисляется, в частности, одним из выражений: отношением количества символов в найденных в анализируемом тексте ключевых словах к количеству символов анализируемого текста; отношением количества найденных ключевых слов к общему количеству слов анализируемого текста; с использованием средства анализа определяют анализируемый текст как содержащий конфиденциальные данные, если плотность ключевых слов превысила пороговое значение.
Согласно одному из частных вариантов реализации каждому ключевому слову соответствует весовой коэффициент, учитывающийся при вычислении плотности ключевых слов, при этом если значение весового коэффициента для ключевого слова, содержащегося в анализируемом тексте, выше единицы, плотность ключевых слов увеличивается, в противном случае уменьшается.
Согласно другому частному варианту реализации весовой коэффициент для одного ключевого слова зависит от количества вхождений другого ключевого слова в анализируемом тексте.
Согласно еще одному частному варианту реализации ключевым словом является строка, содержащая по меньшей мере один символ.
Согласно одному из частных вариантов реализации ключевым словом является регулярное выражение.
Согласно другому частному варианту реализации ключевым словом дополнительно является регулярное выражение из других ключевых слов.
Согласно еще одному частному варианту реализации с помощью средства поиска дополнительно выполняют проверку найденных ключевых слов на соответствия заданным критериям, при этом критерием является, в частности, выполнение проверки с помощью алгоритма «Луна» найденных ключевых слов, отвечающих номеру банковской карты.
Согласно одному из частных вариантов реализации плотность ключевых слов вычисляется как отношение весовых коэффициентов, найденных в анализируемом тексте ключевых слов, к сумме весовых коэффициентов всех ключевых слов, найденных в анализируемом тексте.
Согласно другому частному варианту реализации пороговое значение зависит, в частности, от одного из: количества символов анализируемого текста; количества слов анализируемого текста.
Согласно варианту реализации используется система определения текста, содержащего конфиденциальные данные, содержащая: средство поиска, предназначенное для осуществления поиска ключевых слов в анализируемом тексте; средство разбора, связанное со средством поиска и предназначенное для вычисления плотности ключевых слов в анализируемом тексте, при этом упомянутая плотность ключевых слов вычисляется, в частности, одним из выражений: отношением количества символов в найденных в анализируемом тексте ключевых словах к количеству символов анализируемого текста; отношением количества найденных ключевых слов к общему количеству слов анализируемого текста; средство анализа, связанное со средством разбора и предназначенное для определения анализируемого текста как содержащего конфиденциальные данные, если плотность ключевых слов превысила пороговое значение.
Согласно одному из частных вариантов реализации каждому ключевому слову соответствует весовой коэффициент, учитывающийся при вычислении плотности ключевых слов, при этом если значение весового коэффициента для ключевого слова, содержащегося в анализируемом тексте, выше единицы, плотность ключевых слов увеличивается, в противном случае уменьшается.
Согласно другому частному варианту реализации весовой коэффициент для одного ключевого слова зависит от количества вхождений другого ключевого слова в анализируемом тексте.
Согласно еще одному частному варианту реализации ключевым словом является строка, содержащая по меньшей мере один символ.
Согласно одному из частных вариантов реализации ключевым словом является регулярное выражение.
Согласно другому частному варианту реализации ключевым словом дополнительно является регулярное выражение из других ключевых слов.
Согласно еще одному частному варианту реализации средство поиска дополнительно предназначено для выполнения проверки найденных ключевых слов на соответствия заданным критериям, при этом критерием является, в частности, выполнение проверки с помощью алгоритма «Луна» найденных ключевых слов, отвечающих номеру банковской карты.
Согласно одному из частных вариантов реализации плотность ключевых слов вычисляется как отношение весовых коэффициентов, найденных в анализируемом тексте ключевых слов, к сумме весовых коэффициентов всех ключевых слов, найденных в анализируемом тексте.
Согласно другому частному варианту реализации пороговое значение зависит, в частности, от одного из количества символов анализируемого текста; количества слов анализируемого текста.
Краткое описание чертежей
Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых:
Фиг. 1 представляет общий вид системы настоящего изобретения.
На Фиг. 2 показан способ определения текста, содержащего конфиденциальные данные.
На Фиг. 3 приведен пример текста, который содержит ключевые слова, но не является конфиденциальным.
Фиг. 4 представляет пример компьютерной системы общего назначения.
Осуществление изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным как конкретными деталями, обеспеченными для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется в объеме приложенной формулы.
На Фиг. 1 представлена схема настоящего изобретения. Система содержит средство поиска, предназначенное для поиска ключевых слов в анализируемом тексте. В частном варианте реализации в качестве анализируемого текста может быть исходный текст или часть исходного текста, полученного, например, от пользователя или приложения, считанного из файла на диске или полученного из почтового сообщения, перехваченного из сетевого трафика, распознанного на изображении или извлеченного из структуры формата файла. Анализируемый текст может содержать любые символы. Ключевое слово может представлять собой любую последовательностью символов. В частном варианте реализации ключевым словом является строка, содержащая по меньшей мере один символ. В другом частном примере реализации ключевым словом является регулярное выражение. В еще одном частном варианте реализации ключевым словом дополнительно является регулярное выражение из других ключевых слов. Например, в списке ключевых слов могут быть слова «А», «Б», «В». Также ключевым словом может быть регулярное выражение «А?Б», где символ «?» означает любой символ между словами «А» и «Б».
Ключевые слова содержатся в списке ключевых слов 104, который может быть заранее сформирован, например, экспертом. В частном варианте реализации список ключевых слов 104 содержится в базе данных. В частном варианте реализации список ключевых слов 104 может быть сформирован автоматически с использованием систем классификации. Например, система классификации может проанализировать коллекцию известных текстов, содержащих конфиденциальные данные, и коллекцию известных текстов, не содержащих конфиденциальные данные. С использованием алгоритмов классификации система выделит ключевые слова, характерные для текстов, содержащих конфиденциальные данные, и характерные для текстов, не содержащих конфиденциальные данные.
Средство поиска 101 осуществляет поиск ключевых слов в анализируемом тексте. Средство разбора 102 служит для вычисления плотности ключевых слов в анализируемом тексте, при этом плотность ключевых слов в частном варианте реализации может быть вычислена с использованием одного из выражений:
отношение количества символов в найденных ключевых словах к количеству символов анализируемого текста;
отношение количества найденных ключевых слов к общему количеству слов анализируемого текста.
В частном варианте реализации при вычислении количества символов анализируемого текста в вышеприведенных выражениях могут не учитываться определенные символы, например символ пробела, символы знаков пунктуации, служебные символы, множественные повторяющиеся символы и любые другие символы. Плотность ключевых слов может принимать, например, действительные, целые, рациональные значения. Значения плотности ключевых слов могут находиться в ограниченном множестве, например, в диапазоне от 0 до 1.
Средство анализа 103 служит для определения анализируемого текста как содержащего конфиденциальные данные, если плотность ключевых слов превысила пороговое значение (например, 0.5 от максимально возможного значения плотности ключевых слов). В частном варианте реализации пороговое значение зависит, в частности, от одного из: количества символов анализируемого текста; количества слов анализируемого текста. Например, для короткого текста пороговое значение ниже, чем для длинного текста.
Стоит отметить, что результаты определения анализируемого текста как содержащего конфиденциальные данные могут учитывать другие системы. Например, система предотвращения утечек данных может запретить отправку текста, определенного как содержащего конфиденциальные данные, за периметр сети. Система контроля доступа может запретить доступ к тексту, определенному как содержащему конфиденциальные данные, заданным пользователям.
В частном варианте реализации каждому ключевому слову соответствует весовой коэффициент, учитывающийся при вычислении плотности ключевых слов: если значение весового коэффициента для ключевого слова, содержащегося в анализируемом тексте, выше единицы, плотность ключевых слов увеличивается, в противном случае уменьшается. Таким образом, в частном варианте реализации плотность ключевых слов может быть вычислена как отношение весовых коэффициентов, найденных в анализируемом тексте ключевых слов, к сумме весовых коэффициентов всех ключевых слов, найденных в анализируемом тексте.
Например, в списке ключевых слов 104 могут содержаться такие слова: «РФ», «Российская Федерация». Очевидно, что указанные слова означают одно и то же и поэтому должны одинаково влиять на вычисление плотности ключевых слов. Поэтому указанным словам могут быть заданы такие весовые коэффициенты, чтобы в итоге они имели одинаковый вклад в плотность ключевых слов. Например, слову «РФ» может быть присвоен весовой коэффициент 9.5, а слову «Российская Федерация» - 1. В итоге количество символов в найденном ключевом слове, умноженное на весовой коэффициент, будет равняться одному и тому же числу - 19 для указанных ключевых слов.
В еще одном частном варианте реализации весовой коэффициент для одного ключевого слова зависит от количества вхождений другого ключевого слова в анализируемом тексте. Например, если количество вхождений ключевого слова «Б» в анализируемом тексте больше нуля (одно, два, три и более), то весовой коэффициент ключевого слова «А» равен 1. Если же количество вхождений ключевого слова «Б» в анализируемом тексте равно нулю (т.е. ключевое слово «Б» не встречается в анализируемом тексте), то весовой коэффициент слова «А» равен 0. В этом примере ключевое слово «А» может быть, например, «паспорт», а ключевое слово «Б» может быть, например, номером паспорта (ключевое слово соответствует формату паспорта). В этом примере, если в анализируемом тексте присутствует только ключевое слово «паспорт», но не присутствует никакой последовательности цифр, удовлетворяющей требованиям к номеру паспорта, то наличие лишь ключевого слова «паспорт» не говорит о том, что анализируемый текст является конфиденциальным. Поэтому весовой коэффициент слова «паспорт» будет равен нулю и это слово не повлияет на вычисление плотности ключевых слов.
В частном варианте реализации с помощью средства поиска 101 дополнительно выполняют проверку найденных ключевых слов на соответствия заданным критериям, при этом критерием является, в частности, выполнение проверки с помощью алгоритма «Луна» найденных ключевых слов, отвечающих номеру банковской карты. В частном варианте реализации упомянутые критерии могут содержаться в списке критериев в файле на компьютере. Ключевые слова из списка ключевых слов 104, соответствующие паспортным данным, проверяют на соответствие заданным форматам паспортных данных и т.д. В еще одном частном примере реализации таким критерием может быть проверка регулярного выражения на корректность. Например, если регулярное выражение отвечает за дату, то проверка на корректность может быть проверкой корректности существования такой даты. В этом примере, например, дата 32.01.2017 является некорректной датой.
На Фиг. 2 показан способ определения текста, содержащего конфиденциальные данные. На первом шаге 201 с использованием средства поиска 101 осуществляется поиск ключевых слов в анализируемом тексте. Далее, на шаге 202 с использованием средства разбора 102 вычисляется плотность ключевых слов в анализируемом тексте, при этом плотность ключевых слов вычисляется по меньшей мере одним из выражений:
отношением количества символов в найденных ключевых словах к количеству символов анализируемого текста;
отношением количества найденных ключевых слов к общему количеству слов анализируемого текста.
В итоге на шаге 203 определяют анализируемый текст как содержащий конфиденциальные данные, если плотность ключевых слов превысила заданное пороговое значение.
Стоит отметить, что в одном примере реализации анализируемый текст является исходным текстом, полученным от пользователя или приложения, или других источников, как это было указано в описании Фиг. 1. В другом примере реализации анализируемый текст может быть частью упомянутого исходного текста определенной длины.
В еще одном частном примере реализации исходный текст может быть разделен на несколько подтекстов определенной длины. Например, исходный текст имеет длину 1000 символов, первый анализируемый подтекст начинается с 1 символа и имеет длину 100 символов, второй анализируемый подтекст начинается со 2 символа и имеет длину 100 символов и т.д. В этом примере способ на этапах 201-203 может быть применен несколько раз к каждому анализируемому подтексту.
На Фиг. 3 приведен пример текста, который содержит ключевые слова, но не является конфиденциальным. В данном примере приведена инструкция к электрическому прибору. Подчеркнутый текст содержит ключевые слова, которые при объединении будут соответствовать номеру банковской карты. Таким образом, большинство существующих способов обнаружения текста, содержащего конфиденциальные данные, могут вызвать ложное срабатывание и принять приведенный текст как текст, содержащий конфиденциальные данные, а именно номер банковской карты. Однако стоит обратить внимание, что количество ключевых слов и их длина по отношению ко всему анализируемому тексту мала. Именно поэтому в настоящем изобретении предложен новый подход, заключающийся в вычислении и анализе плотности ключевых слов. Предложенный в изобретении подход не совершит ложного срабатывания на приведенном примере текста (а также на других аналогичных текстах) и не определит данный текст как содержащий конфиденциальные данные из-за низкой плотности ключевых слов. Таким образом, с использованием заявленного в изобретении способа будет решена указанная техническая проблема, заключающаяся в ложных срабатываниях, возникающих при определении текста, содержащего конфиденциальные данные, и будет достигнут заявленный технический результат, а именно будет улучшено определение конфиденциальной информации в тексте по сравнению с известными аналогами за счет уменьшения количества ложных срабатываний.
Допустим, что выражением для вычисления плотности ключевых слов является отношение количества символов в найденных ключевых словах к количеству символов анализируемого текста, как было упомянуто ранее в частном примере реализации. Пусть заданное пороговое значение равняется 0.5, при превышении которого анализируемый текст будет определен как содержащий конфиденциальные данные (шаг 203). Рассмотрим два варианта анализируемого текста.
Анализируемый текст №1 (из примера на Фиг. 3):
«102 Вес без упаковки: 14,5 кг Вес в упаковке: 17,5 кг Размеры упаковки: 740×365×315 ммбар код 5025155006888»
В тексте подчеркнуты найденные на шаге 201 ключевые слова. Корректность номера найденной банковской карты (в данном примере 740 502515500688) может быть проверена с помощью алгоритма «Луна» средством поиска 101 на шаге 201.
В этом случае плотность ключевых слов, вычисленная на шаге 202, равна 0.17: количество символов в ключевых словах (19 символов) разделить на количество символов в анализируемом тексте (ПО символов, включая пробелы).
Плотность ключевых слов ниже заданного порогового значения 0.5 и поэтому анализируемый текст №1 не будет определен как содержащий конфиденциальные данные на шаге 203.
Рассмотрим далее анализируемый текст №2:
«Card Holder: John J. CameronExpiration Date: 1/2016 CVV2: 220 546616015315449519906/14»
В этом случае плотность ключевых слов равна 0.62 и превышает заданное пороговое значение 0.5, поэтому анализируемый текст №2 будет определен как содержащий конфиденциальные данные на шаге 203.
Фиг. 4 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 20, содержащий центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26 содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.
Персональный компьютер 20 в свою очередь содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 20.
Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23 через контроллер 55.
Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например, при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47 персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например колонками, принтером и т.п.
Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг. 4. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В соответствии с описанием компоненты, этапы исполнения, структура данных, описанные выше, могут быть выполнены, используя различные типы операционных систем, компьютерных платформ, программ.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой.