Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
DMA Support for Sancus Architecture
KTH, School of Electrical Engineering and Computer Science (EECS).
2019 (English)Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE creditsStudent thesis
Abstract [en]

Computing devices have a predominant role in our lives, changing most of our daily activities. With the advent of the IoT, more and more embedded devices are expected to be connected, with expected numbers around 20 billion of units for the 2020. Nevertheless, the increase in connectivity does not imply an enhancement of security. Programmable devices, especially connected ones, are at risk of being tampered with: recent history has shown many examples of malicious software attacks compromising their security. Considering that embedded device are required to be cheap in terms of resources they are implemented on low-end microcontrollers, which lack of any memory protection technique, making them unsuitable to implement solutions from the high-end world.Hence, researchers have been recently focusing on strategies to provide them with security guarantees that hold even in case of an attacker with full control on the system, including the Operating System (OS). A promising solution is found in Protected (software) Module Architectures (PMAs): security architectures that can execute protected code in an isolated area of the memory, inaccessible to other software. PMAs can support secure execution of small portion of code, the software modules (SMs), even on devices that are, e.g., malware infected.

The target architecture of this thesis is Sancus, an open-source, hardware-only PMA, designed for lightweight embedded devices. The objective of the work is to extend the architecture with Direct Memory Access (DMA) support, a feature that provides peripherals with a secondary channel to access the memory without involving the CPU, and to explore what does it entail from a security prospective. Usually lightweight PMAs do not support DMA, as the benefits coming from its inclusion on the system do not comply with security properties of these architectures: protected memory isolation and confidentiality are no longer guaranteed if a secondary channel, that directly access the memory independently from the CPU, is provided. Main achievements of the thesis are to extend the Sancus 2.0 architecture with DMA support, showing how this affects its security properties and providing a secure way to implement DMA. From the discussion of the upcoming chapters, two solutions stood out: the first one is currently implemented on Sancus, and it consists in entirely excluding DMA from accessing protected memory, preserving SMs security guarantees. The second theoretical solution aims to provide the software modules with DMA functionalities, by allowing some security guarantees for a confined regions inside protected memory. The latter solution is discussed in details and some design options are provided, whereas its implementation is deferred as future work.

Abstract [sv]

Datorer har en dominerande roll i våra liv och förändrar de flesta av våra dagliga aktiviteter. Med tillkomsten av IoT förväntas fler och fler inbyggda enheter anslutas, med förväntat antal cirka 20 miljarder år 2020. Ändå innebär ökningen av anslutning inte en ökning av säkerheten. Programmerbara enheter, särskilt anslutna, riskerar att bli manipulerade: de senaste erfarenheterna visar många exempel på skadliga programattacker som äventyrar säkerheten. Inbäddade enheter måste vara billiga när det gäller resurser. Därför implementeras de på low-end mikrokontrollers, som helt saknar stöd för minnesskydd vilket gör dem olämpliga för lösningar från high-end-världen. Därför har forskare nyligen fokuserat på strategier för att ge dem säkerhetsgarantier som håller även i händelse av en angripare med full kontroll på systemet, inklusive operativsystemet (OS). En lovande lösning finns i Protected (Software) Module Architectures (PMA): säkerhetsarkitekturer som kan exekvera skyddad kod i ett isolerat område i minnet, otillgängligt för annan programvara. PMA kan stödja säker exekvering av liten del av koden, mjukvarumoduler (SM), även på enheter som är infekterade och innehåller skadlig programvara.

Målarkitekturen för den här avhandlingen är Sancus, en öppen källkod endast för maskinvara-PMA, avsedd för inbyggda lättviktsenheter. Syftet med arbetet är att utöka arkitekturen med DMA-stöd (Direct Memory Access), en funktion som ger perifera enheter en sekundär kanal för att komma åt minnet utan att involvera CPU, och att undersöka vad det medför från ett säkerhetsperspektiv. Vanligtvis ger inte lättvikts-PMA stöd för DMA, eftersom fördelarna som följer av att den ingår i systemet inte överensstämmer med säkerhetsegenskaperna hos dessa arkitekturer: skyddad minnesisolering och konfidentialitet garanteras inte längre om en sekundär kanal, som har direkt åtkomst till minnet oberoende av CPU, tillhandahålls. Huvud-resultatet i avhandlingen är att utöka Sancus 2.0-arkitekturen med DMA-stöd, vilket visar hur det påverkar dess säkerhetsegenskaper och ger ett säkert sätt att implementera DMA. Två lösningar presenteras: den första är för närvarande implementerad på Sancus och består helt och hållet av att DMA inte ska få tillgång till skyddat minne och bevarar säkerhetsgarantier från SM. Den andra teoretiska lösningen syftar till att tillhandahålla mjukvarumoduler med DMA-funktioner, genom att tillåta vissa säkerhetsgarantier för en begränsad region inom det skyddade minnet. Den senare lösningen diskuteras i detalj och vissa designalternativ ges, medan dess genomförande skjuts på framtiden.

Place, publisher, year, edition, pages
2019. , p. 100
Series
TRITA-EECS-EX ; 42
National Category
Computer and Information Sciences
Identifiers
URN: urn:nbn:se:kth:diva-249710OAI: oai:DiVA.org:kth-249710DiVA, id: diva2:1305654
Supervisors
Examiners
Available from: 2019-04-30 Created: 2019-04-17 Last updated: 2019-04-30Bibliographically approved

Open Access in DiVA

fulltext(1961 kB)37 downloads
File information
File name FULLTEXT01.pdfFile size 1961 kBChecksum SHA-512
95567887c04e550b8f289665c46df5ce543137bdcf2573a9d36dbfced3c08167a36369fa120a61f1162069f8b74a31bde59c743f58d39e8dc13d5f02a030b6d7
Type fulltextMimetype application/pdf

By organisation
School of Electrical Engineering and Computer Science (EECS)
Computer and Information Sciences

Search outside of DiVA

GoogleGoogle Scholar
Total: 37 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

urn-nbn

Altmetric score

urn-nbn
Total: 82 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf