<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Выявление стеганографических вставок типа LSB-замещения в растровых изображениях</article-title>
      </title-group>
      <pub-date>
        <year>2017</year>
      </pub-date>
      <abstract>
        <p>В статье предложен метод выявления размера и расположения стеганографической вставки типа LSB-замещение. Предложенный метод основан на анализе нулевого слоя битов, к которому применяется алгоритм таксономии. Метод позволяет эффективно выявлять вставки на искусственных изображениях. Для фотографических объектов проводится предварительная обработка, основанная на кластеризации изображения. К каждому кластеру применяется линейное преобразование, коэффициенты которого вычисляются из параметров кластера.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        стегоконтейнера не менее чем на 50% [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. В статье [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] предложен метод обнаружения встроенной
информации, основанный на алгоритмах сжатия информации. Основная идея метода состоит в том, что случайные
данные сжимаются слабее, чем упорядоченные. Данный подход позволяет с высокой точностью определять
наличие стеганографической вставки при заполнении контейнера от 40%. Данный метод получил развитие
в работе [
        <xref ref-type="bibr" rid="ref9">8</xref>
        ] на основе использования предварительной обработки изображения, что позволило применять
его при значительно меньших заполнениях контейнера.
      </p>
      <p>
        Следует отметить, что на сегодняшний день отсутствуют алгоритмы, определяющие в байты, в которых
произошла подмена младшего бита. По постановке данная задача близка к проблеме выявления пикселей,
поврежденных импульсным шумом. Для импульсного шума характерно изменение цвета произвольно
выбранного байта на случайно выбранную величину. Однако задача поиска встроенного сообщения является
более сложной так как величина изменения составляет всего один бит. На сегодняшний день существует
несколько методов обнаружения поврежденных пикселей. Прежде всего необходимо выделить метод
SDROM [
        <xref ref-type="bibr" rid="ref10">9</xref>
        ], который, являясь исторически первым, послужил основой для ряда алгоритмов [
        <xref ref-type="bibr" rid="ref11 ref12">10, 11</xref>
        ]. Также
существуют иные походы, основанные на поиске ассоциативных правил [
        <xref ref-type="bibr" rid="ref13 ref14">12, 13</xref>
        ], методе кластеризации [
        <xref ref-type="bibr" rid="ref15">14</xref>
        ]
и методе анализа иерархий [
        <xref ref-type="bibr" rid="ref16">15</xref>
        ].
      </p>
      <p>В данной статье предложен алгоритм выявления пикселей изображения, в которых произведена подмена
наименее значащего бита при стеганографическом встраивании сообщения, на основе автоматического
анализа нулевого слоя.
1</p>
      <p>Постановка задачи
Будем анализировать изображения, в которых может быть встроена информация в виде
стеганографических вставок в младший бит синей компоненты. Анализ именно синей компоненты обусловлен тем, что
встраивание в неё наименее заметно визуально, в связи с чем рекомендуется ее использование для скрытия
сообщений. Аналогичным образом могут быть проанализированы и другие компоненты без потери
общности предлагаемого метода. Будем исходить из двух предположений. Во-первых, достоверно неизвестно
есть ли стеганографическая вставка или нет. Во-вторых, будем считать, что стеганографическая вставка
заполняет некоторую прямоугольную область, размеры и положение которых неизвестны. Задачей
ставиться не только определение наличия стеганографической вставки, но и области, в которую произведено
встраивание. Второе предположение существенно осложняет задачу, так как возможна ситуация, при
которой заменены все младшие пиксели синей компоненты. Будем решать задачу, исходя из предположения
о неполной подмене нулевого слоя.</p>
      <p>Нулевой слой представляет собой матрицу из нулей и единиц. Закономерности распределения нулевых
и единичных значений нулевого слоя без встраивания обусловлены структурой изображения. Встраивание
сообщения вносит изменения в нулевой слой, изменяя плотность распределения единичных значений. На
рисунке 1 представлено изображение, его нулевой слой без встраивания и нулевой слой с встроенным
сообщением.
Рис. 1: Сравнение нулевых слоев: а) исходное изображение, б) нулевой слой исходного изображения, в)
карта встраиваемых пикселей, г) изображение с встроенным сообщением, д) нулевой слой изображения с
встроенным сообщением</p>
      <p>Как видно из рисунка 1 наличие встроенного сообщения может быть обнаружено визуально из анализа
