<?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 pub-id-type="doi">10.18255/1818-1015-2014-4-5-12</article-id><article-id custom-type="elpub" pub-id-type="custom">mais-93</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>Транслятор с возможностью статического анализа безопасности информационных потоков для простого языка программирования</article-title><trans-title-group xml:lang="en"><trans-title>A Translator with a Security Static Analysis Feature of an Information Flow for a Simple Programming Language</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>Antoshina</surname><given-names>E. Ju.</given-names></name></name-alternatives><bio xml:lang="ru"><p>магистрант, 150000 Россия, г. Ярославль, ул. Советская, 14</p></bio><bio xml:lang="en"><p>магистрант, Sovetskaya str., 14, Yaroslavl, 150000, Russia</p></bio><email xlink:type="simple">kantoshina@gmail.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>Barakova</surname><given-names>A. N.</given-names></name></name-alternatives><bio xml:lang="ru"><p>магистрант, 150000 Россия, г. Ярославль, ул. Советская, 14</p></bio><bio xml:lang="en"><p>магистрант, Sovetskaya str., 14, Yaroslavl, 150000, Russia</p></bio><email xlink:type="simple">crow_ala@mail.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>Nikitin</surname><given-names>E. S.</given-names></name></name-alternatives><bio xml:lang="ru"><p>студент, 150000 Россия, г. Ярославль, ул. Советская, 14</p></bio><bio xml:lang="en"><p>студент, Sovetskaya str., 14, Yaroslavl, 150000, Russia</p></bio><email xlink:type="simple">nik.zhenya@gmail.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>Chalyy</surname><given-names>D. Ju.</given-names></name></name-alternatives><bio xml:lang="ru"><p>доцент, 150000 Россия, г. Ярославль, ул. Советская, 14</p></bio><bio xml:lang="en"><p>доцент, Sovetskaya str., 14, Yaroslavl, 150000, Russia</p></bio><email xlink:type="simple">chaly@uniyar.ac.ru</email><xref ref-type="aff" rid="aff-1"/></contrib></contrib-group><aff-alternatives id="aff-1"><aff xml:lang="ru"><institution>Ярославский государственный университет им. П. Г. Демидова</institution><country>Россия</country></aff><aff xml:lang="en"><institution>P.G. Demidov Yaroslavl State University</institution><country>Russian Federation</country></aff></aff-alternatives><pub-date pub-type="collection"><year>2014</year></pub-date><pub-date pub-type="epub"><day>20</day><month>08</month><year>2014</year></pub-date><volume>21</volume><issue>4</issue><fpage>5</fpage><lpage>12</lpage><permissions><copyright-statement>Copyright &amp;#x00A9; Антошина Е.Ю., Баракова А.Н., Никитин Е.С., Чалый Д.Ю., 2014</copyright-statement><copyright-year>2014</copyright-year><copyright-holder xml:lang="ru">Антошина Е.Ю., Баракова А.Н., Никитин Е.С., Чалый Д.Ю.</copyright-holder><copyright-holder xml:lang="en">Antoshina E.J., Barakova A.N., Nikitin E.S., Chalyy D.J.</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/93">https://www.mais-journal.ru/jour/article/view/93</self-uri><abstract><p>Рассматриваются программы, написанные на while-языке, с переменными двух типов безопасности: секретными и открытыми. Статический анализ безопасности информационных потоков программ идентифицирует небезопасные информационные потоки, через которые могут произойти утечки информации. При таком анализе по правилам, предложенным в [<xref ref-type="bibr" rid="cit6">6</xref>], определяются типы конфиденциальности выражений, операторов и композиции операторов.</p><p>На основе этих правил был разработан алгоритм статического анализа безопасности программ, который заключается в попытке их типизирования. Если в результате программа типизируема, то она является безопасной с точки зрения информационных потоков; если же программе нельзя присвоить тип безопасности, то в ней содержатся небезопасные информационные потоки, и, следовательно, она является небезопасной.</p><p>С помощью средств генерации лексических и синтаксических анализаторов flex и bison [<xref ref-type="bibr" rid="cit5">5</xref>] был разработан транслятор программ, написанных на while-языке, в код машины MMIX [<xref ref-type="bibr" rid="cit2">2</xref>].</p></abstract><trans-abstract xml:lang="en"><p>We consider while-language programs with variables of two security types: low and high. Security static analysis of information flows of such programs identifies insecure information flows which can cause leaks. Semantic rules of such an analysis which was proposed in [<xref ref-type="bibr" rid="cit6">6</xref>] assign security types for expressions, operators and compositions of operators. We use these rules to propose an algorithm of security static analysis to discover a security type of the program under consideration. If such a type can be assigned, information flows of the program are secure; otherwise, it contains insecure information flows. We have used flex and bison [<xref ref-type="bibr" rid="cit5">5</xref>] tools to implement a translator for a while-language into the MMIX computer [<xref ref-type="bibr" rid="cit2">2</xref>] instruction sequence.</p></trans-abstract><kwd-group xml:lang="ru"><kwd>языковая безопасность</kwd><kwd>статический анализ</kwd><kwd>информационный поток</kwd></kwd-group><kwd-group xml:lang="en"><kwd>language security</kwd><kwd>static analysis</kwd><kwd>information flow</kwd></kwd-group><funding-group><funding-statement xml:lang="ru">РФФИ</funding-statement></funding-group></article-meta></front><back><ref-list><title>References</title><ref id="cit1"><label>1</label><citation-alternatives><mixed-citation xml:lang="ru">Девянин П. Н. Модели безопасности компьютерных систем: Учебное пособие для студентов высших учебных заведений. М.: Академия, 2005. 144 c. [Devyanin P. N. Modeli bezopasnosti kompjuternyx sistem: Uchebnoe posobie dlja studentov vysshix uchebnyx zavedenii. M.: Akademija, 2005. 144 p. (in Russian)].</mixed-citation><mixed-citation xml:lang="en">Девянин П. Н. Модели безопасности компьютерных систем: Учебное пособие для студентов высших учебных заведений. М.: Академия, 2005. 144 c. [Devyanin P. N. Modeli bezopasnosti kompjuternyx sistem: Uchebnoe posobie dlja studentov vysshix uchebnyx zavedenii. M.: Akademija, 2005. 144 p. (in Russian)].</mixed-citation></citation-alternatives></ref><ref id="cit2"><label>2</label><citation-alternatives><mixed-citation xml:lang="ru">Кнут Д. Искусство программирования. MMIX — RISC-компьютер для нового тысячелетия. Т. 1, вып. 1. М.: Вильямс. 160 c. (English ed.: Knuth D. E. The Art of Computer Programming. MMIX — A RISC Computer for the New Millenium. Vol. 1, Fascile 1. Addison-Wesley Professional, 2005. 144 p.)</mixed-citation><mixed-citation xml:lang="en">Кнут Д. Искусство программирования. MMIX — RISC-компьютер для нового тысячелетия. Т. 1, вып. 1. М.: Вильямс. 160 c. (English ed.: Knuth D. E. The Art of Computer Programming. MMIX — A RISC Computer for the New Millenium. Vol. 1, Fascile 1. Addison-Wesley Professional, 2005. 144 p.)</mixed-citation></citation-alternatives></ref><ref id="cit3"><label>3</label><citation-alternatives><mixed-citation xml:lang="ru">Grune D., Jacobs C.J.H. Parsing Techniques. A Practical Guide. 2nd ed. Springer, 2008. 664 p.</mixed-citation><mixed-citation xml:lang="en">Grune D., Jacobs C.J.H. Parsing Techniques. A Practical Guide. 2nd ed. Springer, 2008. 664 p.</mixed-citation></citation-alternatives></ref><ref id="cit4"><label>4</label><citation-alternatives><mixed-citation xml:lang="ru">Hoare C.A.R. An Axiomatic Basis for Computer Programming // Communications of the ACM. 1969. Vol. 12, Issue 10. P. 576–580.</mixed-citation><mixed-citation xml:lang="en">Hoare C.A.R. An Axiomatic Basis for Computer Programming // Communications of the ACM. 1969. Vol. 12, Issue 10. P. 576–580.</mixed-citation></citation-alternatives></ref><ref id="cit5"><label>5</label><citation-alternatives><mixed-citation xml:lang="ru">Levine J. flex &amp; bison. O’Reilly Media. 2009. 292 p.</mixed-citation><mixed-citation xml:lang="en">Levine J. flex &amp; bison. O’Reilly Media. 2009. 292 p.</mixed-citation></citation-alternatives></ref><ref id="cit6"><label>6</label><citation-alternatives><mixed-citation xml:lang="ru">Sabelfeld A., Myers A.C. Language-Based Information-Flow Security // IEEE Journal on Selected Areas in Communications. 2003. Vol. 21. P. 5–19.</mixed-citation><mixed-citation xml:lang="en">Sabelfeld A., Myers A.C. Language-Based Information-Flow Security // IEEE Journal on Selected Areas in Communications. 2003. Vol. 21. P. 5–19.</mixed-citation></citation-alternatives></ref><ref id="cit7"><label>7</label><citation-alternatives><mixed-citation xml:lang="ru">SWHILE — while-language translator with security types // WWW: https://bitbucket.org/kafti/swhile. Дата доступа: 22.04.2014.</mixed-citation><mixed-citation xml:lang="en">SWHILE — while-language translator with security types // WWW: https://bitbucket.org/kafti/swhile. Дата доступа: 22.04.2014.</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>
