Inter-procedural buffer overflows detection in C/C++ source code via static analysis
We propose inter-procedural static analysis tool for buffer overflow detection. It is based on previously developed intra-procedural algorithm which uses symbolic execution with state merging. This algorithm is path-sensitive and supports tracking several kinds of value relations such as arithmetic...
Uloženo v:
| Vydáno v: | Trudy Instituta sistemnogo programmirovaniâ Ročník 28; číslo 5; s. 119 - 134 |
|---|---|
| Hlavní autor: | |
| Médium: | Journal Article |
| Jazyk: | angličtina |
| Vydáno: |
Russian Academy of Sciences, Ivannikov Institute for System Programming
01.10.2018
|
| Témata: | |
| ISSN: | 2079-8156, 2220-6426 |
| On-line přístup: | Získat plný text |
| Tagy: |
Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
|
| Abstract | We propose inter-procedural static analysis tool for buffer overflow detection. It is based on previously developed intra-procedural algorithm which uses symbolic execution with state merging. This algorithm is path-sensitive and supports tracking several kinds of value relations such as arithmetic operations, cast instructions, binary relations from constraints. In this paper we provide a formal definition for inter-procedural buffer overflow errors and discuss different kinds of such errors. We use function summaries for inter-procedural analysis, so it provides natural path-sensitivity in some degree. This approach allowed us to improve intra-procedural algorithm by tracking inter-procedural value dependencies. Furthermore, we introduce a technique to extract the sufficient condition of buffer overflow for a function, which is supposed to be stored in the summary of this function and checked at every call site. This approach was implemented for Svace static analyzer as the new buffer overflow detector, and it has shown 64% true-positive ratio on Android 5.0.2. |
|---|---|
| AbstractList | We propose inter-procedural static analysis tool for buffer overflow detection. It is based on previously developed intra-procedural algorithm which uses symbolic execution with state merging. This algorithm is path-sensitive and supports tracking several kinds of value relations such as arithmetic operations, cast instructions, binary relations from constraints. In this paper we provide a formal definition for inter-procedural buffer overflow errors and discuss different kinds of such errors. We use function summaries for inter-procedural analysis, so it provides natural path-sensitivity in some degree. This approach allowed us to improve intra-procedural algorithm by tracking inter-procedural value dependencies. Furthermore, we introduce a technique to extract the sufficient condition of buffer overflow for a function, which is supposed to be stored in the summary of this function and checked at every call site. This approach was implemented for Svace static analyzer as the new buffer overflow detector, and it has shown 64% true-positive ratio on Android 5.0.2. |
| Author | Dudina, I. |
| Author_xml | – sequence: 1 givenname: I. surname: Dudina fullname: Dudina, I. |
| BookMark | eNo9kMlKBDEURYMoOP6BiywViWZO9VIahwZBcViHl-RFSsqKJNVK_72tLa7u5S4Ol7NPtscyIiHHgp8LY4S-WDw9PF4-McmFZbI7MafMbZE9KSVnVku7ve7czVgnjN0lR629cc6l4U5xsUeeF-OElX3UEjEtKww0LHPGSssn1jyUr0YTThinvoy0H-n8Yn52RltZ1og0loT0swfaJpj6SGGEYdX6dkh2MgwNj_7ygLxcXz3Pb9nd_c1ifnnH4vqLY3qWJWaHNuU0S8pJsCFoESWKGDKELoTo4kyissEq7pwIxkZrApcqB1DqgCw23FTgzX_U_h3qyhfo_e9Q6quHuj42oI-gDc_KgJBa65QAOKLsuNDZWW7SmqU3rFhLaxXzP09w_yvab0T7H9Fedt5479Q3iA10Dg |
| ContentType | Journal Article |
| DBID | AAYXX CITATION DOA |
| DOI | 10.15514/ISPRAS-2016-28(5)-7 |
| DatabaseName | CrossRef DOAJ Directory of Open Access Journals |
| DatabaseTitle | CrossRef |
| DatabaseTitleList | |
| Database_xml | – sequence: 1 dbid: DOA name: DOAJ Directory of Open Access Journals url: https://www.doaj.org/ sourceTypes: Open Website |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science |
| EISSN | 2220-6426 |
| EndPage | 134 |
| ExternalDocumentID | oai_doaj_org_article_ca450f35a12444ddaa0ee28014f7605d 10_15514_ISPRAS_2016_28_5__7 |
| GroupedDBID | 642 AAYXX ALMA_UNASSIGNED_HOLDINGS CITATION GROUPED_DOAJ OK1 |
| ID | FETCH-LOGICAL-c1567-49f2ef7e6dfd9d372a6bb41c2e1cbfab8bbc7c92e36b630771b56c65b023fba33 |
| IEDL.DBID | DOA |
| ISSN | 2079-8156 |
| IngestDate | Mon Nov 03 22:02:03 EST 2025 Sat Nov 29 05:34:01 EST 2025 |
| IsDoiOpenAccess | true |
| IsOpenAccess | true |
| IsPeerReviewed | true |
| IsScholarly | true |
| Issue | 5 |
| Language | English |
| LinkModel | DirectLink |
| MergedId | FETCHMERGED-LOGICAL-c1567-49f2ef7e6dfd9d372a6bb41c2e1cbfab8bbc7c92e36b630771b56c65b023fba33 |
| OpenAccessLink | https://doaj.org/article/ca450f35a12444ddaa0ee28014f7605d |
| PageCount | 16 |
| ParticipantIDs | doaj_primary_oai_doaj_org_article_ca450f35a12444ddaa0ee28014f7605d crossref_primary_10_15514_ISPRAS_2016_28_5__7 |
| PublicationCentury | 2000 |
| PublicationDate | 2018-10-01 |
| PublicationDateYYYYMMDD | 2018-10-01 |
| PublicationDate_xml | – month: 10 year: 2018 text: 2018-10-01 day: 01 |
| PublicationDecade | 2010 |
| PublicationTitle | Trudy Instituta sistemnogo programmirovaniâ |
| PublicationYear | 2018 |
| Publisher | Russian Academy of Sciences, Ivannikov Institute for System Programming |
| Publisher_xml | – name: Russian Academy of Sciences, Ivannikov Institute for System Programming |
| SSID | ssj0002507301 |
| Score | 2.0420017 |
| Snippet | We propose inter-procedural static analysis tool for buffer overflow detection. It is based on previously developed intra-procedural algorithm which uses... |
| SourceID | doaj crossref |
| SourceType | Open Website Index Database |
| StartPage | 119 |
| SubjectTerms | контекстная чувствительность межпроцедурный анализ переполнение буфера поиск дефектов символьное исполнение статический анализ чувствительность к путям |
| Title | Inter-procedural buffer overflows detection in C/C++ source code via static analysis |
| URI | https://doaj.org/article/ca450f35a12444ddaa0ee28014f7605d |
| Volume | 28 |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| journalDatabaseRights | – providerCode: PRVAON databaseName: DOAJ Directory of Open Access Journals customDbUrl: eissn: 2220-6426 dateEnd: 20201231 omitProxy: false ssIdentifier: ssj0002507301 issn: 2079-8156 databaseCode: DOA dateStart: 20100101 isFulltext: true titleUrlDefault: https://www.doaj.org/ providerName: Directory of Open Access Journals |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwrV1LSwMxEA5SPHjxLdYXOXhQSug-8tg91mJRkFJsld5CnrAgW-nLv29mdyv15MXrsoTsl0m-yezMNwjdOq5NlNiMRFDiQ5XWRCkqCOMusJsxNKpkF99fxHCYTaf5aKvVF-SE1fLANXBdoyiLfMoUEBG1VqnIuQQ0T7wIrriF0zd4PVuXKTiDA7GD6UJnuUhAnIvxpm4OPITu83j02hsHC4k5SbI7dk_EL17aku-veGZwiPYbBxH36okdoR1XHqODTfMF3OzFEzSpYnmkIiAL2hlYr6DXCYacTP8x-1pg65ZVolWJixL3u_1OB9exegyF7HhdKAz1RIXBqpEmOUVvg8dJ_4k0LRKICZ8kCM194rxw3Hqb21QkimtNY5O42GivdKa1ESZPXMo1D9tZxJpxw5kOVO21StMz1CpnpTtH2OvguQmms9RT-DuYZ5CmCeMZmhlq2ohsAJKftRKGhBsEACprQCUAKpNMMilFGz0Aij_vgo519SCsrmxWV_61uhf_Mcgl2gsTq1Vs4yvUWs5X7hrtmvWyWMxvKsP5BqfZxUU |
| linkProvider | Directory of Open Access Journals |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Inter-procedural+buffer+overflows+detection+in+C%2FC%2B%2B+source+code+via+static+analysis&rft.jtitle=Trudy+Instituta+sistemnogo+programmirovani%C3%A2&rft.au=I.+.+Dudina&rft.date=2018-10-01&rft.pub=Russian+Academy+of+Sciences%2C+Ivannikov+Institute+for+System+Programming&rft.issn=2079-8156&rft.eissn=2220-6426&rft.volume=28&rft.issue=5&rft.spage=119&rft.epage=134&rft_id=info:doi/10.15514%2FISPRAS-2016-28%285%29-7&rft.externalDBID=DOA&rft.externalDocID=oai_doaj_org_article_ca450f35a12444ddaa0ee28014f7605d |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=2079-8156&client=summon |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=2079-8156&client=summon |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=2079-8156&client=summon |