нулевого слоя. Поставим себе целью автоматическое определение области встраивания.</p>
      <p>
        Алгоритм выделения области встраивания
Для выделения области встраивания используем алгоритм, построенный на основе алгоритма таксономии
FOREL [
        <xref ref-type="bibr" rid="ref17">16</xref>
        ]. В своем классическом виде FOREL объединяет точки в таксоны, лежащие внутри окружности.
В нашем случае мы будем строить таксоны прямоугольной формы.
      </p>
      <p>Введем показатель плотности единичных значений . Если в некоторой области изображения содержится
 пикселей и 1 из них имеет единичное значение, показатель плотности единичных значений  = 1/ .</p>
      <p>Будем искать прямоугольные области, имеющие плотность единичных значений заданной величины p0.
Также в качестве входного параметра алгоритма зададим параметр R0, определяющий начальный размер
таксона. Алгоритм состоит из следующих шагов:
Шаг 1. Выбираем начальное значение размера таксона  = 0.</p>
      <p>Шаг 2. Выбираем случайным образом точку с координатами (1, 1), которая играет центра таксона.
Строим квадрат, левый верхний угол которого имеет координаты ( 1 − , 1 − ), а правый нижний угол
координаты (1 + , 1 + ).</p>
      <p>Шаг 3. Ищем координаты центра масс точек, лежащих внутри построенного квадрата ( 2, 2).
Шаг 4. Если точки (1, 1) и (2, 2) совпадают, то переходим к Шагу 5, иначе 1 = 2, 1 = 2 и
переходим к Шагу 2.</p>
      <p>Шаг 5. Вычисляем показатель плотности единичных значений .
Шаг 6. Если  &gt; 0, то  := 1.1 и переходим к Шагу 3.
Шаг 7. Если  &lt; 0, то  := 0.9 и переходим к Шагу 3.
Шаг 8. Если  = 0, то переходим к Шагу 2.
Алгоритм выполняется пока все точки нулевого слоя не будут объединены в некоторые таксоны.
В качестве областей, в которые может быть встроено сообщение, выбираем таксоны, размер которых не
меньше, чем 10% размеров исходного изображения. Результаты работы данного алгоритма для
изображения с равномерной заливкой представлены на рисунке 2.</p>
      <p>Как видно из рисунка 2 в результате работы алгоритма на искусственном изображении с равномерной
заливкой область встраивания определяется достаточно точно. Однако уже для искусственных
изображений с градиентной заливкой возникают сложности, так как непрерывное изменение цвета изображения в
целом проявляется как полосы одинаковых значений на нулевом слое (рисунок 1,б). Данные полосы могут
быть устранены с помощью предварительной обработки изображения.
3</p>
      <p>Алгоритм предварительной обработки изображений
Как было показано выше нулевой слой изображения с градиентной заливкой представляет собой полосы
из нулей и единиц. Используем линейное преобразование:</p>
      <p>(, ) =  +  − ,
где  = ( + 1, ) − (, ),  = (,  + 1) − (, ), (, ) – значения цвета пикселя, расположенного в
точке с координатами (, ). Определим , как минимальное значение (, ) на множестве всех пикселей
изображения. В случае, когда цвет изображения представляет собой заливку с постоянным градиентом,
функция (, ) будет иметь постоянное значение ( (, ) = ). Алгоритм принятия решений об
изменении пикселя может быть применен к функции (, ), а не к функции (, ).</p>
      <p>Для применения данного линейного преобразования к фотографическим изображениям необходимо
определить области градиентной заливки. Будем вычислять вторые производные от функции (, ) и
выявлять области, в которых они имеют нулевое значение. В связи с тем, что области идеальной градиентной
заливки на фотографических изображениях встречаются крайне редко будем требовать выполнение трех
более «мягких» условий:
⃒⃒ 2(, ) ⃒⃒ ⃒ ≤ 2, ⃒⃒⃒ 2(, ) ⃒⃒</p>
      <p>⃒ ≤ 2, ⃒⃒⃒ 2(, ) ⃒⃒
⃒⃒ 2 ⃒ ⃒ 2 ⃒ ⃒  ⃒⃒ ≤ 2.
Не строгое неравенство вместо равенства нулю введено для того, чтобы учесть небольшие отклонения от
градиентной заливки и не потерять встроенные биты.</p>
      <p>После выявления связных областей, удовлетворяющих условиям на вторые производные, необходимо
