<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.3 20210610//EN" "JATS-journalpublishing1-3.dtd">
<article article-type="research-article" dtd-version="1.3" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xml:lang="ru"><front><journal-meta><journal-id journal-id-type="publisher-id">mais</journal-id><journal-title-group><journal-title xml:lang="ru">Моделирование и анализ информационных систем</journal-title><trans-title-group xml:lang="en"><trans-title>Modeling and Analysis of Information Systems</trans-title></trans-title-group></journal-title-group><issn pub-type="ppub">1818-1015</issn><issn pub-type="epub">2313-5417</issn><publisher><publisher-name>Yaroslavl State University</publisher-name></publisher></journal-meta><article-meta><article-id custom-type="elpub" pub-id-type="custom">mais-1104</article-id><article-categories><subj-group subj-group-type="heading"><subject>Research Article</subject></subj-group><subj-group subj-group-type="section-heading" xml:lang="ru"><subject>Оригинальные статьи</subject></subj-group><subj-group subj-group-type="section-heading" xml:lang="en"><subject>Articles</subject></subj-group></article-categories><title-group><article-title>Тестирование безопасности программного обеспечения на языке С с использованием верификатора SPIN</article-title><trans-title-group xml:lang="en"><trans-title>A SPIN-based Approach for Detecting Vulnerabilities
in C Programs</trans-title></trans-title-group></title-group><contrib-group><contrib contrib-type="author" corresp="yes"><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Кушик</surname><given-names>Наталья Геннадьевна</given-names></name><name name-style="western" xml:lang="en"><surname>Kushik</surname><given-names>N. G.</given-names></name></name-alternatives><email xlink:type="simple">noemail@neicon.ru</email><xref ref-type="aff" rid="aff-1"/></contrib><contrib contrib-type="author" corresp="yes"><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Маммар</surname><given-names>Амель</given-names></name><name name-style="western" xml:lang="en"><surname>Mammar</surname><given-names>A. .</given-names></name></name-alternatives><email xlink:type="simple">amel.mammar@it-sudparis.eu</email><xref ref-type="aff" rid="aff-2"/></contrib><contrib contrib-type="author" corresp="yes"><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Кавалли</surname><given-names>Ана</given-names></name><name name-style="western" xml:lang="en"><surname>Cavalli</surname><given-names>A. .</given-names></name></name-alternatives><email xlink:type="simple">noemail@neicon.ru</email><xref ref-type="aff" rid="aff-3"/></contrib><contrib contrib-type="author" corresp="yes"><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Евтушенко</surname><given-names>Нина Владимировна</given-names></name><name name-style="western" xml:lang="en"><surname>Yevtushenko</surname><given-names>N. V.</given-names></name></name-alternatives><email xlink:type="simple">ninayevtushenko@yahoo.com</email><xref ref-type="aff" rid="aff-1"/></contrib><contrib contrib-type="author" corresp="yes"><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Джиминез</surname><given-names>Вилли</given-names></name><name name-style="western" xml:lang="en"><surname>Jimenez</surname><given-names>W. .</given-names></name></name-alternatives><email xlink:type="simple">noemail@neicon.ru</email><xref ref-type="aff" rid="aff-4"/></contrib><contrib contrib-type="author" corresp="yes"><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Монте Де Ока</surname><given-names>Эдгардо</given-names></name><name name-style="western" xml:lang="en"><surname>Montes De Oca</surname><given-names>E. .</given-names></name></name-alternatives><email xlink:type="simple">edgardo.montesdeoca@montimage.com</email><xref ref-type="aff" rid="aff-5"/></contrib></contrib-group><aff xml:lang="ru" id="aff-1"><institution>Томский государственный университет</institution><country>Russian Federation</country></aff><aff xml:lang="ru" id="aff-2"><institution>Институт телекоммуникаций и менеджмента Франции</institution><country>Russian Federation</country></aff><aff xml:lang="ru" id="aff-3"><institution>Институт телекомуникаций и менеджемнта Франции</institution><country>Russian Federation</country></aff><aff xml:lang="ru" id="aff-4"><institution>Институт телекомуникаций и менеджмента Франции</institution><country>Russian Federation</country></aff><aff xml:lang="ru" id="aff-5"><institution>Монтимаж</institution><country>Russian Federation</country></aff><pub-date pub-type="collection"><year>2011</year></pub-date><pub-date pub-type="epub"><day>20</day><month>12</month><year>2011</year></pub-date><volume>18</volume><issue>4</issue><fpage>131</fpage><lpage>143</lpage><permissions><copyright-statement>Copyright &amp;#x00A9; Кушик Н.Г., Маммар А..., Кавалли А..., Евтушенко Н.В., Джиминез В..., Монте Де Ока Э..., 2011</copyright-statement><copyright-year>2011</copyright-year><copyright-holder xml:lang="ru">Кушик Н.Г., Маммар А., Кавалли А., Евтушенко Н.В., Джиминез В., Монте Де Ока Э.</copyright-holder><copyright-holder xml:lang="en">Kushik N.G., Mammar A..., Cavalli A..., Yevtushenko N.V., Jimenez W..., Montes De Oca E...</copyright-holder><license xml:lang="ru" license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>Данная работа распространяется под лицензией Creative Commons Attribution 4.0.</license-p></license><license xml:lang="en" license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>This work is licensed under a Creative Commons Attribution 4.0 License.</license-p></license></permissions><self-uri xlink:href="https://www.mais-journal.ru/jour/article/view/1104">https://www.mais-journal.ru/jour/article/view/1104</self-uri><abstract><p>Предлагается метод тестирования безопасности С программ с использованием широко известного верификатора SPIN. Обсуждаются классы уязвимостей в С программах, которые могут быть обнаружены с использованием предложенного подхода. Приводятся результаты компьютерных экспериментов по обнаружению уязвимостей в студенческих программных реализациях алгоритмов работы с массивами.</p></abstract><trans-abstract xml:lang="en"><p>The C language is widely used for developing tools in various application areas, and a number of C software tools are used for critical systems, such as medicine, transport, etc. Correspondingly, the security of such programs should be thoroughly tested, i.e., it is important to develop techniques for detecting vulnerabilities in C programs. In this paper we present an approach for dynamic detection of software vulnerabilities using the SPIN model checker. We discuss how this approach can be implemented in order to detect automatically C code vulnerabilities and illustrate a proposed technique for a number of C programs which are widely used in a number of applications.</p></trans-abstract><kwd-group xml:lang="ru"><kwd>программа</kwd><kwd>уязвимость</kwd><kwd>язык С</kwd><kwd>верификация</kwd><kwd>SPIN</kwd></kwd-group><kwd-group xml:lang="en"><kwd>C Program</kwd><kwd>vulnerability</kwd><kwd>C language</kwd><kwd>model checking</kwd><kwd>SPIN</kwd></kwd-group></article-meta></front><back><ref-list><title>References</title><ref id="cit1"><label>1</label><citation-alternatives><mixed-citation xml:lang="ru">Willy Jimenez, Amel Mammar, Ana R. Cavalli. Software Vulnerabilities, Prevention and Detection Methods. A Review, SEC-MDA workshop, Enschede, The Netherlands (24 June 2009).</mixed-citation><mixed-citation xml:lang="en">Willy Jimenez, Amel Mammar, Ana R. Cavalli. Software Vulnerabilities, Prevention and Detection Methods. A Review, SEC-MDA workshop, Enschede, The Netherlands (24 June 2009).</mixed-citation></citation-alternatives></ref><ref id="cit2"><label>2</label><citation-alternatives><mixed-citation xml:lang="ru">Харитонова Е. Поиск уязвимостей в программах с помощью анализаторов кода [Электрон. статья]. Режим доступа: &lt;http://www.codenet.ru/progr/other/code-&gt; analysers.php?rss=1, свободный.</mixed-citation><mixed-citation xml:lang="en">Харитонова Е. Поиск уязвимостей в программах с помощью анализаторов кода [Электрон. статья]. Режим доступа: &lt;http://www.codenet.ru/progr/other/code-&gt; analysers.php?rss=1, свободный.</mixed-citation></citation-alternatives></ref><ref id="cit3"><label>3</label><citation-alternatives><mixed-citation xml:lang="ru">Phil McMinn. Search-based Software Test Data Generation: A Survey. Softw. Test., Verif. Reliab. 2004. 14(2). P. 105-156.</mixed-citation><mixed-citation xml:lang="en">Phil McMinn. Search-based Software Test Data Generation: A Survey. Softw. Test., Verif. Reliab. 2004. 14(2). P. 105-156.</mixed-citation></citation-alternatives></ref><ref id="cit4"><label>4</label><citation-alternatives><mixed-citation xml:lang="ru">JPF. The swiss army knife of JavaTM verification [Электрон. статья]. Режим доступа: &lt;http://javapathfinder.sourceforge.net/&gt;, свободный.</mixed-citation><mixed-citation xml:lang="en">JPF. The swiss army knife of JavaTM verification [Электрон. статья]. Режим доступа: &lt;http://javapathfinder.sourceforge.net/&gt;, свободный.</mixed-citation></citation-alternatives></ref><ref id="cit5"><label>5</label><citation-alternatives><mixed-citation xml:lang="ru">SPIN [Электронный ресурс]. Режим доступа: &lt;http://spinroot.com&gt;, свободный.</mixed-citation><mixed-citation xml:lang="en">SPIN [Электронный ресурс]. Режим доступа: &lt;http://spinroot.com&gt;, свободный.</mixed-citation></citation-alternatives></ref><ref id="cit6"><label>6</label><citation-alternatives><mixed-citation xml:lang="ru">Holzmann Gerard J. SPIN Model Checker: The Primer and Reference Manual. Addison-Wesley Professional. Published Sep. 2003. 4.</mixed-citation><mixed-citation xml:lang="en">Holzmann Gerard J. SPIN Model Checker: The Primer and Reference Manual. Addison-Wesley Professional. Published Sep. 2003. 4.</mixed-citation></citation-alternatives></ref><ref id="cit7"><label>7</label><citation-alternatives><mixed-citation xml:lang="ru">Software Testing Glossary [Электронный ресурс]. Режим доступа: www.aptest.com/glossary.htm#bvatesting &lt;http://www.aptest.com/glossary.htm%23bvatesting&gt;.</mixed-citation><mixed-citation xml:lang="en">Software Testing Glossary [Электронный ресурс]. Режим доступа: www.aptest.com/glossary.htm#bvatesting &lt;http://www.aptest.com/glossary.htm%23bvatesting&gt;.</mixed-citation></citation-alternatives></ref><ref id="cit8"><label>8</label><citation-alternatives><mixed-citation xml:lang="ru">Котляров В.П., Коликова Т.В. Основы современного тестирования программного обеспечения, разработанного на C#: Учебное пособие / под редакцией В.П. Котлярова. СПб., 2004. 170 с.</mixed-citation><mixed-citation xml:lang="en">Котляров В.П., Коликова Т.В. Основы современного тестирования программного обеспечения, разработанного на C#: Учебное пособие / под редакцией В.П. Котлярова. СПб., 2004. 170 с.</mixed-citation></citation-alternatives></ref><ref id="cit9"><label>9</label><citation-alternatives><mixed-citation xml:lang="ru">Ermakov Anton, Kushik Natalia. Detecting C Program Vulnerabilities // Proc. of the 5th Spring/Summer Young Researchers Colloquium on Software Engineering. P. 61-64.</mixed-citation><mixed-citation xml:lang="en">Ermakov Anton, Kushik Natalia. Detecting C Program Vulnerabilities // Proc. of the 5th Spring/Summer Young Researchers Colloquium on Software Engineering. P. 61-64.</mixed-citation></citation-alternatives></ref><ref id="cit10"><label>10</label><citation-alternatives><mixed-citation xml:lang="ru">George C. Necula, Scott McPeak, Shree P. Rahul, Westley Weimer. CIL: Intermediate language and tools for analysis and transformation of C programs // International Conference on Compiler Construction. 2002. P. 213-228.</mixed-citation><mixed-citation xml:lang="en">George C. Necula, Scott McPeak, Shree P. Rahul, Westley Weimer. CIL: Intermediate language and tools for analysis and transformation of C programs // International Conference on Compiler Construction. 2002. P. 213-228.</mixed-citation></citation-alternatives></ref><ref id="cit11"><label>11</label><citation-alternatives><mixed-citation xml:lang="ru">Alex Groce, Rajeev Joshi. Extending model checking with dynamic analysis // Proc. of the VMCAI. 2008. LNCS 4905.</mixed-citation><mixed-citation xml:lang="en">Alex Groce, Rajeev Joshi. Extending model checking with dynamic analysis // Proc. of the VMCAI. 2008. LNCS 4905.</mixed-citation></citation-alternatives></ref></ref-list><fn-group><fn fn-type="conflict"><p>The authors declare that there are no conflicts of interest present.</p></fn></fn-group></back></article>
