Preview

Труды Института системного программирования РАН

Расширенный поиск

Сравнительный анализ двух подходов к статическому анализу помеченных данных

https://doi.org/10.15514/ISPRAS-2017-29(3)-7

Полный текст:

Аннотация

В настоящее время одним из наиболее эффективных средств поиска проблем безопасности ПО является анализ помеченных данных. Он может быть реализован на основе статического анализа и успешно обнаруживать ошибки, приводящие к уязвимостям, таким как внедрение кода или утечка непубличных данных. Возможны несколько существенно различных подходов к реализации алгоритма распространения пометок по внутреннему представлению программы: на основе анализа потоков данных или на базе символьного исполнения. В данной работе описаны особенности реализации обоих подходов в рамках существующей инфраструктуры статического анализатора для поиска ошибок в программах на С#, а также проведено сравнение этих подходов в различных аспектах: область применения, качество результатов, производительность и требовательность к ресурсам. Поскольку оба подхода используют единую инфраструктуру доступа к информации о программе и реализованы одной командой разработчиков, результаты сравнения близки к объективным и могут быть использованы при выборе оптимального варианта в контексте поставленной задачи.

Об авторах

М. В. Беляев
Институт системного программирования РАН
Россия


Н. В. Шимчик
Институт системного программирования РАН
Россия


В. Н. Игнатьев
Институт системного программирования РАН
Россия


А. А. Белеванцев
Институт системного программирования РАН; Московский государственный университет имени М.В. Ломоносова
Россия


Список литературы

1. Reps T., Horwitz S., Sagiv M. Precise Interprocedural Dataflow Analysis via Graph Reachability. Proceedings of the 22Nd ACM SIGPLANSIGACT Symposium on Principles of Programming Languages (POPL ’95), San Francisco, California, USA, ACM, 1995, pp. 49–61

2. Кошелев В.К., Игнатьев В.Н., Борзилов А.И. Инфраструктура статического анализа программ на языке C#. Труды ИСП РАН, том 28, вып. 1, 2016 г., стр. 21–40. DOI: 10.15514/ISPRAS-2016-28(1)-2

3. Кошелев В.К. Дудина И.А. Игнатьев В.Н. Борзилов А.И. Чувствительный к путям поиск дефектов в программах на языке C# на примере разыменования нулевого указателя. Труды ИСП РАН, том 27, вып. 5, 2015 г., стр. 59–86. DOI: 10.15514/ISPRAS-2015-27(5)-5

4. FlowDroid: Precise Context, Flow, Field, Object-sensitive and Lifecycleaware Taint Analysis for Android Apps. Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI ’14), Edinburgh, United Kingdom, ACM, 2014, pp. 259–269

5. Christian Fritz et al. Highly Precise Taint Analysis for Android Applications. Tech. rep. EC SPRIDE, May 2013, 14 p. http://www.bodden.de/pubs/TUD-CS-2013-0113.pdf, дата обращения 20.06.2017


Для цитирования:


Беляев М.В., Шимчик Н.В., Игнатьев В.Н., Белеванцев А.А. Сравнительный анализ двух подходов к статическому анализу помеченных данных. Труды Института системного программирования РАН. 2017;29(3):99-116. https://doi.org/10.15514/ISPRAS-2017-29(3)-7

For citation:


Belyaev M.V., Shimchik N.V., Ignatyev V.N., Belevantsev A.A. Comparative analysis of two approaches to the static taint analysis. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2017;29(3):99-116. (In Russ.) https://doi.org/10.15514/ISPRAS-2017-29(3)-7

Просмотров: 33


Creative Commons License
Контент доступен под лицензией Creative Commons Attribution 4.0 License.


ISSN 2079-8156 (Print)
ISSN 2220-6426 (Online)