определить коэффициенты функции (, ). Для их нахождения был использован метод наименьших
квадратов. После чего вычислялось значение функции (, ), к которому применялся алгоритм поиска
областей встраивания сообщений.
Рис. 2: Результаты работы алгоритма по автоматическому выделению области встраивания для
изображения с равномерной заливкой: а) изображение со встроенной вставкой, б) карта встроенных пикселей, в)
нулевой слой, г) автоматически выделенная область встраивания при 0 = 15, д) автоматически
выделенная область встраивания при 0 = 30, е) автоматически выделенная область встраивания при 0 = 50, ж)
автоматически выделенная область встраивания при 0 = 100
Рис. 3: Результаты работы алгоритма по автоматическому выделению области встраивания для
изображения с градиентной заливкой: а) исходное изображение, б) нулевой слой исходного изображения, в) карта
встроенных пикселей, г) нулевой слой со встроенным сообщением, д) изображение после предварительной
обработки, е) нулевой слой после предварительной обработки изображения, ж) автоматически
выделенная область встраивания при 0 = 15, з) автоматически выделенная область встраивания при 0 = 30,
и) автоматически выделенная область встраивания при 0 = 50, к) автоматически выделенная область
встраивания при 0 = 100</p>
      <p>Компьютерный эксперимент и результаты
