SiliFuzz: Fuzzing CPUs by proxy
CPUs are becoming more complex with every generation, at both the logical and the physical levels. This potentially leads to more logic bugs and electrical defects in CPUs being overlooked during testing, which causes data corruption or other undesirable effects when these CPUs are used in productio...
Gespeichert in:
Hauptverfasser: | , , , , |
---|---|
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
container_end_page | |
---|---|
container_issue | |
container_start_page | |
container_title | |
container_volume | |
creator | Serebryany, Kostya Lifantsev, Maxim Shtoyk, Konstantin Kwan, Doug Hochschild, Peter |
description | CPUs are becoming more complex with every generation, at both the logical and
the physical levels. This potentially leads to more logic bugs and electrical
defects in CPUs being overlooked during testing, which causes data corruption
or other undesirable effects when these CPUs are used in production. These
ever-present problems may also have simply become more evident as more CPUs are
operated and monitored by large cloud providers.
If the RTL ("source code") of a CPU were available, we could apply greybox
fuzzing to the CPU model almost as we do to any other software
[arXiv:2102.02308]. However our targets are general purpose x86_64 CPUs
produced by third parties, where we do not have the RTL design, so in our case
CPU implementations are opaque. Moreover, we are more interested in electrical
defects as opposed to logic bugs.
We present SiliFuzz, a work-in-progress system that finds CPU defects by
fuzzing software proxies, like CPU simulators or disassemblers, and then
executing the accumulated test inputs (known as the corpus) on actual CPUs on a
large scale. The major difference between this work and traditional software
fuzzing is that a software bug fixed once will be fixed for all installations
of the software, while for CPU defects we have to test every individual core
repeatedly over its lifetime due to wear and tear. In this paper we also
analyze four groups of CPU defects that SiliFuzz has uncovered and describe
patterns shared by other SiliFuzz findings. |
doi_str_mv | 10.48550/arxiv.2110.11519 |
format | Article |
fullrecord | <record><control><sourceid>arxiv_GOX</sourceid><recordid>TN_cdi_arxiv_primary_2110_11519</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>2110_11519</sourcerecordid><originalsourceid>FETCH-LOGICAL-a679-59c1d64a86867f79ecb207673043dc87994750e05e450a47a225a4afa4b7f84f3</originalsourceid><addsrcrecordid>eNotzssKwjAUBNBsXEj1A1zZH2hN2pvcxJ0Uq4KgoK7L7SMSqA8qSuvX-9zMwCyGw9hI8BC0lHxCTeseYSTegxBSmD4b71zt0vvzOfU_6c5HP9kebn7e-dfm0nYD1rNU36rhvz22T-f7ZBmsN4tVMlsHpNAE0hSiVEBaaYUWTVXkEUeFMYe4LDQaAyh5xWUFkhMgRZEkIEuQo9VgY4-Nf7dfYXZt3ImaLvtIs680fgHYtjZO</addsrcrecordid><sourcetype>Open Access Repository</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype></control><display><type>article</type><title>SiliFuzz: Fuzzing CPUs by proxy</title><source>arXiv.org</source><creator>Serebryany, Kostya ; Lifantsev, Maxim ; Shtoyk, Konstantin ; Kwan, Doug ; Hochschild, Peter</creator><creatorcontrib>Serebryany, Kostya ; Lifantsev, Maxim ; Shtoyk, Konstantin ; Kwan, Doug ; Hochschild, Peter</creatorcontrib><description>CPUs are becoming more complex with every generation, at both the logical and
the physical levels. This potentially leads to more logic bugs and electrical
defects in CPUs being overlooked during testing, which causes data corruption
or other undesirable effects when these CPUs are used in production. These
ever-present problems may also have simply become more evident as more CPUs are
operated and monitored by large cloud providers.
If the RTL ("source code") of a CPU were available, we could apply greybox
fuzzing to the CPU model almost as we do to any other software
[arXiv:2102.02308]. However our targets are general purpose x86_64 CPUs
produced by third parties, where we do not have the RTL design, so in our case
CPU implementations are opaque. Moreover, we are more interested in electrical
defects as opposed to logic bugs.
We present SiliFuzz, a work-in-progress system that finds CPU defects by
fuzzing software proxies, like CPU simulators or disassemblers, and then
executing the accumulated test inputs (known as the corpus) on actual CPUs on a
large scale. The major difference between this work and traditional software
fuzzing is that a software bug fixed once will be fixed for all installations
of the software, while for CPU defects we have to test every individual core
repeatedly over its lifetime due to wear and tear. In this paper we also
analyze four groups of CPU defects that SiliFuzz has uncovered and describe
patterns shared by other SiliFuzz findings.</description><identifier>DOI: 10.48550/arxiv.2110.11519</identifier><language>eng</language><subject>Computer Science - Hardware Architecture</subject><creationdate>2021-10</creationdate><rights>http://arxiv.org/licenses/nonexclusive-distrib/1.0</rights><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>228,230,780,885</link.rule.ids><linktorsrc>$$Uhttps://arxiv.org/abs/2110.11519$$EView_record_in_Cornell_University$$FView_record_in_$$GCornell_University$$Hfree_for_read</linktorsrc><backlink>$$Uhttps://doi.org/10.48550/arXiv.2110.11519$$DView paper in arXiv$$Hfree_for_read</backlink></links><search><creatorcontrib>Serebryany, Kostya</creatorcontrib><creatorcontrib>Lifantsev, Maxim</creatorcontrib><creatorcontrib>Shtoyk, Konstantin</creatorcontrib><creatorcontrib>Kwan, Doug</creatorcontrib><creatorcontrib>Hochschild, Peter</creatorcontrib><title>SiliFuzz: Fuzzing CPUs by proxy</title><description>CPUs are becoming more complex with every generation, at both the logical and
the physical levels. This potentially leads to more logic bugs and electrical
defects in CPUs being overlooked during testing, which causes data corruption
or other undesirable effects when these CPUs are used in production. These
ever-present problems may also have simply become more evident as more CPUs are
operated and monitored by large cloud providers.
If the RTL ("source code") of a CPU were available, we could apply greybox
fuzzing to the CPU model almost as we do to any other software
[arXiv:2102.02308]. However our targets are general purpose x86_64 CPUs
produced by third parties, where we do not have the RTL design, so in our case
CPU implementations are opaque. Moreover, we are more interested in electrical
defects as opposed to logic bugs.
We present SiliFuzz, a work-in-progress system that finds CPU defects by
fuzzing software proxies, like CPU simulators or disassemblers, and then
executing the accumulated test inputs (known as the corpus) on actual CPUs on a
large scale. The major difference between this work and traditional software
fuzzing is that a software bug fixed once will be fixed for all installations
of the software, while for CPU defects we have to test every individual core
repeatedly over its lifetime due to wear and tear. In this paper we also
analyze four groups of CPU defects that SiliFuzz has uncovered and describe
patterns shared by other SiliFuzz findings.</description><subject>Computer Science - Hardware Architecture</subject><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2021</creationdate><recordtype>article</recordtype><sourceid>GOX</sourceid><recordid>eNotzssKwjAUBNBsXEj1A1zZH2hN2pvcxJ0Uq4KgoK7L7SMSqA8qSuvX-9zMwCyGw9hI8BC0lHxCTeseYSTegxBSmD4b71zt0vvzOfU_6c5HP9kebn7e-dfm0nYD1rNU36rhvz22T-f7ZBmsN4tVMlsHpNAE0hSiVEBaaYUWTVXkEUeFMYe4LDQaAyh5xWUFkhMgRZEkIEuQo9VgY4-Nf7dfYXZt3ImaLvtIs680fgHYtjZO</recordid><startdate>20211004</startdate><enddate>20211004</enddate><creator>Serebryany, Kostya</creator><creator>Lifantsev, Maxim</creator><creator>Shtoyk, Konstantin</creator><creator>Kwan, Doug</creator><creator>Hochschild, Peter</creator><scope>AKY</scope><scope>GOX</scope></search><sort><creationdate>20211004</creationdate><title>SiliFuzz: Fuzzing CPUs by proxy</title><author>Serebryany, Kostya ; Lifantsev, Maxim ; Shtoyk, Konstantin ; Kwan, Doug ; Hochschild, Peter</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-a679-59c1d64a86867f79ecb207673043dc87994750e05e450a47a225a4afa4b7f84f3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2021</creationdate><topic>Computer Science - Hardware Architecture</topic><toplevel>online_resources</toplevel><creatorcontrib>Serebryany, Kostya</creatorcontrib><creatorcontrib>Lifantsev, Maxim</creatorcontrib><creatorcontrib>Shtoyk, Konstantin</creatorcontrib><creatorcontrib>Kwan, Doug</creatorcontrib><creatorcontrib>Hochschild, Peter</creatorcontrib><collection>arXiv Computer Science</collection><collection>arXiv.org</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>Serebryany, Kostya</au><au>Lifantsev, Maxim</au><au>Shtoyk, Konstantin</au><au>Kwan, Doug</au><au>Hochschild, Peter</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>SiliFuzz: Fuzzing CPUs by proxy</atitle><date>2021-10-04</date><risdate>2021</risdate><abstract>CPUs are becoming more complex with every generation, at both the logical and
the physical levels. This potentially leads to more logic bugs and electrical
defects in CPUs being overlooked during testing, which causes data corruption
or other undesirable effects when these CPUs are used in production. These
ever-present problems may also have simply become more evident as more CPUs are
operated and monitored by large cloud providers.
If the RTL ("source code") of a CPU were available, we could apply greybox
fuzzing to the CPU model almost as we do to any other software
[arXiv:2102.02308]. However our targets are general purpose x86_64 CPUs
produced by third parties, where we do not have the RTL design, so in our case
CPU implementations are opaque. Moreover, we are more interested in electrical
defects as opposed to logic bugs.
We present SiliFuzz, a work-in-progress system that finds CPU defects by
fuzzing software proxies, like CPU simulators or disassemblers, and then
executing the accumulated test inputs (known as the corpus) on actual CPUs on a
large scale. The major difference between this work and traditional software
fuzzing is that a software bug fixed once will be fixed for all installations
of the software, while for CPU defects we have to test every individual core
repeatedly over its lifetime due to wear and tear. In this paper we also
analyze four groups of CPU defects that SiliFuzz has uncovered and describe
patterns shared by other SiliFuzz findings.</abstract><doi>10.48550/arxiv.2110.11519</doi><oa>free_for_read</oa></addata></record> |
fulltext | fulltext_linktorsrc |
identifier | DOI: 10.48550/arxiv.2110.11519 |
ispartof | |
issn | |
language | eng |
recordid | cdi_arxiv_primary_2110_11519 |
source | arXiv.org |
subjects | Computer Science - Hardware Architecture |
title | SiliFuzz: Fuzzing CPUs by proxy |
url | https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2024-12-24T13%3A26%3A00IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-arxiv_GOX&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=SiliFuzz:%20Fuzzing%20CPUs%20by%20proxy&rft.au=Serebryany,%20Kostya&rft.date=2021-10-04&rft_id=info:doi/10.48550/arxiv.2110.11519&rft_dat=%3Carxiv_GOX%3E2110_11519%3C/arxiv_GOX%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_id=info:pmid/&rfr_iscdi=true |