Список литературы</p>
      <p>Detection the Stego-Insertions Like LSB-Substitution in Bitmap Images</p>
      <p>Danil E. Vilkhovskiy, Sergey V. Belim</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>E.</given-names>
            <surname>Adelson</surname>
          </string-name>
          . Digital Signal Encoding and
          <string-name>
            <given-names>Decoding</given-names>
            <surname>Apparatus</surname>
          </string-name>
          . U.S. Patent. No.
          <volume>4</volume>
          ,
          <issue>939515</issue>
          ,
          <year>1990</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>N.</given-names>
            <surname>Provos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Honeyman</surname>
          </string-name>
          .
          <article-title>Detecting steganographic content on the internet</article-title>
          .
          <source>Technical Report CITI 01-1a</source>
          , University of Michigan,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>A.</given-names>
            <surname>Westfeld</surname>
          </string-name>
          ,
          <string-name>
            <surname>A. Pfitzmann.</surname>
          </string-name>
          <article-title>Attacks on Steganographic Systems: Breaking the Steganographic Utilities EzStego, Jsteg, Steganos and STools-</article-title>
          and
          <source>Some Lessons Learned. 3rd International Workshop on Information Hiding</source>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>V.A.</given-names>
            <surname>Golub</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.A.</given-names>
            <surname>Dryuchenko</surname>
          </string-name>
          .
          <article-title>Steganographic information detection in JPEG files with the help of complex usage of several stego-attackes</article-title>
          .
          <source>Infocommunication Technologies</source>
          ,
          <volume>7</volume>
          (
          <issue>1</issue>
          ):
          <fpage>44</fpage>
          -
          <lpage>50</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>A.</given-names>
            <surname>Zh. Abdenov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.S.</given-names>
            <surname>Leonov</surname>
          </string-name>
          .
          <article-title>Ispolzovaniye neyronnykh setey v slepykh metodakh obnaruzheniya vstroyennoy steganograficheskoy informatsii v tsifrovykh izobrazheniyakh</article-title>
          .
          <source>Polzunovsky vestnik</source>
          ,
          <volume>2</volume>
          :
          <fpage>221</fpage>
          -
          <lpage>225</lpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>A.</given-names>
            <surname>Westfeld</surname>
          </string-name>
          ,
          <string-name>
            <surname>A. Pfitzmann.</surname>
          </string-name>
          <article-title>Attacks on Steganographic Systems. Breaking the Steganographic Utilities EzStego, Jsteg, Steganos and S-Tools -</article-title>
          and
          <source>Some Lessons Learned. Lecture Notes in Computer Science</source>
          ,
          <volume>1768</volume>
          :
          <fpage>61</fpage>
          -
          <lpage>75</lpage>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>M.</given-names>
            <surname>Yu</surname>
          </string-name>
          . Zhilkin.
          <article-title>Stegoanaliz graficheskikh dannykh v razlichnykh formatakh</article-title>
          .
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <string-name>
            <surname>Doklady</surname>
            <given-names>TUSURa</given-names>
          </string-name>
          ,
          <volume>2</volume>
          (
          <issue>18</issue>
          ):
          <fpage>63</fpage>
          -
          <lpage>64</lpage>
          ,
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>V. A.</given-names>
            <surname>Monarev</surname>
          </string-name>
          .
          <article-title>Sdvigovyy metod obnaruzheniya skrytoy informatsii</article-title>
          .
          <source>Vestnik SibGUTI</source>
          ,
          <volume>4</volume>
          :
          <fpage>62</fpage>
          -
          <lpage>68</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>E.</given-names>
            <surname>Abreu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lightstone</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.K.</given-names>
            <surname>Mitra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.K.</given-names>
            <surname>Arakawa</surname>
          </string-name>
          .
          <article-title>A new ecfiient approach for the removal of impulse noise from highly corrupted images</article-title>
          .
          <source>IEEE Transactions on Image Processing</source>
          , IEEE Transactions on ,
          <volume>5</volume>
          :
          <fpage>1012</fpage>
          -
          <lpage>1025</lpage>
          ,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>R.</given-names>
            <surname>Garnett</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Huegerich</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Chui</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>He</surname>
          </string-name>
          .
          <article-title>A Universal Noise Removal Algorithm with an Impulse Detector</article-title>
          .
          <source>IEEE Trans Image Proccess</source>
          ,
          <volume>14</volume>
          (
          <issue>11</issue>
          ):
          <fpage>1747</fpage>
          -
          <lpage>1754</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>S.V.</given-names>
            <surname>Sorokin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.A.</given-names>
            <surname>Shcherbakov</surname>
          </string-name>
          .
          <article-title>Realizatsiya SD-ROM filtra na osnove kontseptsii nechetkoy logiki. Izvestiya vysshikh uchebnykh zavedeniy</article-title>
          .
          <source>Povolzhskiy region</source>
          ,
          <volume>3</volume>
          :
          <fpage>56</fpage>
          -
          <lpage>65</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>S.V.</given-names>
            <surname>Belim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.O.</given-names>
            <surname>Mayorov-Zilbernagel</surname>
          </string-name>
          .
          <article-title>Algorithm for Searching the Broken Pixels and Eliminating Impulse Noise in Images Using a Method of Association Rules</article-title>
          .
          <source>Science and Education of the Bauman MSTU</source>
          ,
          <volume>12</volume>
          :
          <fpage>716</fpage>
          -
          <lpage>737</lpage>
          ,
          <year>2014</year>
          . URL: http://technomag.bmstu.ru/doc/744983.html .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>S.V.</given-names>
            <surname>Belim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.O.</given-names>
            <surname>Mayorov-Zilbernagel</surname>
          </string-name>
          .
          <article-title>Image Restoration With Static Gaps On The Basis Of Association Rules</article-title>
          .
          <source>Herald of computer and information technologies</source>
          ,
          <volume>12</volume>
          :
          <fpage>18</fpage>
          -
          <lpage>23</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>S.V.</given-names>
            <surname>Belim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.E.</given-names>
            <surname>Kutlunin</surname>
          </string-name>
          .
          <article-title>Impulse noise detection in image using a clustering algorithm</article-title>
          .
          <source>Herald of computer and information technologies</source>
          ,
          <volume>3</volume>
          :
          <fpage>3</fpage>
          -
          <lpage>10</lpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>S.V.</given-names>
            <surname>Belim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.A.</given-names>
            <surname>Seliverstov</surname>
          </string-name>
          .
          <article-title>The Analytic Hierarchy Method-Based Algorithm for Restoring Broken Pixels on the Noisy Images</article-title>
          .
          <source>Science and Education of the Bauman MSTU</source>
          ,
          <volume>11</volume>
          :
          <fpage>521</fpage>
          -
          <lpage>534</lpage>
          ,
          <year>2014</year>
          . URL: http:// technomag.bmstu.ru/doc/742145.html .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>N.G.</given-names>
            <surname>Zagoruyko</surname>
          </string-name>
          .
          <article-title>Prikladnyye metody analiza dannykh i znaniy</article-title>
          .
          <source>Novosibirsk, IM SO RAN</source>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>