Securityineingebetteten...

28
Security in eingebetteten Softwaresystemen Angreifer nehmen Industriesteuerungen, Stromnetze und Infrastrukturen ins Visier: Wie lässt sich eingebettete Software gegen Attacken härten? Audiodaten mit Licht übertragen So lassen sich Klangdaten in großen Räumen mit ho- her Funkbelastung transpor- tieren. Seite 18 Stabile Systeme mit der Sprache Ada Warum sich Ada für Embed- ded-Software mit hohen Sicherheitsanforderungen eignet Seite 20 Software- architekturen So kommen Sie von einer Ad-hoc-Lösung zu einer stringenten Systemarchitek- tur. Seite 22 eMBeDDeD SOFTWARe eNGINeeRING Wissen. Impulse. Kontakte. Juni 2012 www.elektronikpraxis.de Sponsored by KOSTENLOSER VERSAND FÜR BESTELLUNGEN ÜBER 65 €! DIGIKEY.DE

Transcript of Securityineingebetteten...

Page 1: Securityineingebetteten Softwaresystemenfiles.vogel.de/vogelonline/vogelonline/issues/ep/2012/...Securityineingebetteten Softwaresystemen Angreifer nehmen Industriesteuerungen,Stromnetzeund

Security in eingebettetenSoftwaresystemen

Angreifer nehmen Industriesteuerungen Stromnetze und Infrastrukturen ins VisierWie laumlsst sich eingebettete Software gegen Attacken haumlrten

Audiodaten mitLicht uumlbertragenSo lassen sich Klangdatenin groszligen Raumlumen mit ho-her Funkbelastung transpor-tieren Seite 18

Stabile Systeme mitder Sprache AdaWarum sich Ada fuumlr Embed-ded-Software mit hohenSicherheitsanforderungeneignet Seite 20

Software-architekturenSo kommen Sie von einerAd-hoc-Loumlsung zu einerstringenten Systemarchitek-tur Seite 22

eMBeDDeD SOFTWARe eNGINeeRING

WissenImpulseKontakte Juni 2012

wwwelektronikpraxisde

Sponsored by

KOSTENLOSER VERSAND

FUumlR BESTELLUNGEN UumlBER 65 euro

DIGIKEYDE

3

editorial

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

Entwickler spuumlren die Nachbebenvon Stuxnet Duqu amp Co

Januar 2008 Ein polnischer Schuumllerverwandelt die Straszligenbahnder StadtLodz in seine persoumlnliche Modellei-

senbahn Er baut ein Geraumlt das wie eineTV-Fernbedienungaussieht undbenutztes um die Weichen der Tram nach eige-nem Gusto zu stellen Einige Wagen ent-gleisen zwoumllfMenschenwerden verletztApril 2009 Cyberspione vermutlich

aus China Russland und anderen Laumln-dern infiltrieren das US-Stromnetz DieUSAhaben nochGluumlck denn die Attackediente wohl nur dazu die Infrastrukturzu kartografierenWenn sie es darauf ab-gesehenhaumltten dannhaumlttendieAngreiferimmensen Schaden anrichten koumlnnenJuni 2010 Der Wurm Stuxnet greift

SCADA-Systeme (Supervisory Control andData Acquisition) von Siemens an dieIndustrieanlagen steuern Stuxnet gilt alserster Software-Schaumldling mit einemRootkit fuumlr PLCs Die Attacke schaumldigtprimaumlr iranische NukleareinrichtungenSeptember 2011 Der Wurm Duqu wird

entdeckt Es scheint sich umeineVarian-te von Stuxnet zu handeln die vor allemIndustriesteuerungen ausspaumlhtDiese Liste lieszlige sich noch fortsetzen

Klar ist aber Eingebettete Systeme gera-ten immer staumlrker ins Visier von Angrei-

bdquoMitunter wird es Angrei-fern und Datendieben zueinfach gemacht ihremdestruktiven Werk nach-zugehenldquo

Franz Graser Redakteurfranzgraservogelde

fern die nichts Gutes im Schilde fuumlhrenUnd anders als imPC-BereichwoAntivi-renprogramme und regelmaumlszligige Sicher-heits-Updates unverzichtbar gewordensind sindEmbeddedSystems gegenuumlberAttackenoft schutzlos DennaufgrundderRessourcenknappheit in der Embedded-Welt konzentrieren sich Entwickler aufdie Funktionalitaumlt ihrer AnwendungNatuumlrlich gibt es gegen diese Bedro-

hung kein Allheilmittel Aber mitunterwird es denAngreifern zu leicht gemachtihremzerstoumlrerischenWerknachzugehenPufferuumlberlaumlufe bilden zum Beispiel be-ruumlchtigte Einfallstore FehlendePlausibi-litaumltspruumlfungen fuumlhren dazu dass Datenoder Anwendungen verseucht werdenkoumlnnen Ein Systemdesign das diese Ri-siken minimiert ist zwar noch nicht un-verwundbar Aber damit waumlre schon vielgewonnen

Herzlichst Ihr

wwwkeilcom+49 89 456040-20

The complete developmentenvironment forARMreg

processor-basedmicrocontrollers

4

Inhalt

ElEKtROnIKPRaXIS Embedded Software Engineering Report Juni 2012

SchwerpunkteTest und Qualitaumltssicherung

6 Mutationstest ndash Plaumldoyer fuumlr eine vernachlaumlssigteTesttechnikBei Mutationstests wird die zu testende Software mutiertalso veraumlndert Danach wird gepruumlft ob die vorhandenenTestfaumllle diese Mutation aufdecken Die Methode hilft zumBeispiel dabei Testfallmengen zu bewerten

Softwaresicherheit10 Die drei Gesichter der Sicherheit

Der zweite Teil der Serie fasst Expertenmeinungen zumThema Security im Embedded-Umfeld zusammen Im Mit-telpunkt stehen unbefugte Zugriffe sowie gezielte Angriffeauf Embedded-Systeme

Software-DesignTiTelTheMa

14 Grundlagen der Sicherheit bei embedded-SoftwareSchutzmechanismen auf Hardware- und Betriebssytemebe-ne gegen Angriffe von auszligen reichen nicht aus Deswegenmuumlssen Embedded-Entwickler bei der Planung ihrer Appli-kationen auch Security-Aspekte beruumlcksichtigen

Systementwurf18 audiodaten drahtlos mit licht uumlbertragen

Audiosignale mit Laser oder High-Power-LED uumlbertragenWir stellen eine Schaltung vor die Audiosignalein groszligen Raumlumen mit hoher Funkbelastung sichertransportiert

Programmiersprachen20 Stabile Systeme mit der Programmiersprache ada

Die Programmiersprache Ada eignet sich insbesonderefuumlr sicherheits- und missionskritische Software und istinsbesondere im Luft- und Raumfahrtsektor verbreitet Wirstellen die Sprache und die Programmierumgebung vor

Software-Architektur22 Von der impliziten zur expliziten architektur

Im Embedded-Bereich ergibt sich sich die Software-Architektur mitunter ad hoc Der Beitrag gibt Hinweise undTipps darauf wie sich eine solche implizite Architektursystematisieren laumlsst

SofTware-DeSiGn

Security-Grundlagen fuumlrEmbedded-SoftwareEingebettete Softwaresysteme insbesondereSCADA-Systeme (Supervisory Control and Data Ac-quisition) die Industrieanlagen Verkehrsnetze oderKraftwerke steuern sind ins Visier von Hackern undAngreifern geraten Viele Attacken nutzen gezieltSchwachstellen in den Embedded-Anwendungenaus Diese Sicherheitsluumlcken gilt es schon vorab zustopfen Der Embedded-Spezialist David Kalinskyzeigt die wichtigsten Grundsaumltze auf

14

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

Kolumne25 Mit Fragen zum Projekterfolg

Wer nicht fragt erfaumlhrt nichts Diese Binsenweisheit laumlsstsich auch auf die Arbeitswelt und die Embedded-Entwick-lung uumlbertragen Fragen Sie Und fragen Sie richtig

RubRiKen3 Editorial

13 Aktuelles

26 Impressum

Titelbild Siemens-Pressebild PSDgraphics

10 Die drei Gesichter derSystemsicherheit

20 Ada Musterschuumller inSachen Sicherheit

18 Drahtlose Audio-Uumlbertra-gung mit Licht

22 Architektur macht Syste-me auf Dauer wartbar

Das Magazin als E-Paper lesenwwwelektronikpraxisdeepaper

Folgen Sie uns auf Twitterwwwtwittercomesesoftwarenews

Der ESE Kongresswwwese-kongressde

demousercomVertrieb von Elektronikbauelementen undHalbleitern fuumlr Entwicklungsingenieure

Autorisierter Distributor

Bei uns istKundenberatungkeine Fremdsprache

Um neue Produkte schneller als andere auf den Markt zu bringensind Vor-Ort-Kenntnisse ein Muss Mouser bietet uumlber seinweltweites Netz ausgezeichneten Verkaufs- und Beratungsserviceund professionellen technischen Support mit der notwendigenErfahrung lokaler Faktoren

Mouser und Mouser Electronics sind eingetragene Markenzeichen von Mouser Electronics Inc Alle anderen hierin

aufgefuumlhrten Produkte Logos und Namen von Unternehmen koumlnnen Warenzeichen der jeweiligen Besitzer sein

demousercomDie neuesten Produkte fuumlr Ihre neuesten Designstrade

DeutschlandElsenheimerstr 11 | 80687 Muumlnchen+49 (0) 8952 04621 10 | munichmousercom

6

EmbEddEd-Entwicklung TesT und QualiTaumlTssicherung

ELEKTRONIKPRAXIS embedded software engineering report Juni 2012

Mutationstest ndash ein Plaumldoyer fuumlreine vernachlaumlssigte Testtechnik

Softwareentwickler und Tester die von Zweifeln hinsichtlich der Quali-taumlt ihrer Tests beschlichen werden koumlnnen ihre Bedenken vielleicht mit

einem Mutationstest ausraumlumen

FRANK BuumlchNER

Frank-Buumlchner ist Diplom-Informatiker und arbei-tet als Senior Test Engineer bei HitexDevelopment Tools in Karlsruhe

Bei einem Mutationstest wird die Soft-ware (beziehungsweise das Testob-jekt) veraumlndert (bdquomutiertldquo) Danach

wird gepruumlft ob die vorhandenen Testfaumlllediese Mutation aufdecken Im Fachjargonheiszligt dies Der Mutant wird durch den Test-fall bdquogetoumltetldquo Ein Testfall der einenMutan-ten erkennt heiszligt adaumlquat Fuumlr eineMutati-on sindder Phantasie keineGrenzengesetztjedochmuss das Testobjekt syntaktisch kor-rekt also kompilierbar bleiben Fuumlr unserenZweck sollten die Mutationen jedoch ziem-lich subtil sein

Typische Mutationen bei C-Programmen(das Fehlermodell) sind die Verfaumllschungvon logischen Ausdruumlcken (beispielsweisedas Ersetzen eines logischenUNDdurch einlogischesODER) dieVerfaumllschungvonarith-metischen Ausdruumlcken (etwa die Additioneines konstanten Werts in einer Berech-nung) dieManipulation vonVariablen (bei-spielsweise Vertauschung von zwei Variab-len) dieVerfaumllschungvon relationalenOpe-ratoren (beispielsweise sbquoltrsquo durch sbquogtrsquo ersetzen)oder die Manipulation von Anweisungen(beispielsweise das Entfernen eines else-Zweigs oder das Einfuumlgen einer return-An-weisung)Die Mutanten die wir im Folgenden be-

trachten enthalten genau eine MutationDem liegt die empirischbestaumltigteAnnahme[6] zugrunde dass wenn ein Testfall einen

Mutantenmit genau einer (subtilen) Abwei-chung erkennt dieser Testfall auch Mutan-ten mit komplexeren Abweichungen toumltenwuumlrde (Kopplungseffekt) Auszligerdem redu-zieren wir dadurch den Aufwand der not-wendig ist umzu entscheiden obdurchdieMutation ein Mutant entstanden ist dernicht getoumltet werden kann In diesem Fallunterscheidet sichdasnachauszligen sichtbareProgrammverhaltennicht Original undMu-tant sind funktional aumlquivalent In der Praxismuss ein Mensch entscheiden ob OriginalundMutant funktional aumlquivalent sind

Vorhandene Testfaumllle auf dieMutanten anwendenUm einen Mutationstest vorzunehmen

muss man zwei Dinge tun Man muss einenMutanten erzeugen und man muss die vor-handenen Testfaumllle auf diesen MutantenanwendenWeilwir nurwenige stichprobenartigeMu-

tanten erzeugenwollen benoumltigen wir hier-zu kein Werkzeug Wir koumlnnen dies leichtmanuell erledigen Aufwendiger ist die Test-durchfuumlhrung Wenn wir von 20 Testfaumlllenund 10 Mutanten ausgehen muumlssen 200Testfaumllle ausgefuumlhrt werden Das macht dieAutomatisierung der Testausfuumlhrung in derPraxis notwendig In unserem Fall verwen-den wir das Unit-Testwerkzeug Tessy [7]Als erstes Beispiel betrachtenwir die klei-

ne Funktion shiftC()short shiftC(short A short B short C)if (A ampamp B)return Cltlt1elsereturn Cltlt2

Die Tabelle 1 auf der Seite 8 zeigt das Test-

ergebnis fuumlr zwei Testfaumllle diemit Tessy aufdem Original-Quellcode von shiftC() ausge-fuumlhrt wurden Beide Testfaumllle liefern dasrichtige (erwartete) Ergebnis und Tessy er-mittelt fuumlr diese beiden Testfaumllle zusammen

FunktionsschemaAblauf des Mutati-onstests mit demWerkzeug TessyBeim Mutationstestwird die Softwareveraumlndert Danachwird gepruumlft ob dieMutation von denvorhandenen Test-faumlllen aufgedecktwird

hitexde

velopm

entTools

Die weltweitGROumlszligTE AUSWAHLELEKTRONISCHERKOMPONENTEN

Verfuumlgbar fuumlr die sofortige Lieferung

08001800125DIGIKEYDEMEHR ALS 550000 PRODUKTE AUF LAGER | MEHR ALS 500 LIEFERANTEN | NEUE PRODUKTE WERDEN TAumlGLICH HINZUGEFUumlGT

Fuumlr alle Bestellungen unter 6500 euro wird eine Versandgebuumlhr von 1800 euro erhoben Alle Bestellungen die mit UPS versandt werden haben eine Lieferzeit von 1-3 Tagen (abhaumlngig vom Endbestimmungsort) Keine Bearbeitungsgebuumlhren AllePreise verstehen sich in Euro und enthalten Zollgebuumlhren Bei einem zu groszligen Gewicht oder bei unvorhergesehenen Umstaumlnden die eine Abweichung von diesem Tarif erfordern werden Kunden vor dem Versand der Bestellung kontaktiertDigi-Key ist ein autorisierter Distributor fuumlr alle Vertriebspartner Neue Produkte werden taumlglich hinzugefuumlgt copy 2012 Digi-Key Corporation 701 Brooks Ave South Thief River Falls MN 56701 USA

8

EmbEddEd-Entwicklung TesT und QualiTaumlTssicherung

ELEKTRONIKPRAXIS embedded software engineering report Juni 2012

eine Zweiguumlberdeckung von 100 Dasheiszligt Sowohl der then-Zweig als auch derelse-Zweig der if-Anweisung wurden ausge-fuumlhrt Und da unsere beiden Testfaumllle nichttrivial sind sollten wir fertig sein ndash oderUmuns zu vergewissern koumlnnenwir unser

Testobjekt mutieren Viele der moumlglichenMutationen wuumlrden durch unsere beidenTestfaumllle aufgedeckt zumBeispielwenndieEntscheidung bdquo(A ampamp B)ldquo zu bdquo(C ampamp B)ldquo ver-aumlndert wird Hier schlaumlgt der erste TestfallfehlWird jedoch in der Entscheidung die Vari-

able B durch C ersetzt so wird diese Muta-tion nicht erkanntshort shiftC(short A short B short C)if (A ampamp C)return Cltlt1elsereturn Cltlt2

Wird in der Entscheidung das logischeUND (ampamp) durch ein bitweises UND (amp) er-setzt wird diese Mutation ebenfalls nichterkanntshort shiftC(short A short B short C)if (A amp B)return Cltlt1elsereturn Cltlt2

Beide nicht erkannten Mutationen sind

subtil veraumlndern jedoch das Verhalten desTestobjekts signifikant und koumlnnen durcheinen Denk- oder auch einen Fluumlchtigkeits-fehler relativ leicht entstehenUmden zweitenMutanten zu toumlten reicht

es aus dieWerte eines der beiden bestehen-den Testfaumllle zu aumlndern ZumBeispiel koumlnn-te man im zweiten Testfall einfach denWert2 fuumlr B verwenden (allerdingsnicht denWert5)

Um beide Mutanten nachhaltig zu toumlten(das heiszligt ohne dass unmittelbar spiegel-bildliche Mutationen moumlglich werden dienicht getoumltet wuumlrden) benoumltigt man einendritten Testfall in dem die Variable B denWert 0 annimmt Die Tabelle 2 im Kastenlinks zeigt die ResultateMit dendrei Testfaumll-len in der Tabelle 2 werden beide Mutantenerkannt Durch die Verwendung von dreiTestfaumlllen wird uumlberdies der Code-Uumlberde-ckungsgrad von 100 Zweiguumlberdeckungauf 100MCDC (Modified ConditionDeci-sion Coverage ein Kriterium des StandardsDO-178B) erhoumlhtMit Hilfe eines Mutationstests kann man

auchTestfallmengenbewerten Eine Testfall-menge heiszligt adaumlquat wenn sie alle Mutan-ten aufdeckt Von zwei adaumlquaten Testfall-mengen ist natuumlrlich diejenige mit wenigerTestfaumlllen vorzuziehenDies ermoumlglicht auchdenVergleich von Testfallkonstruktionsver-fahrenMankanndie IdeedesMutationstestszur Reduzierung der normalerweise groszligenZahl vonautomatisch generiertenTestfaumlllenverwenden [5] Ein Testfallmussmindestenseinen Mutanten toumlten der bisher noch vonkeinem anderen Testfall getoumltet wurde umnicht verworfen zu werden

Mutationstests aus Sicht derNorm IEC 61508DieNorm IEC 61508 bezeichnet denMuta-

tionstest als bdquoDurchfuumlhrung von Testfaumlllennach Fehlereinpflanzungldquo und empfiehltdies fuumlr Safety Integrity Level (SIL) 2 bis 4Die IEC61508 fuumlhrt auchaus dassmanaus

der Anzahl der Fehler die eine Testsuite ineinem originalen Testobjekt entdeckt undder Zahl der Mutationen die diese Testsuiteermittelt eine Abschaumltzung fuumlr die Gesamt-zahl der im Testobjekt vorhandenen Fehlerfinden kann (praumldizierend) Das Verhaumlltnisder erkanntenMutanten zurGesamtzahl derMutanten ist gleichdenVerhaumlltnis der gefun-denenFehler imoriginalenTestobjekt zuderGesamtzahl der Fehler imoriginalenTestob-jekt Diese Abschaumltzung setzt natuumlrlich diegleiche statistischeVerteilung vonArtenundPositionen der Mutationen und der tatsaumlch-lichen Fehler voraus Wenn beispielsweisedie tatsaumlchlichen Fehler fehlerhafte Berech-nungen sind jedoch keine arithmetischenMutationen verwendetwerdenwirddieAb-schaumltzung kaum zutreffen

Eine Variante Der schwacheMutationstestObwohl sichdas aumluszligere Programmverhal-

ten des Mutanten gegenuumlber dem Originalnicht aumlndert kann es sein dass ein Testfallim Innern desMutanten einen anderen Pro-

Auswertung der Testergebnisse

die Tabelle 1 zeigt zwei Testfaumllle fuumlr dieFunktion bdquoshiftc()ldquo in den spalten a Bund c werden die eingabewerte fuumlr dieeingangsvariablen a B und c der Funk-tion angegeben das ergebnis der Funk-tion bdquoshiftc()ldquo ist der bdquoreturnldquo-Wert derFunktion er steht in der spalte bdquoergeb-nis von shiftc()ldquo die eingabewerte sindmit bdquoildquo fuumlr bdquoinputldquo markiert der ausga-bewert mit bdquooldquo fuumlr bdquooutputldquoim ersten Testfall (Tabelle 1 tc11) hatdie eingabevariable a den Wert 0 B denWert 1 und cdenWert 2 da a null ist lau-tet die entscheidung der bdquoifldquo-anweisungbdquofalseldquo der bdquoelseldquo-Zweig der bdquoifldquo-anwei-sung wird ausgefuumlhrt dadurch wird die

Variable c um 2 stellen nach links ge-schoben in der Binaumlr-darstellung wirdalso 0010 (was dezimal 2 entspricht)zu 1000 (was dezimal 8 entspricht)bdquoshiftc()ldquo gibt 8 als ergebnis zuruumlckim zweiten Testfall (Tabelle 1 tc21) hatdie eingabevariable a den Wert 1 B denWert 1 und c den Wert 3 da a und B jeeins sind lautet die entscheidung derbdquoifldquo-anweisung bdquotrueldquo der bdquothenldquo-Zweigder bdquoifldquo-anweisung wird ausgefuumlhrt dieVariable c ruumlckt um eine stelle nachlinks in der Binaumlr-darstellung wird also0011 (was dezimal 3 entspricht) zu 0110(was dezimal 6 entspricht) bdquoshiftc()ldquogibt 6 als ergebnis zuruumlck

A b c ErgEbnis von shiftc()

i i i o

tc11 0 1 2 8

tc21 1 1 3 6

Tabelle 1 Zwei Testfaumllle fuumlr die originale Funktion shiftC()

A b c ErgEbnis von shiftc()

i i i o

tc11 0 1 2 8

tc21 1 2 3 6

tc31 1 0 3 12

Tabelle 2Mit diesen drei Testfaumlllen werden beide Mutanten erkannt

EmbEddEd-Entwicklung TesT und QualiTaumlTssicherung

Erlaumluterung von FachbegriffenFault Injectionin das nicht mutierte Testobjekt werdenFehler von auszligen injiziert um die ro-bustheit zu pruumlfenFehlermodell (Fault model)die Kategorien der moumlglichen Mutati-onen diese sind natuumlrlich bei einemc-Programm als Testobjekt anders alsz B in einem Zustandsdiagramm einBeispiel fuumlr ein Fehlermodell fuumlr Testob-jekte in der Programmiersprache c ist imartikel angegebenKopplungseffekt (Coupling effect)Wird ein Mutant mit einer einzelnenMutation durch eine Testfallmenge ent-deckt so werden auch mehrfache Muta-tionen entdeckt

Fehlereinpflanzung (Error seeding)in der norm iec 61508 heiszligt der Mutati-onstest bdquoFehlereinpflanzungldquo bzw bdquoer-ror seedingldquoStarker Mutationstest (Strong mutationtest)der Mutant wird nur von auszligen betrach-tet (Black Box) und der Mutant wird nurdurch einen Testfall entdeckt der nachauszligen ein anderes ergebnis liefert alsdas OriginalSchwacher Mutationstest (Weak mutati-on test)ein Testfall sorgt im innern des Mutan-ten fuumlr ein anderes Verhalten als beimOriginal dieses andere Verhalten wirdjedoch nicht nach auszligen sichtbar

grammablauf erzeugt als im Original Dannspricht man von schwachemMutationstestunsigned int absolute (int x)if (x lt 0)return -xreturn xDie Mutation von lsquoltrsquo zu lsquolt=rsquo wird nach au-

szligen nicht sichtbar

Der Unterschied zurFault InjectionNicht zu verwechselnmit demMutations-

test ist die Fault Injection die beispielsweisein der Norm ISO 26262 [2] als Testmethodeerwaumlhntwird Bei einer Fault Injectionbleibtdas Testobjekt in seinemOriginalzustand eswird nicht mutiert Der Fehler wird auszliger-halb des Testobjekts erzeugtWenndas Test-objekt Software ist waumlre beispielsweise dasVeraumlndern (Korrumpieren) des Speichers fuumlrdie Variablen waumlhrend der Ausfuumlhrung derSoftware eine Fault Injection Die Softwareliest also aus einer Variablen nicht denWertzuruumlck den sie vorher abgespeichert hat DieFrage ist ob dies Auswirkungen hat und obdie Softwaremit einer solchenSituationum-gehen kannFault Injection ist also einRobustheitstest

zum Beispiel bezuumlglich der Auswirkungenvon Bitflips durch kosmische StrahlungDurch eine Fault Injection kann auch derProgrammspeicher des Testobjekts (willkuumlr-lich) geaumlndert (korrumpiert) werden Diessehenwir jedochnicht alsMutation die denSinn hat Programmierfehler im Quellcodeaufzudecken sondern vielmehr als Robust-heitstest FG

Hitex Development Tools +49(0)72196280

Literaturhinweise[1] IEC 61508 Teil 3 Tabelle B2 = Empfehlung

Fehlereinpflanzung sowie Teil 7 C56 = Be-schreibung Fehlereinpflanzung

[2] ISOFDIS 26262 Teil 6 Tabellen 10 und 13[3] Liggesmeyer Peter Software-Qualitaumlt Testen

Analysieren und Verifizieren von SoftwareHeidelberg Berlin 2002 Spektrum Akademi-scher Verlag

[4] Dirk W Hoffmann Software-Qualitaumlt Springer-Verlag Berlin Heidelberg 2008

[5] Wolfgang Herzner Rupert Schlick HaraldBrandl JohannesWiesalla Towards Fault-basedGeneration of Test Cases for Dependable Em-bedded Software in Softwaretechnik-TrendsGesellschaft fuumlr Informatik eV Band 31 Heft 3August 2011

[6] A Jefferson Offut Clemson University Investi-gations of the software testing coupling effectin ACM Transactions on Software EngineeringandMethodology New York Volume 1 Issue 1Jan 1992

[7] Tessy httpwwwhitexdetessy

acht irrtuumlmer uumlber code coverage

Bugs und defekte in Multitasking-softwareeliminieren

InfoClick

wwwelektronikpraxisde infoclick 3343128

AURIX - Over 10 years of Multicore Debuggingmakes the difference

AURIX

HSMTriCore 0 GTM

Debugand

SerialTrace

TRACE32

TRACE32

TRACE32

TRACE32

Debugging Multicore of years 10 Over - AURIXdifference the makes

AURIXAURIX

HSMTriCore 0 GTM

Debugand

SerialTrace

TRACE32

TRACE32

TRACE32

TRACE32

wwwlauterbachcom1652

10

Softwareentwicklung SoftwareSicherheit teil 2

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Die drei Gesichter der SicherheitIm zweiten Teil unserer Serie fassen wir einige Meinungen von

Experten des vergangenen ESE Kongresses zum Thema Security zu-sammen Im Mittelpunkt stehen dabei unbefugte Zugriffe oder die

gezielten Angriffe auf Embedded-Systeme

PETER SIwON uNd ALEXANdER SEdLAK

Peter Siwon ist Business Development Manager beim Schu-lungs- und Consulting-Spezialist MicroConsult inMuumlnchen und

Embedded-Systeme sind stets Software-und Hardwarekomponenten die inVerbindung mit Sensoren und Aktua-

toren in umgebende technische Systeme in-tegriert sind umkomplexe Steuerungs- undDatenverarbeitungsaufgaben zu uumlberneh-men Die Sicherheit im allgemeinen Sinne

bezeichnet einen Zustand der frei von un-vertretbaren Risiken ist Das wird in derNorm IEC 61508 so definiert Safety oderfunktionale Sicherheit bedeutet in diesemZusammenhang dass ein System in den zuerwartendenSituationenundZustaumlndenbeiordnungsgemaumlszliger Nutzung keine koumlrperli-chen oder finanziellen Schaumlden verursachtSecurity koumlnnte man demnach so genauerdefinieren Die Betriebs- und Datensicher-heit darf durch aumluszligere Einfluumlssenicht gestoumlrtoder gar verhindert werden Security hat ei-ne doppelte Bedeutung Einerseits sorgt siedafuumlr dass die Betriebssicherheit erhalten

bleibt andererseits versteht man darunterdieGesamtheit derMaszlignahmen umein Sys-tem nach auszligen zu schuumltzen Das unter-streicht sowohl die Abgrenzung dieser Be-griffe zeigt aber auch wie eng sie zusam-menhaumlngenNebenderWahl geeigneter Softwarearchi-

tekturen und Programmiermethoden spieltbei der Security oftmals die Gestaltung oderAuswahl derHardware eine bedeutendeRol-le Es handelt sich um Hightech im Verbor-genenmit derenHilfe produkt- und system-spezifische Eigenschaften uumlberhaupt erstrealisiertwerdenkoumlnnenAls Beispiele seienhier Fahrerassistenzsysteme mobile medi-zinischeGeraumlte undAutomatisierungssyste-me genannt Wichtige Stichwoumlrter in demZusammenhang sind die Gestaltung von In-terfaces Netzstrukturen oder schlicht dersichere Einbau einer Komponente

wuumlrmer Viren amp Co ndash Schutzvor gezielten AngriffenIn seinem Vortrag Sichere Netze der Zu-

kunft auf demESEKongress 2011 definierteProf Dr-Ing Hans-Joachim Hof von derHochschule Muumlnchen den Begriff pragma-tisch Die Security ist der Schutz vor geziel-temundhoumlchstwahrscheinlich auchboumlswil-ligemHandelnmit demZiel VertraulichkeitIntegritaumlt oder Authentizitaumlt zu erreichenDas kann sich in der Realitaumlt als nicht ganzeinfach erweisen daman zumZeitpunkt derProjektierung in der Regel nicht weiszlig wel-cher Art von Angriff ein System irgendwannausgesetzt sein wird Besonders bei aumllterenSystemenkann sichdas als geradezudrama-tische Gefahr erweisen Prof Dr Hof sprichthier ganz plastisch von der Goumltterdaumlmme-rungder IT-Sicherheit EinBild daswirklichpasst denn das Vertrauen auf sichere IT-Komponenten Embedded-Systeme undAumlhnliches grenzt oft wirklich an ein sagen-haftesGottvertrauen FrappierendesBeispielhierfuumlr ist der Computerwurm Stuxnet der2010 fuumlr groszligeUnruhe und Schaumlden verant-wortlich war Stuxnet war in einer Weiseaktiv die bis dahin imGrunde als nichtmoumlg-

ExpertenmeinungenWie lassen sich Embedded-Systeme vor unbefugtem Zugriff oder gezielten Angriffenschuumltzen

BilderG

erdaltm

annpixeliode

Alexander Sedlak ist als freier Autor taumltig

Softwareentwicklung SoftwareSicherheit teil 2

lich galt Der Wurm konnte Grenzen physi-kalisch getrennterNetze uumlberspringen Stux-net zielte vermutlich erfolgreich auf eineUrananreicherungsanlageWegendeshohenSchutzbedarfs von Atomanlagen schien soeinAngriff bis dahin schlicht nichtmoumlglichDen aktuellen Moumlglichkeiten des technischMachbaren druumlckte Stuxnet damit seineneigenen Stempel auf Eine optimierte Be-triebssicherheit wie im Beispiel der Atom-anlagewurdemangels ausreichender Secu-rity zum Sicherheitsrisiko

Der menschliche FaktorWenn Hacker aktiv werdenBedrohungen durch Hacker stellen die

Entwickler vonEmbedded-Systemenvor zu-nehmendeHerausforderungenDieReferen-ten des Schweizer Kommunikations- undTechnikdienstleisters Albis Technologiesstellten imVortrag EmbeddedSecurityHa-ckern einen Schritt voraus zunaumlchst diezunehmende Vernetzung von Embedded-Systemen heraus Und obwohl dadurchme-chanischeBarrieren zwischendenSystemenimmermehrwegfallen beruht die Sicherheitparadoxerweise haumlufig auf physikalischerSicherheit und weniger auf Cyber-Securityoder Informationssicherheit Und das ob-wohl es gerade in Infrastrukturnetzen wiezumBeispiel der aktuell diskutierten intelli-gentenStromversorgung vongroszliger Bedeu-tung ist dass die vernetzten Komponentenautonom ohne Benutzereingaben und vorunbefugten Zugriffen geschuumltztmiteinanderkommunizieren koumlnnenWas koumlnnte die Loumlsung sein Die Referen-

ten stellten ein Modell Hardware-basierterIT-Sicherheitsarchitektur fuumlr Embedded-

Systeme indenRaum InderenZentrumstehtein Security Controller oder ein Trusted-Platform-Modul also ein sicherer Speicherfuumlr digitale Schluumlssel Dieses dient dazu ei-ne Art Zentrum fuumlr kryptografische Operati-onen zu bilden Das Modul muss an den lo-kalenComputer gebunden seinundnicht aneinen bestimmten Benutzer Es ist dann un-moumlglich das Trusted-Platform-Modul entge-gen den Interessen des Eigentuumlmers zu nut-zen sofern dieser Beschraumlnkungen festge-legt hat eine Basis fuumlr die sichere Kommu-nikation der Netzteilnehmer Es kanngelingen beispielsweise aus einem Embed-ded-Geraumlt mit angepasster Software und ei-nem entsprechenden Betriebssystem einevertrauenswuumlrdige Plattform zumachenIntelligente Stromnetze auchSmart Grids

genannt erfordern fuumlr die Ermittlung desindividuellen Strombedarfs unddie korrekteAbrechnungdieVerwendung ebenso intelli-genter Verbrauchszaumlhler der sogenanntenSmartMeterHier gibt es zahlreiche Szenari-en die boumlswilliges Eindringen mit Betrugs-absicht ermoumlglichen Erschwerend ist dieLiberalisierung des Strommarktes Zahlrei-cheKlein- undKleinststromlieferantenndashausWasserkraft oder Photovoltaikanlagen ndashspeisen in die Netze ein Letztlich alles Ein-fallstore fuumlr moumlgliche Angriffe zum Zweckder kriminell motivierten ManipulationAuch vor diesemHintergrund erarbeitet dasBundesamt fuumlr Sicherheit in der Informati-onstechnik (BSI) gemeinsam mit Industrie-partnern fuumlr Smart Meter ein neuartigesSchutzprofil Es strukturiert Bedrohungenund legt damit die Mindestanforderungenfest die Sicherheitsmaszlignahmen erfuumlllenmuumlssen Ziel ist dabei eine Zertifizierung von

Produktennachdefinierten SchutzkriterienDas vondenPartnern erarbeitete Schutzpro-fil 3 definiert ein anhand gemeinsamerKriterien festgelegtes Security Modul fuumlralle kryptografischen Operationen

Kryptologie ndash Software solltenicht zu knacken seinBei der Entwicklung von Embedded-Sys-

temen koumlnnen durch den Einsatz von kryp-tologischen Verfahren viele Prozesse sicheroder zumindest sicherer gemacht werdenReinhard Wobst (UNIX Software) hat in sei-ner Funktion als Softwareentwickler festge-stellt dassmit groszliger Regelmaumlszligigkeit immerwieder die gleichenFehler bei der Implemen-tierung von Kryptologie gemacht werdenWaumlhrend seines Vortrags auf dem ESE Kon-gress erklaumlrte erwarumundwie es Eindring-lingen oft unnoumltig leicht gemacht wird SogehenSoftwareentwickler haumlufig davonausdass niemand die von ihnen entwickeltenAlgorithmen knacken kann Das Gegenteilist der Fall Ein gaumlngiges Mittel ist etwa das

AURIX - Over 5 years of High-Speed Serial Tracingmakes the difference

Tracing Serial High-Speed of years 5 Over - AURIX Tracing Serial High-Speed of years 5 Over - AURIXdifference the makes difference the makes

wwwlauterbachcom1653

Psychologische Sicherheitsluumlcke Irren ist mensch-lich ndash sowohl auf Entwickler- wie auf Anwenderseite

12

Softwareentwicklung SoftwareSicherheit teil 2

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Microconsult Qualitaumlt und Sicherheit

teil 1 der Serie Die drei Gesichter derSicherheit

InfoClick

wwwelektronikpraxisde infoclick 3343156

Schreiben unklaren oder scheinbar verwor-renen Codes Doch gerade bei der heutigenVernetzungwird jedesVerfahren fruumlher oderspaumlter bekannt Interessant ist die auch vonWobst formulierte Erkenntnis dass derSelbsttest eines eigenentwickeltenAlgorith-musmoumlglicherweise zu demErgebnis fuumlhrtdass es nicht einmal dem urspruumlnglichenProgrammierer gelingt ihn zuknackenAberdieWirklichkeit sieht leider anders aus Je-der kann einenAlgorithmus entwickeln dener selbst nicht brechen kann aber es gehtdarum dass ihn andere nicht brechen koumln-nen[1]Letztlich siehtmanes einemAlgorithmus

auchwenner noch soobskur erscheint nichtan ob er nun sicher ist oder nichtWobst raumltseinen Entwicklerkollegen konservativ zuseinundbekannteundaltbewaumlhrteAlgorith-menundMethoden zunutzenDas ForschennachSicherheit solle denForschernuumlberlas-sen werden Anhand zahlreicher Beispielebelegte Reinhard Wobst wie schnell es ge-schehen kann dass ein SoftwareentwicklerGuteswollenddas Falsche tut bzw dasRich-tige nicht richtig macht Und er zeigte auchdie Grenzen auf die selbst einer perfekt im-plementierten Kryptologie gesetzt sind wiedenial of service Attacken oder der immererfolgversprechende Versuch das stetsschwaumlchste Element eines Walls von Maszlig-nahmen fuumlr die Sicherheit zu instrumentali-sieren den User selbst So kam Wobst beiseinem Vortrag zu der Schlussformel dassgesunderMenschenverstandniemals hinterFormalismenverschwindendarf Fuumlr dieRe-alisierung von Sicherheit gilt immer dassetwas Sicherheit besser ist als gar keine

Qualitaumlt und houmlchstmoumlglichesSicherheitsniveau fuumlr SoftwareWie real die Risiken von Angriffen auf

Embedded-Systeme sind zeigte Lucas vonStockhausen vonHewlett-Packard in seinemVortrag Mehr Sicherheit fuumlr EmbeddedCode amBeispiel einer Manipulation einerhandelsuumlblichen Insulinpumpe Es seimoumlg-

lich durch Umgehen von Restriktionen dieInsulindosis die eine solchePumpeautoma-tisch verabreicht aus einer Entfernung von100 m und voumlllig unbemerkt zu veraumlndernDamit koumlnnemaneinemDiabetiker jederzeiteine Uumlberdosis Insulin injizieren Diese Ge-fahr mag konstruiert erscheinen fuumlr denPumpenhersteller und fuumlr den Patienten istsie aber sehr real undhoumlchst bedrohlichDasBundesministerium fuumlrWirtschaft undTech-nologie stellte bereits 2010 eine zunehmendeund alarmierende Professionalisierung vonAngriffen fest Dabei berichten die Medienmeist nur uumlber die spektakulaumlrstenFaumlllewiezumBeispiel denbereits erwaumlhntenStuxnet-Wurm der fuumlr den Einsatz auf industrielleZiele optimiert wurde

Die psychologischenSicherheitsluumlckenViele Angriffe sind weniger spektakulaumlr

doch kaum weniger gefahrenvoll Geradeuumlberraschende Angriffsszenarien auf Em-bedded-Systeme zeigen wie schwierig essein kann schon inder Softwareentwicklungvorauszusehenwie ein spaumltererAngriff aus-sehen kann Aus diesem Grund spielt diesichere Softwareentwicklung der sichereCode eine entscheidende Rolle Angesichtsdes rasanten Fortschritts der von zuneh-mendemZeit- Konkurrenz- undErfolgsdruckzuverlaumlssig begleitetwirdmussnebenQua-litaumltsforderungen auch das houmlchstmoumlglicheSicherheitsniveau realisiert werdenBei Embedded-Software erfolgt eine ver-

besserte Zugangssicherheit uumlber Software-Updates sagte Prof Dr-Ing Hans-JoachimHof Daraus ergeben sich gleichermaszligenAufgaben fuumlr die Entwicklung von Soft- undHardware In puncto Hardware werden si-chere Interfaces undUumlbertragungsprozedu-renbenoumltigt Die Softwaremuss so aufgebautsein dass sie autorisiert korrigiert aber nichtohne Autorisierung manipuliert werdenkann Das Motto Verbauen und Vergessengehoumlrt damit derVergangenheit anNicht zuvergessen sinddie psychologisch bedingten

Sicherheitsluumlcken zudenenPeter SiwonvonMicroConsult in seinem Seminar bdquoIrren istmenschlichldquo Beispiele nannte Und das so-wohl auf Entwickler-wie aufAnwenderseiteUnter hohem Zeitdruck neigt man dazu Si-cherheitsregeln zu brechen Menschen neh-men dann houmlhere Risiken in Kauf um denStress loszuwerden Stresshormone schraumln-kenunsere Faumlhigkeit ein uumlber die langfristi-gen Folgen unseres Verhaltens nachzuden-ken Zudem leide unser Qualitaumltsbewusst-sein unter dem Beduumlrfnis den bdquoSchmerzldquoloszuwerden Beides zusammen stellt eineexplosive psychologische Mischung darWichtige Voraussetzungen fuumlr Security wiebeispielsweise umfassende Tests fallen un-ter den Tisch Eine weitere Sicherheitsluumlckeentsteht durch Denkfaulheit Um unser Ge-daumlchtnis zu entlasten greifen wir nicht nurbei Passwoumlrtern auf altgewohnte oder beque-me Denk- und Verhaltensmuster zuruumlckThomas Batt beim Training- und Consul-

tingspezialistenMicroConsult zustaumlndig fuumlrSoftware Engineering Management ziehtfolgendesResuumlmee bdquo(Horror-)Szenarien beidenenEmbedded-Systemedurch aumluszligereAn-griffe manipuliert werden oder bei denensogar die komplette Kontrolle uumlbernommenwird sind keine Hollywoodphantasien Wirsindheute von einer rasantwachsendenZahlvonEmbedded-Systemenumgebenundver-lassen uns darauf dass Herstellerfirmen siezugangs- undangriffssicher entwickeln tes-tenundproduzierenDochTatsache ist dassfuumlr den groumlszligten Teil des Embedded-Marktesdie Qualitaumltsmerkmale Zugangs- und An-griffssicherheit noch Neuland sind DieseQualitaumltsmerkmalemuumlssen sich kuumlnftigwieein roter FadendurchdengesamtenEntwick-lungs- und Produktionsprozess der Produk-te ziehen Dazu benoumltigen wir geeigneteMethoden - insbesondere fuumlr denTest - sowieunterstuumltzende Tools Standards und Zerti-fizierungen Doch selbst mit noch so hoch-entwickelten Maszlignahmen koumlnnen wir dieRisiken nur minimieren nicht aber voumllligausschlieszligenldquo hEh

MicroConsult +49(0)89 45060

Quellennachweis[1] B Schneier Memo to the Amateur Cipher

Designer

Zugriffs- und AngriffssicherheitDie Betriebssicherheit ist im groszligenMaszlige vom Schutz vor unbefugtem Zu-griff oder gezieltem angriff abhaumlngigBei der Security spielt oft die Gestaltungund auswahl der hardware eine bedeu-tende rolle Zu den feinden von embed-ded-Systemen zaumlhlen Viren wuumlrmer undhacker die auf die Systeme zugreifen

und sie manipulieren Mit geeignetenSchutzmaszlignahmen wie Kryptologie undentsprechender Programmierung lassensich embedded-Systeme sicherer gestal-ten Nicht zu vergessen sind auch diepsychologisch bedingten Sicherheits-luumlcken ndash denn auch der Programmiererselbst stellt ein Sicherheitsrisiko dar

13

EmbEddEd SoftwarE Aktuelles

ELEKTRONIKPRAXIS embedded software engineering Report Juni 2012

InfoClick 3371268

embedded-softwAReentwicklung

analysewerkzeug Goanna pruumlft Software auf potenzielle LaufzeitfehlerDas Karlsruher Entwicklungs-haus Hitex hat die Version 272des Analysewerkzeugs Goannaveroumlffentlicht Das Tool pruumlft inCC++geschriebenenCodenachmathematischenMethoden umUrsachen fuumlr Laufzeitfehler auf-zuspuumlren In der aktuellenVersi-on 272 finden sich vor allemDetailverbesserungen wie er-leichterteKonfigurierbarkeit DieKonfigurationsvarianten bdquoQuickCheckldquo und bdquoDeep Checkldquo sindvordefiniert Auszligerdem wurdendieAnalysemethodenbeschleu-nigt und praumlziser gestaltet An-

feruumlberlaumlufe die Zerstoumlrung vonSpeicherinhalten Divisionendurch Null Zugriffe mit unguumllti-gem Index und aumlhnliche Proble-me Die Analyse uumlberschreitetdabei nicht nur Funktions- son-dern auch Dateigrenzen DasSoftwarewerkzeug soll einfachinstallierbar sein und sich nachwenigen Minuten einsetzen las-sen Goanna ist in einer Kom-mandozeilenversion (GoannaCentral) sowie alsAdd-On fuumlr dieweit verbreiteten Entwicklungs-umgebungen Visual Studio vonMicrosoft sowie EclipseCDT

(Goanna Studio) verfuumlgbarGoannaCentral undGoannaStu-dio fuumlr Eclipse sind fuumlrWindowsundLinux verfuumlgbar DieVersionfuumlrVisual Studiounterstuumltzt nurWindows Beide Versionen gibtes als rechnergebundene oderals Floating-Lizenz Es gibt eineeine permanente Lizenzmit dreiJahrenSupport und eine zeitlichbegrenzten Lizenz fuumlr ein Jahrmit der Option auf zeitliche Ver-laumlngerung fg

Hitex

hand mathematischer Modelleund derMethode der abstraktenDatenwertverfolgung kannGoanna problematische Konst-rukte ermitteln die zur Laufzeitder Software zu Fehlern fuumlhrenDazu zaumlhlen Speicherlecks Puf-

Schnelles Android XobotOS ist eineAndroid-Variante die auf einer offe-nen Implementierung von MicrosoftsNET-Architektur basiert InfoClick 3348889

smARtphone-betRiebssystem

android-Klon auf NEt-basis koumlnnte legale Untiefen umschiffenXamarin bietet Entwicklungs-werkzeugen fuumlr Android undApples iOS Das zentrale Themades Unternehmens ist die platt-formuumlbergreifendeProgrammie-rung von Apps fuumlr die beidenwichtigsten Betriebssysteme fuumlrMobilgeraumlte Als Entwicklungs-plattformdient dabeiMono einefreie Implementierung von Mi-crosofts NET-TechnikWichtigs-te Komponente vonMono ist einefreie Variante der NET-Laufzeit-umgebung CLR (Common Lan-guageRuntime) die zunaumlchst fuumlrLinux entwickelt wurde und

NET-Programme unter Linuxausfuumlhrte DaAndroid auf LinuxbasiertwurdeMono fuumlr dasmo-bile Betriebssystem von Googleumgesetzt Inzwischen gibt eseine Version namens Mono-Touch fuumlr Apples iOS Mit HilfevonMonoundMonoTouch ist esmoumlglich groszlige Teile des Appli-kationscodes wiederzuverwen-den wenn eine App sowohl fuumlriOS als auch fuumlr Android entwi-ckelt wurde XobotOS ist einAndroid-Klon bei demdie in Ja-va geschriebenen Codekompo-nenten inCuumlbertragenwurden

Diemomentan stattfindende ge-richtliche Auseinandersetzungzwischen Oracle als Inhaber derJava-Rechte und Google um an-gebliche Urheberrechtsverlet-zungen koumlnnte auszligerdem dafuumlrsorgen dass XobotOS kein For-schungsprojekt bleibt Das NET-Framework bietet alternativeImplementierungen fuumlr die Pro-grammierschnittstellen die zwi-schen Google undOracle strittigsind fg

Xamarin

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

EmbEddEd-SyStEmE SoftwaRE-DESign

14

TITELSTORyin juumlngster Zeit haben namen wieStuxnet und Duqu Eingang in unserenwortschatz gefunden Solche Schad-programme feuern unerbittliche atta-cken auf die Sicherheit eingebetteterSysteme Darunter sind auch SCaDa-Systeme (Supervisory Control andData acquisition) die industrieanla-gen Verkehrsnetze oder Kraftwerkeuumlberwachen und steuernManche Entwickler eingebetteterSoftware meinen zwar dass die Ebe-ne des Systems Engineering oder dieHardware fuumlr die Systemsicherheitzustaumlndig sein sollte Viele attackennuumltzen aber Schwachstellen in denanwendungen aus Und diese Luumlckengilt es im anwendungsdesign und derProgrammierung zu vermeiden

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

Siem

ens-PressebildPSD

graphics

15

EmbEddEd-SyStEmE Software-DeSign

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Security-Grundlagen fuumlrEmbedded-Software

Schutzmaszlignahmen auf der Betriebssystem- und Hardwareebene ge-gen Hackerangriffe sind keineswegs perfekt Daher muumlssen Entwickler

selbst gegen Schwachstellen der Embedded-Software vorgehen

DAvID KALINSKy

David Kalinsky ist Berater Trainer und Dozent fuumlrEchtzeit- und Embedded-Programmie-rung in SunnyvaleKalifornien (USA)

Entwickler eingebetteter Software spie-len das Security-Thema manchmalherunter und sagen bdquoUnserGeraumltwird

nie mit dem Internet oder einem anderenexternen Kommunikationsnetz verbundensein Wir sind gegen Angriffe immunldquo Dasist leider nicht wahr Erlauben Sie mir einGegenbeispielViele Geraumlte nutzen Analog-zu-Digital-

Konverter (ADC) zur Sammlung von DatenDieADCswerden regelmaumlszligig abgefragt unddieApplikation speichert dieDatenpakete ineinemArrayDieApplikation verarbeitet spauml-

ter diesen Daten-Array Aber ein Angreiferkoumlnnte dies aus einem ganz anderen Blick-winkel sehen etwa so bdquoWas wuumlrde passie-ren wenn ich den ADCmit elektrischen Sig-nalen fuumlttere die einer exaktenhexadezima-len Darstellung des Codes eines Schadpro-grammsentsprechenldquoAuf dieseWeise kannder Angreifer seine Software in Ihren Rech-ner einschleusen Ein Netzwerk oder dasInternet ist dafuumlr nicht noumltig

Angreifer brauchen nicht immerein externes NetzwerkDer Angreifer koumlnnte nun darauf setzen

dass Ihre Software die ADC-Daten in einemStapelspeicher (Stack) sichert (vielleicht in-demSie alloca() odermalloca() verwenden)Wenn er Gluumlck hat koumlnnte er einen Array-Uumlberlauf verursachen vielleicht indem er

den Hardware-Timer manipuliert der dieADC-Abfrage steuertEin typischer Stack ist auf der folgenden

Seite oben links abgebildet Wenn der An-greifer einen Array-Uumlberlauf verursachtkoumlnnte der Stack korrumpiert werden wiedas Schema rechts daneben zeigt BeachtenSie dass dieRuumlcksprungadresse imStack aneiner Position gespeichert wurde die hinterdem Ende des Arrays lagWenn der Angreifer die Korrumpierung

richtig plant wird der Uumlberlauf den Ort imStack erreichen an dem die aktuelle Ruumlck-sprungadresse gespeichertwurdeDas kanndazubenutztwerden umandiesemPlatz imStack einenZeiger auf den eigenenCode ein-zuschleusenWenn Ihr CodedieRuumlcksprung-adresse benutzt geht die Steuerung auf denCode des Angreifers uumlber

Siem

ens-Pressebild

16

EmbEddEd-SyStEmE Software-DeSign

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Simpel aber effektiv Die Grafik links zeigt den gewoumlhnlichen Aufbau eines Speicherstacks In der rechtenGrafik ist der Stack nach einem Array-Uumlberlauf korrumpiert Boumlsartiger Code kann ausgefuumlhrt werden

DavidKalinsky

Das wird als bdquoStack Smashingldquo-Attackebezeichnet BeachtenSie dass sie in diesemBeispiel voumlllig ohne Internetzugangundoh-ne Verbindung zu einer externen Datenlei-tung ausgefuumlhrt wurde

Design-Grundlagen fuumlr sichereEmbedded-SoftwareBeim Design eingebetteter Software koumln-

nen Entwickler die Sicherheit verbessernindem sie einige Grundsaumltze beachten1 Misstrauische AufteilungTeilen Sie die Funktionalitaumlt Ihrer Software

in Bloumlcke auf die sich gegenseitig nicht ver-trauen um die Angriffsfenster in jedemBlock zu verkleinern In der Embedded-Soft-ware nennen wir diese Bloumlcke oft Prozesseoder Subsysteme oder CSCIsEntwerfen Sie jeden Block unter der An-

nahme dass Softwarebloumlcke mit denen erinteragiert angegriffen wurden VertrauenSie denErgebnissender interagierendenBlouml-cke nicht Geben Sie Ihre Daten nicht uumlbergemeinsamen Speicher fuumlr andere Bloumlckefrei BenutzenSie stattdessenMechanismender Interprozesskommunikation wie Mes-sage Queues des Betriebssystems Socketsoder TIPC (Transparent Inter Process Com-munication) Pruumlfen Sie die Inhalte die SieerhaltenAls Resultat dieser Politik der misstraui-

schen Aufteilung faumlllt nicht das gesamteSystem in die Haumlnde eines Angreifers wennein einzelner Softwareblock kompromittiertwurde

bdquoUm feindlichen Code in ein Embedded-System einzuschleu-sen ist nicht unbedingt eine Verbindung zum Internet oder zu

einem anderen externen Netz noumltigldquoDavid Kalinsky

2 Trennung der PrivilegienHalten Sie den Teil Ihres Codes der mit

speziellen Rechten ausgestattet ist moumlg-lichst klein Wenn der Angreifer in Softwareeinbricht die mit hohen Privilegien ausge-fuumlhrt wird dann kann der Angreifer eben-falls mit hohen Privilegien operieren Dasgibt ihm ein extrabreites Angriffsfenster inIhr SystemVermeidenSie also dassAnwendungssoft-

ware im Kernel-Modus oder Master- Modusoder Supervisor-Modus laumlufthellip oder wie dasin Ihrer jeweiligen CPU-Architektur heiszligenmag Uumlberlassen Sie diesen Modus dem Be-triebssystem Lassen Sie Ihre Software nurim User-Modus laufen Dadurch wird IhreCPU-Hardware darauf verpflichtet das An-griffsfenster in Ihrer Software zu limitieren3 Loumlschen Sie sensitive InformationenLoumlschenSie jedewieder verwendbareRes-

source wenn Sie sie freigeben Wenn Sieeine Ressource freigegeben haben ndash sei esein Speicherpuffer oder ein Software-Hard-ware-InterfaceDatenregister ndash koumlnnte dernaumlchste Benutzer genau derselben Ressour-ce einAngreifer sein Angreifer auf eingebet-tete Systeme lieben es diese Ressourcen zusbquophishenrsquo genau wie Internet-Angreifer ger-ne sbquophishenrsquo Hacker waumlren bestimmt uumlber-gluumlcklich die Daten zu lesen die Sie imPuffer bearbeitet habenoder die andieHard-ware zur Ausgabe uumlbergeben wurdenDie meisten Dienste die Ressourcen in

Embedded-Umgebungen freigebenmarkie-ren die Ressourcen einfach als bdquoverfuumlgbarldquo

Sie lassendie alte Information stehen die inder Ressource enthalten ist Das geht sehrviel schneller als die Ressource explizit aufNull zu setzen Damit ist sie aber potenziellfuumlr andere Benutzer lesbarWenn also die Applikation mit einer Res-

source fertig ist liegt es an der Anwendungdie Freigabe vorzubereiten indemsie all die-se Elemente auf Null setztHeap-Puffer Speicherpool-Puffer Spei-cherpartitionssegmente Statisch zugewiesene Speicherpuffer Freigegebene Stack-Bereiche SpeichercacheDatei im DateisystemDatenregister fuumlr Hardware-InterfacesStatusregister Kontrollregister

Schwachstellen auf die manbeim Coding achten mussWaumlhrend der Programmierung koumlnnen

Entwickler die Softwaresicherheit verbes-sern indem sie eine Reihe bekannterSchwachstellen vermeiden1 PufferuumlberlaufMitweitemAbstand ist der Pufferuumlberlauf

die amweitesten verbreiteteGefahrenquellewenn man in der Sprache C programmiertEs kann ganz einfach sein ndash zum Beispiel indas Element mit der Nummer 256 eines256-teiligenArraysDatenhineinzuschreibenCompiler erkennen verbotene Pufferzu-

griffe nicht immer als Softwarefehler DaskannernsthafteKonsequenzenwiedie bdquoCodeInjectionldquo oder die bdquoArc Injectionldquo haben ndashbei letzterer aumlndert der Angreifer den Kon-trollfluss eines Programms indem er dieRuumlcksprungadresse auf dem Stack modifi-ziert Bei der bdquoArc Injectionldquo braucht derAngreifer nicht einmal Code einzuschleusenEr kann zu irgendeiner Funktion im existie-renden Code springen oder Guumlltigkeitspruuml-fungen oder Assertions uumlberspringenHier ein Beispiel fuumlr eine Pufferuumlberlauf-

Attacke Ein eingebettetes Geraumlt misst dieWassertemperatur in einem Schwimmbe-cken und zeigt die Zeitanteile als Histo-gramm an in denen das Wasser eine be-stimmteTemperatur hatte Der Softwareent-wickler baut einen Array mit 100 positivenIntegerzahlen bei denen jedes Element miteinerGradangabe inCelsius korrespondiertElement 0 fuumlr 0deg Element 1 fuumlr 1deg und soweiter Jedesmal wenn der Sensor die Was-sertemperaturmisst wird das entsprechen-deElement desArrays umdenWert 1 erhoumlhtUm ganz sicher zu gehen stattet der Ent-

wickler denTemperatur-Arraymit viel Spiel-raum aus Er uumlbersteigt den Temperaturbe-reich bei weitem den einmenschlicher Koumlr-per aushalten wuumlrde

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012 17

EmbEddEd-SyStEmE SoftwaRE-DESign

ohne Locks fuumlr Multicore-Systeme entwi-ckeln

Echtzeit-Software ohne Echtzeit-Betriebssys-tem programmieren

InfoClick

wwwelektronikpraxisde InfoClick 3337487

wwwyakinduderequirements+492319860606

bull Komplexe software inKuumlrzester zeit spezifizieren

bull anforderungen fehlerfreierfassen

bull abhaumlngigKeiten von diagram-men und modellelementenautomatisch darstellen

bull aufwaumlnde von aumlnderungenKennen bevor sie entstehendurch vollstaumlndigestracing

bull manager fachanwenderund entwicKler sprechenendlich von denselbendingen

yaKindu requirementsdie software fuumlr requirementsengineering und traceability

IHRNUTZEN

Bis eines Tages der Angreifer den Sensoraus demWasser nimmt und mit einem Feu-erzeug aufheizt Sobald der Sensor einenWert misst der 100deg uumlbersteigt verletzt dieSoftware fuumlr das Histogramm-Update eineSpeicheradresse die hinter dem Ende desTemperatur-Arrays liegt Wenn dort Datenliegen hat der Angreifer die Daten korrum-piert Steht dort Maschinencode dann hatder Angreifer die ausfuumlhrbare Software kor-rumpiert In jedemFall ist es ein schaumldlicherEingriff Bitte beachten Sie dass auch dafuumlrweder eine Internetverbindung noch eineVerbindung zu einem externen Netzwerknoumltig war Ein Feuerzeug genuumlgteWie koumlnnen wir Pufferuumlberlaumlufe vermei-

denDie Schwachstelle ist soweit verbreitetdass ein mehrstufiger Ansatz am besten istVerhindern Entdecken Heilen Im Beispielunseres Schwimmbeckens sollten Sie expli-zit pruumlfen dass keine Temperatur ermitteltwird die der von Eis (unter 0deg) oder heiszligemDampf (uumlber 100deg) entsprichtVerhindern Sie Pufferuumlberlaumlufe auch in-

dem Sie gefaumlhrliche Bibliotheksfunktionenvermeiden (wie gets()) und Vorsicht bei an-deren walten lassen (wiememcpy())

bdquoAnstreicherldquo-Methodeermittelt PufferuumlberlaumlufeEntdeckenSie Pufferuumlberlaumlufe indemSie

wie ein Anstreicher vorgehen Erweitern SiedenPuffer anbeidenEnden etwas Fuumlllen Siedie Erweiterungsbereiche mit ungewoumlhnli-chem Inhalt den ich bdquoAnstrichldquonenne zumBeispiel eine Falle in derMaschinenspracheIhres Prozessors Dann pruumlfen Sie den bdquoAn-strichldquo wiederholt zur Laufzeit Wenn derAnstrich uumlberschrieben wurde haben Sieeinen Pufferuumlberlauf entdeckt2 Tricksereien mit ZeigernWenneinAngreifer einenDatenzeigermo-

difizieren kann dann kann der Angreifernach eigenemGusto an jededenkbare Stelleverweisen Wenn ein Angreifer einen Funk-tionszeiger uumlberschreiben kann dann ist erauf einemgutenWeg seinenCode auf IhremProzessor auszufuumlhren3 Dynamische SpeicherzuweisungDie Verwendung dynamischer Speicher-

zuweisungen ist in vielen sicherheitskriti-schenSystemenwie der Luft- undRaumfahrtverbotenAngreifer sindheiszligdarauf solcheDefekte zu finden da sie eine guumlnstigeGele-genheit bieten die Sicherheit eines Embed-ded-Systems zu verletzenEin besonders empfindlicher Fehler ist es

die Pruumlfung zu unterlassen ob eineAnfragezur Speicherzuweisung erfolgreichwar odernichtMancheMechanismengebenanstelleeines Zeigers auf einen Speicherpuffer den

Wert Null aus wenn kein verfuumlgbarer Spei-cher mehr vorhanden ist Wenn die Anwen-dungssoftware diesen Nullwert als Zeigerbehandelt wird sie in einen Puffer hinein-schreiben der an der Speicheradresse NullbeginntViele Angreifer wuumlrden sich freuen wenn

Ihre Software dies taumlte Angreifer wissendass eingebettete Software oft eingeschraumlnk-te Speicherressourcen hat Sie setzen allesdaran den Speicher auszuschoumlpfen indemsie den Speicherzuweisungsmechanismusdazu zwingen mehr Speicher als sonst uumlb-lich zu belegen ndash vielleicht durch einge-schleusten Code der Speicherlecks enthaumlltSie koumlnnenauchversuchen IhrDatenabfra-gesystem mit houmlheren Datenmengen oderDatenraten zuuumlberflutenndash inderHoffnungdass dieDatenlawine Ihre Speicherkapazitaumlterschoumlpft Und dannWenn Ihre Software einen Speicherpuffer

anfragt aber die Pruumlfung unterlaumlsst ob dieZuweisung fehlgeschlagen istwird sie einenPuffer anderAdresseNull eroumlffnenundalleszertrampeln was vorher dort gewesen istWenn zumBeispiel die Flags fuumlr das Ein- undAusschalten von Interrupts an dieser Stellestehen koumlnnte dadurch die Verbindung derSoftware zudenHardware-Interfaces anderPeripherie unterbrochenwerdenDas koumlnn-te dazu fuumlhren dass Ihr System nicht mehrin die Hardware eingebunden ist FG

D Kalinsky Associates +1408 749 8562

Kleine Angriffsflaumlche Die perfekte Absicherunggegen Angreifer im Web gibt es nicht Wichtig ist esaber sich um die die gaumlngigen Schwachstellen zukuumlmmern

PikeResearch

18

SyStementwurf AudiodAten uumlbertrAgen

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Audiosignale drahtlosmit Licht uumlbertragen

Audiosignale mit maximal 48 kBits mit Laser oder High-Power-LEDuumlbertragen Wir stellen Ihnen eine Schaltung vor die Audiosignale in

groszligen Raumlumen mit hoher Funkbelastung sicher transportiert

IgOR ZImmERmANN

Igor Zimmermann ist Entwickler fuumlr Embedded-Systeme bei der Mixed Mode GmbH inMuumlnchen

Funkuumlbertragungen haben sich vor al-lem im privaten Umfeld in den letztenJahren durchgesetzt Allen voran im

Multimediabereich seien hier kabelloseKopfhoumlrer genannt oder dieWLAN-Uumlbertra-gung Um bei der digitalen Audiouumlbertra-gung zu bleiben Mit der Digitalisierung derMultimediadaten entstand das Beduumlrfnisdiese digitalenAudiodatendrahtlos zu trans-portieren Hier sind im Speziellen drei Fre-quenzbaumlnder relevantDas 24-GHz-Band mit Frequenzen von24 bis 25 GHzDas 5-GHz-Band mit Frequenzen von5725 bis 5875 GHz und das 433-MHz-Band mit Frequenzen von43305 bis 43479 MHz

Wenn sich die Frequenzbaumlnderuntereinander stoumlrenDie ersten beiden Frequenzbaumlnder sind

alle fuumlrAudio-Uumlbertragungsgeraumlte geeignetdie uumlberWLANoder Bluetooth senden Her-koumlmmliche Funkkopfhoumlrer und Funklaut-sprecher benutzen das Band mit 433 MHzAlle drei Frequenzbaumlnder koumlnnen frei be-nutztwerdenwas auchgleichzeitig ein Pro-blem darstellt So sendet im 24-GHz-Bandbeispielsweise dieMikrowellewaumlhrenddas433-MHz-Band von etlichen anderen Funk-verbindungen verwendet wird Durch diegemeinsame Nutzung koumlnnen gegenseitigeStoumlrungen auftretenEine Uumlbertragung mit Licht ist gegen Stouml-

rungen aus diesen Baumlndern unempfindlichAuch inUmgebungenmit starker Funkbean-spruchungkannauf dieseWeise eineAudio-Signaluumlbertragung erfolgen Ein weitererVorteil ist die Reichweite die bei einerUumlber-tragung mit Licht erreicht werden kann

Audiosignale uumlbertragenMit Licht lassen sich groszlige Entfernungen uumlberbruumlcken wobei die APU allessteuert (Illustration)

FotoKlickerpixeliode

Audiosignale drahtlos uumlbertragen Schematischer Aufbau der Schaltung mit Audio Processing Unit

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

Waumlhrend eineUumlbertragung indengenanntenISM-Baumlndern auf einige hundert Meter be-schraumlnkt ist koumlnnenmit Licht groszligeDistan-zen uumlberwunden werden

Schaltung uumlbertraumlgt drahtlosAudiosignale mit LichtIm folgenden wollen wir Ihnen eine neu-

entwickelte und bereits im realen Einsatzgetestete Schaltung vorstellen die drahtloseAudiosignale mit Licht uumlbertraumlgt Die maxi-maleAudioqualitaumlt des Signals darfmaximal48 kBits betragen Die Schaltung setzt aufeinem Mikrocontroller zur Steuerung einesAudio-Codecs auf Die Entwicklung ist durchdie Visible Light Communication (VLC) ins-piriert Das Signal wird uumlber eine Treiber-schaltung entweder per Laser oder High-Power-LED uumlbertragen Auf der Empfaumlnger-seitewirddas Signal uumlber einenAudio-Codecindasurspruumlngliche Format ruumlckgewandeltEinsatzbereiche sind groumlszligere Raumlume in de-nen einehoheFunkbeanspruchungherrschtZum erfolgreichen Versenden der Audio-

informationenwerden zweiAusgabendieserSchaltung benoumltigt Die Versorgungsspan-nung betraumlgt 12 V Auf Senderseite kann derBenutzer eine von drei verschiedenen Sig-nalartenwaumlhlen die uumlbertragenwerden soll analoges Audiosignal Klinke (TRS Ana-log Audio In) digitales SPDIF-Signal Anschluss uumlberCinch (RCA Electrical SPDIF In) optisches SPDIF Signal Anschluss uumlberToslink (Toslink Optical SPDIF In)

APU mit Audio Codec undKonfigurationsregisternDie Konfiguration der Signalart erfolgt

uumlber ein Display und vier Taster (S1 S2 S3S4 und Display) Das Display und die Tastersind an einen Mikrocontroller angeschlos-sen der die Auswertung der Einstellungenvornimmtunduumlber einen Isup2C-Bus andieAu-dioProcessingUnit (APU)uumlbertraumlgt DieAPUbesteht aus einem Audio-Codec und besitztKonfigurationsregister zumSpeicherndieserEinstellungen Uumlber diese Register koumlnnenauch Manipulationen an den Statusbits desSPDIF-Signals vorgenommen werden DieAPU verfuumlgt zudem uumlber ein integriertes di-gitales Interpolationsfilter und ein Antialia-sing-Filter Das hat den Vorteil dass eineexterne Filterung uumlberfluumlssig wird Das Isup2S-Interface uumlber das andere Audio-Kompo-nentenmit derAPUkommunizieren koumlnnensteht demBenutzer ebenfalls zurVerfuumlgungEin- undAusgaumlnge koumlnnenasynchronbe-

trieben werden Das erzeugte Signal wird inein SPDIF-Format gewandelt und dem La-sertreiber oder dem LED-Treiber zur Verfuuml-

Via Laser oder High-Power-LEDAudiosignale drahtlos mit Licht uumlbertra-gen Die von uns vorgestellte Schaltungsetzt auf einen Mikrocontroller der denAudio-Codec steuert wobei die Qualitaumltdes Signals maximal 48 kBits betragendarf Der Mikrocontroller ndash die AudioProcessing Unit ndash ist das Herzstuumlck die-

ser speziellen Treiberschaltung der dasAudiosignal via Laser oder High-Power-LED uumlbertraumlgt Mit den Konfigurations-registern lassen sich die Einstellungenfuumlr die Codes speichern und es lassensich Manipulationen an den Statusbitsdes SPDIF-Signals vornehmen

SyStementwurf AudiodAtEn uumlbERtRAgEn

19

telekommunikation von Mixed Mode

InfoClick

wwwelektronikpraxisde InfoClick 3343108

gung gestellt Aus Sicherheitsgruumlnden wirdder Lasertreiber uumlber eine vomMikrocontrol-ler gesteuerte Enable-Leitung ein- und aus-geschaltet Als Laserquelle dient eine Laser-diodeDer Lasertreiber ist zwar speziell auf diese

Laserdiode eingestellt kann aber durch an-dere Laserdioden ersetzt werden Die Aus-gangsleistung der Modulationsstrom derGleichstromanteil und der Temperaturkoef-fizient der Laserdiodenwerdenuumlber externeWiderstaumlnde des Lasertreibers dimensio-niert Die Laserdiode ist an einem Kupfer-block angebracht der dieKuumlhlungderDiodeund die Fokussierung des Laserlichts uumlbereine Linse im Inneren uumlbernimmt Der LED-Treiber der ein IR-Treiber oder ein High-Po-wer-LED-Treiber sein kann besteht aus zweischaltbarenKonstantstromquellenundkannbis zu vier High-Power-LEDs versorgen

Audioqualitaumlt liegt beiaktuell 48 kBitsAuf der Empfaumlngerseite muss der Light

Receiver alsQuelle ausgewaumlhltwerdenDie-ser Light Receiver umfasst je eine Empfangs-einheit fuumlr sichtbares und infrarotes Licht(Visible Light und Infrared Light Receiver)

Beide Empfangseinheiten bestehen aus ei-nemPhotodetektor und einemnachgeschal-teten Transimpedanzverstaumlrker Das vomTransimpedanzverstaumlrker erzeugte Signalwird anschlieszligendSPDIF-gerecht aufberei-tet und an die Audio Processing Unit weiter-geleitet und kann an einem der sechs An-schluumlsse abgegriffen werdenDiemaximaleAudioqualitaumlt der Schaltung

liegt zur Zeit noch bei 48 kBits da die Emp-fangseinheit Signalemit einer Frequenz vonmaximal 31 MHz zuverlaumlssig empfangenkannDiemaximaleReichweite die bei einergerichteten Uumlbertragung mit Laser erreichtwerden konnte betraumlgt aktuell 15 m DurchdenEinsatz vonoptischenHilfsmitteln kannjedoch eine weitaus houmlhere Reichweite er-reicht werden HEH

MixedMode +49(0)89 89868240

20

ProgrammiersPrachen Sichere Software

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Stabile Embedded-Systememit der Programmiersprache Ada

Mit der Programmiersprache Ada laumlsst sich sicherheits- und missions-kritische Software entwickeln wovon Embedded-Systeme profitieren

sollen Wir stellen Ihnen die Programmierumgebung vor

JOhANNES KANIg

Johannes Kanig ist Senior Software Engineer beiAdaCore

WashabenARGOS einSatellitenpro-gramm zur Sammlung von Um-weltdaten unddas Traumlgheitsnavi-

gationssystem des Airbus 350 XWB mitein-ander gemeinsam Beide stellen besondereAnforderungenan ihre Steuerungssoftwaredie sehr sicher und in Echtzeit reagierenmuss und deren eventuelle Fehler viel Geldoder sogar Menschenleben kosten koumlnnenIn beiden Faumlllen ist die Software missions-kritisch wenn beispielsweise durch einenFehler der Satellit verloren gehen kann odersicherheitskritischwenndurch einenFehlerdie Passagiere des Airbus inGefahr geratenBeide Systeme haben noch etwas gemein-sam sie sind in Ada geschrieben

Ein Traumlgheitsnavigationssystem stellt ho-he Anforderungen an seine Embedded-Ap-plikationen die sehr Hardwarenah laufenDabei wird auf Sicherheit groumlszligter Wert ge-legt Die Anwendung darf unter keinen Um-staumlnden abstuumlrzen und sollte ihre Funktionerfuumlllen sowie maximale Reaktionszeitenstrikt einhalten Fuumlr sicherheitskritischeAn-wendungen werden in der Regel vor demeigentlichen Entwicklungsprozess genaueHigh-Integrity-Anforderungen aufgeschrie-ben denenderProgrammcodedannentspre-chenmussNatuumlrlich ist es fuumlr denProgram-mierer einfacher wenn die Sprache direktKonstruktionen anbietet die bestimmtenArten von Anforderungen entsprechen

Lesbarer Code vermeidetFehler beim programmierenDie Entwickler der Programmiersprache

Adahaben stets besonderenWert auf Lesbar-keit undWartbarkeit gelegt Das aumluszligert sich

unter anderem in syntaktischenUnterschie-den mit Sprachen wie C oder Java Zum Bei-spiel verzichtet Ada voumlllig auf geschweifteKlammern und nutzt stattdessen leicht les-bare Schluumlsselwoumlrter um Bloumlcke zu kenn-zeichnen So werden if-Bloumlcke mit einemend if undSchleifenmit einemend loopabgeschlossen Im Allgemeinen vermeidetAdaSymbolewoSchluumlsselwoumlrter Sinn erge-ben So wird auch der in C uumlbliche Stern zurBezeichnung von Zeigern durch das Schluumls-selwort access ersetzt Ada beachtet Groszlig-und Kleinschreibung nicht um Verwechs-lung von zu aumlhnlichen Bezeichnern zu ver-meiden Und schlieszliglich vermeidet Ada diein Java und C verbreitete Praxis oktale Zah-len mit einer fuumlhrenden Null darzustellenNeben diesen syntaktischen Unterschie-

den gibt es auch viele semantische Hilfenum lesbare undbesserwartbare Programmezu schreiben Sowird die Relation zwischeneiner Funktion und ihren Parametern durchSchluumlsselwoumlrter wie in (nur lesen) out(nur schreiben) oder in out (beides) doku-mentiert Ada ist imGegensatz zuC eine starkgetypte Sprache Typkonversionen die zuLaufzeitfehlern fuumlhrenkoumlnnenmuumlssten ex-plizit geschrieben werden Ada erlaubt imGegensatz zu manchen anderen Sprachendie Einfuumlhrung von benutzerdefinierten In-tegertypen die Absichten des Programmie-rers dokumentieren (DieseVariable enthaumlltZahlen zwischen 1und 100) unddie korrek-te Ausfuumlhrung mit Laufzeituumlberpruumlfungensicherstellen Diese semantischen Eigen-schaften erleichtern den direkten Vergleichdes Programmcodes mit den an ihn gestell-ten Anforderungen

Besonderheiten bei derEmbedded-ProgrammierungBei Echtzeitanwendungenhandelt es sich

meist um parallele Anwendungen denn inder Regel werden mehrere Berechnungengleichzeitig durchgefuumlhrt undneueEreignis-se verarbeitet In diesem Kontext ist es be-

Umweltsattelit Die Steuerungssoftware muss sich besonderen Anforderungen stellen Mit der Program-miersprache Ada laumlsst sich sicherheits- und missionskritische Software entwickeln (Im Bild der Umwelt-satellit ENVISAT)

fotoD

Lr

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

sonders wichtig dass Reaktionszeiten derSoftware auf Ereignisse garantiert werdenkoumlnnen Hier ist es nuumltzlich dass Ada einfa-che Sprachfeatures zur Beschreibung vonparallelen Prozessen bereitstellt Es ist ent-scheidend dassAdakeinenGarbageCollec-tor benoumltigt der denProgrammablauf verzouml-gern koumlnnte Ein manueller Umgang mitThreads ist alsonicht noumltig Unvorhersehba-re Latenzzeiten die bei sicherheitskritischenAnwendungen unakzeptabel sind werdenausgeschlossen Ein weiteres Argument fuumlrden Einsatz von Ada im Embedded-Bereichist seine Faumlhigkeit zur Low-Level-Program-mierung Damit kann beispielsweise die ge-naue Auslegung einer Datenstruktur imSpeicher festgelegt werden Als gefaumlhrlicherachtete Low-Level-Features wie zum Bei-spiel dasAuslesenbeliebiger Speicherberei-che oder auch die in C beliebte Pointerarith-metik sind in Ada nur unter Umgehung desTypsystemsmoumlglich

Ada ndash Die Programmierspracheohne UumlberraschungenAda wird oft als Sprache ohne Uumlberra-

schungen bezeichnet Mechanismen zurProgrammstrukturierung wie es sie in Adagibt also ein Objektsystem oder ein Paket-system sind sehr hilfreich wenn es darumgeht umfangreiche Programme zu schrei-ben Der Ada-Standard sieht sogenanntePragma-Restriktionen vormit denen festge-legt werden kann ob Features der Spracheausgeschlossenwerden sollenDamit lassensich interne Coding-Standards uumlberpruumlfenDieses Feature kannmanmit dem StandardMISRA-CC++vergleichen der versucht einesichere Teilmenge von C beziehungsweiseC++ zu definieren Ada bietet den Vorteildass viele Konstrukte vondenenMISRAab-raumlt gar nicht geschrieben werden koumlnnenund dank des starken Typsystems mehrUumlberpruumlfungenmoumlglich sindDie Programmiersprache Ada gibt es seit

demBeginn der achtziger Jahre Die damali-ge Version Ada 83 enthielt bereits eine guteBasis fuumlr die strukturierte undmodulare Pro-grammierung wie ein Paketsystem das dieKapselung von Daten und Algorithmen er-moumlglicht Seitdem hat sich Ada kontinuier-lich weiterentwickelt So erschien 1995 derAda-95-Standard der die Sprache um einObjektsystem erweiterte Der naumlchste Stan-dard Ada 2005 brachte Verbesserungen imUmgang mit Zeigern die als konstant oderauch als not null deklariert werden koumln-nen Das stellt vor allem eine umfangreicheErweiterungder Standardbibliothekdar dienun auch Container enthaumllt Das Objektsys-temwurde umdas Interface-Konzept erwei-

PRAxISWERT

Adacore Software-loumlsungen fuumlr AdaAdaCore wurde 1994 gegruumlndet undist der fuumlhrende Anbieter von kom-merziellen Softwareloumlsungen fuumlr Adaeiner modernen Programmiersprachefuumlr Mission-Critical-Anwendungen insicherheitskritischen UmgebungenDas wichtigste Produkt ist die Ent-wicklungsumgebung GNAT Pro dieOnline-Support bietet und auf mehrPlattformen als jede andere Ada-Tech-nologie verfuumlgbar ist Unternehmenwie Boeing HP Krauss-Maffei oderSiemens setzen AdaCore-Loumlsungenfuumlr sicherheitskritische Anwendun-gen ein Hauptsitz ist New York daseuropaumlische Headquarter ist in Paris

tert so dass nun auch Mehrfachvererbungmoumlglich istDer naumlchste Standard ist fuumlr 2012 vorgese-

hen Darin sind die aus der Programmier-spracheEiffel bekanntenVertraumlge (contracts)vorgesehen die jeder Funktion zwei Boole-scheAusdruumlcke hinzufuumlgen koumlnnen die voroder nach Ausfuumlhrung der Funktion wahrsein sollenDieseAusdruumlcke sind im Idealfalldirekt von den Anforderungen an die Soft-ware abgeleitet Sie koumlnnen als formale Do-kumentation als zusaumltzlicheUumlberpruumlfungenzur Laufzeit oder als Ausgangspunkt fuumlr sta-tische Analysen dienen Eine weitere Neue-rung ermoumlglicht dieDefinition vonTypenmitso genannten Invarianten Damit sind Boo-lesche Ausdruumlcke gemeint die fuumlr Wertedieses Typs immer wahr sind Schlieszliglichgibt es viele andereWeiterentwicklungenwieeine Python-aumlhnliche Syntax zur Iterationuumlber Container und Verbesserungen implattformuumlbergreifenden Umgang mit ne-benlaumlufigen Prozessen und Multiprozesso-ren hEh

AdaCore +33(1)4970 6716

ProgrammiersPrachen SiCHERE SOfTwARE

21

Adacore-Entwicklungswerkzeuge

Ada Deutschland

InfoClick

wwwelektronikpraxisde infoclick 3343168

Bei unsbewegtsich was

Webcasts aufwwwelektronikpraxisde

Finden Sie die Loumlsung fuumlr IhrProblem ndash als Video oderAudiodatei

Beispiele fuumlr Webcasts

Anwendungsbeschreibungenkomplexer erklaumlrungsbeduumlrftigerProdukte

anwendungs- und loumlsungsorien-tierte Produktpraumlsentationen

vertonte Powerpointpraumlsentati-onen ProduktanimationenExperteninterviews oderMesseberichte

Online-SeminareOnline-Konferenzen

Schauen Sie doch mal rein---gt wwwelektronikpraxisde

CAST

wwwvogelde

0726

4

22

EmbEddEd-SyStEmE Software-architektur

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Von der impliziten zur explizitenSoftware-Architektur

Im Bereich der Unternehmenssoftware ist das Festlegen einer Soft-ware-Architektur heutzutage Standard doch bei der Embedded-Ent-

wicklung wird dieser Aspekt haumlufig noch vernachlaumlssigt

MIchAEL STuRM chRISTIAN hOcK

Dr Michael Sturm leitet die Abteilung Softwarepro-dukte im Geschaumlftsbereich Industrybei der Berner amp Mattner Systemtech-nik in Muumlnchen

Dr christian hock ist verantwortlich fuumlr die strate-gische Ausrichtung des Geschaumlfts-bereiches Industry bei der Berner ampMattner Systemtechnik in Muumlnchen

Eine dokumentierte Software-Architek-tur hat klare Vorteile Produkte sindanpassungsfaumlhiger und zukunftssiche-

rer Auszligerdem erleichtert das Wissen umSchnittstellen Kommunikationsbeziehun-genundRessourcen einzelner Komponentenderen Anpassung an neue Hardwarebedin-gungenundFunktionsanforderungenNichtnur beiNeuentwicklungen sondern auchbeiModernisierungen bestehender Embedded-Loumlsungen lohnt es sich einen Software-Ar-chitekten einzubinden um Weiterentwick-lungenauf ein zukunftssicheres Fundamentzu stellen

Begruumlndete Technologie-entscheidungen treffenUnter Software-Architektur versteht man

die strukturierteAnordnungderKomponen-ten eines Systems mit Informationen zurKommunikation zwischen den Komponen-ten sowie deren Abbildung auf Hardware-oder Softwareressourcen Eine fruumlhzeitigeundprojektbegleitendeUnterstuumltzungdurcheinen den einzelnen Entwicklerteams moumlg-lichst neutral gegenuumlberstehendenSoftware-Architekten ist die ideale Loumlsung EineReihevon Aufgaben kann man dieser Instanz zu-ordnen in vielenBereichengeht es aber aucheinfach umModerationEine zentraleAufgabeder EmbeddedSoft-

ware-Architektur ist es nicht nur die funkti-onalen Anforderungen an die Software zuberuumlcksichtigen sondern auch nichtfunkti-

in seiner Loumlsungsfindung eingeschraumlnktsein Bewaumlhrte Loumlsungsansaumltzewerdendannoft unhinterfragt wiederholt Neue moumlgli-cherweise besser geeignete und insbesonde-re flexiblere Technologienbleibenunberuumlck-sichtigt

Zusammenhaumlnge muumlssennachvollziehbar bleibenDaher kannes zumBeispiel zudenAufga-

ben eines Software-Architekturteams oderexternen Beraters gehoumlren neue Technolo-

Groszliges Vorbild Softwaresysteme lassen sich hinsichtlich ihrer Komplexitaumlt mit Gebaumluden wie Antoni Gau-diacutes Kirche Sagrada Familia in Barcelona vergleichen Eine in sich schluumlssige Architektur ist deshalb auch imSoftwarebereich unerlaumlsslich

iStockph

otoham

ishBa

rrie

onale Anforderungen zu erfassen und zwarvor dem Hintergrund einer Lifecycle-Prog-nose Unter diese nichtfunktionalen Anfor-derungen fallen so komplexe Punkte wieWartbarkeit Modifizierbarkeit Skalierbar-keit Portierbarkeit Konnektivitaumlt Benutz-barkeit Zuverlaumlssigkeit Sicherheit Perfor-mance Effizienz oder TestbarkeitSo vorteilhaft ein eingespieltes Entwick-

lerteam fuumlr die Kommunikation ist so sehrkann es auch durch die Erfahrung aus Vor-gaumlngerprojekten oder aumlhnlichen Projekten

23

EmbEddEd-SyStEmE Software-architektur

gien zu evaluieren und auf Eignung fuumlr Pro-jekte zu pruumlfen sowie neue Toolsets zur Ver-fuumlgung zu stellen Kuumlnftig benoumltigteKompo-nenten muumlssen identifiziert werden undwenn es darum geht fuumlr einzelne Kompo-nenten optionale Technologien vorzuschla-gen bewaumlhrt sich haumlufig das Einschalteneines neutralen ArchitekturbeauftragtenEs geht um die Diskussion von Design-

Entscheidungen dieDefinition vonSchnitt-stellen und die Entwicklung von CodingConventions Unter der Moderation einesSoftware-Architekten erfolgen diese Ent-scheidungen bewusster und werden besserdokumentiert Nur sobleibendie Zusammen-haumlnge innerhalb eines Systems auch fuumlr Ent-wickler nachvollziehbar die spaumlter einmalan ihm arbeitenmuumlssen und nichts von denimplizitenAnnahmenund teaminternenGe-pflogenheiten seiner Schoumlpfer wissen

Implizite Architekturen sindimmer vorhandenIn der taumlglichen Praxis der Embedded-

Entwicklung sieht es leidermeist anders ausZeit- und Kostendruck verhindern oft dassGedankenundArbeit in eine systematisierteSoftware-Architektur flieszligen Hier koumlnnenSoftwarearchitekten auchdurchdieAuswahlgeeigneter Methoden und Tools weiter hel-fen So kann die dynamische Entwicklungheutiger Industrieproduktemit agilenAnsaumltzenunterstuumltztwerdenAuch einstrikt modellbasierter Entwicklungs-ansatz also die Modularisierung mitklar definierten Schnittstellen ist einMittel um einen hohen Reifegrad zuerreichen Die Vorteile dieses Vorge-henshaben sich in vielenProjektenbeiBerner amp Mattner in der Entwicklungvon Funktionserweiterungen gezeigtDank des modellbasierten Ansatzeskonnten diese mit minimalem Auf-wand realisiertwerdenndashunddies ins-besondere auch von urspruumlnglichnicht beteiligten EntwicklernAber Fakt ist Jedes Softwaresystem

hat eineArchitektur auchwenndiesenicht explizit modelliert wurde Ent-stehendiese Strukturenungeplant ausder Dynamik der Komponentenent-wicklung heraus tut dies der Funkti-onalitaumlt der Software zunaumlchst keinenAbbruch Probleme treten erst spaumlterauf wenn es umWartung Skalierungoder Portierung gehtImNachhinein raumlcht sichdann zum

Beispiel die Wahl einer bestimmtenProgrammiersprache oder einerSchnittstelle die unter dem Zeit- undKostendruck imEntwicklungsprozess

schnell und dazu noch undokumentiert ge-troffenwurdeDieKommunikation zwischeneinzelnen nicht klar getrenntenKomponen-ten war moumlglicherweise nur oberflaumlchlichgeloumlst anstatt schon bei derWahl der Tech-nologien und Sprachen darauf zu achtenReibungspotenziale zu minimieren

Zu enge Abhaumlngigkeiten vonder Hardware vermeidenWird ein Softwareprojekt nicht in Bezug

auf seinengesamtenLebenszyklus gesehenbesteht bei Embedded-Projekten auch dieGefahr dass ungewollteAbhaumlngigkeiten zurEntwicklungs-Hardware entstehen Die An-passung an neue Hardwaregenerationenkann dadurch sehr aufwaumlndig oder gar un-moumlglich werdenEine klar strukturierte unddokumentierte

Software-Architektur wird erst dann ver-misst wenn es bei der notwendigenWeiter-entwicklung Fragen und Schwierigkeitengibt Oft sollen wesentliche Teile der Soft-ware beibehalten aber zum Beispiel an einneuesBenutzerinterface angeschlossenwer-denManchmal ist der Controller fuumlr den siegeschrieben wurde nicht mehr verfuumlgbarund sein Nachfolger ist anders aufgebautFunktionenmuumlssen erweitert zusammenge-fuumlhrt oder auf geaumlnderte externe Systemeangepasst werden Die Pflege oder Weiter-

PRAxISWERT

Fehler lassen sichverhinderneine klar definierte und stringenteSoftware-architektur hilft die Zusam-menhaumlnge innerhalb eines Systemsbesser zu verstehen Dies verhindertfehler und senkt nicht zuletzt denaufwand bei der eventuell noumltigenbdquoaltbausanierungldquo von embedded-Systemen

Nachtraumlgliche Analyse nuumltztwurde die Software-architektur inder embedded-entwicklung vernach-laumlssigt lohnt sich angesichts der zuerwartenden langen einsatz- und Le-benszeiten vieler embedded-Systemeauch eine nachtraumlgliche analyse undDokumentation andernfalls drohenmoumlglicherweise immer wieder unkal-kulierbare Verzoumlgerungen wenn war-tungs- oder weiterentwicklungsarbei-ten eventuell auf undokumentierteeigenheiten des Systems stoszligen

H

SIG

HPEED

ROBUST

FLEXIBLE

TriCore Power Architecturebull

XC2000XE166 SH-2A XScalebull bull

Cortex M0M3M4 Cortex R4 Cortex A8 ARM7911bull bull bull

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

24

EmbEddEd-SyStEmE Software-architektur

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Literaturhinweise[1] Pete Goodliffe code craftthe Practice of writing excellent codeNoStarch Press 2006

[2] Peter hruschka Gernot Starkeknigge fuumlr SoftwarearchitektenentwicklerPress 2012

[3] craig Larman applying uML and Pat-terns an introduction to object-orien-ted analysis and DesignPrentice hall 2004 (3 auflage)[4] Berner amp Mattner-fachartikel bdquoSoft-warearchitektur in eingebetteten Syste-menldquo ndash httpbitlyJosXYw

entwicklung eines solchen Systemswird fuumlrden Produktverantwortlichen zu einerschwer kalkulierbaren Kostenquelle vor al-lem dann wenn er nicht mehr auf den KerndesurspruumlnglichenEntwicklerteams zuruumlck-greifen kannHilfestellung in solchen Situation bieten

Spezialisten wie Berner amp Mattner die Alt-systeme analysieren bestehende Software-Architektur nachdokumentierenundmoumlgli-che Migrations- und Aumlnderungspfade iden-tifizieren Als externe Architekturberaterkoumlnnen sie unbelastet von der Softwarehis-torie untersuchen wo in der Struktur derSoftware Problemfelder liegen und Loumlsun-gen vorschlagenDerAufwand fuumlr PflegeundWeiterentwicklung laumlsst sich auf Basis einersolchen Analyse besser beurteilen

Regeln aufstellen ndash und sierichtig brechenBesonders spannend wird das Thema bei

zertifiziertenEmbeddedSystemen Einehaumlu-fige Herausforderung ist dass die Softwareoder wesentliche Teile zertifiziert sind umeinem SIL (Safety Integrity Level) zu genuuml-gen Selbstverstaumlndlich moumlchte niemanderneut eine IEC 61508-Zertifizierung durch-laufen wenn sich dies vermeiden laumlsstGluumlcklicherweise sind oft nur einzelne rele-vante Teile des Systems als sicherheitskri-tisch eingestuft Die Kunst des Architektur-beraters ist es die Stellen in der Software zufinden andenendie Schnitte angesetztwer-denkoumlnnenndashund zwar zwischenden sicher-heitskritischen Teilen und den Teilen undSchnittstellen die problemlos geaumlndertwer-den koumlnnenHierzu nutzt der Berater gaumlngige Design-

Patternswie etwaSchichtenoder bdquopipes andfiltersldquo Ironischerweisemusshaumlufig das aufdieseWeise entstandene Regelwerk die ab-geleiteteArchitektur fuumlr das eigentlicheEnt-wicklungsprojekt gleich wieder gebrochenwerden eben um zertifizierte Bestandteileunveraumlndert zu erhalten Der groszlige Unter-schied zu den bdquoRegelverletzungenldquo aus derEntstehungszeit der urspruumlnglichen Soft-

ware liegt aber darin dass sie nun ausfuumlhr-lich dokumentiert werdenEs waumlre ein Missverstaumlndnis Software-

Architektur als ein unveraumlnderliches Doku-ment zu verstehen das man nur selten wie-der in die Hand nimmt Es sollte bei jederArbeit an der Software gelesen und gepflegtwerden Ohne dieses lebendige Dokumentwerden Architekturverstoumlszlige oft gar nichtbemerkt Vereinbarungen zu ArchitekturCodingConventions Schnittstellen etcwer-dendadurch fuumlr denEntwickler verbindlich

Architektur muss als Prozessverstanden werdenDer Auftraggeber erhaumllt so ein Embedded

System dessen Pflege er in die Haumlnde einesneuenTeamsgebenkannDie nun freigewor-denen Spezialisten die es erstellt habenkoumlnnen getrost an anderer Stelle eingesetztwerdenDabei gilt Software-Architektur endet nie

DennauchvondenEntwicklern einzusetzen-deDesign-Methodenwie zumBeispiel ObjectOrientedAnalysis andDesign (OOAD)habenklare Strukturen und die Trennung von Zu-

staumlndigkeiten zum Ziel - das ist eindeutigArchitekturEine klare Software-Architektur hilft die

Zusammenhaumlnge innerhalb eines Systemsbesser zu verstehen Dies verhindert Fehlerund senkt den Aufwand bei der bdquoAltbausa-nierungldquo von Embedded Systemen Wurdedie Software-Architektur in der Embedded-Entwicklung vernachlaumlssigt lohnt sich an-gesichts langer Einsatz- und Lebenszeitenvieler EmbeddedSystemeauchdie nachtraumlg-liche Analyse und Dokumentation Andern-falls drohen immer wieder unkalkulierbareVerzoumlgerungen wenn Wartungs- oder Wei-terentwicklungsarbeiten auf undokumen-tierte Eigenheiten des Systems stoszligen Beistark eingefahrenen Teams bzw zum Wis-sensaufbaubietet sichhier ein externer Soft-warearchitekt anDie meisten Fehler durch menschliches

Versagen entstehen dort wo wir nicht ver-stehen woran wir bdquoschraubenldquo Eine expli-zite Architektur traumlgt maszliggeblich dazu beidieWirkketten innerhalb komplexer Systemetransparent zu machen Mit diesem Wissenwerden erforderliche Aumlnderungen wesent-lich schneller bewertet und zuverlaumlssig rea-lisiert FG

Berner ampMattner +49(0)89 6080900

Zusammenhaumlnge verstehen Explizite Software-Architektur traumlgt maszliggeblich dazu bei die Wirkungs-zusammenhaumlnge komplexer Systeme anschaulich und transparent zu machen

iStockph

otoSirgunhik

Lebenslaumlnglich Software-architekturdesign

requirements engineering fuumlr embedded-Systeme

InfoClick

wwwelektronikpraxisde InfoClick 3343141

25

Kolumne

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

Mit Fragen zum ProjekterfolgPETER SIwON

Heute stelle ich Ihnen ein Wundermit-tel vormit demSie inProjekten vielEnergie Zeit und Geld sparen

Gleichzeitigmotiviert es IhreMitarbeiter DerEinsatz des Wundermittels hat sehr viel mitdem BuchstabenWwieWunder zu tun DasBeste daran Es kostet nichts undSie kennenes alle DasWundersameandiesemWunder-mittel ist allerdings dass es trotzdem zu sel-ten eingesetzt wird Ich gebe Ihnen noch einpaar TippsWie kommenSie ameffektivstenan Informationen Wie erfahren Sie amschnellstenwas andereMenschendenkenWie findenSie amschnellstenLoumlsungenDieAntwort lautet FragenUnddie beginnenoftmit wo wie wann oder wer Vielleicht sindSie jetzt uumlber diese simple Antwort ent-taumluscht nachdem ich Ihnen den Mund mitallerlei Wunderversprechungen waumlssrig ge-macht habe An dieser Stelle koumlnnten Siespaszligeshalber auf das Themaeinsteigenundfragen bdquoWie kommen Sie darauf diese Me-thode alsWundermittel zu bezeichnenldquo Siekoumlnnten aber auchgelangweilt denken bdquoWeiszligschon offene Fragen stellenldquo und aufhoumlrenzu lesen Sind Sie sich ganz sicher dass Siealle meine Argumente kennen Das ist zwaretwasmanipulativ abermit dieser Fragebrin-ge ich Sie immerhindazu IhrenStandpunktzu hinterfragen Vielleicht lautet die so pro-vozierteAntwort bdquoNaja eigentlichbin ichmirnicht sicherldquo ndash und Sie lesen doch weiterDas Praktische an solchenFragen ist dass

Sie sich von Ihrer eigenen Antwort in derRegel besser uumlberzeugen lassen Ichhaumltte Sieauch schulmeisterlich zu IhremGluumlck zwin-gen koumlnnen bdquoSie muumlssen weiterlesen weilichweiszlig dass Sie noch jedeMengeWichtigeserfahren das Sie unmoumlglich wissen koumln-nenldquo Dasmache ich aber nicht weil ich dieNachteile kenne 1 Siemuumlssen gar nichts 2Wenn Sie muumlssen dann wollen Sie nichtIhre Motivation ist gering 3 Woher will ichwissen obSie nichtmehr uumlber dieKunst desFragens wissen als ich selbst Damit die ge-rade so schoumln erzeugte Motivation nichtgleichwieder auf demAltarmeines Egos ge-opfert wird spare ichmir PseudofragenwiebdquoHab ichs Ihnennicht gleich gesagtldquo Statt-dessen bedanke ich mich bescheiden fuumlrIhreBereitschaftweiterzulesen Ich gebe zudas faumlllt mir manchmal schwerGeschriebener Text schraumlnkt dieMoumlglich-

keiten etwas einDarumstellen Sie sichbitte

die obenangedeutete Szene als persoumlnlichesGespraumlch vor In diesem Fall koumlnnte ich ausdem W-Vollen schoumlpfen Wenn Sie mir zuverstehen geben dass Sie sich selbst schonmit dem Thema befasst haben dann werdeich Sie beispielsweise fragen bdquoDas freutmich Welche Erfahrungen haben Sie ge-machtldquo oder bdquoWas wuumlrden Sie aus IhrerErfahrung empfehlenldquo Jetzt habe ich dieChance etwas von Ihnen zu lernen Gleich-zeitig spare ich Energie und Uumlberzeugungs-arbeit weil ich einfach nur zuhoumlre Ich wer-de IhreAussagendurchRuumlckmeldungenwiebdquointeressantldquo oder bdquoDa stimme ich Ihnen zuldquounterstreichen Mit meinen Fragen will ichnicht beweisen dass ich der Schlauere binsondern dass Fragen ein echtesWundermit-tel sind Durch interessiertes Nachfragenkann ich Ihnen dabei helfen neue Aspektezu entdecken Was tue ich wenn ich eineandere Meinung habe Statt Geschuumltze wiebdquoJa aberhellipldquo oder bdquoNein das kann nicht seinweilhellipldquo aufzufahren umSie rhetorisch abzu-wuumlrgen oder zu knebeln ist es erheblichnuumltzlicher die Hintergruumlnde Ihrer Darstel-lungdurchFragenherauszufinden Falls Siefalsch liegen kommen Sie vielleicht durchdenVersuchmeine Fragen zubeantwortenselbst dahinter Ich spare mir dann die an-strengende Prozedur der Gegenargumenta-tion Dann werde ich uns beide dazu be-gluumlckwuumlnschen dass wir unser Wissen ge-meinsam bereichert haben ndash denn genauso

ist es Sollte ich derjenige sein der falschliegt kann ich dazulernen ohne mir eineBloumlszlige zu gebenJetzt stellen Sie mir da ich mich als Fra-

genfreundgeoutet habe eine Fragewie bdquoWaswuumlrdenSie tunwenneinunselbststaumlndigerMitarbeiter staumlndig fragt was er tun sollldquoIch wuumlrde wie sollte es anders sein post-wendendeineGegenfrage stellen bdquoWas glau-ben Sie wuumlrde ich tunldquo und Ihnen damitschon die Antwort in den Mund legen fra-gen Tolle Fragen in solchen Situationensind Was haben Sie oder andere in aumlhnli-chen Situationen getan Warum glaubenSie hat es bisher nicht funktioniertldquo Da-nach bringe ich hoffentlich die Geduld fuumlrzweiVerhaltensweisen auf die fuumlr denErfolgeiner Frage wichtig sind Erstens halte ichden Mund um Ihnen Zeit zum NachdenkenzugebenAlsGefragter habenSie es naumlmlichnicht leicht Sie denkennun zuerst uumlbermei-ne Frage und dann uumlber Ihre Antwort nachWenn ich waumlhrend Sie gruumlbeln die Frageselbst beantworte oder noch eine Frage hin-terher schieszlige habe ich alles verdorben Ichzaumlhle also im Kopf bis 5 um diese Falle zuvermeiden Zweitens zeige ich Ihnen wennSie antworten durchAugenkontakt Nickenkurze Ruumlckmeldungen und Verstaumlndnisfra-gen mein Interesse Aktives Zuhoumlren ist diebeste Gewaumlhr dafuumlr dass mir nichts Wichti-ges entgeht und es ist ein Zeichen groszligerWertschaumltzung So gewinne ichdurchFragenund Zuhoumlren Ihre Sympathie Das Wundervollzieht sich also in drei Schritte FragenWarten Zuhoumlren Wenn Sie auf diese Weiseeine gute Idee finden goumlnne ich Ihnen IhrErfolgserlebnis und sage so etwas wie bdquoSu-per das houmlrt sich interessant anldquo Und ichlege gleichnoch eine Frage als ZugabedraufbdquoWannglaubenSiewerdenSie die Idee aus-probierenldquo Diese nachgeschobene Fragehat gegenuumlber einer Aufforderungwie bdquoPro-bieren Sie es doch morgen gleich ausldquo dengroszligen Vorteil dass ich so Ihr Gefuumlhl derEigenverantwortung erhalte bzw foumlrdere IchbeendediesenkurzenAusflug indieWelt derW-Wunder wie auch sonst mit einer FrageHaben Sie Interesse zum Thema Fragetech-nikenWollen Sie eine kostenlose Checklis-te zu Fragetechniken Dann senden Sie mirbitte eine E-Mail an psiwondie-menschli-che-Seitede hEh

Mit Fragen zum Projekterfolg Peter Siwon beschaumlf-tigt sich seit mehr als 20 Jahren mit den ThemenGehirn und Psyche im Zusammenhang mit derProjektarbeit in technischen Berufen

InfoClick 3370352

26 ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

RedaktionChefredakteur Johann Wiesboumlck (jw) ViSdP fuumlr die redaktionellen InhalteRessorts Zukunftstechnologien Kongresse Kooperationen Tel (09 31) 4 18-30 81Chef vom dienst Peter Koller (pk) Tel (09 31) 4 18-30 98Verantwortlich fuumlr dieses Sonderheft Franz Graser Tel -30 92Redaktion Muumlnchen Tel (09 31) 4 18-Franz Graser (fg) Prozessor- und Softwarearchitekturen Embedded Plattformen Tel -30 92Martina Hafner (mh) Produktmanagerin Online Embedded Software Engineering KongressTel -30 82Hendrik Haumlrter (heh) Messtechnik Testen EMV Medizintechnik Laborarbeitsplaumltze DisplaysOptoelektronik Embedded Software Engineering Tel -30 92Holger Heller (hh) ASIC Entwicklungs-Tools Embedded Computing MikrocontrollerProzessoren Programmierbare Logik SOC Tel -30 83Gerd Kucera (ku) Automatisierung Bildverarbeitung Industrial Wireless EDALeistungselektronik Tel -30 84Thomas Kuther (tk) Kfz-Elektronik Stromversorgungen Oszillatoren Passive BauelementeTel -30 85Kristin Rinortner (kr) Analogtechnik Mixed-Signal-ICs Elektromechanik Relais Tel -30 86Margit Kuther (mk) Bauteilebeschaffung Distribution Beruf amp Karriere Tel (0 81 04) 6 29-7 00Freie Mitarbeiter Prof Dr Christian Siemers FH Nordhausen und TU Clausthal Peter SiwonMicroConsult Sanjay Sauldie EIMIA Hubertus Andreae dreiplus praxisbegleitendeInnovationsfoumlrderungVerantwortlich fuumlr die Fed-news Dr Stephan Weyhe FED Alte Jakobstr 8586 D-10179 BerlinTel (0 30) 8 34 90 59 Fax (0 30) 8 34 18 31 wwwfeddeRedaktionsassistenz Eilyn Dommel Tel -30 87RedaktionsanschriftMuumlnchen Grafinger Str 26 81671 Muumlnchen Tel (09 31) 4 18-30 87 Fax (09 31) 4 18-30 93Wuumlrzburg Max-Planck-Str 79 97082 Wuumlrzburg Tel (09 31) 4 18-24 77 Fax (09 31) 4 18-27 40LayoutMichela Deppe Joachim Haselmann Carolin Frank Sigrid Rau Meike Herkersdorf Mar-kus Mager

eLektRonikPRaXiS ist organ des Fachverbandes elektronik-design eV (Fed)Fed-Mitglieder erhalten eLektRonikPRaXiS im Rahmen ihrer Mitgliedschaft

VeRLagVogel Business Media GmbH amp Co KG Max-Planck-Straszlige 79 97082 WuumlrzburgPostanschriftVogel Business Media GmbH amp Co KG 97064 WuumlrzburgTel (09 31) 4 18-0 Fax (09 31) 4 18-28 43BeteiligungsverhaumlltnisseVogel Business Media Verwaltungs GmbHKommanditistin Vogel Medien GmbH amp Co KG Max-Planck-Straszlige 79 97082 Wuumlrzburggeschaumlftsfuumlhrung Stefan Ruumlhling (Vorsitz) Florian Fischer Ernst Haack Guumlnter SchuumlrgerPublisher Johann Wiesboumlck Tel (09 31) 4 18-30 81anzeigenleitung Franziska Harfy Tel (09 31) 4 18-30 88Fax -30 93 Grafinger Str 26 81671 Muumlnchen franziskaharfyvogeldeanzeigenverkauf Wuumlrzburg Tel (09 31) 4 18- Fax (09 31) 4 18-28 43Susanne Muumlller Tel -23 97 susannemuellervogeldekey-account-Manager Tel (09 31) 4 18- Fax (09 31) 4 18-28 43Hans-Juumlrgen Schaumlffer Tel -24 64 hansschaeffervogeldeClaudia Fick Tel -30 89 Fax -30 93 Grafinger Str 26 81671 Muumlnchen claudiafickvogeldeMarketingleitung Elisabeth Ziener Tel (09 31) 4 18-26 33auftragsmanagement Claudia Ackermann Tel (09 31) 4 18-20 58 Maria Duumlrr Tel (09 31) 4 18-22 57anzeigenpreise Zur Zeit gilt Anzeigenpreisliste Nr 47 vom 01 01 2012Vertrieb Leser- und abonnenten-Service DataM-Services GmbHFranz-Horn-Straszlige 2 97082 Wuumlrzburg Thomas Schmutzler Tel (09 31) 41 70-4 88 Fax -4 94tschmutzlerdatam-servicesde wwwdatam-servicesdeerscheinungsweise 24 Hefte im Jahr (plus Sonderhefte)

Verbreitete auflage 40009 Exemplare (IVWEDA Audit Oktober 2011)Angeschlossen der Informationsgemeinschaft zur Feststellung der Verbreitung von Wer-betraumlgern Sicherung der AuflagenwahrheitBezugspreis Einzelheft 900 EUR Abonnement Inland jaumlhrlich 19700 EUR inkl MwSt

Abonnement Ausland jaumlhrlich 22820 EUR (Luftpostzuschlag extra) Alle Abonnementpreiseverstehen sich einschlieszliglich Versandkosten (EG-Staaten ggf +7 USt)Bezugsmoumlglichkeiten Bestellungen nehmen der Verlag und alle Buchhandlungen im In- undAusland entgegen Sollte die Fachzeitschrift aus Gruumlnden die nicht vom Verlag zu vertretensind nicht geliefert werden koumlnnen besteht kein Anspruch auf Nachlieferung oder Erstattungvorausbezahlter Bezugsgelder Abbestellungen von Voll-Abonnements sind jederzeit moumlglichBankverbindungen HypoVereinsbank Wuumlrzburg (BLZ 790 200 76) 326 212 032SWiFt-Code HY VED EMM 455 IBAN DE65 7902 0076 0326 2120 32Herstellung Andreas Hummel Tel (09 31) 4 18-28 52Frank Schormuumlller (Leitung) Tel (09 31) 4 18-21 84druck Vogel Druck und Medienservice GmbH 97204 Houmlchbergerfuumlllungsort und gerichtsstandWuumlrzburgManuskripte Fuumlr unverlangt eingesandte Manuskripte wird keine Haftung uumlbernommenSie werden nur zuruumlckgesandt wenn Ruumlckporto beiliegtinternet-adresse wwwelektronikpraxisde wwwvogeldedatenbank Die Artikel dieses Heftes sind in elektronischer Form kostenpflichtig uumlber dieWirtschaftsdatenbank GENIOS zu beziehen wwwgeniosde

VeRLagSBuumlRoSVerlagsvertretungen inLand Auskunft uumlber zustaumlndige VerlagsvertretungenJens Otte Tel (09 31) 4 18-26 47 Fax (09 31) 4 18-28 57 jensottevogeldeaUSLand Belgien Luxemburg Niederlande SIPAS Peter Sanders Sydneystraat 105 NL-1448NE Purmerend Tel (+31) 299 671 303 Fax (+31) 299 671 500 petersandersvogeldeFrankreich DEF amp COMMUNICATION 48 boulevard Jean Jauregraves 92110 ClichyTel (+33) 14730-7180 Fax -0189groszligbritannien Vogel Europublishing UK Office Mark Hauser Tel (+44) 800-3 10 17 02Fax -3 10 17 03 markhausercomcastnet wwwvogel-europublishingcomUSaCanada VOGEL Europublishing Inc Mark Hauser 3321 Ashbourne CircleSan Ramon CA 94583 Tel (+1) 9 25-6 48 11 70 Fax -6 48 11 71

Copyright Vogel Business Media GmbH amp Co KG Alle Rechte vorbehalten Nachdruck digitale Verwendung jederArt Vervielfaumlltigung nur mit schriftlicher Genehmigung der Redaktion Fotokopieren veroumlffentlichter Beitraumlge istgestattet zu innerbetrieblichen Zwecken wenn auf jedes Blatt eine Wertmarke der Verwertungsgesellschaft WortAbt Wissenschaft in 80336 Muumlnchen Goethestraszlige 49 nach dem jeweils geltenden Tarif aufgeklebt wird Nachdruckund elektronische Nutzung Wenn Sie Beitraumlge dieser Zeitschrift fuumlr eigene Veroumlffentlichung wie Sonderdrucke Websi-tes sonstige elektronische Medien oder Kundenzeitschriften nutzen moumlchten erhalten Sie Information sowie dieerforderlichen Rechte uumlber httpwwwmycontentfactoryde (09 31) 4 18-27 86

Impressum

EDA

Wuumlrzburg 19 ndash 20 Juni 2012Vogel Convention CenterVCC

wwwsteckverbinderkongressde

Anwender sprechenmit Herstellern

Kongress und Tabletop-Ausstellung

Programm Unter wwwsteckverbinderkongressdefinden Sie die ausfuumlhrliche Agenda

Keynote Herausforderung Miniaturisierung ndash ZukuumlnftigeAnforderungsprofile bei Steckverbindern

Themen Applikationsspezifische Steckverbinder Kompakt-Steckverbinder fuumlr hohe Datenraten

Miniaturisierung Intelligente Steckverbinder Steckverbinder fuumlr besondere Anwendungen Qualifizierung Werkstoffe Verarbeitungsprozesse

Workshops Umspritzen von Kabeln Abdichten von Steckverbindungen Messtechnik Thermosimulation Design-in 3-D-Modellierung Schadensanalytik Beschichtungsverfahren

Aumlnderungen vorbehalten

Saumlmtliche Informationen zur Veranstaltung finden Sie unter---gt wwwsteckverbinderkongressde

Veranstalter

in Zusammenarbeit mit den Industriepartnern

07908

Alle Informationen unter wwwese-kongressde

Hauptsponsoren 2012 Veranstalter

20123ndash 7 Dezember 2012 in Sindelfingen

bdquoWissen ist das einzige Gutdas sich vermehrtwenn man es teiltldquo

(Marie Freifrau von Ebner-Eschenbach oumlsterreichische Schriftstellerin)

ESE Kongress ndash Ideen entwickeln Profis treffen Loumlsungen findenDer Embedded Software Engineering Kongress mit uumlber 800 Teilnehmern ist die groumlszligte deutschsprachigeVeranstaltung die sich ausschlieszliglich der Entwicklung von Geraumlte- Steuerungs- und Systemsoftware fuumlrIndustrie Kfz Telekom sowie Consumer- und Medizintechnik widmet Vom 3 bis 7 Dezember trifft sichdie Embedded-Software-Branche wieder in Sindelfingen ndash wir freuen uns auf Sie

Aussteller und Sponsoren 2012Axivion BBV Software Services dSPACE EASYCODE ELEKTRONIKPRAXIS emlix ETAS Fraunhofer IESEGreen Hills Software Hitex IAR Systems IMACS Infineon Intland Software iSYSTEM Lauterbach LDRALogic Technology linutronix macio MicroConsult National Instruments Noser Engineering Parasoftpls Programmierbare Logik amp Systeme Protos pure-systems QA Systems QNX Software Systems SafeTRANSseppmed Software Quality Lab SparxSystems Vector Informatik Vector Software Verifysoft Technology WillertSoftware Tools Zuumlhlke

Seit 30 Jahren vertrauen weltweit fuumlhrende Firmen Green Hills Softwarersquos sicherer undzuverlaumlssiger Software fuumlr sicherheitskritische Systeme

Fuumlr Luftfahrt- und Automobilindustrie fuumlr Telecom- Medizin- und Industrietechniksowie fuumlr intelligente Energienetze hat Green Hills Software erprobte und zuverlaumlssigeTechnologie geliefert

Wenn Sie wissen moumlchten wie eines der weltweit sichersten und zuverlaumlssigstenBetriebssysteme und dessen Entwicklungstools das Risiko aus Ihrem naumlchstenProjekt nehmen kann besuchen Sie uns unter wwwghscoms4e

Copyright copy 2012 Green Hills Software Green Hills Software and the Green Hills logo are registered trademarks ofGreen Hills Software All other product names are trademarks of their respective holders

Vertrauenswuumlrdige softwarefuumlr embedded deVices

safereliable

secure

  • Seite 1
  • Seite 2
  • Seite 3
  • Seite 4
  • Seite 5
  • Seite 6
  • Seite 7
  • Seite 8
  • Seite 9
  • Seite 10
  • Seite 11
  • Seite 12
  • Seite 13
  • Seite 14
  • Seite 15
  • Seite 16
  • Seite 17
  • Seite 18
  • Seite 19
  • Seite 20
  • Seite 21
  • Seite 22
  • Seite 23
  • Seite 24
  • Seite 25
  • Seite 26
  • Seite 27
  • Seite 28
Page 2: Securityineingebetteten Softwaresystemenfiles.vogel.de/vogelonline/vogelonline/issues/ep/2012/...Securityineingebetteten Softwaresystemen Angreifer nehmen Industriesteuerungen,Stromnetzeund

3

editorial

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

Entwickler spuumlren die Nachbebenvon Stuxnet Duqu amp Co

Januar 2008 Ein polnischer Schuumllerverwandelt die Straszligenbahnder StadtLodz in seine persoumlnliche Modellei-

senbahn Er baut ein Geraumlt das wie eineTV-Fernbedienungaussieht undbenutztes um die Weichen der Tram nach eige-nem Gusto zu stellen Einige Wagen ent-gleisen zwoumllfMenschenwerden verletztApril 2009 Cyberspione vermutlich

aus China Russland und anderen Laumln-dern infiltrieren das US-Stromnetz DieUSAhaben nochGluumlck denn die Attackediente wohl nur dazu die Infrastrukturzu kartografierenWenn sie es darauf ab-gesehenhaumltten dannhaumlttendieAngreiferimmensen Schaden anrichten koumlnnenJuni 2010 Der Wurm Stuxnet greift

SCADA-Systeme (Supervisory Control andData Acquisition) von Siemens an dieIndustrieanlagen steuern Stuxnet gilt alserster Software-Schaumldling mit einemRootkit fuumlr PLCs Die Attacke schaumldigtprimaumlr iranische NukleareinrichtungenSeptember 2011 Der Wurm Duqu wird

entdeckt Es scheint sich umeineVarian-te von Stuxnet zu handeln die vor allemIndustriesteuerungen ausspaumlhtDiese Liste lieszlige sich noch fortsetzen

Klar ist aber Eingebettete Systeme gera-ten immer staumlrker ins Visier von Angrei-

bdquoMitunter wird es Angrei-fern und Datendieben zueinfach gemacht ihremdestruktiven Werk nach-zugehenldquo

Franz Graser Redakteurfranzgraservogelde

fern die nichts Gutes im Schilde fuumlhrenUnd anders als imPC-BereichwoAntivi-renprogramme und regelmaumlszligige Sicher-heits-Updates unverzichtbar gewordensind sindEmbeddedSystems gegenuumlberAttackenoft schutzlos DennaufgrundderRessourcenknappheit in der Embedded-Welt konzentrieren sich Entwickler aufdie Funktionalitaumlt ihrer AnwendungNatuumlrlich gibt es gegen diese Bedro-

hung kein Allheilmittel Aber mitunterwird es denAngreifern zu leicht gemachtihremzerstoumlrerischenWerknachzugehenPufferuumlberlaumlufe bilden zum Beispiel be-ruumlchtigte Einfallstore FehlendePlausibi-litaumltspruumlfungen fuumlhren dazu dass Datenoder Anwendungen verseucht werdenkoumlnnen Ein Systemdesign das diese Ri-siken minimiert ist zwar noch nicht un-verwundbar Aber damit waumlre schon vielgewonnen

Herzlichst Ihr

wwwkeilcom+49 89 456040-20

The complete developmentenvironment forARMreg

processor-basedmicrocontrollers

4

Inhalt

ElEKtROnIKPRaXIS Embedded Software Engineering Report Juni 2012

SchwerpunkteTest und Qualitaumltssicherung

6 Mutationstest ndash Plaumldoyer fuumlr eine vernachlaumlssigteTesttechnikBei Mutationstests wird die zu testende Software mutiertalso veraumlndert Danach wird gepruumlft ob die vorhandenenTestfaumllle diese Mutation aufdecken Die Methode hilft zumBeispiel dabei Testfallmengen zu bewerten

Softwaresicherheit10 Die drei Gesichter der Sicherheit

Der zweite Teil der Serie fasst Expertenmeinungen zumThema Security im Embedded-Umfeld zusammen Im Mit-telpunkt stehen unbefugte Zugriffe sowie gezielte Angriffeauf Embedded-Systeme

Software-DesignTiTelTheMa

14 Grundlagen der Sicherheit bei embedded-SoftwareSchutzmechanismen auf Hardware- und Betriebssytemebe-ne gegen Angriffe von auszligen reichen nicht aus Deswegenmuumlssen Embedded-Entwickler bei der Planung ihrer Appli-kationen auch Security-Aspekte beruumlcksichtigen

Systementwurf18 audiodaten drahtlos mit licht uumlbertragen

Audiosignale mit Laser oder High-Power-LED uumlbertragenWir stellen eine Schaltung vor die Audiosignalein groszligen Raumlumen mit hoher Funkbelastung sichertransportiert

Programmiersprachen20 Stabile Systeme mit der Programmiersprache ada

Die Programmiersprache Ada eignet sich insbesonderefuumlr sicherheits- und missionskritische Software und istinsbesondere im Luft- und Raumfahrtsektor verbreitet Wirstellen die Sprache und die Programmierumgebung vor

Software-Architektur22 Von der impliziten zur expliziten architektur

Im Embedded-Bereich ergibt sich sich die Software-Architektur mitunter ad hoc Der Beitrag gibt Hinweise undTipps darauf wie sich eine solche implizite Architektursystematisieren laumlsst

SofTware-DeSiGn

Security-Grundlagen fuumlrEmbedded-SoftwareEingebettete Softwaresysteme insbesondereSCADA-Systeme (Supervisory Control and Data Ac-quisition) die Industrieanlagen Verkehrsnetze oderKraftwerke steuern sind ins Visier von Hackern undAngreifern geraten Viele Attacken nutzen gezieltSchwachstellen in den Embedded-Anwendungenaus Diese Sicherheitsluumlcken gilt es schon vorab zustopfen Der Embedded-Spezialist David Kalinskyzeigt die wichtigsten Grundsaumltze auf

14

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

Kolumne25 Mit Fragen zum Projekterfolg

Wer nicht fragt erfaumlhrt nichts Diese Binsenweisheit laumlsstsich auch auf die Arbeitswelt und die Embedded-Entwick-lung uumlbertragen Fragen Sie Und fragen Sie richtig

RubRiKen3 Editorial

13 Aktuelles

26 Impressum

Titelbild Siemens-Pressebild PSDgraphics

10 Die drei Gesichter derSystemsicherheit

20 Ada Musterschuumller inSachen Sicherheit

18 Drahtlose Audio-Uumlbertra-gung mit Licht

22 Architektur macht Syste-me auf Dauer wartbar

Das Magazin als E-Paper lesenwwwelektronikpraxisdeepaper

Folgen Sie uns auf Twitterwwwtwittercomesesoftwarenews

Der ESE Kongresswwwese-kongressde

demousercomVertrieb von Elektronikbauelementen undHalbleitern fuumlr Entwicklungsingenieure

Autorisierter Distributor

Bei uns istKundenberatungkeine Fremdsprache

Um neue Produkte schneller als andere auf den Markt zu bringensind Vor-Ort-Kenntnisse ein Muss Mouser bietet uumlber seinweltweites Netz ausgezeichneten Verkaufs- und Beratungsserviceund professionellen technischen Support mit der notwendigenErfahrung lokaler Faktoren

Mouser und Mouser Electronics sind eingetragene Markenzeichen von Mouser Electronics Inc Alle anderen hierin

aufgefuumlhrten Produkte Logos und Namen von Unternehmen koumlnnen Warenzeichen der jeweiligen Besitzer sein

demousercomDie neuesten Produkte fuumlr Ihre neuesten Designstrade

DeutschlandElsenheimerstr 11 | 80687 Muumlnchen+49 (0) 8952 04621 10 | munichmousercom

6

EmbEddEd-Entwicklung TesT und QualiTaumlTssicherung

ELEKTRONIKPRAXIS embedded software engineering report Juni 2012

Mutationstest ndash ein Plaumldoyer fuumlreine vernachlaumlssigte Testtechnik

Softwareentwickler und Tester die von Zweifeln hinsichtlich der Quali-taumlt ihrer Tests beschlichen werden koumlnnen ihre Bedenken vielleicht mit

einem Mutationstest ausraumlumen

FRANK BuumlchNER

Frank-Buumlchner ist Diplom-Informatiker und arbei-tet als Senior Test Engineer bei HitexDevelopment Tools in Karlsruhe

Bei einem Mutationstest wird die Soft-ware (beziehungsweise das Testob-jekt) veraumlndert (bdquomutiertldquo) Danach

wird gepruumlft ob die vorhandenen Testfaumlllediese Mutation aufdecken Im Fachjargonheiszligt dies Der Mutant wird durch den Test-fall bdquogetoumltetldquo Ein Testfall der einenMutan-ten erkennt heiszligt adaumlquat Fuumlr eineMutati-on sindder Phantasie keineGrenzengesetztjedochmuss das Testobjekt syntaktisch kor-rekt also kompilierbar bleiben Fuumlr unserenZweck sollten die Mutationen jedoch ziem-lich subtil sein

Typische Mutationen bei C-Programmen(das Fehlermodell) sind die Verfaumllschungvon logischen Ausdruumlcken (beispielsweisedas Ersetzen eines logischenUNDdurch einlogischesODER) dieVerfaumllschungvonarith-metischen Ausdruumlcken (etwa die Additioneines konstanten Werts in einer Berech-nung) dieManipulation vonVariablen (bei-spielsweise Vertauschung von zwei Variab-len) dieVerfaumllschungvon relationalenOpe-ratoren (beispielsweise sbquoltrsquo durch sbquogtrsquo ersetzen)oder die Manipulation von Anweisungen(beispielsweise das Entfernen eines else-Zweigs oder das Einfuumlgen einer return-An-weisung)Die Mutanten die wir im Folgenden be-

trachten enthalten genau eine MutationDem liegt die empirischbestaumltigteAnnahme[6] zugrunde dass wenn ein Testfall einen

Mutantenmit genau einer (subtilen) Abwei-chung erkennt dieser Testfall auch Mutan-ten mit komplexeren Abweichungen toumltenwuumlrde (Kopplungseffekt) Auszligerdem redu-zieren wir dadurch den Aufwand der not-wendig ist umzu entscheiden obdurchdieMutation ein Mutant entstanden ist dernicht getoumltet werden kann In diesem Fallunterscheidet sichdasnachauszligen sichtbareProgrammverhaltennicht Original undMu-tant sind funktional aumlquivalent In der Praxismuss ein Mensch entscheiden ob OriginalundMutant funktional aumlquivalent sind

Vorhandene Testfaumllle auf dieMutanten anwendenUm einen Mutationstest vorzunehmen

muss man zwei Dinge tun Man muss einenMutanten erzeugen und man muss die vor-handenen Testfaumllle auf diesen MutantenanwendenWeilwir nurwenige stichprobenartigeMu-

tanten erzeugenwollen benoumltigen wir hier-zu kein Werkzeug Wir koumlnnen dies leichtmanuell erledigen Aufwendiger ist die Test-durchfuumlhrung Wenn wir von 20 Testfaumlllenund 10 Mutanten ausgehen muumlssen 200Testfaumllle ausgefuumlhrt werden Das macht dieAutomatisierung der Testausfuumlhrung in derPraxis notwendig In unserem Fall verwen-den wir das Unit-Testwerkzeug Tessy [7]Als erstes Beispiel betrachtenwir die klei-

ne Funktion shiftC()short shiftC(short A short B short C)if (A ampamp B)return Cltlt1elsereturn Cltlt2

Die Tabelle 1 auf der Seite 8 zeigt das Test-

ergebnis fuumlr zwei Testfaumllle diemit Tessy aufdem Original-Quellcode von shiftC() ausge-fuumlhrt wurden Beide Testfaumllle liefern dasrichtige (erwartete) Ergebnis und Tessy er-mittelt fuumlr diese beiden Testfaumllle zusammen

FunktionsschemaAblauf des Mutati-onstests mit demWerkzeug TessyBeim Mutationstestwird die Softwareveraumlndert Danachwird gepruumlft ob dieMutation von denvorhandenen Test-faumlllen aufgedecktwird

hitexde

velopm

entTools

Die weltweitGROumlszligTE AUSWAHLELEKTRONISCHERKOMPONENTEN

Verfuumlgbar fuumlr die sofortige Lieferung

08001800125DIGIKEYDEMEHR ALS 550000 PRODUKTE AUF LAGER | MEHR ALS 500 LIEFERANTEN | NEUE PRODUKTE WERDEN TAumlGLICH HINZUGEFUumlGT

Fuumlr alle Bestellungen unter 6500 euro wird eine Versandgebuumlhr von 1800 euro erhoben Alle Bestellungen die mit UPS versandt werden haben eine Lieferzeit von 1-3 Tagen (abhaumlngig vom Endbestimmungsort) Keine Bearbeitungsgebuumlhren AllePreise verstehen sich in Euro und enthalten Zollgebuumlhren Bei einem zu groszligen Gewicht oder bei unvorhergesehenen Umstaumlnden die eine Abweichung von diesem Tarif erfordern werden Kunden vor dem Versand der Bestellung kontaktiertDigi-Key ist ein autorisierter Distributor fuumlr alle Vertriebspartner Neue Produkte werden taumlglich hinzugefuumlgt copy 2012 Digi-Key Corporation 701 Brooks Ave South Thief River Falls MN 56701 USA

8

EmbEddEd-Entwicklung TesT und QualiTaumlTssicherung

ELEKTRONIKPRAXIS embedded software engineering report Juni 2012

eine Zweiguumlberdeckung von 100 Dasheiszligt Sowohl der then-Zweig als auch derelse-Zweig der if-Anweisung wurden ausge-fuumlhrt Und da unsere beiden Testfaumllle nichttrivial sind sollten wir fertig sein ndash oderUmuns zu vergewissern koumlnnenwir unser

Testobjekt mutieren Viele der moumlglichenMutationen wuumlrden durch unsere beidenTestfaumllle aufgedeckt zumBeispielwenndieEntscheidung bdquo(A ampamp B)ldquo zu bdquo(C ampamp B)ldquo ver-aumlndert wird Hier schlaumlgt der erste TestfallfehlWird jedoch in der Entscheidung die Vari-

able B durch C ersetzt so wird diese Muta-tion nicht erkanntshort shiftC(short A short B short C)if (A ampamp C)return Cltlt1elsereturn Cltlt2

Wird in der Entscheidung das logischeUND (ampamp) durch ein bitweises UND (amp) er-setzt wird diese Mutation ebenfalls nichterkanntshort shiftC(short A short B short C)if (A amp B)return Cltlt1elsereturn Cltlt2

Beide nicht erkannten Mutationen sind

subtil veraumlndern jedoch das Verhalten desTestobjekts signifikant und koumlnnen durcheinen Denk- oder auch einen Fluumlchtigkeits-fehler relativ leicht entstehenUmden zweitenMutanten zu toumlten reicht

es aus dieWerte eines der beiden bestehen-den Testfaumllle zu aumlndern ZumBeispiel koumlnn-te man im zweiten Testfall einfach denWert2 fuumlr B verwenden (allerdingsnicht denWert5)

Um beide Mutanten nachhaltig zu toumlten(das heiszligt ohne dass unmittelbar spiegel-bildliche Mutationen moumlglich werden dienicht getoumltet wuumlrden) benoumltigt man einendritten Testfall in dem die Variable B denWert 0 annimmt Die Tabelle 2 im Kastenlinks zeigt die ResultateMit dendrei Testfaumll-len in der Tabelle 2 werden beide Mutantenerkannt Durch die Verwendung von dreiTestfaumlllen wird uumlberdies der Code-Uumlberde-ckungsgrad von 100 Zweiguumlberdeckungauf 100MCDC (Modified ConditionDeci-sion Coverage ein Kriterium des StandardsDO-178B) erhoumlhtMit Hilfe eines Mutationstests kann man

auchTestfallmengenbewerten Eine Testfall-menge heiszligt adaumlquat wenn sie alle Mutan-ten aufdeckt Von zwei adaumlquaten Testfall-mengen ist natuumlrlich diejenige mit wenigerTestfaumlllen vorzuziehenDies ermoumlglicht auchdenVergleich von Testfallkonstruktionsver-fahrenMankanndie IdeedesMutationstestszur Reduzierung der normalerweise groszligenZahl vonautomatisch generiertenTestfaumlllenverwenden [5] Ein Testfallmussmindestenseinen Mutanten toumlten der bisher noch vonkeinem anderen Testfall getoumltet wurde umnicht verworfen zu werden

Mutationstests aus Sicht derNorm IEC 61508DieNorm IEC 61508 bezeichnet denMuta-

tionstest als bdquoDurchfuumlhrung von Testfaumlllennach Fehlereinpflanzungldquo und empfiehltdies fuumlr Safety Integrity Level (SIL) 2 bis 4Die IEC61508 fuumlhrt auchaus dassmanaus

der Anzahl der Fehler die eine Testsuite ineinem originalen Testobjekt entdeckt undder Zahl der Mutationen die diese Testsuiteermittelt eine Abschaumltzung fuumlr die Gesamt-zahl der im Testobjekt vorhandenen Fehlerfinden kann (praumldizierend) Das Verhaumlltnisder erkanntenMutanten zurGesamtzahl derMutanten ist gleichdenVerhaumlltnis der gefun-denenFehler imoriginalenTestobjekt zuderGesamtzahl der Fehler imoriginalenTestob-jekt Diese Abschaumltzung setzt natuumlrlich diegleiche statistischeVerteilung vonArtenundPositionen der Mutationen und der tatsaumlch-lichen Fehler voraus Wenn beispielsweisedie tatsaumlchlichen Fehler fehlerhafte Berech-nungen sind jedoch keine arithmetischenMutationen verwendetwerdenwirddieAb-schaumltzung kaum zutreffen

Eine Variante Der schwacheMutationstestObwohl sichdas aumluszligere Programmverhal-

ten des Mutanten gegenuumlber dem Originalnicht aumlndert kann es sein dass ein Testfallim Innern desMutanten einen anderen Pro-

Auswertung der Testergebnisse

die Tabelle 1 zeigt zwei Testfaumllle fuumlr dieFunktion bdquoshiftc()ldquo in den spalten a Bund c werden die eingabewerte fuumlr dieeingangsvariablen a B und c der Funk-tion angegeben das ergebnis der Funk-tion bdquoshiftc()ldquo ist der bdquoreturnldquo-Wert derFunktion er steht in der spalte bdquoergeb-nis von shiftc()ldquo die eingabewerte sindmit bdquoildquo fuumlr bdquoinputldquo markiert der ausga-bewert mit bdquooldquo fuumlr bdquooutputldquoim ersten Testfall (Tabelle 1 tc11) hatdie eingabevariable a den Wert 0 B denWert 1 und cdenWert 2 da a null ist lau-tet die entscheidung der bdquoifldquo-anweisungbdquofalseldquo der bdquoelseldquo-Zweig der bdquoifldquo-anwei-sung wird ausgefuumlhrt dadurch wird die

Variable c um 2 stellen nach links ge-schoben in der Binaumlr-darstellung wirdalso 0010 (was dezimal 2 entspricht)zu 1000 (was dezimal 8 entspricht)bdquoshiftc()ldquo gibt 8 als ergebnis zuruumlckim zweiten Testfall (Tabelle 1 tc21) hatdie eingabevariable a den Wert 1 B denWert 1 und c den Wert 3 da a und B jeeins sind lautet die entscheidung derbdquoifldquo-anweisung bdquotrueldquo der bdquothenldquo-Zweigder bdquoifldquo-anweisung wird ausgefuumlhrt dieVariable c ruumlckt um eine stelle nachlinks in der Binaumlr-darstellung wird also0011 (was dezimal 3 entspricht) zu 0110(was dezimal 6 entspricht) bdquoshiftc()ldquogibt 6 als ergebnis zuruumlck

A b c ErgEbnis von shiftc()

i i i o

tc11 0 1 2 8

tc21 1 1 3 6

Tabelle 1 Zwei Testfaumllle fuumlr die originale Funktion shiftC()

A b c ErgEbnis von shiftc()

i i i o

tc11 0 1 2 8

tc21 1 2 3 6

tc31 1 0 3 12

Tabelle 2Mit diesen drei Testfaumlllen werden beide Mutanten erkannt

EmbEddEd-Entwicklung TesT und QualiTaumlTssicherung

Erlaumluterung von FachbegriffenFault Injectionin das nicht mutierte Testobjekt werdenFehler von auszligen injiziert um die ro-bustheit zu pruumlfenFehlermodell (Fault model)die Kategorien der moumlglichen Mutati-onen diese sind natuumlrlich bei einemc-Programm als Testobjekt anders alsz B in einem Zustandsdiagramm einBeispiel fuumlr ein Fehlermodell fuumlr Testob-jekte in der Programmiersprache c ist imartikel angegebenKopplungseffekt (Coupling effect)Wird ein Mutant mit einer einzelnenMutation durch eine Testfallmenge ent-deckt so werden auch mehrfache Muta-tionen entdeckt

Fehlereinpflanzung (Error seeding)in der norm iec 61508 heiszligt der Mutati-onstest bdquoFehlereinpflanzungldquo bzw bdquoer-ror seedingldquoStarker Mutationstest (Strong mutationtest)der Mutant wird nur von auszligen betrach-tet (Black Box) und der Mutant wird nurdurch einen Testfall entdeckt der nachauszligen ein anderes ergebnis liefert alsdas OriginalSchwacher Mutationstest (Weak mutati-on test)ein Testfall sorgt im innern des Mutan-ten fuumlr ein anderes Verhalten als beimOriginal dieses andere Verhalten wirdjedoch nicht nach auszligen sichtbar

grammablauf erzeugt als im Original Dannspricht man von schwachemMutationstestunsigned int absolute (int x)if (x lt 0)return -xreturn xDie Mutation von lsquoltrsquo zu lsquolt=rsquo wird nach au-

szligen nicht sichtbar

Der Unterschied zurFault InjectionNicht zu verwechselnmit demMutations-

test ist die Fault Injection die beispielsweisein der Norm ISO 26262 [2] als Testmethodeerwaumlhntwird Bei einer Fault Injectionbleibtdas Testobjekt in seinemOriginalzustand eswird nicht mutiert Der Fehler wird auszliger-halb des Testobjekts erzeugtWenndas Test-objekt Software ist waumlre beispielsweise dasVeraumlndern (Korrumpieren) des Speichers fuumlrdie Variablen waumlhrend der Ausfuumlhrung derSoftware eine Fault Injection Die Softwareliest also aus einer Variablen nicht denWertzuruumlck den sie vorher abgespeichert hat DieFrage ist ob dies Auswirkungen hat und obdie Softwaremit einer solchenSituationum-gehen kannFault Injection ist also einRobustheitstest

zum Beispiel bezuumlglich der Auswirkungenvon Bitflips durch kosmische StrahlungDurch eine Fault Injection kann auch derProgrammspeicher des Testobjekts (willkuumlr-lich) geaumlndert (korrumpiert) werden Diessehenwir jedochnicht alsMutation die denSinn hat Programmierfehler im Quellcodeaufzudecken sondern vielmehr als Robust-heitstest FG

Hitex Development Tools +49(0)72196280

Literaturhinweise[1] IEC 61508 Teil 3 Tabelle B2 = Empfehlung

Fehlereinpflanzung sowie Teil 7 C56 = Be-schreibung Fehlereinpflanzung

[2] ISOFDIS 26262 Teil 6 Tabellen 10 und 13[3] Liggesmeyer Peter Software-Qualitaumlt Testen

Analysieren und Verifizieren von SoftwareHeidelberg Berlin 2002 Spektrum Akademi-scher Verlag

[4] Dirk W Hoffmann Software-Qualitaumlt Springer-Verlag Berlin Heidelberg 2008

[5] Wolfgang Herzner Rupert Schlick HaraldBrandl JohannesWiesalla Towards Fault-basedGeneration of Test Cases for Dependable Em-bedded Software in Softwaretechnik-TrendsGesellschaft fuumlr Informatik eV Band 31 Heft 3August 2011

[6] A Jefferson Offut Clemson University Investi-gations of the software testing coupling effectin ACM Transactions on Software EngineeringandMethodology New York Volume 1 Issue 1Jan 1992

[7] Tessy httpwwwhitexdetessy

acht irrtuumlmer uumlber code coverage

Bugs und defekte in Multitasking-softwareeliminieren

InfoClick

wwwelektronikpraxisde infoclick 3343128

AURIX - Over 10 years of Multicore Debuggingmakes the difference

AURIX

HSMTriCore 0 GTM

Debugand

SerialTrace

TRACE32

TRACE32

TRACE32

TRACE32

Debugging Multicore of years 10 Over - AURIXdifference the makes

AURIXAURIX

HSMTriCore 0 GTM

Debugand

SerialTrace

TRACE32

TRACE32

TRACE32

TRACE32

wwwlauterbachcom1652

10

Softwareentwicklung SoftwareSicherheit teil 2

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Die drei Gesichter der SicherheitIm zweiten Teil unserer Serie fassen wir einige Meinungen von

Experten des vergangenen ESE Kongresses zum Thema Security zu-sammen Im Mittelpunkt stehen dabei unbefugte Zugriffe oder die

gezielten Angriffe auf Embedded-Systeme

PETER SIwON uNd ALEXANdER SEdLAK

Peter Siwon ist Business Development Manager beim Schu-lungs- und Consulting-Spezialist MicroConsult inMuumlnchen und

Embedded-Systeme sind stets Software-und Hardwarekomponenten die inVerbindung mit Sensoren und Aktua-

toren in umgebende technische Systeme in-tegriert sind umkomplexe Steuerungs- undDatenverarbeitungsaufgaben zu uumlberneh-men Die Sicherheit im allgemeinen Sinne

bezeichnet einen Zustand der frei von un-vertretbaren Risiken ist Das wird in derNorm IEC 61508 so definiert Safety oderfunktionale Sicherheit bedeutet in diesemZusammenhang dass ein System in den zuerwartendenSituationenundZustaumlndenbeiordnungsgemaumlszliger Nutzung keine koumlrperli-chen oder finanziellen Schaumlden verursachtSecurity koumlnnte man demnach so genauerdefinieren Die Betriebs- und Datensicher-heit darf durch aumluszligere Einfluumlssenicht gestoumlrtoder gar verhindert werden Security hat ei-ne doppelte Bedeutung Einerseits sorgt siedafuumlr dass die Betriebssicherheit erhalten

bleibt andererseits versteht man darunterdieGesamtheit derMaszlignahmen umein Sys-tem nach auszligen zu schuumltzen Das unter-streicht sowohl die Abgrenzung dieser Be-griffe zeigt aber auch wie eng sie zusam-menhaumlngenNebenderWahl geeigneter Softwarearchi-

tekturen und Programmiermethoden spieltbei der Security oftmals die Gestaltung oderAuswahl derHardware eine bedeutendeRol-le Es handelt sich um Hightech im Verbor-genenmit derenHilfe produkt- und system-spezifische Eigenschaften uumlberhaupt erstrealisiertwerdenkoumlnnenAls Beispiele seienhier Fahrerassistenzsysteme mobile medi-zinischeGeraumlte undAutomatisierungssyste-me genannt Wichtige Stichwoumlrter in demZusammenhang sind die Gestaltung von In-terfaces Netzstrukturen oder schlicht dersichere Einbau einer Komponente

wuumlrmer Viren amp Co ndash Schutzvor gezielten AngriffenIn seinem Vortrag Sichere Netze der Zu-

kunft auf demESEKongress 2011 definierteProf Dr-Ing Hans-Joachim Hof von derHochschule Muumlnchen den Begriff pragma-tisch Die Security ist der Schutz vor geziel-temundhoumlchstwahrscheinlich auchboumlswil-ligemHandelnmit demZiel VertraulichkeitIntegritaumlt oder Authentizitaumlt zu erreichenDas kann sich in der Realitaumlt als nicht ganzeinfach erweisen daman zumZeitpunkt derProjektierung in der Regel nicht weiszlig wel-cher Art von Angriff ein System irgendwannausgesetzt sein wird Besonders bei aumllterenSystemenkann sichdas als geradezudrama-tische Gefahr erweisen Prof Dr Hof sprichthier ganz plastisch von der Goumltterdaumlmme-rungder IT-Sicherheit EinBild daswirklichpasst denn das Vertrauen auf sichere IT-Komponenten Embedded-Systeme undAumlhnliches grenzt oft wirklich an ein sagen-haftesGottvertrauen FrappierendesBeispielhierfuumlr ist der Computerwurm Stuxnet der2010 fuumlr groszligeUnruhe und Schaumlden verant-wortlich war Stuxnet war in einer Weiseaktiv die bis dahin imGrunde als nichtmoumlg-

ExpertenmeinungenWie lassen sich Embedded-Systeme vor unbefugtem Zugriff oder gezielten Angriffenschuumltzen

BilderG

erdaltm

annpixeliode

Alexander Sedlak ist als freier Autor taumltig

Softwareentwicklung SoftwareSicherheit teil 2

lich galt Der Wurm konnte Grenzen physi-kalisch getrennterNetze uumlberspringen Stux-net zielte vermutlich erfolgreich auf eineUrananreicherungsanlageWegendeshohenSchutzbedarfs von Atomanlagen schien soeinAngriff bis dahin schlicht nichtmoumlglichDen aktuellen Moumlglichkeiten des technischMachbaren druumlckte Stuxnet damit seineneigenen Stempel auf Eine optimierte Be-triebssicherheit wie im Beispiel der Atom-anlagewurdemangels ausreichender Secu-rity zum Sicherheitsrisiko

Der menschliche FaktorWenn Hacker aktiv werdenBedrohungen durch Hacker stellen die

Entwickler vonEmbedded-Systemenvor zu-nehmendeHerausforderungenDieReferen-ten des Schweizer Kommunikations- undTechnikdienstleisters Albis Technologiesstellten imVortrag EmbeddedSecurityHa-ckern einen Schritt voraus zunaumlchst diezunehmende Vernetzung von Embedded-Systemen heraus Und obwohl dadurchme-chanischeBarrieren zwischendenSystemenimmermehrwegfallen beruht die Sicherheitparadoxerweise haumlufig auf physikalischerSicherheit und weniger auf Cyber-Securityoder Informationssicherheit Und das ob-wohl es gerade in Infrastrukturnetzen wiezumBeispiel der aktuell diskutierten intelli-gentenStromversorgung vongroszliger Bedeu-tung ist dass die vernetzten Komponentenautonom ohne Benutzereingaben und vorunbefugten Zugriffen geschuumltztmiteinanderkommunizieren koumlnnenWas koumlnnte die Loumlsung sein Die Referen-

ten stellten ein Modell Hardware-basierterIT-Sicherheitsarchitektur fuumlr Embedded-

Systeme indenRaum InderenZentrumstehtein Security Controller oder ein Trusted-Platform-Modul also ein sicherer Speicherfuumlr digitale Schluumlssel Dieses dient dazu ei-ne Art Zentrum fuumlr kryptografische Operati-onen zu bilden Das Modul muss an den lo-kalenComputer gebunden seinundnicht aneinen bestimmten Benutzer Es ist dann un-moumlglich das Trusted-Platform-Modul entge-gen den Interessen des Eigentuumlmers zu nut-zen sofern dieser Beschraumlnkungen festge-legt hat eine Basis fuumlr die sichere Kommu-nikation der Netzteilnehmer Es kanngelingen beispielsweise aus einem Embed-ded-Geraumlt mit angepasster Software und ei-nem entsprechenden Betriebssystem einevertrauenswuumlrdige Plattform zumachenIntelligente Stromnetze auchSmart Grids

genannt erfordern fuumlr die Ermittlung desindividuellen Strombedarfs unddie korrekteAbrechnungdieVerwendung ebenso intelli-genter Verbrauchszaumlhler der sogenanntenSmartMeterHier gibt es zahlreiche Szenari-en die boumlswilliges Eindringen mit Betrugs-absicht ermoumlglichen Erschwerend ist dieLiberalisierung des Strommarktes Zahlrei-cheKlein- undKleinststromlieferantenndashausWasserkraft oder Photovoltaikanlagen ndashspeisen in die Netze ein Letztlich alles Ein-fallstore fuumlr moumlgliche Angriffe zum Zweckder kriminell motivierten ManipulationAuch vor diesemHintergrund erarbeitet dasBundesamt fuumlr Sicherheit in der Informati-onstechnik (BSI) gemeinsam mit Industrie-partnern fuumlr Smart Meter ein neuartigesSchutzprofil Es strukturiert Bedrohungenund legt damit die Mindestanforderungenfest die Sicherheitsmaszlignahmen erfuumlllenmuumlssen Ziel ist dabei eine Zertifizierung von

Produktennachdefinierten SchutzkriterienDas vondenPartnern erarbeitete Schutzpro-fil 3 definiert ein anhand gemeinsamerKriterien festgelegtes Security Modul fuumlralle kryptografischen Operationen

Kryptologie ndash Software solltenicht zu knacken seinBei der Entwicklung von Embedded-Sys-

temen koumlnnen durch den Einsatz von kryp-tologischen Verfahren viele Prozesse sicheroder zumindest sicherer gemacht werdenReinhard Wobst (UNIX Software) hat in sei-ner Funktion als Softwareentwickler festge-stellt dassmit groszliger Regelmaumlszligigkeit immerwieder die gleichenFehler bei der Implemen-tierung von Kryptologie gemacht werdenWaumlhrend seines Vortrags auf dem ESE Kon-gress erklaumlrte erwarumundwie es Eindring-lingen oft unnoumltig leicht gemacht wird SogehenSoftwareentwickler haumlufig davonausdass niemand die von ihnen entwickeltenAlgorithmen knacken kann Das Gegenteilist der Fall Ein gaumlngiges Mittel ist etwa das

AURIX - Over 5 years of High-Speed Serial Tracingmakes the difference

Tracing Serial High-Speed of years 5 Over - AURIX Tracing Serial High-Speed of years 5 Over - AURIXdifference the makes difference the makes

wwwlauterbachcom1653

Psychologische Sicherheitsluumlcke Irren ist mensch-lich ndash sowohl auf Entwickler- wie auf Anwenderseite

12

Softwareentwicklung SoftwareSicherheit teil 2

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Microconsult Qualitaumlt und Sicherheit

teil 1 der Serie Die drei Gesichter derSicherheit

InfoClick

wwwelektronikpraxisde infoclick 3343156

Schreiben unklaren oder scheinbar verwor-renen Codes Doch gerade bei der heutigenVernetzungwird jedesVerfahren fruumlher oderspaumlter bekannt Interessant ist die auch vonWobst formulierte Erkenntnis dass derSelbsttest eines eigenentwickeltenAlgorith-musmoumlglicherweise zu demErgebnis fuumlhrtdass es nicht einmal dem urspruumlnglichenProgrammierer gelingt ihn zuknackenAberdieWirklichkeit sieht leider anders aus Je-der kann einenAlgorithmus entwickeln dener selbst nicht brechen kann aber es gehtdarum dass ihn andere nicht brechen koumln-nen[1]Letztlich siehtmanes einemAlgorithmus

auchwenner noch soobskur erscheint nichtan ob er nun sicher ist oder nichtWobst raumltseinen Entwicklerkollegen konservativ zuseinundbekannteundaltbewaumlhrteAlgorith-menundMethoden zunutzenDas ForschennachSicherheit solle denForschernuumlberlas-sen werden Anhand zahlreicher Beispielebelegte Reinhard Wobst wie schnell es ge-schehen kann dass ein SoftwareentwicklerGuteswollenddas Falsche tut bzw dasRich-tige nicht richtig macht Und er zeigte auchdie Grenzen auf die selbst einer perfekt im-plementierten Kryptologie gesetzt sind wiedenial of service Attacken oder der immererfolgversprechende Versuch das stetsschwaumlchste Element eines Walls von Maszlig-nahmen fuumlr die Sicherheit zu instrumentali-sieren den User selbst So kam Wobst beiseinem Vortrag zu der Schlussformel dassgesunderMenschenverstandniemals hinterFormalismenverschwindendarf Fuumlr dieRe-alisierung von Sicherheit gilt immer dassetwas Sicherheit besser ist als gar keine

Qualitaumlt und houmlchstmoumlglichesSicherheitsniveau fuumlr SoftwareWie real die Risiken von Angriffen auf

Embedded-Systeme sind zeigte Lucas vonStockhausen vonHewlett-Packard in seinemVortrag Mehr Sicherheit fuumlr EmbeddedCode amBeispiel einer Manipulation einerhandelsuumlblichen Insulinpumpe Es seimoumlg-

lich durch Umgehen von Restriktionen dieInsulindosis die eine solchePumpeautoma-tisch verabreicht aus einer Entfernung von100 m und voumlllig unbemerkt zu veraumlndernDamit koumlnnemaneinemDiabetiker jederzeiteine Uumlberdosis Insulin injizieren Diese Ge-fahr mag konstruiert erscheinen fuumlr denPumpenhersteller und fuumlr den Patienten istsie aber sehr real undhoumlchst bedrohlichDasBundesministerium fuumlrWirtschaft undTech-nologie stellte bereits 2010 eine zunehmendeund alarmierende Professionalisierung vonAngriffen fest Dabei berichten die Medienmeist nur uumlber die spektakulaumlrstenFaumlllewiezumBeispiel denbereits erwaumlhntenStuxnet-Wurm der fuumlr den Einsatz auf industrielleZiele optimiert wurde

Die psychologischenSicherheitsluumlckenViele Angriffe sind weniger spektakulaumlr

doch kaum weniger gefahrenvoll Geradeuumlberraschende Angriffsszenarien auf Em-bedded-Systeme zeigen wie schwierig essein kann schon inder Softwareentwicklungvorauszusehenwie ein spaumltererAngriff aus-sehen kann Aus diesem Grund spielt diesichere Softwareentwicklung der sichereCode eine entscheidende Rolle Angesichtsdes rasanten Fortschritts der von zuneh-mendemZeit- Konkurrenz- undErfolgsdruckzuverlaumlssig begleitetwirdmussnebenQua-litaumltsforderungen auch das houmlchstmoumlglicheSicherheitsniveau realisiert werdenBei Embedded-Software erfolgt eine ver-

besserte Zugangssicherheit uumlber Software-Updates sagte Prof Dr-Ing Hans-JoachimHof Daraus ergeben sich gleichermaszligenAufgaben fuumlr die Entwicklung von Soft- undHardware In puncto Hardware werden si-chere Interfaces undUumlbertragungsprozedu-renbenoumltigt Die Softwaremuss so aufgebautsein dass sie autorisiert korrigiert aber nichtohne Autorisierung manipuliert werdenkann Das Motto Verbauen und Vergessengehoumlrt damit derVergangenheit anNicht zuvergessen sinddie psychologisch bedingten

Sicherheitsluumlcken zudenenPeter SiwonvonMicroConsult in seinem Seminar bdquoIrren istmenschlichldquo Beispiele nannte Und das so-wohl auf Entwickler-wie aufAnwenderseiteUnter hohem Zeitdruck neigt man dazu Si-cherheitsregeln zu brechen Menschen neh-men dann houmlhere Risiken in Kauf um denStress loszuwerden Stresshormone schraumln-kenunsere Faumlhigkeit ein uumlber die langfristi-gen Folgen unseres Verhaltens nachzuden-ken Zudem leide unser Qualitaumltsbewusst-sein unter dem Beduumlrfnis den bdquoSchmerzldquoloszuwerden Beides zusammen stellt eineexplosive psychologische Mischung darWichtige Voraussetzungen fuumlr Security wiebeispielsweise umfassende Tests fallen un-ter den Tisch Eine weitere Sicherheitsluumlckeentsteht durch Denkfaulheit Um unser Ge-daumlchtnis zu entlasten greifen wir nicht nurbei Passwoumlrtern auf altgewohnte oder beque-me Denk- und Verhaltensmuster zuruumlckThomas Batt beim Training- und Consul-

tingspezialistenMicroConsult zustaumlndig fuumlrSoftware Engineering Management ziehtfolgendesResuumlmee bdquo(Horror-)Szenarien beidenenEmbedded-Systemedurch aumluszligereAn-griffe manipuliert werden oder bei denensogar die komplette Kontrolle uumlbernommenwird sind keine Hollywoodphantasien Wirsindheute von einer rasantwachsendenZahlvonEmbedded-Systemenumgebenundver-lassen uns darauf dass Herstellerfirmen siezugangs- undangriffssicher entwickeln tes-tenundproduzierenDochTatsache ist dassfuumlr den groumlszligten Teil des Embedded-Marktesdie Qualitaumltsmerkmale Zugangs- und An-griffssicherheit noch Neuland sind DieseQualitaumltsmerkmalemuumlssen sich kuumlnftigwieein roter FadendurchdengesamtenEntwick-lungs- und Produktionsprozess der Produk-te ziehen Dazu benoumltigen wir geeigneteMethoden - insbesondere fuumlr denTest - sowieunterstuumltzende Tools Standards und Zerti-fizierungen Doch selbst mit noch so hoch-entwickelten Maszlignahmen koumlnnen wir dieRisiken nur minimieren nicht aber voumllligausschlieszligenldquo hEh

MicroConsult +49(0)89 45060

Quellennachweis[1] B Schneier Memo to the Amateur Cipher

Designer

Zugriffs- und AngriffssicherheitDie Betriebssicherheit ist im groszligenMaszlige vom Schutz vor unbefugtem Zu-griff oder gezieltem angriff abhaumlngigBei der Security spielt oft die Gestaltungund auswahl der hardware eine bedeu-tende rolle Zu den feinden von embed-ded-Systemen zaumlhlen Viren wuumlrmer undhacker die auf die Systeme zugreifen

und sie manipulieren Mit geeignetenSchutzmaszlignahmen wie Kryptologie undentsprechender Programmierung lassensich embedded-Systeme sicherer gestal-ten Nicht zu vergessen sind auch diepsychologisch bedingten Sicherheits-luumlcken ndash denn auch der Programmiererselbst stellt ein Sicherheitsrisiko dar

13

EmbEddEd SoftwarE Aktuelles

ELEKTRONIKPRAXIS embedded software engineering Report Juni 2012

InfoClick 3371268

embedded-softwAReentwicklung

analysewerkzeug Goanna pruumlft Software auf potenzielle LaufzeitfehlerDas Karlsruher Entwicklungs-haus Hitex hat die Version 272des Analysewerkzeugs Goannaveroumlffentlicht Das Tool pruumlft inCC++geschriebenenCodenachmathematischenMethoden umUrsachen fuumlr Laufzeitfehler auf-zuspuumlren In der aktuellenVersi-on 272 finden sich vor allemDetailverbesserungen wie er-leichterteKonfigurierbarkeit DieKonfigurationsvarianten bdquoQuickCheckldquo und bdquoDeep Checkldquo sindvordefiniert Auszligerdem wurdendieAnalysemethodenbeschleu-nigt und praumlziser gestaltet An-

feruumlberlaumlufe die Zerstoumlrung vonSpeicherinhalten Divisionendurch Null Zugriffe mit unguumllti-gem Index und aumlhnliche Proble-me Die Analyse uumlberschreitetdabei nicht nur Funktions- son-dern auch Dateigrenzen DasSoftwarewerkzeug soll einfachinstallierbar sein und sich nachwenigen Minuten einsetzen las-sen Goanna ist in einer Kom-mandozeilenversion (GoannaCentral) sowie alsAdd-On fuumlr dieweit verbreiteten Entwicklungs-umgebungen Visual Studio vonMicrosoft sowie EclipseCDT

(Goanna Studio) verfuumlgbarGoannaCentral undGoannaStu-dio fuumlr Eclipse sind fuumlrWindowsundLinux verfuumlgbar DieVersionfuumlrVisual Studiounterstuumltzt nurWindows Beide Versionen gibtes als rechnergebundene oderals Floating-Lizenz Es gibt eineeine permanente Lizenzmit dreiJahrenSupport und eine zeitlichbegrenzten Lizenz fuumlr ein Jahrmit der Option auf zeitliche Ver-laumlngerung fg

Hitex

hand mathematischer Modelleund derMethode der abstraktenDatenwertverfolgung kannGoanna problematische Konst-rukte ermitteln die zur Laufzeitder Software zu Fehlern fuumlhrenDazu zaumlhlen Speicherlecks Puf-

Schnelles Android XobotOS ist eineAndroid-Variante die auf einer offe-nen Implementierung von MicrosoftsNET-Architektur basiert InfoClick 3348889

smARtphone-betRiebssystem

android-Klon auf NEt-basis koumlnnte legale Untiefen umschiffenXamarin bietet Entwicklungs-werkzeugen fuumlr Android undApples iOS Das zentrale Themades Unternehmens ist die platt-formuumlbergreifendeProgrammie-rung von Apps fuumlr die beidenwichtigsten Betriebssysteme fuumlrMobilgeraumlte Als Entwicklungs-plattformdient dabeiMono einefreie Implementierung von Mi-crosofts NET-TechnikWichtigs-te Komponente vonMono ist einefreie Variante der NET-Laufzeit-umgebung CLR (Common Lan-guageRuntime) die zunaumlchst fuumlrLinux entwickelt wurde und

NET-Programme unter Linuxausfuumlhrte DaAndroid auf LinuxbasiertwurdeMono fuumlr dasmo-bile Betriebssystem von Googleumgesetzt Inzwischen gibt eseine Version namens Mono-Touch fuumlr Apples iOS Mit HilfevonMonoundMonoTouch ist esmoumlglich groszlige Teile des Appli-kationscodes wiederzuverwen-den wenn eine App sowohl fuumlriOS als auch fuumlr Android entwi-ckelt wurde XobotOS ist einAndroid-Klon bei demdie in Ja-va geschriebenen Codekompo-nenten inCuumlbertragenwurden

Diemomentan stattfindende ge-richtliche Auseinandersetzungzwischen Oracle als Inhaber derJava-Rechte und Google um an-gebliche Urheberrechtsverlet-zungen koumlnnte auszligerdem dafuumlrsorgen dass XobotOS kein For-schungsprojekt bleibt Das NET-Framework bietet alternativeImplementierungen fuumlr die Pro-grammierschnittstellen die zwi-schen Google undOracle strittigsind fg

Xamarin

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

EmbEddEd-SyStEmE SoftwaRE-DESign

14

TITELSTORyin juumlngster Zeit haben namen wieStuxnet und Duqu Eingang in unserenwortschatz gefunden Solche Schad-programme feuern unerbittliche atta-cken auf die Sicherheit eingebetteterSysteme Darunter sind auch SCaDa-Systeme (Supervisory Control andData acquisition) die industrieanla-gen Verkehrsnetze oder Kraftwerkeuumlberwachen und steuernManche Entwickler eingebetteterSoftware meinen zwar dass die Ebe-ne des Systems Engineering oder dieHardware fuumlr die Systemsicherheitzustaumlndig sein sollte Viele attackennuumltzen aber Schwachstellen in denanwendungen aus Und diese Luumlckengilt es im anwendungsdesign und derProgrammierung zu vermeiden

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

Siem

ens-PressebildPSD

graphics

15

EmbEddEd-SyStEmE Software-DeSign

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Security-Grundlagen fuumlrEmbedded-Software

Schutzmaszlignahmen auf der Betriebssystem- und Hardwareebene ge-gen Hackerangriffe sind keineswegs perfekt Daher muumlssen Entwickler

selbst gegen Schwachstellen der Embedded-Software vorgehen

DAvID KALINSKy

David Kalinsky ist Berater Trainer und Dozent fuumlrEchtzeit- und Embedded-Programmie-rung in SunnyvaleKalifornien (USA)

Entwickler eingebetteter Software spie-len das Security-Thema manchmalherunter und sagen bdquoUnserGeraumltwird

nie mit dem Internet oder einem anderenexternen Kommunikationsnetz verbundensein Wir sind gegen Angriffe immunldquo Dasist leider nicht wahr Erlauben Sie mir einGegenbeispielViele Geraumlte nutzen Analog-zu-Digital-

Konverter (ADC) zur Sammlung von DatenDieADCswerden regelmaumlszligig abgefragt unddieApplikation speichert dieDatenpakete ineinemArrayDieApplikation verarbeitet spauml-

ter diesen Daten-Array Aber ein Angreiferkoumlnnte dies aus einem ganz anderen Blick-winkel sehen etwa so bdquoWas wuumlrde passie-ren wenn ich den ADCmit elektrischen Sig-nalen fuumlttere die einer exaktenhexadezima-len Darstellung des Codes eines Schadpro-grammsentsprechenldquoAuf dieseWeise kannder Angreifer seine Software in Ihren Rech-ner einschleusen Ein Netzwerk oder dasInternet ist dafuumlr nicht noumltig

Angreifer brauchen nicht immerein externes NetzwerkDer Angreifer koumlnnte nun darauf setzen

dass Ihre Software die ADC-Daten in einemStapelspeicher (Stack) sichert (vielleicht in-demSie alloca() odermalloca() verwenden)Wenn er Gluumlck hat koumlnnte er einen Array-Uumlberlauf verursachen vielleicht indem er

den Hardware-Timer manipuliert der dieADC-Abfrage steuertEin typischer Stack ist auf der folgenden

Seite oben links abgebildet Wenn der An-greifer einen Array-Uumlberlauf verursachtkoumlnnte der Stack korrumpiert werden wiedas Schema rechts daneben zeigt BeachtenSie dass dieRuumlcksprungadresse imStack aneiner Position gespeichert wurde die hinterdem Ende des Arrays lagWenn der Angreifer die Korrumpierung

richtig plant wird der Uumlberlauf den Ort imStack erreichen an dem die aktuelle Ruumlck-sprungadresse gespeichertwurdeDas kanndazubenutztwerden umandiesemPlatz imStack einenZeiger auf den eigenenCode ein-zuschleusenWenn Ihr CodedieRuumlcksprung-adresse benutzt geht die Steuerung auf denCode des Angreifers uumlber

Siem

ens-Pressebild

16

EmbEddEd-SyStEmE Software-DeSign

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Simpel aber effektiv Die Grafik links zeigt den gewoumlhnlichen Aufbau eines Speicherstacks In der rechtenGrafik ist der Stack nach einem Array-Uumlberlauf korrumpiert Boumlsartiger Code kann ausgefuumlhrt werden

DavidKalinsky

Das wird als bdquoStack Smashingldquo-Attackebezeichnet BeachtenSie dass sie in diesemBeispiel voumlllig ohne Internetzugangundoh-ne Verbindung zu einer externen Datenlei-tung ausgefuumlhrt wurde

Design-Grundlagen fuumlr sichereEmbedded-SoftwareBeim Design eingebetteter Software koumln-

nen Entwickler die Sicherheit verbessernindem sie einige Grundsaumltze beachten1 Misstrauische AufteilungTeilen Sie die Funktionalitaumlt Ihrer Software

in Bloumlcke auf die sich gegenseitig nicht ver-trauen um die Angriffsfenster in jedemBlock zu verkleinern In der Embedded-Soft-ware nennen wir diese Bloumlcke oft Prozesseoder Subsysteme oder CSCIsEntwerfen Sie jeden Block unter der An-

nahme dass Softwarebloumlcke mit denen erinteragiert angegriffen wurden VertrauenSie denErgebnissender interagierendenBlouml-cke nicht Geben Sie Ihre Daten nicht uumlbergemeinsamen Speicher fuumlr andere Bloumlckefrei BenutzenSie stattdessenMechanismender Interprozesskommunikation wie Mes-sage Queues des Betriebssystems Socketsoder TIPC (Transparent Inter Process Com-munication) Pruumlfen Sie die Inhalte die SieerhaltenAls Resultat dieser Politik der misstraui-

schen Aufteilung faumlllt nicht das gesamteSystem in die Haumlnde eines Angreifers wennein einzelner Softwareblock kompromittiertwurde

bdquoUm feindlichen Code in ein Embedded-System einzuschleu-sen ist nicht unbedingt eine Verbindung zum Internet oder zu

einem anderen externen Netz noumltigldquoDavid Kalinsky

2 Trennung der PrivilegienHalten Sie den Teil Ihres Codes der mit

speziellen Rechten ausgestattet ist moumlg-lichst klein Wenn der Angreifer in Softwareeinbricht die mit hohen Privilegien ausge-fuumlhrt wird dann kann der Angreifer eben-falls mit hohen Privilegien operieren Dasgibt ihm ein extrabreites Angriffsfenster inIhr SystemVermeidenSie also dassAnwendungssoft-

ware im Kernel-Modus oder Master- Modusoder Supervisor-Modus laumlufthellip oder wie dasin Ihrer jeweiligen CPU-Architektur heiszligenmag Uumlberlassen Sie diesen Modus dem Be-triebssystem Lassen Sie Ihre Software nurim User-Modus laufen Dadurch wird IhreCPU-Hardware darauf verpflichtet das An-griffsfenster in Ihrer Software zu limitieren3 Loumlschen Sie sensitive InformationenLoumlschenSie jedewieder verwendbareRes-

source wenn Sie sie freigeben Wenn Sieeine Ressource freigegeben haben ndash sei esein Speicherpuffer oder ein Software-Hard-ware-InterfaceDatenregister ndash koumlnnte dernaumlchste Benutzer genau derselben Ressour-ce einAngreifer sein Angreifer auf eingebet-tete Systeme lieben es diese Ressourcen zusbquophishenrsquo genau wie Internet-Angreifer ger-ne sbquophishenrsquo Hacker waumlren bestimmt uumlber-gluumlcklich die Daten zu lesen die Sie imPuffer bearbeitet habenoder die andieHard-ware zur Ausgabe uumlbergeben wurdenDie meisten Dienste die Ressourcen in

Embedded-Umgebungen freigebenmarkie-ren die Ressourcen einfach als bdquoverfuumlgbarldquo

Sie lassendie alte Information stehen die inder Ressource enthalten ist Das geht sehrviel schneller als die Ressource explizit aufNull zu setzen Damit ist sie aber potenziellfuumlr andere Benutzer lesbarWenn also die Applikation mit einer Res-

source fertig ist liegt es an der Anwendungdie Freigabe vorzubereiten indemsie all die-se Elemente auf Null setztHeap-Puffer Speicherpool-Puffer Spei-cherpartitionssegmente Statisch zugewiesene Speicherpuffer Freigegebene Stack-Bereiche SpeichercacheDatei im DateisystemDatenregister fuumlr Hardware-InterfacesStatusregister Kontrollregister

Schwachstellen auf die manbeim Coding achten mussWaumlhrend der Programmierung koumlnnen

Entwickler die Softwaresicherheit verbes-sern indem sie eine Reihe bekannterSchwachstellen vermeiden1 PufferuumlberlaufMitweitemAbstand ist der Pufferuumlberlauf

die amweitesten verbreiteteGefahrenquellewenn man in der Sprache C programmiertEs kann ganz einfach sein ndash zum Beispiel indas Element mit der Nummer 256 eines256-teiligenArraysDatenhineinzuschreibenCompiler erkennen verbotene Pufferzu-

griffe nicht immer als Softwarefehler DaskannernsthafteKonsequenzenwiedie bdquoCodeInjectionldquo oder die bdquoArc Injectionldquo haben ndashbei letzterer aumlndert der Angreifer den Kon-trollfluss eines Programms indem er dieRuumlcksprungadresse auf dem Stack modifi-ziert Bei der bdquoArc Injectionldquo braucht derAngreifer nicht einmal Code einzuschleusenEr kann zu irgendeiner Funktion im existie-renden Code springen oder Guumlltigkeitspruuml-fungen oder Assertions uumlberspringenHier ein Beispiel fuumlr eine Pufferuumlberlauf-

Attacke Ein eingebettetes Geraumlt misst dieWassertemperatur in einem Schwimmbe-cken und zeigt die Zeitanteile als Histo-gramm an in denen das Wasser eine be-stimmteTemperatur hatte Der Softwareent-wickler baut einen Array mit 100 positivenIntegerzahlen bei denen jedes Element miteinerGradangabe inCelsius korrespondiertElement 0 fuumlr 0deg Element 1 fuumlr 1deg und soweiter Jedesmal wenn der Sensor die Was-sertemperaturmisst wird das entsprechen-deElement desArrays umdenWert 1 erhoumlhtUm ganz sicher zu gehen stattet der Ent-

wickler denTemperatur-Arraymit viel Spiel-raum aus Er uumlbersteigt den Temperaturbe-reich bei weitem den einmenschlicher Koumlr-per aushalten wuumlrde

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012 17

EmbEddEd-SyStEmE SoftwaRE-DESign

ohne Locks fuumlr Multicore-Systeme entwi-ckeln

Echtzeit-Software ohne Echtzeit-Betriebssys-tem programmieren

InfoClick

wwwelektronikpraxisde InfoClick 3337487

wwwyakinduderequirements+492319860606

bull Komplexe software inKuumlrzester zeit spezifizieren

bull anforderungen fehlerfreierfassen

bull abhaumlngigKeiten von diagram-men und modellelementenautomatisch darstellen

bull aufwaumlnde von aumlnderungenKennen bevor sie entstehendurch vollstaumlndigestracing

bull manager fachanwenderund entwicKler sprechenendlich von denselbendingen

yaKindu requirementsdie software fuumlr requirementsengineering und traceability

IHRNUTZEN

Bis eines Tages der Angreifer den Sensoraus demWasser nimmt und mit einem Feu-erzeug aufheizt Sobald der Sensor einenWert misst der 100deg uumlbersteigt verletzt dieSoftware fuumlr das Histogramm-Update eineSpeicheradresse die hinter dem Ende desTemperatur-Arrays liegt Wenn dort Datenliegen hat der Angreifer die Daten korrum-piert Steht dort Maschinencode dann hatder Angreifer die ausfuumlhrbare Software kor-rumpiert In jedemFall ist es ein schaumldlicherEingriff Bitte beachten Sie dass auch dafuumlrweder eine Internetverbindung noch eineVerbindung zu einem externen Netzwerknoumltig war Ein Feuerzeug genuumlgteWie koumlnnen wir Pufferuumlberlaumlufe vermei-

denDie Schwachstelle ist soweit verbreitetdass ein mehrstufiger Ansatz am besten istVerhindern Entdecken Heilen Im Beispielunseres Schwimmbeckens sollten Sie expli-zit pruumlfen dass keine Temperatur ermitteltwird die der von Eis (unter 0deg) oder heiszligemDampf (uumlber 100deg) entsprichtVerhindern Sie Pufferuumlberlaumlufe auch in-

dem Sie gefaumlhrliche Bibliotheksfunktionenvermeiden (wie gets()) und Vorsicht bei an-deren walten lassen (wiememcpy())

bdquoAnstreicherldquo-Methodeermittelt PufferuumlberlaumlufeEntdeckenSie Pufferuumlberlaumlufe indemSie

wie ein Anstreicher vorgehen Erweitern SiedenPuffer anbeidenEnden etwas Fuumlllen Siedie Erweiterungsbereiche mit ungewoumlhnli-chem Inhalt den ich bdquoAnstrichldquonenne zumBeispiel eine Falle in derMaschinenspracheIhres Prozessors Dann pruumlfen Sie den bdquoAn-strichldquo wiederholt zur Laufzeit Wenn derAnstrich uumlberschrieben wurde haben Sieeinen Pufferuumlberlauf entdeckt2 Tricksereien mit ZeigernWenneinAngreifer einenDatenzeigermo-

difizieren kann dann kann der Angreifernach eigenemGusto an jededenkbare Stelleverweisen Wenn ein Angreifer einen Funk-tionszeiger uumlberschreiben kann dann ist erauf einemgutenWeg seinenCode auf IhremProzessor auszufuumlhren3 Dynamische SpeicherzuweisungDie Verwendung dynamischer Speicher-

zuweisungen ist in vielen sicherheitskriti-schenSystemenwie der Luft- undRaumfahrtverbotenAngreifer sindheiszligdarauf solcheDefekte zu finden da sie eine guumlnstigeGele-genheit bieten die Sicherheit eines Embed-ded-Systems zu verletzenEin besonders empfindlicher Fehler ist es

die Pruumlfung zu unterlassen ob eineAnfragezur Speicherzuweisung erfolgreichwar odernichtMancheMechanismengebenanstelleeines Zeigers auf einen Speicherpuffer den

Wert Null aus wenn kein verfuumlgbarer Spei-cher mehr vorhanden ist Wenn die Anwen-dungssoftware diesen Nullwert als Zeigerbehandelt wird sie in einen Puffer hinein-schreiben der an der Speicheradresse NullbeginntViele Angreifer wuumlrden sich freuen wenn

Ihre Software dies taumlte Angreifer wissendass eingebettete Software oft eingeschraumlnk-te Speicherressourcen hat Sie setzen allesdaran den Speicher auszuschoumlpfen indemsie den Speicherzuweisungsmechanismusdazu zwingen mehr Speicher als sonst uumlb-lich zu belegen ndash vielleicht durch einge-schleusten Code der Speicherlecks enthaumlltSie koumlnnenauchversuchen IhrDatenabfra-gesystem mit houmlheren Datenmengen oderDatenraten zuuumlberflutenndash inderHoffnungdass dieDatenlawine Ihre Speicherkapazitaumlterschoumlpft Und dannWenn Ihre Software einen Speicherpuffer

anfragt aber die Pruumlfung unterlaumlsst ob dieZuweisung fehlgeschlagen istwird sie einenPuffer anderAdresseNull eroumlffnenundalleszertrampeln was vorher dort gewesen istWenn zumBeispiel die Flags fuumlr das Ein- undAusschalten von Interrupts an dieser Stellestehen koumlnnte dadurch die Verbindung derSoftware zudenHardware-Interfaces anderPeripherie unterbrochenwerdenDas koumlnn-te dazu fuumlhren dass Ihr System nicht mehrin die Hardware eingebunden ist FG

D Kalinsky Associates +1408 749 8562

Kleine Angriffsflaumlche Die perfekte Absicherunggegen Angreifer im Web gibt es nicht Wichtig ist esaber sich um die die gaumlngigen Schwachstellen zukuumlmmern

PikeResearch

18

SyStementwurf AudiodAten uumlbertrAgen

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Audiosignale drahtlosmit Licht uumlbertragen

Audiosignale mit maximal 48 kBits mit Laser oder High-Power-LEDuumlbertragen Wir stellen Ihnen eine Schaltung vor die Audiosignale in

groszligen Raumlumen mit hoher Funkbelastung sicher transportiert

IgOR ZImmERmANN

Igor Zimmermann ist Entwickler fuumlr Embedded-Systeme bei der Mixed Mode GmbH inMuumlnchen

Funkuumlbertragungen haben sich vor al-lem im privaten Umfeld in den letztenJahren durchgesetzt Allen voran im

Multimediabereich seien hier kabelloseKopfhoumlrer genannt oder dieWLAN-Uumlbertra-gung Um bei der digitalen Audiouumlbertra-gung zu bleiben Mit der Digitalisierung derMultimediadaten entstand das Beduumlrfnisdiese digitalenAudiodatendrahtlos zu trans-portieren Hier sind im Speziellen drei Fre-quenzbaumlnder relevantDas 24-GHz-Band mit Frequenzen von24 bis 25 GHzDas 5-GHz-Band mit Frequenzen von5725 bis 5875 GHz und das 433-MHz-Band mit Frequenzen von43305 bis 43479 MHz

Wenn sich die Frequenzbaumlnderuntereinander stoumlrenDie ersten beiden Frequenzbaumlnder sind

alle fuumlrAudio-Uumlbertragungsgeraumlte geeignetdie uumlberWLANoder Bluetooth senden Her-koumlmmliche Funkkopfhoumlrer und Funklaut-sprecher benutzen das Band mit 433 MHzAlle drei Frequenzbaumlnder koumlnnen frei be-nutztwerdenwas auchgleichzeitig ein Pro-blem darstellt So sendet im 24-GHz-Bandbeispielsweise dieMikrowellewaumlhrenddas433-MHz-Band von etlichen anderen Funk-verbindungen verwendet wird Durch diegemeinsame Nutzung koumlnnen gegenseitigeStoumlrungen auftretenEine Uumlbertragung mit Licht ist gegen Stouml-

rungen aus diesen Baumlndern unempfindlichAuch inUmgebungenmit starker Funkbean-spruchungkannauf dieseWeise eineAudio-Signaluumlbertragung erfolgen Ein weitererVorteil ist die Reichweite die bei einerUumlber-tragung mit Licht erreicht werden kann

Audiosignale uumlbertragenMit Licht lassen sich groszlige Entfernungen uumlberbruumlcken wobei die APU allessteuert (Illustration)

FotoKlickerpixeliode

Audiosignale drahtlos uumlbertragen Schematischer Aufbau der Schaltung mit Audio Processing Unit

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

Waumlhrend eineUumlbertragung indengenanntenISM-Baumlndern auf einige hundert Meter be-schraumlnkt ist koumlnnenmit Licht groszligeDistan-zen uumlberwunden werden

Schaltung uumlbertraumlgt drahtlosAudiosignale mit LichtIm folgenden wollen wir Ihnen eine neu-

entwickelte und bereits im realen Einsatzgetestete Schaltung vorstellen die drahtloseAudiosignale mit Licht uumlbertraumlgt Die maxi-maleAudioqualitaumlt des Signals darfmaximal48 kBits betragen Die Schaltung setzt aufeinem Mikrocontroller zur Steuerung einesAudio-Codecs auf Die Entwicklung ist durchdie Visible Light Communication (VLC) ins-piriert Das Signal wird uumlber eine Treiber-schaltung entweder per Laser oder High-Power-LED uumlbertragen Auf der Empfaumlnger-seitewirddas Signal uumlber einenAudio-Codecindasurspruumlngliche Format ruumlckgewandeltEinsatzbereiche sind groumlszligere Raumlume in de-nen einehoheFunkbeanspruchungherrschtZum erfolgreichen Versenden der Audio-

informationenwerden zweiAusgabendieserSchaltung benoumltigt Die Versorgungsspan-nung betraumlgt 12 V Auf Senderseite kann derBenutzer eine von drei verschiedenen Sig-nalartenwaumlhlen die uumlbertragenwerden soll analoges Audiosignal Klinke (TRS Ana-log Audio In) digitales SPDIF-Signal Anschluss uumlberCinch (RCA Electrical SPDIF In) optisches SPDIF Signal Anschluss uumlberToslink (Toslink Optical SPDIF In)

APU mit Audio Codec undKonfigurationsregisternDie Konfiguration der Signalart erfolgt

uumlber ein Display und vier Taster (S1 S2 S3S4 und Display) Das Display und die Tastersind an einen Mikrocontroller angeschlos-sen der die Auswertung der Einstellungenvornimmtunduumlber einen Isup2C-Bus andieAu-dioProcessingUnit (APU)uumlbertraumlgt DieAPUbesteht aus einem Audio-Codec und besitztKonfigurationsregister zumSpeicherndieserEinstellungen Uumlber diese Register koumlnnenauch Manipulationen an den Statusbits desSPDIF-Signals vorgenommen werden DieAPU verfuumlgt zudem uumlber ein integriertes di-gitales Interpolationsfilter und ein Antialia-sing-Filter Das hat den Vorteil dass eineexterne Filterung uumlberfluumlssig wird Das Isup2S-Interface uumlber das andere Audio-Kompo-nentenmit derAPUkommunizieren koumlnnensteht demBenutzer ebenfalls zurVerfuumlgungEin- undAusgaumlnge koumlnnenasynchronbe-

trieben werden Das erzeugte Signal wird inein SPDIF-Format gewandelt und dem La-sertreiber oder dem LED-Treiber zur Verfuuml-

Via Laser oder High-Power-LEDAudiosignale drahtlos mit Licht uumlbertra-gen Die von uns vorgestellte Schaltungsetzt auf einen Mikrocontroller der denAudio-Codec steuert wobei die Qualitaumltdes Signals maximal 48 kBits betragendarf Der Mikrocontroller ndash die AudioProcessing Unit ndash ist das Herzstuumlck die-

ser speziellen Treiberschaltung der dasAudiosignal via Laser oder High-Power-LED uumlbertraumlgt Mit den Konfigurations-registern lassen sich die Einstellungenfuumlr die Codes speichern und es lassensich Manipulationen an den Statusbitsdes SPDIF-Signals vornehmen

SyStementwurf AudiodAtEn uumlbERtRAgEn

19

telekommunikation von Mixed Mode

InfoClick

wwwelektronikpraxisde InfoClick 3343108

gung gestellt Aus Sicherheitsgruumlnden wirdder Lasertreiber uumlber eine vomMikrocontrol-ler gesteuerte Enable-Leitung ein- und aus-geschaltet Als Laserquelle dient eine Laser-diodeDer Lasertreiber ist zwar speziell auf diese

Laserdiode eingestellt kann aber durch an-dere Laserdioden ersetzt werden Die Aus-gangsleistung der Modulationsstrom derGleichstromanteil und der Temperaturkoef-fizient der Laserdiodenwerdenuumlber externeWiderstaumlnde des Lasertreibers dimensio-niert Die Laserdiode ist an einem Kupfer-block angebracht der dieKuumlhlungderDiodeund die Fokussierung des Laserlichts uumlbereine Linse im Inneren uumlbernimmt Der LED-Treiber der ein IR-Treiber oder ein High-Po-wer-LED-Treiber sein kann besteht aus zweischaltbarenKonstantstromquellenundkannbis zu vier High-Power-LEDs versorgen

Audioqualitaumlt liegt beiaktuell 48 kBitsAuf der Empfaumlngerseite muss der Light

Receiver alsQuelle ausgewaumlhltwerdenDie-ser Light Receiver umfasst je eine Empfangs-einheit fuumlr sichtbares und infrarotes Licht(Visible Light und Infrared Light Receiver)

Beide Empfangseinheiten bestehen aus ei-nemPhotodetektor und einemnachgeschal-teten Transimpedanzverstaumlrker Das vomTransimpedanzverstaumlrker erzeugte Signalwird anschlieszligendSPDIF-gerecht aufberei-tet und an die Audio Processing Unit weiter-geleitet und kann an einem der sechs An-schluumlsse abgegriffen werdenDiemaximaleAudioqualitaumlt der Schaltung

liegt zur Zeit noch bei 48 kBits da die Emp-fangseinheit Signalemit einer Frequenz vonmaximal 31 MHz zuverlaumlssig empfangenkannDiemaximaleReichweite die bei einergerichteten Uumlbertragung mit Laser erreichtwerden konnte betraumlgt aktuell 15 m DurchdenEinsatz vonoptischenHilfsmitteln kannjedoch eine weitaus houmlhere Reichweite er-reicht werden HEH

MixedMode +49(0)89 89868240

20

ProgrammiersPrachen Sichere Software

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Stabile Embedded-Systememit der Programmiersprache Ada

Mit der Programmiersprache Ada laumlsst sich sicherheits- und missions-kritische Software entwickeln wovon Embedded-Systeme profitieren

sollen Wir stellen Ihnen die Programmierumgebung vor

JOhANNES KANIg

Johannes Kanig ist Senior Software Engineer beiAdaCore

WashabenARGOS einSatellitenpro-gramm zur Sammlung von Um-weltdaten unddas Traumlgheitsnavi-

gationssystem des Airbus 350 XWB mitein-ander gemeinsam Beide stellen besondereAnforderungenan ihre Steuerungssoftwaredie sehr sicher und in Echtzeit reagierenmuss und deren eventuelle Fehler viel Geldoder sogar Menschenleben kosten koumlnnenIn beiden Faumlllen ist die Software missions-kritisch wenn beispielsweise durch einenFehler der Satellit verloren gehen kann odersicherheitskritischwenndurch einenFehlerdie Passagiere des Airbus inGefahr geratenBeide Systeme haben noch etwas gemein-sam sie sind in Ada geschrieben

Ein Traumlgheitsnavigationssystem stellt ho-he Anforderungen an seine Embedded-Ap-plikationen die sehr Hardwarenah laufenDabei wird auf Sicherheit groumlszligter Wert ge-legt Die Anwendung darf unter keinen Um-staumlnden abstuumlrzen und sollte ihre Funktionerfuumlllen sowie maximale Reaktionszeitenstrikt einhalten Fuumlr sicherheitskritischeAn-wendungen werden in der Regel vor demeigentlichen Entwicklungsprozess genaueHigh-Integrity-Anforderungen aufgeschrie-ben denenderProgrammcodedannentspre-chenmussNatuumlrlich ist es fuumlr denProgram-mierer einfacher wenn die Sprache direktKonstruktionen anbietet die bestimmtenArten von Anforderungen entsprechen

Lesbarer Code vermeidetFehler beim programmierenDie Entwickler der Programmiersprache

Adahaben stets besonderenWert auf Lesbar-keit undWartbarkeit gelegt Das aumluszligert sich

unter anderem in syntaktischenUnterschie-den mit Sprachen wie C oder Java Zum Bei-spiel verzichtet Ada voumlllig auf geschweifteKlammern und nutzt stattdessen leicht les-bare Schluumlsselwoumlrter um Bloumlcke zu kenn-zeichnen So werden if-Bloumlcke mit einemend if undSchleifenmit einemend loopabgeschlossen Im Allgemeinen vermeidetAdaSymbolewoSchluumlsselwoumlrter Sinn erge-ben So wird auch der in C uumlbliche Stern zurBezeichnung von Zeigern durch das Schluumls-selwort access ersetzt Ada beachtet Groszlig-und Kleinschreibung nicht um Verwechs-lung von zu aumlhnlichen Bezeichnern zu ver-meiden Und schlieszliglich vermeidet Ada diein Java und C verbreitete Praxis oktale Zah-len mit einer fuumlhrenden Null darzustellenNeben diesen syntaktischen Unterschie-

den gibt es auch viele semantische Hilfenum lesbare undbesserwartbare Programmezu schreiben Sowird die Relation zwischeneiner Funktion und ihren Parametern durchSchluumlsselwoumlrter wie in (nur lesen) out(nur schreiben) oder in out (beides) doku-mentiert Ada ist imGegensatz zuC eine starkgetypte Sprache Typkonversionen die zuLaufzeitfehlern fuumlhrenkoumlnnenmuumlssten ex-plizit geschrieben werden Ada erlaubt imGegensatz zu manchen anderen Sprachendie Einfuumlhrung von benutzerdefinierten In-tegertypen die Absichten des Programmie-rers dokumentieren (DieseVariable enthaumlltZahlen zwischen 1und 100) unddie korrek-te Ausfuumlhrung mit Laufzeituumlberpruumlfungensicherstellen Diese semantischen Eigen-schaften erleichtern den direkten Vergleichdes Programmcodes mit den an ihn gestell-ten Anforderungen

Besonderheiten bei derEmbedded-ProgrammierungBei Echtzeitanwendungenhandelt es sich

meist um parallele Anwendungen denn inder Regel werden mehrere Berechnungengleichzeitig durchgefuumlhrt undneueEreignis-se verarbeitet In diesem Kontext ist es be-

Umweltsattelit Die Steuerungssoftware muss sich besonderen Anforderungen stellen Mit der Program-miersprache Ada laumlsst sich sicherheits- und missionskritische Software entwickeln (Im Bild der Umwelt-satellit ENVISAT)

fotoD

Lr

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

sonders wichtig dass Reaktionszeiten derSoftware auf Ereignisse garantiert werdenkoumlnnen Hier ist es nuumltzlich dass Ada einfa-che Sprachfeatures zur Beschreibung vonparallelen Prozessen bereitstellt Es ist ent-scheidend dassAdakeinenGarbageCollec-tor benoumltigt der denProgrammablauf verzouml-gern koumlnnte Ein manueller Umgang mitThreads ist alsonicht noumltig Unvorhersehba-re Latenzzeiten die bei sicherheitskritischenAnwendungen unakzeptabel sind werdenausgeschlossen Ein weiteres Argument fuumlrden Einsatz von Ada im Embedded-Bereichist seine Faumlhigkeit zur Low-Level-Program-mierung Damit kann beispielsweise die ge-naue Auslegung einer Datenstruktur imSpeicher festgelegt werden Als gefaumlhrlicherachtete Low-Level-Features wie zum Bei-spiel dasAuslesenbeliebiger Speicherberei-che oder auch die in C beliebte Pointerarith-metik sind in Ada nur unter Umgehung desTypsystemsmoumlglich

Ada ndash Die Programmierspracheohne UumlberraschungenAda wird oft als Sprache ohne Uumlberra-

schungen bezeichnet Mechanismen zurProgrammstrukturierung wie es sie in Adagibt also ein Objektsystem oder ein Paket-system sind sehr hilfreich wenn es darumgeht umfangreiche Programme zu schrei-ben Der Ada-Standard sieht sogenanntePragma-Restriktionen vormit denen festge-legt werden kann ob Features der Spracheausgeschlossenwerden sollenDamit lassensich interne Coding-Standards uumlberpruumlfenDieses Feature kannmanmit dem StandardMISRA-CC++vergleichen der versucht einesichere Teilmenge von C beziehungsweiseC++ zu definieren Ada bietet den Vorteildass viele Konstrukte vondenenMISRAab-raumlt gar nicht geschrieben werden koumlnnenund dank des starken Typsystems mehrUumlberpruumlfungenmoumlglich sindDie Programmiersprache Ada gibt es seit

demBeginn der achtziger Jahre Die damali-ge Version Ada 83 enthielt bereits eine guteBasis fuumlr die strukturierte undmodulare Pro-grammierung wie ein Paketsystem das dieKapselung von Daten und Algorithmen er-moumlglicht Seitdem hat sich Ada kontinuier-lich weiterentwickelt So erschien 1995 derAda-95-Standard der die Sprache um einObjektsystem erweiterte Der naumlchste Stan-dard Ada 2005 brachte Verbesserungen imUmgang mit Zeigern die als konstant oderauch als not null deklariert werden koumln-nen Das stellt vor allem eine umfangreicheErweiterungder Standardbibliothekdar dienun auch Container enthaumllt Das Objektsys-temwurde umdas Interface-Konzept erwei-

PRAxISWERT

Adacore Software-loumlsungen fuumlr AdaAdaCore wurde 1994 gegruumlndet undist der fuumlhrende Anbieter von kom-merziellen Softwareloumlsungen fuumlr Adaeiner modernen Programmiersprachefuumlr Mission-Critical-Anwendungen insicherheitskritischen UmgebungenDas wichtigste Produkt ist die Ent-wicklungsumgebung GNAT Pro dieOnline-Support bietet und auf mehrPlattformen als jede andere Ada-Tech-nologie verfuumlgbar ist Unternehmenwie Boeing HP Krauss-Maffei oderSiemens setzen AdaCore-Loumlsungenfuumlr sicherheitskritische Anwendun-gen ein Hauptsitz ist New York daseuropaumlische Headquarter ist in Paris

tert so dass nun auch Mehrfachvererbungmoumlglich istDer naumlchste Standard ist fuumlr 2012 vorgese-

hen Darin sind die aus der Programmier-spracheEiffel bekanntenVertraumlge (contracts)vorgesehen die jeder Funktion zwei Boole-scheAusdruumlcke hinzufuumlgen koumlnnen die voroder nach Ausfuumlhrung der Funktion wahrsein sollenDieseAusdruumlcke sind im Idealfalldirekt von den Anforderungen an die Soft-ware abgeleitet Sie koumlnnen als formale Do-kumentation als zusaumltzlicheUumlberpruumlfungenzur Laufzeit oder als Ausgangspunkt fuumlr sta-tische Analysen dienen Eine weitere Neue-rung ermoumlglicht dieDefinition vonTypenmitso genannten Invarianten Damit sind Boo-lesche Ausdruumlcke gemeint die fuumlr Wertedieses Typs immer wahr sind Schlieszliglichgibt es viele andereWeiterentwicklungenwieeine Python-aumlhnliche Syntax zur Iterationuumlber Container und Verbesserungen implattformuumlbergreifenden Umgang mit ne-benlaumlufigen Prozessen und Multiprozesso-ren hEh

AdaCore +33(1)4970 6716

ProgrammiersPrachen SiCHERE SOfTwARE

21

Adacore-Entwicklungswerkzeuge

Ada Deutschland

InfoClick

wwwelektronikpraxisde infoclick 3343168

Bei unsbewegtsich was

Webcasts aufwwwelektronikpraxisde

Finden Sie die Loumlsung fuumlr IhrProblem ndash als Video oderAudiodatei

Beispiele fuumlr Webcasts

Anwendungsbeschreibungenkomplexer erklaumlrungsbeduumlrftigerProdukte

anwendungs- und loumlsungsorien-tierte Produktpraumlsentationen

vertonte Powerpointpraumlsentati-onen ProduktanimationenExperteninterviews oderMesseberichte

Online-SeminareOnline-Konferenzen

Schauen Sie doch mal rein---gt wwwelektronikpraxisde

CAST

wwwvogelde

0726

4

22

EmbEddEd-SyStEmE Software-architektur

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Von der impliziten zur explizitenSoftware-Architektur

Im Bereich der Unternehmenssoftware ist das Festlegen einer Soft-ware-Architektur heutzutage Standard doch bei der Embedded-Ent-

wicklung wird dieser Aspekt haumlufig noch vernachlaumlssigt

MIchAEL STuRM chRISTIAN hOcK

Dr Michael Sturm leitet die Abteilung Softwarepro-dukte im Geschaumlftsbereich Industrybei der Berner amp Mattner Systemtech-nik in Muumlnchen

Dr christian hock ist verantwortlich fuumlr die strate-gische Ausrichtung des Geschaumlfts-bereiches Industry bei der Berner ampMattner Systemtechnik in Muumlnchen

Eine dokumentierte Software-Architek-tur hat klare Vorteile Produkte sindanpassungsfaumlhiger und zukunftssiche-

rer Auszligerdem erleichtert das Wissen umSchnittstellen Kommunikationsbeziehun-genundRessourcen einzelner Komponentenderen Anpassung an neue Hardwarebedin-gungenundFunktionsanforderungenNichtnur beiNeuentwicklungen sondern auchbeiModernisierungen bestehender Embedded-Loumlsungen lohnt es sich einen Software-Ar-chitekten einzubinden um Weiterentwick-lungenauf ein zukunftssicheres Fundamentzu stellen

Begruumlndete Technologie-entscheidungen treffenUnter Software-Architektur versteht man

die strukturierteAnordnungderKomponen-ten eines Systems mit Informationen zurKommunikation zwischen den Komponen-ten sowie deren Abbildung auf Hardware-oder Softwareressourcen Eine fruumlhzeitigeundprojektbegleitendeUnterstuumltzungdurcheinen den einzelnen Entwicklerteams moumlg-lichst neutral gegenuumlberstehendenSoftware-Architekten ist die ideale Loumlsung EineReihevon Aufgaben kann man dieser Instanz zu-ordnen in vielenBereichengeht es aber aucheinfach umModerationEine zentraleAufgabeder EmbeddedSoft-

ware-Architektur ist es nicht nur die funkti-onalen Anforderungen an die Software zuberuumlcksichtigen sondern auch nichtfunkti-

in seiner Loumlsungsfindung eingeschraumlnktsein Bewaumlhrte Loumlsungsansaumltzewerdendannoft unhinterfragt wiederholt Neue moumlgli-cherweise besser geeignete und insbesonde-re flexiblere Technologienbleibenunberuumlck-sichtigt

Zusammenhaumlnge muumlssennachvollziehbar bleibenDaher kannes zumBeispiel zudenAufga-

ben eines Software-Architekturteams oderexternen Beraters gehoumlren neue Technolo-

Groszliges Vorbild Softwaresysteme lassen sich hinsichtlich ihrer Komplexitaumlt mit Gebaumluden wie Antoni Gau-diacutes Kirche Sagrada Familia in Barcelona vergleichen Eine in sich schluumlssige Architektur ist deshalb auch imSoftwarebereich unerlaumlsslich

iStockph

otoham

ishBa

rrie

onale Anforderungen zu erfassen und zwarvor dem Hintergrund einer Lifecycle-Prog-nose Unter diese nichtfunktionalen Anfor-derungen fallen so komplexe Punkte wieWartbarkeit Modifizierbarkeit Skalierbar-keit Portierbarkeit Konnektivitaumlt Benutz-barkeit Zuverlaumlssigkeit Sicherheit Perfor-mance Effizienz oder TestbarkeitSo vorteilhaft ein eingespieltes Entwick-

lerteam fuumlr die Kommunikation ist so sehrkann es auch durch die Erfahrung aus Vor-gaumlngerprojekten oder aumlhnlichen Projekten

23

EmbEddEd-SyStEmE Software-architektur

gien zu evaluieren und auf Eignung fuumlr Pro-jekte zu pruumlfen sowie neue Toolsets zur Ver-fuumlgung zu stellen Kuumlnftig benoumltigteKompo-nenten muumlssen identifiziert werden undwenn es darum geht fuumlr einzelne Kompo-nenten optionale Technologien vorzuschla-gen bewaumlhrt sich haumlufig das Einschalteneines neutralen ArchitekturbeauftragtenEs geht um die Diskussion von Design-

Entscheidungen dieDefinition vonSchnitt-stellen und die Entwicklung von CodingConventions Unter der Moderation einesSoftware-Architekten erfolgen diese Ent-scheidungen bewusster und werden besserdokumentiert Nur sobleibendie Zusammen-haumlnge innerhalb eines Systems auch fuumlr Ent-wickler nachvollziehbar die spaumlter einmalan ihm arbeitenmuumlssen und nichts von denimplizitenAnnahmenund teaminternenGe-pflogenheiten seiner Schoumlpfer wissen

Implizite Architekturen sindimmer vorhandenIn der taumlglichen Praxis der Embedded-

Entwicklung sieht es leidermeist anders ausZeit- und Kostendruck verhindern oft dassGedankenundArbeit in eine systematisierteSoftware-Architektur flieszligen Hier koumlnnenSoftwarearchitekten auchdurchdieAuswahlgeeigneter Methoden und Tools weiter hel-fen So kann die dynamische Entwicklungheutiger Industrieproduktemit agilenAnsaumltzenunterstuumltztwerdenAuch einstrikt modellbasierter Entwicklungs-ansatz also die Modularisierung mitklar definierten Schnittstellen ist einMittel um einen hohen Reifegrad zuerreichen Die Vorteile dieses Vorge-henshaben sich in vielenProjektenbeiBerner amp Mattner in der Entwicklungvon Funktionserweiterungen gezeigtDank des modellbasierten Ansatzeskonnten diese mit minimalem Auf-wand realisiertwerdenndashunddies ins-besondere auch von urspruumlnglichnicht beteiligten EntwicklernAber Fakt ist Jedes Softwaresystem

hat eineArchitektur auchwenndiesenicht explizit modelliert wurde Ent-stehendiese Strukturenungeplant ausder Dynamik der Komponentenent-wicklung heraus tut dies der Funkti-onalitaumlt der Software zunaumlchst keinenAbbruch Probleme treten erst spaumlterauf wenn es umWartung Skalierungoder Portierung gehtImNachhinein raumlcht sichdann zum

Beispiel die Wahl einer bestimmtenProgrammiersprache oder einerSchnittstelle die unter dem Zeit- undKostendruck imEntwicklungsprozess

schnell und dazu noch undokumentiert ge-troffenwurdeDieKommunikation zwischeneinzelnen nicht klar getrenntenKomponen-ten war moumlglicherweise nur oberflaumlchlichgeloumlst anstatt schon bei derWahl der Tech-nologien und Sprachen darauf zu achtenReibungspotenziale zu minimieren

Zu enge Abhaumlngigkeiten vonder Hardware vermeidenWird ein Softwareprojekt nicht in Bezug

auf seinengesamtenLebenszyklus gesehenbesteht bei Embedded-Projekten auch dieGefahr dass ungewollteAbhaumlngigkeiten zurEntwicklungs-Hardware entstehen Die An-passung an neue Hardwaregenerationenkann dadurch sehr aufwaumlndig oder gar un-moumlglich werdenEine klar strukturierte unddokumentierte

Software-Architektur wird erst dann ver-misst wenn es bei der notwendigenWeiter-entwicklung Fragen und Schwierigkeitengibt Oft sollen wesentliche Teile der Soft-ware beibehalten aber zum Beispiel an einneuesBenutzerinterface angeschlossenwer-denManchmal ist der Controller fuumlr den siegeschrieben wurde nicht mehr verfuumlgbarund sein Nachfolger ist anders aufgebautFunktionenmuumlssen erweitert zusammenge-fuumlhrt oder auf geaumlnderte externe Systemeangepasst werden Die Pflege oder Weiter-

PRAxISWERT

Fehler lassen sichverhinderneine klar definierte und stringenteSoftware-architektur hilft die Zusam-menhaumlnge innerhalb eines Systemsbesser zu verstehen Dies verhindertfehler und senkt nicht zuletzt denaufwand bei der eventuell noumltigenbdquoaltbausanierungldquo von embedded-Systemen

Nachtraumlgliche Analyse nuumltztwurde die Software-architektur inder embedded-entwicklung vernach-laumlssigt lohnt sich angesichts der zuerwartenden langen einsatz- und Le-benszeiten vieler embedded-Systemeauch eine nachtraumlgliche analyse undDokumentation andernfalls drohenmoumlglicherweise immer wieder unkal-kulierbare Verzoumlgerungen wenn war-tungs- oder weiterentwicklungsarbei-ten eventuell auf undokumentierteeigenheiten des Systems stoszligen

H

SIG

HPEED

ROBUST

FLEXIBLE

TriCore Power Architecturebull

XC2000XE166 SH-2A XScalebull bull

Cortex M0M3M4 Cortex R4 Cortex A8 ARM7911bull bull bull

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

24

EmbEddEd-SyStEmE Software-architektur

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Literaturhinweise[1] Pete Goodliffe code craftthe Practice of writing excellent codeNoStarch Press 2006

[2] Peter hruschka Gernot Starkeknigge fuumlr SoftwarearchitektenentwicklerPress 2012

[3] craig Larman applying uML and Pat-terns an introduction to object-orien-ted analysis and DesignPrentice hall 2004 (3 auflage)[4] Berner amp Mattner-fachartikel bdquoSoft-warearchitektur in eingebetteten Syste-menldquo ndash httpbitlyJosXYw

entwicklung eines solchen Systemswird fuumlrden Produktverantwortlichen zu einerschwer kalkulierbaren Kostenquelle vor al-lem dann wenn er nicht mehr auf den KerndesurspruumlnglichenEntwicklerteams zuruumlck-greifen kannHilfestellung in solchen Situation bieten

Spezialisten wie Berner amp Mattner die Alt-systeme analysieren bestehende Software-Architektur nachdokumentierenundmoumlgli-che Migrations- und Aumlnderungspfade iden-tifizieren Als externe Architekturberaterkoumlnnen sie unbelastet von der Softwarehis-torie untersuchen wo in der Struktur derSoftware Problemfelder liegen und Loumlsun-gen vorschlagenDerAufwand fuumlr PflegeundWeiterentwicklung laumlsst sich auf Basis einersolchen Analyse besser beurteilen

Regeln aufstellen ndash und sierichtig brechenBesonders spannend wird das Thema bei

zertifiziertenEmbeddedSystemen Einehaumlu-fige Herausforderung ist dass die Softwareoder wesentliche Teile zertifiziert sind umeinem SIL (Safety Integrity Level) zu genuuml-gen Selbstverstaumlndlich moumlchte niemanderneut eine IEC 61508-Zertifizierung durch-laufen wenn sich dies vermeiden laumlsstGluumlcklicherweise sind oft nur einzelne rele-vante Teile des Systems als sicherheitskri-tisch eingestuft Die Kunst des Architektur-beraters ist es die Stellen in der Software zufinden andenendie Schnitte angesetztwer-denkoumlnnenndashund zwar zwischenden sicher-heitskritischen Teilen und den Teilen undSchnittstellen die problemlos geaumlndertwer-den koumlnnenHierzu nutzt der Berater gaumlngige Design-

Patternswie etwaSchichtenoder bdquopipes andfiltersldquo Ironischerweisemusshaumlufig das aufdieseWeise entstandene Regelwerk die ab-geleiteteArchitektur fuumlr das eigentlicheEnt-wicklungsprojekt gleich wieder gebrochenwerden eben um zertifizierte Bestandteileunveraumlndert zu erhalten Der groszlige Unter-schied zu den bdquoRegelverletzungenldquo aus derEntstehungszeit der urspruumlnglichen Soft-

ware liegt aber darin dass sie nun ausfuumlhr-lich dokumentiert werdenEs waumlre ein Missverstaumlndnis Software-

Architektur als ein unveraumlnderliches Doku-ment zu verstehen das man nur selten wie-der in die Hand nimmt Es sollte bei jederArbeit an der Software gelesen und gepflegtwerden Ohne dieses lebendige Dokumentwerden Architekturverstoumlszlige oft gar nichtbemerkt Vereinbarungen zu ArchitekturCodingConventions Schnittstellen etcwer-dendadurch fuumlr denEntwickler verbindlich

Architektur muss als Prozessverstanden werdenDer Auftraggeber erhaumllt so ein Embedded

System dessen Pflege er in die Haumlnde einesneuenTeamsgebenkannDie nun freigewor-denen Spezialisten die es erstellt habenkoumlnnen getrost an anderer Stelle eingesetztwerdenDabei gilt Software-Architektur endet nie

DennauchvondenEntwicklern einzusetzen-deDesign-Methodenwie zumBeispiel ObjectOrientedAnalysis andDesign (OOAD)habenklare Strukturen und die Trennung von Zu-

staumlndigkeiten zum Ziel - das ist eindeutigArchitekturEine klare Software-Architektur hilft die

Zusammenhaumlnge innerhalb eines Systemsbesser zu verstehen Dies verhindert Fehlerund senkt den Aufwand bei der bdquoAltbausa-nierungldquo von Embedded Systemen Wurdedie Software-Architektur in der Embedded-Entwicklung vernachlaumlssigt lohnt sich an-gesichts langer Einsatz- und Lebenszeitenvieler EmbeddedSystemeauchdie nachtraumlg-liche Analyse und Dokumentation Andern-falls drohen immer wieder unkalkulierbareVerzoumlgerungen wenn Wartungs- oder Wei-terentwicklungsarbeiten auf undokumen-tierte Eigenheiten des Systems stoszligen Beistark eingefahrenen Teams bzw zum Wis-sensaufbaubietet sichhier ein externer Soft-warearchitekt anDie meisten Fehler durch menschliches

Versagen entstehen dort wo wir nicht ver-stehen woran wir bdquoschraubenldquo Eine expli-zite Architektur traumlgt maszliggeblich dazu beidieWirkketten innerhalb komplexer Systemetransparent zu machen Mit diesem Wissenwerden erforderliche Aumlnderungen wesent-lich schneller bewertet und zuverlaumlssig rea-lisiert FG

Berner ampMattner +49(0)89 6080900

Zusammenhaumlnge verstehen Explizite Software-Architektur traumlgt maszliggeblich dazu bei die Wirkungs-zusammenhaumlnge komplexer Systeme anschaulich und transparent zu machen

iStockph

otoSirgunhik

Lebenslaumlnglich Software-architekturdesign

requirements engineering fuumlr embedded-Systeme

InfoClick

wwwelektronikpraxisde InfoClick 3343141

25

Kolumne

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

Mit Fragen zum ProjekterfolgPETER SIwON

Heute stelle ich Ihnen ein Wundermit-tel vormit demSie inProjekten vielEnergie Zeit und Geld sparen

Gleichzeitigmotiviert es IhreMitarbeiter DerEinsatz des Wundermittels hat sehr viel mitdem BuchstabenWwieWunder zu tun DasBeste daran Es kostet nichts undSie kennenes alle DasWundersameandiesemWunder-mittel ist allerdings dass es trotzdem zu sel-ten eingesetzt wird Ich gebe Ihnen noch einpaar TippsWie kommenSie ameffektivstenan Informationen Wie erfahren Sie amschnellstenwas andereMenschendenkenWie findenSie amschnellstenLoumlsungenDieAntwort lautet FragenUnddie beginnenoftmit wo wie wann oder wer Vielleicht sindSie jetzt uumlber diese simple Antwort ent-taumluscht nachdem ich Ihnen den Mund mitallerlei Wunderversprechungen waumlssrig ge-macht habe An dieser Stelle koumlnnten Siespaszligeshalber auf das Themaeinsteigenundfragen bdquoWie kommen Sie darauf diese Me-thode alsWundermittel zu bezeichnenldquo Siekoumlnnten aber auchgelangweilt denken bdquoWeiszligschon offene Fragen stellenldquo und aufhoumlrenzu lesen Sind Sie sich ganz sicher dass Siealle meine Argumente kennen Das ist zwaretwasmanipulativ abermit dieser Fragebrin-ge ich Sie immerhindazu IhrenStandpunktzu hinterfragen Vielleicht lautet die so pro-vozierteAntwort bdquoNaja eigentlichbin ichmirnicht sicherldquo ndash und Sie lesen doch weiterDas Praktische an solchenFragen ist dass

Sie sich von Ihrer eigenen Antwort in derRegel besser uumlberzeugen lassen Ichhaumltte Sieauch schulmeisterlich zu IhremGluumlck zwin-gen koumlnnen bdquoSie muumlssen weiterlesen weilichweiszlig dass Sie noch jedeMengeWichtigeserfahren das Sie unmoumlglich wissen koumln-nenldquo Dasmache ich aber nicht weil ich dieNachteile kenne 1 Siemuumlssen gar nichts 2Wenn Sie muumlssen dann wollen Sie nichtIhre Motivation ist gering 3 Woher will ichwissen obSie nichtmehr uumlber dieKunst desFragens wissen als ich selbst Damit die ge-rade so schoumln erzeugte Motivation nichtgleichwieder auf demAltarmeines Egos ge-opfert wird spare ichmir PseudofragenwiebdquoHab ichs Ihnennicht gleich gesagtldquo Statt-dessen bedanke ich mich bescheiden fuumlrIhreBereitschaftweiterzulesen Ich gebe zudas faumlllt mir manchmal schwerGeschriebener Text schraumlnkt dieMoumlglich-

keiten etwas einDarumstellen Sie sichbitte

die obenangedeutete Szene als persoumlnlichesGespraumlch vor In diesem Fall koumlnnte ich ausdem W-Vollen schoumlpfen Wenn Sie mir zuverstehen geben dass Sie sich selbst schonmit dem Thema befasst haben dann werdeich Sie beispielsweise fragen bdquoDas freutmich Welche Erfahrungen haben Sie ge-machtldquo oder bdquoWas wuumlrden Sie aus IhrerErfahrung empfehlenldquo Jetzt habe ich dieChance etwas von Ihnen zu lernen Gleich-zeitig spare ich Energie und Uumlberzeugungs-arbeit weil ich einfach nur zuhoumlre Ich wer-de IhreAussagendurchRuumlckmeldungenwiebdquointeressantldquo oder bdquoDa stimme ich Ihnen zuldquounterstreichen Mit meinen Fragen will ichnicht beweisen dass ich der Schlauere binsondern dass Fragen ein echtesWundermit-tel sind Durch interessiertes Nachfragenkann ich Ihnen dabei helfen neue Aspektezu entdecken Was tue ich wenn ich eineandere Meinung habe Statt Geschuumltze wiebdquoJa aberhellipldquo oder bdquoNein das kann nicht seinweilhellipldquo aufzufahren umSie rhetorisch abzu-wuumlrgen oder zu knebeln ist es erheblichnuumltzlicher die Hintergruumlnde Ihrer Darstel-lungdurchFragenherauszufinden Falls Siefalsch liegen kommen Sie vielleicht durchdenVersuchmeine Fragen zubeantwortenselbst dahinter Ich spare mir dann die an-strengende Prozedur der Gegenargumenta-tion Dann werde ich uns beide dazu be-gluumlckwuumlnschen dass wir unser Wissen ge-meinsam bereichert haben ndash denn genauso

ist es Sollte ich derjenige sein der falschliegt kann ich dazulernen ohne mir eineBloumlszlige zu gebenJetzt stellen Sie mir da ich mich als Fra-

genfreundgeoutet habe eine Fragewie bdquoWaswuumlrdenSie tunwenneinunselbststaumlndigerMitarbeiter staumlndig fragt was er tun sollldquoIch wuumlrde wie sollte es anders sein post-wendendeineGegenfrage stellen bdquoWas glau-ben Sie wuumlrde ich tunldquo und Ihnen damitschon die Antwort in den Mund legen fra-gen Tolle Fragen in solchen Situationensind Was haben Sie oder andere in aumlhnli-chen Situationen getan Warum glaubenSie hat es bisher nicht funktioniertldquo Da-nach bringe ich hoffentlich die Geduld fuumlrzweiVerhaltensweisen auf die fuumlr denErfolgeiner Frage wichtig sind Erstens halte ichden Mund um Ihnen Zeit zum NachdenkenzugebenAlsGefragter habenSie es naumlmlichnicht leicht Sie denkennun zuerst uumlbermei-ne Frage und dann uumlber Ihre Antwort nachWenn ich waumlhrend Sie gruumlbeln die Frageselbst beantworte oder noch eine Frage hin-terher schieszlige habe ich alles verdorben Ichzaumlhle also im Kopf bis 5 um diese Falle zuvermeiden Zweitens zeige ich Ihnen wennSie antworten durchAugenkontakt Nickenkurze Ruumlckmeldungen und Verstaumlndnisfra-gen mein Interesse Aktives Zuhoumlren ist diebeste Gewaumlhr dafuumlr dass mir nichts Wichti-ges entgeht und es ist ein Zeichen groszligerWertschaumltzung So gewinne ichdurchFragenund Zuhoumlren Ihre Sympathie Das Wundervollzieht sich also in drei Schritte FragenWarten Zuhoumlren Wenn Sie auf diese Weiseeine gute Idee finden goumlnne ich Ihnen IhrErfolgserlebnis und sage so etwas wie bdquoSu-per das houmlrt sich interessant anldquo Und ichlege gleichnoch eine Frage als ZugabedraufbdquoWannglaubenSiewerdenSie die Idee aus-probierenldquo Diese nachgeschobene Fragehat gegenuumlber einer Aufforderungwie bdquoPro-bieren Sie es doch morgen gleich ausldquo dengroszligen Vorteil dass ich so Ihr Gefuumlhl derEigenverantwortung erhalte bzw foumlrdere IchbeendediesenkurzenAusflug indieWelt derW-Wunder wie auch sonst mit einer FrageHaben Sie Interesse zum Thema Fragetech-nikenWollen Sie eine kostenlose Checklis-te zu Fragetechniken Dann senden Sie mirbitte eine E-Mail an psiwondie-menschli-che-Seitede hEh

Mit Fragen zum Projekterfolg Peter Siwon beschaumlf-tigt sich seit mehr als 20 Jahren mit den ThemenGehirn und Psyche im Zusammenhang mit derProjektarbeit in technischen Berufen

InfoClick 3370352

26 ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

RedaktionChefredakteur Johann Wiesboumlck (jw) ViSdP fuumlr die redaktionellen InhalteRessorts Zukunftstechnologien Kongresse Kooperationen Tel (09 31) 4 18-30 81Chef vom dienst Peter Koller (pk) Tel (09 31) 4 18-30 98Verantwortlich fuumlr dieses Sonderheft Franz Graser Tel -30 92Redaktion Muumlnchen Tel (09 31) 4 18-Franz Graser (fg) Prozessor- und Softwarearchitekturen Embedded Plattformen Tel -30 92Martina Hafner (mh) Produktmanagerin Online Embedded Software Engineering KongressTel -30 82Hendrik Haumlrter (heh) Messtechnik Testen EMV Medizintechnik Laborarbeitsplaumltze DisplaysOptoelektronik Embedded Software Engineering Tel -30 92Holger Heller (hh) ASIC Entwicklungs-Tools Embedded Computing MikrocontrollerProzessoren Programmierbare Logik SOC Tel -30 83Gerd Kucera (ku) Automatisierung Bildverarbeitung Industrial Wireless EDALeistungselektronik Tel -30 84Thomas Kuther (tk) Kfz-Elektronik Stromversorgungen Oszillatoren Passive BauelementeTel -30 85Kristin Rinortner (kr) Analogtechnik Mixed-Signal-ICs Elektromechanik Relais Tel -30 86Margit Kuther (mk) Bauteilebeschaffung Distribution Beruf amp Karriere Tel (0 81 04) 6 29-7 00Freie Mitarbeiter Prof Dr Christian Siemers FH Nordhausen und TU Clausthal Peter SiwonMicroConsult Sanjay Sauldie EIMIA Hubertus Andreae dreiplus praxisbegleitendeInnovationsfoumlrderungVerantwortlich fuumlr die Fed-news Dr Stephan Weyhe FED Alte Jakobstr 8586 D-10179 BerlinTel (0 30) 8 34 90 59 Fax (0 30) 8 34 18 31 wwwfeddeRedaktionsassistenz Eilyn Dommel Tel -30 87RedaktionsanschriftMuumlnchen Grafinger Str 26 81671 Muumlnchen Tel (09 31) 4 18-30 87 Fax (09 31) 4 18-30 93Wuumlrzburg Max-Planck-Str 79 97082 Wuumlrzburg Tel (09 31) 4 18-24 77 Fax (09 31) 4 18-27 40LayoutMichela Deppe Joachim Haselmann Carolin Frank Sigrid Rau Meike Herkersdorf Mar-kus Mager

eLektRonikPRaXiS ist organ des Fachverbandes elektronik-design eV (Fed)Fed-Mitglieder erhalten eLektRonikPRaXiS im Rahmen ihrer Mitgliedschaft

VeRLagVogel Business Media GmbH amp Co KG Max-Planck-Straszlige 79 97082 WuumlrzburgPostanschriftVogel Business Media GmbH amp Co KG 97064 WuumlrzburgTel (09 31) 4 18-0 Fax (09 31) 4 18-28 43BeteiligungsverhaumlltnisseVogel Business Media Verwaltungs GmbHKommanditistin Vogel Medien GmbH amp Co KG Max-Planck-Straszlige 79 97082 Wuumlrzburggeschaumlftsfuumlhrung Stefan Ruumlhling (Vorsitz) Florian Fischer Ernst Haack Guumlnter SchuumlrgerPublisher Johann Wiesboumlck Tel (09 31) 4 18-30 81anzeigenleitung Franziska Harfy Tel (09 31) 4 18-30 88Fax -30 93 Grafinger Str 26 81671 Muumlnchen franziskaharfyvogeldeanzeigenverkauf Wuumlrzburg Tel (09 31) 4 18- Fax (09 31) 4 18-28 43Susanne Muumlller Tel -23 97 susannemuellervogeldekey-account-Manager Tel (09 31) 4 18- Fax (09 31) 4 18-28 43Hans-Juumlrgen Schaumlffer Tel -24 64 hansschaeffervogeldeClaudia Fick Tel -30 89 Fax -30 93 Grafinger Str 26 81671 Muumlnchen claudiafickvogeldeMarketingleitung Elisabeth Ziener Tel (09 31) 4 18-26 33auftragsmanagement Claudia Ackermann Tel (09 31) 4 18-20 58 Maria Duumlrr Tel (09 31) 4 18-22 57anzeigenpreise Zur Zeit gilt Anzeigenpreisliste Nr 47 vom 01 01 2012Vertrieb Leser- und abonnenten-Service DataM-Services GmbHFranz-Horn-Straszlige 2 97082 Wuumlrzburg Thomas Schmutzler Tel (09 31) 41 70-4 88 Fax -4 94tschmutzlerdatam-servicesde wwwdatam-servicesdeerscheinungsweise 24 Hefte im Jahr (plus Sonderhefte)

Verbreitete auflage 40009 Exemplare (IVWEDA Audit Oktober 2011)Angeschlossen der Informationsgemeinschaft zur Feststellung der Verbreitung von Wer-betraumlgern Sicherung der AuflagenwahrheitBezugspreis Einzelheft 900 EUR Abonnement Inland jaumlhrlich 19700 EUR inkl MwSt

Abonnement Ausland jaumlhrlich 22820 EUR (Luftpostzuschlag extra) Alle Abonnementpreiseverstehen sich einschlieszliglich Versandkosten (EG-Staaten ggf +7 USt)Bezugsmoumlglichkeiten Bestellungen nehmen der Verlag und alle Buchhandlungen im In- undAusland entgegen Sollte die Fachzeitschrift aus Gruumlnden die nicht vom Verlag zu vertretensind nicht geliefert werden koumlnnen besteht kein Anspruch auf Nachlieferung oder Erstattungvorausbezahlter Bezugsgelder Abbestellungen von Voll-Abonnements sind jederzeit moumlglichBankverbindungen HypoVereinsbank Wuumlrzburg (BLZ 790 200 76) 326 212 032SWiFt-Code HY VED EMM 455 IBAN DE65 7902 0076 0326 2120 32Herstellung Andreas Hummel Tel (09 31) 4 18-28 52Frank Schormuumlller (Leitung) Tel (09 31) 4 18-21 84druck Vogel Druck und Medienservice GmbH 97204 Houmlchbergerfuumlllungsort und gerichtsstandWuumlrzburgManuskripte Fuumlr unverlangt eingesandte Manuskripte wird keine Haftung uumlbernommenSie werden nur zuruumlckgesandt wenn Ruumlckporto beiliegtinternet-adresse wwwelektronikpraxisde wwwvogeldedatenbank Die Artikel dieses Heftes sind in elektronischer Form kostenpflichtig uumlber dieWirtschaftsdatenbank GENIOS zu beziehen wwwgeniosde

VeRLagSBuumlRoSVerlagsvertretungen inLand Auskunft uumlber zustaumlndige VerlagsvertretungenJens Otte Tel (09 31) 4 18-26 47 Fax (09 31) 4 18-28 57 jensottevogeldeaUSLand Belgien Luxemburg Niederlande SIPAS Peter Sanders Sydneystraat 105 NL-1448NE Purmerend Tel (+31) 299 671 303 Fax (+31) 299 671 500 petersandersvogeldeFrankreich DEF amp COMMUNICATION 48 boulevard Jean Jauregraves 92110 ClichyTel (+33) 14730-7180 Fax -0189groszligbritannien Vogel Europublishing UK Office Mark Hauser Tel (+44) 800-3 10 17 02Fax -3 10 17 03 markhausercomcastnet wwwvogel-europublishingcomUSaCanada VOGEL Europublishing Inc Mark Hauser 3321 Ashbourne CircleSan Ramon CA 94583 Tel (+1) 9 25-6 48 11 70 Fax -6 48 11 71

Copyright Vogel Business Media GmbH amp Co KG Alle Rechte vorbehalten Nachdruck digitale Verwendung jederArt Vervielfaumlltigung nur mit schriftlicher Genehmigung der Redaktion Fotokopieren veroumlffentlichter Beitraumlge istgestattet zu innerbetrieblichen Zwecken wenn auf jedes Blatt eine Wertmarke der Verwertungsgesellschaft WortAbt Wissenschaft in 80336 Muumlnchen Goethestraszlige 49 nach dem jeweils geltenden Tarif aufgeklebt wird Nachdruckund elektronische Nutzung Wenn Sie Beitraumlge dieser Zeitschrift fuumlr eigene Veroumlffentlichung wie Sonderdrucke Websi-tes sonstige elektronische Medien oder Kundenzeitschriften nutzen moumlchten erhalten Sie Information sowie dieerforderlichen Rechte uumlber httpwwwmycontentfactoryde (09 31) 4 18-27 86

Impressum

EDA

Wuumlrzburg 19 ndash 20 Juni 2012Vogel Convention CenterVCC

wwwsteckverbinderkongressde

Anwender sprechenmit Herstellern

Kongress und Tabletop-Ausstellung

Programm Unter wwwsteckverbinderkongressdefinden Sie die ausfuumlhrliche Agenda

Keynote Herausforderung Miniaturisierung ndash ZukuumlnftigeAnforderungsprofile bei Steckverbindern

Themen Applikationsspezifische Steckverbinder Kompakt-Steckverbinder fuumlr hohe Datenraten

Miniaturisierung Intelligente Steckverbinder Steckverbinder fuumlr besondere Anwendungen Qualifizierung Werkstoffe Verarbeitungsprozesse

Workshops Umspritzen von Kabeln Abdichten von Steckverbindungen Messtechnik Thermosimulation Design-in 3-D-Modellierung Schadensanalytik Beschichtungsverfahren

Aumlnderungen vorbehalten

Saumlmtliche Informationen zur Veranstaltung finden Sie unter---gt wwwsteckverbinderkongressde

Veranstalter

in Zusammenarbeit mit den Industriepartnern

07908

Alle Informationen unter wwwese-kongressde

Hauptsponsoren 2012 Veranstalter

20123ndash 7 Dezember 2012 in Sindelfingen

bdquoWissen ist das einzige Gutdas sich vermehrtwenn man es teiltldquo

(Marie Freifrau von Ebner-Eschenbach oumlsterreichische Schriftstellerin)

ESE Kongress ndash Ideen entwickeln Profis treffen Loumlsungen findenDer Embedded Software Engineering Kongress mit uumlber 800 Teilnehmern ist die groumlszligte deutschsprachigeVeranstaltung die sich ausschlieszliglich der Entwicklung von Geraumlte- Steuerungs- und Systemsoftware fuumlrIndustrie Kfz Telekom sowie Consumer- und Medizintechnik widmet Vom 3 bis 7 Dezember trifft sichdie Embedded-Software-Branche wieder in Sindelfingen ndash wir freuen uns auf Sie

Aussteller und Sponsoren 2012Axivion BBV Software Services dSPACE EASYCODE ELEKTRONIKPRAXIS emlix ETAS Fraunhofer IESEGreen Hills Software Hitex IAR Systems IMACS Infineon Intland Software iSYSTEM Lauterbach LDRALogic Technology linutronix macio MicroConsult National Instruments Noser Engineering Parasoftpls Programmierbare Logik amp Systeme Protos pure-systems QA Systems QNX Software Systems SafeTRANSseppmed Software Quality Lab SparxSystems Vector Informatik Vector Software Verifysoft Technology WillertSoftware Tools Zuumlhlke

Seit 30 Jahren vertrauen weltweit fuumlhrende Firmen Green Hills Softwarersquos sicherer undzuverlaumlssiger Software fuumlr sicherheitskritische Systeme

Fuumlr Luftfahrt- und Automobilindustrie fuumlr Telecom- Medizin- und Industrietechniksowie fuumlr intelligente Energienetze hat Green Hills Software erprobte und zuverlaumlssigeTechnologie geliefert

Wenn Sie wissen moumlchten wie eines der weltweit sichersten und zuverlaumlssigstenBetriebssysteme und dessen Entwicklungstools das Risiko aus Ihrem naumlchstenProjekt nehmen kann besuchen Sie uns unter wwwghscoms4e

Copyright copy 2012 Green Hills Software Green Hills Software and the Green Hills logo are registered trademarks ofGreen Hills Software All other product names are trademarks of their respective holders

Vertrauenswuumlrdige softwarefuumlr embedded deVices

safereliable

secure

  • Seite 1
  • Seite 2
  • Seite 3
  • Seite 4
  • Seite 5
  • Seite 6
  • Seite 7
  • Seite 8
  • Seite 9
  • Seite 10
  • Seite 11
  • Seite 12
  • Seite 13
  • Seite 14
  • Seite 15
  • Seite 16
  • Seite 17
  • Seite 18
  • Seite 19
  • Seite 20
  • Seite 21
  • Seite 22
  • Seite 23
  • Seite 24
  • Seite 25
  • Seite 26
  • Seite 27
  • Seite 28
Page 3: Securityineingebetteten Softwaresystemenfiles.vogel.de/vogelonline/vogelonline/issues/ep/2012/...Securityineingebetteten Softwaresystemen Angreifer nehmen Industriesteuerungen,Stromnetzeund

4

Inhalt

ElEKtROnIKPRaXIS Embedded Software Engineering Report Juni 2012

SchwerpunkteTest und Qualitaumltssicherung

6 Mutationstest ndash Plaumldoyer fuumlr eine vernachlaumlssigteTesttechnikBei Mutationstests wird die zu testende Software mutiertalso veraumlndert Danach wird gepruumlft ob die vorhandenenTestfaumllle diese Mutation aufdecken Die Methode hilft zumBeispiel dabei Testfallmengen zu bewerten

Softwaresicherheit10 Die drei Gesichter der Sicherheit

Der zweite Teil der Serie fasst Expertenmeinungen zumThema Security im Embedded-Umfeld zusammen Im Mit-telpunkt stehen unbefugte Zugriffe sowie gezielte Angriffeauf Embedded-Systeme

Software-DesignTiTelTheMa

14 Grundlagen der Sicherheit bei embedded-SoftwareSchutzmechanismen auf Hardware- und Betriebssytemebe-ne gegen Angriffe von auszligen reichen nicht aus Deswegenmuumlssen Embedded-Entwickler bei der Planung ihrer Appli-kationen auch Security-Aspekte beruumlcksichtigen

Systementwurf18 audiodaten drahtlos mit licht uumlbertragen

Audiosignale mit Laser oder High-Power-LED uumlbertragenWir stellen eine Schaltung vor die Audiosignalein groszligen Raumlumen mit hoher Funkbelastung sichertransportiert

Programmiersprachen20 Stabile Systeme mit der Programmiersprache ada

Die Programmiersprache Ada eignet sich insbesonderefuumlr sicherheits- und missionskritische Software und istinsbesondere im Luft- und Raumfahrtsektor verbreitet Wirstellen die Sprache und die Programmierumgebung vor

Software-Architektur22 Von der impliziten zur expliziten architektur

Im Embedded-Bereich ergibt sich sich die Software-Architektur mitunter ad hoc Der Beitrag gibt Hinweise undTipps darauf wie sich eine solche implizite Architektursystematisieren laumlsst

SofTware-DeSiGn

Security-Grundlagen fuumlrEmbedded-SoftwareEingebettete Softwaresysteme insbesondereSCADA-Systeme (Supervisory Control and Data Ac-quisition) die Industrieanlagen Verkehrsnetze oderKraftwerke steuern sind ins Visier von Hackern undAngreifern geraten Viele Attacken nutzen gezieltSchwachstellen in den Embedded-Anwendungenaus Diese Sicherheitsluumlcken gilt es schon vorab zustopfen Der Embedded-Spezialist David Kalinskyzeigt die wichtigsten Grundsaumltze auf

14

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

Kolumne25 Mit Fragen zum Projekterfolg

Wer nicht fragt erfaumlhrt nichts Diese Binsenweisheit laumlsstsich auch auf die Arbeitswelt und die Embedded-Entwick-lung uumlbertragen Fragen Sie Und fragen Sie richtig

RubRiKen3 Editorial

13 Aktuelles

26 Impressum

Titelbild Siemens-Pressebild PSDgraphics

10 Die drei Gesichter derSystemsicherheit

20 Ada Musterschuumller inSachen Sicherheit

18 Drahtlose Audio-Uumlbertra-gung mit Licht

22 Architektur macht Syste-me auf Dauer wartbar

Das Magazin als E-Paper lesenwwwelektronikpraxisdeepaper

Folgen Sie uns auf Twitterwwwtwittercomesesoftwarenews

Der ESE Kongresswwwese-kongressde

demousercomVertrieb von Elektronikbauelementen undHalbleitern fuumlr Entwicklungsingenieure

Autorisierter Distributor

Bei uns istKundenberatungkeine Fremdsprache

Um neue Produkte schneller als andere auf den Markt zu bringensind Vor-Ort-Kenntnisse ein Muss Mouser bietet uumlber seinweltweites Netz ausgezeichneten Verkaufs- und Beratungsserviceund professionellen technischen Support mit der notwendigenErfahrung lokaler Faktoren

Mouser und Mouser Electronics sind eingetragene Markenzeichen von Mouser Electronics Inc Alle anderen hierin

aufgefuumlhrten Produkte Logos und Namen von Unternehmen koumlnnen Warenzeichen der jeweiligen Besitzer sein

demousercomDie neuesten Produkte fuumlr Ihre neuesten Designstrade

DeutschlandElsenheimerstr 11 | 80687 Muumlnchen+49 (0) 8952 04621 10 | munichmousercom

6

EmbEddEd-Entwicklung TesT und QualiTaumlTssicherung

ELEKTRONIKPRAXIS embedded software engineering report Juni 2012

Mutationstest ndash ein Plaumldoyer fuumlreine vernachlaumlssigte Testtechnik

Softwareentwickler und Tester die von Zweifeln hinsichtlich der Quali-taumlt ihrer Tests beschlichen werden koumlnnen ihre Bedenken vielleicht mit

einem Mutationstest ausraumlumen

FRANK BuumlchNER

Frank-Buumlchner ist Diplom-Informatiker und arbei-tet als Senior Test Engineer bei HitexDevelopment Tools in Karlsruhe

Bei einem Mutationstest wird die Soft-ware (beziehungsweise das Testob-jekt) veraumlndert (bdquomutiertldquo) Danach

wird gepruumlft ob die vorhandenen Testfaumlllediese Mutation aufdecken Im Fachjargonheiszligt dies Der Mutant wird durch den Test-fall bdquogetoumltetldquo Ein Testfall der einenMutan-ten erkennt heiszligt adaumlquat Fuumlr eineMutati-on sindder Phantasie keineGrenzengesetztjedochmuss das Testobjekt syntaktisch kor-rekt also kompilierbar bleiben Fuumlr unserenZweck sollten die Mutationen jedoch ziem-lich subtil sein

Typische Mutationen bei C-Programmen(das Fehlermodell) sind die Verfaumllschungvon logischen Ausdruumlcken (beispielsweisedas Ersetzen eines logischenUNDdurch einlogischesODER) dieVerfaumllschungvonarith-metischen Ausdruumlcken (etwa die Additioneines konstanten Werts in einer Berech-nung) dieManipulation vonVariablen (bei-spielsweise Vertauschung von zwei Variab-len) dieVerfaumllschungvon relationalenOpe-ratoren (beispielsweise sbquoltrsquo durch sbquogtrsquo ersetzen)oder die Manipulation von Anweisungen(beispielsweise das Entfernen eines else-Zweigs oder das Einfuumlgen einer return-An-weisung)Die Mutanten die wir im Folgenden be-

trachten enthalten genau eine MutationDem liegt die empirischbestaumltigteAnnahme[6] zugrunde dass wenn ein Testfall einen

Mutantenmit genau einer (subtilen) Abwei-chung erkennt dieser Testfall auch Mutan-ten mit komplexeren Abweichungen toumltenwuumlrde (Kopplungseffekt) Auszligerdem redu-zieren wir dadurch den Aufwand der not-wendig ist umzu entscheiden obdurchdieMutation ein Mutant entstanden ist dernicht getoumltet werden kann In diesem Fallunterscheidet sichdasnachauszligen sichtbareProgrammverhaltennicht Original undMu-tant sind funktional aumlquivalent In der Praxismuss ein Mensch entscheiden ob OriginalundMutant funktional aumlquivalent sind

Vorhandene Testfaumllle auf dieMutanten anwendenUm einen Mutationstest vorzunehmen

muss man zwei Dinge tun Man muss einenMutanten erzeugen und man muss die vor-handenen Testfaumllle auf diesen MutantenanwendenWeilwir nurwenige stichprobenartigeMu-

tanten erzeugenwollen benoumltigen wir hier-zu kein Werkzeug Wir koumlnnen dies leichtmanuell erledigen Aufwendiger ist die Test-durchfuumlhrung Wenn wir von 20 Testfaumlllenund 10 Mutanten ausgehen muumlssen 200Testfaumllle ausgefuumlhrt werden Das macht dieAutomatisierung der Testausfuumlhrung in derPraxis notwendig In unserem Fall verwen-den wir das Unit-Testwerkzeug Tessy [7]Als erstes Beispiel betrachtenwir die klei-

ne Funktion shiftC()short shiftC(short A short B short C)if (A ampamp B)return Cltlt1elsereturn Cltlt2

Die Tabelle 1 auf der Seite 8 zeigt das Test-

ergebnis fuumlr zwei Testfaumllle diemit Tessy aufdem Original-Quellcode von shiftC() ausge-fuumlhrt wurden Beide Testfaumllle liefern dasrichtige (erwartete) Ergebnis und Tessy er-mittelt fuumlr diese beiden Testfaumllle zusammen

FunktionsschemaAblauf des Mutati-onstests mit demWerkzeug TessyBeim Mutationstestwird die Softwareveraumlndert Danachwird gepruumlft ob dieMutation von denvorhandenen Test-faumlllen aufgedecktwird

hitexde

velopm

entTools

Die weltweitGROumlszligTE AUSWAHLELEKTRONISCHERKOMPONENTEN

Verfuumlgbar fuumlr die sofortige Lieferung

08001800125DIGIKEYDEMEHR ALS 550000 PRODUKTE AUF LAGER | MEHR ALS 500 LIEFERANTEN | NEUE PRODUKTE WERDEN TAumlGLICH HINZUGEFUumlGT

Fuumlr alle Bestellungen unter 6500 euro wird eine Versandgebuumlhr von 1800 euro erhoben Alle Bestellungen die mit UPS versandt werden haben eine Lieferzeit von 1-3 Tagen (abhaumlngig vom Endbestimmungsort) Keine Bearbeitungsgebuumlhren AllePreise verstehen sich in Euro und enthalten Zollgebuumlhren Bei einem zu groszligen Gewicht oder bei unvorhergesehenen Umstaumlnden die eine Abweichung von diesem Tarif erfordern werden Kunden vor dem Versand der Bestellung kontaktiertDigi-Key ist ein autorisierter Distributor fuumlr alle Vertriebspartner Neue Produkte werden taumlglich hinzugefuumlgt copy 2012 Digi-Key Corporation 701 Brooks Ave South Thief River Falls MN 56701 USA

8

EmbEddEd-Entwicklung TesT und QualiTaumlTssicherung

ELEKTRONIKPRAXIS embedded software engineering report Juni 2012

eine Zweiguumlberdeckung von 100 Dasheiszligt Sowohl der then-Zweig als auch derelse-Zweig der if-Anweisung wurden ausge-fuumlhrt Und da unsere beiden Testfaumllle nichttrivial sind sollten wir fertig sein ndash oderUmuns zu vergewissern koumlnnenwir unser

Testobjekt mutieren Viele der moumlglichenMutationen wuumlrden durch unsere beidenTestfaumllle aufgedeckt zumBeispielwenndieEntscheidung bdquo(A ampamp B)ldquo zu bdquo(C ampamp B)ldquo ver-aumlndert wird Hier schlaumlgt der erste TestfallfehlWird jedoch in der Entscheidung die Vari-

able B durch C ersetzt so wird diese Muta-tion nicht erkanntshort shiftC(short A short B short C)if (A ampamp C)return Cltlt1elsereturn Cltlt2

Wird in der Entscheidung das logischeUND (ampamp) durch ein bitweises UND (amp) er-setzt wird diese Mutation ebenfalls nichterkanntshort shiftC(short A short B short C)if (A amp B)return Cltlt1elsereturn Cltlt2

Beide nicht erkannten Mutationen sind

subtil veraumlndern jedoch das Verhalten desTestobjekts signifikant und koumlnnen durcheinen Denk- oder auch einen Fluumlchtigkeits-fehler relativ leicht entstehenUmden zweitenMutanten zu toumlten reicht

es aus dieWerte eines der beiden bestehen-den Testfaumllle zu aumlndern ZumBeispiel koumlnn-te man im zweiten Testfall einfach denWert2 fuumlr B verwenden (allerdingsnicht denWert5)

Um beide Mutanten nachhaltig zu toumlten(das heiszligt ohne dass unmittelbar spiegel-bildliche Mutationen moumlglich werden dienicht getoumltet wuumlrden) benoumltigt man einendritten Testfall in dem die Variable B denWert 0 annimmt Die Tabelle 2 im Kastenlinks zeigt die ResultateMit dendrei Testfaumll-len in der Tabelle 2 werden beide Mutantenerkannt Durch die Verwendung von dreiTestfaumlllen wird uumlberdies der Code-Uumlberde-ckungsgrad von 100 Zweiguumlberdeckungauf 100MCDC (Modified ConditionDeci-sion Coverage ein Kriterium des StandardsDO-178B) erhoumlhtMit Hilfe eines Mutationstests kann man

auchTestfallmengenbewerten Eine Testfall-menge heiszligt adaumlquat wenn sie alle Mutan-ten aufdeckt Von zwei adaumlquaten Testfall-mengen ist natuumlrlich diejenige mit wenigerTestfaumlllen vorzuziehenDies ermoumlglicht auchdenVergleich von Testfallkonstruktionsver-fahrenMankanndie IdeedesMutationstestszur Reduzierung der normalerweise groszligenZahl vonautomatisch generiertenTestfaumlllenverwenden [5] Ein Testfallmussmindestenseinen Mutanten toumlten der bisher noch vonkeinem anderen Testfall getoumltet wurde umnicht verworfen zu werden

Mutationstests aus Sicht derNorm IEC 61508DieNorm IEC 61508 bezeichnet denMuta-

tionstest als bdquoDurchfuumlhrung von Testfaumlllennach Fehlereinpflanzungldquo und empfiehltdies fuumlr Safety Integrity Level (SIL) 2 bis 4Die IEC61508 fuumlhrt auchaus dassmanaus

der Anzahl der Fehler die eine Testsuite ineinem originalen Testobjekt entdeckt undder Zahl der Mutationen die diese Testsuiteermittelt eine Abschaumltzung fuumlr die Gesamt-zahl der im Testobjekt vorhandenen Fehlerfinden kann (praumldizierend) Das Verhaumlltnisder erkanntenMutanten zurGesamtzahl derMutanten ist gleichdenVerhaumlltnis der gefun-denenFehler imoriginalenTestobjekt zuderGesamtzahl der Fehler imoriginalenTestob-jekt Diese Abschaumltzung setzt natuumlrlich diegleiche statistischeVerteilung vonArtenundPositionen der Mutationen und der tatsaumlch-lichen Fehler voraus Wenn beispielsweisedie tatsaumlchlichen Fehler fehlerhafte Berech-nungen sind jedoch keine arithmetischenMutationen verwendetwerdenwirddieAb-schaumltzung kaum zutreffen

Eine Variante Der schwacheMutationstestObwohl sichdas aumluszligere Programmverhal-

ten des Mutanten gegenuumlber dem Originalnicht aumlndert kann es sein dass ein Testfallim Innern desMutanten einen anderen Pro-

Auswertung der Testergebnisse

die Tabelle 1 zeigt zwei Testfaumllle fuumlr dieFunktion bdquoshiftc()ldquo in den spalten a Bund c werden die eingabewerte fuumlr dieeingangsvariablen a B und c der Funk-tion angegeben das ergebnis der Funk-tion bdquoshiftc()ldquo ist der bdquoreturnldquo-Wert derFunktion er steht in der spalte bdquoergeb-nis von shiftc()ldquo die eingabewerte sindmit bdquoildquo fuumlr bdquoinputldquo markiert der ausga-bewert mit bdquooldquo fuumlr bdquooutputldquoim ersten Testfall (Tabelle 1 tc11) hatdie eingabevariable a den Wert 0 B denWert 1 und cdenWert 2 da a null ist lau-tet die entscheidung der bdquoifldquo-anweisungbdquofalseldquo der bdquoelseldquo-Zweig der bdquoifldquo-anwei-sung wird ausgefuumlhrt dadurch wird die

Variable c um 2 stellen nach links ge-schoben in der Binaumlr-darstellung wirdalso 0010 (was dezimal 2 entspricht)zu 1000 (was dezimal 8 entspricht)bdquoshiftc()ldquo gibt 8 als ergebnis zuruumlckim zweiten Testfall (Tabelle 1 tc21) hatdie eingabevariable a den Wert 1 B denWert 1 und c den Wert 3 da a und B jeeins sind lautet die entscheidung derbdquoifldquo-anweisung bdquotrueldquo der bdquothenldquo-Zweigder bdquoifldquo-anweisung wird ausgefuumlhrt dieVariable c ruumlckt um eine stelle nachlinks in der Binaumlr-darstellung wird also0011 (was dezimal 3 entspricht) zu 0110(was dezimal 6 entspricht) bdquoshiftc()ldquogibt 6 als ergebnis zuruumlck

A b c ErgEbnis von shiftc()

i i i o

tc11 0 1 2 8

tc21 1 1 3 6

Tabelle 1 Zwei Testfaumllle fuumlr die originale Funktion shiftC()

A b c ErgEbnis von shiftc()

i i i o

tc11 0 1 2 8

tc21 1 2 3 6

tc31 1 0 3 12

Tabelle 2Mit diesen drei Testfaumlllen werden beide Mutanten erkannt

EmbEddEd-Entwicklung TesT und QualiTaumlTssicherung

Erlaumluterung von FachbegriffenFault Injectionin das nicht mutierte Testobjekt werdenFehler von auszligen injiziert um die ro-bustheit zu pruumlfenFehlermodell (Fault model)die Kategorien der moumlglichen Mutati-onen diese sind natuumlrlich bei einemc-Programm als Testobjekt anders alsz B in einem Zustandsdiagramm einBeispiel fuumlr ein Fehlermodell fuumlr Testob-jekte in der Programmiersprache c ist imartikel angegebenKopplungseffekt (Coupling effect)Wird ein Mutant mit einer einzelnenMutation durch eine Testfallmenge ent-deckt so werden auch mehrfache Muta-tionen entdeckt

Fehlereinpflanzung (Error seeding)in der norm iec 61508 heiszligt der Mutati-onstest bdquoFehlereinpflanzungldquo bzw bdquoer-ror seedingldquoStarker Mutationstest (Strong mutationtest)der Mutant wird nur von auszligen betrach-tet (Black Box) und der Mutant wird nurdurch einen Testfall entdeckt der nachauszligen ein anderes ergebnis liefert alsdas OriginalSchwacher Mutationstest (Weak mutati-on test)ein Testfall sorgt im innern des Mutan-ten fuumlr ein anderes Verhalten als beimOriginal dieses andere Verhalten wirdjedoch nicht nach auszligen sichtbar

grammablauf erzeugt als im Original Dannspricht man von schwachemMutationstestunsigned int absolute (int x)if (x lt 0)return -xreturn xDie Mutation von lsquoltrsquo zu lsquolt=rsquo wird nach au-

szligen nicht sichtbar

Der Unterschied zurFault InjectionNicht zu verwechselnmit demMutations-

test ist die Fault Injection die beispielsweisein der Norm ISO 26262 [2] als Testmethodeerwaumlhntwird Bei einer Fault Injectionbleibtdas Testobjekt in seinemOriginalzustand eswird nicht mutiert Der Fehler wird auszliger-halb des Testobjekts erzeugtWenndas Test-objekt Software ist waumlre beispielsweise dasVeraumlndern (Korrumpieren) des Speichers fuumlrdie Variablen waumlhrend der Ausfuumlhrung derSoftware eine Fault Injection Die Softwareliest also aus einer Variablen nicht denWertzuruumlck den sie vorher abgespeichert hat DieFrage ist ob dies Auswirkungen hat und obdie Softwaremit einer solchenSituationum-gehen kannFault Injection ist also einRobustheitstest

zum Beispiel bezuumlglich der Auswirkungenvon Bitflips durch kosmische StrahlungDurch eine Fault Injection kann auch derProgrammspeicher des Testobjekts (willkuumlr-lich) geaumlndert (korrumpiert) werden Diessehenwir jedochnicht alsMutation die denSinn hat Programmierfehler im Quellcodeaufzudecken sondern vielmehr als Robust-heitstest FG

Hitex Development Tools +49(0)72196280

Literaturhinweise[1] IEC 61508 Teil 3 Tabelle B2 = Empfehlung

Fehlereinpflanzung sowie Teil 7 C56 = Be-schreibung Fehlereinpflanzung

[2] ISOFDIS 26262 Teil 6 Tabellen 10 und 13[3] Liggesmeyer Peter Software-Qualitaumlt Testen

Analysieren und Verifizieren von SoftwareHeidelberg Berlin 2002 Spektrum Akademi-scher Verlag

[4] Dirk W Hoffmann Software-Qualitaumlt Springer-Verlag Berlin Heidelberg 2008

[5] Wolfgang Herzner Rupert Schlick HaraldBrandl JohannesWiesalla Towards Fault-basedGeneration of Test Cases for Dependable Em-bedded Software in Softwaretechnik-TrendsGesellschaft fuumlr Informatik eV Band 31 Heft 3August 2011

[6] A Jefferson Offut Clemson University Investi-gations of the software testing coupling effectin ACM Transactions on Software EngineeringandMethodology New York Volume 1 Issue 1Jan 1992

[7] Tessy httpwwwhitexdetessy

acht irrtuumlmer uumlber code coverage

Bugs und defekte in Multitasking-softwareeliminieren

InfoClick

wwwelektronikpraxisde infoclick 3343128

AURIX - Over 10 years of Multicore Debuggingmakes the difference

AURIX

HSMTriCore 0 GTM

Debugand

SerialTrace

TRACE32

TRACE32

TRACE32

TRACE32

Debugging Multicore of years 10 Over - AURIXdifference the makes

AURIXAURIX

HSMTriCore 0 GTM

Debugand

SerialTrace

TRACE32

TRACE32

TRACE32

TRACE32

wwwlauterbachcom1652

10

Softwareentwicklung SoftwareSicherheit teil 2

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Die drei Gesichter der SicherheitIm zweiten Teil unserer Serie fassen wir einige Meinungen von

Experten des vergangenen ESE Kongresses zum Thema Security zu-sammen Im Mittelpunkt stehen dabei unbefugte Zugriffe oder die

gezielten Angriffe auf Embedded-Systeme

PETER SIwON uNd ALEXANdER SEdLAK

Peter Siwon ist Business Development Manager beim Schu-lungs- und Consulting-Spezialist MicroConsult inMuumlnchen und

Embedded-Systeme sind stets Software-und Hardwarekomponenten die inVerbindung mit Sensoren und Aktua-

toren in umgebende technische Systeme in-tegriert sind umkomplexe Steuerungs- undDatenverarbeitungsaufgaben zu uumlberneh-men Die Sicherheit im allgemeinen Sinne

bezeichnet einen Zustand der frei von un-vertretbaren Risiken ist Das wird in derNorm IEC 61508 so definiert Safety oderfunktionale Sicherheit bedeutet in diesemZusammenhang dass ein System in den zuerwartendenSituationenundZustaumlndenbeiordnungsgemaumlszliger Nutzung keine koumlrperli-chen oder finanziellen Schaumlden verursachtSecurity koumlnnte man demnach so genauerdefinieren Die Betriebs- und Datensicher-heit darf durch aumluszligere Einfluumlssenicht gestoumlrtoder gar verhindert werden Security hat ei-ne doppelte Bedeutung Einerseits sorgt siedafuumlr dass die Betriebssicherheit erhalten

bleibt andererseits versteht man darunterdieGesamtheit derMaszlignahmen umein Sys-tem nach auszligen zu schuumltzen Das unter-streicht sowohl die Abgrenzung dieser Be-griffe zeigt aber auch wie eng sie zusam-menhaumlngenNebenderWahl geeigneter Softwarearchi-

tekturen und Programmiermethoden spieltbei der Security oftmals die Gestaltung oderAuswahl derHardware eine bedeutendeRol-le Es handelt sich um Hightech im Verbor-genenmit derenHilfe produkt- und system-spezifische Eigenschaften uumlberhaupt erstrealisiertwerdenkoumlnnenAls Beispiele seienhier Fahrerassistenzsysteme mobile medi-zinischeGeraumlte undAutomatisierungssyste-me genannt Wichtige Stichwoumlrter in demZusammenhang sind die Gestaltung von In-terfaces Netzstrukturen oder schlicht dersichere Einbau einer Komponente

wuumlrmer Viren amp Co ndash Schutzvor gezielten AngriffenIn seinem Vortrag Sichere Netze der Zu-

kunft auf demESEKongress 2011 definierteProf Dr-Ing Hans-Joachim Hof von derHochschule Muumlnchen den Begriff pragma-tisch Die Security ist der Schutz vor geziel-temundhoumlchstwahrscheinlich auchboumlswil-ligemHandelnmit demZiel VertraulichkeitIntegritaumlt oder Authentizitaumlt zu erreichenDas kann sich in der Realitaumlt als nicht ganzeinfach erweisen daman zumZeitpunkt derProjektierung in der Regel nicht weiszlig wel-cher Art von Angriff ein System irgendwannausgesetzt sein wird Besonders bei aumllterenSystemenkann sichdas als geradezudrama-tische Gefahr erweisen Prof Dr Hof sprichthier ganz plastisch von der Goumltterdaumlmme-rungder IT-Sicherheit EinBild daswirklichpasst denn das Vertrauen auf sichere IT-Komponenten Embedded-Systeme undAumlhnliches grenzt oft wirklich an ein sagen-haftesGottvertrauen FrappierendesBeispielhierfuumlr ist der Computerwurm Stuxnet der2010 fuumlr groszligeUnruhe und Schaumlden verant-wortlich war Stuxnet war in einer Weiseaktiv die bis dahin imGrunde als nichtmoumlg-

ExpertenmeinungenWie lassen sich Embedded-Systeme vor unbefugtem Zugriff oder gezielten Angriffenschuumltzen

BilderG

erdaltm

annpixeliode

Alexander Sedlak ist als freier Autor taumltig

Softwareentwicklung SoftwareSicherheit teil 2

lich galt Der Wurm konnte Grenzen physi-kalisch getrennterNetze uumlberspringen Stux-net zielte vermutlich erfolgreich auf eineUrananreicherungsanlageWegendeshohenSchutzbedarfs von Atomanlagen schien soeinAngriff bis dahin schlicht nichtmoumlglichDen aktuellen Moumlglichkeiten des technischMachbaren druumlckte Stuxnet damit seineneigenen Stempel auf Eine optimierte Be-triebssicherheit wie im Beispiel der Atom-anlagewurdemangels ausreichender Secu-rity zum Sicherheitsrisiko

Der menschliche FaktorWenn Hacker aktiv werdenBedrohungen durch Hacker stellen die

Entwickler vonEmbedded-Systemenvor zu-nehmendeHerausforderungenDieReferen-ten des Schweizer Kommunikations- undTechnikdienstleisters Albis Technologiesstellten imVortrag EmbeddedSecurityHa-ckern einen Schritt voraus zunaumlchst diezunehmende Vernetzung von Embedded-Systemen heraus Und obwohl dadurchme-chanischeBarrieren zwischendenSystemenimmermehrwegfallen beruht die Sicherheitparadoxerweise haumlufig auf physikalischerSicherheit und weniger auf Cyber-Securityoder Informationssicherheit Und das ob-wohl es gerade in Infrastrukturnetzen wiezumBeispiel der aktuell diskutierten intelli-gentenStromversorgung vongroszliger Bedeu-tung ist dass die vernetzten Komponentenautonom ohne Benutzereingaben und vorunbefugten Zugriffen geschuumltztmiteinanderkommunizieren koumlnnenWas koumlnnte die Loumlsung sein Die Referen-

ten stellten ein Modell Hardware-basierterIT-Sicherheitsarchitektur fuumlr Embedded-

Systeme indenRaum InderenZentrumstehtein Security Controller oder ein Trusted-Platform-Modul also ein sicherer Speicherfuumlr digitale Schluumlssel Dieses dient dazu ei-ne Art Zentrum fuumlr kryptografische Operati-onen zu bilden Das Modul muss an den lo-kalenComputer gebunden seinundnicht aneinen bestimmten Benutzer Es ist dann un-moumlglich das Trusted-Platform-Modul entge-gen den Interessen des Eigentuumlmers zu nut-zen sofern dieser Beschraumlnkungen festge-legt hat eine Basis fuumlr die sichere Kommu-nikation der Netzteilnehmer Es kanngelingen beispielsweise aus einem Embed-ded-Geraumlt mit angepasster Software und ei-nem entsprechenden Betriebssystem einevertrauenswuumlrdige Plattform zumachenIntelligente Stromnetze auchSmart Grids

genannt erfordern fuumlr die Ermittlung desindividuellen Strombedarfs unddie korrekteAbrechnungdieVerwendung ebenso intelli-genter Verbrauchszaumlhler der sogenanntenSmartMeterHier gibt es zahlreiche Szenari-en die boumlswilliges Eindringen mit Betrugs-absicht ermoumlglichen Erschwerend ist dieLiberalisierung des Strommarktes Zahlrei-cheKlein- undKleinststromlieferantenndashausWasserkraft oder Photovoltaikanlagen ndashspeisen in die Netze ein Letztlich alles Ein-fallstore fuumlr moumlgliche Angriffe zum Zweckder kriminell motivierten ManipulationAuch vor diesemHintergrund erarbeitet dasBundesamt fuumlr Sicherheit in der Informati-onstechnik (BSI) gemeinsam mit Industrie-partnern fuumlr Smart Meter ein neuartigesSchutzprofil Es strukturiert Bedrohungenund legt damit die Mindestanforderungenfest die Sicherheitsmaszlignahmen erfuumlllenmuumlssen Ziel ist dabei eine Zertifizierung von

Produktennachdefinierten SchutzkriterienDas vondenPartnern erarbeitete Schutzpro-fil 3 definiert ein anhand gemeinsamerKriterien festgelegtes Security Modul fuumlralle kryptografischen Operationen

Kryptologie ndash Software solltenicht zu knacken seinBei der Entwicklung von Embedded-Sys-

temen koumlnnen durch den Einsatz von kryp-tologischen Verfahren viele Prozesse sicheroder zumindest sicherer gemacht werdenReinhard Wobst (UNIX Software) hat in sei-ner Funktion als Softwareentwickler festge-stellt dassmit groszliger Regelmaumlszligigkeit immerwieder die gleichenFehler bei der Implemen-tierung von Kryptologie gemacht werdenWaumlhrend seines Vortrags auf dem ESE Kon-gress erklaumlrte erwarumundwie es Eindring-lingen oft unnoumltig leicht gemacht wird SogehenSoftwareentwickler haumlufig davonausdass niemand die von ihnen entwickeltenAlgorithmen knacken kann Das Gegenteilist der Fall Ein gaumlngiges Mittel ist etwa das

AURIX - Over 5 years of High-Speed Serial Tracingmakes the difference

Tracing Serial High-Speed of years 5 Over - AURIX Tracing Serial High-Speed of years 5 Over - AURIXdifference the makes difference the makes

wwwlauterbachcom1653

Psychologische Sicherheitsluumlcke Irren ist mensch-lich ndash sowohl auf Entwickler- wie auf Anwenderseite

12

Softwareentwicklung SoftwareSicherheit teil 2

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Microconsult Qualitaumlt und Sicherheit

teil 1 der Serie Die drei Gesichter derSicherheit

InfoClick

wwwelektronikpraxisde infoclick 3343156

Schreiben unklaren oder scheinbar verwor-renen Codes Doch gerade bei der heutigenVernetzungwird jedesVerfahren fruumlher oderspaumlter bekannt Interessant ist die auch vonWobst formulierte Erkenntnis dass derSelbsttest eines eigenentwickeltenAlgorith-musmoumlglicherweise zu demErgebnis fuumlhrtdass es nicht einmal dem urspruumlnglichenProgrammierer gelingt ihn zuknackenAberdieWirklichkeit sieht leider anders aus Je-der kann einenAlgorithmus entwickeln dener selbst nicht brechen kann aber es gehtdarum dass ihn andere nicht brechen koumln-nen[1]Letztlich siehtmanes einemAlgorithmus

auchwenner noch soobskur erscheint nichtan ob er nun sicher ist oder nichtWobst raumltseinen Entwicklerkollegen konservativ zuseinundbekannteundaltbewaumlhrteAlgorith-menundMethoden zunutzenDas ForschennachSicherheit solle denForschernuumlberlas-sen werden Anhand zahlreicher Beispielebelegte Reinhard Wobst wie schnell es ge-schehen kann dass ein SoftwareentwicklerGuteswollenddas Falsche tut bzw dasRich-tige nicht richtig macht Und er zeigte auchdie Grenzen auf die selbst einer perfekt im-plementierten Kryptologie gesetzt sind wiedenial of service Attacken oder der immererfolgversprechende Versuch das stetsschwaumlchste Element eines Walls von Maszlig-nahmen fuumlr die Sicherheit zu instrumentali-sieren den User selbst So kam Wobst beiseinem Vortrag zu der Schlussformel dassgesunderMenschenverstandniemals hinterFormalismenverschwindendarf Fuumlr dieRe-alisierung von Sicherheit gilt immer dassetwas Sicherheit besser ist als gar keine

Qualitaumlt und houmlchstmoumlglichesSicherheitsniveau fuumlr SoftwareWie real die Risiken von Angriffen auf

Embedded-Systeme sind zeigte Lucas vonStockhausen vonHewlett-Packard in seinemVortrag Mehr Sicherheit fuumlr EmbeddedCode amBeispiel einer Manipulation einerhandelsuumlblichen Insulinpumpe Es seimoumlg-

lich durch Umgehen von Restriktionen dieInsulindosis die eine solchePumpeautoma-tisch verabreicht aus einer Entfernung von100 m und voumlllig unbemerkt zu veraumlndernDamit koumlnnemaneinemDiabetiker jederzeiteine Uumlberdosis Insulin injizieren Diese Ge-fahr mag konstruiert erscheinen fuumlr denPumpenhersteller und fuumlr den Patienten istsie aber sehr real undhoumlchst bedrohlichDasBundesministerium fuumlrWirtschaft undTech-nologie stellte bereits 2010 eine zunehmendeund alarmierende Professionalisierung vonAngriffen fest Dabei berichten die Medienmeist nur uumlber die spektakulaumlrstenFaumlllewiezumBeispiel denbereits erwaumlhntenStuxnet-Wurm der fuumlr den Einsatz auf industrielleZiele optimiert wurde

Die psychologischenSicherheitsluumlckenViele Angriffe sind weniger spektakulaumlr

doch kaum weniger gefahrenvoll Geradeuumlberraschende Angriffsszenarien auf Em-bedded-Systeme zeigen wie schwierig essein kann schon inder Softwareentwicklungvorauszusehenwie ein spaumltererAngriff aus-sehen kann Aus diesem Grund spielt diesichere Softwareentwicklung der sichereCode eine entscheidende Rolle Angesichtsdes rasanten Fortschritts der von zuneh-mendemZeit- Konkurrenz- undErfolgsdruckzuverlaumlssig begleitetwirdmussnebenQua-litaumltsforderungen auch das houmlchstmoumlglicheSicherheitsniveau realisiert werdenBei Embedded-Software erfolgt eine ver-

besserte Zugangssicherheit uumlber Software-Updates sagte Prof Dr-Ing Hans-JoachimHof Daraus ergeben sich gleichermaszligenAufgaben fuumlr die Entwicklung von Soft- undHardware In puncto Hardware werden si-chere Interfaces undUumlbertragungsprozedu-renbenoumltigt Die Softwaremuss so aufgebautsein dass sie autorisiert korrigiert aber nichtohne Autorisierung manipuliert werdenkann Das Motto Verbauen und Vergessengehoumlrt damit derVergangenheit anNicht zuvergessen sinddie psychologisch bedingten

Sicherheitsluumlcken zudenenPeter SiwonvonMicroConsult in seinem Seminar bdquoIrren istmenschlichldquo Beispiele nannte Und das so-wohl auf Entwickler-wie aufAnwenderseiteUnter hohem Zeitdruck neigt man dazu Si-cherheitsregeln zu brechen Menschen neh-men dann houmlhere Risiken in Kauf um denStress loszuwerden Stresshormone schraumln-kenunsere Faumlhigkeit ein uumlber die langfristi-gen Folgen unseres Verhaltens nachzuden-ken Zudem leide unser Qualitaumltsbewusst-sein unter dem Beduumlrfnis den bdquoSchmerzldquoloszuwerden Beides zusammen stellt eineexplosive psychologische Mischung darWichtige Voraussetzungen fuumlr Security wiebeispielsweise umfassende Tests fallen un-ter den Tisch Eine weitere Sicherheitsluumlckeentsteht durch Denkfaulheit Um unser Ge-daumlchtnis zu entlasten greifen wir nicht nurbei Passwoumlrtern auf altgewohnte oder beque-me Denk- und Verhaltensmuster zuruumlckThomas Batt beim Training- und Consul-

tingspezialistenMicroConsult zustaumlndig fuumlrSoftware Engineering Management ziehtfolgendesResuumlmee bdquo(Horror-)Szenarien beidenenEmbedded-Systemedurch aumluszligereAn-griffe manipuliert werden oder bei denensogar die komplette Kontrolle uumlbernommenwird sind keine Hollywoodphantasien Wirsindheute von einer rasantwachsendenZahlvonEmbedded-Systemenumgebenundver-lassen uns darauf dass Herstellerfirmen siezugangs- undangriffssicher entwickeln tes-tenundproduzierenDochTatsache ist dassfuumlr den groumlszligten Teil des Embedded-Marktesdie Qualitaumltsmerkmale Zugangs- und An-griffssicherheit noch Neuland sind DieseQualitaumltsmerkmalemuumlssen sich kuumlnftigwieein roter FadendurchdengesamtenEntwick-lungs- und Produktionsprozess der Produk-te ziehen Dazu benoumltigen wir geeigneteMethoden - insbesondere fuumlr denTest - sowieunterstuumltzende Tools Standards und Zerti-fizierungen Doch selbst mit noch so hoch-entwickelten Maszlignahmen koumlnnen wir dieRisiken nur minimieren nicht aber voumllligausschlieszligenldquo hEh

MicroConsult +49(0)89 45060

Quellennachweis[1] B Schneier Memo to the Amateur Cipher

Designer

Zugriffs- und AngriffssicherheitDie Betriebssicherheit ist im groszligenMaszlige vom Schutz vor unbefugtem Zu-griff oder gezieltem angriff abhaumlngigBei der Security spielt oft die Gestaltungund auswahl der hardware eine bedeu-tende rolle Zu den feinden von embed-ded-Systemen zaumlhlen Viren wuumlrmer undhacker die auf die Systeme zugreifen

und sie manipulieren Mit geeignetenSchutzmaszlignahmen wie Kryptologie undentsprechender Programmierung lassensich embedded-Systeme sicherer gestal-ten Nicht zu vergessen sind auch diepsychologisch bedingten Sicherheits-luumlcken ndash denn auch der Programmiererselbst stellt ein Sicherheitsrisiko dar

13

EmbEddEd SoftwarE Aktuelles

ELEKTRONIKPRAXIS embedded software engineering Report Juni 2012

InfoClick 3371268

embedded-softwAReentwicklung

analysewerkzeug Goanna pruumlft Software auf potenzielle LaufzeitfehlerDas Karlsruher Entwicklungs-haus Hitex hat die Version 272des Analysewerkzeugs Goannaveroumlffentlicht Das Tool pruumlft inCC++geschriebenenCodenachmathematischenMethoden umUrsachen fuumlr Laufzeitfehler auf-zuspuumlren In der aktuellenVersi-on 272 finden sich vor allemDetailverbesserungen wie er-leichterteKonfigurierbarkeit DieKonfigurationsvarianten bdquoQuickCheckldquo und bdquoDeep Checkldquo sindvordefiniert Auszligerdem wurdendieAnalysemethodenbeschleu-nigt und praumlziser gestaltet An-

feruumlberlaumlufe die Zerstoumlrung vonSpeicherinhalten Divisionendurch Null Zugriffe mit unguumllti-gem Index und aumlhnliche Proble-me Die Analyse uumlberschreitetdabei nicht nur Funktions- son-dern auch Dateigrenzen DasSoftwarewerkzeug soll einfachinstallierbar sein und sich nachwenigen Minuten einsetzen las-sen Goanna ist in einer Kom-mandozeilenversion (GoannaCentral) sowie alsAdd-On fuumlr dieweit verbreiteten Entwicklungs-umgebungen Visual Studio vonMicrosoft sowie EclipseCDT

(Goanna Studio) verfuumlgbarGoannaCentral undGoannaStu-dio fuumlr Eclipse sind fuumlrWindowsundLinux verfuumlgbar DieVersionfuumlrVisual Studiounterstuumltzt nurWindows Beide Versionen gibtes als rechnergebundene oderals Floating-Lizenz Es gibt eineeine permanente Lizenzmit dreiJahrenSupport und eine zeitlichbegrenzten Lizenz fuumlr ein Jahrmit der Option auf zeitliche Ver-laumlngerung fg

Hitex

hand mathematischer Modelleund derMethode der abstraktenDatenwertverfolgung kannGoanna problematische Konst-rukte ermitteln die zur Laufzeitder Software zu Fehlern fuumlhrenDazu zaumlhlen Speicherlecks Puf-

Schnelles Android XobotOS ist eineAndroid-Variante die auf einer offe-nen Implementierung von MicrosoftsNET-Architektur basiert InfoClick 3348889

smARtphone-betRiebssystem

android-Klon auf NEt-basis koumlnnte legale Untiefen umschiffenXamarin bietet Entwicklungs-werkzeugen fuumlr Android undApples iOS Das zentrale Themades Unternehmens ist die platt-formuumlbergreifendeProgrammie-rung von Apps fuumlr die beidenwichtigsten Betriebssysteme fuumlrMobilgeraumlte Als Entwicklungs-plattformdient dabeiMono einefreie Implementierung von Mi-crosofts NET-TechnikWichtigs-te Komponente vonMono ist einefreie Variante der NET-Laufzeit-umgebung CLR (Common Lan-guageRuntime) die zunaumlchst fuumlrLinux entwickelt wurde und

NET-Programme unter Linuxausfuumlhrte DaAndroid auf LinuxbasiertwurdeMono fuumlr dasmo-bile Betriebssystem von Googleumgesetzt Inzwischen gibt eseine Version namens Mono-Touch fuumlr Apples iOS Mit HilfevonMonoundMonoTouch ist esmoumlglich groszlige Teile des Appli-kationscodes wiederzuverwen-den wenn eine App sowohl fuumlriOS als auch fuumlr Android entwi-ckelt wurde XobotOS ist einAndroid-Klon bei demdie in Ja-va geschriebenen Codekompo-nenten inCuumlbertragenwurden

Diemomentan stattfindende ge-richtliche Auseinandersetzungzwischen Oracle als Inhaber derJava-Rechte und Google um an-gebliche Urheberrechtsverlet-zungen koumlnnte auszligerdem dafuumlrsorgen dass XobotOS kein For-schungsprojekt bleibt Das NET-Framework bietet alternativeImplementierungen fuumlr die Pro-grammierschnittstellen die zwi-schen Google undOracle strittigsind fg

Xamarin

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

EmbEddEd-SyStEmE SoftwaRE-DESign

14

TITELSTORyin juumlngster Zeit haben namen wieStuxnet und Duqu Eingang in unserenwortschatz gefunden Solche Schad-programme feuern unerbittliche atta-cken auf die Sicherheit eingebetteterSysteme Darunter sind auch SCaDa-Systeme (Supervisory Control andData acquisition) die industrieanla-gen Verkehrsnetze oder Kraftwerkeuumlberwachen und steuernManche Entwickler eingebetteterSoftware meinen zwar dass die Ebe-ne des Systems Engineering oder dieHardware fuumlr die Systemsicherheitzustaumlndig sein sollte Viele attackennuumltzen aber Schwachstellen in denanwendungen aus Und diese Luumlckengilt es im anwendungsdesign und derProgrammierung zu vermeiden

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

Siem

ens-PressebildPSD

graphics

15

EmbEddEd-SyStEmE Software-DeSign

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Security-Grundlagen fuumlrEmbedded-Software

Schutzmaszlignahmen auf der Betriebssystem- und Hardwareebene ge-gen Hackerangriffe sind keineswegs perfekt Daher muumlssen Entwickler

selbst gegen Schwachstellen der Embedded-Software vorgehen

DAvID KALINSKy

David Kalinsky ist Berater Trainer und Dozent fuumlrEchtzeit- und Embedded-Programmie-rung in SunnyvaleKalifornien (USA)

Entwickler eingebetteter Software spie-len das Security-Thema manchmalherunter und sagen bdquoUnserGeraumltwird

nie mit dem Internet oder einem anderenexternen Kommunikationsnetz verbundensein Wir sind gegen Angriffe immunldquo Dasist leider nicht wahr Erlauben Sie mir einGegenbeispielViele Geraumlte nutzen Analog-zu-Digital-

Konverter (ADC) zur Sammlung von DatenDieADCswerden regelmaumlszligig abgefragt unddieApplikation speichert dieDatenpakete ineinemArrayDieApplikation verarbeitet spauml-

ter diesen Daten-Array Aber ein Angreiferkoumlnnte dies aus einem ganz anderen Blick-winkel sehen etwa so bdquoWas wuumlrde passie-ren wenn ich den ADCmit elektrischen Sig-nalen fuumlttere die einer exaktenhexadezima-len Darstellung des Codes eines Schadpro-grammsentsprechenldquoAuf dieseWeise kannder Angreifer seine Software in Ihren Rech-ner einschleusen Ein Netzwerk oder dasInternet ist dafuumlr nicht noumltig

Angreifer brauchen nicht immerein externes NetzwerkDer Angreifer koumlnnte nun darauf setzen

dass Ihre Software die ADC-Daten in einemStapelspeicher (Stack) sichert (vielleicht in-demSie alloca() odermalloca() verwenden)Wenn er Gluumlck hat koumlnnte er einen Array-Uumlberlauf verursachen vielleicht indem er

den Hardware-Timer manipuliert der dieADC-Abfrage steuertEin typischer Stack ist auf der folgenden

Seite oben links abgebildet Wenn der An-greifer einen Array-Uumlberlauf verursachtkoumlnnte der Stack korrumpiert werden wiedas Schema rechts daneben zeigt BeachtenSie dass dieRuumlcksprungadresse imStack aneiner Position gespeichert wurde die hinterdem Ende des Arrays lagWenn der Angreifer die Korrumpierung

richtig plant wird der Uumlberlauf den Ort imStack erreichen an dem die aktuelle Ruumlck-sprungadresse gespeichertwurdeDas kanndazubenutztwerden umandiesemPlatz imStack einenZeiger auf den eigenenCode ein-zuschleusenWenn Ihr CodedieRuumlcksprung-adresse benutzt geht die Steuerung auf denCode des Angreifers uumlber

Siem

ens-Pressebild

16

EmbEddEd-SyStEmE Software-DeSign

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Simpel aber effektiv Die Grafik links zeigt den gewoumlhnlichen Aufbau eines Speicherstacks In der rechtenGrafik ist der Stack nach einem Array-Uumlberlauf korrumpiert Boumlsartiger Code kann ausgefuumlhrt werden

DavidKalinsky

Das wird als bdquoStack Smashingldquo-Attackebezeichnet BeachtenSie dass sie in diesemBeispiel voumlllig ohne Internetzugangundoh-ne Verbindung zu einer externen Datenlei-tung ausgefuumlhrt wurde

Design-Grundlagen fuumlr sichereEmbedded-SoftwareBeim Design eingebetteter Software koumln-

nen Entwickler die Sicherheit verbessernindem sie einige Grundsaumltze beachten1 Misstrauische AufteilungTeilen Sie die Funktionalitaumlt Ihrer Software

in Bloumlcke auf die sich gegenseitig nicht ver-trauen um die Angriffsfenster in jedemBlock zu verkleinern In der Embedded-Soft-ware nennen wir diese Bloumlcke oft Prozesseoder Subsysteme oder CSCIsEntwerfen Sie jeden Block unter der An-

nahme dass Softwarebloumlcke mit denen erinteragiert angegriffen wurden VertrauenSie denErgebnissender interagierendenBlouml-cke nicht Geben Sie Ihre Daten nicht uumlbergemeinsamen Speicher fuumlr andere Bloumlckefrei BenutzenSie stattdessenMechanismender Interprozesskommunikation wie Mes-sage Queues des Betriebssystems Socketsoder TIPC (Transparent Inter Process Com-munication) Pruumlfen Sie die Inhalte die SieerhaltenAls Resultat dieser Politik der misstraui-

schen Aufteilung faumlllt nicht das gesamteSystem in die Haumlnde eines Angreifers wennein einzelner Softwareblock kompromittiertwurde

bdquoUm feindlichen Code in ein Embedded-System einzuschleu-sen ist nicht unbedingt eine Verbindung zum Internet oder zu

einem anderen externen Netz noumltigldquoDavid Kalinsky

2 Trennung der PrivilegienHalten Sie den Teil Ihres Codes der mit

speziellen Rechten ausgestattet ist moumlg-lichst klein Wenn der Angreifer in Softwareeinbricht die mit hohen Privilegien ausge-fuumlhrt wird dann kann der Angreifer eben-falls mit hohen Privilegien operieren Dasgibt ihm ein extrabreites Angriffsfenster inIhr SystemVermeidenSie also dassAnwendungssoft-

ware im Kernel-Modus oder Master- Modusoder Supervisor-Modus laumlufthellip oder wie dasin Ihrer jeweiligen CPU-Architektur heiszligenmag Uumlberlassen Sie diesen Modus dem Be-triebssystem Lassen Sie Ihre Software nurim User-Modus laufen Dadurch wird IhreCPU-Hardware darauf verpflichtet das An-griffsfenster in Ihrer Software zu limitieren3 Loumlschen Sie sensitive InformationenLoumlschenSie jedewieder verwendbareRes-

source wenn Sie sie freigeben Wenn Sieeine Ressource freigegeben haben ndash sei esein Speicherpuffer oder ein Software-Hard-ware-InterfaceDatenregister ndash koumlnnte dernaumlchste Benutzer genau derselben Ressour-ce einAngreifer sein Angreifer auf eingebet-tete Systeme lieben es diese Ressourcen zusbquophishenrsquo genau wie Internet-Angreifer ger-ne sbquophishenrsquo Hacker waumlren bestimmt uumlber-gluumlcklich die Daten zu lesen die Sie imPuffer bearbeitet habenoder die andieHard-ware zur Ausgabe uumlbergeben wurdenDie meisten Dienste die Ressourcen in

Embedded-Umgebungen freigebenmarkie-ren die Ressourcen einfach als bdquoverfuumlgbarldquo

Sie lassendie alte Information stehen die inder Ressource enthalten ist Das geht sehrviel schneller als die Ressource explizit aufNull zu setzen Damit ist sie aber potenziellfuumlr andere Benutzer lesbarWenn also die Applikation mit einer Res-

source fertig ist liegt es an der Anwendungdie Freigabe vorzubereiten indemsie all die-se Elemente auf Null setztHeap-Puffer Speicherpool-Puffer Spei-cherpartitionssegmente Statisch zugewiesene Speicherpuffer Freigegebene Stack-Bereiche SpeichercacheDatei im DateisystemDatenregister fuumlr Hardware-InterfacesStatusregister Kontrollregister

Schwachstellen auf die manbeim Coding achten mussWaumlhrend der Programmierung koumlnnen

Entwickler die Softwaresicherheit verbes-sern indem sie eine Reihe bekannterSchwachstellen vermeiden1 PufferuumlberlaufMitweitemAbstand ist der Pufferuumlberlauf

die amweitesten verbreiteteGefahrenquellewenn man in der Sprache C programmiertEs kann ganz einfach sein ndash zum Beispiel indas Element mit der Nummer 256 eines256-teiligenArraysDatenhineinzuschreibenCompiler erkennen verbotene Pufferzu-

griffe nicht immer als Softwarefehler DaskannernsthafteKonsequenzenwiedie bdquoCodeInjectionldquo oder die bdquoArc Injectionldquo haben ndashbei letzterer aumlndert der Angreifer den Kon-trollfluss eines Programms indem er dieRuumlcksprungadresse auf dem Stack modifi-ziert Bei der bdquoArc Injectionldquo braucht derAngreifer nicht einmal Code einzuschleusenEr kann zu irgendeiner Funktion im existie-renden Code springen oder Guumlltigkeitspruuml-fungen oder Assertions uumlberspringenHier ein Beispiel fuumlr eine Pufferuumlberlauf-

Attacke Ein eingebettetes Geraumlt misst dieWassertemperatur in einem Schwimmbe-cken und zeigt die Zeitanteile als Histo-gramm an in denen das Wasser eine be-stimmteTemperatur hatte Der Softwareent-wickler baut einen Array mit 100 positivenIntegerzahlen bei denen jedes Element miteinerGradangabe inCelsius korrespondiertElement 0 fuumlr 0deg Element 1 fuumlr 1deg und soweiter Jedesmal wenn der Sensor die Was-sertemperaturmisst wird das entsprechen-deElement desArrays umdenWert 1 erhoumlhtUm ganz sicher zu gehen stattet der Ent-

wickler denTemperatur-Arraymit viel Spiel-raum aus Er uumlbersteigt den Temperaturbe-reich bei weitem den einmenschlicher Koumlr-per aushalten wuumlrde

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012 17

EmbEddEd-SyStEmE SoftwaRE-DESign

ohne Locks fuumlr Multicore-Systeme entwi-ckeln

Echtzeit-Software ohne Echtzeit-Betriebssys-tem programmieren

InfoClick

wwwelektronikpraxisde InfoClick 3337487

wwwyakinduderequirements+492319860606

bull Komplexe software inKuumlrzester zeit spezifizieren

bull anforderungen fehlerfreierfassen

bull abhaumlngigKeiten von diagram-men und modellelementenautomatisch darstellen

bull aufwaumlnde von aumlnderungenKennen bevor sie entstehendurch vollstaumlndigestracing

bull manager fachanwenderund entwicKler sprechenendlich von denselbendingen

yaKindu requirementsdie software fuumlr requirementsengineering und traceability

IHRNUTZEN

Bis eines Tages der Angreifer den Sensoraus demWasser nimmt und mit einem Feu-erzeug aufheizt Sobald der Sensor einenWert misst der 100deg uumlbersteigt verletzt dieSoftware fuumlr das Histogramm-Update eineSpeicheradresse die hinter dem Ende desTemperatur-Arrays liegt Wenn dort Datenliegen hat der Angreifer die Daten korrum-piert Steht dort Maschinencode dann hatder Angreifer die ausfuumlhrbare Software kor-rumpiert In jedemFall ist es ein schaumldlicherEingriff Bitte beachten Sie dass auch dafuumlrweder eine Internetverbindung noch eineVerbindung zu einem externen Netzwerknoumltig war Ein Feuerzeug genuumlgteWie koumlnnen wir Pufferuumlberlaumlufe vermei-

denDie Schwachstelle ist soweit verbreitetdass ein mehrstufiger Ansatz am besten istVerhindern Entdecken Heilen Im Beispielunseres Schwimmbeckens sollten Sie expli-zit pruumlfen dass keine Temperatur ermitteltwird die der von Eis (unter 0deg) oder heiszligemDampf (uumlber 100deg) entsprichtVerhindern Sie Pufferuumlberlaumlufe auch in-

dem Sie gefaumlhrliche Bibliotheksfunktionenvermeiden (wie gets()) und Vorsicht bei an-deren walten lassen (wiememcpy())

bdquoAnstreicherldquo-Methodeermittelt PufferuumlberlaumlufeEntdeckenSie Pufferuumlberlaumlufe indemSie

wie ein Anstreicher vorgehen Erweitern SiedenPuffer anbeidenEnden etwas Fuumlllen Siedie Erweiterungsbereiche mit ungewoumlhnli-chem Inhalt den ich bdquoAnstrichldquonenne zumBeispiel eine Falle in derMaschinenspracheIhres Prozessors Dann pruumlfen Sie den bdquoAn-strichldquo wiederholt zur Laufzeit Wenn derAnstrich uumlberschrieben wurde haben Sieeinen Pufferuumlberlauf entdeckt2 Tricksereien mit ZeigernWenneinAngreifer einenDatenzeigermo-

difizieren kann dann kann der Angreifernach eigenemGusto an jededenkbare Stelleverweisen Wenn ein Angreifer einen Funk-tionszeiger uumlberschreiben kann dann ist erauf einemgutenWeg seinenCode auf IhremProzessor auszufuumlhren3 Dynamische SpeicherzuweisungDie Verwendung dynamischer Speicher-

zuweisungen ist in vielen sicherheitskriti-schenSystemenwie der Luft- undRaumfahrtverbotenAngreifer sindheiszligdarauf solcheDefekte zu finden da sie eine guumlnstigeGele-genheit bieten die Sicherheit eines Embed-ded-Systems zu verletzenEin besonders empfindlicher Fehler ist es

die Pruumlfung zu unterlassen ob eineAnfragezur Speicherzuweisung erfolgreichwar odernichtMancheMechanismengebenanstelleeines Zeigers auf einen Speicherpuffer den

Wert Null aus wenn kein verfuumlgbarer Spei-cher mehr vorhanden ist Wenn die Anwen-dungssoftware diesen Nullwert als Zeigerbehandelt wird sie in einen Puffer hinein-schreiben der an der Speicheradresse NullbeginntViele Angreifer wuumlrden sich freuen wenn

Ihre Software dies taumlte Angreifer wissendass eingebettete Software oft eingeschraumlnk-te Speicherressourcen hat Sie setzen allesdaran den Speicher auszuschoumlpfen indemsie den Speicherzuweisungsmechanismusdazu zwingen mehr Speicher als sonst uumlb-lich zu belegen ndash vielleicht durch einge-schleusten Code der Speicherlecks enthaumlltSie koumlnnenauchversuchen IhrDatenabfra-gesystem mit houmlheren Datenmengen oderDatenraten zuuumlberflutenndash inderHoffnungdass dieDatenlawine Ihre Speicherkapazitaumlterschoumlpft Und dannWenn Ihre Software einen Speicherpuffer

anfragt aber die Pruumlfung unterlaumlsst ob dieZuweisung fehlgeschlagen istwird sie einenPuffer anderAdresseNull eroumlffnenundalleszertrampeln was vorher dort gewesen istWenn zumBeispiel die Flags fuumlr das Ein- undAusschalten von Interrupts an dieser Stellestehen koumlnnte dadurch die Verbindung derSoftware zudenHardware-Interfaces anderPeripherie unterbrochenwerdenDas koumlnn-te dazu fuumlhren dass Ihr System nicht mehrin die Hardware eingebunden ist FG

D Kalinsky Associates +1408 749 8562

Kleine Angriffsflaumlche Die perfekte Absicherunggegen Angreifer im Web gibt es nicht Wichtig ist esaber sich um die die gaumlngigen Schwachstellen zukuumlmmern

PikeResearch

18

SyStementwurf AudiodAten uumlbertrAgen

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Audiosignale drahtlosmit Licht uumlbertragen

Audiosignale mit maximal 48 kBits mit Laser oder High-Power-LEDuumlbertragen Wir stellen Ihnen eine Schaltung vor die Audiosignale in

groszligen Raumlumen mit hoher Funkbelastung sicher transportiert

IgOR ZImmERmANN

Igor Zimmermann ist Entwickler fuumlr Embedded-Systeme bei der Mixed Mode GmbH inMuumlnchen

Funkuumlbertragungen haben sich vor al-lem im privaten Umfeld in den letztenJahren durchgesetzt Allen voran im

Multimediabereich seien hier kabelloseKopfhoumlrer genannt oder dieWLAN-Uumlbertra-gung Um bei der digitalen Audiouumlbertra-gung zu bleiben Mit der Digitalisierung derMultimediadaten entstand das Beduumlrfnisdiese digitalenAudiodatendrahtlos zu trans-portieren Hier sind im Speziellen drei Fre-quenzbaumlnder relevantDas 24-GHz-Band mit Frequenzen von24 bis 25 GHzDas 5-GHz-Band mit Frequenzen von5725 bis 5875 GHz und das 433-MHz-Band mit Frequenzen von43305 bis 43479 MHz

Wenn sich die Frequenzbaumlnderuntereinander stoumlrenDie ersten beiden Frequenzbaumlnder sind

alle fuumlrAudio-Uumlbertragungsgeraumlte geeignetdie uumlberWLANoder Bluetooth senden Her-koumlmmliche Funkkopfhoumlrer und Funklaut-sprecher benutzen das Band mit 433 MHzAlle drei Frequenzbaumlnder koumlnnen frei be-nutztwerdenwas auchgleichzeitig ein Pro-blem darstellt So sendet im 24-GHz-Bandbeispielsweise dieMikrowellewaumlhrenddas433-MHz-Band von etlichen anderen Funk-verbindungen verwendet wird Durch diegemeinsame Nutzung koumlnnen gegenseitigeStoumlrungen auftretenEine Uumlbertragung mit Licht ist gegen Stouml-

rungen aus diesen Baumlndern unempfindlichAuch inUmgebungenmit starker Funkbean-spruchungkannauf dieseWeise eineAudio-Signaluumlbertragung erfolgen Ein weitererVorteil ist die Reichweite die bei einerUumlber-tragung mit Licht erreicht werden kann

Audiosignale uumlbertragenMit Licht lassen sich groszlige Entfernungen uumlberbruumlcken wobei die APU allessteuert (Illustration)

FotoKlickerpixeliode

Audiosignale drahtlos uumlbertragen Schematischer Aufbau der Schaltung mit Audio Processing Unit

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

Waumlhrend eineUumlbertragung indengenanntenISM-Baumlndern auf einige hundert Meter be-schraumlnkt ist koumlnnenmit Licht groszligeDistan-zen uumlberwunden werden

Schaltung uumlbertraumlgt drahtlosAudiosignale mit LichtIm folgenden wollen wir Ihnen eine neu-

entwickelte und bereits im realen Einsatzgetestete Schaltung vorstellen die drahtloseAudiosignale mit Licht uumlbertraumlgt Die maxi-maleAudioqualitaumlt des Signals darfmaximal48 kBits betragen Die Schaltung setzt aufeinem Mikrocontroller zur Steuerung einesAudio-Codecs auf Die Entwicklung ist durchdie Visible Light Communication (VLC) ins-piriert Das Signal wird uumlber eine Treiber-schaltung entweder per Laser oder High-Power-LED uumlbertragen Auf der Empfaumlnger-seitewirddas Signal uumlber einenAudio-Codecindasurspruumlngliche Format ruumlckgewandeltEinsatzbereiche sind groumlszligere Raumlume in de-nen einehoheFunkbeanspruchungherrschtZum erfolgreichen Versenden der Audio-

informationenwerden zweiAusgabendieserSchaltung benoumltigt Die Versorgungsspan-nung betraumlgt 12 V Auf Senderseite kann derBenutzer eine von drei verschiedenen Sig-nalartenwaumlhlen die uumlbertragenwerden soll analoges Audiosignal Klinke (TRS Ana-log Audio In) digitales SPDIF-Signal Anschluss uumlberCinch (RCA Electrical SPDIF In) optisches SPDIF Signal Anschluss uumlberToslink (Toslink Optical SPDIF In)

APU mit Audio Codec undKonfigurationsregisternDie Konfiguration der Signalart erfolgt

uumlber ein Display und vier Taster (S1 S2 S3S4 und Display) Das Display und die Tastersind an einen Mikrocontroller angeschlos-sen der die Auswertung der Einstellungenvornimmtunduumlber einen Isup2C-Bus andieAu-dioProcessingUnit (APU)uumlbertraumlgt DieAPUbesteht aus einem Audio-Codec und besitztKonfigurationsregister zumSpeicherndieserEinstellungen Uumlber diese Register koumlnnenauch Manipulationen an den Statusbits desSPDIF-Signals vorgenommen werden DieAPU verfuumlgt zudem uumlber ein integriertes di-gitales Interpolationsfilter und ein Antialia-sing-Filter Das hat den Vorteil dass eineexterne Filterung uumlberfluumlssig wird Das Isup2S-Interface uumlber das andere Audio-Kompo-nentenmit derAPUkommunizieren koumlnnensteht demBenutzer ebenfalls zurVerfuumlgungEin- undAusgaumlnge koumlnnenasynchronbe-

trieben werden Das erzeugte Signal wird inein SPDIF-Format gewandelt und dem La-sertreiber oder dem LED-Treiber zur Verfuuml-

Via Laser oder High-Power-LEDAudiosignale drahtlos mit Licht uumlbertra-gen Die von uns vorgestellte Schaltungsetzt auf einen Mikrocontroller der denAudio-Codec steuert wobei die Qualitaumltdes Signals maximal 48 kBits betragendarf Der Mikrocontroller ndash die AudioProcessing Unit ndash ist das Herzstuumlck die-

ser speziellen Treiberschaltung der dasAudiosignal via Laser oder High-Power-LED uumlbertraumlgt Mit den Konfigurations-registern lassen sich die Einstellungenfuumlr die Codes speichern und es lassensich Manipulationen an den Statusbitsdes SPDIF-Signals vornehmen

SyStementwurf AudiodAtEn uumlbERtRAgEn

19

telekommunikation von Mixed Mode

InfoClick

wwwelektronikpraxisde InfoClick 3343108

gung gestellt Aus Sicherheitsgruumlnden wirdder Lasertreiber uumlber eine vomMikrocontrol-ler gesteuerte Enable-Leitung ein- und aus-geschaltet Als Laserquelle dient eine Laser-diodeDer Lasertreiber ist zwar speziell auf diese

Laserdiode eingestellt kann aber durch an-dere Laserdioden ersetzt werden Die Aus-gangsleistung der Modulationsstrom derGleichstromanteil und der Temperaturkoef-fizient der Laserdiodenwerdenuumlber externeWiderstaumlnde des Lasertreibers dimensio-niert Die Laserdiode ist an einem Kupfer-block angebracht der dieKuumlhlungderDiodeund die Fokussierung des Laserlichts uumlbereine Linse im Inneren uumlbernimmt Der LED-Treiber der ein IR-Treiber oder ein High-Po-wer-LED-Treiber sein kann besteht aus zweischaltbarenKonstantstromquellenundkannbis zu vier High-Power-LEDs versorgen

Audioqualitaumlt liegt beiaktuell 48 kBitsAuf der Empfaumlngerseite muss der Light

Receiver alsQuelle ausgewaumlhltwerdenDie-ser Light Receiver umfasst je eine Empfangs-einheit fuumlr sichtbares und infrarotes Licht(Visible Light und Infrared Light Receiver)

Beide Empfangseinheiten bestehen aus ei-nemPhotodetektor und einemnachgeschal-teten Transimpedanzverstaumlrker Das vomTransimpedanzverstaumlrker erzeugte Signalwird anschlieszligendSPDIF-gerecht aufberei-tet und an die Audio Processing Unit weiter-geleitet und kann an einem der sechs An-schluumlsse abgegriffen werdenDiemaximaleAudioqualitaumlt der Schaltung

liegt zur Zeit noch bei 48 kBits da die Emp-fangseinheit Signalemit einer Frequenz vonmaximal 31 MHz zuverlaumlssig empfangenkannDiemaximaleReichweite die bei einergerichteten Uumlbertragung mit Laser erreichtwerden konnte betraumlgt aktuell 15 m DurchdenEinsatz vonoptischenHilfsmitteln kannjedoch eine weitaus houmlhere Reichweite er-reicht werden HEH

MixedMode +49(0)89 89868240

20

ProgrammiersPrachen Sichere Software

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Stabile Embedded-Systememit der Programmiersprache Ada

Mit der Programmiersprache Ada laumlsst sich sicherheits- und missions-kritische Software entwickeln wovon Embedded-Systeme profitieren

sollen Wir stellen Ihnen die Programmierumgebung vor

JOhANNES KANIg

Johannes Kanig ist Senior Software Engineer beiAdaCore

WashabenARGOS einSatellitenpro-gramm zur Sammlung von Um-weltdaten unddas Traumlgheitsnavi-

gationssystem des Airbus 350 XWB mitein-ander gemeinsam Beide stellen besondereAnforderungenan ihre Steuerungssoftwaredie sehr sicher und in Echtzeit reagierenmuss und deren eventuelle Fehler viel Geldoder sogar Menschenleben kosten koumlnnenIn beiden Faumlllen ist die Software missions-kritisch wenn beispielsweise durch einenFehler der Satellit verloren gehen kann odersicherheitskritischwenndurch einenFehlerdie Passagiere des Airbus inGefahr geratenBeide Systeme haben noch etwas gemein-sam sie sind in Ada geschrieben

Ein Traumlgheitsnavigationssystem stellt ho-he Anforderungen an seine Embedded-Ap-plikationen die sehr Hardwarenah laufenDabei wird auf Sicherheit groumlszligter Wert ge-legt Die Anwendung darf unter keinen Um-staumlnden abstuumlrzen und sollte ihre Funktionerfuumlllen sowie maximale Reaktionszeitenstrikt einhalten Fuumlr sicherheitskritischeAn-wendungen werden in der Regel vor demeigentlichen Entwicklungsprozess genaueHigh-Integrity-Anforderungen aufgeschrie-ben denenderProgrammcodedannentspre-chenmussNatuumlrlich ist es fuumlr denProgram-mierer einfacher wenn die Sprache direktKonstruktionen anbietet die bestimmtenArten von Anforderungen entsprechen

Lesbarer Code vermeidetFehler beim programmierenDie Entwickler der Programmiersprache

Adahaben stets besonderenWert auf Lesbar-keit undWartbarkeit gelegt Das aumluszligert sich

unter anderem in syntaktischenUnterschie-den mit Sprachen wie C oder Java Zum Bei-spiel verzichtet Ada voumlllig auf geschweifteKlammern und nutzt stattdessen leicht les-bare Schluumlsselwoumlrter um Bloumlcke zu kenn-zeichnen So werden if-Bloumlcke mit einemend if undSchleifenmit einemend loopabgeschlossen Im Allgemeinen vermeidetAdaSymbolewoSchluumlsselwoumlrter Sinn erge-ben So wird auch der in C uumlbliche Stern zurBezeichnung von Zeigern durch das Schluumls-selwort access ersetzt Ada beachtet Groszlig-und Kleinschreibung nicht um Verwechs-lung von zu aumlhnlichen Bezeichnern zu ver-meiden Und schlieszliglich vermeidet Ada diein Java und C verbreitete Praxis oktale Zah-len mit einer fuumlhrenden Null darzustellenNeben diesen syntaktischen Unterschie-

den gibt es auch viele semantische Hilfenum lesbare undbesserwartbare Programmezu schreiben Sowird die Relation zwischeneiner Funktion und ihren Parametern durchSchluumlsselwoumlrter wie in (nur lesen) out(nur schreiben) oder in out (beides) doku-mentiert Ada ist imGegensatz zuC eine starkgetypte Sprache Typkonversionen die zuLaufzeitfehlern fuumlhrenkoumlnnenmuumlssten ex-plizit geschrieben werden Ada erlaubt imGegensatz zu manchen anderen Sprachendie Einfuumlhrung von benutzerdefinierten In-tegertypen die Absichten des Programmie-rers dokumentieren (DieseVariable enthaumlltZahlen zwischen 1und 100) unddie korrek-te Ausfuumlhrung mit Laufzeituumlberpruumlfungensicherstellen Diese semantischen Eigen-schaften erleichtern den direkten Vergleichdes Programmcodes mit den an ihn gestell-ten Anforderungen

Besonderheiten bei derEmbedded-ProgrammierungBei Echtzeitanwendungenhandelt es sich

meist um parallele Anwendungen denn inder Regel werden mehrere Berechnungengleichzeitig durchgefuumlhrt undneueEreignis-se verarbeitet In diesem Kontext ist es be-

Umweltsattelit Die Steuerungssoftware muss sich besonderen Anforderungen stellen Mit der Program-miersprache Ada laumlsst sich sicherheits- und missionskritische Software entwickeln (Im Bild der Umwelt-satellit ENVISAT)

fotoD

Lr

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

sonders wichtig dass Reaktionszeiten derSoftware auf Ereignisse garantiert werdenkoumlnnen Hier ist es nuumltzlich dass Ada einfa-che Sprachfeatures zur Beschreibung vonparallelen Prozessen bereitstellt Es ist ent-scheidend dassAdakeinenGarbageCollec-tor benoumltigt der denProgrammablauf verzouml-gern koumlnnte Ein manueller Umgang mitThreads ist alsonicht noumltig Unvorhersehba-re Latenzzeiten die bei sicherheitskritischenAnwendungen unakzeptabel sind werdenausgeschlossen Ein weiteres Argument fuumlrden Einsatz von Ada im Embedded-Bereichist seine Faumlhigkeit zur Low-Level-Program-mierung Damit kann beispielsweise die ge-naue Auslegung einer Datenstruktur imSpeicher festgelegt werden Als gefaumlhrlicherachtete Low-Level-Features wie zum Bei-spiel dasAuslesenbeliebiger Speicherberei-che oder auch die in C beliebte Pointerarith-metik sind in Ada nur unter Umgehung desTypsystemsmoumlglich

Ada ndash Die Programmierspracheohne UumlberraschungenAda wird oft als Sprache ohne Uumlberra-

schungen bezeichnet Mechanismen zurProgrammstrukturierung wie es sie in Adagibt also ein Objektsystem oder ein Paket-system sind sehr hilfreich wenn es darumgeht umfangreiche Programme zu schrei-ben Der Ada-Standard sieht sogenanntePragma-Restriktionen vormit denen festge-legt werden kann ob Features der Spracheausgeschlossenwerden sollenDamit lassensich interne Coding-Standards uumlberpruumlfenDieses Feature kannmanmit dem StandardMISRA-CC++vergleichen der versucht einesichere Teilmenge von C beziehungsweiseC++ zu definieren Ada bietet den Vorteildass viele Konstrukte vondenenMISRAab-raumlt gar nicht geschrieben werden koumlnnenund dank des starken Typsystems mehrUumlberpruumlfungenmoumlglich sindDie Programmiersprache Ada gibt es seit

demBeginn der achtziger Jahre Die damali-ge Version Ada 83 enthielt bereits eine guteBasis fuumlr die strukturierte undmodulare Pro-grammierung wie ein Paketsystem das dieKapselung von Daten und Algorithmen er-moumlglicht Seitdem hat sich Ada kontinuier-lich weiterentwickelt So erschien 1995 derAda-95-Standard der die Sprache um einObjektsystem erweiterte Der naumlchste Stan-dard Ada 2005 brachte Verbesserungen imUmgang mit Zeigern die als konstant oderauch als not null deklariert werden koumln-nen Das stellt vor allem eine umfangreicheErweiterungder Standardbibliothekdar dienun auch Container enthaumllt Das Objektsys-temwurde umdas Interface-Konzept erwei-

PRAxISWERT

Adacore Software-loumlsungen fuumlr AdaAdaCore wurde 1994 gegruumlndet undist der fuumlhrende Anbieter von kom-merziellen Softwareloumlsungen fuumlr Adaeiner modernen Programmiersprachefuumlr Mission-Critical-Anwendungen insicherheitskritischen UmgebungenDas wichtigste Produkt ist die Ent-wicklungsumgebung GNAT Pro dieOnline-Support bietet und auf mehrPlattformen als jede andere Ada-Tech-nologie verfuumlgbar ist Unternehmenwie Boeing HP Krauss-Maffei oderSiemens setzen AdaCore-Loumlsungenfuumlr sicherheitskritische Anwendun-gen ein Hauptsitz ist New York daseuropaumlische Headquarter ist in Paris

tert so dass nun auch Mehrfachvererbungmoumlglich istDer naumlchste Standard ist fuumlr 2012 vorgese-

hen Darin sind die aus der Programmier-spracheEiffel bekanntenVertraumlge (contracts)vorgesehen die jeder Funktion zwei Boole-scheAusdruumlcke hinzufuumlgen koumlnnen die voroder nach Ausfuumlhrung der Funktion wahrsein sollenDieseAusdruumlcke sind im Idealfalldirekt von den Anforderungen an die Soft-ware abgeleitet Sie koumlnnen als formale Do-kumentation als zusaumltzlicheUumlberpruumlfungenzur Laufzeit oder als Ausgangspunkt fuumlr sta-tische Analysen dienen Eine weitere Neue-rung ermoumlglicht dieDefinition vonTypenmitso genannten Invarianten Damit sind Boo-lesche Ausdruumlcke gemeint die fuumlr Wertedieses Typs immer wahr sind Schlieszliglichgibt es viele andereWeiterentwicklungenwieeine Python-aumlhnliche Syntax zur Iterationuumlber Container und Verbesserungen implattformuumlbergreifenden Umgang mit ne-benlaumlufigen Prozessen und Multiprozesso-ren hEh

AdaCore +33(1)4970 6716

ProgrammiersPrachen SiCHERE SOfTwARE

21

Adacore-Entwicklungswerkzeuge

Ada Deutschland

InfoClick

wwwelektronikpraxisde infoclick 3343168

Bei unsbewegtsich was

Webcasts aufwwwelektronikpraxisde

Finden Sie die Loumlsung fuumlr IhrProblem ndash als Video oderAudiodatei

Beispiele fuumlr Webcasts

Anwendungsbeschreibungenkomplexer erklaumlrungsbeduumlrftigerProdukte

anwendungs- und loumlsungsorien-tierte Produktpraumlsentationen

vertonte Powerpointpraumlsentati-onen ProduktanimationenExperteninterviews oderMesseberichte

Online-SeminareOnline-Konferenzen

Schauen Sie doch mal rein---gt wwwelektronikpraxisde

CAST

wwwvogelde

0726

4

22

EmbEddEd-SyStEmE Software-architektur

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Von der impliziten zur explizitenSoftware-Architektur

Im Bereich der Unternehmenssoftware ist das Festlegen einer Soft-ware-Architektur heutzutage Standard doch bei der Embedded-Ent-

wicklung wird dieser Aspekt haumlufig noch vernachlaumlssigt

MIchAEL STuRM chRISTIAN hOcK

Dr Michael Sturm leitet die Abteilung Softwarepro-dukte im Geschaumlftsbereich Industrybei der Berner amp Mattner Systemtech-nik in Muumlnchen

Dr christian hock ist verantwortlich fuumlr die strate-gische Ausrichtung des Geschaumlfts-bereiches Industry bei der Berner ampMattner Systemtechnik in Muumlnchen

Eine dokumentierte Software-Architek-tur hat klare Vorteile Produkte sindanpassungsfaumlhiger und zukunftssiche-

rer Auszligerdem erleichtert das Wissen umSchnittstellen Kommunikationsbeziehun-genundRessourcen einzelner Komponentenderen Anpassung an neue Hardwarebedin-gungenundFunktionsanforderungenNichtnur beiNeuentwicklungen sondern auchbeiModernisierungen bestehender Embedded-Loumlsungen lohnt es sich einen Software-Ar-chitekten einzubinden um Weiterentwick-lungenauf ein zukunftssicheres Fundamentzu stellen

Begruumlndete Technologie-entscheidungen treffenUnter Software-Architektur versteht man

die strukturierteAnordnungderKomponen-ten eines Systems mit Informationen zurKommunikation zwischen den Komponen-ten sowie deren Abbildung auf Hardware-oder Softwareressourcen Eine fruumlhzeitigeundprojektbegleitendeUnterstuumltzungdurcheinen den einzelnen Entwicklerteams moumlg-lichst neutral gegenuumlberstehendenSoftware-Architekten ist die ideale Loumlsung EineReihevon Aufgaben kann man dieser Instanz zu-ordnen in vielenBereichengeht es aber aucheinfach umModerationEine zentraleAufgabeder EmbeddedSoft-

ware-Architektur ist es nicht nur die funkti-onalen Anforderungen an die Software zuberuumlcksichtigen sondern auch nichtfunkti-

in seiner Loumlsungsfindung eingeschraumlnktsein Bewaumlhrte Loumlsungsansaumltzewerdendannoft unhinterfragt wiederholt Neue moumlgli-cherweise besser geeignete und insbesonde-re flexiblere Technologienbleibenunberuumlck-sichtigt

Zusammenhaumlnge muumlssennachvollziehbar bleibenDaher kannes zumBeispiel zudenAufga-

ben eines Software-Architekturteams oderexternen Beraters gehoumlren neue Technolo-

Groszliges Vorbild Softwaresysteme lassen sich hinsichtlich ihrer Komplexitaumlt mit Gebaumluden wie Antoni Gau-diacutes Kirche Sagrada Familia in Barcelona vergleichen Eine in sich schluumlssige Architektur ist deshalb auch imSoftwarebereich unerlaumlsslich

iStockph

otoham

ishBa

rrie

onale Anforderungen zu erfassen und zwarvor dem Hintergrund einer Lifecycle-Prog-nose Unter diese nichtfunktionalen Anfor-derungen fallen so komplexe Punkte wieWartbarkeit Modifizierbarkeit Skalierbar-keit Portierbarkeit Konnektivitaumlt Benutz-barkeit Zuverlaumlssigkeit Sicherheit Perfor-mance Effizienz oder TestbarkeitSo vorteilhaft ein eingespieltes Entwick-

lerteam fuumlr die Kommunikation ist so sehrkann es auch durch die Erfahrung aus Vor-gaumlngerprojekten oder aumlhnlichen Projekten

23

EmbEddEd-SyStEmE Software-architektur

gien zu evaluieren und auf Eignung fuumlr Pro-jekte zu pruumlfen sowie neue Toolsets zur Ver-fuumlgung zu stellen Kuumlnftig benoumltigteKompo-nenten muumlssen identifiziert werden undwenn es darum geht fuumlr einzelne Kompo-nenten optionale Technologien vorzuschla-gen bewaumlhrt sich haumlufig das Einschalteneines neutralen ArchitekturbeauftragtenEs geht um die Diskussion von Design-

Entscheidungen dieDefinition vonSchnitt-stellen und die Entwicklung von CodingConventions Unter der Moderation einesSoftware-Architekten erfolgen diese Ent-scheidungen bewusster und werden besserdokumentiert Nur sobleibendie Zusammen-haumlnge innerhalb eines Systems auch fuumlr Ent-wickler nachvollziehbar die spaumlter einmalan ihm arbeitenmuumlssen und nichts von denimplizitenAnnahmenund teaminternenGe-pflogenheiten seiner Schoumlpfer wissen

Implizite Architekturen sindimmer vorhandenIn der taumlglichen Praxis der Embedded-

Entwicklung sieht es leidermeist anders ausZeit- und Kostendruck verhindern oft dassGedankenundArbeit in eine systematisierteSoftware-Architektur flieszligen Hier koumlnnenSoftwarearchitekten auchdurchdieAuswahlgeeigneter Methoden und Tools weiter hel-fen So kann die dynamische Entwicklungheutiger Industrieproduktemit agilenAnsaumltzenunterstuumltztwerdenAuch einstrikt modellbasierter Entwicklungs-ansatz also die Modularisierung mitklar definierten Schnittstellen ist einMittel um einen hohen Reifegrad zuerreichen Die Vorteile dieses Vorge-henshaben sich in vielenProjektenbeiBerner amp Mattner in der Entwicklungvon Funktionserweiterungen gezeigtDank des modellbasierten Ansatzeskonnten diese mit minimalem Auf-wand realisiertwerdenndashunddies ins-besondere auch von urspruumlnglichnicht beteiligten EntwicklernAber Fakt ist Jedes Softwaresystem

hat eineArchitektur auchwenndiesenicht explizit modelliert wurde Ent-stehendiese Strukturenungeplant ausder Dynamik der Komponentenent-wicklung heraus tut dies der Funkti-onalitaumlt der Software zunaumlchst keinenAbbruch Probleme treten erst spaumlterauf wenn es umWartung Skalierungoder Portierung gehtImNachhinein raumlcht sichdann zum

Beispiel die Wahl einer bestimmtenProgrammiersprache oder einerSchnittstelle die unter dem Zeit- undKostendruck imEntwicklungsprozess

schnell und dazu noch undokumentiert ge-troffenwurdeDieKommunikation zwischeneinzelnen nicht klar getrenntenKomponen-ten war moumlglicherweise nur oberflaumlchlichgeloumlst anstatt schon bei derWahl der Tech-nologien und Sprachen darauf zu achtenReibungspotenziale zu minimieren

Zu enge Abhaumlngigkeiten vonder Hardware vermeidenWird ein Softwareprojekt nicht in Bezug

auf seinengesamtenLebenszyklus gesehenbesteht bei Embedded-Projekten auch dieGefahr dass ungewollteAbhaumlngigkeiten zurEntwicklungs-Hardware entstehen Die An-passung an neue Hardwaregenerationenkann dadurch sehr aufwaumlndig oder gar un-moumlglich werdenEine klar strukturierte unddokumentierte

Software-Architektur wird erst dann ver-misst wenn es bei der notwendigenWeiter-entwicklung Fragen und Schwierigkeitengibt Oft sollen wesentliche Teile der Soft-ware beibehalten aber zum Beispiel an einneuesBenutzerinterface angeschlossenwer-denManchmal ist der Controller fuumlr den siegeschrieben wurde nicht mehr verfuumlgbarund sein Nachfolger ist anders aufgebautFunktionenmuumlssen erweitert zusammenge-fuumlhrt oder auf geaumlnderte externe Systemeangepasst werden Die Pflege oder Weiter-

PRAxISWERT

Fehler lassen sichverhinderneine klar definierte und stringenteSoftware-architektur hilft die Zusam-menhaumlnge innerhalb eines Systemsbesser zu verstehen Dies verhindertfehler und senkt nicht zuletzt denaufwand bei der eventuell noumltigenbdquoaltbausanierungldquo von embedded-Systemen

Nachtraumlgliche Analyse nuumltztwurde die Software-architektur inder embedded-entwicklung vernach-laumlssigt lohnt sich angesichts der zuerwartenden langen einsatz- und Le-benszeiten vieler embedded-Systemeauch eine nachtraumlgliche analyse undDokumentation andernfalls drohenmoumlglicherweise immer wieder unkal-kulierbare Verzoumlgerungen wenn war-tungs- oder weiterentwicklungsarbei-ten eventuell auf undokumentierteeigenheiten des Systems stoszligen

H

SIG

HPEED

ROBUST

FLEXIBLE

TriCore Power Architecturebull

XC2000XE166 SH-2A XScalebull bull

Cortex M0M3M4 Cortex R4 Cortex A8 ARM7911bull bull bull

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

24

EmbEddEd-SyStEmE Software-architektur

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Literaturhinweise[1] Pete Goodliffe code craftthe Practice of writing excellent codeNoStarch Press 2006

[2] Peter hruschka Gernot Starkeknigge fuumlr SoftwarearchitektenentwicklerPress 2012

[3] craig Larman applying uML and Pat-terns an introduction to object-orien-ted analysis and DesignPrentice hall 2004 (3 auflage)[4] Berner amp Mattner-fachartikel bdquoSoft-warearchitektur in eingebetteten Syste-menldquo ndash httpbitlyJosXYw

entwicklung eines solchen Systemswird fuumlrden Produktverantwortlichen zu einerschwer kalkulierbaren Kostenquelle vor al-lem dann wenn er nicht mehr auf den KerndesurspruumlnglichenEntwicklerteams zuruumlck-greifen kannHilfestellung in solchen Situation bieten

Spezialisten wie Berner amp Mattner die Alt-systeme analysieren bestehende Software-Architektur nachdokumentierenundmoumlgli-che Migrations- und Aumlnderungspfade iden-tifizieren Als externe Architekturberaterkoumlnnen sie unbelastet von der Softwarehis-torie untersuchen wo in der Struktur derSoftware Problemfelder liegen und Loumlsun-gen vorschlagenDerAufwand fuumlr PflegeundWeiterentwicklung laumlsst sich auf Basis einersolchen Analyse besser beurteilen

Regeln aufstellen ndash und sierichtig brechenBesonders spannend wird das Thema bei

zertifiziertenEmbeddedSystemen Einehaumlu-fige Herausforderung ist dass die Softwareoder wesentliche Teile zertifiziert sind umeinem SIL (Safety Integrity Level) zu genuuml-gen Selbstverstaumlndlich moumlchte niemanderneut eine IEC 61508-Zertifizierung durch-laufen wenn sich dies vermeiden laumlsstGluumlcklicherweise sind oft nur einzelne rele-vante Teile des Systems als sicherheitskri-tisch eingestuft Die Kunst des Architektur-beraters ist es die Stellen in der Software zufinden andenendie Schnitte angesetztwer-denkoumlnnenndashund zwar zwischenden sicher-heitskritischen Teilen und den Teilen undSchnittstellen die problemlos geaumlndertwer-den koumlnnenHierzu nutzt der Berater gaumlngige Design-

Patternswie etwaSchichtenoder bdquopipes andfiltersldquo Ironischerweisemusshaumlufig das aufdieseWeise entstandene Regelwerk die ab-geleiteteArchitektur fuumlr das eigentlicheEnt-wicklungsprojekt gleich wieder gebrochenwerden eben um zertifizierte Bestandteileunveraumlndert zu erhalten Der groszlige Unter-schied zu den bdquoRegelverletzungenldquo aus derEntstehungszeit der urspruumlnglichen Soft-

ware liegt aber darin dass sie nun ausfuumlhr-lich dokumentiert werdenEs waumlre ein Missverstaumlndnis Software-

Architektur als ein unveraumlnderliches Doku-ment zu verstehen das man nur selten wie-der in die Hand nimmt Es sollte bei jederArbeit an der Software gelesen und gepflegtwerden Ohne dieses lebendige Dokumentwerden Architekturverstoumlszlige oft gar nichtbemerkt Vereinbarungen zu ArchitekturCodingConventions Schnittstellen etcwer-dendadurch fuumlr denEntwickler verbindlich

Architektur muss als Prozessverstanden werdenDer Auftraggeber erhaumllt so ein Embedded

System dessen Pflege er in die Haumlnde einesneuenTeamsgebenkannDie nun freigewor-denen Spezialisten die es erstellt habenkoumlnnen getrost an anderer Stelle eingesetztwerdenDabei gilt Software-Architektur endet nie

DennauchvondenEntwicklern einzusetzen-deDesign-Methodenwie zumBeispiel ObjectOrientedAnalysis andDesign (OOAD)habenklare Strukturen und die Trennung von Zu-

staumlndigkeiten zum Ziel - das ist eindeutigArchitekturEine klare Software-Architektur hilft die

Zusammenhaumlnge innerhalb eines Systemsbesser zu verstehen Dies verhindert Fehlerund senkt den Aufwand bei der bdquoAltbausa-nierungldquo von Embedded Systemen Wurdedie Software-Architektur in der Embedded-Entwicklung vernachlaumlssigt lohnt sich an-gesichts langer Einsatz- und Lebenszeitenvieler EmbeddedSystemeauchdie nachtraumlg-liche Analyse und Dokumentation Andern-falls drohen immer wieder unkalkulierbareVerzoumlgerungen wenn Wartungs- oder Wei-terentwicklungsarbeiten auf undokumen-tierte Eigenheiten des Systems stoszligen Beistark eingefahrenen Teams bzw zum Wis-sensaufbaubietet sichhier ein externer Soft-warearchitekt anDie meisten Fehler durch menschliches

Versagen entstehen dort wo wir nicht ver-stehen woran wir bdquoschraubenldquo Eine expli-zite Architektur traumlgt maszliggeblich dazu beidieWirkketten innerhalb komplexer Systemetransparent zu machen Mit diesem Wissenwerden erforderliche Aumlnderungen wesent-lich schneller bewertet und zuverlaumlssig rea-lisiert FG

Berner ampMattner +49(0)89 6080900

Zusammenhaumlnge verstehen Explizite Software-Architektur traumlgt maszliggeblich dazu bei die Wirkungs-zusammenhaumlnge komplexer Systeme anschaulich und transparent zu machen

iStockph

otoSirgunhik

Lebenslaumlnglich Software-architekturdesign

requirements engineering fuumlr embedded-Systeme

InfoClick

wwwelektronikpraxisde InfoClick 3343141

25

Kolumne

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

Mit Fragen zum ProjekterfolgPETER SIwON

Heute stelle ich Ihnen ein Wundermit-tel vormit demSie inProjekten vielEnergie Zeit und Geld sparen

Gleichzeitigmotiviert es IhreMitarbeiter DerEinsatz des Wundermittels hat sehr viel mitdem BuchstabenWwieWunder zu tun DasBeste daran Es kostet nichts undSie kennenes alle DasWundersameandiesemWunder-mittel ist allerdings dass es trotzdem zu sel-ten eingesetzt wird Ich gebe Ihnen noch einpaar TippsWie kommenSie ameffektivstenan Informationen Wie erfahren Sie amschnellstenwas andereMenschendenkenWie findenSie amschnellstenLoumlsungenDieAntwort lautet FragenUnddie beginnenoftmit wo wie wann oder wer Vielleicht sindSie jetzt uumlber diese simple Antwort ent-taumluscht nachdem ich Ihnen den Mund mitallerlei Wunderversprechungen waumlssrig ge-macht habe An dieser Stelle koumlnnten Siespaszligeshalber auf das Themaeinsteigenundfragen bdquoWie kommen Sie darauf diese Me-thode alsWundermittel zu bezeichnenldquo Siekoumlnnten aber auchgelangweilt denken bdquoWeiszligschon offene Fragen stellenldquo und aufhoumlrenzu lesen Sind Sie sich ganz sicher dass Siealle meine Argumente kennen Das ist zwaretwasmanipulativ abermit dieser Fragebrin-ge ich Sie immerhindazu IhrenStandpunktzu hinterfragen Vielleicht lautet die so pro-vozierteAntwort bdquoNaja eigentlichbin ichmirnicht sicherldquo ndash und Sie lesen doch weiterDas Praktische an solchenFragen ist dass

Sie sich von Ihrer eigenen Antwort in derRegel besser uumlberzeugen lassen Ichhaumltte Sieauch schulmeisterlich zu IhremGluumlck zwin-gen koumlnnen bdquoSie muumlssen weiterlesen weilichweiszlig dass Sie noch jedeMengeWichtigeserfahren das Sie unmoumlglich wissen koumln-nenldquo Dasmache ich aber nicht weil ich dieNachteile kenne 1 Siemuumlssen gar nichts 2Wenn Sie muumlssen dann wollen Sie nichtIhre Motivation ist gering 3 Woher will ichwissen obSie nichtmehr uumlber dieKunst desFragens wissen als ich selbst Damit die ge-rade so schoumln erzeugte Motivation nichtgleichwieder auf demAltarmeines Egos ge-opfert wird spare ichmir PseudofragenwiebdquoHab ichs Ihnennicht gleich gesagtldquo Statt-dessen bedanke ich mich bescheiden fuumlrIhreBereitschaftweiterzulesen Ich gebe zudas faumlllt mir manchmal schwerGeschriebener Text schraumlnkt dieMoumlglich-

keiten etwas einDarumstellen Sie sichbitte

die obenangedeutete Szene als persoumlnlichesGespraumlch vor In diesem Fall koumlnnte ich ausdem W-Vollen schoumlpfen Wenn Sie mir zuverstehen geben dass Sie sich selbst schonmit dem Thema befasst haben dann werdeich Sie beispielsweise fragen bdquoDas freutmich Welche Erfahrungen haben Sie ge-machtldquo oder bdquoWas wuumlrden Sie aus IhrerErfahrung empfehlenldquo Jetzt habe ich dieChance etwas von Ihnen zu lernen Gleich-zeitig spare ich Energie und Uumlberzeugungs-arbeit weil ich einfach nur zuhoumlre Ich wer-de IhreAussagendurchRuumlckmeldungenwiebdquointeressantldquo oder bdquoDa stimme ich Ihnen zuldquounterstreichen Mit meinen Fragen will ichnicht beweisen dass ich der Schlauere binsondern dass Fragen ein echtesWundermit-tel sind Durch interessiertes Nachfragenkann ich Ihnen dabei helfen neue Aspektezu entdecken Was tue ich wenn ich eineandere Meinung habe Statt Geschuumltze wiebdquoJa aberhellipldquo oder bdquoNein das kann nicht seinweilhellipldquo aufzufahren umSie rhetorisch abzu-wuumlrgen oder zu knebeln ist es erheblichnuumltzlicher die Hintergruumlnde Ihrer Darstel-lungdurchFragenherauszufinden Falls Siefalsch liegen kommen Sie vielleicht durchdenVersuchmeine Fragen zubeantwortenselbst dahinter Ich spare mir dann die an-strengende Prozedur der Gegenargumenta-tion Dann werde ich uns beide dazu be-gluumlckwuumlnschen dass wir unser Wissen ge-meinsam bereichert haben ndash denn genauso

ist es Sollte ich derjenige sein der falschliegt kann ich dazulernen ohne mir eineBloumlszlige zu gebenJetzt stellen Sie mir da ich mich als Fra-

genfreundgeoutet habe eine Fragewie bdquoWaswuumlrdenSie tunwenneinunselbststaumlndigerMitarbeiter staumlndig fragt was er tun sollldquoIch wuumlrde wie sollte es anders sein post-wendendeineGegenfrage stellen bdquoWas glau-ben Sie wuumlrde ich tunldquo und Ihnen damitschon die Antwort in den Mund legen fra-gen Tolle Fragen in solchen Situationensind Was haben Sie oder andere in aumlhnli-chen Situationen getan Warum glaubenSie hat es bisher nicht funktioniertldquo Da-nach bringe ich hoffentlich die Geduld fuumlrzweiVerhaltensweisen auf die fuumlr denErfolgeiner Frage wichtig sind Erstens halte ichden Mund um Ihnen Zeit zum NachdenkenzugebenAlsGefragter habenSie es naumlmlichnicht leicht Sie denkennun zuerst uumlbermei-ne Frage und dann uumlber Ihre Antwort nachWenn ich waumlhrend Sie gruumlbeln die Frageselbst beantworte oder noch eine Frage hin-terher schieszlige habe ich alles verdorben Ichzaumlhle also im Kopf bis 5 um diese Falle zuvermeiden Zweitens zeige ich Ihnen wennSie antworten durchAugenkontakt Nickenkurze Ruumlckmeldungen und Verstaumlndnisfra-gen mein Interesse Aktives Zuhoumlren ist diebeste Gewaumlhr dafuumlr dass mir nichts Wichti-ges entgeht und es ist ein Zeichen groszligerWertschaumltzung So gewinne ichdurchFragenund Zuhoumlren Ihre Sympathie Das Wundervollzieht sich also in drei Schritte FragenWarten Zuhoumlren Wenn Sie auf diese Weiseeine gute Idee finden goumlnne ich Ihnen IhrErfolgserlebnis und sage so etwas wie bdquoSu-per das houmlrt sich interessant anldquo Und ichlege gleichnoch eine Frage als ZugabedraufbdquoWannglaubenSiewerdenSie die Idee aus-probierenldquo Diese nachgeschobene Fragehat gegenuumlber einer Aufforderungwie bdquoPro-bieren Sie es doch morgen gleich ausldquo dengroszligen Vorteil dass ich so Ihr Gefuumlhl derEigenverantwortung erhalte bzw foumlrdere IchbeendediesenkurzenAusflug indieWelt derW-Wunder wie auch sonst mit einer FrageHaben Sie Interesse zum Thema Fragetech-nikenWollen Sie eine kostenlose Checklis-te zu Fragetechniken Dann senden Sie mirbitte eine E-Mail an psiwondie-menschli-che-Seitede hEh

Mit Fragen zum Projekterfolg Peter Siwon beschaumlf-tigt sich seit mehr als 20 Jahren mit den ThemenGehirn und Psyche im Zusammenhang mit derProjektarbeit in technischen Berufen

InfoClick 3370352

26 ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

RedaktionChefredakteur Johann Wiesboumlck (jw) ViSdP fuumlr die redaktionellen InhalteRessorts Zukunftstechnologien Kongresse Kooperationen Tel (09 31) 4 18-30 81Chef vom dienst Peter Koller (pk) Tel (09 31) 4 18-30 98Verantwortlich fuumlr dieses Sonderheft Franz Graser Tel -30 92Redaktion Muumlnchen Tel (09 31) 4 18-Franz Graser (fg) Prozessor- und Softwarearchitekturen Embedded Plattformen Tel -30 92Martina Hafner (mh) Produktmanagerin Online Embedded Software Engineering KongressTel -30 82Hendrik Haumlrter (heh) Messtechnik Testen EMV Medizintechnik Laborarbeitsplaumltze DisplaysOptoelektronik Embedded Software Engineering Tel -30 92Holger Heller (hh) ASIC Entwicklungs-Tools Embedded Computing MikrocontrollerProzessoren Programmierbare Logik SOC Tel -30 83Gerd Kucera (ku) Automatisierung Bildverarbeitung Industrial Wireless EDALeistungselektronik Tel -30 84Thomas Kuther (tk) Kfz-Elektronik Stromversorgungen Oszillatoren Passive BauelementeTel -30 85Kristin Rinortner (kr) Analogtechnik Mixed-Signal-ICs Elektromechanik Relais Tel -30 86Margit Kuther (mk) Bauteilebeschaffung Distribution Beruf amp Karriere Tel (0 81 04) 6 29-7 00Freie Mitarbeiter Prof Dr Christian Siemers FH Nordhausen und TU Clausthal Peter SiwonMicroConsult Sanjay Sauldie EIMIA Hubertus Andreae dreiplus praxisbegleitendeInnovationsfoumlrderungVerantwortlich fuumlr die Fed-news Dr Stephan Weyhe FED Alte Jakobstr 8586 D-10179 BerlinTel (0 30) 8 34 90 59 Fax (0 30) 8 34 18 31 wwwfeddeRedaktionsassistenz Eilyn Dommel Tel -30 87RedaktionsanschriftMuumlnchen Grafinger Str 26 81671 Muumlnchen Tel (09 31) 4 18-30 87 Fax (09 31) 4 18-30 93Wuumlrzburg Max-Planck-Str 79 97082 Wuumlrzburg Tel (09 31) 4 18-24 77 Fax (09 31) 4 18-27 40LayoutMichela Deppe Joachim Haselmann Carolin Frank Sigrid Rau Meike Herkersdorf Mar-kus Mager

eLektRonikPRaXiS ist organ des Fachverbandes elektronik-design eV (Fed)Fed-Mitglieder erhalten eLektRonikPRaXiS im Rahmen ihrer Mitgliedschaft

VeRLagVogel Business Media GmbH amp Co KG Max-Planck-Straszlige 79 97082 WuumlrzburgPostanschriftVogel Business Media GmbH amp Co KG 97064 WuumlrzburgTel (09 31) 4 18-0 Fax (09 31) 4 18-28 43BeteiligungsverhaumlltnisseVogel Business Media Verwaltungs GmbHKommanditistin Vogel Medien GmbH amp Co KG Max-Planck-Straszlige 79 97082 Wuumlrzburggeschaumlftsfuumlhrung Stefan Ruumlhling (Vorsitz) Florian Fischer Ernst Haack Guumlnter SchuumlrgerPublisher Johann Wiesboumlck Tel (09 31) 4 18-30 81anzeigenleitung Franziska Harfy Tel (09 31) 4 18-30 88Fax -30 93 Grafinger Str 26 81671 Muumlnchen franziskaharfyvogeldeanzeigenverkauf Wuumlrzburg Tel (09 31) 4 18- Fax (09 31) 4 18-28 43Susanne Muumlller Tel -23 97 susannemuellervogeldekey-account-Manager Tel (09 31) 4 18- Fax (09 31) 4 18-28 43Hans-Juumlrgen Schaumlffer Tel -24 64 hansschaeffervogeldeClaudia Fick Tel -30 89 Fax -30 93 Grafinger Str 26 81671 Muumlnchen claudiafickvogeldeMarketingleitung Elisabeth Ziener Tel (09 31) 4 18-26 33auftragsmanagement Claudia Ackermann Tel (09 31) 4 18-20 58 Maria Duumlrr Tel (09 31) 4 18-22 57anzeigenpreise Zur Zeit gilt Anzeigenpreisliste Nr 47 vom 01 01 2012Vertrieb Leser- und abonnenten-Service DataM-Services GmbHFranz-Horn-Straszlige 2 97082 Wuumlrzburg Thomas Schmutzler Tel (09 31) 41 70-4 88 Fax -4 94tschmutzlerdatam-servicesde wwwdatam-servicesdeerscheinungsweise 24 Hefte im Jahr (plus Sonderhefte)

Verbreitete auflage 40009 Exemplare (IVWEDA Audit Oktober 2011)Angeschlossen der Informationsgemeinschaft zur Feststellung der Verbreitung von Wer-betraumlgern Sicherung der AuflagenwahrheitBezugspreis Einzelheft 900 EUR Abonnement Inland jaumlhrlich 19700 EUR inkl MwSt

Abonnement Ausland jaumlhrlich 22820 EUR (Luftpostzuschlag extra) Alle Abonnementpreiseverstehen sich einschlieszliglich Versandkosten (EG-Staaten ggf +7 USt)Bezugsmoumlglichkeiten Bestellungen nehmen der Verlag und alle Buchhandlungen im In- undAusland entgegen Sollte die Fachzeitschrift aus Gruumlnden die nicht vom Verlag zu vertretensind nicht geliefert werden koumlnnen besteht kein Anspruch auf Nachlieferung oder Erstattungvorausbezahlter Bezugsgelder Abbestellungen von Voll-Abonnements sind jederzeit moumlglichBankverbindungen HypoVereinsbank Wuumlrzburg (BLZ 790 200 76) 326 212 032SWiFt-Code HY VED EMM 455 IBAN DE65 7902 0076 0326 2120 32Herstellung Andreas Hummel Tel (09 31) 4 18-28 52Frank Schormuumlller (Leitung) Tel (09 31) 4 18-21 84druck Vogel Druck und Medienservice GmbH 97204 Houmlchbergerfuumlllungsort und gerichtsstandWuumlrzburgManuskripte Fuumlr unverlangt eingesandte Manuskripte wird keine Haftung uumlbernommenSie werden nur zuruumlckgesandt wenn Ruumlckporto beiliegtinternet-adresse wwwelektronikpraxisde wwwvogeldedatenbank Die Artikel dieses Heftes sind in elektronischer Form kostenpflichtig uumlber dieWirtschaftsdatenbank GENIOS zu beziehen wwwgeniosde

VeRLagSBuumlRoSVerlagsvertretungen inLand Auskunft uumlber zustaumlndige VerlagsvertretungenJens Otte Tel (09 31) 4 18-26 47 Fax (09 31) 4 18-28 57 jensottevogeldeaUSLand Belgien Luxemburg Niederlande SIPAS Peter Sanders Sydneystraat 105 NL-1448NE Purmerend Tel (+31) 299 671 303 Fax (+31) 299 671 500 petersandersvogeldeFrankreich DEF amp COMMUNICATION 48 boulevard Jean Jauregraves 92110 ClichyTel (+33) 14730-7180 Fax -0189groszligbritannien Vogel Europublishing UK Office Mark Hauser Tel (+44) 800-3 10 17 02Fax -3 10 17 03 markhausercomcastnet wwwvogel-europublishingcomUSaCanada VOGEL Europublishing Inc Mark Hauser 3321 Ashbourne CircleSan Ramon CA 94583 Tel (+1) 9 25-6 48 11 70 Fax -6 48 11 71

Copyright Vogel Business Media GmbH amp Co KG Alle Rechte vorbehalten Nachdruck digitale Verwendung jederArt Vervielfaumlltigung nur mit schriftlicher Genehmigung der Redaktion Fotokopieren veroumlffentlichter Beitraumlge istgestattet zu innerbetrieblichen Zwecken wenn auf jedes Blatt eine Wertmarke der Verwertungsgesellschaft WortAbt Wissenschaft in 80336 Muumlnchen Goethestraszlige 49 nach dem jeweils geltenden Tarif aufgeklebt wird Nachdruckund elektronische Nutzung Wenn Sie Beitraumlge dieser Zeitschrift fuumlr eigene Veroumlffentlichung wie Sonderdrucke Websi-tes sonstige elektronische Medien oder Kundenzeitschriften nutzen moumlchten erhalten Sie Information sowie dieerforderlichen Rechte uumlber httpwwwmycontentfactoryde (09 31) 4 18-27 86

Impressum

EDA

Wuumlrzburg 19 ndash 20 Juni 2012Vogel Convention CenterVCC

wwwsteckverbinderkongressde

Anwender sprechenmit Herstellern

Kongress und Tabletop-Ausstellung

Programm Unter wwwsteckverbinderkongressdefinden Sie die ausfuumlhrliche Agenda

Keynote Herausforderung Miniaturisierung ndash ZukuumlnftigeAnforderungsprofile bei Steckverbindern

Themen Applikationsspezifische Steckverbinder Kompakt-Steckverbinder fuumlr hohe Datenraten

Miniaturisierung Intelligente Steckverbinder Steckverbinder fuumlr besondere Anwendungen Qualifizierung Werkstoffe Verarbeitungsprozesse

Workshops Umspritzen von Kabeln Abdichten von Steckverbindungen Messtechnik Thermosimulation Design-in 3-D-Modellierung Schadensanalytik Beschichtungsverfahren

Aumlnderungen vorbehalten

Saumlmtliche Informationen zur Veranstaltung finden Sie unter---gt wwwsteckverbinderkongressde

Veranstalter

in Zusammenarbeit mit den Industriepartnern

07908

Alle Informationen unter wwwese-kongressde

Hauptsponsoren 2012 Veranstalter

20123ndash 7 Dezember 2012 in Sindelfingen

bdquoWissen ist das einzige Gutdas sich vermehrtwenn man es teiltldquo

(Marie Freifrau von Ebner-Eschenbach oumlsterreichische Schriftstellerin)

ESE Kongress ndash Ideen entwickeln Profis treffen Loumlsungen findenDer Embedded Software Engineering Kongress mit uumlber 800 Teilnehmern ist die groumlszligte deutschsprachigeVeranstaltung die sich ausschlieszliglich der Entwicklung von Geraumlte- Steuerungs- und Systemsoftware fuumlrIndustrie Kfz Telekom sowie Consumer- und Medizintechnik widmet Vom 3 bis 7 Dezember trifft sichdie Embedded-Software-Branche wieder in Sindelfingen ndash wir freuen uns auf Sie

Aussteller und Sponsoren 2012Axivion BBV Software Services dSPACE EASYCODE ELEKTRONIKPRAXIS emlix ETAS Fraunhofer IESEGreen Hills Software Hitex IAR Systems IMACS Infineon Intland Software iSYSTEM Lauterbach LDRALogic Technology linutronix macio MicroConsult National Instruments Noser Engineering Parasoftpls Programmierbare Logik amp Systeme Protos pure-systems QA Systems QNX Software Systems SafeTRANSseppmed Software Quality Lab SparxSystems Vector Informatik Vector Software Verifysoft Technology WillertSoftware Tools Zuumlhlke

Seit 30 Jahren vertrauen weltweit fuumlhrende Firmen Green Hills Softwarersquos sicherer undzuverlaumlssiger Software fuumlr sicherheitskritische Systeme

Fuumlr Luftfahrt- und Automobilindustrie fuumlr Telecom- Medizin- und Industrietechniksowie fuumlr intelligente Energienetze hat Green Hills Software erprobte und zuverlaumlssigeTechnologie geliefert

Wenn Sie wissen moumlchten wie eines der weltweit sichersten und zuverlaumlssigstenBetriebssysteme und dessen Entwicklungstools das Risiko aus Ihrem naumlchstenProjekt nehmen kann besuchen Sie uns unter wwwghscoms4e

Copyright copy 2012 Green Hills Software Green Hills Software and the Green Hills logo are registered trademarks ofGreen Hills Software All other product names are trademarks of their respective holders

Vertrauenswuumlrdige softwarefuumlr embedded deVices

safereliable

secure

  • Seite 1
  • Seite 2
  • Seite 3
  • Seite 4
  • Seite 5
  • Seite 6
  • Seite 7
  • Seite 8
  • Seite 9
  • Seite 10
  • Seite 11
  • Seite 12
  • Seite 13
  • Seite 14
  • Seite 15
  • Seite 16
  • Seite 17
  • Seite 18
  • Seite 19
  • Seite 20
  • Seite 21
  • Seite 22
  • Seite 23
  • Seite 24
  • Seite 25
  • Seite 26
  • Seite 27
  • Seite 28
Page 4: Securityineingebetteten Softwaresystemenfiles.vogel.de/vogelonline/vogelonline/issues/ep/2012/...Securityineingebetteten Softwaresystemen Angreifer nehmen Industriesteuerungen,Stromnetzeund

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

Kolumne25 Mit Fragen zum Projekterfolg

Wer nicht fragt erfaumlhrt nichts Diese Binsenweisheit laumlsstsich auch auf die Arbeitswelt und die Embedded-Entwick-lung uumlbertragen Fragen Sie Und fragen Sie richtig

RubRiKen3 Editorial

13 Aktuelles

26 Impressum

Titelbild Siemens-Pressebild PSDgraphics

10 Die drei Gesichter derSystemsicherheit

20 Ada Musterschuumller inSachen Sicherheit

18 Drahtlose Audio-Uumlbertra-gung mit Licht

22 Architektur macht Syste-me auf Dauer wartbar

Das Magazin als E-Paper lesenwwwelektronikpraxisdeepaper

Folgen Sie uns auf Twitterwwwtwittercomesesoftwarenews

Der ESE Kongresswwwese-kongressde

demousercomVertrieb von Elektronikbauelementen undHalbleitern fuumlr Entwicklungsingenieure

Autorisierter Distributor

Bei uns istKundenberatungkeine Fremdsprache

Um neue Produkte schneller als andere auf den Markt zu bringensind Vor-Ort-Kenntnisse ein Muss Mouser bietet uumlber seinweltweites Netz ausgezeichneten Verkaufs- und Beratungsserviceund professionellen technischen Support mit der notwendigenErfahrung lokaler Faktoren

Mouser und Mouser Electronics sind eingetragene Markenzeichen von Mouser Electronics Inc Alle anderen hierin

aufgefuumlhrten Produkte Logos und Namen von Unternehmen koumlnnen Warenzeichen der jeweiligen Besitzer sein

demousercomDie neuesten Produkte fuumlr Ihre neuesten Designstrade

DeutschlandElsenheimerstr 11 | 80687 Muumlnchen+49 (0) 8952 04621 10 | munichmousercom

6

EmbEddEd-Entwicklung TesT und QualiTaumlTssicherung

ELEKTRONIKPRAXIS embedded software engineering report Juni 2012

Mutationstest ndash ein Plaumldoyer fuumlreine vernachlaumlssigte Testtechnik

Softwareentwickler und Tester die von Zweifeln hinsichtlich der Quali-taumlt ihrer Tests beschlichen werden koumlnnen ihre Bedenken vielleicht mit

einem Mutationstest ausraumlumen

FRANK BuumlchNER

Frank-Buumlchner ist Diplom-Informatiker und arbei-tet als Senior Test Engineer bei HitexDevelopment Tools in Karlsruhe

Bei einem Mutationstest wird die Soft-ware (beziehungsweise das Testob-jekt) veraumlndert (bdquomutiertldquo) Danach

wird gepruumlft ob die vorhandenen Testfaumlllediese Mutation aufdecken Im Fachjargonheiszligt dies Der Mutant wird durch den Test-fall bdquogetoumltetldquo Ein Testfall der einenMutan-ten erkennt heiszligt adaumlquat Fuumlr eineMutati-on sindder Phantasie keineGrenzengesetztjedochmuss das Testobjekt syntaktisch kor-rekt also kompilierbar bleiben Fuumlr unserenZweck sollten die Mutationen jedoch ziem-lich subtil sein

Typische Mutationen bei C-Programmen(das Fehlermodell) sind die Verfaumllschungvon logischen Ausdruumlcken (beispielsweisedas Ersetzen eines logischenUNDdurch einlogischesODER) dieVerfaumllschungvonarith-metischen Ausdruumlcken (etwa die Additioneines konstanten Werts in einer Berech-nung) dieManipulation vonVariablen (bei-spielsweise Vertauschung von zwei Variab-len) dieVerfaumllschungvon relationalenOpe-ratoren (beispielsweise sbquoltrsquo durch sbquogtrsquo ersetzen)oder die Manipulation von Anweisungen(beispielsweise das Entfernen eines else-Zweigs oder das Einfuumlgen einer return-An-weisung)Die Mutanten die wir im Folgenden be-

trachten enthalten genau eine MutationDem liegt die empirischbestaumltigteAnnahme[6] zugrunde dass wenn ein Testfall einen

Mutantenmit genau einer (subtilen) Abwei-chung erkennt dieser Testfall auch Mutan-ten mit komplexeren Abweichungen toumltenwuumlrde (Kopplungseffekt) Auszligerdem redu-zieren wir dadurch den Aufwand der not-wendig ist umzu entscheiden obdurchdieMutation ein Mutant entstanden ist dernicht getoumltet werden kann In diesem Fallunterscheidet sichdasnachauszligen sichtbareProgrammverhaltennicht Original undMu-tant sind funktional aumlquivalent In der Praxismuss ein Mensch entscheiden ob OriginalundMutant funktional aumlquivalent sind

Vorhandene Testfaumllle auf dieMutanten anwendenUm einen Mutationstest vorzunehmen

muss man zwei Dinge tun Man muss einenMutanten erzeugen und man muss die vor-handenen Testfaumllle auf diesen MutantenanwendenWeilwir nurwenige stichprobenartigeMu-

tanten erzeugenwollen benoumltigen wir hier-zu kein Werkzeug Wir koumlnnen dies leichtmanuell erledigen Aufwendiger ist die Test-durchfuumlhrung Wenn wir von 20 Testfaumlllenund 10 Mutanten ausgehen muumlssen 200Testfaumllle ausgefuumlhrt werden Das macht dieAutomatisierung der Testausfuumlhrung in derPraxis notwendig In unserem Fall verwen-den wir das Unit-Testwerkzeug Tessy [7]Als erstes Beispiel betrachtenwir die klei-

ne Funktion shiftC()short shiftC(short A short B short C)if (A ampamp B)return Cltlt1elsereturn Cltlt2

Die Tabelle 1 auf der Seite 8 zeigt das Test-

ergebnis fuumlr zwei Testfaumllle diemit Tessy aufdem Original-Quellcode von shiftC() ausge-fuumlhrt wurden Beide Testfaumllle liefern dasrichtige (erwartete) Ergebnis und Tessy er-mittelt fuumlr diese beiden Testfaumllle zusammen

FunktionsschemaAblauf des Mutati-onstests mit demWerkzeug TessyBeim Mutationstestwird die Softwareveraumlndert Danachwird gepruumlft ob dieMutation von denvorhandenen Test-faumlllen aufgedecktwird

hitexde

velopm

entTools

Die weltweitGROumlszligTE AUSWAHLELEKTRONISCHERKOMPONENTEN

Verfuumlgbar fuumlr die sofortige Lieferung

08001800125DIGIKEYDEMEHR ALS 550000 PRODUKTE AUF LAGER | MEHR ALS 500 LIEFERANTEN | NEUE PRODUKTE WERDEN TAumlGLICH HINZUGEFUumlGT

Fuumlr alle Bestellungen unter 6500 euro wird eine Versandgebuumlhr von 1800 euro erhoben Alle Bestellungen die mit UPS versandt werden haben eine Lieferzeit von 1-3 Tagen (abhaumlngig vom Endbestimmungsort) Keine Bearbeitungsgebuumlhren AllePreise verstehen sich in Euro und enthalten Zollgebuumlhren Bei einem zu groszligen Gewicht oder bei unvorhergesehenen Umstaumlnden die eine Abweichung von diesem Tarif erfordern werden Kunden vor dem Versand der Bestellung kontaktiertDigi-Key ist ein autorisierter Distributor fuumlr alle Vertriebspartner Neue Produkte werden taumlglich hinzugefuumlgt copy 2012 Digi-Key Corporation 701 Brooks Ave South Thief River Falls MN 56701 USA

8

EmbEddEd-Entwicklung TesT und QualiTaumlTssicherung

ELEKTRONIKPRAXIS embedded software engineering report Juni 2012

eine Zweiguumlberdeckung von 100 Dasheiszligt Sowohl der then-Zweig als auch derelse-Zweig der if-Anweisung wurden ausge-fuumlhrt Und da unsere beiden Testfaumllle nichttrivial sind sollten wir fertig sein ndash oderUmuns zu vergewissern koumlnnenwir unser

Testobjekt mutieren Viele der moumlglichenMutationen wuumlrden durch unsere beidenTestfaumllle aufgedeckt zumBeispielwenndieEntscheidung bdquo(A ampamp B)ldquo zu bdquo(C ampamp B)ldquo ver-aumlndert wird Hier schlaumlgt der erste TestfallfehlWird jedoch in der Entscheidung die Vari-

able B durch C ersetzt so wird diese Muta-tion nicht erkanntshort shiftC(short A short B short C)if (A ampamp C)return Cltlt1elsereturn Cltlt2

Wird in der Entscheidung das logischeUND (ampamp) durch ein bitweises UND (amp) er-setzt wird diese Mutation ebenfalls nichterkanntshort shiftC(short A short B short C)if (A amp B)return Cltlt1elsereturn Cltlt2

Beide nicht erkannten Mutationen sind

subtil veraumlndern jedoch das Verhalten desTestobjekts signifikant und koumlnnen durcheinen Denk- oder auch einen Fluumlchtigkeits-fehler relativ leicht entstehenUmden zweitenMutanten zu toumlten reicht

es aus dieWerte eines der beiden bestehen-den Testfaumllle zu aumlndern ZumBeispiel koumlnn-te man im zweiten Testfall einfach denWert2 fuumlr B verwenden (allerdingsnicht denWert5)

Um beide Mutanten nachhaltig zu toumlten(das heiszligt ohne dass unmittelbar spiegel-bildliche Mutationen moumlglich werden dienicht getoumltet wuumlrden) benoumltigt man einendritten Testfall in dem die Variable B denWert 0 annimmt Die Tabelle 2 im Kastenlinks zeigt die ResultateMit dendrei Testfaumll-len in der Tabelle 2 werden beide Mutantenerkannt Durch die Verwendung von dreiTestfaumlllen wird uumlberdies der Code-Uumlberde-ckungsgrad von 100 Zweiguumlberdeckungauf 100MCDC (Modified ConditionDeci-sion Coverage ein Kriterium des StandardsDO-178B) erhoumlhtMit Hilfe eines Mutationstests kann man

auchTestfallmengenbewerten Eine Testfall-menge heiszligt adaumlquat wenn sie alle Mutan-ten aufdeckt Von zwei adaumlquaten Testfall-mengen ist natuumlrlich diejenige mit wenigerTestfaumlllen vorzuziehenDies ermoumlglicht auchdenVergleich von Testfallkonstruktionsver-fahrenMankanndie IdeedesMutationstestszur Reduzierung der normalerweise groszligenZahl vonautomatisch generiertenTestfaumlllenverwenden [5] Ein Testfallmussmindestenseinen Mutanten toumlten der bisher noch vonkeinem anderen Testfall getoumltet wurde umnicht verworfen zu werden

Mutationstests aus Sicht derNorm IEC 61508DieNorm IEC 61508 bezeichnet denMuta-

tionstest als bdquoDurchfuumlhrung von Testfaumlllennach Fehlereinpflanzungldquo und empfiehltdies fuumlr Safety Integrity Level (SIL) 2 bis 4Die IEC61508 fuumlhrt auchaus dassmanaus

der Anzahl der Fehler die eine Testsuite ineinem originalen Testobjekt entdeckt undder Zahl der Mutationen die diese Testsuiteermittelt eine Abschaumltzung fuumlr die Gesamt-zahl der im Testobjekt vorhandenen Fehlerfinden kann (praumldizierend) Das Verhaumlltnisder erkanntenMutanten zurGesamtzahl derMutanten ist gleichdenVerhaumlltnis der gefun-denenFehler imoriginalenTestobjekt zuderGesamtzahl der Fehler imoriginalenTestob-jekt Diese Abschaumltzung setzt natuumlrlich diegleiche statistischeVerteilung vonArtenundPositionen der Mutationen und der tatsaumlch-lichen Fehler voraus Wenn beispielsweisedie tatsaumlchlichen Fehler fehlerhafte Berech-nungen sind jedoch keine arithmetischenMutationen verwendetwerdenwirddieAb-schaumltzung kaum zutreffen

Eine Variante Der schwacheMutationstestObwohl sichdas aumluszligere Programmverhal-

ten des Mutanten gegenuumlber dem Originalnicht aumlndert kann es sein dass ein Testfallim Innern desMutanten einen anderen Pro-

Auswertung der Testergebnisse

die Tabelle 1 zeigt zwei Testfaumllle fuumlr dieFunktion bdquoshiftc()ldquo in den spalten a Bund c werden die eingabewerte fuumlr dieeingangsvariablen a B und c der Funk-tion angegeben das ergebnis der Funk-tion bdquoshiftc()ldquo ist der bdquoreturnldquo-Wert derFunktion er steht in der spalte bdquoergeb-nis von shiftc()ldquo die eingabewerte sindmit bdquoildquo fuumlr bdquoinputldquo markiert der ausga-bewert mit bdquooldquo fuumlr bdquooutputldquoim ersten Testfall (Tabelle 1 tc11) hatdie eingabevariable a den Wert 0 B denWert 1 und cdenWert 2 da a null ist lau-tet die entscheidung der bdquoifldquo-anweisungbdquofalseldquo der bdquoelseldquo-Zweig der bdquoifldquo-anwei-sung wird ausgefuumlhrt dadurch wird die

Variable c um 2 stellen nach links ge-schoben in der Binaumlr-darstellung wirdalso 0010 (was dezimal 2 entspricht)zu 1000 (was dezimal 8 entspricht)bdquoshiftc()ldquo gibt 8 als ergebnis zuruumlckim zweiten Testfall (Tabelle 1 tc21) hatdie eingabevariable a den Wert 1 B denWert 1 und c den Wert 3 da a und B jeeins sind lautet die entscheidung derbdquoifldquo-anweisung bdquotrueldquo der bdquothenldquo-Zweigder bdquoifldquo-anweisung wird ausgefuumlhrt dieVariable c ruumlckt um eine stelle nachlinks in der Binaumlr-darstellung wird also0011 (was dezimal 3 entspricht) zu 0110(was dezimal 6 entspricht) bdquoshiftc()ldquogibt 6 als ergebnis zuruumlck

A b c ErgEbnis von shiftc()

i i i o

tc11 0 1 2 8

tc21 1 1 3 6

Tabelle 1 Zwei Testfaumllle fuumlr die originale Funktion shiftC()

A b c ErgEbnis von shiftc()

i i i o

tc11 0 1 2 8

tc21 1 2 3 6

tc31 1 0 3 12

Tabelle 2Mit diesen drei Testfaumlllen werden beide Mutanten erkannt

EmbEddEd-Entwicklung TesT und QualiTaumlTssicherung

Erlaumluterung von FachbegriffenFault Injectionin das nicht mutierte Testobjekt werdenFehler von auszligen injiziert um die ro-bustheit zu pruumlfenFehlermodell (Fault model)die Kategorien der moumlglichen Mutati-onen diese sind natuumlrlich bei einemc-Programm als Testobjekt anders alsz B in einem Zustandsdiagramm einBeispiel fuumlr ein Fehlermodell fuumlr Testob-jekte in der Programmiersprache c ist imartikel angegebenKopplungseffekt (Coupling effect)Wird ein Mutant mit einer einzelnenMutation durch eine Testfallmenge ent-deckt so werden auch mehrfache Muta-tionen entdeckt

Fehlereinpflanzung (Error seeding)in der norm iec 61508 heiszligt der Mutati-onstest bdquoFehlereinpflanzungldquo bzw bdquoer-ror seedingldquoStarker Mutationstest (Strong mutationtest)der Mutant wird nur von auszligen betrach-tet (Black Box) und der Mutant wird nurdurch einen Testfall entdeckt der nachauszligen ein anderes ergebnis liefert alsdas OriginalSchwacher Mutationstest (Weak mutati-on test)ein Testfall sorgt im innern des Mutan-ten fuumlr ein anderes Verhalten als beimOriginal dieses andere Verhalten wirdjedoch nicht nach auszligen sichtbar

grammablauf erzeugt als im Original Dannspricht man von schwachemMutationstestunsigned int absolute (int x)if (x lt 0)return -xreturn xDie Mutation von lsquoltrsquo zu lsquolt=rsquo wird nach au-

szligen nicht sichtbar

Der Unterschied zurFault InjectionNicht zu verwechselnmit demMutations-

test ist die Fault Injection die beispielsweisein der Norm ISO 26262 [2] als Testmethodeerwaumlhntwird Bei einer Fault Injectionbleibtdas Testobjekt in seinemOriginalzustand eswird nicht mutiert Der Fehler wird auszliger-halb des Testobjekts erzeugtWenndas Test-objekt Software ist waumlre beispielsweise dasVeraumlndern (Korrumpieren) des Speichers fuumlrdie Variablen waumlhrend der Ausfuumlhrung derSoftware eine Fault Injection Die Softwareliest also aus einer Variablen nicht denWertzuruumlck den sie vorher abgespeichert hat DieFrage ist ob dies Auswirkungen hat und obdie Softwaremit einer solchenSituationum-gehen kannFault Injection ist also einRobustheitstest

zum Beispiel bezuumlglich der Auswirkungenvon Bitflips durch kosmische StrahlungDurch eine Fault Injection kann auch derProgrammspeicher des Testobjekts (willkuumlr-lich) geaumlndert (korrumpiert) werden Diessehenwir jedochnicht alsMutation die denSinn hat Programmierfehler im Quellcodeaufzudecken sondern vielmehr als Robust-heitstest FG

Hitex Development Tools +49(0)72196280

Literaturhinweise[1] IEC 61508 Teil 3 Tabelle B2 = Empfehlung

Fehlereinpflanzung sowie Teil 7 C56 = Be-schreibung Fehlereinpflanzung

[2] ISOFDIS 26262 Teil 6 Tabellen 10 und 13[3] Liggesmeyer Peter Software-Qualitaumlt Testen

Analysieren und Verifizieren von SoftwareHeidelberg Berlin 2002 Spektrum Akademi-scher Verlag

[4] Dirk W Hoffmann Software-Qualitaumlt Springer-Verlag Berlin Heidelberg 2008

[5] Wolfgang Herzner Rupert Schlick HaraldBrandl JohannesWiesalla Towards Fault-basedGeneration of Test Cases for Dependable Em-bedded Software in Softwaretechnik-TrendsGesellschaft fuumlr Informatik eV Band 31 Heft 3August 2011

[6] A Jefferson Offut Clemson University Investi-gations of the software testing coupling effectin ACM Transactions on Software EngineeringandMethodology New York Volume 1 Issue 1Jan 1992

[7] Tessy httpwwwhitexdetessy

acht irrtuumlmer uumlber code coverage

Bugs und defekte in Multitasking-softwareeliminieren

InfoClick

wwwelektronikpraxisde infoclick 3343128

AURIX - Over 10 years of Multicore Debuggingmakes the difference

AURIX

HSMTriCore 0 GTM

Debugand

SerialTrace

TRACE32

TRACE32

TRACE32

TRACE32

Debugging Multicore of years 10 Over - AURIXdifference the makes

AURIXAURIX

HSMTriCore 0 GTM

Debugand

SerialTrace

TRACE32

TRACE32

TRACE32

TRACE32

wwwlauterbachcom1652

10

Softwareentwicklung SoftwareSicherheit teil 2

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Die drei Gesichter der SicherheitIm zweiten Teil unserer Serie fassen wir einige Meinungen von

Experten des vergangenen ESE Kongresses zum Thema Security zu-sammen Im Mittelpunkt stehen dabei unbefugte Zugriffe oder die

gezielten Angriffe auf Embedded-Systeme

PETER SIwON uNd ALEXANdER SEdLAK

Peter Siwon ist Business Development Manager beim Schu-lungs- und Consulting-Spezialist MicroConsult inMuumlnchen und

Embedded-Systeme sind stets Software-und Hardwarekomponenten die inVerbindung mit Sensoren und Aktua-

toren in umgebende technische Systeme in-tegriert sind umkomplexe Steuerungs- undDatenverarbeitungsaufgaben zu uumlberneh-men Die Sicherheit im allgemeinen Sinne

bezeichnet einen Zustand der frei von un-vertretbaren Risiken ist Das wird in derNorm IEC 61508 so definiert Safety oderfunktionale Sicherheit bedeutet in diesemZusammenhang dass ein System in den zuerwartendenSituationenundZustaumlndenbeiordnungsgemaumlszliger Nutzung keine koumlrperli-chen oder finanziellen Schaumlden verursachtSecurity koumlnnte man demnach so genauerdefinieren Die Betriebs- und Datensicher-heit darf durch aumluszligere Einfluumlssenicht gestoumlrtoder gar verhindert werden Security hat ei-ne doppelte Bedeutung Einerseits sorgt siedafuumlr dass die Betriebssicherheit erhalten

bleibt andererseits versteht man darunterdieGesamtheit derMaszlignahmen umein Sys-tem nach auszligen zu schuumltzen Das unter-streicht sowohl die Abgrenzung dieser Be-griffe zeigt aber auch wie eng sie zusam-menhaumlngenNebenderWahl geeigneter Softwarearchi-

tekturen und Programmiermethoden spieltbei der Security oftmals die Gestaltung oderAuswahl derHardware eine bedeutendeRol-le Es handelt sich um Hightech im Verbor-genenmit derenHilfe produkt- und system-spezifische Eigenschaften uumlberhaupt erstrealisiertwerdenkoumlnnenAls Beispiele seienhier Fahrerassistenzsysteme mobile medi-zinischeGeraumlte undAutomatisierungssyste-me genannt Wichtige Stichwoumlrter in demZusammenhang sind die Gestaltung von In-terfaces Netzstrukturen oder schlicht dersichere Einbau einer Komponente

wuumlrmer Viren amp Co ndash Schutzvor gezielten AngriffenIn seinem Vortrag Sichere Netze der Zu-

kunft auf demESEKongress 2011 definierteProf Dr-Ing Hans-Joachim Hof von derHochschule Muumlnchen den Begriff pragma-tisch Die Security ist der Schutz vor geziel-temundhoumlchstwahrscheinlich auchboumlswil-ligemHandelnmit demZiel VertraulichkeitIntegritaumlt oder Authentizitaumlt zu erreichenDas kann sich in der Realitaumlt als nicht ganzeinfach erweisen daman zumZeitpunkt derProjektierung in der Regel nicht weiszlig wel-cher Art von Angriff ein System irgendwannausgesetzt sein wird Besonders bei aumllterenSystemenkann sichdas als geradezudrama-tische Gefahr erweisen Prof Dr Hof sprichthier ganz plastisch von der Goumltterdaumlmme-rungder IT-Sicherheit EinBild daswirklichpasst denn das Vertrauen auf sichere IT-Komponenten Embedded-Systeme undAumlhnliches grenzt oft wirklich an ein sagen-haftesGottvertrauen FrappierendesBeispielhierfuumlr ist der Computerwurm Stuxnet der2010 fuumlr groszligeUnruhe und Schaumlden verant-wortlich war Stuxnet war in einer Weiseaktiv die bis dahin imGrunde als nichtmoumlg-

ExpertenmeinungenWie lassen sich Embedded-Systeme vor unbefugtem Zugriff oder gezielten Angriffenschuumltzen

BilderG

erdaltm

annpixeliode

Alexander Sedlak ist als freier Autor taumltig

Softwareentwicklung SoftwareSicherheit teil 2

lich galt Der Wurm konnte Grenzen physi-kalisch getrennterNetze uumlberspringen Stux-net zielte vermutlich erfolgreich auf eineUrananreicherungsanlageWegendeshohenSchutzbedarfs von Atomanlagen schien soeinAngriff bis dahin schlicht nichtmoumlglichDen aktuellen Moumlglichkeiten des technischMachbaren druumlckte Stuxnet damit seineneigenen Stempel auf Eine optimierte Be-triebssicherheit wie im Beispiel der Atom-anlagewurdemangels ausreichender Secu-rity zum Sicherheitsrisiko

Der menschliche FaktorWenn Hacker aktiv werdenBedrohungen durch Hacker stellen die

Entwickler vonEmbedded-Systemenvor zu-nehmendeHerausforderungenDieReferen-ten des Schweizer Kommunikations- undTechnikdienstleisters Albis Technologiesstellten imVortrag EmbeddedSecurityHa-ckern einen Schritt voraus zunaumlchst diezunehmende Vernetzung von Embedded-Systemen heraus Und obwohl dadurchme-chanischeBarrieren zwischendenSystemenimmermehrwegfallen beruht die Sicherheitparadoxerweise haumlufig auf physikalischerSicherheit und weniger auf Cyber-Securityoder Informationssicherheit Und das ob-wohl es gerade in Infrastrukturnetzen wiezumBeispiel der aktuell diskutierten intelli-gentenStromversorgung vongroszliger Bedeu-tung ist dass die vernetzten Komponentenautonom ohne Benutzereingaben und vorunbefugten Zugriffen geschuumltztmiteinanderkommunizieren koumlnnenWas koumlnnte die Loumlsung sein Die Referen-

ten stellten ein Modell Hardware-basierterIT-Sicherheitsarchitektur fuumlr Embedded-

Systeme indenRaum InderenZentrumstehtein Security Controller oder ein Trusted-Platform-Modul also ein sicherer Speicherfuumlr digitale Schluumlssel Dieses dient dazu ei-ne Art Zentrum fuumlr kryptografische Operati-onen zu bilden Das Modul muss an den lo-kalenComputer gebunden seinundnicht aneinen bestimmten Benutzer Es ist dann un-moumlglich das Trusted-Platform-Modul entge-gen den Interessen des Eigentuumlmers zu nut-zen sofern dieser Beschraumlnkungen festge-legt hat eine Basis fuumlr die sichere Kommu-nikation der Netzteilnehmer Es kanngelingen beispielsweise aus einem Embed-ded-Geraumlt mit angepasster Software und ei-nem entsprechenden Betriebssystem einevertrauenswuumlrdige Plattform zumachenIntelligente Stromnetze auchSmart Grids

genannt erfordern fuumlr die Ermittlung desindividuellen Strombedarfs unddie korrekteAbrechnungdieVerwendung ebenso intelli-genter Verbrauchszaumlhler der sogenanntenSmartMeterHier gibt es zahlreiche Szenari-en die boumlswilliges Eindringen mit Betrugs-absicht ermoumlglichen Erschwerend ist dieLiberalisierung des Strommarktes Zahlrei-cheKlein- undKleinststromlieferantenndashausWasserkraft oder Photovoltaikanlagen ndashspeisen in die Netze ein Letztlich alles Ein-fallstore fuumlr moumlgliche Angriffe zum Zweckder kriminell motivierten ManipulationAuch vor diesemHintergrund erarbeitet dasBundesamt fuumlr Sicherheit in der Informati-onstechnik (BSI) gemeinsam mit Industrie-partnern fuumlr Smart Meter ein neuartigesSchutzprofil Es strukturiert Bedrohungenund legt damit die Mindestanforderungenfest die Sicherheitsmaszlignahmen erfuumlllenmuumlssen Ziel ist dabei eine Zertifizierung von

Produktennachdefinierten SchutzkriterienDas vondenPartnern erarbeitete Schutzpro-fil 3 definiert ein anhand gemeinsamerKriterien festgelegtes Security Modul fuumlralle kryptografischen Operationen

Kryptologie ndash Software solltenicht zu knacken seinBei der Entwicklung von Embedded-Sys-

temen koumlnnen durch den Einsatz von kryp-tologischen Verfahren viele Prozesse sicheroder zumindest sicherer gemacht werdenReinhard Wobst (UNIX Software) hat in sei-ner Funktion als Softwareentwickler festge-stellt dassmit groszliger Regelmaumlszligigkeit immerwieder die gleichenFehler bei der Implemen-tierung von Kryptologie gemacht werdenWaumlhrend seines Vortrags auf dem ESE Kon-gress erklaumlrte erwarumundwie es Eindring-lingen oft unnoumltig leicht gemacht wird SogehenSoftwareentwickler haumlufig davonausdass niemand die von ihnen entwickeltenAlgorithmen knacken kann Das Gegenteilist der Fall Ein gaumlngiges Mittel ist etwa das

AURIX - Over 5 years of High-Speed Serial Tracingmakes the difference

Tracing Serial High-Speed of years 5 Over - AURIX Tracing Serial High-Speed of years 5 Over - AURIXdifference the makes difference the makes

wwwlauterbachcom1653

Psychologische Sicherheitsluumlcke Irren ist mensch-lich ndash sowohl auf Entwickler- wie auf Anwenderseite

12

Softwareentwicklung SoftwareSicherheit teil 2

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Microconsult Qualitaumlt und Sicherheit

teil 1 der Serie Die drei Gesichter derSicherheit

InfoClick

wwwelektronikpraxisde infoclick 3343156

Schreiben unklaren oder scheinbar verwor-renen Codes Doch gerade bei der heutigenVernetzungwird jedesVerfahren fruumlher oderspaumlter bekannt Interessant ist die auch vonWobst formulierte Erkenntnis dass derSelbsttest eines eigenentwickeltenAlgorith-musmoumlglicherweise zu demErgebnis fuumlhrtdass es nicht einmal dem urspruumlnglichenProgrammierer gelingt ihn zuknackenAberdieWirklichkeit sieht leider anders aus Je-der kann einenAlgorithmus entwickeln dener selbst nicht brechen kann aber es gehtdarum dass ihn andere nicht brechen koumln-nen[1]Letztlich siehtmanes einemAlgorithmus

auchwenner noch soobskur erscheint nichtan ob er nun sicher ist oder nichtWobst raumltseinen Entwicklerkollegen konservativ zuseinundbekannteundaltbewaumlhrteAlgorith-menundMethoden zunutzenDas ForschennachSicherheit solle denForschernuumlberlas-sen werden Anhand zahlreicher Beispielebelegte Reinhard Wobst wie schnell es ge-schehen kann dass ein SoftwareentwicklerGuteswollenddas Falsche tut bzw dasRich-tige nicht richtig macht Und er zeigte auchdie Grenzen auf die selbst einer perfekt im-plementierten Kryptologie gesetzt sind wiedenial of service Attacken oder der immererfolgversprechende Versuch das stetsschwaumlchste Element eines Walls von Maszlig-nahmen fuumlr die Sicherheit zu instrumentali-sieren den User selbst So kam Wobst beiseinem Vortrag zu der Schlussformel dassgesunderMenschenverstandniemals hinterFormalismenverschwindendarf Fuumlr dieRe-alisierung von Sicherheit gilt immer dassetwas Sicherheit besser ist als gar keine

Qualitaumlt und houmlchstmoumlglichesSicherheitsniveau fuumlr SoftwareWie real die Risiken von Angriffen auf

Embedded-Systeme sind zeigte Lucas vonStockhausen vonHewlett-Packard in seinemVortrag Mehr Sicherheit fuumlr EmbeddedCode amBeispiel einer Manipulation einerhandelsuumlblichen Insulinpumpe Es seimoumlg-

lich durch Umgehen von Restriktionen dieInsulindosis die eine solchePumpeautoma-tisch verabreicht aus einer Entfernung von100 m und voumlllig unbemerkt zu veraumlndernDamit koumlnnemaneinemDiabetiker jederzeiteine Uumlberdosis Insulin injizieren Diese Ge-fahr mag konstruiert erscheinen fuumlr denPumpenhersteller und fuumlr den Patienten istsie aber sehr real undhoumlchst bedrohlichDasBundesministerium fuumlrWirtschaft undTech-nologie stellte bereits 2010 eine zunehmendeund alarmierende Professionalisierung vonAngriffen fest Dabei berichten die Medienmeist nur uumlber die spektakulaumlrstenFaumlllewiezumBeispiel denbereits erwaumlhntenStuxnet-Wurm der fuumlr den Einsatz auf industrielleZiele optimiert wurde

Die psychologischenSicherheitsluumlckenViele Angriffe sind weniger spektakulaumlr

doch kaum weniger gefahrenvoll Geradeuumlberraschende Angriffsszenarien auf Em-bedded-Systeme zeigen wie schwierig essein kann schon inder Softwareentwicklungvorauszusehenwie ein spaumltererAngriff aus-sehen kann Aus diesem Grund spielt diesichere Softwareentwicklung der sichereCode eine entscheidende Rolle Angesichtsdes rasanten Fortschritts der von zuneh-mendemZeit- Konkurrenz- undErfolgsdruckzuverlaumlssig begleitetwirdmussnebenQua-litaumltsforderungen auch das houmlchstmoumlglicheSicherheitsniveau realisiert werdenBei Embedded-Software erfolgt eine ver-

besserte Zugangssicherheit uumlber Software-Updates sagte Prof Dr-Ing Hans-JoachimHof Daraus ergeben sich gleichermaszligenAufgaben fuumlr die Entwicklung von Soft- undHardware In puncto Hardware werden si-chere Interfaces undUumlbertragungsprozedu-renbenoumltigt Die Softwaremuss so aufgebautsein dass sie autorisiert korrigiert aber nichtohne Autorisierung manipuliert werdenkann Das Motto Verbauen und Vergessengehoumlrt damit derVergangenheit anNicht zuvergessen sinddie psychologisch bedingten

Sicherheitsluumlcken zudenenPeter SiwonvonMicroConsult in seinem Seminar bdquoIrren istmenschlichldquo Beispiele nannte Und das so-wohl auf Entwickler-wie aufAnwenderseiteUnter hohem Zeitdruck neigt man dazu Si-cherheitsregeln zu brechen Menschen neh-men dann houmlhere Risiken in Kauf um denStress loszuwerden Stresshormone schraumln-kenunsere Faumlhigkeit ein uumlber die langfristi-gen Folgen unseres Verhaltens nachzuden-ken Zudem leide unser Qualitaumltsbewusst-sein unter dem Beduumlrfnis den bdquoSchmerzldquoloszuwerden Beides zusammen stellt eineexplosive psychologische Mischung darWichtige Voraussetzungen fuumlr Security wiebeispielsweise umfassende Tests fallen un-ter den Tisch Eine weitere Sicherheitsluumlckeentsteht durch Denkfaulheit Um unser Ge-daumlchtnis zu entlasten greifen wir nicht nurbei Passwoumlrtern auf altgewohnte oder beque-me Denk- und Verhaltensmuster zuruumlckThomas Batt beim Training- und Consul-

tingspezialistenMicroConsult zustaumlndig fuumlrSoftware Engineering Management ziehtfolgendesResuumlmee bdquo(Horror-)Szenarien beidenenEmbedded-Systemedurch aumluszligereAn-griffe manipuliert werden oder bei denensogar die komplette Kontrolle uumlbernommenwird sind keine Hollywoodphantasien Wirsindheute von einer rasantwachsendenZahlvonEmbedded-Systemenumgebenundver-lassen uns darauf dass Herstellerfirmen siezugangs- undangriffssicher entwickeln tes-tenundproduzierenDochTatsache ist dassfuumlr den groumlszligten Teil des Embedded-Marktesdie Qualitaumltsmerkmale Zugangs- und An-griffssicherheit noch Neuland sind DieseQualitaumltsmerkmalemuumlssen sich kuumlnftigwieein roter FadendurchdengesamtenEntwick-lungs- und Produktionsprozess der Produk-te ziehen Dazu benoumltigen wir geeigneteMethoden - insbesondere fuumlr denTest - sowieunterstuumltzende Tools Standards und Zerti-fizierungen Doch selbst mit noch so hoch-entwickelten Maszlignahmen koumlnnen wir dieRisiken nur minimieren nicht aber voumllligausschlieszligenldquo hEh

MicroConsult +49(0)89 45060

Quellennachweis[1] B Schneier Memo to the Amateur Cipher

Designer

Zugriffs- und AngriffssicherheitDie Betriebssicherheit ist im groszligenMaszlige vom Schutz vor unbefugtem Zu-griff oder gezieltem angriff abhaumlngigBei der Security spielt oft die Gestaltungund auswahl der hardware eine bedeu-tende rolle Zu den feinden von embed-ded-Systemen zaumlhlen Viren wuumlrmer undhacker die auf die Systeme zugreifen

und sie manipulieren Mit geeignetenSchutzmaszlignahmen wie Kryptologie undentsprechender Programmierung lassensich embedded-Systeme sicherer gestal-ten Nicht zu vergessen sind auch diepsychologisch bedingten Sicherheits-luumlcken ndash denn auch der Programmiererselbst stellt ein Sicherheitsrisiko dar

13

EmbEddEd SoftwarE Aktuelles

ELEKTRONIKPRAXIS embedded software engineering Report Juni 2012

InfoClick 3371268

embedded-softwAReentwicklung

analysewerkzeug Goanna pruumlft Software auf potenzielle LaufzeitfehlerDas Karlsruher Entwicklungs-haus Hitex hat die Version 272des Analysewerkzeugs Goannaveroumlffentlicht Das Tool pruumlft inCC++geschriebenenCodenachmathematischenMethoden umUrsachen fuumlr Laufzeitfehler auf-zuspuumlren In der aktuellenVersi-on 272 finden sich vor allemDetailverbesserungen wie er-leichterteKonfigurierbarkeit DieKonfigurationsvarianten bdquoQuickCheckldquo und bdquoDeep Checkldquo sindvordefiniert Auszligerdem wurdendieAnalysemethodenbeschleu-nigt und praumlziser gestaltet An-

feruumlberlaumlufe die Zerstoumlrung vonSpeicherinhalten Divisionendurch Null Zugriffe mit unguumllti-gem Index und aumlhnliche Proble-me Die Analyse uumlberschreitetdabei nicht nur Funktions- son-dern auch Dateigrenzen DasSoftwarewerkzeug soll einfachinstallierbar sein und sich nachwenigen Minuten einsetzen las-sen Goanna ist in einer Kom-mandozeilenversion (GoannaCentral) sowie alsAdd-On fuumlr dieweit verbreiteten Entwicklungs-umgebungen Visual Studio vonMicrosoft sowie EclipseCDT

(Goanna Studio) verfuumlgbarGoannaCentral undGoannaStu-dio fuumlr Eclipse sind fuumlrWindowsundLinux verfuumlgbar DieVersionfuumlrVisual Studiounterstuumltzt nurWindows Beide Versionen gibtes als rechnergebundene oderals Floating-Lizenz Es gibt eineeine permanente Lizenzmit dreiJahrenSupport und eine zeitlichbegrenzten Lizenz fuumlr ein Jahrmit der Option auf zeitliche Ver-laumlngerung fg

Hitex

hand mathematischer Modelleund derMethode der abstraktenDatenwertverfolgung kannGoanna problematische Konst-rukte ermitteln die zur Laufzeitder Software zu Fehlern fuumlhrenDazu zaumlhlen Speicherlecks Puf-

Schnelles Android XobotOS ist eineAndroid-Variante die auf einer offe-nen Implementierung von MicrosoftsNET-Architektur basiert InfoClick 3348889

smARtphone-betRiebssystem

android-Klon auf NEt-basis koumlnnte legale Untiefen umschiffenXamarin bietet Entwicklungs-werkzeugen fuumlr Android undApples iOS Das zentrale Themades Unternehmens ist die platt-formuumlbergreifendeProgrammie-rung von Apps fuumlr die beidenwichtigsten Betriebssysteme fuumlrMobilgeraumlte Als Entwicklungs-plattformdient dabeiMono einefreie Implementierung von Mi-crosofts NET-TechnikWichtigs-te Komponente vonMono ist einefreie Variante der NET-Laufzeit-umgebung CLR (Common Lan-guageRuntime) die zunaumlchst fuumlrLinux entwickelt wurde und

NET-Programme unter Linuxausfuumlhrte DaAndroid auf LinuxbasiertwurdeMono fuumlr dasmo-bile Betriebssystem von Googleumgesetzt Inzwischen gibt eseine Version namens Mono-Touch fuumlr Apples iOS Mit HilfevonMonoundMonoTouch ist esmoumlglich groszlige Teile des Appli-kationscodes wiederzuverwen-den wenn eine App sowohl fuumlriOS als auch fuumlr Android entwi-ckelt wurde XobotOS ist einAndroid-Klon bei demdie in Ja-va geschriebenen Codekompo-nenten inCuumlbertragenwurden

Diemomentan stattfindende ge-richtliche Auseinandersetzungzwischen Oracle als Inhaber derJava-Rechte und Google um an-gebliche Urheberrechtsverlet-zungen koumlnnte auszligerdem dafuumlrsorgen dass XobotOS kein For-schungsprojekt bleibt Das NET-Framework bietet alternativeImplementierungen fuumlr die Pro-grammierschnittstellen die zwi-schen Google undOracle strittigsind fg

Xamarin

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

EmbEddEd-SyStEmE SoftwaRE-DESign

14

TITELSTORyin juumlngster Zeit haben namen wieStuxnet und Duqu Eingang in unserenwortschatz gefunden Solche Schad-programme feuern unerbittliche atta-cken auf die Sicherheit eingebetteterSysteme Darunter sind auch SCaDa-Systeme (Supervisory Control andData acquisition) die industrieanla-gen Verkehrsnetze oder Kraftwerkeuumlberwachen und steuernManche Entwickler eingebetteterSoftware meinen zwar dass die Ebe-ne des Systems Engineering oder dieHardware fuumlr die Systemsicherheitzustaumlndig sein sollte Viele attackennuumltzen aber Schwachstellen in denanwendungen aus Und diese Luumlckengilt es im anwendungsdesign und derProgrammierung zu vermeiden

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

Siem

ens-PressebildPSD

graphics

15

EmbEddEd-SyStEmE Software-DeSign

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Security-Grundlagen fuumlrEmbedded-Software

Schutzmaszlignahmen auf der Betriebssystem- und Hardwareebene ge-gen Hackerangriffe sind keineswegs perfekt Daher muumlssen Entwickler

selbst gegen Schwachstellen der Embedded-Software vorgehen

DAvID KALINSKy

David Kalinsky ist Berater Trainer und Dozent fuumlrEchtzeit- und Embedded-Programmie-rung in SunnyvaleKalifornien (USA)

Entwickler eingebetteter Software spie-len das Security-Thema manchmalherunter und sagen bdquoUnserGeraumltwird

nie mit dem Internet oder einem anderenexternen Kommunikationsnetz verbundensein Wir sind gegen Angriffe immunldquo Dasist leider nicht wahr Erlauben Sie mir einGegenbeispielViele Geraumlte nutzen Analog-zu-Digital-

Konverter (ADC) zur Sammlung von DatenDieADCswerden regelmaumlszligig abgefragt unddieApplikation speichert dieDatenpakete ineinemArrayDieApplikation verarbeitet spauml-

ter diesen Daten-Array Aber ein Angreiferkoumlnnte dies aus einem ganz anderen Blick-winkel sehen etwa so bdquoWas wuumlrde passie-ren wenn ich den ADCmit elektrischen Sig-nalen fuumlttere die einer exaktenhexadezima-len Darstellung des Codes eines Schadpro-grammsentsprechenldquoAuf dieseWeise kannder Angreifer seine Software in Ihren Rech-ner einschleusen Ein Netzwerk oder dasInternet ist dafuumlr nicht noumltig

Angreifer brauchen nicht immerein externes NetzwerkDer Angreifer koumlnnte nun darauf setzen

dass Ihre Software die ADC-Daten in einemStapelspeicher (Stack) sichert (vielleicht in-demSie alloca() odermalloca() verwenden)Wenn er Gluumlck hat koumlnnte er einen Array-Uumlberlauf verursachen vielleicht indem er

den Hardware-Timer manipuliert der dieADC-Abfrage steuertEin typischer Stack ist auf der folgenden

Seite oben links abgebildet Wenn der An-greifer einen Array-Uumlberlauf verursachtkoumlnnte der Stack korrumpiert werden wiedas Schema rechts daneben zeigt BeachtenSie dass dieRuumlcksprungadresse imStack aneiner Position gespeichert wurde die hinterdem Ende des Arrays lagWenn der Angreifer die Korrumpierung

richtig plant wird der Uumlberlauf den Ort imStack erreichen an dem die aktuelle Ruumlck-sprungadresse gespeichertwurdeDas kanndazubenutztwerden umandiesemPlatz imStack einenZeiger auf den eigenenCode ein-zuschleusenWenn Ihr CodedieRuumlcksprung-adresse benutzt geht die Steuerung auf denCode des Angreifers uumlber

Siem

ens-Pressebild

16

EmbEddEd-SyStEmE Software-DeSign

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Simpel aber effektiv Die Grafik links zeigt den gewoumlhnlichen Aufbau eines Speicherstacks In der rechtenGrafik ist der Stack nach einem Array-Uumlberlauf korrumpiert Boumlsartiger Code kann ausgefuumlhrt werden

DavidKalinsky

Das wird als bdquoStack Smashingldquo-Attackebezeichnet BeachtenSie dass sie in diesemBeispiel voumlllig ohne Internetzugangundoh-ne Verbindung zu einer externen Datenlei-tung ausgefuumlhrt wurde

Design-Grundlagen fuumlr sichereEmbedded-SoftwareBeim Design eingebetteter Software koumln-

nen Entwickler die Sicherheit verbessernindem sie einige Grundsaumltze beachten1 Misstrauische AufteilungTeilen Sie die Funktionalitaumlt Ihrer Software

in Bloumlcke auf die sich gegenseitig nicht ver-trauen um die Angriffsfenster in jedemBlock zu verkleinern In der Embedded-Soft-ware nennen wir diese Bloumlcke oft Prozesseoder Subsysteme oder CSCIsEntwerfen Sie jeden Block unter der An-

nahme dass Softwarebloumlcke mit denen erinteragiert angegriffen wurden VertrauenSie denErgebnissender interagierendenBlouml-cke nicht Geben Sie Ihre Daten nicht uumlbergemeinsamen Speicher fuumlr andere Bloumlckefrei BenutzenSie stattdessenMechanismender Interprozesskommunikation wie Mes-sage Queues des Betriebssystems Socketsoder TIPC (Transparent Inter Process Com-munication) Pruumlfen Sie die Inhalte die SieerhaltenAls Resultat dieser Politik der misstraui-

schen Aufteilung faumlllt nicht das gesamteSystem in die Haumlnde eines Angreifers wennein einzelner Softwareblock kompromittiertwurde

bdquoUm feindlichen Code in ein Embedded-System einzuschleu-sen ist nicht unbedingt eine Verbindung zum Internet oder zu

einem anderen externen Netz noumltigldquoDavid Kalinsky

2 Trennung der PrivilegienHalten Sie den Teil Ihres Codes der mit

speziellen Rechten ausgestattet ist moumlg-lichst klein Wenn der Angreifer in Softwareeinbricht die mit hohen Privilegien ausge-fuumlhrt wird dann kann der Angreifer eben-falls mit hohen Privilegien operieren Dasgibt ihm ein extrabreites Angriffsfenster inIhr SystemVermeidenSie also dassAnwendungssoft-

ware im Kernel-Modus oder Master- Modusoder Supervisor-Modus laumlufthellip oder wie dasin Ihrer jeweiligen CPU-Architektur heiszligenmag Uumlberlassen Sie diesen Modus dem Be-triebssystem Lassen Sie Ihre Software nurim User-Modus laufen Dadurch wird IhreCPU-Hardware darauf verpflichtet das An-griffsfenster in Ihrer Software zu limitieren3 Loumlschen Sie sensitive InformationenLoumlschenSie jedewieder verwendbareRes-

source wenn Sie sie freigeben Wenn Sieeine Ressource freigegeben haben ndash sei esein Speicherpuffer oder ein Software-Hard-ware-InterfaceDatenregister ndash koumlnnte dernaumlchste Benutzer genau derselben Ressour-ce einAngreifer sein Angreifer auf eingebet-tete Systeme lieben es diese Ressourcen zusbquophishenrsquo genau wie Internet-Angreifer ger-ne sbquophishenrsquo Hacker waumlren bestimmt uumlber-gluumlcklich die Daten zu lesen die Sie imPuffer bearbeitet habenoder die andieHard-ware zur Ausgabe uumlbergeben wurdenDie meisten Dienste die Ressourcen in

Embedded-Umgebungen freigebenmarkie-ren die Ressourcen einfach als bdquoverfuumlgbarldquo

Sie lassendie alte Information stehen die inder Ressource enthalten ist Das geht sehrviel schneller als die Ressource explizit aufNull zu setzen Damit ist sie aber potenziellfuumlr andere Benutzer lesbarWenn also die Applikation mit einer Res-

source fertig ist liegt es an der Anwendungdie Freigabe vorzubereiten indemsie all die-se Elemente auf Null setztHeap-Puffer Speicherpool-Puffer Spei-cherpartitionssegmente Statisch zugewiesene Speicherpuffer Freigegebene Stack-Bereiche SpeichercacheDatei im DateisystemDatenregister fuumlr Hardware-InterfacesStatusregister Kontrollregister

Schwachstellen auf die manbeim Coding achten mussWaumlhrend der Programmierung koumlnnen

Entwickler die Softwaresicherheit verbes-sern indem sie eine Reihe bekannterSchwachstellen vermeiden1 PufferuumlberlaufMitweitemAbstand ist der Pufferuumlberlauf

die amweitesten verbreiteteGefahrenquellewenn man in der Sprache C programmiertEs kann ganz einfach sein ndash zum Beispiel indas Element mit der Nummer 256 eines256-teiligenArraysDatenhineinzuschreibenCompiler erkennen verbotene Pufferzu-

griffe nicht immer als Softwarefehler DaskannernsthafteKonsequenzenwiedie bdquoCodeInjectionldquo oder die bdquoArc Injectionldquo haben ndashbei letzterer aumlndert der Angreifer den Kon-trollfluss eines Programms indem er dieRuumlcksprungadresse auf dem Stack modifi-ziert Bei der bdquoArc Injectionldquo braucht derAngreifer nicht einmal Code einzuschleusenEr kann zu irgendeiner Funktion im existie-renden Code springen oder Guumlltigkeitspruuml-fungen oder Assertions uumlberspringenHier ein Beispiel fuumlr eine Pufferuumlberlauf-

Attacke Ein eingebettetes Geraumlt misst dieWassertemperatur in einem Schwimmbe-cken und zeigt die Zeitanteile als Histo-gramm an in denen das Wasser eine be-stimmteTemperatur hatte Der Softwareent-wickler baut einen Array mit 100 positivenIntegerzahlen bei denen jedes Element miteinerGradangabe inCelsius korrespondiertElement 0 fuumlr 0deg Element 1 fuumlr 1deg und soweiter Jedesmal wenn der Sensor die Was-sertemperaturmisst wird das entsprechen-deElement desArrays umdenWert 1 erhoumlhtUm ganz sicher zu gehen stattet der Ent-

wickler denTemperatur-Arraymit viel Spiel-raum aus Er uumlbersteigt den Temperaturbe-reich bei weitem den einmenschlicher Koumlr-per aushalten wuumlrde

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012 17

EmbEddEd-SyStEmE SoftwaRE-DESign

ohne Locks fuumlr Multicore-Systeme entwi-ckeln

Echtzeit-Software ohne Echtzeit-Betriebssys-tem programmieren

InfoClick

wwwelektronikpraxisde InfoClick 3337487

wwwyakinduderequirements+492319860606

bull Komplexe software inKuumlrzester zeit spezifizieren

bull anforderungen fehlerfreierfassen

bull abhaumlngigKeiten von diagram-men und modellelementenautomatisch darstellen

bull aufwaumlnde von aumlnderungenKennen bevor sie entstehendurch vollstaumlndigestracing

bull manager fachanwenderund entwicKler sprechenendlich von denselbendingen

yaKindu requirementsdie software fuumlr requirementsengineering und traceability

IHRNUTZEN

Bis eines Tages der Angreifer den Sensoraus demWasser nimmt und mit einem Feu-erzeug aufheizt Sobald der Sensor einenWert misst der 100deg uumlbersteigt verletzt dieSoftware fuumlr das Histogramm-Update eineSpeicheradresse die hinter dem Ende desTemperatur-Arrays liegt Wenn dort Datenliegen hat der Angreifer die Daten korrum-piert Steht dort Maschinencode dann hatder Angreifer die ausfuumlhrbare Software kor-rumpiert In jedemFall ist es ein schaumldlicherEingriff Bitte beachten Sie dass auch dafuumlrweder eine Internetverbindung noch eineVerbindung zu einem externen Netzwerknoumltig war Ein Feuerzeug genuumlgteWie koumlnnen wir Pufferuumlberlaumlufe vermei-

denDie Schwachstelle ist soweit verbreitetdass ein mehrstufiger Ansatz am besten istVerhindern Entdecken Heilen Im Beispielunseres Schwimmbeckens sollten Sie expli-zit pruumlfen dass keine Temperatur ermitteltwird die der von Eis (unter 0deg) oder heiszligemDampf (uumlber 100deg) entsprichtVerhindern Sie Pufferuumlberlaumlufe auch in-

dem Sie gefaumlhrliche Bibliotheksfunktionenvermeiden (wie gets()) und Vorsicht bei an-deren walten lassen (wiememcpy())

bdquoAnstreicherldquo-Methodeermittelt PufferuumlberlaumlufeEntdeckenSie Pufferuumlberlaumlufe indemSie

wie ein Anstreicher vorgehen Erweitern SiedenPuffer anbeidenEnden etwas Fuumlllen Siedie Erweiterungsbereiche mit ungewoumlhnli-chem Inhalt den ich bdquoAnstrichldquonenne zumBeispiel eine Falle in derMaschinenspracheIhres Prozessors Dann pruumlfen Sie den bdquoAn-strichldquo wiederholt zur Laufzeit Wenn derAnstrich uumlberschrieben wurde haben Sieeinen Pufferuumlberlauf entdeckt2 Tricksereien mit ZeigernWenneinAngreifer einenDatenzeigermo-

difizieren kann dann kann der Angreifernach eigenemGusto an jededenkbare Stelleverweisen Wenn ein Angreifer einen Funk-tionszeiger uumlberschreiben kann dann ist erauf einemgutenWeg seinenCode auf IhremProzessor auszufuumlhren3 Dynamische SpeicherzuweisungDie Verwendung dynamischer Speicher-

zuweisungen ist in vielen sicherheitskriti-schenSystemenwie der Luft- undRaumfahrtverbotenAngreifer sindheiszligdarauf solcheDefekte zu finden da sie eine guumlnstigeGele-genheit bieten die Sicherheit eines Embed-ded-Systems zu verletzenEin besonders empfindlicher Fehler ist es

die Pruumlfung zu unterlassen ob eineAnfragezur Speicherzuweisung erfolgreichwar odernichtMancheMechanismengebenanstelleeines Zeigers auf einen Speicherpuffer den

Wert Null aus wenn kein verfuumlgbarer Spei-cher mehr vorhanden ist Wenn die Anwen-dungssoftware diesen Nullwert als Zeigerbehandelt wird sie in einen Puffer hinein-schreiben der an der Speicheradresse NullbeginntViele Angreifer wuumlrden sich freuen wenn

Ihre Software dies taumlte Angreifer wissendass eingebettete Software oft eingeschraumlnk-te Speicherressourcen hat Sie setzen allesdaran den Speicher auszuschoumlpfen indemsie den Speicherzuweisungsmechanismusdazu zwingen mehr Speicher als sonst uumlb-lich zu belegen ndash vielleicht durch einge-schleusten Code der Speicherlecks enthaumlltSie koumlnnenauchversuchen IhrDatenabfra-gesystem mit houmlheren Datenmengen oderDatenraten zuuumlberflutenndash inderHoffnungdass dieDatenlawine Ihre Speicherkapazitaumlterschoumlpft Und dannWenn Ihre Software einen Speicherpuffer

anfragt aber die Pruumlfung unterlaumlsst ob dieZuweisung fehlgeschlagen istwird sie einenPuffer anderAdresseNull eroumlffnenundalleszertrampeln was vorher dort gewesen istWenn zumBeispiel die Flags fuumlr das Ein- undAusschalten von Interrupts an dieser Stellestehen koumlnnte dadurch die Verbindung derSoftware zudenHardware-Interfaces anderPeripherie unterbrochenwerdenDas koumlnn-te dazu fuumlhren dass Ihr System nicht mehrin die Hardware eingebunden ist FG

D Kalinsky Associates +1408 749 8562

Kleine Angriffsflaumlche Die perfekte Absicherunggegen Angreifer im Web gibt es nicht Wichtig ist esaber sich um die die gaumlngigen Schwachstellen zukuumlmmern

PikeResearch

18

SyStementwurf AudiodAten uumlbertrAgen

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Audiosignale drahtlosmit Licht uumlbertragen

Audiosignale mit maximal 48 kBits mit Laser oder High-Power-LEDuumlbertragen Wir stellen Ihnen eine Schaltung vor die Audiosignale in

groszligen Raumlumen mit hoher Funkbelastung sicher transportiert

IgOR ZImmERmANN

Igor Zimmermann ist Entwickler fuumlr Embedded-Systeme bei der Mixed Mode GmbH inMuumlnchen

Funkuumlbertragungen haben sich vor al-lem im privaten Umfeld in den letztenJahren durchgesetzt Allen voran im

Multimediabereich seien hier kabelloseKopfhoumlrer genannt oder dieWLAN-Uumlbertra-gung Um bei der digitalen Audiouumlbertra-gung zu bleiben Mit der Digitalisierung derMultimediadaten entstand das Beduumlrfnisdiese digitalenAudiodatendrahtlos zu trans-portieren Hier sind im Speziellen drei Fre-quenzbaumlnder relevantDas 24-GHz-Band mit Frequenzen von24 bis 25 GHzDas 5-GHz-Band mit Frequenzen von5725 bis 5875 GHz und das 433-MHz-Band mit Frequenzen von43305 bis 43479 MHz

Wenn sich die Frequenzbaumlnderuntereinander stoumlrenDie ersten beiden Frequenzbaumlnder sind

alle fuumlrAudio-Uumlbertragungsgeraumlte geeignetdie uumlberWLANoder Bluetooth senden Her-koumlmmliche Funkkopfhoumlrer und Funklaut-sprecher benutzen das Band mit 433 MHzAlle drei Frequenzbaumlnder koumlnnen frei be-nutztwerdenwas auchgleichzeitig ein Pro-blem darstellt So sendet im 24-GHz-Bandbeispielsweise dieMikrowellewaumlhrenddas433-MHz-Band von etlichen anderen Funk-verbindungen verwendet wird Durch diegemeinsame Nutzung koumlnnen gegenseitigeStoumlrungen auftretenEine Uumlbertragung mit Licht ist gegen Stouml-

rungen aus diesen Baumlndern unempfindlichAuch inUmgebungenmit starker Funkbean-spruchungkannauf dieseWeise eineAudio-Signaluumlbertragung erfolgen Ein weitererVorteil ist die Reichweite die bei einerUumlber-tragung mit Licht erreicht werden kann

Audiosignale uumlbertragenMit Licht lassen sich groszlige Entfernungen uumlberbruumlcken wobei die APU allessteuert (Illustration)

FotoKlickerpixeliode

Audiosignale drahtlos uumlbertragen Schematischer Aufbau der Schaltung mit Audio Processing Unit

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

Waumlhrend eineUumlbertragung indengenanntenISM-Baumlndern auf einige hundert Meter be-schraumlnkt ist koumlnnenmit Licht groszligeDistan-zen uumlberwunden werden

Schaltung uumlbertraumlgt drahtlosAudiosignale mit LichtIm folgenden wollen wir Ihnen eine neu-

entwickelte und bereits im realen Einsatzgetestete Schaltung vorstellen die drahtloseAudiosignale mit Licht uumlbertraumlgt Die maxi-maleAudioqualitaumlt des Signals darfmaximal48 kBits betragen Die Schaltung setzt aufeinem Mikrocontroller zur Steuerung einesAudio-Codecs auf Die Entwicklung ist durchdie Visible Light Communication (VLC) ins-piriert Das Signal wird uumlber eine Treiber-schaltung entweder per Laser oder High-Power-LED uumlbertragen Auf der Empfaumlnger-seitewirddas Signal uumlber einenAudio-Codecindasurspruumlngliche Format ruumlckgewandeltEinsatzbereiche sind groumlszligere Raumlume in de-nen einehoheFunkbeanspruchungherrschtZum erfolgreichen Versenden der Audio-

informationenwerden zweiAusgabendieserSchaltung benoumltigt Die Versorgungsspan-nung betraumlgt 12 V Auf Senderseite kann derBenutzer eine von drei verschiedenen Sig-nalartenwaumlhlen die uumlbertragenwerden soll analoges Audiosignal Klinke (TRS Ana-log Audio In) digitales SPDIF-Signal Anschluss uumlberCinch (RCA Electrical SPDIF In) optisches SPDIF Signal Anschluss uumlberToslink (Toslink Optical SPDIF In)

APU mit Audio Codec undKonfigurationsregisternDie Konfiguration der Signalart erfolgt

uumlber ein Display und vier Taster (S1 S2 S3S4 und Display) Das Display und die Tastersind an einen Mikrocontroller angeschlos-sen der die Auswertung der Einstellungenvornimmtunduumlber einen Isup2C-Bus andieAu-dioProcessingUnit (APU)uumlbertraumlgt DieAPUbesteht aus einem Audio-Codec und besitztKonfigurationsregister zumSpeicherndieserEinstellungen Uumlber diese Register koumlnnenauch Manipulationen an den Statusbits desSPDIF-Signals vorgenommen werden DieAPU verfuumlgt zudem uumlber ein integriertes di-gitales Interpolationsfilter und ein Antialia-sing-Filter Das hat den Vorteil dass eineexterne Filterung uumlberfluumlssig wird Das Isup2S-Interface uumlber das andere Audio-Kompo-nentenmit derAPUkommunizieren koumlnnensteht demBenutzer ebenfalls zurVerfuumlgungEin- undAusgaumlnge koumlnnenasynchronbe-

trieben werden Das erzeugte Signal wird inein SPDIF-Format gewandelt und dem La-sertreiber oder dem LED-Treiber zur Verfuuml-

Via Laser oder High-Power-LEDAudiosignale drahtlos mit Licht uumlbertra-gen Die von uns vorgestellte Schaltungsetzt auf einen Mikrocontroller der denAudio-Codec steuert wobei die Qualitaumltdes Signals maximal 48 kBits betragendarf Der Mikrocontroller ndash die AudioProcessing Unit ndash ist das Herzstuumlck die-

ser speziellen Treiberschaltung der dasAudiosignal via Laser oder High-Power-LED uumlbertraumlgt Mit den Konfigurations-registern lassen sich die Einstellungenfuumlr die Codes speichern und es lassensich Manipulationen an den Statusbitsdes SPDIF-Signals vornehmen

SyStementwurf AudiodAtEn uumlbERtRAgEn

19

telekommunikation von Mixed Mode

InfoClick

wwwelektronikpraxisde InfoClick 3343108

gung gestellt Aus Sicherheitsgruumlnden wirdder Lasertreiber uumlber eine vomMikrocontrol-ler gesteuerte Enable-Leitung ein- und aus-geschaltet Als Laserquelle dient eine Laser-diodeDer Lasertreiber ist zwar speziell auf diese

Laserdiode eingestellt kann aber durch an-dere Laserdioden ersetzt werden Die Aus-gangsleistung der Modulationsstrom derGleichstromanteil und der Temperaturkoef-fizient der Laserdiodenwerdenuumlber externeWiderstaumlnde des Lasertreibers dimensio-niert Die Laserdiode ist an einem Kupfer-block angebracht der dieKuumlhlungderDiodeund die Fokussierung des Laserlichts uumlbereine Linse im Inneren uumlbernimmt Der LED-Treiber der ein IR-Treiber oder ein High-Po-wer-LED-Treiber sein kann besteht aus zweischaltbarenKonstantstromquellenundkannbis zu vier High-Power-LEDs versorgen

Audioqualitaumlt liegt beiaktuell 48 kBitsAuf der Empfaumlngerseite muss der Light

Receiver alsQuelle ausgewaumlhltwerdenDie-ser Light Receiver umfasst je eine Empfangs-einheit fuumlr sichtbares und infrarotes Licht(Visible Light und Infrared Light Receiver)

Beide Empfangseinheiten bestehen aus ei-nemPhotodetektor und einemnachgeschal-teten Transimpedanzverstaumlrker Das vomTransimpedanzverstaumlrker erzeugte Signalwird anschlieszligendSPDIF-gerecht aufberei-tet und an die Audio Processing Unit weiter-geleitet und kann an einem der sechs An-schluumlsse abgegriffen werdenDiemaximaleAudioqualitaumlt der Schaltung

liegt zur Zeit noch bei 48 kBits da die Emp-fangseinheit Signalemit einer Frequenz vonmaximal 31 MHz zuverlaumlssig empfangenkannDiemaximaleReichweite die bei einergerichteten Uumlbertragung mit Laser erreichtwerden konnte betraumlgt aktuell 15 m DurchdenEinsatz vonoptischenHilfsmitteln kannjedoch eine weitaus houmlhere Reichweite er-reicht werden HEH

MixedMode +49(0)89 89868240

20

ProgrammiersPrachen Sichere Software

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Stabile Embedded-Systememit der Programmiersprache Ada

Mit der Programmiersprache Ada laumlsst sich sicherheits- und missions-kritische Software entwickeln wovon Embedded-Systeme profitieren

sollen Wir stellen Ihnen die Programmierumgebung vor

JOhANNES KANIg

Johannes Kanig ist Senior Software Engineer beiAdaCore

WashabenARGOS einSatellitenpro-gramm zur Sammlung von Um-weltdaten unddas Traumlgheitsnavi-

gationssystem des Airbus 350 XWB mitein-ander gemeinsam Beide stellen besondereAnforderungenan ihre Steuerungssoftwaredie sehr sicher und in Echtzeit reagierenmuss und deren eventuelle Fehler viel Geldoder sogar Menschenleben kosten koumlnnenIn beiden Faumlllen ist die Software missions-kritisch wenn beispielsweise durch einenFehler der Satellit verloren gehen kann odersicherheitskritischwenndurch einenFehlerdie Passagiere des Airbus inGefahr geratenBeide Systeme haben noch etwas gemein-sam sie sind in Ada geschrieben

Ein Traumlgheitsnavigationssystem stellt ho-he Anforderungen an seine Embedded-Ap-plikationen die sehr Hardwarenah laufenDabei wird auf Sicherheit groumlszligter Wert ge-legt Die Anwendung darf unter keinen Um-staumlnden abstuumlrzen und sollte ihre Funktionerfuumlllen sowie maximale Reaktionszeitenstrikt einhalten Fuumlr sicherheitskritischeAn-wendungen werden in der Regel vor demeigentlichen Entwicklungsprozess genaueHigh-Integrity-Anforderungen aufgeschrie-ben denenderProgrammcodedannentspre-chenmussNatuumlrlich ist es fuumlr denProgram-mierer einfacher wenn die Sprache direktKonstruktionen anbietet die bestimmtenArten von Anforderungen entsprechen

Lesbarer Code vermeidetFehler beim programmierenDie Entwickler der Programmiersprache

Adahaben stets besonderenWert auf Lesbar-keit undWartbarkeit gelegt Das aumluszligert sich

unter anderem in syntaktischenUnterschie-den mit Sprachen wie C oder Java Zum Bei-spiel verzichtet Ada voumlllig auf geschweifteKlammern und nutzt stattdessen leicht les-bare Schluumlsselwoumlrter um Bloumlcke zu kenn-zeichnen So werden if-Bloumlcke mit einemend if undSchleifenmit einemend loopabgeschlossen Im Allgemeinen vermeidetAdaSymbolewoSchluumlsselwoumlrter Sinn erge-ben So wird auch der in C uumlbliche Stern zurBezeichnung von Zeigern durch das Schluumls-selwort access ersetzt Ada beachtet Groszlig-und Kleinschreibung nicht um Verwechs-lung von zu aumlhnlichen Bezeichnern zu ver-meiden Und schlieszliglich vermeidet Ada diein Java und C verbreitete Praxis oktale Zah-len mit einer fuumlhrenden Null darzustellenNeben diesen syntaktischen Unterschie-

den gibt es auch viele semantische Hilfenum lesbare undbesserwartbare Programmezu schreiben Sowird die Relation zwischeneiner Funktion und ihren Parametern durchSchluumlsselwoumlrter wie in (nur lesen) out(nur schreiben) oder in out (beides) doku-mentiert Ada ist imGegensatz zuC eine starkgetypte Sprache Typkonversionen die zuLaufzeitfehlern fuumlhrenkoumlnnenmuumlssten ex-plizit geschrieben werden Ada erlaubt imGegensatz zu manchen anderen Sprachendie Einfuumlhrung von benutzerdefinierten In-tegertypen die Absichten des Programmie-rers dokumentieren (DieseVariable enthaumlltZahlen zwischen 1und 100) unddie korrek-te Ausfuumlhrung mit Laufzeituumlberpruumlfungensicherstellen Diese semantischen Eigen-schaften erleichtern den direkten Vergleichdes Programmcodes mit den an ihn gestell-ten Anforderungen

Besonderheiten bei derEmbedded-ProgrammierungBei Echtzeitanwendungenhandelt es sich

meist um parallele Anwendungen denn inder Regel werden mehrere Berechnungengleichzeitig durchgefuumlhrt undneueEreignis-se verarbeitet In diesem Kontext ist es be-

Umweltsattelit Die Steuerungssoftware muss sich besonderen Anforderungen stellen Mit der Program-miersprache Ada laumlsst sich sicherheits- und missionskritische Software entwickeln (Im Bild der Umwelt-satellit ENVISAT)

fotoD

Lr

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

sonders wichtig dass Reaktionszeiten derSoftware auf Ereignisse garantiert werdenkoumlnnen Hier ist es nuumltzlich dass Ada einfa-che Sprachfeatures zur Beschreibung vonparallelen Prozessen bereitstellt Es ist ent-scheidend dassAdakeinenGarbageCollec-tor benoumltigt der denProgrammablauf verzouml-gern koumlnnte Ein manueller Umgang mitThreads ist alsonicht noumltig Unvorhersehba-re Latenzzeiten die bei sicherheitskritischenAnwendungen unakzeptabel sind werdenausgeschlossen Ein weiteres Argument fuumlrden Einsatz von Ada im Embedded-Bereichist seine Faumlhigkeit zur Low-Level-Program-mierung Damit kann beispielsweise die ge-naue Auslegung einer Datenstruktur imSpeicher festgelegt werden Als gefaumlhrlicherachtete Low-Level-Features wie zum Bei-spiel dasAuslesenbeliebiger Speicherberei-che oder auch die in C beliebte Pointerarith-metik sind in Ada nur unter Umgehung desTypsystemsmoumlglich

Ada ndash Die Programmierspracheohne UumlberraschungenAda wird oft als Sprache ohne Uumlberra-

schungen bezeichnet Mechanismen zurProgrammstrukturierung wie es sie in Adagibt also ein Objektsystem oder ein Paket-system sind sehr hilfreich wenn es darumgeht umfangreiche Programme zu schrei-ben Der Ada-Standard sieht sogenanntePragma-Restriktionen vormit denen festge-legt werden kann ob Features der Spracheausgeschlossenwerden sollenDamit lassensich interne Coding-Standards uumlberpruumlfenDieses Feature kannmanmit dem StandardMISRA-CC++vergleichen der versucht einesichere Teilmenge von C beziehungsweiseC++ zu definieren Ada bietet den Vorteildass viele Konstrukte vondenenMISRAab-raumlt gar nicht geschrieben werden koumlnnenund dank des starken Typsystems mehrUumlberpruumlfungenmoumlglich sindDie Programmiersprache Ada gibt es seit

demBeginn der achtziger Jahre Die damali-ge Version Ada 83 enthielt bereits eine guteBasis fuumlr die strukturierte undmodulare Pro-grammierung wie ein Paketsystem das dieKapselung von Daten und Algorithmen er-moumlglicht Seitdem hat sich Ada kontinuier-lich weiterentwickelt So erschien 1995 derAda-95-Standard der die Sprache um einObjektsystem erweiterte Der naumlchste Stan-dard Ada 2005 brachte Verbesserungen imUmgang mit Zeigern die als konstant oderauch als not null deklariert werden koumln-nen Das stellt vor allem eine umfangreicheErweiterungder Standardbibliothekdar dienun auch Container enthaumllt Das Objektsys-temwurde umdas Interface-Konzept erwei-

PRAxISWERT

Adacore Software-loumlsungen fuumlr AdaAdaCore wurde 1994 gegruumlndet undist der fuumlhrende Anbieter von kom-merziellen Softwareloumlsungen fuumlr Adaeiner modernen Programmiersprachefuumlr Mission-Critical-Anwendungen insicherheitskritischen UmgebungenDas wichtigste Produkt ist die Ent-wicklungsumgebung GNAT Pro dieOnline-Support bietet und auf mehrPlattformen als jede andere Ada-Tech-nologie verfuumlgbar ist Unternehmenwie Boeing HP Krauss-Maffei oderSiemens setzen AdaCore-Loumlsungenfuumlr sicherheitskritische Anwendun-gen ein Hauptsitz ist New York daseuropaumlische Headquarter ist in Paris

tert so dass nun auch Mehrfachvererbungmoumlglich istDer naumlchste Standard ist fuumlr 2012 vorgese-

hen Darin sind die aus der Programmier-spracheEiffel bekanntenVertraumlge (contracts)vorgesehen die jeder Funktion zwei Boole-scheAusdruumlcke hinzufuumlgen koumlnnen die voroder nach Ausfuumlhrung der Funktion wahrsein sollenDieseAusdruumlcke sind im Idealfalldirekt von den Anforderungen an die Soft-ware abgeleitet Sie koumlnnen als formale Do-kumentation als zusaumltzlicheUumlberpruumlfungenzur Laufzeit oder als Ausgangspunkt fuumlr sta-tische Analysen dienen Eine weitere Neue-rung ermoumlglicht dieDefinition vonTypenmitso genannten Invarianten Damit sind Boo-lesche Ausdruumlcke gemeint die fuumlr Wertedieses Typs immer wahr sind Schlieszliglichgibt es viele andereWeiterentwicklungenwieeine Python-aumlhnliche Syntax zur Iterationuumlber Container und Verbesserungen implattformuumlbergreifenden Umgang mit ne-benlaumlufigen Prozessen und Multiprozesso-ren hEh

AdaCore +33(1)4970 6716

ProgrammiersPrachen SiCHERE SOfTwARE

21

Adacore-Entwicklungswerkzeuge

Ada Deutschland

InfoClick

wwwelektronikpraxisde infoclick 3343168

Bei unsbewegtsich was

Webcasts aufwwwelektronikpraxisde

Finden Sie die Loumlsung fuumlr IhrProblem ndash als Video oderAudiodatei

Beispiele fuumlr Webcasts

Anwendungsbeschreibungenkomplexer erklaumlrungsbeduumlrftigerProdukte

anwendungs- und loumlsungsorien-tierte Produktpraumlsentationen

vertonte Powerpointpraumlsentati-onen ProduktanimationenExperteninterviews oderMesseberichte

Online-SeminareOnline-Konferenzen

Schauen Sie doch mal rein---gt wwwelektronikpraxisde

CAST

wwwvogelde

0726

4

22

EmbEddEd-SyStEmE Software-architektur

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Von der impliziten zur explizitenSoftware-Architektur

Im Bereich der Unternehmenssoftware ist das Festlegen einer Soft-ware-Architektur heutzutage Standard doch bei der Embedded-Ent-

wicklung wird dieser Aspekt haumlufig noch vernachlaumlssigt

MIchAEL STuRM chRISTIAN hOcK

Dr Michael Sturm leitet die Abteilung Softwarepro-dukte im Geschaumlftsbereich Industrybei der Berner amp Mattner Systemtech-nik in Muumlnchen

Dr christian hock ist verantwortlich fuumlr die strate-gische Ausrichtung des Geschaumlfts-bereiches Industry bei der Berner ampMattner Systemtechnik in Muumlnchen

Eine dokumentierte Software-Architek-tur hat klare Vorteile Produkte sindanpassungsfaumlhiger und zukunftssiche-

rer Auszligerdem erleichtert das Wissen umSchnittstellen Kommunikationsbeziehun-genundRessourcen einzelner Komponentenderen Anpassung an neue Hardwarebedin-gungenundFunktionsanforderungenNichtnur beiNeuentwicklungen sondern auchbeiModernisierungen bestehender Embedded-Loumlsungen lohnt es sich einen Software-Ar-chitekten einzubinden um Weiterentwick-lungenauf ein zukunftssicheres Fundamentzu stellen

Begruumlndete Technologie-entscheidungen treffenUnter Software-Architektur versteht man

die strukturierteAnordnungderKomponen-ten eines Systems mit Informationen zurKommunikation zwischen den Komponen-ten sowie deren Abbildung auf Hardware-oder Softwareressourcen Eine fruumlhzeitigeundprojektbegleitendeUnterstuumltzungdurcheinen den einzelnen Entwicklerteams moumlg-lichst neutral gegenuumlberstehendenSoftware-Architekten ist die ideale Loumlsung EineReihevon Aufgaben kann man dieser Instanz zu-ordnen in vielenBereichengeht es aber aucheinfach umModerationEine zentraleAufgabeder EmbeddedSoft-

ware-Architektur ist es nicht nur die funkti-onalen Anforderungen an die Software zuberuumlcksichtigen sondern auch nichtfunkti-

in seiner Loumlsungsfindung eingeschraumlnktsein Bewaumlhrte Loumlsungsansaumltzewerdendannoft unhinterfragt wiederholt Neue moumlgli-cherweise besser geeignete und insbesonde-re flexiblere Technologienbleibenunberuumlck-sichtigt

Zusammenhaumlnge muumlssennachvollziehbar bleibenDaher kannes zumBeispiel zudenAufga-

ben eines Software-Architekturteams oderexternen Beraters gehoumlren neue Technolo-

Groszliges Vorbild Softwaresysteme lassen sich hinsichtlich ihrer Komplexitaumlt mit Gebaumluden wie Antoni Gau-diacutes Kirche Sagrada Familia in Barcelona vergleichen Eine in sich schluumlssige Architektur ist deshalb auch imSoftwarebereich unerlaumlsslich

iStockph

otoham

ishBa

rrie

onale Anforderungen zu erfassen und zwarvor dem Hintergrund einer Lifecycle-Prog-nose Unter diese nichtfunktionalen Anfor-derungen fallen so komplexe Punkte wieWartbarkeit Modifizierbarkeit Skalierbar-keit Portierbarkeit Konnektivitaumlt Benutz-barkeit Zuverlaumlssigkeit Sicherheit Perfor-mance Effizienz oder TestbarkeitSo vorteilhaft ein eingespieltes Entwick-

lerteam fuumlr die Kommunikation ist so sehrkann es auch durch die Erfahrung aus Vor-gaumlngerprojekten oder aumlhnlichen Projekten

23

EmbEddEd-SyStEmE Software-architektur

gien zu evaluieren und auf Eignung fuumlr Pro-jekte zu pruumlfen sowie neue Toolsets zur Ver-fuumlgung zu stellen Kuumlnftig benoumltigteKompo-nenten muumlssen identifiziert werden undwenn es darum geht fuumlr einzelne Kompo-nenten optionale Technologien vorzuschla-gen bewaumlhrt sich haumlufig das Einschalteneines neutralen ArchitekturbeauftragtenEs geht um die Diskussion von Design-

Entscheidungen dieDefinition vonSchnitt-stellen und die Entwicklung von CodingConventions Unter der Moderation einesSoftware-Architekten erfolgen diese Ent-scheidungen bewusster und werden besserdokumentiert Nur sobleibendie Zusammen-haumlnge innerhalb eines Systems auch fuumlr Ent-wickler nachvollziehbar die spaumlter einmalan ihm arbeitenmuumlssen und nichts von denimplizitenAnnahmenund teaminternenGe-pflogenheiten seiner Schoumlpfer wissen

Implizite Architekturen sindimmer vorhandenIn der taumlglichen Praxis der Embedded-

Entwicklung sieht es leidermeist anders ausZeit- und Kostendruck verhindern oft dassGedankenundArbeit in eine systematisierteSoftware-Architektur flieszligen Hier koumlnnenSoftwarearchitekten auchdurchdieAuswahlgeeigneter Methoden und Tools weiter hel-fen So kann die dynamische Entwicklungheutiger Industrieproduktemit agilenAnsaumltzenunterstuumltztwerdenAuch einstrikt modellbasierter Entwicklungs-ansatz also die Modularisierung mitklar definierten Schnittstellen ist einMittel um einen hohen Reifegrad zuerreichen Die Vorteile dieses Vorge-henshaben sich in vielenProjektenbeiBerner amp Mattner in der Entwicklungvon Funktionserweiterungen gezeigtDank des modellbasierten Ansatzeskonnten diese mit minimalem Auf-wand realisiertwerdenndashunddies ins-besondere auch von urspruumlnglichnicht beteiligten EntwicklernAber Fakt ist Jedes Softwaresystem

hat eineArchitektur auchwenndiesenicht explizit modelliert wurde Ent-stehendiese Strukturenungeplant ausder Dynamik der Komponentenent-wicklung heraus tut dies der Funkti-onalitaumlt der Software zunaumlchst keinenAbbruch Probleme treten erst spaumlterauf wenn es umWartung Skalierungoder Portierung gehtImNachhinein raumlcht sichdann zum

Beispiel die Wahl einer bestimmtenProgrammiersprache oder einerSchnittstelle die unter dem Zeit- undKostendruck imEntwicklungsprozess

schnell und dazu noch undokumentiert ge-troffenwurdeDieKommunikation zwischeneinzelnen nicht klar getrenntenKomponen-ten war moumlglicherweise nur oberflaumlchlichgeloumlst anstatt schon bei derWahl der Tech-nologien und Sprachen darauf zu achtenReibungspotenziale zu minimieren

Zu enge Abhaumlngigkeiten vonder Hardware vermeidenWird ein Softwareprojekt nicht in Bezug

auf seinengesamtenLebenszyklus gesehenbesteht bei Embedded-Projekten auch dieGefahr dass ungewollteAbhaumlngigkeiten zurEntwicklungs-Hardware entstehen Die An-passung an neue Hardwaregenerationenkann dadurch sehr aufwaumlndig oder gar un-moumlglich werdenEine klar strukturierte unddokumentierte

Software-Architektur wird erst dann ver-misst wenn es bei der notwendigenWeiter-entwicklung Fragen und Schwierigkeitengibt Oft sollen wesentliche Teile der Soft-ware beibehalten aber zum Beispiel an einneuesBenutzerinterface angeschlossenwer-denManchmal ist der Controller fuumlr den siegeschrieben wurde nicht mehr verfuumlgbarund sein Nachfolger ist anders aufgebautFunktionenmuumlssen erweitert zusammenge-fuumlhrt oder auf geaumlnderte externe Systemeangepasst werden Die Pflege oder Weiter-

PRAxISWERT

Fehler lassen sichverhinderneine klar definierte und stringenteSoftware-architektur hilft die Zusam-menhaumlnge innerhalb eines Systemsbesser zu verstehen Dies verhindertfehler und senkt nicht zuletzt denaufwand bei der eventuell noumltigenbdquoaltbausanierungldquo von embedded-Systemen

Nachtraumlgliche Analyse nuumltztwurde die Software-architektur inder embedded-entwicklung vernach-laumlssigt lohnt sich angesichts der zuerwartenden langen einsatz- und Le-benszeiten vieler embedded-Systemeauch eine nachtraumlgliche analyse undDokumentation andernfalls drohenmoumlglicherweise immer wieder unkal-kulierbare Verzoumlgerungen wenn war-tungs- oder weiterentwicklungsarbei-ten eventuell auf undokumentierteeigenheiten des Systems stoszligen

H

SIG

HPEED

ROBUST

FLEXIBLE

TriCore Power Architecturebull

XC2000XE166 SH-2A XScalebull bull

Cortex M0M3M4 Cortex R4 Cortex A8 ARM7911bull bull bull

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

24

EmbEddEd-SyStEmE Software-architektur

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Literaturhinweise[1] Pete Goodliffe code craftthe Practice of writing excellent codeNoStarch Press 2006

[2] Peter hruschka Gernot Starkeknigge fuumlr SoftwarearchitektenentwicklerPress 2012

[3] craig Larman applying uML and Pat-terns an introduction to object-orien-ted analysis and DesignPrentice hall 2004 (3 auflage)[4] Berner amp Mattner-fachartikel bdquoSoft-warearchitektur in eingebetteten Syste-menldquo ndash httpbitlyJosXYw

entwicklung eines solchen Systemswird fuumlrden Produktverantwortlichen zu einerschwer kalkulierbaren Kostenquelle vor al-lem dann wenn er nicht mehr auf den KerndesurspruumlnglichenEntwicklerteams zuruumlck-greifen kannHilfestellung in solchen Situation bieten

Spezialisten wie Berner amp Mattner die Alt-systeme analysieren bestehende Software-Architektur nachdokumentierenundmoumlgli-che Migrations- und Aumlnderungspfade iden-tifizieren Als externe Architekturberaterkoumlnnen sie unbelastet von der Softwarehis-torie untersuchen wo in der Struktur derSoftware Problemfelder liegen und Loumlsun-gen vorschlagenDerAufwand fuumlr PflegeundWeiterentwicklung laumlsst sich auf Basis einersolchen Analyse besser beurteilen

Regeln aufstellen ndash und sierichtig brechenBesonders spannend wird das Thema bei

zertifiziertenEmbeddedSystemen Einehaumlu-fige Herausforderung ist dass die Softwareoder wesentliche Teile zertifiziert sind umeinem SIL (Safety Integrity Level) zu genuuml-gen Selbstverstaumlndlich moumlchte niemanderneut eine IEC 61508-Zertifizierung durch-laufen wenn sich dies vermeiden laumlsstGluumlcklicherweise sind oft nur einzelne rele-vante Teile des Systems als sicherheitskri-tisch eingestuft Die Kunst des Architektur-beraters ist es die Stellen in der Software zufinden andenendie Schnitte angesetztwer-denkoumlnnenndashund zwar zwischenden sicher-heitskritischen Teilen und den Teilen undSchnittstellen die problemlos geaumlndertwer-den koumlnnenHierzu nutzt der Berater gaumlngige Design-

Patternswie etwaSchichtenoder bdquopipes andfiltersldquo Ironischerweisemusshaumlufig das aufdieseWeise entstandene Regelwerk die ab-geleiteteArchitektur fuumlr das eigentlicheEnt-wicklungsprojekt gleich wieder gebrochenwerden eben um zertifizierte Bestandteileunveraumlndert zu erhalten Der groszlige Unter-schied zu den bdquoRegelverletzungenldquo aus derEntstehungszeit der urspruumlnglichen Soft-

ware liegt aber darin dass sie nun ausfuumlhr-lich dokumentiert werdenEs waumlre ein Missverstaumlndnis Software-

Architektur als ein unveraumlnderliches Doku-ment zu verstehen das man nur selten wie-der in die Hand nimmt Es sollte bei jederArbeit an der Software gelesen und gepflegtwerden Ohne dieses lebendige Dokumentwerden Architekturverstoumlszlige oft gar nichtbemerkt Vereinbarungen zu ArchitekturCodingConventions Schnittstellen etcwer-dendadurch fuumlr denEntwickler verbindlich

Architektur muss als Prozessverstanden werdenDer Auftraggeber erhaumllt so ein Embedded

System dessen Pflege er in die Haumlnde einesneuenTeamsgebenkannDie nun freigewor-denen Spezialisten die es erstellt habenkoumlnnen getrost an anderer Stelle eingesetztwerdenDabei gilt Software-Architektur endet nie

DennauchvondenEntwicklern einzusetzen-deDesign-Methodenwie zumBeispiel ObjectOrientedAnalysis andDesign (OOAD)habenklare Strukturen und die Trennung von Zu-

staumlndigkeiten zum Ziel - das ist eindeutigArchitekturEine klare Software-Architektur hilft die

Zusammenhaumlnge innerhalb eines Systemsbesser zu verstehen Dies verhindert Fehlerund senkt den Aufwand bei der bdquoAltbausa-nierungldquo von Embedded Systemen Wurdedie Software-Architektur in der Embedded-Entwicklung vernachlaumlssigt lohnt sich an-gesichts langer Einsatz- und Lebenszeitenvieler EmbeddedSystemeauchdie nachtraumlg-liche Analyse und Dokumentation Andern-falls drohen immer wieder unkalkulierbareVerzoumlgerungen wenn Wartungs- oder Wei-terentwicklungsarbeiten auf undokumen-tierte Eigenheiten des Systems stoszligen Beistark eingefahrenen Teams bzw zum Wis-sensaufbaubietet sichhier ein externer Soft-warearchitekt anDie meisten Fehler durch menschliches

Versagen entstehen dort wo wir nicht ver-stehen woran wir bdquoschraubenldquo Eine expli-zite Architektur traumlgt maszliggeblich dazu beidieWirkketten innerhalb komplexer Systemetransparent zu machen Mit diesem Wissenwerden erforderliche Aumlnderungen wesent-lich schneller bewertet und zuverlaumlssig rea-lisiert FG

Berner ampMattner +49(0)89 6080900

Zusammenhaumlnge verstehen Explizite Software-Architektur traumlgt maszliggeblich dazu bei die Wirkungs-zusammenhaumlnge komplexer Systeme anschaulich und transparent zu machen

iStockph

otoSirgunhik

Lebenslaumlnglich Software-architekturdesign

requirements engineering fuumlr embedded-Systeme

InfoClick

wwwelektronikpraxisde InfoClick 3343141

25

Kolumne

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

Mit Fragen zum ProjekterfolgPETER SIwON

Heute stelle ich Ihnen ein Wundermit-tel vormit demSie inProjekten vielEnergie Zeit und Geld sparen

Gleichzeitigmotiviert es IhreMitarbeiter DerEinsatz des Wundermittels hat sehr viel mitdem BuchstabenWwieWunder zu tun DasBeste daran Es kostet nichts undSie kennenes alle DasWundersameandiesemWunder-mittel ist allerdings dass es trotzdem zu sel-ten eingesetzt wird Ich gebe Ihnen noch einpaar TippsWie kommenSie ameffektivstenan Informationen Wie erfahren Sie amschnellstenwas andereMenschendenkenWie findenSie amschnellstenLoumlsungenDieAntwort lautet FragenUnddie beginnenoftmit wo wie wann oder wer Vielleicht sindSie jetzt uumlber diese simple Antwort ent-taumluscht nachdem ich Ihnen den Mund mitallerlei Wunderversprechungen waumlssrig ge-macht habe An dieser Stelle koumlnnten Siespaszligeshalber auf das Themaeinsteigenundfragen bdquoWie kommen Sie darauf diese Me-thode alsWundermittel zu bezeichnenldquo Siekoumlnnten aber auchgelangweilt denken bdquoWeiszligschon offene Fragen stellenldquo und aufhoumlrenzu lesen Sind Sie sich ganz sicher dass Siealle meine Argumente kennen Das ist zwaretwasmanipulativ abermit dieser Fragebrin-ge ich Sie immerhindazu IhrenStandpunktzu hinterfragen Vielleicht lautet die so pro-vozierteAntwort bdquoNaja eigentlichbin ichmirnicht sicherldquo ndash und Sie lesen doch weiterDas Praktische an solchenFragen ist dass

Sie sich von Ihrer eigenen Antwort in derRegel besser uumlberzeugen lassen Ichhaumltte Sieauch schulmeisterlich zu IhremGluumlck zwin-gen koumlnnen bdquoSie muumlssen weiterlesen weilichweiszlig dass Sie noch jedeMengeWichtigeserfahren das Sie unmoumlglich wissen koumln-nenldquo Dasmache ich aber nicht weil ich dieNachteile kenne 1 Siemuumlssen gar nichts 2Wenn Sie muumlssen dann wollen Sie nichtIhre Motivation ist gering 3 Woher will ichwissen obSie nichtmehr uumlber dieKunst desFragens wissen als ich selbst Damit die ge-rade so schoumln erzeugte Motivation nichtgleichwieder auf demAltarmeines Egos ge-opfert wird spare ichmir PseudofragenwiebdquoHab ichs Ihnennicht gleich gesagtldquo Statt-dessen bedanke ich mich bescheiden fuumlrIhreBereitschaftweiterzulesen Ich gebe zudas faumlllt mir manchmal schwerGeschriebener Text schraumlnkt dieMoumlglich-

keiten etwas einDarumstellen Sie sichbitte

die obenangedeutete Szene als persoumlnlichesGespraumlch vor In diesem Fall koumlnnte ich ausdem W-Vollen schoumlpfen Wenn Sie mir zuverstehen geben dass Sie sich selbst schonmit dem Thema befasst haben dann werdeich Sie beispielsweise fragen bdquoDas freutmich Welche Erfahrungen haben Sie ge-machtldquo oder bdquoWas wuumlrden Sie aus IhrerErfahrung empfehlenldquo Jetzt habe ich dieChance etwas von Ihnen zu lernen Gleich-zeitig spare ich Energie und Uumlberzeugungs-arbeit weil ich einfach nur zuhoumlre Ich wer-de IhreAussagendurchRuumlckmeldungenwiebdquointeressantldquo oder bdquoDa stimme ich Ihnen zuldquounterstreichen Mit meinen Fragen will ichnicht beweisen dass ich der Schlauere binsondern dass Fragen ein echtesWundermit-tel sind Durch interessiertes Nachfragenkann ich Ihnen dabei helfen neue Aspektezu entdecken Was tue ich wenn ich eineandere Meinung habe Statt Geschuumltze wiebdquoJa aberhellipldquo oder bdquoNein das kann nicht seinweilhellipldquo aufzufahren umSie rhetorisch abzu-wuumlrgen oder zu knebeln ist es erheblichnuumltzlicher die Hintergruumlnde Ihrer Darstel-lungdurchFragenherauszufinden Falls Siefalsch liegen kommen Sie vielleicht durchdenVersuchmeine Fragen zubeantwortenselbst dahinter Ich spare mir dann die an-strengende Prozedur der Gegenargumenta-tion Dann werde ich uns beide dazu be-gluumlckwuumlnschen dass wir unser Wissen ge-meinsam bereichert haben ndash denn genauso

ist es Sollte ich derjenige sein der falschliegt kann ich dazulernen ohne mir eineBloumlszlige zu gebenJetzt stellen Sie mir da ich mich als Fra-

genfreundgeoutet habe eine Fragewie bdquoWaswuumlrdenSie tunwenneinunselbststaumlndigerMitarbeiter staumlndig fragt was er tun sollldquoIch wuumlrde wie sollte es anders sein post-wendendeineGegenfrage stellen bdquoWas glau-ben Sie wuumlrde ich tunldquo und Ihnen damitschon die Antwort in den Mund legen fra-gen Tolle Fragen in solchen Situationensind Was haben Sie oder andere in aumlhnli-chen Situationen getan Warum glaubenSie hat es bisher nicht funktioniertldquo Da-nach bringe ich hoffentlich die Geduld fuumlrzweiVerhaltensweisen auf die fuumlr denErfolgeiner Frage wichtig sind Erstens halte ichden Mund um Ihnen Zeit zum NachdenkenzugebenAlsGefragter habenSie es naumlmlichnicht leicht Sie denkennun zuerst uumlbermei-ne Frage und dann uumlber Ihre Antwort nachWenn ich waumlhrend Sie gruumlbeln die Frageselbst beantworte oder noch eine Frage hin-terher schieszlige habe ich alles verdorben Ichzaumlhle also im Kopf bis 5 um diese Falle zuvermeiden Zweitens zeige ich Ihnen wennSie antworten durchAugenkontakt Nickenkurze Ruumlckmeldungen und Verstaumlndnisfra-gen mein Interesse Aktives Zuhoumlren ist diebeste Gewaumlhr dafuumlr dass mir nichts Wichti-ges entgeht und es ist ein Zeichen groszligerWertschaumltzung So gewinne ichdurchFragenund Zuhoumlren Ihre Sympathie Das Wundervollzieht sich also in drei Schritte FragenWarten Zuhoumlren Wenn Sie auf diese Weiseeine gute Idee finden goumlnne ich Ihnen IhrErfolgserlebnis und sage so etwas wie bdquoSu-per das houmlrt sich interessant anldquo Und ichlege gleichnoch eine Frage als ZugabedraufbdquoWannglaubenSiewerdenSie die Idee aus-probierenldquo Diese nachgeschobene Fragehat gegenuumlber einer Aufforderungwie bdquoPro-bieren Sie es doch morgen gleich ausldquo dengroszligen Vorteil dass ich so Ihr Gefuumlhl derEigenverantwortung erhalte bzw foumlrdere IchbeendediesenkurzenAusflug indieWelt derW-Wunder wie auch sonst mit einer FrageHaben Sie Interesse zum Thema Fragetech-nikenWollen Sie eine kostenlose Checklis-te zu Fragetechniken Dann senden Sie mirbitte eine E-Mail an psiwondie-menschli-che-Seitede hEh

Mit Fragen zum Projekterfolg Peter Siwon beschaumlf-tigt sich seit mehr als 20 Jahren mit den ThemenGehirn und Psyche im Zusammenhang mit derProjektarbeit in technischen Berufen

InfoClick 3370352

26 ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

RedaktionChefredakteur Johann Wiesboumlck (jw) ViSdP fuumlr die redaktionellen InhalteRessorts Zukunftstechnologien Kongresse Kooperationen Tel (09 31) 4 18-30 81Chef vom dienst Peter Koller (pk) Tel (09 31) 4 18-30 98Verantwortlich fuumlr dieses Sonderheft Franz Graser Tel -30 92Redaktion Muumlnchen Tel (09 31) 4 18-Franz Graser (fg) Prozessor- und Softwarearchitekturen Embedded Plattformen Tel -30 92Martina Hafner (mh) Produktmanagerin Online Embedded Software Engineering KongressTel -30 82Hendrik Haumlrter (heh) Messtechnik Testen EMV Medizintechnik Laborarbeitsplaumltze DisplaysOptoelektronik Embedded Software Engineering Tel -30 92Holger Heller (hh) ASIC Entwicklungs-Tools Embedded Computing MikrocontrollerProzessoren Programmierbare Logik SOC Tel -30 83Gerd Kucera (ku) Automatisierung Bildverarbeitung Industrial Wireless EDALeistungselektronik Tel -30 84Thomas Kuther (tk) Kfz-Elektronik Stromversorgungen Oszillatoren Passive BauelementeTel -30 85Kristin Rinortner (kr) Analogtechnik Mixed-Signal-ICs Elektromechanik Relais Tel -30 86Margit Kuther (mk) Bauteilebeschaffung Distribution Beruf amp Karriere Tel (0 81 04) 6 29-7 00Freie Mitarbeiter Prof Dr Christian Siemers FH Nordhausen und TU Clausthal Peter SiwonMicroConsult Sanjay Sauldie EIMIA Hubertus Andreae dreiplus praxisbegleitendeInnovationsfoumlrderungVerantwortlich fuumlr die Fed-news Dr Stephan Weyhe FED Alte Jakobstr 8586 D-10179 BerlinTel (0 30) 8 34 90 59 Fax (0 30) 8 34 18 31 wwwfeddeRedaktionsassistenz Eilyn Dommel Tel -30 87RedaktionsanschriftMuumlnchen Grafinger Str 26 81671 Muumlnchen Tel (09 31) 4 18-30 87 Fax (09 31) 4 18-30 93Wuumlrzburg Max-Planck-Str 79 97082 Wuumlrzburg Tel (09 31) 4 18-24 77 Fax (09 31) 4 18-27 40LayoutMichela Deppe Joachim Haselmann Carolin Frank Sigrid Rau Meike Herkersdorf Mar-kus Mager

eLektRonikPRaXiS ist organ des Fachverbandes elektronik-design eV (Fed)Fed-Mitglieder erhalten eLektRonikPRaXiS im Rahmen ihrer Mitgliedschaft

VeRLagVogel Business Media GmbH amp Co KG Max-Planck-Straszlige 79 97082 WuumlrzburgPostanschriftVogel Business Media GmbH amp Co KG 97064 WuumlrzburgTel (09 31) 4 18-0 Fax (09 31) 4 18-28 43BeteiligungsverhaumlltnisseVogel Business Media Verwaltungs GmbHKommanditistin Vogel Medien GmbH amp Co KG Max-Planck-Straszlige 79 97082 Wuumlrzburggeschaumlftsfuumlhrung Stefan Ruumlhling (Vorsitz) Florian Fischer Ernst Haack Guumlnter SchuumlrgerPublisher Johann Wiesboumlck Tel (09 31) 4 18-30 81anzeigenleitung Franziska Harfy Tel (09 31) 4 18-30 88Fax -30 93 Grafinger Str 26 81671 Muumlnchen franziskaharfyvogeldeanzeigenverkauf Wuumlrzburg Tel (09 31) 4 18- Fax (09 31) 4 18-28 43Susanne Muumlller Tel -23 97 susannemuellervogeldekey-account-Manager Tel (09 31) 4 18- Fax (09 31) 4 18-28 43Hans-Juumlrgen Schaumlffer Tel -24 64 hansschaeffervogeldeClaudia Fick Tel -30 89 Fax -30 93 Grafinger Str 26 81671 Muumlnchen claudiafickvogeldeMarketingleitung Elisabeth Ziener Tel (09 31) 4 18-26 33auftragsmanagement Claudia Ackermann Tel (09 31) 4 18-20 58 Maria Duumlrr Tel (09 31) 4 18-22 57anzeigenpreise Zur Zeit gilt Anzeigenpreisliste Nr 47 vom 01 01 2012Vertrieb Leser- und abonnenten-Service DataM-Services GmbHFranz-Horn-Straszlige 2 97082 Wuumlrzburg Thomas Schmutzler Tel (09 31) 41 70-4 88 Fax -4 94tschmutzlerdatam-servicesde wwwdatam-servicesdeerscheinungsweise 24 Hefte im Jahr (plus Sonderhefte)

Verbreitete auflage 40009 Exemplare (IVWEDA Audit Oktober 2011)Angeschlossen der Informationsgemeinschaft zur Feststellung der Verbreitung von Wer-betraumlgern Sicherung der AuflagenwahrheitBezugspreis Einzelheft 900 EUR Abonnement Inland jaumlhrlich 19700 EUR inkl MwSt

Abonnement Ausland jaumlhrlich 22820 EUR (Luftpostzuschlag extra) Alle Abonnementpreiseverstehen sich einschlieszliglich Versandkosten (EG-Staaten ggf +7 USt)Bezugsmoumlglichkeiten Bestellungen nehmen der Verlag und alle Buchhandlungen im In- undAusland entgegen Sollte die Fachzeitschrift aus Gruumlnden die nicht vom Verlag zu vertretensind nicht geliefert werden koumlnnen besteht kein Anspruch auf Nachlieferung oder Erstattungvorausbezahlter Bezugsgelder Abbestellungen von Voll-Abonnements sind jederzeit moumlglichBankverbindungen HypoVereinsbank Wuumlrzburg (BLZ 790 200 76) 326 212 032SWiFt-Code HY VED EMM 455 IBAN DE65 7902 0076 0326 2120 32Herstellung Andreas Hummel Tel (09 31) 4 18-28 52Frank Schormuumlller (Leitung) Tel (09 31) 4 18-21 84druck Vogel Druck und Medienservice GmbH 97204 Houmlchbergerfuumlllungsort und gerichtsstandWuumlrzburgManuskripte Fuumlr unverlangt eingesandte Manuskripte wird keine Haftung uumlbernommenSie werden nur zuruumlckgesandt wenn Ruumlckporto beiliegtinternet-adresse wwwelektronikpraxisde wwwvogeldedatenbank Die Artikel dieses Heftes sind in elektronischer Form kostenpflichtig uumlber dieWirtschaftsdatenbank GENIOS zu beziehen wwwgeniosde

VeRLagSBuumlRoSVerlagsvertretungen inLand Auskunft uumlber zustaumlndige VerlagsvertretungenJens Otte Tel (09 31) 4 18-26 47 Fax (09 31) 4 18-28 57 jensottevogeldeaUSLand Belgien Luxemburg Niederlande SIPAS Peter Sanders Sydneystraat 105 NL-1448NE Purmerend Tel (+31) 299 671 303 Fax (+31) 299 671 500 petersandersvogeldeFrankreich DEF amp COMMUNICATION 48 boulevard Jean Jauregraves 92110 ClichyTel (+33) 14730-7180 Fax -0189groszligbritannien Vogel Europublishing UK Office Mark Hauser Tel (+44) 800-3 10 17 02Fax -3 10 17 03 markhausercomcastnet wwwvogel-europublishingcomUSaCanada VOGEL Europublishing Inc Mark Hauser 3321 Ashbourne CircleSan Ramon CA 94583 Tel (+1) 9 25-6 48 11 70 Fax -6 48 11 71

Copyright Vogel Business Media GmbH amp Co KG Alle Rechte vorbehalten Nachdruck digitale Verwendung jederArt Vervielfaumlltigung nur mit schriftlicher Genehmigung der Redaktion Fotokopieren veroumlffentlichter Beitraumlge istgestattet zu innerbetrieblichen Zwecken wenn auf jedes Blatt eine Wertmarke der Verwertungsgesellschaft WortAbt Wissenschaft in 80336 Muumlnchen Goethestraszlige 49 nach dem jeweils geltenden Tarif aufgeklebt wird Nachdruckund elektronische Nutzung Wenn Sie Beitraumlge dieser Zeitschrift fuumlr eigene Veroumlffentlichung wie Sonderdrucke Websi-tes sonstige elektronische Medien oder Kundenzeitschriften nutzen moumlchten erhalten Sie Information sowie dieerforderlichen Rechte uumlber httpwwwmycontentfactoryde (09 31) 4 18-27 86

Impressum

EDA

Wuumlrzburg 19 ndash 20 Juni 2012Vogel Convention CenterVCC

wwwsteckverbinderkongressde

Anwender sprechenmit Herstellern

Kongress und Tabletop-Ausstellung

Programm Unter wwwsteckverbinderkongressdefinden Sie die ausfuumlhrliche Agenda

Keynote Herausforderung Miniaturisierung ndash ZukuumlnftigeAnforderungsprofile bei Steckverbindern

Themen Applikationsspezifische Steckverbinder Kompakt-Steckverbinder fuumlr hohe Datenraten

Miniaturisierung Intelligente Steckverbinder Steckverbinder fuumlr besondere Anwendungen Qualifizierung Werkstoffe Verarbeitungsprozesse

Workshops Umspritzen von Kabeln Abdichten von Steckverbindungen Messtechnik Thermosimulation Design-in 3-D-Modellierung Schadensanalytik Beschichtungsverfahren

Aumlnderungen vorbehalten

Saumlmtliche Informationen zur Veranstaltung finden Sie unter---gt wwwsteckverbinderkongressde

Veranstalter

in Zusammenarbeit mit den Industriepartnern

07908

Alle Informationen unter wwwese-kongressde

Hauptsponsoren 2012 Veranstalter

20123ndash 7 Dezember 2012 in Sindelfingen

bdquoWissen ist das einzige Gutdas sich vermehrtwenn man es teiltldquo

(Marie Freifrau von Ebner-Eschenbach oumlsterreichische Schriftstellerin)

ESE Kongress ndash Ideen entwickeln Profis treffen Loumlsungen findenDer Embedded Software Engineering Kongress mit uumlber 800 Teilnehmern ist die groumlszligte deutschsprachigeVeranstaltung die sich ausschlieszliglich der Entwicklung von Geraumlte- Steuerungs- und Systemsoftware fuumlrIndustrie Kfz Telekom sowie Consumer- und Medizintechnik widmet Vom 3 bis 7 Dezember trifft sichdie Embedded-Software-Branche wieder in Sindelfingen ndash wir freuen uns auf Sie

Aussteller und Sponsoren 2012Axivion BBV Software Services dSPACE EASYCODE ELEKTRONIKPRAXIS emlix ETAS Fraunhofer IESEGreen Hills Software Hitex IAR Systems IMACS Infineon Intland Software iSYSTEM Lauterbach LDRALogic Technology linutronix macio MicroConsult National Instruments Noser Engineering Parasoftpls Programmierbare Logik amp Systeme Protos pure-systems QA Systems QNX Software Systems SafeTRANSseppmed Software Quality Lab SparxSystems Vector Informatik Vector Software Verifysoft Technology WillertSoftware Tools Zuumlhlke

Seit 30 Jahren vertrauen weltweit fuumlhrende Firmen Green Hills Softwarersquos sicherer undzuverlaumlssiger Software fuumlr sicherheitskritische Systeme

Fuumlr Luftfahrt- und Automobilindustrie fuumlr Telecom- Medizin- und Industrietechniksowie fuumlr intelligente Energienetze hat Green Hills Software erprobte und zuverlaumlssigeTechnologie geliefert

Wenn Sie wissen moumlchten wie eines der weltweit sichersten und zuverlaumlssigstenBetriebssysteme und dessen Entwicklungstools das Risiko aus Ihrem naumlchstenProjekt nehmen kann besuchen Sie uns unter wwwghscoms4e

Copyright copy 2012 Green Hills Software Green Hills Software and the Green Hills logo are registered trademarks ofGreen Hills Software All other product names are trademarks of their respective holders

Vertrauenswuumlrdige softwarefuumlr embedded deVices

safereliable

secure

  • Seite 1
  • Seite 2
  • Seite 3
  • Seite 4
  • Seite 5
  • Seite 6
  • Seite 7
  • Seite 8
  • Seite 9
  • Seite 10
  • Seite 11
  • Seite 12
  • Seite 13
  • Seite 14
  • Seite 15
  • Seite 16
  • Seite 17
  • Seite 18
  • Seite 19
  • Seite 20
  • Seite 21
  • Seite 22
  • Seite 23
  • Seite 24
  • Seite 25
  • Seite 26
  • Seite 27
  • Seite 28
Page 5: Securityineingebetteten Softwaresystemenfiles.vogel.de/vogelonline/vogelonline/issues/ep/2012/...Securityineingebetteten Softwaresystemen Angreifer nehmen Industriesteuerungen,Stromnetzeund

6

EmbEddEd-Entwicklung TesT und QualiTaumlTssicherung

ELEKTRONIKPRAXIS embedded software engineering report Juni 2012

Mutationstest ndash ein Plaumldoyer fuumlreine vernachlaumlssigte Testtechnik

Softwareentwickler und Tester die von Zweifeln hinsichtlich der Quali-taumlt ihrer Tests beschlichen werden koumlnnen ihre Bedenken vielleicht mit

einem Mutationstest ausraumlumen

FRANK BuumlchNER

Frank-Buumlchner ist Diplom-Informatiker und arbei-tet als Senior Test Engineer bei HitexDevelopment Tools in Karlsruhe

Bei einem Mutationstest wird die Soft-ware (beziehungsweise das Testob-jekt) veraumlndert (bdquomutiertldquo) Danach

wird gepruumlft ob die vorhandenen Testfaumlllediese Mutation aufdecken Im Fachjargonheiszligt dies Der Mutant wird durch den Test-fall bdquogetoumltetldquo Ein Testfall der einenMutan-ten erkennt heiszligt adaumlquat Fuumlr eineMutati-on sindder Phantasie keineGrenzengesetztjedochmuss das Testobjekt syntaktisch kor-rekt also kompilierbar bleiben Fuumlr unserenZweck sollten die Mutationen jedoch ziem-lich subtil sein

Typische Mutationen bei C-Programmen(das Fehlermodell) sind die Verfaumllschungvon logischen Ausdruumlcken (beispielsweisedas Ersetzen eines logischenUNDdurch einlogischesODER) dieVerfaumllschungvonarith-metischen Ausdruumlcken (etwa die Additioneines konstanten Werts in einer Berech-nung) dieManipulation vonVariablen (bei-spielsweise Vertauschung von zwei Variab-len) dieVerfaumllschungvon relationalenOpe-ratoren (beispielsweise sbquoltrsquo durch sbquogtrsquo ersetzen)oder die Manipulation von Anweisungen(beispielsweise das Entfernen eines else-Zweigs oder das Einfuumlgen einer return-An-weisung)Die Mutanten die wir im Folgenden be-

trachten enthalten genau eine MutationDem liegt die empirischbestaumltigteAnnahme[6] zugrunde dass wenn ein Testfall einen

Mutantenmit genau einer (subtilen) Abwei-chung erkennt dieser Testfall auch Mutan-ten mit komplexeren Abweichungen toumltenwuumlrde (Kopplungseffekt) Auszligerdem redu-zieren wir dadurch den Aufwand der not-wendig ist umzu entscheiden obdurchdieMutation ein Mutant entstanden ist dernicht getoumltet werden kann In diesem Fallunterscheidet sichdasnachauszligen sichtbareProgrammverhaltennicht Original undMu-tant sind funktional aumlquivalent In der Praxismuss ein Mensch entscheiden ob OriginalundMutant funktional aumlquivalent sind

Vorhandene Testfaumllle auf dieMutanten anwendenUm einen Mutationstest vorzunehmen

muss man zwei Dinge tun Man muss einenMutanten erzeugen und man muss die vor-handenen Testfaumllle auf diesen MutantenanwendenWeilwir nurwenige stichprobenartigeMu-

tanten erzeugenwollen benoumltigen wir hier-zu kein Werkzeug Wir koumlnnen dies leichtmanuell erledigen Aufwendiger ist die Test-durchfuumlhrung Wenn wir von 20 Testfaumlllenund 10 Mutanten ausgehen muumlssen 200Testfaumllle ausgefuumlhrt werden Das macht dieAutomatisierung der Testausfuumlhrung in derPraxis notwendig In unserem Fall verwen-den wir das Unit-Testwerkzeug Tessy [7]Als erstes Beispiel betrachtenwir die klei-

ne Funktion shiftC()short shiftC(short A short B short C)if (A ampamp B)return Cltlt1elsereturn Cltlt2

Die Tabelle 1 auf der Seite 8 zeigt das Test-

ergebnis fuumlr zwei Testfaumllle diemit Tessy aufdem Original-Quellcode von shiftC() ausge-fuumlhrt wurden Beide Testfaumllle liefern dasrichtige (erwartete) Ergebnis und Tessy er-mittelt fuumlr diese beiden Testfaumllle zusammen

FunktionsschemaAblauf des Mutati-onstests mit demWerkzeug TessyBeim Mutationstestwird die Softwareveraumlndert Danachwird gepruumlft ob dieMutation von denvorhandenen Test-faumlllen aufgedecktwird

hitexde

velopm

entTools

Die weltweitGROumlszligTE AUSWAHLELEKTRONISCHERKOMPONENTEN

Verfuumlgbar fuumlr die sofortige Lieferung

08001800125DIGIKEYDEMEHR ALS 550000 PRODUKTE AUF LAGER | MEHR ALS 500 LIEFERANTEN | NEUE PRODUKTE WERDEN TAumlGLICH HINZUGEFUumlGT

Fuumlr alle Bestellungen unter 6500 euro wird eine Versandgebuumlhr von 1800 euro erhoben Alle Bestellungen die mit UPS versandt werden haben eine Lieferzeit von 1-3 Tagen (abhaumlngig vom Endbestimmungsort) Keine Bearbeitungsgebuumlhren AllePreise verstehen sich in Euro und enthalten Zollgebuumlhren Bei einem zu groszligen Gewicht oder bei unvorhergesehenen Umstaumlnden die eine Abweichung von diesem Tarif erfordern werden Kunden vor dem Versand der Bestellung kontaktiertDigi-Key ist ein autorisierter Distributor fuumlr alle Vertriebspartner Neue Produkte werden taumlglich hinzugefuumlgt copy 2012 Digi-Key Corporation 701 Brooks Ave South Thief River Falls MN 56701 USA

8

EmbEddEd-Entwicklung TesT und QualiTaumlTssicherung

ELEKTRONIKPRAXIS embedded software engineering report Juni 2012

eine Zweiguumlberdeckung von 100 Dasheiszligt Sowohl der then-Zweig als auch derelse-Zweig der if-Anweisung wurden ausge-fuumlhrt Und da unsere beiden Testfaumllle nichttrivial sind sollten wir fertig sein ndash oderUmuns zu vergewissern koumlnnenwir unser

Testobjekt mutieren Viele der moumlglichenMutationen wuumlrden durch unsere beidenTestfaumllle aufgedeckt zumBeispielwenndieEntscheidung bdquo(A ampamp B)ldquo zu bdquo(C ampamp B)ldquo ver-aumlndert wird Hier schlaumlgt der erste TestfallfehlWird jedoch in der Entscheidung die Vari-

able B durch C ersetzt so wird diese Muta-tion nicht erkanntshort shiftC(short A short B short C)if (A ampamp C)return Cltlt1elsereturn Cltlt2

Wird in der Entscheidung das logischeUND (ampamp) durch ein bitweises UND (amp) er-setzt wird diese Mutation ebenfalls nichterkanntshort shiftC(short A short B short C)if (A amp B)return Cltlt1elsereturn Cltlt2

Beide nicht erkannten Mutationen sind

subtil veraumlndern jedoch das Verhalten desTestobjekts signifikant und koumlnnen durcheinen Denk- oder auch einen Fluumlchtigkeits-fehler relativ leicht entstehenUmden zweitenMutanten zu toumlten reicht

es aus dieWerte eines der beiden bestehen-den Testfaumllle zu aumlndern ZumBeispiel koumlnn-te man im zweiten Testfall einfach denWert2 fuumlr B verwenden (allerdingsnicht denWert5)

Um beide Mutanten nachhaltig zu toumlten(das heiszligt ohne dass unmittelbar spiegel-bildliche Mutationen moumlglich werden dienicht getoumltet wuumlrden) benoumltigt man einendritten Testfall in dem die Variable B denWert 0 annimmt Die Tabelle 2 im Kastenlinks zeigt die ResultateMit dendrei Testfaumll-len in der Tabelle 2 werden beide Mutantenerkannt Durch die Verwendung von dreiTestfaumlllen wird uumlberdies der Code-Uumlberde-ckungsgrad von 100 Zweiguumlberdeckungauf 100MCDC (Modified ConditionDeci-sion Coverage ein Kriterium des StandardsDO-178B) erhoumlhtMit Hilfe eines Mutationstests kann man

auchTestfallmengenbewerten Eine Testfall-menge heiszligt adaumlquat wenn sie alle Mutan-ten aufdeckt Von zwei adaumlquaten Testfall-mengen ist natuumlrlich diejenige mit wenigerTestfaumlllen vorzuziehenDies ermoumlglicht auchdenVergleich von Testfallkonstruktionsver-fahrenMankanndie IdeedesMutationstestszur Reduzierung der normalerweise groszligenZahl vonautomatisch generiertenTestfaumlllenverwenden [5] Ein Testfallmussmindestenseinen Mutanten toumlten der bisher noch vonkeinem anderen Testfall getoumltet wurde umnicht verworfen zu werden

Mutationstests aus Sicht derNorm IEC 61508DieNorm IEC 61508 bezeichnet denMuta-

tionstest als bdquoDurchfuumlhrung von Testfaumlllennach Fehlereinpflanzungldquo und empfiehltdies fuumlr Safety Integrity Level (SIL) 2 bis 4Die IEC61508 fuumlhrt auchaus dassmanaus

der Anzahl der Fehler die eine Testsuite ineinem originalen Testobjekt entdeckt undder Zahl der Mutationen die diese Testsuiteermittelt eine Abschaumltzung fuumlr die Gesamt-zahl der im Testobjekt vorhandenen Fehlerfinden kann (praumldizierend) Das Verhaumlltnisder erkanntenMutanten zurGesamtzahl derMutanten ist gleichdenVerhaumlltnis der gefun-denenFehler imoriginalenTestobjekt zuderGesamtzahl der Fehler imoriginalenTestob-jekt Diese Abschaumltzung setzt natuumlrlich diegleiche statistischeVerteilung vonArtenundPositionen der Mutationen und der tatsaumlch-lichen Fehler voraus Wenn beispielsweisedie tatsaumlchlichen Fehler fehlerhafte Berech-nungen sind jedoch keine arithmetischenMutationen verwendetwerdenwirddieAb-schaumltzung kaum zutreffen

Eine Variante Der schwacheMutationstestObwohl sichdas aumluszligere Programmverhal-

ten des Mutanten gegenuumlber dem Originalnicht aumlndert kann es sein dass ein Testfallim Innern desMutanten einen anderen Pro-

Auswertung der Testergebnisse

die Tabelle 1 zeigt zwei Testfaumllle fuumlr dieFunktion bdquoshiftc()ldquo in den spalten a Bund c werden die eingabewerte fuumlr dieeingangsvariablen a B und c der Funk-tion angegeben das ergebnis der Funk-tion bdquoshiftc()ldquo ist der bdquoreturnldquo-Wert derFunktion er steht in der spalte bdquoergeb-nis von shiftc()ldquo die eingabewerte sindmit bdquoildquo fuumlr bdquoinputldquo markiert der ausga-bewert mit bdquooldquo fuumlr bdquooutputldquoim ersten Testfall (Tabelle 1 tc11) hatdie eingabevariable a den Wert 0 B denWert 1 und cdenWert 2 da a null ist lau-tet die entscheidung der bdquoifldquo-anweisungbdquofalseldquo der bdquoelseldquo-Zweig der bdquoifldquo-anwei-sung wird ausgefuumlhrt dadurch wird die

Variable c um 2 stellen nach links ge-schoben in der Binaumlr-darstellung wirdalso 0010 (was dezimal 2 entspricht)zu 1000 (was dezimal 8 entspricht)bdquoshiftc()ldquo gibt 8 als ergebnis zuruumlckim zweiten Testfall (Tabelle 1 tc21) hatdie eingabevariable a den Wert 1 B denWert 1 und c den Wert 3 da a und B jeeins sind lautet die entscheidung derbdquoifldquo-anweisung bdquotrueldquo der bdquothenldquo-Zweigder bdquoifldquo-anweisung wird ausgefuumlhrt dieVariable c ruumlckt um eine stelle nachlinks in der Binaumlr-darstellung wird also0011 (was dezimal 3 entspricht) zu 0110(was dezimal 6 entspricht) bdquoshiftc()ldquogibt 6 als ergebnis zuruumlck

A b c ErgEbnis von shiftc()

i i i o

tc11 0 1 2 8

tc21 1 1 3 6

Tabelle 1 Zwei Testfaumllle fuumlr die originale Funktion shiftC()

A b c ErgEbnis von shiftc()

i i i o

tc11 0 1 2 8

tc21 1 2 3 6

tc31 1 0 3 12

Tabelle 2Mit diesen drei Testfaumlllen werden beide Mutanten erkannt

EmbEddEd-Entwicklung TesT und QualiTaumlTssicherung

Erlaumluterung von FachbegriffenFault Injectionin das nicht mutierte Testobjekt werdenFehler von auszligen injiziert um die ro-bustheit zu pruumlfenFehlermodell (Fault model)die Kategorien der moumlglichen Mutati-onen diese sind natuumlrlich bei einemc-Programm als Testobjekt anders alsz B in einem Zustandsdiagramm einBeispiel fuumlr ein Fehlermodell fuumlr Testob-jekte in der Programmiersprache c ist imartikel angegebenKopplungseffekt (Coupling effect)Wird ein Mutant mit einer einzelnenMutation durch eine Testfallmenge ent-deckt so werden auch mehrfache Muta-tionen entdeckt

Fehlereinpflanzung (Error seeding)in der norm iec 61508 heiszligt der Mutati-onstest bdquoFehlereinpflanzungldquo bzw bdquoer-ror seedingldquoStarker Mutationstest (Strong mutationtest)der Mutant wird nur von auszligen betrach-tet (Black Box) und der Mutant wird nurdurch einen Testfall entdeckt der nachauszligen ein anderes ergebnis liefert alsdas OriginalSchwacher Mutationstest (Weak mutati-on test)ein Testfall sorgt im innern des Mutan-ten fuumlr ein anderes Verhalten als beimOriginal dieses andere Verhalten wirdjedoch nicht nach auszligen sichtbar

grammablauf erzeugt als im Original Dannspricht man von schwachemMutationstestunsigned int absolute (int x)if (x lt 0)return -xreturn xDie Mutation von lsquoltrsquo zu lsquolt=rsquo wird nach au-

szligen nicht sichtbar

Der Unterschied zurFault InjectionNicht zu verwechselnmit demMutations-

test ist die Fault Injection die beispielsweisein der Norm ISO 26262 [2] als Testmethodeerwaumlhntwird Bei einer Fault Injectionbleibtdas Testobjekt in seinemOriginalzustand eswird nicht mutiert Der Fehler wird auszliger-halb des Testobjekts erzeugtWenndas Test-objekt Software ist waumlre beispielsweise dasVeraumlndern (Korrumpieren) des Speichers fuumlrdie Variablen waumlhrend der Ausfuumlhrung derSoftware eine Fault Injection Die Softwareliest also aus einer Variablen nicht denWertzuruumlck den sie vorher abgespeichert hat DieFrage ist ob dies Auswirkungen hat und obdie Softwaremit einer solchenSituationum-gehen kannFault Injection ist also einRobustheitstest

zum Beispiel bezuumlglich der Auswirkungenvon Bitflips durch kosmische StrahlungDurch eine Fault Injection kann auch derProgrammspeicher des Testobjekts (willkuumlr-lich) geaumlndert (korrumpiert) werden Diessehenwir jedochnicht alsMutation die denSinn hat Programmierfehler im Quellcodeaufzudecken sondern vielmehr als Robust-heitstest FG

Hitex Development Tools +49(0)72196280

Literaturhinweise[1] IEC 61508 Teil 3 Tabelle B2 = Empfehlung

Fehlereinpflanzung sowie Teil 7 C56 = Be-schreibung Fehlereinpflanzung

[2] ISOFDIS 26262 Teil 6 Tabellen 10 und 13[3] Liggesmeyer Peter Software-Qualitaumlt Testen

Analysieren und Verifizieren von SoftwareHeidelberg Berlin 2002 Spektrum Akademi-scher Verlag

[4] Dirk W Hoffmann Software-Qualitaumlt Springer-Verlag Berlin Heidelberg 2008

[5] Wolfgang Herzner Rupert Schlick HaraldBrandl JohannesWiesalla Towards Fault-basedGeneration of Test Cases for Dependable Em-bedded Software in Softwaretechnik-TrendsGesellschaft fuumlr Informatik eV Band 31 Heft 3August 2011

[6] A Jefferson Offut Clemson University Investi-gations of the software testing coupling effectin ACM Transactions on Software EngineeringandMethodology New York Volume 1 Issue 1Jan 1992

[7] Tessy httpwwwhitexdetessy

acht irrtuumlmer uumlber code coverage

Bugs und defekte in Multitasking-softwareeliminieren

InfoClick

wwwelektronikpraxisde infoclick 3343128

AURIX - Over 10 years of Multicore Debuggingmakes the difference

AURIX

HSMTriCore 0 GTM

Debugand

SerialTrace

TRACE32

TRACE32

TRACE32

TRACE32

Debugging Multicore of years 10 Over - AURIXdifference the makes

AURIXAURIX

HSMTriCore 0 GTM

Debugand

SerialTrace

TRACE32

TRACE32

TRACE32

TRACE32

wwwlauterbachcom1652

10

Softwareentwicklung SoftwareSicherheit teil 2

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Die drei Gesichter der SicherheitIm zweiten Teil unserer Serie fassen wir einige Meinungen von

Experten des vergangenen ESE Kongresses zum Thema Security zu-sammen Im Mittelpunkt stehen dabei unbefugte Zugriffe oder die

gezielten Angriffe auf Embedded-Systeme

PETER SIwON uNd ALEXANdER SEdLAK

Peter Siwon ist Business Development Manager beim Schu-lungs- und Consulting-Spezialist MicroConsult inMuumlnchen und

Embedded-Systeme sind stets Software-und Hardwarekomponenten die inVerbindung mit Sensoren und Aktua-

toren in umgebende technische Systeme in-tegriert sind umkomplexe Steuerungs- undDatenverarbeitungsaufgaben zu uumlberneh-men Die Sicherheit im allgemeinen Sinne

bezeichnet einen Zustand der frei von un-vertretbaren Risiken ist Das wird in derNorm IEC 61508 so definiert Safety oderfunktionale Sicherheit bedeutet in diesemZusammenhang dass ein System in den zuerwartendenSituationenundZustaumlndenbeiordnungsgemaumlszliger Nutzung keine koumlrperli-chen oder finanziellen Schaumlden verursachtSecurity koumlnnte man demnach so genauerdefinieren Die Betriebs- und Datensicher-heit darf durch aumluszligere Einfluumlssenicht gestoumlrtoder gar verhindert werden Security hat ei-ne doppelte Bedeutung Einerseits sorgt siedafuumlr dass die Betriebssicherheit erhalten

bleibt andererseits versteht man darunterdieGesamtheit derMaszlignahmen umein Sys-tem nach auszligen zu schuumltzen Das unter-streicht sowohl die Abgrenzung dieser Be-griffe zeigt aber auch wie eng sie zusam-menhaumlngenNebenderWahl geeigneter Softwarearchi-

tekturen und Programmiermethoden spieltbei der Security oftmals die Gestaltung oderAuswahl derHardware eine bedeutendeRol-le Es handelt sich um Hightech im Verbor-genenmit derenHilfe produkt- und system-spezifische Eigenschaften uumlberhaupt erstrealisiertwerdenkoumlnnenAls Beispiele seienhier Fahrerassistenzsysteme mobile medi-zinischeGeraumlte undAutomatisierungssyste-me genannt Wichtige Stichwoumlrter in demZusammenhang sind die Gestaltung von In-terfaces Netzstrukturen oder schlicht dersichere Einbau einer Komponente

wuumlrmer Viren amp Co ndash Schutzvor gezielten AngriffenIn seinem Vortrag Sichere Netze der Zu-

kunft auf demESEKongress 2011 definierteProf Dr-Ing Hans-Joachim Hof von derHochschule Muumlnchen den Begriff pragma-tisch Die Security ist der Schutz vor geziel-temundhoumlchstwahrscheinlich auchboumlswil-ligemHandelnmit demZiel VertraulichkeitIntegritaumlt oder Authentizitaumlt zu erreichenDas kann sich in der Realitaumlt als nicht ganzeinfach erweisen daman zumZeitpunkt derProjektierung in der Regel nicht weiszlig wel-cher Art von Angriff ein System irgendwannausgesetzt sein wird Besonders bei aumllterenSystemenkann sichdas als geradezudrama-tische Gefahr erweisen Prof Dr Hof sprichthier ganz plastisch von der Goumltterdaumlmme-rungder IT-Sicherheit EinBild daswirklichpasst denn das Vertrauen auf sichere IT-Komponenten Embedded-Systeme undAumlhnliches grenzt oft wirklich an ein sagen-haftesGottvertrauen FrappierendesBeispielhierfuumlr ist der Computerwurm Stuxnet der2010 fuumlr groszligeUnruhe und Schaumlden verant-wortlich war Stuxnet war in einer Weiseaktiv die bis dahin imGrunde als nichtmoumlg-

ExpertenmeinungenWie lassen sich Embedded-Systeme vor unbefugtem Zugriff oder gezielten Angriffenschuumltzen

BilderG

erdaltm

annpixeliode

Alexander Sedlak ist als freier Autor taumltig

Softwareentwicklung SoftwareSicherheit teil 2

lich galt Der Wurm konnte Grenzen physi-kalisch getrennterNetze uumlberspringen Stux-net zielte vermutlich erfolgreich auf eineUrananreicherungsanlageWegendeshohenSchutzbedarfs von Atomanlagen schien soeinAngriff bis dahin schlicht nichtmoumlglichDen aktuellen Moumlglichkeiten des technischMachbaren druumlckte Stuxnet damit seineneigenen Stempel auf Eine optimierte Be-triebssicherheit wie im Beispiel der Atom-anlagewurdemangels ausreichender Secu-rity zum Sicherheitsrisiko

Der menschliche FaktorWenn Hacker aktiv werdenBedrohungen durch Hacker stellen die

Entwickler vonEmbedded-Systemenvor zu-nehmendeHerausforderungenDieReferen-ten des Schweizer Kommunikations- undTechnikdienstleisters Albis Technologiesstellten imVortrag EmbeddedSecurityHa-ckern einen Schritt voraus zunaumlchst diezunehmende Vernetzung von Embedded-Systemen heraus Und obwohl dadurchme-chanischeBarrieren zwischendenSystemenimmermehrwegfallen beruht die Sicherheitparadoxerweise haumlufig auf physikalischerSicherheit und weniger auf Cyber-Securityoder Informationssicherheit Und das ob-wohl es gerade in Infrastrukturnetzen wiezumBeispiel der aktuell diskutierten intelli-gentenStromversorgung vongroszliger Bedeu-tung ist dass die vernetzten Komponentenautonom ohne Benutzereingaben und vorunbefugten Zugriffen geschuumltztmiteinanderkommunizieren koumlnnenWas koumlnnte die Loumlsung sein Die Referen-

ten stellten ein Modell Hardware-basierterIT-Sicherheitsarchitektur fuumlr Embedded-

Systeme indenRaum InderenZentrumstehtein Security Controller oder ein Trusted-Platform-Modul also ein sicherer Speicherfuumlr digitale Schluumlssel Dieses dient dazu ei-ne Art Zentrum fuumlr kryptografische Operati-onen zu bilden Das Modul muss an den lo-kalenComputer gebunden seinundnicht aneinen bestimmten Benutzer Es ist dann un-moumlglich das Trusted-Platform-Modul entge-gen den Interessen des Eigentuumlmers zu nut-zen sofern dieser Beschraumlnkungen festge-legt hat eine Basis fuumlr die sichere Kommu-nikation der Netzteilnehmer Es kanngelingen beispielsweise aus einem Embed-ded-Geraumlt mit angepasster Software und ei-nem entsprechenden Betriebssystem einevertrauenswuumlrdige Plattform zumachenIntelligente Stromnetze auchSmart Grids

genannt erfordern fuumlr die Ermittlung desindividuellen Strombedarfs unddie korrekteAbrechnungdieVerwendung ebenso intelli-genter Verbrauchszaumlhler der sogenanntenSmartMeterHier gibt es zahlreiche Szenari-en die boumlswilliges Eindringen mit Betrugs-absicht ermoumlglichen Erschwerend ist dieLiberalisierung des Strommarktes Zahlrei-cheKlein- undKleinststromlieferantenndashausWasserkraft oder Photovoltaikanlagen ndashspeisen in die Netze ein Letztlich alles Ein-fallstore fuumlr moumlgliche Angriffe zum Zweckder kriminell motivierten ManipulationAuch vor diesemHintergrund erarbeitet dasBundesamt fuumlr Sicherheit in der Informati-onstechnik (BSI) gemeinsam mit Industrie-partnern fuumlr Smart Meter ein neuartigesSchutzprofil Es strukturiert Bedrohungenund legt damit die Mindestanforderungenfest die Sicherheitsmaszlignahmen erfuumlllenmuumlssen Ziel ist dabei eine Zertifizierung von

Produktennachdefinierten SchutzkriterienDas vondenPartnern erarbeitete Schutzpro-fil 3 definiert ein anhand gemeinsamerKriterien festgelegtes Security Modul fuumlralle kryptografischen Operationen

Kryptologie ndash Software solltenicht zu knacken seinBei der Entwicklung von Embedded-Sys-

temen koumlnnen durch den Einsatz von kryp-tologischen Verfahren viele Prozesse sicheroder zumindest sicherer gemacht werdenReinhard Wobst (UNIX Software) hat in sei-ner Funktion als Softwareentwickler festge-stellt dassmit groszliger Regelmaumlszligigkeit immerwieder die gleichenFehler bei der Implemen-tierung von Kryptologie gemacht werdenWaumlhrend seines Vortrags auf dem ESE Kon-gress erklaumlrte erwarumundwie es Eindring-lingen oft unnoumltig leicht gemacht wird SogehenSoftwareentwickler haumlufig davonausdass niemand die von ihnen entwickeltenAlgorithmen knacken kann Das Gegenteilist der Fall Ein gaumlngiges Mittel ist etwa das

AURIX - Over 5 years of High-Speed Serial Tracingmakes the difference

Tracing Serial High-Speed of years 5 Over - AURIX Tracing Serial High-Speed of years 5 Over - AURIXdifference the makes difference the makes

wwwlauterbachcom1653

Psychologische Sicherheitsluumlcke Irren ist mensch-lich ndash sowohl auf Entwickler- wie auf Anwenderseite

12

Softwareentwicklung SoftwareSicherheit teil 2

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Microconsult Qualitaumlt und Sicherheit

teil 1 der Serie Die drei Gesichter derSicherheit

InfoClick

wwwelektronikpraxisde infoclick 3343156

Schreiben unklaren oder scheinbar verwor-renen Codes Doch gerade bei der heutigenVernetzungwird jedesVerfahren fruumlher oderspaumlter bekannt Interessant ist die auch vonWobst formulierte Erkenntnis dass derSelbsttest eines eigenentwickeltenAlgorith-musmoumlglicherweise zu demErgebnis fuumlhrtdass es nicht einmal dem urspruumlnglichenProgrammierer gelingt ihn zuknackenAberdieWirklichkeit sieht leider anders aus Je-der kann einenAlgorithmus entwickeln dener selbst nicht brechen kann aber es gehtdarum dass ihn andere nicht brechen koumln-nen[1]Letztlich siehtmanes einemAlgorithmus

auchwenner noch soobskur erscheint nichtan ob er nun sicher ist oder nichtWobst raumltseinen Entwicklerkollegen konservativ zuseinundbekannteundaltbewaumlhrteAlgorith-menundMethoden zunutzenDas ForschennachSicherheit solle denForschernuumlberlas-sen werden Anhand zahlreicher Beispielebelegte Reinhard Wobst wie schnell es ge-schehen kann dass ein SoftwareentwicklerGuteswollenddas Falsche tut bzw dasRich-tige nicht richtig macht Und er zeigte auchdie Grenzen auf die selbst einer perfekt im-plementierten Kryptologie gesetzt sind wiedenial of service Attacken oder der immererfolgversprechende Versuch das stetsschwaumlchste Element eines Walls von Maszlig-nahmen fuumlr die Sicherheit zu instrumentali-sieren den User selbst So kam Wobst beiseinem Vortrag zu der Schlussformel dassgesunderMenschenverstandniemals hinterFormalismenverschwindendarf Fuumlr dieRe-alisierung von Sicherheit gilt immer dassetwas Sicherheit besser ist als gar keine

Qualitaumlt und houmlchstmoumlglichesSicherheitsniveau fuumlr SoftwareWie real die Risiken von Angriffen auf

Embedded-Systeme sind zeigte Lucas vonStockhausen vonHewlett-Packard in seinemVortrag Mehr Sicherheit fuumlr EmbeddedCode amBeispiel einer Manipulation einerhandelsuumlblichen Insulinpumpe Es seimoumlg-

lich durch Umgehen von Restriktionen dieInsulindosis die eine solchePumpeautoma-tisch verabreicht aus einer Entfernung von100 m und voumlllig unbemerkt zu veraumlndernDamit koumlnnemaneinemDiabetiker jederzeiteine Uumlberdosis Insulin injizieren Diese Ge-fahr mag konstruiert erscheinen fuumlr denPumpenhersteller und fuumlr den Patienten istsie aber sehr real undhoumlchst bedrohlichDasBundesministerium fuumlrWirtschaft undTech-nologie stellte bereits 2010 eine zunehmendeund alarmierende Professionalisierung vonAngriffen fest Dabei berichten die Medienmeist nur uumlber die spektakulaumlrstenFaumlllewiezumBeispiel denbereits erwaumlhntenStuxnet-Wurm der fuumlr den Einsatz auf industrielleZiele optimiert wurde

Die psychologischenSicherheitsluumlckenViele Angriffe sind weniger spektakulaumlr

doch kaum weniger gefahrenvoll Geradeuumlberraschende Angriffsszenarien auf Em-bedded-Systeme zeigen wie schwierig essein kann schon inder Softwareentwicklungvorauszusehenwie ein spaumltererAngriff aus-sehen kann Aus diesem Grund spielt diesichere Softwareentwicklung der sichereCode eine entscheidende Rolle Angesichtsdes rasanten Fortschritts der von zuneh-mendemZeit- Konkurrenz- undErfolgsdruckzuverlaumlssig begleitetwirdmussnebenQua-litaumltsforderungen auch das houmlchstmoumlglicheSicherheitsniveau realisiert werdenBei Embedded-Software erfolgt eine ver-

besserte Zugangssicherheit uumlber Software-Updates sagte Prof Dr-Ing Hans-JoachimHof Daraus ergeben sich gleichermaszligenAufgaben fuumlr die Entwicklung von Soft- undHardware In puncto Hardware werden si-chere Interfaces undUumlbertragungsprozedu-renbenoumltigt Die Softwaremuss so aufgebautsein dass sie autorisiert korrigiert aber nichtohne Autorisierung manipuliert werdenkann Das Motto Verbauen und Vergessengehoumlrt damit derVergangenheit anNicht zuvergessen sinddie psychologisch bedingten

Sicherheitsluumlcken zudenenPeter SiwonvonMicroConsult in seinem Seminar bdquoIrren istmenschlichldquo Beispiele nannte Und das so-wohl auf Entwickler-wie aufAnwenderseiteUnter hohem Zeitdruck neigt man dazu Si-cherheitsregeln zu brechen Menschen neh-men dann houmlhere Risiken in Kauf um denStress loszuwerden Stresshormone schraumln-kenunsere Faumlhigkeit ein uumlber die langfristi-gen Folgen unseres Verhaltens nachzuden-ken Zudem leide unser Qualitaumltsbewusst-sein unter dem Beduumlrfnis den bdquoSchmerzldquoloszuwerden Beides zusammen stellt eineexplosive psychologische Mischung darWichtige Voraussetzungen fuumlr Security wiebeispielsweise umfassende Tests fallen un-ter den Tisch Eine weitere Sicherheitsluumlckeentsteht durch Denkfaulheit Um unser Ge-daumlchtnis zu entlasten greifen wir nicht nurbei Passwoumlrtern auf altgewohnte oder beque-me Denk- und Verhaltensmuster zuruumlckThomas Batt beim Training- und Consul-

tingspezialistenMicroConsult zustaumlndig fuumlrSoftware Engineering Management ziehtfolgendesResuumlmee bdquo(Horror-)Szenarien beidenenEmbedded-Systemedurch aumluszligereAn-griffe manipuliert werden oder bei denensogar die komplette Kontrolle uumlbernommenwird sind keine Hollywoodphantasien Wirsindheute von einer rasantwachsendenZahlvonEmbedded-Systemenumgebenundver-lassen uns darauf dass Herstellerfirmen siezugangs- undangriffssicher entwickeln tes-tenundproduzierenDochTatsache ist dassfuumlr den groumlszligten Teil des Embedded-Marktesdie Qualitaumltsmerkmale Zugangs- und An-griffssicherheit noch Neuland sind DieseQualitaumltsmerkmalemuumlssen sich kuumlnftigwieein roter FadendurchdengesamtenEntwick-lungs- und Produktionsprozess der Produk-te ziehen Dazu benoumltigen wir geeigneteMethoden - insbesondere fuumlr denTest - sowieunterstuumltzende Tools Standards und Zerti-fizierungen Doch selbst mit noch so hoch-entwickelten Maszlignahmen koumlnnen wir dieRisiken nur minimieren nicht aber voumllligausschlieszligenldquo hEh

MicroConsult +49(0)89 45060

Quellennachweis[1] B Schneier Memo to the Amateur Cipher

Designer

Zugriffs- und AngriffssicherheitDie Betriebssicherheit ist im groszligenMaszlige vom Schutz vor unbefugtem Zu-griff oder gezieltem angriff abhaumlngigBei der Security spielt oft die Gestaltungund auswahl der hardware eine bedeu-tende rolle Zu den feinden von embed-ded-Systemen zaumlhlen Viren wuumlrmer undhacker die auf die Systeme zugreifen

und sie manipulieren Mit geeignetenSchutzmaszlignahmen wie Kryptologie undentsprechender Programmierung lassensich embedded-Systeme sicherer gestal-ten Nicht zu vergessen sind auch diepsychologisch bedingten Sicherheits-luumlcken ndash denn auch der Programmiererselbst stellt ein Sicherheitsrisiko dar

13

EmbEddEd SoftwarE Aktuelles

ELEKTRONIKPRAXIS embedded software engineering Report Juni 2012

InfoClick 3371268

embedded-softwAReentwicklung

analysewerkzeug Goanna pruumlft Software auf potenzielle LaufzeitfehlerDas Karlsruher Entwicklungs-haus Hitex hat die Version 272des Analysewerkzeugs Goannaveroumlffentlicht Das Tool pruumlft inCC++geschriebenenCodenachmathematischenMethoden umUrsachen fuumlr Laufzeitfehler auf-zuspuumlren In der aktuellenVersi-on 272 finden sich vor allemDetailverbesserungen wie er-leichterteKonfigurierbarkeit DieKonfigurationsvarianten bdquoQuickCheckldquo und bdquoDeep Checkldquo sindvordefiniert Auszligerdem wurdendieAnalysemethodenbeschleu-nigt und praumlziser gestaltet An-

feruumlberlaumlufe die Zerstoumlrung vonSpeicherinhalten Divisionendurch Null Zugriffe mit unguumllti-gem Index und aumlhnliche Proble-me Die Analyse uumlberschreitetdabei nicht nur Funktions- son-dern auch Dateigrenzen DasSoftwarewerkzeug soll einfachinstallierbar sein und sich nachwenigen Minuten einsetzen las-sen Goanna ist in einer Kom-mandozeilenversion (GoannaCentral) sowie alsAdd-On fuumlr dieweit verbreiteten Entwicklungs-umgebungen Visual Studio vonMicrosoft sowie EclipseCDT

(Goanna Studio) verfuumlgbarGoannaCentral undGoannaStu-dio fuumlr Eclipse sind fuumlrWindowsundLinux verfuumlgbar DieVersionfuumlrVisual Studiounterstuumltzt nurWindows Beide Versionen gibtes als rechnergebundene oderals Floating-Lizenz Es gibt eineeine permanente Lizenzmit dreiJahrenSupport und eine zeitlichbegrenzten Lizenz fuumlr ein Jahrmit der Option auf zeitliche Ver-laumlngerung fg

Hitex

hand mathematischer Modelleund derMethode der abstraktenDatenwertverfolgung kannGoanna problematische Konst-rukte ermitteln die zur Laufzeitder Software zu Fehlern fuumlhrenDazu zaumlhlen Speicherlecks Puf-

Schnelles Android XobotOS ist eineAndroid-Variante die auf einer offe-nen Implementierung von MicrosoftsNET-Architektur basiert InfoClick 3348889

smARtphone-betRiebssystem

android-Klon auf NEt-basis koumlnnte legale Untiefen umschiffenXamarin bietet Entwicklungs-werkzeugen fuumlr Android undApples iOS Das zentrale Themades Unternehmens ist die platt-formuumlbergreifendeProgrammie-rung von Apps fuumlr die beidenwichtigsten Betriebssysteme fuumlrMobilgeraumlte Als Entwicklungs-plattformdient dabeiMono einefreie Implementierung von Mi-crosofts NET-TechnikWichtigs-te Komponente vonMono ist einefreie Variante der NET-Laufzeit-umgebung CLR (Common Lan-guageRuntime) die zunaumlchst fuumlrLinux entwickelt wurde und

NET-Programme unter Linuxausfuumlhrte DaAndroid auf LinuxbasiertwurdeMono fuumlr dasmo-bile Betriebssystem von Googleumgesetzt Inzwischen gibt eseine Version namens Mono-Touch fuumlr Apples iOS Mit HilfevonMonoundMonoTouch ist esmoumlglich groszlige Teile des Appli-kationscodes wiederzuverwen-den wenn eine App sowohl fuumlriOS als auch fuumlr Android entwi-ckelt wurde XobotOS ist einAndroid-Klon bei demdie in Ja-va geschriebenen Codekompo-nenten inCuumlbertragenwurden

Diemomentan stattfindende ge-richtliche Auseinandersetzungzwischen Oracle als Inhaber derJava-Rechte und Google um an-gebliche Urheberrechtsverlet-zungen koumlnnte auszligerdem dafuumlrsorgen dass XobotOS kein For-schungsprojekt bleibt Das NET-Framework bietet alternativeImplementierungen fuumlr die Pro-grammierschnittstellen die zwi-schen Google undOracle strittigsind fg

Xamarin

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

EmbEddEd-SyStEmE SoftwaRE-DESign

14

TITELSTORyin juumlngster Zeit haben namen wieStuxnet und Duqu Eingang in unserenwortschatz gefunden Solche Schad-programme feuern unerbittliche atta-cken auf die Sicherheit eingebetteterSysteme Darunter sind auch SCaDa-Systeme (Supervisory Control andData acquisition) die industrieanla-gen Verkehrsnetze oder Kraftwerkeuumlberwachen und steuernManche Entwickler eingebetteterSoftware meinen zwar dass die Ebe-ne des Systems Engineering oder dieHardware fuumlr die Systemsicherheitzustaumlndig sein sollte Viele attackennuumltzen aber Schwachstellen in denanwendungen aus Und diese Luumlckengilt es im anwendungsdesign und derProgrammierung zu vermeiden

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

Siem

ens-PressebildPSD

graphics

15

EmbEddEd-SyStEmE Software-DeSign

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Security-Grundlagen fuumlrEmbedded-Software

Schutzmaszlignahmen auf der Betriebssystem- und Hardwareebene ge-gen Hackerangriffe sind keineswegs perfekt Daher muumlssen Entwickler

selbst gegen Schwachstellen der Embedded-Software vorgehen

DAvID KALINSKy

David Kalinsky ist Berater Trainer und Dozent fuumlrEchtzeit- und Embedded-Programmie-rung in SunnyvaleKalifornien (USA)

Entwickler eingebetteter Software spie-len das Security-Thema manchmalherunter und sagen bdquoUnserGeraumltwird

nie mit dem Internet oder einem anderenexternen Kommunikationsnetz verbundensein Wir sind gegen Angriffe immunldquo Dasist leider nicht wahr Erlauben Sie mir einGegenbeispielViele Geraumlte nutzen Analog-zu-Digital-

Konverter (ADC) zur Sammlung von DatenDieADCswerden regelmaumlszligig abgefragt unddieApplikation speichert dieDatenpakete ineinemArrayDieApplikation verarbeitet spauml-

ter diesen Daten-Array Aber ein Angreiferkoumlnnte dies aus einem ganz anderen Blick-winkel sehen etwa so bdquoWas wuumlrde passie-ren wenn ich den ADCmit elektrischen Sig-nalen fuumlttere die einer exaktenhexadezima-len Darstellung des Codes eines Schadpro-grammsentsprechenldquoAuf dieseWeise kannder Angreifer seine Software in Ihren Rech-ner einschleusen Ein Netzwerk oder dasInternet ist dafuumlr nicht noumltig

Angreifer brauchen nicht immerein externes NetzwerkDer Angreifer koumlnnte nun darauf setzen

dass Ihre Software die ADC-Daten in einemStapelspeicher (Stack) sichert (vielleicht in-demSie alloca() odermalloca() verwenden)Wenn er Gluumlck hat koumlnnte er einen Array-Uumlberlauf verursachen vielleicht indem er

den Hardware-Timer manipuliert der dieADC-Abfrage steuertEin typischer Stack ist auf der folgenden

Seite oben links abgebildet Wenn der An-greifer einen Array-Uumlberlauf verursachtkoumlnnte der Stack korrumpiert werden wiedas Schema rechts daneben zeigt BeachtenSie dass dieRuumlcksprungadresse imStack aneiner Position gespeichert wurde die hinterdem Ende des Arrays lagWenn der Angreifer die Korrumpierung

richtig plant wird der Uumlberlauf den Ort imStack erreichen an dem die aktuelle Ruumlck-sprungadresse gespeichertwurdeDas kanndazubenutztwerden umandiesemPlatz imStack einenZeiger auf den eigenenCode ein-zuschleusenWenn Ihr CodedieRuumlcksprung-adresse benutzt geht die Steuerung auf denCode des Angreifers uumlber

Siem

ens-Pressebild

16

EmbEddEd-SyStEmE Software-DeSign

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Simpel aber effektiv Die Grafik links zeigt den gewoumlhnlichen Aufbau eines Speicherstacks In der rechtenGrafik ist der Stack nach einem Array-Uumlberlauf korrumpiert Boumlsartiger Code kann ausgefuumlhrt werden

DavidKalinsky

Das wird als bdquoStack Smashingldquo-Attackebezeichnet BeachtenSie dass sie in diesemBeispiel voumlllig ohne Internetzugangundoh-ne Verbindung zu einer externen Datenlei-tung ausgefuumlhrt wurde

Design-Grundlagen fuumlr sichereEmbedded-SoftwareBeim Design eingebetteter Software koumln-

nen Entwickler die Sicherheit verbessernindem sie einige Grundsaumltze beachten1 Misstrauische AufteilungTeilen Sie die Funktionalitaumlt Ihrer Software

in Bloumlcke auf die sich gegenseitig nicht ver-trauen um die Angriffsfenster in jedemBlock zu verkleinern In der Embedded-Soft-ware nennen wir diese Bloumlcke oft Prozesseoder Subsysteme oder CSCIsEntwerfen Sie jeden Block unter der An-

nahme dass Softwarebloumlcke mit denen erinteragiert angegriffen wurden VertrauenSie denErgebnissender interagierendenBlouml-cke nicht Geben Sie Ihre Daten nicht uumlbergemeinsamen Speicher fuumlr andere Bloumlckefrei BenutzenSie stattdessenMechanismender Interprozesskommunikation wie Mes-sage Queues des Betriebssystems Socketsoder TIPC (Transparent Inter Process Com-munication) Pruumlfen Sie die Inhalte die SieerhaltenAls Resultat dieser Politik der misstraui-

schen Aufteilung faumlllt nicht das gesamteSystem in die Haumlnde eines Angreifers wennein einzelner Softwareblock kompromittiertwurde

bdquoUm feindlichen Code in ein Embedded-System einzuschleu-sen ist nicht unbedingt eine Verbindung zum Internet oder zu

einem anderen externen Netz noumltigldquoDavid Kalinsky

2 Trennung der PrivilegienHalten Sie den Teil Ihres Codes der mit

speziellen Rechten ausgestattet ist moumlg-lichst klein Wenn der Angreifer in Softwareeinbricht die mit hohen Privilegien ausge-fuumlhrt wird dann kann der Angreifer eben-falls mit hohen Privilegien operieren Dasgibt ihm ein extrabreites Angriffsfenster inIhr SystemVermeidenSie also dassAnwendungssoft-

ware im Kernel-Modus oder Master- Modusoder Supervisor-Modus laumlufthellip oder wie dasin Ihrer jeweiligen CPU-Architektur heiszligenmag Uumlberlassen Sie diesen Modus dem Be-triebssystem Lassen Sie Ihre Software nurim User-Modus laufen Dadurch wird IhreCPU-Hardware darauf verpflichtet das An-griffsfenster in Ihrer Software zu limitieren3 Loumlschen Sie sensitive InformationenLoumlschenSie jedewieder verwendbareRes-

source wenn Sie sie freigeben Wenn Sieeine Ressource freigegeben haben ndash sei esein Speicherpuffer oder ein Software-Hard-ware-InterfaceDatenregister ndash koumlnnte dernaumlchste Benutzer genau derselben Ressour-ce einAngreifer sein Angreifer auf eingebet-tete Systeme lieben es diese Ressourcen zusbquophishenrsquo genau wie Internet-Angreifer ger-ne sbquophishenrsquo Hacker waumlren bestimmt uumlber-gluumlcklich die Daten zu lesen die Sie imPuffer bearbeitet habenoder die andieHard-ware zur Ausgabe uumlbergeben wurdenDie meisten Dienste die Ressourcen in

Embedded-Umgebungen freigebenmarkie-ren die Ressourcen einfach als bdquoverfuumlgbarldquo

Sie lassendie alte Information stehen die inder Ressource enthalten ist Das geht sehrviel schneller als die Ressource explizit aufNull zu setzen Damit ist sie aber potenziellfuumlr andere Benutzer lesbarWenn also die Applikation mit einer Res-

source fertig ist liegt es an der Anwendungdie Freigabe vorzubereiten indemsie all die-se Elemente auf Null setztHeap-Puffer Speicherpool-Puffer Spei-cherpartitionssegmente Statisch zugewiesene Speicherpuffer Freigegebene Stack-Bereiche SpeichercacheDatei im DateisystemDatenregister fuumlr Hardware-InterfacesStatusregister Kontrollregister

Schwachstellen auf die manbeim Coding achten mussWaumlhrend der Programmierung koumlnnen

Entwickler die Softwaresicherheit verbes-sern indem sie eine Reihe bekannterSchwachstellen vermeiden1 PufferuumlberlaufMitweitemAbstand ist der Pufferuumlberlauf

die amweitesten verbreiteteGefahrenquellewenn man in der Sprache C programmiertEs kann ganz einfach sein ndash zum Beispiel indas Element mit der Nummer 256 eines256-teiligenArraysDatenhineinzuschreibenCompiler erkennen verbotene Pufferzu-

griffe nicht immer als Softwarefehler DaskannernsthafteKonsequenzenwiedie bdquoCodeInjectionldquo oder die bdquoArc Injectionldquo haben ndashbei letzterer aumlndert der Angreifer den Kon-trollfluss eines Programms indem er dieRuumlcksprungadresse auf dem Stack modifi-ziert Bei der bdquoArc Injectionldquo braucht derAngreifer nicht einmal Code einzuschleusenEr kann zu irgendeiner Funktion im existie-renden Code springen oder Guumlltigkeitspruuml-fungen oder Assertions uumlberspringenHier ein Beispiel fuumlr eine Pufferuumlberlauf-

Attacke Ein eingebettetes Geraumlt misst dieWassertemperatur in einem Schwimmbe-cken und zeigt die Zeitanteile als Histo-gramm an in denen das Wasser eine be-stimmteTemperatur hatte Der Softwareent-wickler baut einen Array mit 100 positivenIntegerzahlen bei denen jedes Element miteinerGradangabe inCelsius korrespondiertElement 0 fuumlr 0deg Element 1 fuumlr 1deg und soweiter Jedesmal wenn der Sensor die Was-sertemperaturmisst wird das entsprechen-deElement desArrays umdenWert 1 erhoumlhtUm ganz sicher zu gehen stattet der Ent-

wickler denTemperatur-Arraymit viel Spiel-raum aus Er uumlbersteigt den Temperaturbe-reich bei weitem den einmenschlicher Koumlr-per aushalten wuumlrde

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012 17

EmbEddEd-SyStEmE SoftwaRE-DESign

ohne Locks fuumlr Multicore-Systeme entwi-ckeln

Echtzeit-Software ohne Echtzeit-Betriebssys-tem programmieren

InfoClick

wwwelektronikpraxisde InfoClick 3337487

wwwyakinduderequirements+492319860606

bull Komplexe software inKuumlrzester zeit spezifizieren

bull anforderungen fehlerfreierfassen

bull abhaumlngigKeiten von diagram-men und modellelementenautomatisch darstellen

bull aufwaumlnde von aumlnderungenKennen bevor sie entstehendurch vollstaumlndigestracing

bull manager fachanwenderund entwicKler sprechenendlich von denselbendingen

yaKindu requirementsdie software fuumlr requirementsengineering und traceability

IHRNUTZEN

Bis eines Tages der Angreifer den Sensoraus demWasser nimmt und mit einem Feu-erzeug aufheizt Sobald der Sensor einenWert misst der 100deg uumlbersteigt verletzt dieSoftware fuumlr das Histogramm-Update eineSpeicheradresse die hinter dem Ende desTemperatur-Arrays liegt Wenn dort Datenliegen hat der Angreifer die Daten korrum-piert Steht dort Maschinencode dann hatder Angreifer die ausfuumlhrbare Software kor-rumpiert In jedemFall ist es ein schaumldlicherEingriff Bitte beachten Sie dass auch dafuumlrweder eine Internetverbindung noch eineVerbindung zu einem externen Netzwerknoumltig war Ein Feuerzeug genuumlgteWie koumlnnen wir Pufferuumlberlaumlufe vermei-

denDie Schwachstelle ist soweit verbreitetdass ein mehrstufiger Ansatz am besten istVerhindern Entdecken Heilen Im Beispielunseres Schwimmbeckens sollten Sie expli-zit pruumlfen dass keine Temperatur ermitteltwird die der von Eis (unter 0deg) oder heiszligemDampf (uumlber 100deg) entsprichtVerhindern Sie Pufferuumlberlaumlufe auch in-

dem Sie gefaumlhrliche Bibliotheksfunktionenvermeiden (wie gets()) und Vorsicht bei an-deren walten lassen (wiememcpy())

bdquoAnstreicherldquo-Methodeermittelt PufferuumlberlaumlufeEntdeckenSie Pufferuumlberlaumlufe indemSie

wie ein Anstreicher vorgehen Erweitern SiedenPuffer anbeidenEnden etwas Fuumlllen Siedie Erweiterungsbereiche mit ungewoumlhnli-chem Inhalt den ich bdquoAnstrichldquonenne zumBeispiel eine Falle in derMaschinenspracheIhres Prozessors Dann pruumlfen Sie den bdquoAn-strichldquo wiederholt zur Laufzeit Wenn derAnstrich uumlberschrieben wurde haben Sieeinen Pufferuumlberlauf entdeckt2 Tricksereien mit ZeigernWenneinAngreifer einenDatenzeigermo-

difizieren kann dann kann der Angreifernach eigenemGusto an jededenkbare Stelleverweisen Wenn ein Angreifer einen Funk-tionszeiger uumlberschreiben kann dann ist erauf einemgutenWeg seinenCode auf IhremProzessor auszufuumlhren3 Dynamische SpeicherzuweisungDie Verwendung dynamischer Speicher-

zuweisungen ist in vielen sicherheitskriti-schenSystemenwie der Luft- undRaumfahrtverbotenAngreifer sindheiszligdarauf solcheDefekte zu finden da sie eine guumlnstigeGele-genheit bieten die Sicherheit eines Embed-ded-Systems zu verletzenEin besonders empfindlicher Fehler ist es

die Pruumlfung zu unterlassen ob eineAnfragezur Speicherzuweisung erfolgreichwar odernichtMancheMechanismengebenanstelleeines Zeigers auf einen Speicherpuffer den

Wert Null aus wenn kein verfuumlgbarer Spei-cher mehr vorhanden ist Wenn die Anwen-dungssoftware diesen Nullwert als Zeigerbehandelt wird sie in einen Puffer hinein-schreiben der an der Speicheradresse NullbeginntViele Angreifer wuumlrden sich freuen wenn

Ihre Software dies taumlte Angreifer wissendass eingebettete Software oft eingeschraumlnk-te Speicherressourcen hat Sie setzen allesdaran den Speicher auszuschoumlpfen indemsie den Speicherzuweisungsmechanismusdazu zwingen mehr Speicher als sonst uumlb-lich zu belegen ndash vielleicht durch einge-schleusten Code der Speicherlecks enthaumlltSie koumlnnenauchversuchen IhrDatenabfra-gesystem mit houmlheren Datenmengen oderDatenraten zuuumlberflutenndash inderHoffnungdass dieDatenlawine Ihre Speicherkapazitaumlterschoumlpft Und dannWenn Ihre Software einen Speicherpuffer

anfragt aber die Pruumlfung unterlaumlsst ob dieZuweisung fehlgeschlagen istwird sie einenPuffer anderAdresseNull eroumlffnenundalleszertrampeln was vorher dort gewesen istWenn zumBeispiel die Flags fuumlr das Ein- undAusschalten von Interrupts an dieser Stellestehen koumlnnte dadurch die Verbindung derSoftware zudenHardware-Interfaces anderPeripherie unterbrochenwerdenDas koumlnn-te dazu fuumlhren dass Ihr System nicht mehrin die Hardware eingebunden ist FG

D Kalinsky Associates +1408 749 8562

Kleine Angriffsflaumlche Die perfekte Absicherunggegen Angreifer im Web gibt es nicht Wichtig ist esaber sich um die die gaumlngigen Schwachstellen zukuumlmmern

PikeResearch

18

SyStementwurf AudiodAten uumlbertrAgen

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Audiosignale drahtlosmit Licht uumlbertragen

Audiosignale mit maximal 48 kBits mit Laser oder High-Power-LEDuumlbertragen Wir stellen Ihnen eine Schaltung vor die Audiosignale in

groszligen Raumlumen mit hoher Funkbelastung sicher transportiert

IgOR ZImmERmANN

Igor Zimmermann ist Entwickler fuumlr Embedded-Systeme bei der Mixed Mode GmbH inMuumlnchen

Funkuumlbertragungen haben sich vor al-lem im privaten Umfeld in den letztenJahren durchgesetzt Allen voran im

Multimediabereich seien hier kabelloseKopfhoumlrer genannt oder dieWLAN-Uumlbertra-gung Um bei der digitalen Audiouumlbertra-gung zu bleiben Mit der Digitalisierung derMultimediadaten entstand das Beduumlrfnisdiese digitalenAudiodatendrahtlos zu trans-portieren Hier sind im Speziellen drei Fre-quenzbaumlnder relevantDas 24-GHz-Band mit Frequenzen von24 bis 25 GHzDas 5-GHz-Band mit Frequenzen von5725 bis 5875 GHz und das 433-MHz-Band mit Frequenzen von43305 bis 43479 MHz

Wenn sich die Frequenzbaumlnderuntereinander stoumlrenDie ersten beiden Frequenzbaumlnder sind

alle fuumlrAudio-Uumlbertragungsgeraumlte geeignetdie uumlberWLANoder Bluetooth senden Her-koumlmmliche Funkkopfhoumlrer und Funklaut-sprecher benutzen das Band mit 433 MHzAlle drei Frequenzbaumlnder koumlnnen frei be-nutztwerdenwas auchgleichzeitig ein Pro-blem darstellt So sendet im 24-GHz-Bandbeispielsweise dieMikrowellewaumlhrenddas433-MHz-Band von etlichen anderen Funk-verbindungen verwendet wird Durch diegemeinsame Nutzung koumlnnen gegenseitigeStoumlrungen auftretenEine Uumlbertragung mit Licht ist gegen Stouml-

rungen aus diesen Baumlndern unempfindlichAuch inUmgebungenmit starker Funkbean-spruchungkannauf dieseWeise eineAudio-Signaluumlbertragung erfolgen Ein weitererVorteil ist die Reichweite die bei einerUumlber-tragung mit Licht erreicht werden kann

Audiosignale uumlbertragenMit Licht lassen sich groszlige Entfernungen uumlberbruumlcken wobei die APU allessteuert (Illustration)

FotoKlickerpixeliode

Audiosignale drahtlos uumlbertragen Schematischer Aufbau der Schaltung mit Audio Processing Unit

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

Waumlhrend eineUumlbertragung indengenanntenISM-Baumlndern auf einige hundert Meter be-schraumlnkt ist koumlnnenmit Licht groszligeDistan-zen uumlberwunden werden

Schaltung uumlbertraumlgt drahtlosAudiosignale mit LichtIm folgenden wollen wir Ihnen eine neu-

entwickelte und bereits im realen Einsatzgetestete Schaltung vorstellen die drahtloseAudiosignale mit Licht uumlbertraumlgt Die maxi-maleAudioqualitaumlt des Signals darfmaximal48 kBits betragen Die Schaltung setzt aufeinem Mikrocontroller zur Steuerung einesAudio-Codecs auf Die Entwicklung ist durchdie Visible Light Communication (VLC) ins-piriert Das Signal wird uumlber eine Treiber-schaltung entweder per Laser oder High-Power-LED uumlbertragen Auf der Empfaumlnger-seitewirddas Signal uumlber einenAudio-Codecindasurspruumlngliche Format ruumlckgewandeltEinsatzbereiche sind groumlszligere Raumlume in de-nen einehoheFunkbeanspruchungherrschtZum erfolgreichen Versenden der Audio-

informationenwerden zweiAusgabendieserSchaltung benoumltigt Die Versorgungsspan-nung betraumlgt 12 V Auf Senderseite kann derBenutzer eine von drei verschiedenen Sig-nalartenwaumlhlen die uumlbertragenwerden soll analoges Audiosignal Klinke (TRS Ana-log Audio In) digitales SPDIF-Signal Anschluss uumlberCinch (RCA Electrical SPDIF In) optisches SPDIF Signal Anschluss uumlberToslink (Toslink Optical SPDIF In)

APU mit Audio Codec undKonfigurationsregisternDie Konfiguration der Signalart erfolgt

uumlber ein Display und vier Taster (S1 S2 S3S4 und Display) Das Display und die Tastersind an einen Mikrocontroller angeschlos-sen der die Auswertung der Einstellungenvornimmtunduumlber einen Isup2C-Bus andieAu-dioProcessingUnit (APU)uumlbertraumlgt DieAPUbesteht aus einem Audio-Codec und besitztKonfigurationsregister zumSpeicherndieserEinstellungen Uumlber diese Register koumlnnenauch Manipulationen an den Statusbits desSPDIF-Signals vorgenommen werden DieAPU verfuumlgt zudem uumlber ein integriertes di-gitales Interpolationsfilter und ein Antialia-sing-Filter Das hat den Vorteil dass eineexterne Filterung uumlberfluumlssig wird Das Isup2S-Interface uumlber das andere Audio-Kompo-nentenmit derAPUkommunizieren koumlnnensteht demBenutzer ebenfalls zurVerfuumlgungEin- undAusgaumlnge koumlnnenasynchronbe-

trieben werden Das erzeugte Signal wird inein SPDIF-Format gewandelt und dem La-sertreiber oder dem LED-Treiber zur Verfuuml-

Via Laser oder High-Power-LEDAudiosignale drahtlos mit Licht uumlbertra-gen Die von uns vorgestellte Schaltungsetzt auf einen Mikrocontroller der denAudio-Codec steuert wobei die Qualitaumltdes Signals maximal 48 kBits betragendarf Der Mikrocontroller ndash die AudioProcessing Unit ndash ist das Herzstuumlck die-

ser speziellen Treiberschaltung der dasAudiosignal via Laser oder High-Power-LED uumlbertraumlgt Mit den Konfigurations-registern lassen sich die Einstellungenfuumlr die Codes speichern und es lassensich Manipulationen an den Statusbitsdes SPDIF-Signals vornehmen

SyStementwurf AudiodAtEn uumlbERtRAgEn

19

telekommunikation von Mixed Mode

InfoClick

wwwelektronikpraxisde InfoClick 3343108

gung gestellt Aus Sicherheitsgruumlnden wirdder Lasertreiber uumlber eine vomMikrocontrol-ler gesteuerte Enable-Leitung ein- und aus-geschaltet Als Laserquelle dient eine Laser-diodeDer Lasertreiber ist zwar speziell auf diese

Laserdiode eingestellt kann aber durch an-dere Laserdioden ersetzt werden Die Aus-gangsleistung der Modulationsstrom derGleichstromanteil und der Temperaturkoef-fizient der Laserdiodenwerdenuumlber externeWiderstaumlnde des Lasertreibers dimensio-niert Die Laserdiode ist an einem Kupfer-block angebracht der dieKuumlhlungderDiodeund die Fokussierung des Laserlichts uumlbereine Linse im Inneren uumlbernimmt Der LED-Treiber der ein IR-Treiber oder ein High-Po-wer-LED-Treiber sein kann besteht aus zweischaltbarenKonstantstromquellenundkannbis zu vier High-Power-LEDs versorgen

Audioqualitaumlt liegt beiaktuell 48 kBitsAuf der Empfaumlngerseite muss der Light

Receiver alsQuelle ausgewaumlhltwerdenDie-ser Light Receiver umfasst je eine Empfangs-einheit fuumlr sichtbares und infrarotes Licht(Visible Light und Infrared Light Receiver)

Beide Empfangseinheiten bestehen aus ei-nemPhotodetektor und einemnachgeschal-teten Transimpedanzverstaumlrker Das vomTransimpedanzverstaumlrker erzeugte Signalwird anschlieszligendSPDIF-gerecht aufberei-tet und an die Audio Processing Unit weiter-geleitet und kann an einem der sechs An-schluumlsse abgegriffen werdenDiemaximaleAudioqualitaumlt der Schaltung

liegt zur Zeit noch bei 48 kBits da die Emp-fangseinheit Signalemit einer Frequenz vonmaximal 31 MHz zuverlaumlssig empfangenkannDiemaximaleReichweite die bei einergerichteten Uumlbertragung mit Laser erreichtwerden konnte betraumlgt aktuell 15 m DurchdenEinsatz vonoptischenHilfsmitteln kannjedoch eine weitaus houmlhere Reichweite er-reicht werden HEH

MixedMode +49(0)89 89868240

20

ProgrammiersPrachen Sichere Software

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Stabile Embedded-Systememit der Programmiersprache Ada

Mit der Programmiersprache Ada laumlsst sich sicherheits- und missions-kritische Software entwickeln wovon Embedded-Systeme profitieren

sollen Wir stellen Ihnen die Programmierumgebung vor

JOhANNES KANIg

Johannes Kanig ist Senior Software Engineer beiAdaCore

WashabenARGOS einSatellitenpro-gramm zur Sammlung von Um-weltdaten unddas Traumlgheitsnavi-

gationssystem des Airbus 350 XWB mitein-ander gemeinsam Beide stellen besondereAnforderungenan ihre Steuerungssoftwaredie sehr sicher und in Echtzeit reagierenmuss und deren eventuelle Fehler viel Geldoder sogar Menschenleben kosten koumlnnenIn beiden Faumlllen ist die Software missions-kritisch wenn beispielsweise durch einenFehler der Satellit verloren gehen kann odersicherheitskritischwenndurch einenFehlerdie Passagiere des Airbus inGefahr geratenBeide Systeme haben noch etwas gemein-sam sie sind in Ada geschrieben

Ein Traumlgheitsnavigationssystem stellt ho-he Anforderungen an seine Embedded-Ap-plikationen die sehr Hardwarenah laufenDabei wird auf Sicherheit groumlszligter Wert ge-legt Die Anwendung darf unter keinen Um-staumlnden abstuumlrzen und sollte ihre Funktionerfuumlllen sowie maximale Reaktionszeitenstrikt einhalten Fuumlr sicherheitskritischeAn-wendungen werden in der Regel vor demeigentlichen Entwicklungsprozess genaueHigh-Integrity-Anforderungen aufgeschrie-ben denenderProgrammcodedannentspre-chenmussNatuumlrlich ist es fuumlr denProgram-mierer einfacher wenn die Sprache direktKonstruktionen anbietet die bestimmtenArten von Anforderungen entsprechen

Lesbarer Code vermeidetFehler beim programmierenDie Entwickler der Programmiersprache

Adahaben stets besonderenWert auf Lesbar-keit undWartbarkeit gelegt Das aumluszligert sich

unter anderem in syntaktischenUnterschie-den mit Sprachen wie C oder Java Zum Bei-spiel verzichtet Ada voumlllig auf geschweifteKlammern und nutzt stattdessen leicht les-bare Schluumlsselwoumlrter um Bloumlcke zu kenn-zeichnen So werden if-Bloumlcke mit einemend if undSchleifenmit einemend loopabgeschlossen Im Allgemeinen vermeidetAdaSymbolewoSchluumlsselwoumlrter Sinn erge-ben So wird auch der in C uumlbliche Stern zurBezeichnung von Zeigern durch das Schluumls-selwort access ersetzt Ada beachtet Groszlig-und Kleinschreibung nicht um Verwechs-lung von zu aumlhnlichen Bezeichnern zu ver-meiden Und schlieszliglich vermeidet Ada diein Java und C verbreitete Praxis oktale Zah-len mit einer fuumlhrenden Null darzustellenNeben diesen syntaktischen Unterschie-

den gibt es auch viele semantische Hilfenum lesbare undbesserwartbare Programmezu schreiben Sowird die Relation zwischeneiner Funktion und ihren Parametern durchSchluumlsselwoumlrter wie in (nur lesen) out(nur schreiben) oder in out (beides) doku-mentiert Ada ist imGegensatz zuC eine starkgetypte Sprache Typkonversionen die zuLaufzeitfehlern fuumlhrenkoumlnnenmuumlssten ex-plizit geschrieben werden Ada erlaubt imGegensatz zu manchen anderen Sprachendie Einfuumlhrung von benutzerdefinierten In-tegertypen die Absichten des Programmie-rers dokumentieren (DieseVariable enthaumlltZahlen zwischen 1und 100) unddie korrek-te Ausfuumlhrung mit Laufzeituumlberpruumlfungensicherstellen Diese semantischen Eigen-schaften erleichtern den direkten Vergleichdes Programmcodes mit den an ihn gestell-ten Anforderungen

Besonderheiten bei derEmbedded-ProgrammierungBei Echtzeitanwendungenhandelt es sich

meist um parallele Anwendungen denn inder Regel werden mehrere Berechnungengleichzeitig durchgefuumlhrt undneueEreignis-se verarbeitet In diesem Kontext ist es be-

Umweltsattelit Die Steuerungssoftware muss sich besonderen Anforderungen stellen Mit der Program-miersprache Ada laumlsst sich sicherheits- und missionskritische Software entwickeln (Im Bild der Umwelt-satellit ENVISAT)

fotoD

Lr

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

sonders wichtig dass Reaktionszeiten derSoftware auf Ereignisse garantiert werdenkoumlnnen Hier ist es nuumltzlich dass Ada einfa-che Sprachfeatures zur Beschreibung vonparallelen Prozessen bereitstellt Es ist ent-scheidend dassAdakeinenGarbageCollec-tor benoumltigt der denProgrammablauf verzouml-gern koumlnnte Ein manueller Umgang mitThreads ist alsonicht noumltig Unvorhersehba-re Latenzzeiten die bei sicherheitskritischenAnwendungen unakzeptabel sind werdenausgeschlossen Ein weiteres Argument fuumlrden Einsatz von Ada im Embedded-Bereichist seine Faumlhigkeit zur Low-Level-Program-mierung Damit kann beispielsweise die ge-naue Auslegung einer Datenstruktur imSpeicher festgelegt werden Als gefaumlhrlicherachtete Low-Level-Features wie zum Bei-spiel dasAuslesenbeliebiger Speicherberei-che oder auch die in C beliebte Pointerarith-metik sind in Ada nur unter Umgehung desTypsystemsmoumlglich

Ada ndash Die Programmierspracheohne UumlberraschungenAda wird oft als Sprache ohne Uumlberra-

schungen bezeichnet Mechanismen zurProgrammstrukturierung wie es sie in Adagibt also ein Objektsystem oder ein Paket-system sind sehr hilfreich wenn es darumgeht umfangreiche Programme zu schrei-ben Der Ada-Standard sieht sogenanntePragma-Restriktionen vormit denen festge-legt werden kann ob Features der Spracheausgeschlossenwerden sollenDamit lassensich interne Coding-Standards uumlberpruumlfenDieses Feature kannmanmit dem StandardMISRA-CC++vergleichen der versucht einesichere Teilmenge von C beziehungsweiseC++ zu definieren Ada bietet den Vorteildass viele Konstrukte vondenenMISRAab-raumlt gar nicht geschrieben werden koumlnnenund dank des starken Typsystems mehrUumlberpruumlfungenmoumlglich sindDie Programmiersprache Ada gibt es seit

demBeginn der achtziger Jahre Die damali-ge Version Ada 83 enthielt bereits eine guteBasis fuumlr die strukturierte undmodulare Pro-grammierung wie ein Paketsystem das dieKapselung von Daten und Algorithmen er-moumlglicht Seitdem hat sich Ada kontinuier-lich weiterentwickelt So erschien 1995 derAda-95-Standard der die Sprache um einObjektsystem erweiterte Der naumlchste Stan-dard Ada 2005 brachte Verbesserungen imUmgang mit Zeigern die als konstant oderauch als not null deklariert werden koumln-nen Das stellt vor allem eine umfangreicheErweiterungder Standardbibliothekdar dienun auch Container enthaumllt Das Objektsys-temwurde umdas Interface-Konzept erwei-

PRAxISWERT

Adacore Software-loumlsungen fuumlr AdaAdaCore wurde 1994 gegruumlndet undist der fuumlhrende Anbieter von kom-merziellen Softwareloumlsungen fuumlr Adaeiner modernen Programmiersprachefuumlr Mission-Critical-Anwendungen insicherheitskritischen UmgebungenDas wichtigste Produkt ist die Ent-wicklungsumgebung GNAT Pro dieOnline-Support bietet und auf mehrPlattformen als jede andere Ada-Tech-nologie verfuumlgbar ist Unternehmenwie Boeing HP Krauss-Maffei oderSiemens setzen AdaCore-Loumlsungenfuumlr sicherheitskritische Anwendun-gen ein Hauptsitz ist New York daseuropaumlische Headquarter ist in Paris

tert so dass nun auch Mehrfachvererbungmoumlglich istDer naumlchste Standard ist fuumlr 2012 vorgese-

hen Darin sind die aus der Programmier-spracheEiffel bekanntenVertraumlge (contracts)vorgesehen die jeder Funktion zwei Boole-scheAusdruumlcke hinzufuumlgen koumlnnen die voroder nach Ausfuumlhrung der Funktion wahrsein sollenDieseAusdruumlcke sind im Idealfalldirekt von den Anforderungen an die Soft-ware abgeleitet Sie koumlnnen als formale Do-kumentation als zusaumltzlicheUumlberpruumlfungenzur Laufzeit oder als Ausgangspunkt fuumlr sta-tische Analysen dienen Eine weitere Neue-rung ermoumlglicht dieDefinition vonTypenmitso genannten Invarianten Damit sind Boo-lesche Ausdruumlcke gemeint die fuumlr Wertedieses Typs immer wahr sind Schlieszliglichgibt es viele andereWeiterentwicklungenwieeine Python-aumlhnliche Syntax zur Iterationuumlber Container und Verbesserungen implattformuumlbergreifenden Umgang mit ne-benlaumlufigen Prozessen und Multiprozesso-ren hEh

AdaCore +33(1)4970 6716

ProgrammiersPrachen SiCHERE SOfTwARE

21

Adacore-Entwicklungswerkzeuge

Ada Deutschland

InfoClick

wwwelektronikpraxisde infoclick 3343168

Bei unsbewegtsich was

Webcasts aufwwwelektronikpraxisde

Finden Sie die Loumlsung fuumlr IhrProblem ndash als Video oderAudiodatei

Beispiele fuumlr Webcasts

Anwendungsbeschreibungenkomplexer erklaumlrungsbeduumlrftigerProdukte

anwendungs- und loumlsungsorien-tierte Produktpraumlsentationen

vertonte Powerpointpraumlsentati-onen ProduktanimationenExperteninterviews oderMesseberichte

Online-SeminareOnline-Konferenzen

Schauen Sie doch mal rein---gt wwwelektronikpraxisde

CAST

wwwvogelde

0726

4

22

EmbEddEd-SyStEmE Software-architektur

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Von der impliziten zur explizitenSoftware-Architektur

Im Bereich der Unternehmenssoftware ist das Festlegen einer Soft-ware-Architektur heutzutage Standard doch bei der Embedded-Ent-

wicklung wird dieser Aspekt haumlufig noch vernachlaumlssigt

MIchAEL STuRM chRISTIAN hOcK

Dr Michael Sturm leitet die Abteilung Softwarepro-dukte im Geschaumlftsbereich Industrybei der Berner amp Mattner Systemtech-nik in Muumlnchen

Dr christian hock ist verantwortlich fuumlr die strate-gische Ausrichtung des Geschaumlfts-bereiches Industry bei der Berner ampMattner Systemtechnik in Muumlnchen

Eine dokumentierte Software-Architek-tur hat klare Vorteile Produkte sindanpassungsfaumlhiger und zukunftssiche-

rer Auszligerdem erleichtert das Wissen umSchnittstellen Kommunikationsbeziehun-genundRessourcen einzelner Komponentenderen Anpassung an neue Hardwarebedin-gungenundFunktionsanforderungenNichtnur beiNeuentwicklungen sondern auchbeiModernisierungen bestehender Embedded-Loumlsungen lohnt es sich einen Software-Ar-chitekten einzubinden um Weiterentwick-lungenauf ein zukunftssicheres Fundamentzu stellen

Begruumlndete Technologie-entscheidungen treffenUnter Software-Architektur versteht man

die strukturierteAnordnungderKomponen-ten eines Systems mit Informationen zurKommunikation zwischen den Komponen-ten sowie deren Abbildung auf Hardware-oder Softwareressourcen Eine fruumlhzeitigeundprojektbegleitendeUnterstuumltzungdurcheinen den einzelnen Entwicklerteams moumlg-lichst neutral gegenuumlberstehendenSoftware-Architekten ist die ideale Loumlsung EineReihevon Aufgaben kann man dieser Instanz zu-ordnen in vielenBereichengeht es aber aucheinfach umModerationEine zentraleAufgabeder EmbeddedSoft-

ware-Architektur ist es nicht nur die funkti-onalen Anforderungen an die Software zuberuumlcksichtigen sondern auch nichtfunkti-

in seiner Loumlsungsfindung eingeschraumlnktsein Bewaumlhrte Loumlsungsansaumltzewerdendannoft unhinterfragt wiederholt Neue moumlgli-cherweise besser geeignete und insbesonde-re flexiblere Technologienbleibenunberuumlck-sichtigt

Zusammenhaumlnge muumlssennachvollziehbar bleibenDaher kannes zumBeispiel zudenAufga-

ben eines Software-Architekturteams oderexternen Beraters gehoumlren neue Technolo-

Groszliges Vorbild Softwaresysteme lassen sich hinsichtlich ihrer Komplexitaumlt mit Gebaumluden wie Antoni Gau-diacutes Kirche Sagrada Familia in Barcelona vergleichen Eine in sich schluumlssige Architektur ist deshalb auch imSoftwarebereich unerlaumlsslich

iStockph

otoham

ishBa

rrie

onale Anforderungen zu erfassen und zwarvor dem Hintergrund einer Lifecycle-Prog-nose Unter diese nichtfunktionalen Anfor-derungen fallen so komplexe Punkte wieWartbarkeit Modifizierbarkeit Skalierbar-keit Portierbarkeit Konnektivitaumlt Benutz-barkeit Zuverlaumlssigkeit Sicherheit Perfor-mance Effizienz oder TestbarkeitSo vorteilhaft ein eingespieltes Entwick-

lerteam fuumlr die Kommunikation ist so sehrkann es auch durch die Erfahrung aus Vor-gaumlngerprojekten oder aumlhnlichen Projekten

23

EmbEddEd-SyStEmE Software-architektur

gien zu evaluieren und auf Eignung fuumlr Pro-jekte zu pruumlfen sowie neue Toolsets zur Ver-fuumlgung zu stellen Kuumlnftig benoumltigteKompo-nenten muumlssen identifiziert werden undwenn es darum geht fuumlr einzelne Kompo-nenten optionale Technologien vorzuschla-gen bewaumlhrt sich haumlufig das Einschalteneines neutralen ArchitekturbeauftragtenEs geht um die Diskussion von Design-

Entscheidungen dieDefinition vonSchnitt-stellen und die Entwicklung von CodingConventions Unter der Moderation einesSoftware-Architekten erfolgen diese Ent-scheidungen bewusster und werden besserdokumentiert Nur sobleibendie Zusammen-haumlnge innerhalb eines Systems auch fuumlr Ent-wickler nachvollziehbar die spaumlter einmalan ihm arbeitenmuumlssen und nichts von denimplizitenAnnahmenund teaminternenGe-pflogenheiten seiner Schoumlpfer wissen

Implizite Architekturen sindimmer vorhandenIn der taumlglichen Praxis der Embedded-

Entwicklung sieht es leidermeist anders ausZeit- und Kostendruck verhindern oft dassGedankenundArbeit in eine systematisierteSoftware-Architektur flieszligen Hier koumlnnenSoftwarearchitekten auchdurchdieAuswahlgeeigneter Methoden und Tools weiter hel-fen So kann die dynamische Entwicklungheutiger Industrieproduktemit agilenAnsaumltzenunterstuumltztwerdenAuch einstrikt modellbasierter Entwicklungs-ansatz also die Modularisierung mitklar definierten Schnittstellen ist einMittel um einen hohen Reifegrad zuerreichen Die Vorteile dieses Vorge-henshaben sich in vielenProjektenbeiBerner amp Mattner in der Entwicklungvon Funktionserweiterungen gezeigtDank des modellbasierten Ansatzeskonnten diese mit minimalem Auf-wand realisiertwerdenndashunddies ins-besondere auch von urspruumlnglichnicht beteiligten EntwicklernAber Fakt ist Jedes Softwaresystem

hat eineArchitektur auchwenndiesenicht explizit modelliert wurde Ent-stehendiese Strukturenungeplant ausder Dynamik der Komponentenent-wicklung heraus tut dies der Funkti-onalitaumlt der Software zunaumlchst keinenAbbruch Probleme treten erst spaumlterauf wenn es umWartung Skalierungoder Portierung gehtImNachhinein raumlcht sichdann zum

Beispiel die Wahl einer bestimmtenProgrammiersprache oder einerSchnittstelle die unter dem Zeit- undKostendruck imEntwicklungsprozess

schnell und dazu noch undokumentiert ge-troffenwurdeDieKommunikation zwischeneinzelnen nicht klar getrenntenKomponen-ten war moumlglicherweise nur oberflaumlchlichgeloumlst anstatt schon bei derWahl der Tech-nologien und Sprachen darauf zu achtenReibungspotenziale zu minimieren

Zu enge Abhaumlngigkeiten vonder Hardware vermeidenWird ein Softwareprojekt nicht in Bezug

auf seinengesamtenLebenszyklus gesehenbesteht bei Embedded-Projekten auch dieGefahr dass ungewollteAbhaumlngigkeiten zurEntwicklungs-Hardware entstehen Die An-passung an neue Hardwaregenerationenkann dadurch sehr aufwaumlndig oder gar un-moumlglich werdenEine klar strukturierte unddokumentierte

Software-Architektur wird erst dann ver-misst wenn es bei der notwendigenWeiter-entwicklung Fragen und Schwierigkeitengibt Oft sollen wesentliche Teile der Soft-ware beibehalten aber zum Beispiel an einneuesBenutzerinterface angeschlossenwer-denManchmal ist der Controller fuumlr den siegeschrieben wurde nicht mehr verfuumlgbarund sein Nachfolger ist anders aufgebautFunktionenmuumlssen erweitert zusammenge-fuumlhrt oder auf geaumlnderte externe Systemeangepasst werden Die Pflege oder Weiter-

PRAxISWERT

Fehler lassen sichverhinderneine klar definierte und stringenteSoftware-architektur hilft die Zusam-menhaumlnge innerhalb eines Systemsbesser zu verstehen Dies verhindertfehler und senkt nicht zuletzt denaufwand bei der eventuell noumltigenbdquoaltbausanierungldquo von embedded-Systemen

Nachtraumlgliche Analyse nuumltztwurde die Software-architektur inder embedded-entwicklung vernach-laumlssigt lohnt sich angesichts der zuerwartenden langen einsatz- und Le-benszeiten vieler embedded-Systemeauch eine nachtraumlgliche analyse undDokumentation andernfalls drohenmoumlglicherweise immer wieder unkal-kulierbare Verzoumlgerungen wenn war-tungs- oder weiterentwicklungsarbei-ten eventuell auf undokumentierteeigenheiten des Systems stoszligen

H

SIG

HPEED

ROBUST

FLEXIBLE

TriCore Power Architecturebull

XC2000XE166 SH-2A XScalebull bull

Cortex M0M3M4 Cortex R4 Cortex A8 ARM7911bull bull bull

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

24

EmbEddEd-SyStEmE Software-architektur

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Literaturhinweise[1] Pete Goodliffe code craftthe Practice of writing excellent codeNoStarch Press 2006

[2] Peter hruschka Gernot Starkeknigge fuumlr SoftwarearchitektenentwicklerPress 2012

[3] craig Larman applying uML and Pat-terns an introduction to object-orien-ted analysis and DesignPrentice hall 2004 (3 auflage)[4] Berner amp Mattner-fachartikel bdquoSoft-warearchitektur in eingebetteten Syste-menldquo ndash httpbitlyJosXYw

entwicklung eines solchen Systemswird fuumlrden Produktverantwortlichen zu einerschwer kalkulierbaren Kostenquelle vor al-lem dann wenn er nicht mehr auf den KerndesurspruumlnglichenEntwicklerteams zuruumlck-greifen kannHilfestellung in solchen Situation bieten

Spezialisten wie Berner amp Mattner die Alt-systeme analysieren bestehende Software-Architektur nachdokumentierenundmoumlgli-che Migrations- und Aumlnderungspfade iden-tifizieren Als externe Architekturberaterkoumlnnen sie unbelastet von der Softwarehis-torie untersuchen wo in der Struktur derSoftware Problemfelder liegen und Loumlsun-gen vorschlagenDerAufwand fuumlr PflegeundWeiterentwicklung laumlsst sich auf Basis einersolchen Analyse besser beurteilen

Regeln aufstellen ndash und sierichtig brechenBesonders spannend wird das Thema bei

zertifiziertenEmbeddedSystemen Einehaumlu-fige Herausforderung ist dass die Softwareoder wesentliche Teile zertifiziert sind umeinem SIL (Safety Integrity Level) zu genuuml-gen Selbstverstaumlndlich moumlchte niemanderneut eine IEC 61508-Zertifizierung durch-laufen wenn sich dies vermeiden laumlsstGluumlcklicherweise sind oft nur einzelne rele-vante Teile des Systems als sicherheitskri-tisch eingestuft Die Kunst des Architektur-beraters ist es die Stellen in der Software zufinden andenendie Schnitte angesetztwer-denkoumlnnenndashund zwar zwischenden sicher-heitskritischen Teilen und den Teilen undSchnittstellen die problemlos geaumlndertwer-den koumlnnenHierzu nutzt der Berater gaumlngige Design-

Patternswie etwaSchichtenoder bdquopipes andfiltersldquo Ironischerweisemusshaumlufig das aufdieseWeise entstandene Regelwerk die ab-geleiteteArchitektur fuumlr das eigentlicheEnt-wicklungsprojekt gleich wieder gebrochenwerden eben um zertifizierte Bestandteileunveraumlndert zu erhalten Der groszlige Unter-schied zu den bdquoRegelverletzungenldquo aus derEntstehungszeit der urspruumlnglichen Soft-

ware liegt aber darin dass sie nun ausfuumlhr-lich dokumentiert werdenEs waumlre ein Missverstaumlndnis Software-

Architektur als ein unveraumlnderliches Doku-ment zu verstehen das man nur selten wie-der in die Hand nimmt Es sollte bei jederArbeit an der Software gelesen und gepflegtwerden Ohne dieses lebendige Dokumentwerden Architekturverstoumlszlige oft gar nichtbemerkt Vereinbarungen zu ArchitekturCodingConventions Schnittstellen etcwer-dendadurch fuumlr denEntwickler verbindlich

Architektur muss als Prozessverstanden werdenDer Auftraggeber erhaumllt so ein Embedded

System dessen Pflege er in die Haumlnde einesneuenTeamsgebenkannDie nun freigewor-denen Spezialisten die es erstellt habenkoumlnnen getrost an anderer Stelle eingesetztwerdenDabei gilt Software-Architektur endet nie

DennauchvondenEntwicklern einzusetzen-deDesign-Methodenwie zumBeispiel ObjectOrientedAnalysis andDesign (OOAD)habenklare Strukturen und die Trennung von Zu-

staumlndigkeiten zum Ziel - das ist eindeutigArchitekturEine klare Software-Architektur hilft die

Zusammenhaumlnge innerhalb eines Systemsbesser zu verstehen Dies verhindert Fehlerund senkt den Aufwand bei der bdquoAltbausa-nierungldquo von Embedded Systemen Wurdedie Software-Architektur in der Embedded-Entwicklung vernachlaumlssigt lohnt sich an-gesichts langer Einsatz- und Lebenszeitenvieler EmbeddedSystemeauchdie nachtraumlg-liche Analyse und Dokumentation Andern-falls drohen immer wieder unkalkulierbareVerzoumlgerungen wenn Wartungs- oder Wei-terentwicklungsarbeiten auf undokumen-tierte Eigenheiten des Systems stoszligen Beistark eingefahrenen Teams bzw zum Wis-sensaufbaubietet sichhier ein externer Soft-warearchitekt anDie meisten Fehler durch menschliches

Versagen entstehen dort wo wir nicht ver-stehen woran wir bdquoschraubenldquo Eine expli-zite Architektur traumlgt maszliggeblich dazu beidieWirkketten innerhalb komplexer Systemetransparent zu machen Mit diesem Wissenwerden erforderliche Aumlnderungen wesent-lich schneller bewertet und zuverlaumlssig rea-lisiert FG

Berner ampMattner +49(0)89 6080900

Zusammenhaumlnge verstehen Explizite Software-Architektur traumlgt maszliggeblich dazu bei die Wirkungs-zusammenhaumlnge komplexer Systeme anschaulich und transparent zu machen

iStockph

otoSirgunhik

Lebenslaumlnglich Software-architekturdesign

requirements engineering fuumlr embedded-Systeme

InfoClick

wwwelektronikpraxisde InfoClick 3343141

25

Kolumne

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

Mit Fragen zum ProjekterfolgPETER SIwON

Heute stelle ich Ihnen ein Wundermit-tel vormit demSie inProjekten vielEnergie Zeit und Geld sparen

Gleichzeitigmotiviert es IhreMitarbeiter DerEinsatz des Wundermittels hat sehr viel mitdem BuchstabenWwieWunder zu tun DasBeste daran Es kostet nichts undSie kennenes alle DasWundersameandiesemWunder-mittel ist allerdings dass es trotzdem zu sel-ten eingesetzt wird Ich gebe Ihnen noch einpaar TippsWie kommenSie ameffektivstenan Informationen Wie erfahren Sie amschnellstenwas andereMenschendenkenWie findenSie amschnellstenLoumlsungenDieAntwort lautet FragenUnddie beginnenoftmit wo wie wann oder wer Vielleicht sindSie jetzt uumlber diese simple Antwort ent-taumluscht nachdem ich Ihnen den Mund mitallerlei Wunderversprechungen waumlssrig ge-macht habe An dieser Stelle koumlnnten Siespaszligeshalber auf das Themaeinsteigenundfragen bdquoWie kommen Sie darauf diese Me-thode alsWundermittel zu bezeichnenldquo Siekoumlnnten aber auchgelangweilt denken bdquoWeiszligschon offene Fragen stellenldquo und aufhoumlrenzu lesen Sind Sie sich ganz sicher dass Siealle meine Argumente kennen Das ist zwaretwasmanipulativ abermit dieser Fragebrin-ge ich Sie immerhindazu IhrenStandpunktzu hinterfragen Vielleicht lautet die so pro-vozierteAntwort bdquoNaja eigentlichbin ichmirnicht sicherldquo ndash und Sie lesen doch weiterDas Praktische an solchenFragen ist dass

Sie sich von Ihrer eigenen Antwort in derRegel besser uumlberzeugen lassen Ichhaumltte Sieauch schulmeisterlich zu IhremGluumlck zwin-gen koumlnnen bdquoSie muumlssen weiterlesen weilichweiszlig dass Sie noch jedeMengeWichtigeserfahren das Sie unmoumlglich wissen koumln-nenldquo Dasmache ich aber nicht weil ich dieNachteile kenne 1 Siemuumlssen gar nichts 2Wenn Sie muumlssen dann wollen Sie nichtIhre Motivation ist gering 3 Woher will ichwissen obSie nichtmehr uumlber dieKunst desFragens wissen als ich selbst Damit die ge-rade so schoumln erzeugte Motivation nichtgleichwieder auf demAltarmeines Egos ge-opfert wird spare ichmir PseudofragenwiebdquoHab ichs Ihnennicht gleich gesagtldquo Statt-dessen bedanke ich mich bescheiden fuumlrIhreBereitschaftweiterzulesen Ich gebe zudas faumlllt mir manchmal schwerGeschriebener Text schraumlnkt dieMoumlglich-

keiten etwas einDarumstellen Sie sichbitte

die obenangedeutete Szene als persoumlnlichesGespraumlch vor In diesem Fall koumlnnte ich ausdem W-Vollen schoumlpfen Wenn Sie mir zuverstehen geben dass Sie sich selbst schonmit dem Thema befasst haben dann werdeich Sie beispielsweise fragen bdquoDas freutmich Welche Erfahrungen haben Sie ge-machtldquo oder bdquoWas wuumlrden Sie aus IhrerErfahrung empfehlenldquo Jetzt habe ich dieChance etwas von Ihnen zu lernen Gleich-zeitig spare ich Energie und Uumlberzeugungs-arbeit weil ich einfach nur zuhoumlre Ich wer-de IhreAussagendurchRuumlckmeldungenwiebdquointeressantldquo oder bdquoDa stimme ich Ihnen zuldquounterstreichen Mit meinen Fragen will ichnicht beweisen dass ich der Schlauere binsondern dass Fragen ein echtesWundermit-tel sind Durch interessiertes Nachfragenkann ich Ihnen dabei helfen neue Aspektezu entdecken Was tue ich wenn ich eineandere Meinung habe Statt Geschuumltze wiebdquoJa aberhellipldquo oder bdquoNein das kann nicht seinweilhellipldquo aufzufahren umSie rhetorisch abzu-wuumlrgen oder zu knebeln ist es erheblichnuumltzlicher die Hintergruumlnde Ihrer Darstel-lungdurchFragenherauszufinden Falls Siefalsch liegen kommen Sie vielleicht durchdenVersuchmeine Fragen zubeantwortenselbst dahinter Ich spare mir dann die an-strengende Prozedur der Gegenargumenta-tion Dann werde ich uns beide dazu be-gluumlckwuumlnschen dass wir unser Wissen ge-meinsam bereichert haben ndash denn genauso

ist es Sollte ich derjenige sein der falschliegt kann ich dazulernen ohne mir eineBloumlszlige zu gebenJetzt stellen Sie mir da ich mich als Fra-

genfreundgeoutet habe eine Fragewie bdquoWaswuumlrdenSie tunwenneinunselbststaumlndigerMitarbeiter staumlndig fragt was er tun sollldquoIch wuumlrde wie sollte es anders sein post-wendendeineGegenfrage stellen bdquoWas glau-ben Sie wuumlrde ich tunldquo und Ihnen damitschon die Antwort in den Mund legen fra-gen Tolle Fragen in solchen Situationensind Was haben Sie oder andere in aumlhnli-chen Situationen getan Warum glaubenSie hat es bisher nicht funktioniertldquo Da-nach bringe ich hoffentlich die Geduld fuumlrzweiVerhaltensweisen auf die fuumlr denErfolgeiner Frage wichtig sind Erstens halte ichden Mund um Ihnen Zeit zum NachdenkenzugebenAlsGefragter habenSie es naumlmlichnicht leicht Sie denkennun zuerst uumlbermei-ne Frage und dann uumlber Ihre Antwort nachWenn ich waumlhrend Sie gruumlbeln die Frageselbst beantworte oder noch eine Frage hin-terher schieszlige habe ich alles verdorben Ichzaumlhle also im Kopf bis 5 um diese Falle zuvermeiden Zweitens zeige ich Ihnen wennSie antworten durchAugenkontakt Nickenkurze Ruumlckmeldungen und Verstaumlndnisfra-gen mein Interesse Aktives Zuhoumlren ist diebeste Gewaumlhr dafuumlr dass mir nichts Wichti-ges entgeht und es ist ein Zeichen groszligerWertschaumltzung So gewinne ichdurchFragenund Zuhoumlren Ihre Sympathie Das Wundervollzieht sich also in drei Schritte FragenWarten Zuhoumlren Wenn Sie auf diese Weiseeine gute Idee finden goumlnne ich Ihnen IhrErfolgserlebnis und sage so etwas wie bdquoSu-per das houmlrt sich interessant anldquo Und ichlege gleichnoch eine Frage als ZugabedraufbdquoWannglaubenSiewerdenSie die Idee aus-probierenldquo Diese nachgeschobene Fragehat gegenuumlber einer Aufforderungwie bdquoPro-bieren Sie es doch morgen gleich ausldquo dengroszligen Vorteil dass ich so Ihr Gefuumlhl derEigenverantwortung erhalte bzw foumlrdere IchbeendediesenkurzenAusflug indieWelt derW-Wunder wie auch sonst mit einer FrageHaben Sie Interesse zum Thema Fragetech-nikenWollen Sie eine kostenlose Checklis-te zu Fragetechniken Dann senden Sie mirbitte eine E-Mail an psiwondie-menschli-che-Seitede hEh

Mit Fragen zum Projekterfolg Peter Siwon beschaumlf-tigt sich seit mehr als 20 Jahren mit den ThemenGehirn und Psyche im Zusammenhang mit derProjektarbeit in technischen Berufen

InfoClick 3370352

26 ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

RedaktionChefredakteur Johann Wiesboumlck (jw) ViSdP fuumlr die redaktionellen InhalteRessorts Zukunftstechnologien Kongresse Kooperationen Tel (09 31) 4 18-30 81Chef vom dienst Peter Koller (pk) Tel (09 31) 4 18-30 98Verantwortlich fuumlr dieses Sonderheft Franz Graser Tel -30 92Redaktion Muumlnchen Tel (09 31) 4 18-Franz Graser (fg) Prozessor- und Softwarearchitekturen Embedded Plattformen Tel -30 92Martina Hafner (mh) Produktmanagerin Online Embedded Software Engineering KongressTel -30 82Hendrik Haumlrter (heh) Messtechnik Testen EMV Medizintechnik Laborarbeitsplaumltze DisplaysOptoelektronik Embedded Software Engineering Tel -30 92Holger Heller (hh) ASIC Entwicklungs-Tools Embedded Computing MikrocontrollerProzessoren Programmierbare Logik SOC Tel -30 83Gerd Kucera (ku) Automatisierung Bildverarbeitung Industrial Wireless EDALeistungselektronik Tel -30 84Thomas Kuther (tk) Kfz-Elektronik Stromversorgungen Oszillatoren Passive BauelementeTel -30 85Kristin Rinortner (kr) Analogtechnik Mixed-Signal-ICs Elektromechanik Relais Tel -30 86Margit Kuther (mk) Bauteilebeschaffung Distribution Beruf amp Karriere Tel (0 81 04) 6 29-7 00Freie Mitarbeiter Prof Dr Christian Siemers FH Nordhausen und TU Clausthal Peter SiwonMicroConsult Sanjay Sauldie EIMIA Hubertus Andreae dreiplus praxisbegleitendeInnovationsfoumlrderungVerantwortlich fuumlr die Fed-news Dr Stephan Weyhe FED Alte Jakobstr 8586 D-10179 BerlinTel (0 30) 8 34 90 59 Fax (0 30) 8 34 18 31 wwwfeddeRedaktionsassistenz Eilyn Dommel Tel -30 87RedaktionsanschriftMuumlnchen Grafinger Str 26 81671 Muumlnchen Tel (09 31) 4 18-30 87 Fax (09 31) 4 18-30 93Wuumlrzburg Max-Planck-Str 79 97082 Wuumlrzburg Tel (09 31) 4 18-24 77 Fax (09 31) 4 18-27 40LayoutMichela Deppe Joachim Haselmann Carolin Frank Sigrid Rau Meike Herkersdorf Mar-kus Mager

eLektRonikPRaXiS ist organ des Fachverbandes elektronik-design eV (Fed)Fed-Mitglieder erhalten eLektRonikPRaXiS im Rahmen ihrer Mitgliedschaft

VeRLagVogel Business Media GmbH amp Co KG Max-Planck-Straszlige 79 97082 WuumlrzburgPostanschriftVogel Business Media GmbH amp Co KG 97064 WuumlrzburgTel (09 31) 4 18-0 Fax (09 31) 4 18-28 43BeteiligungsverhaumlltnisseVogel Business Media Verwaltungs GmbHKommanditistin Vogel Medien GmbH amp Co KG Max-Planck-Straszlige 79 97082 Wuumlrzburggeschaumlftsfuumlhrung Stefan Ruumlhling (Vorsitz) Florian Fischer Ernst Haack Guumlnter SchuumlrgerPublisher Johann Wiesboumlck Tel (09 31) 4 18-30 81anzeigenleitung Franziska Harfy Tel (09 31) 4 18-30 88Fax -30 93 Grafinger Str 26 81671 Muumlnchen franziskaharfyvogeldeanzeigenverkauf Wuumlrzburg Tel (09 31) 4 18- Fax (09 31) 4 18-28 43Susanne Muumlller Tel -23 97 susannemuellervogeldekey-account-Manager Tel (09 31) 4 18- Fax (09 31) 4 18-28 43Hans-Juumlrgen Schaumlffer Tel -24 64 hansschaeffervogeldeClaudia Fick Tel -30 89 Fax -30 93 Grafinger Str 26 81671 Muumlnchen claudiafickvogeldeMarketingleitung Elisabeth Ziener Tel (09 31) 4 18-26 33auftragsmanagement Claudia Ackermann Tel (09 31) 4 18-20 58 Maria Duumlrr Tel (09 31) 4 18-22 57anzeigenpreise Zur Zeit gilt Anzeigenpreisliste Nr 47 vom 01 01 2012Vertrieb Leser- und abonnenten-Service DataM-Services GmbHFranz-Horn-Straszlige 2 97082 Wuumlrzburg Thomas Schmutzler Tel (09 31) 41 70-4 88 Fax -4 94tschmutzlerdatam-servicesde wwwdatam-servicesdeerscheinungsweise 24 Hefte im Jahr (plus Sonderhefte)

Verbreitete auflage 40009 Exemplare (IVWEDA Audit Oktober 2011)Angeschlossen der Informationsgemeinschaft zur Feststellung der Verbreitung von Wer-betraumlgern Sicherung der AuflagenwahrheitBezugspreis Einzelheft 900 EUR Abonnement Inland jaumlhrlich 19700 EUR inkl MwSt

Abonnement Ausland jaumlhrlich 22820 EUR (Luftpostzuschlag extra) Alle Abonnementpreiseverstehen sich einschlieszliglich Versandkosten (EG-Staaten ggf +7 USt)Bezugsmoumlglichkeiten Bestellungen nehmen der Verlag und alle Buchhandlungen im In- undAusland entgegen Sollte die Fachzeitschrift aus Gruumlnden die nicht vom Verlag zu vertretensind nicht geliefert werden koumlnnen besteht kein Anspruch auf Nachlieferung oder Erstattungvorausbezahlter Bezugsgelder Abbestellungen von Voll-Abonnements sind jederzeit moumlglichBankverbindungen HypoVereinsbank Wuumlrzburg (BLZ 790 200 76) 326 212 032SWiFt-Code HY VED EMM 455 IBAN DE65 7902 0076 0326 2120 32Herstellung Andreas Hummel Tel (09 31) 4 18-28 52Frank Schormuumlller (Leitung) Tel (09 31) 4 18-21 84druck Vogel Druck und Medienservice GmbH 97204 Houmlchbergerfuumlllungsort und gerichtsstandWuumlrzburgManuskripte Fuumlr unverlangt eingesandte Manuskripte wird keine Haftung uumlbernommenSie werden nur zuruumlckgesandt wenn Ruumlckporto beiliegtinternet-adresse wwwelektronikpraxisde wwwvogeldedatenbank Die Artikel dieses Heftes sind in elektronischer Form kostenpflichtig uumlber dieWirtschaftsdatenbank GENIOS zu beziehen wwwgeniosde

VeRLagSBuumlRoSVerlagsvertretungen inLand Auskunft uumlber zustaumlndige VerlagsvertretungenJens Otte Tel (09 31) 4 18-26 47 Fax (09 31) 4 18-28 57 jensottevogeldeaUSLand Belgien Luxemburg Niederlande SIPAS Peter Sanders Sydneystraat 105 NL-1448NE Purmerend Tel (+31) 299 671 303 Fax (+31) 299 671 500 petersandersvogeldeFrankreich DEF amp COMMUNICATION 48 boulevard Jean Jauregraves 92110 ClichyTel (+33) 14730-7180 Fax -0189groszligbritannien Vogel Europublishing UK Office Mark Hauser Tel (+44) 800-3 10 17 02Fax -3 10 17 03 markhausercomcastnet wwwvogel-europublishingcomUSaCanada VOGEL Europublishing Inc Mark Hauser 3321 Ashbourne CircleSan Ramon CA 94583 Tel (+1) 9 25-6 48 11 70 Fax -6 48 11 71

Copyright Vogel Business Media GmbH amp Co KG Alle Rechte vorbehalten Nachdruck digitale Verwendung jederArt Vervielfaumlltigung nur mit schriftlicher Genehmigung der Redaktion Fotokopieren veroumlffentlichter Beitraumlge istgestattet zu innerbetrieblichen Zwecken wenn auf jedes Blatt eine Wertmarke der Verwertungsgesellschaft WortAbt Wissenschaft in 80336 Muumlnchen Goethestraszlige 49 nach dem jeweils geltenden Tarif aufgeklebt wird Nachdruckund elektronische Nutzung Wenn Sie Beitraumlge dieser Zeitschrift fuumlr eigene Veroumlffentlichung wie Sonderdrucke Websi-tes sonstige elektronische Medien oder Kundenzeitschriften nutzen moumlchten erhalten Sie Information sowie dieerforderlichen Rechte uumlber httpwwwmycontentfactoryde (09 31) 4 18-27 86

Impressum

EDA

Wuumlrzburg 19 ndash 20 Juni 2012Vogel Convention CenterVCC

wwwsteckverbinderkongressde

Anwender sprechenmit Herstellern

Kongress und Tabletop-Ausstellung

Programm Unter wwwsteckverbinderkongressdefinden Sie die ausfuumlhrliche Agenda

Keynote Herausforderung Miniaturisierung ndash ZukuumlnftigeAnforderungsprofile bei Steckverbindern

Themen Applikationsspezifische Steckverbinder Kompakt-Steckverbinder fuumlr hohe Datenraten

Miniaturisierung Intelligente Steckverbinder Steckverbinder fuumlr besondere Anwendungen Qualifizierung Werkstoffe Verarbeitungsprozesse

Workshops Umspritzen von Kabeln Abdichten von Steckverbindungen Messtechnik Thermosimulation Design-in 3-D-Modellierung Schadensanalytik Beschichtungsverfahren

Aumlnderungen vorbehalten

Saumlmtliche Informationen zur Veranstaltung finden Sie unter---gt wwwsteckverbinderkongressde

Veranstalter

in Zusammenarbeit mit den Industriepartnern

07908

Alle Informationen unter wwwese-kongressde

Hauptsponsoren 2012 Veranstalter

20123ndash 7 Dezember 2012 in Sindelfingen

bdquoWissen ist das einzige Gutdas sich vermehrtwenn man es teiltldquo

(Marie Freifrau von Ebner-Eschenbach oumlsterreichische Schriftstellerin)

ESE Kongress ndash Ideen entwickeln Profis treffen Loumlsungen findenDer Embedded Software Engineering Kongress mit uumlber 800 Teilnehmern ist die groumlszligte deutschsprachigeVeranstaltung die sich ausschlieszliglich der Entwicklung von Geraumlte- Steuerungs- und Systemsoftware fuumlrIndustrie Kfz Telekom sowie Consumer- und Medizintechnik widmet Vom 3 bis 7 Dezember trifft sichdie Embedded-Software-Branche wieder in Sindelfingen ndash wir freuen uns auf Sie

Aussteller und Sponsoren 2012Axivion BBV Software Services dSPACE EASYCODE ELEKTRONIKPRAXIS emlix ETAS Fraunhofer IESEGreen Hills Software Hitex IAR Systems IMACS Infineon Intland Software iSYSTEM Lauterbach LDRALogic Technology linutronix macio MicroConsult National Instruments Noser Engineering Parasoftpls Programmierbare Logik amp Systeme Protos pure-systems QA Systems QNX Software Systems SafeTRANSseppmed Software Quality Lab SparxSystems Vector Informatik Vector Software Verifysoft Technology WillertSoftware Tools Zuumlhlke

Seit 30 Jahren vertrauen weltweit fuumlhrende Firmen Green Hills Softwarersquos sicherer undzuverlaumlssiger Software fuumlr sicherheitskritische Systeme

Fuumlr Luftfahrt- und Automobilindustrie fuumlr Telecom- Medizin- und Industrietechniksowie fuumlr intelligente Energienetze hat Green Hills Software erprobte und zuverlaumlssigeTechnologie geliefert

Wenn Sie wissen moumlchten wie eines der weltweit sichersten und zuverlaumlssigstenBetriebssysteme und dessen Entwicklungstools das Risiko aus Ihrem naumlchstenProjekt nehmen kann besuchen Sie uns unter wwwghscoms4e

Copyright copy 2012 Green Hills Software Green Hills Software and the Green Hills logo are registered trademarks ofGreen Hills Software All other product names are trademarks of their respective holders

Vertrauenswuumlrdige softwarefuumlr embedded deVices

safereliable

secure

  • Seite 1
  • Seite 2
  • Seite 3
  • Seite 4
  • Seite 5
  • Seite 6
  • Seite 7
  • Seite 8
  • Seite 9
  • Seite 10
  • Seite 11
  • Seite 12
  • Seite 13
  • Seite 14
  • Seite 15
  • Seite 16
  • Seite 17
  • Seite 18
  • Seite 19
  • Seite 20
  • Seite 21
  • Seite 22
  • Seite 23
  • Seite 24
  • Seite 25
  • Seite 26
  • Seite 27
  • Seite 28
Page 6: Securityineingebetteten Softwaresystemenfiles.vogel.de/vogelonline/vogelonline/issues/ep/2012/...Securityineingebetteten Softwaresystemen Angreifer nehmen Industriesteuerungen,Stromnetzeund

Die weltweitGROumlszligTE AUSWAHLELEKTRONISCHERKOMPONENTEN

Verfuumlgbar fuumlr die sofortige Lieferung

08001800125DIGIKEYDEMEHR ALS 550000 PRODUKTE AUF LAGER | MEHR ALS 500 LIEFERANTEN | NEUE PRODUKTE WERDEN TAumlGLICH HINZUGEFUumlGT

Fuumlr alle Bestellungen unter 6500 euro wird eine Versandgebuumlhr von 1800 euro erhoben Alle Bestellungen die mit UPS versandt werden haben eine Lieferzeit von 1-3 Tagen (abhaumlngig vom Endbestimmungsort) Keine Bearbeitungsgebuumlhren AllePreise verstehen sich in Euro und enthalten Zollgebuumlhren Bei einem zu groszligen Gewicht oder bei unvorhergesehenen Umstaumlnden die eine Abweichung von diesem Tarif erfordern werden Kunden vor dem Versand der Bestellung kontaktiertDigi-Key ist ein autorisierter Distributor fuumlr alle Vertriebspartner Neue Produkte werden taumlglich hinzugefuumlgt copy 2012 Digi-Key Corporation 701 Brooks Ave South Thief River Falls MN 56701 USA

8

EmbEddEd-Entwicklung TesT und QualiTaumlTssicherung

ELEKTRONIKPRAXIS embedded software engineering report Juni 2012

eine Zweiguumlberdeckung von 100 Dasheiszligt Sowohl der then-Zweig als auch derelse-Zweig der if-Anweisung wurden ausge-fuumlhrt Und da unsere beiden Testfaumllle nichttrivial sind sollten wir fertig sein ndash oderUmuns zu vergewissern koumlnnenwir unser

Testobjekt mutieren Viele der moumlglichenMutationen wuumlrden durch unsere beidenTestfaumllle aufgedeckt zumBeispielwenndieEntscheidung bdquo(A ampamp B)ldquo zu bdquo(C ampamp B)ldquo ver-aumlndert wird Hier schlaumlgt der erste TestfallfehlWird jedoch in der Entscheidung die Vari-

able B durch C ersetzt so wird diese Muta-tion nicht erkanntshort shiftC(short A short B short C)if (A ampamp C)return Cltlt1elsereturn Cltlt2

Wird in der Entscheidung das logischeUND (ampamp) durch ein bitweises UND (amp) er-setzt wird diese Mutation ebenfalls nichterkanntshort shiftC(short A short B short C)if (A amp B)return Cltlt1elsereturn Cltlt2

Beide nicht erkannten Mutationen sind

subtil veraumlndern jedoch das Verhalten desTestobjekts signifikant und koumlnnen durcheinen Denk- oder auch einen Fluumlchtigkeits-fehler relativ leicht entstehenUmden zweitenMutanten zu toumlten reicht

es aus dieWerte eines der beiden bestehen-den Testfaumllle zu aumlndern ZumBeispiel koumlnn-te man im zweiten Testfall einfach denWert2 fuumlr B verwenden (allerdingsnicht denWert5)

Um beide Mutanten nachhaltig zu toumlten(das heiszligt ohne dass unmittelbar spiegel-bildliche Mutationen moumlglich werden dienicht getoumltet wuumlrden) benoumltigt man einendritten Testfall in dem die Variable B denWert 0 annimmt Die Tabelle 2 im Kastenlinks zeigt die ResultateMit dendrei Testfaumll-len in der Tabelle 2 werden beide Mutantenerkannt Durch die Verwendung von dreiTestfaumlllen wird uumlberdies der Code-Uumlberde-ckungsgrad von 100 Zweiguumlberdeckungauf 100MCDC (Modified ConditionDeci-sion Coverage ein Kriterium des StandardsDO-178B) erhoumlhtMit Hilfe eines Mutationstests kann man

auchTestfallmengenbewerten Eine Testfall-menge heiszligt adaumlquat wenn sie alle Mutan-ten aufdeckt Von zwei adaumlquaten Testfall-mengen ist natuumlrlich diejenige mit wenigerTestfaumlllen vorzuziehenDies ermoumlglicht auchdenVergleich von Testfallkonstruktionsver-fahrenMankanndie IdeedesMutationstestszur Reduzierung der normalerweise groszligenZahl vonautomatisch generiertenTestfaumlllenverwenden [5] Ein Testfallmussmindestenseinen Mutanten toumlten der bisher noch vonkeinem anderen Testfall getoumltet wurde umnicht verworfen zu werden

Mutationstests aus Sicht derNorm IEC 61508DieNorm IEC 61508 bezeichnet denMuta-

tionstest als bdquoDurchfuumlhrung von Testfaumlllennach Fehlereinpflanzungldquo und empfiehltdies fuumlr Safety Integrity Level (SIL) 2 bis 4Die IEC61508 fuumlhrt auchaus dassmanaus

der Anzahl der Fehler die eine Testsuite ineinem originalen Testobjekt entdeckt undder Zahl der Mutationen die diese Testsuiteermittelt eine Abschaumltzung fuumlr die Gesamt-zahl der im Testobjekt vorhandenen Fehlerfinden kann (praumldizierend) Das Verhaumlltnisder erkanntenMutanten zurGesamtzahl derMutanten ist gleichdenVerhaumlltnis der gefun-denenFehler imoriginalenTestobjekt zuderGesamtzahl der Fehler imoriginalenTestob-jekt Diese Abschaumltzung setzt natuumlrlich diegleiche statistischeVerteilung vonArtenundPositionen der Mutationen und der tatsaumlch-lichen Fehler voraus Wenn beispielsweisedie tatsaumlchlichen Fehler fehlerhafte Berech-nungen sind jedoch keine arithmetischenMutationen verwendetwerdenwirddieAb-schaumltzung kaum zutreffen

Eine Variante Der schwacheMutationstestObwohl sichdas aumluszligere Programmverhal-

ten des Mutanten gegenuumlber dem Originalnicht aumlndert kann es sein dass ein Testfallim Innern desMutanten einen anderen Pro-

Auswertung der Testergebnisse

die Tabelle 1 zeigt zwei Testfaumllle fuumlr dieFunktion bdquoshiftc()ldquo in den spalten a Bund c werden die eingabewerte fuumlr dieeingangsvariablen a B und c der Funk-tion angegeben das ergebnis der Funk-tion bdquoshiftc()ldquo ist der bdquoreturnldquo-Wert derFunktion er steht in der spalte bdquoergeb-nis von shiftc()ldquo die eingabewerte sindmit bdquoildquo fuumlr bdquoinputldquo markiert der ausga-bewert mit bdquooldquo fuumlr bdquooutputldquoim ersten Testfall (Tabelle 1 tc11) hatdie eingabevariable a den Wert 0 B denWert 1 und cdenWert 2 da a null ist lau-tet die entscheidung der bdquoifldquo-anweisungbdquofalseldquo der bdquoelseldquo-Zweig der bdquoifldquo-anwei-sung wird ausgefuumlhrt dadurch wird die

Variable c um 2 stellen nach links ge-schoben in der Binaumlr-darstellung wirdalso 0010 (was dezimal 2 entspricht)zu 1000 (was dezimal 8 entspricht)bdquoshiftc()ldquo gibt 8 als ergebnis zuruumlckim zweiten Testfall (Tabelle 1 tc21) hatdie eingabevariable a den Wert 1 B denWert 1 und c den Wert 3 da a und B jeeins sind lautet die entscheidung derbdquoifldquo-anweisung bdquotrueldquo der bdquothenldquo-Zweigder bdquoifldquo-anweisung wird ausgefuumlhrt dieVariable c ruumlckt um eine stelle nachlinks in der Binaumlr-darstellung wird also0011 (was dezimal 3 entspricht) zu 0110(was dezimal 6 entspricht) bdquoshiftc()ldquogibt 6 als ergebnis zuruumlck

A b c ErgEbnis von shiftc()

i i i o

tc11 0 1 2 8

tc21 1 1 3 6

Tabelle 1 Zwei Testfaumllle fuumlr die originale Funktion shiftC()

A b c ErgEbnis von shiftc()

i i i o

tc11 0 1 2 8

tc21 1 2 3 6

tc31 1 0 3 12

Tabelle 2Mit diesen drei Testfaumlllen werden beide Mutanten erkannt

EmbEddEd-Entwicklung TesT und QualiTaumlTssicherung

Erlaumluterung von FachbegriffenFault Injectionin das nicht mutierte Testobjekt werdenFehler von auszligen injiziert um die ro-bustheit zu pruumlfenFehlermodell (Fault model)die Kategorien der moumlglichen Mutati-onen diese sind natuumlrlich bei einemc-Programm als Testobjekt anders alsz B in einem Zustandsdiagramm einBeispiel fuumlr ein Fehlermodell fuumlr Testob-jekte in der Programmiersprache c ist imartikel angegebenKopplungseffekt (Coupling effect)Wird ein Mutant mit einer einzelnenMutation durch eine Testfallmenge ent-deckt so werden auch mehrfache Muta-tionen entdeckt

Fehlereinpflanzung (Error seeding)in der norm iec 61508 heiszligt der Mutati-onstest bdquoFehlereinpflanzungldquo bzw bdquoer-ror seedingldquoStarker Mutationstest (Strong mutationtest)der Mutant wird nur von auszligen betrach-tet (Black Box) und der Mutant wird nurdurch einen Testfall entdeckt der nachauszligen ein anderes ergebnis liefert alsdas OriginalSchwacher Mutationstest (Weak mutati-on test)ein Testfall sorgt im innern des Mutan-ten fuumlr ein anderes Verhalten als beimOriginal dieses andere Verhalten wirdjedoch nicht nach auszligen sichtbar

grammablauf erzeugt als im Original Dannspricht man von schwachemMutationstestunsigned int absolute (int x)if (x lt 0)return -xreturn xDie Mutation von lsquoltrsquo zu lsquolt=rsquo wird nach au-

szligen nicht sichtbar

Der Unterschied zurFault InjectionNicht zu verwechselnmit demMutations-

test ist die Fault Injection die beispielsweisein der Norm ISO 26262 [2] als Testmethodeerwaumlhntwird Bei einer Fault Injectionbleibtdas Testobjekt in seinemOriginalzustand eswird nicht mutiert Der Fehler wird auszliger-halb des Testobjekts erzeugtWenndas Test-objekt Software ist waumlre beispielsweise dasVeraumlndern (Korrumpieren) des Speichers fuumlrdie Variablen waumlhrend der Ausfuumlhrung derSoftware eine Fault Injection Die Softwareliest also aus einer Variablen nicht denWertzuruumlck den sie vorher abgespeichert hat DieFrage ist ob dies Auswirkungen hat und obdie Softwaremit einer solchenSituationum-gehen kannFault Injection ist also einRobustheitstest

zum Beispiel bezuumlglich der Auswirkungenvon Bitflips durch kosmische StrahlungDurch eine Fault Injection kann auch derProgrammspeicher des Testobjekts (willkuumlr-lich) geaumlndert (korrumpiert) werden Diessehenwir jedochnicht alsMutation die denSinn hat Programmierfehler im Quellcodeaufzudecken sondern vielmehr als Robust-heitstest FG

Hitex Development Tools +49(0)72196280

Literaturhinweise[1] IEC 61508 Teil 3 Tabelle B2 = Empfehlung

Fehlereinpflanzung sowie Teil 7 C56 = Be-schreibung Fehlereinpflanzung

[2] ISOFDIS 26262 Teil 6 Tabellen 10 und 13[3] Liggesmeyer Peter Software-Qualitaumlt Testen

Analysieren und Verifizieren von SoftwareHeidelberg Berlin 2002 Spektrum Akademi-scher Verlag

[4] Dirk W Hoffmann Software-Qualitaumlt Springer-Verlag Berlin Heidelberg 2008

[5] Wolfgang Herzner Rupert Schlick HaraldBrandl JohannesWiesalla Towards Fault-basedGeneration of Test Cases for Dependable Em-bedded Software in Softwaretechnik-TrendsGesellschaft fuumlr Informatik eV Band 31 Heft 3August 2011

[6] A Jefferson Offut Clemson University Investi-gations of the software testing coupling effectin ACM Transactions on Software EngineeringandMethodology New York Volume 1 Issue 1Jan 1992

[7] Tessy httpwwwhitexdetessy

acht irrtuumlmer uumlber code coverage

Bugs und defekte in Multitasking-softwareeliminieren

InfoClick

wwwelektronikpraxisde infoclick 3343128

AURIX - Over 10 years of Multicore Debuggingmakes the difference

AURIX

HSMTriCore 0 GTM

Debugand

SerialTrace

TRACE32

TRACE32

TRACE32

TRACE32

Debugging Multicore of years 10 Over - AURIXdifference the makes

AURIXAURIX

HSMTriCore 0 GTM

Debugand

SerialTrace

TRACE32

TRACE32

TRACE32

TRACE32

wwwlauterbachcom1652

10

Softwareentwicklung SoftwareSicherheit teil 2

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Die drei Gesichter der SicherheitIm zweiten Teil unserer Serie fassen wir einige Meinungen von

Experten des vergangenen ESE Kongresses zum Thema Security zu-sammen Im Mittelpunkt stehen dabei unbefugte Zugriffe oder die

gezielten Angriffe auf Embedded-Systeme

PETER SIwON uNd ALEXANdER SEdLAK

Peter Siwon ist Business Development Manager beim Schu-lungs- und Consulting-Spezialist MicroConsult inMuumlnchen und

Embedded-Systeme sind stets Software-und Hardwarekomponenten die inVerbindung mit Sensoren und Aktua-

toren in umgebende technische Systeme in-tegriert sind umkomplexe Steuerungs- undDatenverarbeitungsaufgaben zu uumlberneh-men Die Sicherheit im allgemeinen Sinne

bezeichnet einen Zustand der frei von un-vertretbaren Risiken ist Das wird in derNorm IEC 61508 so definiert Safety oderfunktionale Sicherheit bedeutet in diesemZusammenhang dass ein System in den zuerwartendenSituationenundZustaumlndenbeiordnungsgemaumlszliger Nutzung keine koumlrperli-chen oder finanziellen Schaumlden verursachtSecurity koumlnnte man demnach so genauerdefinieren Die Betriebs- und Datensicher-heit darf durch aumluszligere Einfluumlssenicht gestoumlrtoder gar verhindert werden Security hat ei-ne doppelte Bedeutung Einerseits sorgt siedafuumlr dass die Betriebssicherheit erhalten

bleibt andererseits versteht man darunterdieGesamtheit derMaszlignahmen umein Sys-tem nach auszligen zu schuumltzen Das unter-streicht sowohl die Abgrenzung dieser Be-griffe zeigt aber auch wie eng sie zusam-menhaumlngenNebenderWahl geeigneter Softwarearchi-

tekturen und Programmiermethoden spieltbei der Security oftmals die Gestaltung oderAuswahl derHardware eine bedeutendeRol-le Es handelt sich um Hightech im Verbor-genenmit derenHilfe produkt- und system-spezifische Eigenschaften uumlberhaupt erstrealisiertwerdenkoumlnnenAls Beispiele seienhier Fahrerassistenzsysteme mobile medi-zinischeGeraumlte undAutomatisierungssyste-me genannt Wichtige Stichwoumlrter in demZusammenhang sind die Gestaltung von In-terfaces Netzstrukturen oder schlicht dersichere Einbau einer Komponente

wuumlrmer Viren amp Co ndash Schutzvor gezielten AngriffenIn seinem Vortrag Sichere Netze der Zu-

kunft auf demESEKongress 2011 definierteProf Dr-Ing Hans-Joachim Hof von derHochschule Muumlnchen den Begriff pragma-tisch Die Security ist der Schutz vor geziel-temundhoumlchstwahrscheinlich auchboumlswil-ligemHandelnmit demZiel VertraulichkeitIntegritaumlt oder Authentizitaumlt zu erreichenDas kann sich in der Realitaumlt als nicht ganzeinfach erweisen daman zumZeitpunkt derProjektierung in der Regel nicht weiszlig wel-cher Art von Angriff ein System irgendwannausgesetzt sein wird Besonders bei aumllterenSystemenkann sichdas als geradezudrama-tische Gefahr erweisen Prof Dr Hof sprichthier ganz plastisch von der Goumltterdaumlmme-rungder IT-Sicherheit EinBild daswirklichpasst denn das Vertrauen auf sichere IT-Komponenten Embedded-Systeme undAumlhnliches grenzt oft wirklich an ein sagen-haftesGottvertrauen FrappierendesBeispielhierfuumlr ist der Computerwurm Stuxnet der2010 fuumlr groszligeUnruhe und Schaumlden verant-wortlich war Stuxnet war in einer Weiseaktiv die bis dahin imGrunde als nichtmoumlg-

ExpertenmeinungenWie lassen sich Embedded-Systeme vor unbefugtem Zugriff oder gezielten Angriffenschuumltzen

BilderG

erdaltm

annpixeliode

Alexander Sedlak ist als freier Autor taumltig

Softwareentwicklung SoftwareSicherheit teil 2

lich galt Der Wurm konnte Grenzen physi-kalisch getrennterNetze uumlberspringen Stux-net zielte vermutlich erfolgreich auf eineUrananreicherungsanlageWegendeshohenSchutzbedarfs von Atomanlagen schien soeinAngriff bis dahin schlicht nichtmoumlglichDen aktuellen Moumlglichkeiten des technischMachbaren druumlckte Stuxnet damit seineneigenen Stempel auf Eine optimierte Be-triebssicherheit wie im Beispiel der Atom-anlagewurdemangels ausreichender Secu-rity zum Sicherheitsrisiko

Der menschliche FaktorWenn Hacker aktiv werdenBedrohungen durch Hacker stellen die

Entwickler vonEmbedded-Systemenvor zu-nehmendeHerausforderungenDieReferen-ten des Schweizer Kommunikations- undTechnikdienstleisters Albis Technologiesstellten imVortrag EmbeddedSecurityHa-ckern einen Schritt voraus zunaumlchst diezunehmende Vernetzung von Embedded-Systemen heraus Und obwohl dadurchme-chanischeBarrieren zwischendenSystemenimmermehrwegfallen beruht die Sicherheitparadoxerweise haumlufig auf physikalischerSicherheit und weniger auf Cyber-Securityoder Informationssicherheit Und das ob-wohl es gerade in Infrastrukturnetzen wiezumBeispiel der aktuell diskutierten intelli-gentenStromversorgung vongroszliger Bedeu-tung ist dass die vernetzten Komponentenautonom ohne Benutzereingaben und vorunbefugten Zugriffen geschuumltztmiteinanderkommunizieren koumlnnenWas koumlnnte die Loumlsung sein Die Referen-

ten stellten ein Modell Hardware-basierterIT-Sicherheitsarchitektur fuumlr Embedded-

Systeme indenRaum InderenZentrumstehtein Security Controller oder ein Trusted-Platform-Modul also ein sicherer Speicherfuumlr digitale Schluumlssel Dieses dient dazu ei-ne Art Zentrum fuumlr kryptografische Operati-onen zu bilden Das Modul muss an den lo-kalenComputer gebunden seinundnicht aneinen bestimmten Benutzer Es ist dann un-moumlglich das Trusted-Platform-Modul entge-gen den Interessen des Eigentuumlmers zu nut-zen sofern dieser Beschraumlnkungen festge-legt hat eine Basis fuumlr die sichere Kommu-nikation der Netzteilnehmer Es kanngelingen beispielsweise aus einem Embed-ded-Geraumlt mit angepasster Software und ei-nem entsprechenden Betriebssystem einevertrauenswuumlrdige Plattform zumachenIntelligente Stromnetze auchSmart Grids

genannt erfordern fuumlr die Ermittlung desindividuellen Strombedarfs unddie korrekteAbrechnungdieVerwendung ebenso intelli-genter Verbrauchszaumlhler der sogenanntenSmartMeterHier gibt es zahlreiche Szenari-en die boumlswilliges Eindringen mit Betrugs-absicht ermoumlglichen Erschwerend ist dieLiberalisierung des Strommarktes Zahlrei-cheKlein- undKleinststromlieferantenndashausWasserkraft oder Photovoltaikanlagen ndashspeisen in die Netze ein Letztlich alles Ein-fallstore fuumlr moumlgliche Angriffe zum Zweckder kriminell motivierten ManipulationAuch vor diesemHintergrund erarbeitet dasBundesamt fuumlr Sicherheit in der Informati-onstechnik (BSI) gemeinsam mit Industrie-partnern fuumlr Smart Meter ein neuartigesSchutzprofil Es strukturiert Bedrohungenund legt damit die Mindestanforderungenfest die Sicherheitsmaszlignahmen erfuumlllenmuumlssen Ziel ist dabei eine Zertifizierung von

Produktennachdefinierten SchutzkriterienDas vondenPartnern erarbeitete Schutzpro-fil 3 definiert ein anhand gemeinsamerKriterien festgelegtes Security Modul fuumlralle kryptografischen Operationen

Kryptologie ndash Software solltenicht zu knacken seinBei der Entwicklung von Embedded-Sys-

temen koumlnnen durch den Einsatz von kryp-tologischen Verfahren viele Prozesse sicheroder zumindest sicherer gemacht werdenReinhard Wobst (UNIX Software) hat in sei-ner Funktion als Softwareentwickler festge-stellt dassmit groszliger Regelmaumlszligigkeit immerwieder die gleichenFehler bei der Implemen-tierung von Kryptologie gemacht werdenWaumlhrend seines Vortrags auf dem ESE Kon-gress erklaumlrte erwarumundwie es Eindring-lingen oft unnoumltig leicht gemacht wird SogehenSoftwareentwickler haumlufig davonausdass niemand die von ihnen entwickeltenAlgorithmen knacken kann Das Gegenteilist der Fall Ein gaumlngiges Mittel ist etwa das

AURIX - Over 5 years of High-Speed Serial Tracingmakes the difference

Tracing Serial High-Speed of years 5 Over - AURIX Tracing Serial High-Speed of years 5 Over - AURIXdifference the makes difference the makes

wwwlauterbachcom1653

Psychologische Sicherheitsluumlcke Irren ist mensch-lich ndash sowohl auf Entwickler- wie auf Anwenderseite

12

Softwareentwicklung SoftwareSicherheit teil 2

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Microconsult Qualitaumlt und Sicherheit

teil 1 der Serie Die drei Gesichter derSicherheit

InfoClick

wwwelektronikpraxisde infoclick 3343156

Schreiben unklaren oder scheinbar verwor-renen Codes Doch gerade bei der heutigenVernetzungwird jedesVerfahren fruumlher oderspaumlter bekannt Interessant ist die auch vonWobst formulierte Erkenntnis dass derSelbsttest eines eigenentwickeltenAlgorith-musmoumlglicherweise zu demErgebnis fuumlhrtdass es nicht einmal dem urspruumlnglichenProgrammierer gelingt ihn zuknackenAberdieWirklichkeit sieht leider anders aus Je-der kann einenAlgorithmus entwickeln dener selbst nicht brechen kann aber es gehtdarum dass ihn andere nicht brechen koumln-nen[1]Letztlich siehtmanes einemAlgorithmus

auchwenner noch soobskur erscheint nichtan ob er nun sicher ist oder nichtWobst raumltseinen Entwicklerkollegen konservativ zuseinundbekannteundaltbewaumlhrteAlgorith-menundMethoden zunutzenDas ForschennachSicherheit solle denForschernuumlberlas-sen werden Anhand zahlreicher Beispielebelegte Reinhard Wobst wie schnell es ge-schehen kann dass ein SoftwareentwicklerGuteswollenddas Falsche tut bzw dasRich-tige nicht richtig macht Und er zeigte auchdie Grenzen auf die selbst einer perfekt im-plementierten Kryptologie gesetzt sind wiedenial of service Attacken oder der immererfolgversprechende Versuch das stetsschwaumlchste Element eines Walls von Maszlig-nahmen fuumlr die Sicherheit zu instrumentali-sieren den User selbst So kam Wobst beiseinem Vortrag zu der Schlussformel dassgesunderMenschenverstandniemals hinterFormalismenverschwindendarf Fuumlr dieRe-alisierung von Sicherheit gilt immer dassetwas Sicherheit besser ist als gar keine

Qualitaumlt und houmlchstmoumlglichesSicherheitsniveau fuumlr SoftwareWie real die Risiken von Angriffen auf

Embedded-Systeme sind zeigte Lucas vonStockhausen vonHewlett-Packard in seinemVortrag Mehr Sicherheit fuumlr EmbeddedCode amBeispiel einer Manipulation einerhandelsuumlblichen Insulinpumpe Es seimoumlg-

lich durch Umgehen von Restriktionen dieInsulindosis die eine solchePumpeautoma-tisch verabreicht aus einer Entfernung von100 m und voumlllig unbemerkt zu veraumlndernDamit koumlnnemaneinemDiabetiker jederzeiteine Uumlberdosis Insulin injizieren Diese Ge-fahr mag konstruiert erscheinen fuumlr denPumpenhersteller und fuumlr den Patienten istsie aber sehr real undhoumlchst bedrohlichDasBundesministerium fuumlrWirtschaft undTech-nologie stellte bereits 2010 eine zunehmendeund alarmierende Professionalisierung vonAngriffen fest Dabei berichten die Medienmeist nur uumlber die spektakulaumlrstenFaumlllewiezumBeispiel denbereits erwaumlhntenStuxnet-Wurm der fuumlr den Einsatz auf industrielleZiele optimiert wurde

Die psychologischenSicherheitsluumlckenViele Angriffe sind weniger spektakulaumlr

doch kaum weniger gefahrenvoll Geradeuumlberraschende Angriffsszenarien auf Em-bedded-Systeme zeigen wie schwierig essein kann schon inder Softwareentwicklungvorauszusehenwie ein spaumltererAngriff aus-sehen kann Aus diesem Grund spielt diesichere Softwareentwicklung der sichereCode eine entscheidende Rolle Angesichtsdes rasanten Fortschritts der von zuneh-mendemZeit- Konkurrenz- undErfolgsdruckzuverlaumlssig begleitetwirdmussnebenQua-litaumltsforderungen auch das houmlchstmoumlglicheSicherheitsniveau realisiert werdenBei Embedded-Software erfolgt eine ver-

besserte Zugangssicherheit uumlber Software-Updates sagte Prof Dr-Ing Hans-JoachimHof Daraus ergeben sich gleichermaszligenAufgaben fuumlr die Entwicklung von Soft- undHardware In puncto Hardware werden si-chere Interfaces undUumlbertragungsprozedu-renbenoumltigt Die Softwaremuss so aufgebautsein dass sie autorisiert korrigiert aber nichtohne Autorisierung manipuliert werdenkann Das Motto Verbauen und Vergessengehoumlrt damit derVergangenheit anNicht zuvergessen sinddie psychologisch bedingten

Sicherheitsluumlcken zudenenPeter SiwonvonMicroConsult in seinem Seminar bdquoIrren istmenschlichldquo Beispiele nannte Und das so-wohl auf Entwickler-wie aufAnwenderseiteUnter hohem Zeitdruck neigt man dazu Si-cherheitsregeln zu brechen Menschen neh-men dann houmlhere Risiken in Kauf um denStress loszuwerden Stresshormone schraumln-kenunsere Faumlhigkeit ein uumlber die langfristi-gen Folgen unseres Verhaltens nachzuden-ken Zudem leide unser Qualitaumltsbewusst-sein unter dem Beduumlrfnis den bdquoSchmerzldquoloszuwerden Beides zusammen stellt eineexplosive psychologische Mischung darWichtige Voraussetzungen fuumlr Security wiebeispielsweise umfassende Tests fallen un-ter den Tisch Eine weitere Sicherheitsluumlckeentsteht durch Denkfaulheit Um unser Ge-daumlchtnis zu entlasten greifen wir nicht nurbei Passwoumlrtern auf altgewohnte oder beque-me Denk- und Verhaltensmuster zuruumlckThomas Batt beim Training- und Consul-

tingspezialistenMicroConsult zustaumlndig fuumlrSoftware Engineering Management ziehtfolgendesResuumlmee bdquo(Horror-)Szenarien beidenenEmbedded-Systemedurch aumluszligereAn-griffe manipuliert werden oder bei denensogar die komplette Kontrolle uumlbernommenwird sind keine Hollywoodphantasien Wirsindheute von einer rasantwachsendenZahlvonEmbedded-Systemenumgebenundver-lassen uns darauf dass Herstellerfirmen siezugangs- undangriffssicher entwickeln tes-tenundproduzierenDochTatsache ist dassfuumlr den groumlszligten Teil des Embedded-Marktesdie Qualitaumltsmerkmale Zugangs- und An-griffssicherheit noch Neuland sind DieseQualitaumltsmerkmalemuumlssen sich kuumlnftigwieein roter FadendurchdengesamtenEntwick-lungs- und Produktionsprozess der Produk-te ziehen Dazu benoumltigen wir geeigneteMethoden - insbesondere fuumlr denTest - sowieunterstuumltzende Tools Standards und Zerti-fizierungen Doch selbst mit noch so hoch-entwickelten Maszlignahmen koumlnnen wir dieRisiken nur minimieren nicht aber voumllligausschlieszligenldquo hEh

MicroConsult +49(0)89 45060

Quellennachweis[1] B Schneier Memo to the Amateur Cipher

Designer

Zugriffs- und AngriffssicherheitDie Betriebssicherheit ist im groszligenMaszlige vom Schutz vor unbefugtem Zu-griff oder gezieltem angriff abhaumlngigBei der Security spielt oft die Gestaltungund auswahl der hardware eine bedeu-tende rolle Zu den feinden von embed-ded-Systemen zaumlhlen Viren wuumlrmer undhacker die auf die Systeme zugreifen

und sie manipulieren Mit geeignetenSchutzmaszlignahmen wie Kryptologie undentsprechender Programmierung lassensich embedded-Systeme sicherer gestal-ten Nicht zu vergessen sind auch diepsychologisch bedingten Sicherheits-luumlcken ndash denn auch der Programmiererselbst stellt ein Sicherheitsrisiko dar

13

EmbEddEd SoftwarE Aktuelles

ELEKTRONIKPRAXIS embedded software engineering Report Juni 2012

InfoClick 3371268

embedded-softwAReentwicklung

analysewerkzeug Goanna pruumlft Software auf potenzielle LaufzeitfehlerDas Karlsruher Entwicklungs-haus Hitex hat die Version 272des Analysewerkzeugs Goannaveroumlffentlicht Das Tool pruumlft inCC++geschriebenenCodenachmathematischenMethoden umUrsachen fuumlr Laufzeitfehler auf-zuspuumlren In der aktuellenVersi-on 272 finden sich vor allemDetailverbesserungen wie er-leichterteKonfigurierbarkeit DieKonfigurationsvarianten bdquoQuickCheckldquo und bdquoDeep Checkldquo sindvordefiniert Auszligerdem wurdendieAnalysemethodenbeschleu-nigt und praumlziser gestaltet An-

feruumlberlaumlufe die Zerstoumlrung vonSpeicherinhalten Divisionendurch Null Zugriffe mit unguumllti-gem Index und aumlhnliche Proble-me Die Analyse uumlberschreitetdabei nicht nur Funktions- son-dern auch Dateigrenzen DasSoftwarewerkzeug soll einfachinstallierbar sein und sich nachwenigen Minuten einsetzen las-sen Goanna ist in einer Kom-mandozeilenversion (GoannaCentral) sowie alsAdd-On fuumlr dieweit verbreiteten Entwicklungs-umgebungen Visual Studio vonMicrosoft sowie EclipseCDT

(Goanna Studio) verfuumlgbarGoannaCentral undGoannaStu-dio fuumlr Eclipse sind fuumlrWindowsundLinux verfuumlgbar DieVersionfuumlrVisual Studiounterstuumltzt nurWindows Beide Versionen gibtes als rechnergebundene oderals Floating-Lizenz Es gibt eineeine permanente Lizenzmit dreiJahrenSupport und eine zeitlichbegrenzten Lizenz fuumlr ein Jahrmit der Option auf zeitliche Ver-laumlngerung fg

Hitex

hand mathematischer Modelleund derMethode der abstraktenDatenwertverfolgung kannGoanna problematische Konst-rukte ermitteln die zur Laufzeitder Software zu Fehlern fuumlhrenDazu zaumlhlen Speicherlecks Puf-

Schnelles Android XobotOS ist eineAndroid-Variante die auf einer offe-nen Implementierung von MicrosoftsNET-Architektur basiert InfoClick 3348889

smARtphone-betRiebssystem

android-Klon auf NEt-basis koumlnnte legale Untiefen umschiffenXamarin bietet Entwicklungs-werkzeugen fuumlr Android undApples iOS Das zentrale Themades Unternehmens ist die platt-formuumlbergreifendeProgrammie-rung von Apps fuumlr die beidenwichtigsten Betriebssysteme fuumlrMobilgeraumlte Als Entwicklungs-plattformdient dabeiMono einefreie Implementierung von Mi-crosofts NET-TechnikWichtigs-te Komponente vonMono ist einefreie Variante der NET-Laufzeit-umgebung CLR (Common Lan-guageRuntime) die zunaumlchst fuumlrLinux entwickelt wurde und

NET-Programme unter Linuxausfuumlhrte DaAndroid auf LinuxbasiertwurdeMono fuumlr dasmo-bile Betriebssystem von Googleumgesetzt Inzwischen gibt eseine Version namens Mono-Touch fuumlr Apples iOS Mit HilfevonMonoundMonoTouch ist esmoumlglich groszlige Teile des Appli-kationscodes wiederzuverwen-den wenn eine App sowohl fuumlriOS als auch fuumlr Android entwi-ckelt wurde XobotOS ist einAndroid-Klon bei demdie in Ja-va geschriebenen Codekompo-nenten inCuumlbertragenwurden

Diemomentan stattfindende ge-richtliche Auseinandersetzungzwischen Oracle als Inhaber derJava-Rechte und Google um an-gebliche Urheberrechtsverlet-zungen koumlnnte auszligerdem dafuumlrsorgen dass XobotOS kein For-schungsprojekt bleibt Das NET-Framework bietet alternativeImplementierungen fuumlr die Pro-grammierschnittstellen die zwi-schen Google undOracle strittigsind fg

Xamarin

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

EmbEddEd-SyStEmE SoftwaRE-DESign

14

TITELSTORyin juumlngster Zeit haben namen wieStuxnet und Duqu Eingang in unserenwortschatz gefunden Solche Schad-programme feuern unerbittliche atta-cken auf die Sicherheit eingebetteterSysteme Darunter sind auch SCaDa-Systeme (Supervisory Control andData acquisition) die industrieanla-gen Verkehrsnetze oder Kraftwerkeuumlberwachen und steuernManche Entwickler eingebetteterSoftware meinen zwar dass die Ebe-ne des Systems Engineering oder dieHardware fuumlr die Systemsicherheitzustaumlndig sein sollte Viele attackennuumltzen aber Schwachstellen in denanwendungen aus Und diese Luumlckengilt es im anwendungsdesign und derProgrammierung zu vermeiden

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

Siem

ens-PressebildPSD

graphics

15

EmbEddEd-SyStEmE Software-DeSign

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Security-Grundlagen fuumlrEmbedded-Software

Schutzmaszlignahmen auf der Betriebssystem- und Hardwareebene ge-gen Hackerangriffe sind keineswegs perfekt Daher muumlssen Entwickler

selbst gegen Schwachstellen der Embedded-Software vorgehen

DAvID KALINSKy

David Kalinsky ist Berater Trainer und Dozent fuumlrEchtzeit- und Embedded-Programmie-rung in SunnyvaleKalifornien (USA)

Entwickler eingebetteter Software spie-len das Security-Thema manchmalherunter und sagen bdquoUnserGeraumltwird

nie mit dem Internet oder einem anderenexternen Kommunikationsnetz verbundensein Wir sind gegen Angriffe immunldquo Dasist leider nicht wahr Erlauben Sie mir einGegenbeispielViele Geraumlte nutzen Analog-zu-Digital-

Konverter (ADC) zur Sammlung von DatenDieADCswerden regelmaumlszligig abgefragt unddieApplikation speichert dieDatenpakete ineinemArrayDieApplikation verarbeitet spauml-

ter diesen Daten-Array Aber ein Angreiferkoumlnnte dies aus einem ganz anderen Blick-winkel sehen etwa so bdquoWas wuumlrde passie-ren wenn ich den ADCmit elektrischen Sig-nalen fuumlttere die einer exaktenhexadezima-len Darstellung des Codes eines Schadpro-grammsentsprechenldquoAuf dieseWeise kannder Angreifer seine Software in Ihren Rech-ner einschleusen Ein Netzwerk oder dasInternet ist dafuumlr nicht noumltig

Angreifer brauchen nicht immerein externes NetzwerkDer Angreifer koumlnnte nun darauf setzen

dass Ihre Software die ADC-Daten in einemStapelspeicher (Stack) sichert (vielleicht in-demSie alloca() odermalloca() verwenden)Wenn er Gluumlck hat koumlnnte er einen Array-Uumlberlauf verursachen vielleicht indem er

den Hardware-Timer manipuliert der dieADC-Abfrage steuertEin typischer Stack ist auf der folgenden

Seite oben links abgebildet Wenn der An-greifer einen Array-Uumlberlauf verursachtkoumlnnte der Stack korrumpiert werden wiedas Schema rechts daneben zeigt BeachtenSie dass dieRuumlcksprungadresse imStack aneiner Position gespeichert wurde die hinterdem Ende des Arrays lagWenn der Angreifer die Korrumpierung

richtig plant wird der Uumlberlauf den Ort imStack erreichen an dem die aktuelle Ruumlck-sprungadresse gespeichertwurdeDas kanndazubenutztwerden umandiesemPlatz imStack einenZeiger auf den eigenenCode ein-zuschleusenWenn Ihr CodedieRuumlcksprung-adresse benutzt geht die Steuerung auf denCode des Angreifers uumlber

Siem

ens-Pressebild

16

EmbEddEd-SyStEmE Software-DeSign

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Simpel aber effektiv Die Grafik links zeigt den gewoumlhnlichen Aufbau eines Speicherstacks In der rechtenGrafik ist der Stack nach einem Array-Uumlberlauf korrumpiert Boumlsartiger Code kann ausgefuumlhrt werden

DavidKalinsky

Das wird als bdquoStack Smashingldquo-Attackebezeichnet BeachtenSie dass sie in diesemBeispiel voumlllig ohne Internetzugangundoh-ne Verbindung zu einer externen Datenlei-tung ausgefuumlhrt wurde

Design-Grundlagen fuumlr sichereEmbedded-SoftwareBeim Design eingebetteter Software koumln-

nen Entwickler die Sicherheit verbessernindem sie einige Grundsaumltze beachten1 Misstrauische AufteilungTeilen Sie die Funktionalitaumlt Ihrer Software

in Bloumlcke auf die sich gegenseitig nicht ver-trauen um die Angriffsfenster in jedemBlock zu verkleinern In der Embedded-Soft-ware nennen wir diese Bloumlcke oft Prozesseoder Subsysteme oder CSCIsEntwerfen Sie jeden Block unter der An-

nahme dass Softwarebloumlcke mit denen erinteragiert angegriffen wurden VertrauenSie denErgebnissender interagierendenBlouml-cke nicht Geben Sie Ihre Daten nicht uumlbergemeinsamen Speicher fuumlr andere Bloumlckefrei BenutzenSie stattdessenMechanismender Interprozesskommunikation wie Mes-sage Queues des Betriebssystems Socketsoder TIPC (Transparent Inter Process Com-munication) Pruumlfen Sie die Inhalte die SieerhaltenAls Resultat dieser Politik der misstraui-

schen Aufteilung faumlllt nicht das gesamteSystem in die Haumlnde eines Angreifers wennein einzelner Softwareblock kompromittiertwurde

bdquoUm feindlichen Code in ein Embedded-System einzuschleu-sen ist nicht unbedingt eine Verbindung zum Internet oder zu

einem anderen externen Netz noumltigldquoDavid Kalinsky

2 Trennung der PrivilegienHalten Sie den Teil Ihres Codes der mit

speziellen Rechten ausgestattet ist moumlg-lichst klein Wenn der Angreifer in Softwareeinbricht die mit hohen Privilegien ausge-fuumlhrt wird dann kann der Angreifer eben-falls mit hohen Privilegien operieren Dasgibt ihm ein extrabreites Angriffsfenster inIhr SystemVermeidenSie also dassAnwendungssoft-

ware im Kernel-Modus oder Master- Modusoder Supervisor-Modus laumlufthellip oder wie dasin Ihrer jeweiligen CPU-Architektur heiszligenmag Uumlberlassen Sie diesen Modus dem Be-triebssystem Lassen Sie Ihre Software nurim User-Modus laufen Dadurch wird IhreCPU-Hardware darauf verpflichtet das An-griffsfenster in Ihrer Software zu limitieren3 Loumlschen Sie sensitive InformationenLoumlschenSie jedewieder verwendbareRes-

source wenn Sie sie freigeben Wenn Sieeine Ressource freigegeben haben ndash sei esein Speicherpuffer oder ein Software-Hard-ware-InterfaceDatenregister ndash koumlnnte dernaumlchste Benutzer genau derselben Ressour-ce einAngreifer sein Angreifer auf eingebet-tete Systeme lieben es diese Ressourcen zusbquophishenrsquo genau wie Internet-Angreifer ger-ne sbquophishenrsquo Hacker waumlren bestimmt uumlber-gluumlcklich die Daten zu lesen die Sie imPuffer bearbeitet habenoder die andieHard-ware zur Ausgabe uumlbergeben wurdenDie meisten Dienste die Ressourcen in

Embedded-Umgebungen freigebenmarkie-ren die Ressourcen einfach als bdquoverfuumlgbarldquo

Sie lassendie alte Information stehen die inder Ressource enthalten ist Das geht sehrviel schneller als die Ressource explizit aufNull zu setzen Damit ist sie aber potenziellfuumlr andere Benutzer lesbarWenn also die Applikation mit einer Res-

source fertig ist liegt es an der Anwendungdie Freigabe vorzubereiten indemsie all die-se Elemente auf Null setztHeap-Puffer Speicherpool-Puffer Spei-cherpartitionssegmente Statisch zugewiesene Speicherpuffer Freigegebene Stack-Bereiche SpeichercacheDatei im DateisystemDatenregister fuumlr Hardware-InterfacesStatusregister Kontrollregister

Schwachstellen auf die manbeim Coding achten mussWaumlhrend der Programmierung koumlnnen

Entwickler die Softwaresicherheit verbes-sern indem sie eine Reihe bekannterSchwachstellen vermeiden1 PufferuumlberlaufMitweitemAbstand ist der Pufferuumlberlauf

die amweitesten verbreiteteGefahrenquellewenn man in der Sprache C programmiertEs kann ganz einfach sein ndash zum Beispiel indas Element mit der Nummer 256 eines256-teiligenArraysDatenhineinzuschreibenCompiler erkennen verbotene Pufferzu-

griffe nicht immer als Softwarefehler DaskannernsthafteKonsequenzenwiedie bdquoCodeInjectionldquo oder die bdquoArc Injectionldquo haben ndashbei letzterer aumlndert der Angreifer den Kon-trollfluss eines Programms indem er dieRuumlcksprungadresse auf dem Stack modifi-ziert Bei der bdquoArc Injectionldquo braucht derAngreifer nicht einmal Code einzuschleusenEr kann zu irgendeiner Funktion im existie-renden Code springen oder Guumlltigkeitspruuml-fungen oder Assertions uumlberspringenHier ein Beispiel fuumlr eine Pufferuumlberlauf-

Attacke Ein eingebettetes Geraumlt misst dieWassertemperatur in einem Schwimmbe-cken und zeigt die Zeitanteile als Histo-gramm an in denen das Wasser eine be-stimmteTemperatur hatte Der Softwareent-wickler baut einen Array mit 100 positivenIntegerzahlen bei denen jedes Element miteinerGradangabe inCelsius korrespondiertElement 0 fuumlr 0deg Element 1 fuumlr 1deg und soweiter Jedesmal wenn der Sensor die Was-sertemperaturmisst wird das entsprechen-deElement desArrays umdenWert 1 erhoumlhtUm ganz sicher zu gehen stattet der Ent-

wickler denTemperatur-Arraymit viel Spiel-raum aus Er uumlbersteigt den Temperaturbe-reich bei weitem den einmenschlicher Koumlr-per aushalten wuumlrde

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012 17

EmbEddEd-SyStEmE SoftwaRE-DESign

ohne Locks fuumlr Multicore-Systeme entwi-ckeln

Echtzeit-Software ohne Echtzeit-Betriebssys-tem programmieren

InfoClick

wwwelektronikpraxisde InfoClick 3337487

wwwyakinduderequirements+492319860606

bull Komplexe software inKuumlrzester zeit spezifizieren

bull anforderungen fehlerfreierfassen

bull abhaumlngigKeiten von diagram-men und modellelementenautomatisch darstellen

bull aufwaumlnde von aumlnderungenKennen bevor sie entstehendurch vollstaumlndigestracing

bull manager fachanwenderund entwicKler sprechenendlich von denselbendingen

yaKindu requirementsdie software fuumlr requirementsengineering und traceability

IHRNUTZEN

Bis eines Tages der Angreifer den Sensoraus demWasser nimmt und mit einem Feu-erzeug aufheizt Sobald der Sensor einenWert misst der 100deg uumlbersteigt verletzt dieSoftware fuumlr das Histogramm-Update eineSpeicheradresse die hinter dem Ende desTemperatur-Arrays liegt Wenn dort Datenliegen hat der Angreifer die Daten korrum-piert Steht dort Maschinencode dann hatder Angreifer die ausfuumlhrbare Software kor-rumpiert In jedemFall ist es ein schaumldlicherEingriff Bitte beachten Sie dass auch dafuumlrweder eine Internetverbindung noch eineVerbindung zu einem externen Netzwerknoumltig war Ein Feuerzeug genuumlgteWie koumlnnen wir Pufferuumlberlaumlufe vermei-

denDie Schwachstelle ist soweit verbreitetdass ein mehrstufiger Ansatz am besten istVerhindern Entdecken Heilen Im Beispielunseres Schwimmbeckens sollten Sie expli-zit pruumlfen dass keine Temperatur ermitteltwird die der von Eis (unter 0deg) oder heiszligemDampf (uumlber 100deg) entsprichtVerhindern Sie Pufferuumlberlaumlufe auch in-

dem Sie gefaumlhrliche Bibliotheksfunktionenvermeiden (wie gets()) und Vorsicht bei an-deren walten lassen (wiememcpy())

bdquoAnstreicherldquo-Methodeermittelt PufferuumlberlaumlufeEntdeckenSie Pufferuumlberlaumlufe indemSie

wie ein Anstreicher vorgehen Erweitern SiedenPuffer anbeidenEnden etwas Fuumlllen Siedie Erweiterungsbereiche mit ungewoumlhnli-chem Inhalt den ich bdquoAnstrichldquonenne zumBeispiel eine Falle in derMaschinenspracheIhres Prozessors Dann pruumlfen Sie den bdquoAn-strichldquo wiederholt zur Laufzeit Wenn derAnstrich uumlberschrieben wurde haben Sieeinen Pufferuumlberlauf entdeckt2 Tricksereien mit ZeigernWenneinAngreifer einenDatenzeigermo-

difizieren kann dann kann der Angreifernach eigenemGusto an jededenkbare Stelleverweisen Wenn ein Angreifer einen Funk-tionszeiger uumlberschreiben kann dann ist erauf einemgutenWeg seinenCode auf IhremProzessor auszufuumlhren3 Dynamische SpeicherzuweisungDie Verwendung dynamischer Speicher-

zuweisungen ist in vielen sicherheitskriti-schenSystemenwie der Luft- undRaumfahrtverbotenAngreifer sindheiszligdarauf solcheDefekte zu finden da sie eine guumlnstigeGele-genheit bieten die Sicherheit eines Embed-ded-Systems zu verletzenEin besonders empfindlicher Fehler ist es

die Pruumlfung zu unterlassen ob eineAnfragezur Speicherzuweisung erfolgreichwar odernichtMancheMechanismengebenanstelleeines Zeigers auf einen Speicherpuffer den

Wert Null aus wenn kein verfuumlgbarer Spei-cher mehr vorhanden ist Wenn die Anwen-dungssoftware diesen Nullwert als Zeigerbehandelt wird sie in einen Puffer hinein-schreiben der an der Speicheradresse NullbeginntViele Angreifer wuumlrden sich freuen wenn

Ihre Software dies taumlte Angreifer wissendass eingebettete Software oft eingeschraumlnk-te Speicherressourcen hat Sie setzen allesdaran den Speicher auszuschoumlpfen indemsie den Speicherzuweisungsmechanismusdazu zwingen mehr Speicher als sonst uumlb-lich zu belegen ndash vielleicht durch einge-schleusten Code der Speicherlecks enthaumlltSie koumlnnenauchversuchen IhrDatenabfra-gesystem mit houmlheren Datenmengen oderDatenraten zuuumlberflutenndash inderHoffnungdass dieDatenlawine Ihre Speicherkapazitaumlterschoumlpft Und dannWenn Ihre Software einen Speicherpuffer

anfragt aber die Pruumlfung unterlaumlsst ob dieZuweisung fehlgeschlagen istwird sie einenPuffer anderAdresseNull eroumlffnenundalleszertrampeln was vorher dort gewesen istWenn zumBeispiel die Flags fuumlr das Ein- undAusschalten von Interrupts an dieser Stellestehen koumlnnte dadurch die Verbindung derSoftware zudenHardware-Interfaces anderPeripherie unterbrochenwerdenDas koumlnn-te dazu fuumlhren dass Ihr System nicht mehrin die Hardware eingebunden ist FG

D Kalinsky Associates +1408 749 8562

Kleine Angriffsflaumlche Die perfekte Absicherunggegen Angreifer im Web gibt es nicht Wichtig ist esaber sich um die die gaumlngigen Schwachstellen zukuumlmmern

PikeResearch

18

SyStementwurf AudiodAten uumlbertrAgen

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Audiosignale drahtlosmit Licht uumlbertragen

Audiosignale mit maximal 48 kBits mit Laser oder High-Power-LEDuumlbertragen Wir stellen Ihnen eine Schaltung vor die Audiosignale in

groszligen Raumlumen mit hoher Funkbelastung sicher transportiert

IgOR ZImmERmANN

Igor Zimmermann ist Entwickler fuumlr Embedded-Systeme bei der Mixed Mode GmbH inMuumlnchen

Funkuumlbertragungen haben sich vor al-lem im privaten Umfeld in den letztenJahren durchgesetzt Allen voran im

Multimediabereich seien hier kabelloseKopfhoumlrer genannt oder dieWLAN-Uumlbertra-gung Um bei der digitalen Audiouumlbertra-gung zu bleiben Mit der Digitalisierung derMultimediadaten entstand das Beduumlrfnisdiese digitalenAudiodatendrahtlos zu trans-portieren Hier sind im Speziellen drei Fre-quenzbaumlnder relevantDas 24-GHz-Band mit Frequenzen von24 bis 25 GHzDas 5-GHz-Band mit Frequenzen von5725 bis 5875 GHz und das 433-MHz-Band mit Frequenzen von43305 bis 43479 MHz

Wenn sich die Frequenzbaumlnderuntereinander stoumlrenDie ersten beiden Frequenzbaumlnder sind

alle fuumlrAudio-Uumlbertragungsgeraumlte geeignetdie uumlberWLANoder Bluetooth senden Her-koumlmmliche Funkkopfhoumlrer und Funklaut-sprecher benutzen das Band mit 433 MHzAlle drei Frequenzbaumlnder koumlnnen frei be-nutztwerdenwas auchgleichzeitig ein Pro-blem darstellt So sendet im 24-GHz-Bandbeispielsweise dieMikrowellewaumlhrenddas433-MHz-Band von etlichen anderen Funk-verbindungen verwendet wird Durch diegemeinsame Nutzung koumlnnen gegenseitigeStoumlrungen auftretenEine Uumlbertragung mit Licht ist gegen Stouml-

rungen aus diesen Baumlndern unempfindlichAuch inUmgebungenmit starker Funkbean-spruchungkannauf dieseWeise eineAudio-Signaluumlbertragung erfolgen Ein weitererVorteil ist die Reichweite die bei einerUumlber-tragung mit Licht erreicht werden kann

Audiosignale uumlbertragenMit Licht lassen sich groszlige Entfernungen uumlberbruumlcken wobei die APU allessteuert (Illustration)

FotoKlickerpixeliode

Audiosignale drahtlos uumlbertragen Schematischer Aufbau der Schaltung mit Audio Processing Unit

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

Waumlhrend eineUumlbertragung indengenanntenISM-Baumlndern auf einige hundert Meter be-schraumlnkt ist koumlnnenmit Licht groszligeDistan-zen uumlberwunden werden

Schaltung uumlbertraumlgt drahtlosAudiosignale mit LichtIm folgenden wollen wir Ihnen eine neu-

entwickelte und bereits im realen Einsatzgetestete Schaltung vorstellen die drahtloseAudiosignale mit Licht uumlbertraumlgt Die maxi-maleAudioqualitaumlt des Signals darfmaximal48 kBits betragen Die Schaltung setzt aufeinem Mikrocontroller zur Steuerung einesAudio-Codecs auf Die Entwicklung ist durchdie Visible Light Communication (VLC) ins-piriert Das Signal wird uumlber eine Treiber-schaltung entweder per Laser oder High-Power-LED uumlbertragen Auf der Empfaumlnger-seitewirddas Signal uumlber einenAudio-Codecindasurspruumlngliche Format ruumlckgewandeltEinsatzbereiche sind groumlszligere Raumlume in de-nen einehoheFunkbeanspruchungherrschtZum erfolgreichen Versenden der Audio-

informationenwerden zweiAusgabendieserSchaltung benoumltigt Die Versorgungsspan-nung betraumlgt 12 V Auf Senderseite kann derBenutzer eine von drei verschiedenen Sig-nalartenwaumlhlen die uumlbertragenwerden soll analoges Audiosignal Klinke (TRS Ana-log Audio In) digitales SPDIF-Signal Anschluss uumlberCinch (RCA Electrical SPDIF In) optisches SPDIF Signal Anschluss uumlberToslink (Toslink Optical SPDIF In)

APU mit Audio Codec undKonfigurationsregisternDie Konfiguration der Signalart erfolgt

uumlber ein Display und vier Taster (S1 S2 S3S4 und Display) Das Display und die Tastersind an einen Mikrocontroller angeschlos-sen der die Auswertung der Einstellungenvornimmtunduumlber einen Isup2C-Bus andieAu-dioProcessingUnit (APU)uumlbertraumlgt DieAPUbesteht aus einem Audio-Codec und besitztKonfigurationsregister zumSpeicherndieserEinstellungen Uumlber diese Register koumlnnenauch Manipulationen an den Statusbits desSPDIF-Signals vorgenommen werden DieAPU verfuumlgt zudem uumlber ein integriertes di-gitales Interpolationsfilter und ein Antialia-sing-Filter Das hat den Vorteil dass eineexterne Filterung uumlberfluumlssig wird Das Isup2S-Interface uumlber das andere Audio-Kompo-nentenmit derAPUkommunizieren koumlnnensteht demBenutzer ebenfalls zurVerfuumlgungEin- undAusgaumlnge koumlnnenasynchronbe-

trieben werden Das erzeugte Signal wird inein SPDIF-Format gewandelt und dem La-sertreiber oder dem LED-Treiber zur Verfuuml-

Via Laser oder High-Power-LEDAudiosignale drahtlos mit Licht uumlbertra-gen Die von uns vorgestellte Schaltungsetzt auf einen Mikrocontroller der denAudio-Codec steuert wobei die Qualitaumltdes Signals maximal 48 kBits betragendarf Der Mikrocontroller ndash die AudioProcessing Unit ndash ist das Herzstuumlck die-

ser speziellen Treiberschaltung der dasAudiosignal via Laser oder High-Power-LED uumlbertraumlgt Mit den Konfigurations-registern lassen sich die Einstellungenfuumlr die Codes speichern und es lassensich Manipulationen an den Statusbitsdes SPDIF-Signals vornehmen

SyStementwurf AudiodAtEn uumlbERtRAgEn

19

telekommunikation von Mixed Mode

InfoClick

wwwelektronikpraxisde InfoClick 3343108

gung gestellt Aus Sicherheitsgruumlnden wirdder Lasertreiber uumlber eine vomMikrocontrol-ler gesteuerte Enable-Leitung ein- und aus-geschaltet Als Laserquelle dient eine Laser-diodeDer Lasertreiber ist zwar speziell auf diese

Laserdiode eingestellt kann aber durch an-dere Laserdioden ersetzt werden Die Aus-gangsleistung der Modulationsstrom derGleichstromanteil und der Temperaturkoef-fizient der Laserdiodenwerdenuumlber externeWiderstaumlnde des Lasertreibers dimensio-niert Die Laserdiode ist an einem Kupfer-block angebracht der dieKuumlhlungderDiodeund die Fokussierung des Laserlichts uumlbereine Linse im Inneren uumlbernimmt Der LED-Treiber der ein IR-Treiber oder ein High-Po-wer-LED-Treiber sein kann besteht aus zweischaltbarenKonstantstromquellenundkannbis zu vier High-Power-LEDs versorgen

Audioqualitaumlt liegt beiaktuell 48 kBitsAuf der Empfaumlngerseite muss der Light

Receiver alsQuelle ausgewaumlhltwerdenDie-ser Light Receiver umfasst je eine Empfangs-einheit fuumlr sichtbares und infrarotes Licht(Visible Light und Infrared Light Receiver)

Beide Empfangseinheiten bestehen aus ei-nemPhotodetektor und einemnachgeschal-teten Transimpedanzverstaumlrker Das vomTransimpedanzverstaumlrker erzeugte Signalwird anschlieszligendSPDIF-gerecht aufberei-tet und an die Audio Processing Unit weiter-geleitet und kann an einem der sechs An-schluumlsse abgegriffen werdenDiemaximaleAudioqualitaumlt der Schaltung

liegt zur Zeit noch bei 48 kBits da die Emp-fangseinheit Signalemit einer Frequenz vonmaximal 31 MHz zuverlaumlssig empfangenkannDiemaximaleReichweite die bei einergerichteten Uumlbertragung mit Laser erreichtwerden konnte betraumlgt aktuell 15 m DurchdenEinsatz vonoptischenHilfsmitteln kannjedoch eine weitaus houmlhere Reichweite er-reicht werden HEH

MixedMode +49(0)89 89868240

20

ProgrammiersPrachen Sichere Software

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Stabile Embedded-Systememit der Programmiersprache Ada

Mit der Programmiersprache Ada laumlsst sich sicherheits- und missions-kritische Software entwickeln wovon Embedded-Systeme profitieren

sollen Wir stellen Ihnen die Programmierumgebung vor

JOhANNES KANIg

Johannes Kanig ist Senior Software Engineer beiAdaCore

WashabenARGOS einSatellitenpro-gramm zur Sammlung von Um-weltdaten unddas Traumlgheitsnavi-

gationssystem des Airbus 350 XWB mitein-ander gemeinsam Beide stellen besondereAnforderungenan ihre Steuerungssoftwaredie sehr sicher und in Echtzeit reagierenmuss und deren eventuelle Fehler viel Geldoder sogar Menschenleben kosten koumlnnenIn beiden Faumlllen ist die Software missions-kritisch wenn beispielsweise durch einenFehler der Satellit verloren gehen kann odersicherheitskritischwenndurch einenFehlerdie Passagiere des Airbus inGefahr geratenBeide Systeme haben noch etwas gemein-sam sie sind in Ada geschrieben

Ein Traumlgheitsnavigationssystem stellt ho-he Anforderungen an seine Embedded-Ap-plikationen die sehr Hardwarenah laufenDabei wird auf Sicherheit groumlszligter Wert ge-legt Die Anwendung darf unter keinen Um-staumlnden abstuumlrzen und sollte ihre Funktionerfuumlllen sowie maximale Reaktionszeitenstrikt einhalten Fuumlr sicherheitskritischeAn-wendungen werden in der Regel vor demeigentlichen Entwicklungsprozess genaueHigh-Integrity-Anforderungen aufgeschrie-ben denenderProgrammcodedannentspre-chenmussNatuumlrlich ist es fuumlr denProgram-mierer einfacher wenn die Sprache direktKonstruktionen anbietet die bestimmtenArten von Anforderungen entsprechen

Lesbarer Code vermeidetFehler beim programmierenDie Entwickler der Programmiersprache

Adahaben stets besonderenWert auf Lesbar-keit undWartbarkeit gelegt Das aumluszligert sich

unter anderem in syntaktischenUnterschie-den mit Sprachen wie C oder Java Zum Bei-spiel verzichtet Ada voumlllig auf geschweifteKlammern und nutzt stattdessen leicht les-bare Schluumlsselwoumlrter um Bloumlcke zu kenn-zeichnen So werden if-Bloumlcke mit einemend if undSchleifenmit einemend loopabgeschlossen Im Allgemeinen vermeidetAdaSymbolewoSchluumlsselwoumlrter Sinn erge-ben So wird auch der in C uumlbliche Stern zurBezeichnung von Zeigern durch das Schluumls-selwort access ersetzt Ada beachtet Groszlig-und Kleinschreibung nicht um Verwechs-lung von zu aumlhnlichen Bezeichnern zu ver-meiden Und schlieszliglich vermeidet Ada diein Java und C verbreitete Praxis oktale Zah-len mit einer fuumlhrenden Null darzustellenNeben diesen syntaktischen Unterschie-

den gibt es auch viele semantische Hilfenum lesbare undbesserwartbare Programmezu schreiben Sowird die Relation zwischeneiner Funktion und ihren Parametern durchSchluumlsselwoumlrter wie in (nur lesen) out(nur schreiben) oder in out (beides) doku-mentiert Ada ist imGegensatz zuC eine starkgetypte Sprache Typkonversionen die zuLaufzeitfehlern fuumlhrenkoumlnnenmuumlssten ex-plizit geschrieben werden Ada erlaubt imGegensatz zu manchen anderen Sprachendie Einfuumlhrung von benutzerdefinierten In-tegertypen die Absichten des Programmie-rers dokumentieren (DieseVariable enthaumlltZahlen zwischen 1und 100) unddie korrek-te Ausfuumlhrung mit Laufzeituumlberpruumlfungensicherstellen Diese semantischen Eigen-schaften erleichtern den direkten Vergleichdes Programmcodes mit den an ihn gestell-ten Anforderungen

Besonderheiten bei derEmbedded-ProgrammierungBei Echtzeitanwendungenhandelt es sich

meist um parallele Anwendungen denn inder Regel werden mehrere Berechnungengleichzeitig durchgefuumlhrt undneueEreignis-se verarbeitet In diesem Kontext ist es be-

Umweltsattelit Die Steuerungssoftware muss sich besonderen Anforderungen stellen Mit der Program-miersprache Ada laumlsst sich sicherheits- und missionskritische Software entwickeln (Im Bild der Umwelt-satellit ENVISAT)

fotoD

Lr

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

sonders wichtig dass Reaktionszeiten derSoftware auf Ereignisse garantiert werdenkoumlnnen Hier ist es nuumltzlich dass Ada einfa-che Sprachfeatures zur Beschreibung vonparallelen Prozessen bereitstellt Es ist ent-scheidend dassAdakeinenGarbageCollec-tor benoumltigt der denProgrammablauf verzouml-gern koumlnnte Ein manueller Umgang mitThreads ist alsonicht noumltig Unvorhersehba-re Latenzzeiten die bei sicherheitskritischenAnwendungen unakzeptabel sind werdenausgeschlossen Ein weiteres Argument fuumlrden Einsatz von Ada im Embedded-Bereichist seine Faumlhigkeit zur Low-Level-Program-mierung Damit kann beispielsweise die ge-naue Auslegung einer Datenstruktur imSpeicher festgelegt werden Als gefaumlhrlicherachtete Low-Level-Features wie zum Bei-spiel dasAuslesenbeliebiger Speicherberei-che oder auch die in C beliebte Pointerarith-metik sind in Ada nur unter Umgehung desTypsystemsmoumlglich

Ada ndash Die Programmierspracheohne UumlberraschungenAda wird oft als Sprache ohne Uumlberra-

schungen bezeichnet Mechanismen zurProgrammstrukturierung wie es sie in Adagibt also ein Objektsystem oder ein Paket-system sind sehr hilfreich wenn es darumgeht umfangreiche Programme zu schrei-ben Der Ada-Standard sieht sogenanntePragma-Restriktionen vormit denen festge-legt werden kann ob Features der Spracheausgeschlossenwerden sollenDamit lassensich interne Coding-Standards uumlberpruumlfenDieses Feature kannmanmit dem StandardMISRA-CC++vergleichen der versucht einesichere Teilmenge von C beziehungsweiseC++ zu definieren Ada bietet den Vorteildass viele Konstrukte vondenenMISRAab-raumlt gar nicht geschrieben werden koumlnnenund dank des starken Typsystems mehrUumlberpruumlfungenmoumlglich sindDie Programmiersprache Ada gibt es seit

demBeginn der achtziger Jahre Die damali-ge Version Ada 83 enthielt bereits eine guteBasis fuumlr die strukturierte undmodulare Pro-grammierung wie ein Paketsystem das dieKapselung von Daten und Algorithmen er-moumlglicht Seitdem hat sich Ada kontinuier-lich weiterentwickelt So erschien 1995 derAda-95-Standard der die Sprache um einObjektsystem erweiterte Der naumlchste Stan-dard Ada 2005 brachte Verbesserungen imUmgang mit Zeigern die als konstant oderauch als not null deklariert werden koumln-nen Das stellt vor allem eine umfangreicheErweiterungder Standardbibliothekdar dienun auch Container enthaumllt Das Objektsys-temwurde umdas Interface-Konzept erwei-

PRAxISWERT

Adacore Software-loumlsungen fuumlr AdaAdaCore wurde 1994 gegruumlndet undist der fuumlhrende Anbieter von kom-merziellen Softwareloumlsungen fuumlr Adaeiner modernen Programmiersprachefuumlr Mission-Critical-Anwendungen insicherheitskritischen UmgebungenDas wichtigste Produkt ist die Ent-wicklungsumgebung GNAT Pro dieOnline-Support bietet und auf mehrPlattformen als jede andere Ada-Tech-nologie verfuumlgbar ist Unternehmenwie Boeing HP Krauss-Maffei oderSiemens setzen AdaCore-Loumlsungenfuumlr sicherheitskritische Anwendun-gen ein Hauptsitz ist New York daseuropaumlische Headquarter ist in Paris

tert so dass nun auch Mehrfachvererbungmoumlglich istDer naumlchste Standard ist fuumlr 2012 vorgese-

hen Darin sind die aus der Programmier-spracheEiffel bekanntenVertraumlge (contracts)vorgesehen die jeder Funktion zwei Boole-scheAusdruumlcke hinzufuumlgen koumlnnen die voroder nach Ausfuumlhrung der Funktion wahrsein sollenDieseAusdruumlcke sind im Idealfalldirekt von den Anforderungen an die Soft-ware abgeleitet Sie koumlnnen als formale Do-kumentation als zusaumltzlicheUumlberpruumlfungenzur Laufzeit oder als Ausgangspunkt fuumlr sta-tische Analysen dienen Eine weitere Neue-rung ermoumlglicht dieDefinition vonTypenmitso genannten Invarianten Damit sind Boo-lesche Ausdruumlcke gemeint die fuumlr Wertedieses Typs immer wahr sind Schlieszliglichgibt es viele andereWeiterentwicklungenwieeine Python-aumlhnliche Syntax zur Iterationuumlber Container und Verbesserungen implattformuumlbergreifenden Umgang mit ne-benlaumlufigen Prozessen und Multiprozesso-ren hEh

AdaCore +33(1)4970 6716

ProgrammiersPrachen SiCHERE SOfTwARE

21

Adacore-Entwicklungswerkzeuge

Ada Deutschland

InfoClick

wwwelektronikpraxisde infoclick 3343168

Bei unsbewegtsich was

Webcasts aufwwwelektronikpraxisde

Finden Sie die Loumlsung fuumlr IhrProblem ndash als Video oderAudiodatei

Beispiele fuumlr Webcasts

Anwendungsbeschreibungenkomplexer erklaumlrungsbeduumlrftigerProdukte

anwendungs- und loumlsungsorien-tierte Produktpraumlsentationen

vertonte Powerpointpraumlsentati-onen ProduktanimationenExperteninterviews oderMesseberichte

Online-SeminareOnline-Konferenzen

Schauen Sie doch mal rein---gt wwwelektronikpraxisde

CAST

wwwvogelde

0726

4

22

EmbEddEd-SyStEmE Software-architektur

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Von der impliziten zur explizitenSoftware-Architektur

Im Bereich der Unternehmenssoftware ist das Festlegen einer Soft-ware-Architektur heutzutage Standard doch bei der Embedded-Ent-

wicklung wird dieser Aspekt haumlufig noch vernachlaumlssigt

MIchAEL STuRM chRISTIAN hOcK

Dr Michael Sturm leitet die Abteilung Softwarepro-dukte im Geschaumlftsbereich Industrybei der Berner amp Mattner Systemtech-nik in Muumlnchen

Dr christian hock ist verantwortlich fuumlr die strate-gische Ausrichtung des Geschaumlfts-bereiches Industry bei der Berner ampMattner Systemtechnik in Muumlnchen

Eine dokumentierte Software-Architek-tur hat klare Vorteile Produkte sindanpassungsfaumlhiger und zukunftssiche-

rer Auszligerdem erleichtert das Wissen umSchnittstellen Kommunikationsbeziehun-genundRessourcen einzelner Komponentenderen Anpassung an neue Hardwarebedin-gungenundFunktionsanforderungenNichtnur beiNeuentwicklungen sondern auchbeiModernisierungen bestehender Embedded-Loumlsungen lohnt es sich einen Software-Ar-chitekten einzubinden um Weiterentwick-lungenauf ein zukunftssicheres Fundamentzu stellen

Begruumlndete Technologie-entscheidungen treffenUnter Software-Architektur versteht man

die strukturierteAnordnungderKomponen-ten eines Systems mit Informationen zurKommunikation zwischen den Komponen-ten sowie deren Abbildung auf Hardware-oder Softwareressourcen Eine fruumlhzeitigeundprojektbegleitendeUnterstuumltzungdurcheinen den einzelnen Entwicklerteams moumlg-lichst neutral gegenuumlberstehendenSoftware-Architekten ist die ideale Loumlsung EineReihevon Aufgaben kann man dieser Instanz zu-ordnen in vielenBereichengeht es aber aucheinfach umModerationEine zentraleAufgabeder EmbeddedSoft-

ware-Architektur ist es nicht nur die funkti-onalen Anforderungen an die Software zuberuumlcksichtigen sondern auch nichtfunkti-

in seiner Loumlsungsfindung eingeschraumlnktsein Bewaumlhrte Loumlsungsansaumltzewerdendannoft unhinterfragt wiederholt Neue moumlgli-cherweise besser geeignete und insbesonde-re flexiblere Technologienbleibenunberuumlck-sichtigt

Zusammenhaumlnge muumlssennachvollziehbar bleibenDaher kannes zumBeispiel zudenAufga-

ben eines Software-Architekturteams oderexternen Beraters gehoumlren neue Technolo-

Groszliges Vorbild Softwaresysteme lassen sich hinsichtlich ihrer Komplexitaumlt mit Gebaumluden wie Antoni Gau-diacutes Kirche Sagrada Familia in Barcelona vergleichen Eine in sich schluumlssige Architektur ist deshalb auch imSoftwarebereich unerlaumlsslich

iStockph

otoham

ishBa

rrie

onale Anforderungen zu erfassen und zwarvor dem Hintergrund einer Lifecycle-Prog-nose Unter diese nichtfunktionalen Anfor-derungen fallen so komplexe Punkte wieWartbarkeit Modifizierbarkeit Skalierbar-keit Portierbarkeit Konnektivitaumlt Benutz-barkeit Zuverlaumlssigkeit Sicherheit Perfor-mance Effizienz oder TestbarkeitSo vorteilhaft ein eingespieltes Entwick-

lerteam fuumlr die Kommunikation ist so sehrkann es auch durch die Erfahrung aus Vor-gaumlngerprojekten oder aumlhnlichen Projekten

23

EmbEddEd-SyStEmE Software-architektur

gien zu evaluieren und auf Eignung fuumlr Pro-jekte zu pruumlfen sowie neue Toolsets zur Ver-fuumlgung zu stellen Kuumlnftig benoumltigteKompo-nenten muumlssen identifiziert werden undwenn es darum geht fuumlr einzelne Kompo-nenten optionale Technologien vorzuschla-gen bewaumlhrt sich haumlufig das Einschalteneines neutralen ArchitekturbeauftragtenEs geht um die Diskussion von Design-

Entscheidungen dieDefinition vonSchnitt-stellen und die Entwicklung von CodingConventions Unter der Moderation einesSoftware-Architekten erfolgen diese Ent-scheidungen bewusster und werden besserdokumentiert Nur sobleibendie Zusammen-haumlnge innerhalb eines Systems auch fuumlr Ent-wickler nachvollziehbar die spaumlter einmalan ihm arbeitenmuumlssen und nichts von denimplizitenAnnahmenund teaminternenGe-pflogenheiten seiner Schoumlpfer wissen

Implizite Architekturen sindimmer vorhandenIn der taumlglichen Praxis der Embedded-

Entwicklung sieht es leidermeist anders ausZeit- und Kostendruck verhindern oft dassGedankenundArbeit in eine systematisierteSoftware-Architektur flieszligen Hier koumlnnenSoftwarearchitekten auchdurchdieAuswahlgeeigneter Methoden und Tools weiter hel-fen So kann die dynamische Entwicklungheutiger Industrieproduktemit agilenAnsaumltzenunterstuumltztwerdenAuch einstrikt modellbasierter Entwicklungs-ansatz also die Modularisierung mitklar definierten Schnittstellen ist einMittel um einen hohen Reifegrad zuerreichen Die Vorteile dieses Vorge-henshaben sich in vielenProjektenbeiBerner amp Mattner in der Entwicklungvon Funktionserweiterungen gezeigtDank des modellbasierten Ansatzeskonnten diese mit minimalem Auf-wand realisiertwerdenndashunddies ins-besondere auch von urspruumlnglichnicht beteiligten EntwicklernAber Fakt ist Jedes Softwaresystem

hat eineArchitektur auchwenndiesenicht explizit modelliert wurde Ent-stehendiese Strukturenungeplant ausder Dynamik der Komponentenent-wicklung heraus tut dies der Funkti-onalitaumlt der Software zunaumlchst keinenAbbruch Probleme treten erst spaumlterauf wenn es umWartung Skalierungoder Portierung gehtImNachhinein raumlcht sichdann zum

Beispiel die Wahl einer bestimmtenProgrammiersprache oder einerSchnittstelle die unter dem Zeit- undKostendruck imEntwicklungsprozess

schnell und dazu noch undokumentiert ge-troffenwurdeDieKommunikation zwischeneinzelnen nicht klar getrenntenKomponen-ten war moumlglicherweise nur oberflaumlchlichgeloumlst anstatt schon bei derWahl der Tech-nologien und Sprachen darauf zu achtenReibungspotenziale zu minimieren

Zu enge Abhaumlngigkeiten vonder Hardware vermeidenWird ein Softwareprojekt nicht in Bezug

auf seinengesamtenLebenszyklus gesehenbesteht bei Embedded-Projekten auch dieGefahr dass ungewollteAbhaumlngigkeiten zurEntwicklungs-Hardware entstehen Die An-passung an neue Hardwaregenerationenkann dadurch sehr aufwaumlndig oder gar un-moumlglich werdenEine klar strukturierte unddokumentierte

Software-Architektur wird erst dann ver-misst wenn es bei der notwendigenWeiter-entwicklung Fragen und Schwierigkeitengibt Oft sollen wesentliche Teile der Soft-ware beibehalten aber zum Beispiel an einneuesBenutzerinterface angeschlossenwer-denManchmal ist der Controller fuumlr den siegeschrieben wurde nicht mehr verfuumlgbarund sein Nachfolger ist anders aufgebautFunktionenmuumlssen erweitert zusammenge-fuumlhrt oder auf geaumlnderte externe Systemeangepasst werden Die Pflege oder Weiter-

PRAxISWERT

Fehler lassen sichverhinderneine klar definierte und stringenteSoftware-architektur hilft die Zusam-menhaumlnge innerhalb eines Systemsbesser zu verstehen Dies verhindertfehler und senkt nicht zuletzt denaufwand bei der eventuell noumltigenbdquoaltbausanierungldquo von embedded-Systemen

Nachtraumlgliche Analyse nuumltztwurde die Software-architektur inder embedded-entwicklung vernach-laumlssigt lohnt sich angesichts der zuerwartenden langen einsatz- und Le-benszeiten vieler embedded-Systemeauch eine nachtraumlgliche analyse undDokumentation andernfalls drohenmoumlglicherweise immer wieder unkal-kulierbare Verzoumlgerungen wenn war-tungs- oder weiterentwicklungsarbei-ten eventuell auf undokumentierteeigenheiten des Systems stoszligen

H

SIG

HPEED

ROBUST

FLEXIBLE

TriCore Power Architecturebull

XC2000XE166 SH-2A XScalebull bull

Cortex M0M3M4 Cortex R4 Cortex A8 ARM7911bull bull bull

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

24

EmbEddEd-SyStEmE Software-architektur

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Literaturhinweise[1] Pete Goodliffe code craftthe Practice of writing excellent codeNoStarch Press 2006

[2] Peter hruschka Gernot Starkeknigge fuumlr SoftwarearchitektenentwicklerPress 2012

[3] craig Larman applying uML and Pat-terns an introduction to object-orien-ted analysis and DesignPrentice hall 2004 (3 auflage)[4] Berner amp Mattner-fachartikel bdquoSoft-warearchitektur in eingebetteten Syste-menldquo ndash httpbitlyJosXYw

entwicklung eines solchen Systemswird fuumlrden Produktverantwortlichen zu einerschwer kalkulierbaren Kostenquelle vor al-lem dann wenn er nicht mehr auf den KerndesurspruumlnglichenEntwicklerteams zuruumlck-greifen kannHilfestellung in solchen Situation bieten

Spezialisten wie Berner amp Mattner die Alt-systeme analysieren bestehende Software-Architektur nachdokumentierenundmoumlgli-che Migrations- und Aumlnderungspfade iden-tifizieren Als externe Architekturberaterkoumlnnen sie unbelastet von der Softwarehis-torie untersuchen wo in der Struktur derSoftware Problemfelder liegen und Loumlsun-gen vorschlagenDerAufwand fuumlr PflegeundWeiterentwicklung laumlsst sich auf Basis einersolchen Analyse besser beurteilen

Regeln aufstellen ndash und sierichtig brechenBesonders spannend wird das Thema bei

zertifiziertenEmbeddedSystemen Einehaumlu-fige Herausforderung ist dass die Softwareoder wesentliche Teile zertifiziert sind umeinem SIL (Safety Integrity Level) zu genuuml-gen Selbstverstaumlndlich moumlchte niemanderneut eine IEC 61508-Zertifizierung durch-laufen wenn sich dies vermeiden laumlsstGluumlcklicherweise sind oft nur einzelne rele-vante Teile des Systems als sicherheitskri-tisch eingestuft Die Kunst des Architektur-beraters ist es die Stellen in der Software zufinden andenendie Schnitte angesetztwer-denkoumlnnenndashund zwar zwischenden sicher-heitskritischen Teilen und den Teilen undSchnittstellen die problemlos geaumlndertwer-den koumlnnenHierzu nutzt der Berater gaumlngige Design-

Patternswie etwaSchichtenoder bdquopipes andfiltersldquo Ironischerweisemusshaumlufig das aufdieseWeise entstandene Regelwerk die ab-geleiteteArchitektur fuumlr das eigentlicheEnt-wicklungsprojekt gleich wieder gebrochenwerden eben um zertifizierte Bestandteileunveraumlndert zu erhalten Der groszlige Unter-schied zu den bdquoRegelverletzungenldquo aus derEntstehungszeit der urspruumlnglichen Soft-

ware liegt aber darin dass sie nun ausfuumlhr-lich dokumentiert werdenEs waumlre ein Missverstaumlndnis Software-

Architektur als ein unveraumlnderliches Doku-ment zu verstehen das man nur selten wie-der in die Hand nimmt Es sollte bei jederArbeit an der Software gelesen und gepflegtwerden Ohne dieses lebendige Dokumentwerden Architekturverstoumlszlige oft gar nichtbemerkt Vereinbarungen zu ArchitekturCodingConventions Schnittstellen etcwer-dendadurch fuumlr denEntwickler verbindlich

Architektur muss als Prozessverstanden werdenDer Auftraggeber erhaumllt so ein Embedded

System dessen Pflege er in die Haumlnde einesneuenTeamsgebenkannDie nun freigewor-denen Spezialisten die es erstellt habenkoumlnnen getrost an anderer Stelle eingesetztwerdenDabei gilt Software-Architektur endet nie

DennauchvondenEntwicklern einzusetzen-deDesign-Methodenwie zumBeispiel ObjectOrientedAnalysis andDesign (OOAD)habenklare Strukturen und die Trennung von Zu-

staumlndigkeiten zum Ziel - das ist eindeutigArchitekturEine klare Software-Architektur hilft die

Zusammenhaumlnge innerhalb eines Systemsbesser zu verstehen Dies verhindert Fehlerund senkt den Aufwand bei der bdquoAltbausa-nierungldquo von Embedded Systemen Wurdedie Software-Architektur in der Embedded-Entwicklung vernachlaumlssigt lohnt sich an-gesichts langer Einsatz- und Lebenszeitenvieler EmbeddedSystemeauchdie nachtraumlg-liche Analyse und Dokumentation Andern-falls drohen immer wieder unkalkulierbareVerzoumlgerungen wenn Wartungs- oder Wei-terentwicklungsarbeiten auf undokumen-tierte Eigenheiten des Systems stoszligen Beistark eingefahrenen Teams bzw zum Wis-sensaufbaubietet sichhier ein externer Soft-warearchitekt anDie meisten Fehler durch menschliches

Versagen entstehen dort wo wir nicht ver-stehen woran wir bdquoschraubenldquo Eine expli-zite Architektur traumlgt maszliggeblich dazu beidieWirkketten innerhalb komplexer Systemetransparent zu machen Mit diesem Wissenwerden erforderliche Aumlnderungen wesent-lich schneller bewertet und zuverlaumlssig rea-lisiert FG

Berner ampMattner +49(0)89 6080900

Zusammenhaumlnge verstehen Explizite Software-Architektur traumlgt maszliggeblich dazu bei die Wirkungs-zusammenhaumlnge komplexer Systeme anschaulich und transparent zu machen

iStockph

otoSirgunhik

Lebenslaumlnglich Software-architekturdesign

requirements engineering fuumlr embedded-Systeme

InfoClick

wwwelektronikpraxisde InfoClick 3343141

25

Kolumne

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

Mit Fragen zum ProjekterfolgPETER SIwON

Heute stelle ich Ihnen ein Wundermit-tel vormit demSie inProjekten vielEnergie Zeit und Geld sparen

Gleichzeitigmotiviert es IhreMitarbeiter DerEinsatz des Wundermittels hat sehr viel mitdem BuchstabenWwieWunder zu tun DasBeste daran Es kostet nichts undSie kennenes alle DasWundersameandiesemWunder-mittel ist allerdings dass es trotzdem zu sel-ten eingesetzt wird Ich gebe Ihnen noch einpaar TippsWie kommenSie ameffektivstenan Informationen Wie erfahren Sie amschnellstenwas andereMenschendenkenWie findenSie amschnellstenLoumlsungenDieAntwort lautet FragenUnddie beginnenoftmit wo wie wann oder wer Vielleicht sindSie jetzt uumlber diese simple Antwort ent-taumluscht nachdem ich Ihnen den Mund mitallerlei Wunderversprechungen waumlssrig ge-macht habe An dieser Stelle koumlnnten Siespaszligeshalber auf das Themaeinsteigenundfragen bdquoWie kommen Sie darauf diese Me-thode alsWundermittel zu bezeichnenldquo Siekoumlnnten aber auchgelangweilt denken bdquoWeiszligschon offene Fragen stellenldquo und aufhoumlrenzu lesen Sind Sie sich ganz sicher dass Siealle meine Argumente kennen Das ist zwaretwasmanipulativ abermit dieser Fragebrin-ge ich Sie immerhindazu IhrenStandpunktzu hinterfragen Vielleicht lautet die so pro-vozierteAntwort bdquoNaja eigentlichbin ichmirnicht sicherldquo ndash und Sie lesen doch weiterDas Praktische an solchenFragen ist dass

Sie sich von Ihrer eigenen Antwort in derRegel besser uumlberzeugen lassen Ichhaumltte Sieauch schulmeisterlich zu IhremGluumlck zwin-gen koumlnnen bdquoSie muumlssen weiterlesen weilichweiszlig dass Sie noch jedeMengeWichtigeserfahren das Sie unmoumlglich wissen koumln-nenldquo Dasmache ich aber nicht weil ich dieNachteile kenne 1 Siemuumlssen gar nichts 2Wenn Sie muumlssen dann wollen Sie nichtIhre Motivation ist gering 3 Woher will ichwissen obSie nichtmehr uumlber dieKunst desFragens wissen als ich selbst Damit die ge-rade so schoumln erzeugte Motivation nichtgleichwieder auf demAltarmeines Egos ge-opfert wird spare ichmir PseudofragenwiebdquoHab ichs Ihnennicht gleich gesagtldquo Statt-dessen bedanke ich mich bescheiden fuumlrIhreBereitschaftweiterzulesen Ich gebe zudas faumlllt mir manchmal schwerGeschriebener Text schraumlnkt dieMoumlglich-

keiten etwas einDarumstellen Sie sichbitte

die obenangedeutete Szene als persoumlnlichesGespraumlch vor In diesem Fall koumlnnte ich ausdem W-Vollen schoumlpfen Wenn Sie mir zuverstehen geben dass Sie sich selbst schonmit dem Thema befasst haben dann werdeich Sie beispielsweise fragen bdquoDas freutmich Welche Erfahrungen haben Sie ge-machtldquo oder bdquoWas wuumlrden Sie aus IhrerErfahrung empfehlenldquo Jetzt habe ich dieChance etwas von Ihnen zu lernen Gleich-zeitig spare ich Energie und Uumlberzeugungs-arbeit weil ich einfach nur zuhoumlre Ich wer-de IhreAussagendurchRuumlckmeldungenwiebdquointeressantldquo oder bdquoDa stimme ich Ihnen zuldquounterstreichen Mit meinen Fragen will ichnicht beweisen dass ich der Schlauere binsondern dass Fragen ein echtesWundermit-tel sind Durch interessiertes Nachfragenkann ich Ihnen dabei helfen neue Aspektezu entdecken Was tue ich wenn ich eineandere Meinung habe Statt Geschuumltze wiebdquoJa aberhellipldquo oder bdquoNein das kann nicht seinweilhellipldquo aufzufahren umSie rhetorisch abzu-wuumlrgen oder zu knebeln ist es erheblichnuumltzlicher die Hintergruumlnde Ihrer Darstel-lungdurchFragenherauszufinden Falls Siefalsch liegen kommen Sie vielleicht durchdenVersuchmeine Fragen zubeantwortenselbst dahinter Ich spare mir dann die an-strengende Prozedur der Gegenargumenta-tion Dann werde ich uns beide dazu be-gluumlckwuumlnschen dass wir unser Wissen ge-meinsam bereichert haben ndash denn genauso

ist es Sollte ich derjenige sein der falschliegt kann ich dazulernen ohne mir eineBloumlszlige zu gebenJetzt stellen Sie mir da ich mich als Fra-

genfreundgeoutet habe eine Fragewie bdquoWaswuumlrdenSie tunwenneinunselbststaumlndigerMitarbeiter staumlndig fragt was er tun sollldquoIch wuumlrde wie sollte es anders sein post-wendendeineGegenfrage stellen bdquoWas glau-ben Sie wuumlrde ich tunldquo und Ihnen damitschon die Antwort in den Mund legen fra-gen Tolle Fragen in solchen Situationensind Was haben Sie oder andere in aumlhnli-chen Situationen getan Warum glaubenSie hat es bisher nicht funktioniertldquo Da-nach bringe ich hoffentlich die Geduld fuumlrzweiVerhaltensweisen auf die fuumlr denErfolgeiner Frage wichtig sind Erstens halte ichden Mund um Ihnen Zeit zum NachdenkenzugebenAlsGefragter habenSie es naumlmlichnicht leicht Sie denkennun zuerst uumlbermei-ne Frage und dann uumlber Ihre Antwort nachWenn ich waumlhrend Sie gruumlbeln die Frageselbst beantworte oder noch eine Frage hin-terher schieszlige habe ich alles verdorben Ichzaumlhle also im Kopf bis 5 um diese Falle zuvermeiden Zweitens zeige ich Ihnen wennSie antworten durchAugenkontakt Nickenkurze Ruumlckmeldungen und Verstaumlndnisfra-gen mein Interesse Aktives Zuhoumlren ist diebeste Gewaumlhr dafuumlr dass mir nichts Wichti-ges entgeht und es ist ein Zeichen groszligerWertschaumltzung So gewinne ichdurchFragenund Zuhoumlren Ihre Sympathie Das Wundervollzieht sich also in drei Schritte FragenWarten Zuhoumlren Wenn Sie auf diese Weiseeine gute Idee finden goumlnne ich Ihnen IhrErfolgserlebnis und sage so etwas wie bdquoSu-per das houmlrt sich interessant anldquo Und ichlege gleichnoch eine Frage als ZugabedraufbdquoWannglaubenSiewerdenSie die Idee aus-probierenldquo Diese nachgeschobene Fragehat gegenuumlber einer Aufforderungwie bdquoPro-bieren Sie es doch morgen gleich ausldquo dengroszligen Vorteil dass ich so Ihr Gefuumlhl derEigenverantwortung erhalte bzw foumlrdere IchbeendediesenkurzenAusflug indieWelt derW-Wunder wie auch sonst mit einer FrageHaben Sie Interesse zum Thema Fragetech-nikenWollen Sie eine kostenlose Checklis-te zu Fragetechniken Dann senden Sie mirbitte eine E-Mail an psiwondie-menschli-che-Seitede hEh

Mit Fragen zum Projekterfolg Peter Siwon beschaumlf-tigt sich seit mehr als 20 Jahren mit den ThemenGehirn und Psyche im Zusammenhang mit derProjektarbeit in technischen Berufen

InfoClick 3370352

26 ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

RedaktionChefredakteur Johann Wiesboumlck (jw) ViSdP fuumlr die redaktionellen InhalteRessorts Zukunftstechnologien Kongresse Kooperationen Tel (09 31) 4 18-30 81Chef vom dienst Peter Koller (pk) Tel (09 31) 4 18-30 98Verantwortlich fuumlr dieses Sonderheft Franz Graser Tel -30 92Redaktion Muumlnchen Tel (09 31) 4 18-Franz Graser (fg) Prozessor- und Softwarearchitekturen Embedded Plattformen Tel -30 92Martina Hafner (mh) Produktmanagerin Online Embedded Software Engineering KongressTel -30 82Hendrik Haumlrter (heh) Messtechnik Testen EMV Medizintechnik Laborarbeitsplaumltze DisplaysOptoelektronik Embedded Software Engineering Tel -30 92Holger Heller (hh) ASIC Entwicklungs-Tools Embedded Computing MikrocontrollerProzessoren Programmierbare Logik SOC Tel -30 83Gerd Kucera (ku) Automatisierung Bildverarbeitung Industrial Wireless EDALeistungselektronik Tel -30 84Thomas Kuther (tk) Kfz-Elektronik Stromversorgungen Oszillatoren Passive BauelementeTel -30 85Kristin Rinortner (kr) Analogtechnik Mixed-Signal-ICs Elektromechanik Relais Tel -30 86Margit Kuther (mk) Bauteilebeschaffung Distribution Beruf amp Karriere Tel (0 81 04) 6 29-7 00Freie Mitarbeiter Prof Dr Christian Siemers FH Nordhausen und TU Clausthal Peter SiwonMicroConsult Sanjay Sauldie EIMIA Hubertus Andreae dreiplus praxisbegleitendeInnovationsfoumlrderungVerantwortlich fuumlr die Fed-news Dr Stephan Weyhe FED Alte Jakobstr 8586 D-10179 BerlinTel (0 30) 8 34 90 59 Fax (0 30) 8 34 18 31 wwwfeddeRedaktionsassistenz Eilyn Dommel Tel -30 87RedaktionsanschriftMuumlnchen Grafinger Str 26 81671 Muumlnchen Tel (09 31) 4 18-30 87 Fax (09 31) 4 18-30 93Wuumlrzburg Max-Planck-Str 79 97082 Wuumlrzburg Tel (09 31) 4 18-24 77 Fax (09 31) 4 18-27 40LayoutMichela Deppe Joachim Haselmann Carolin Frank Sigrid Rau Meike Herkersdorf Mar-kus Mager

eLektRonikPRaXiS ist organ des Fachverbandes elektronik-design eV (Fed)Fed-Mitglieder erhalten eLektRonikPRaXiS im Rahmen ihrer Mitgliedschaft

VeRLagVogel Business Media GmbH amp Co KG Max-Planck-Straszlige 79 97082 WuumlrzburgPostanschriftVogel Business Media GmbH amp Co KG 97064 WuumlrzburgTel (09 31) 4 18-0 Fax (09 31) 4 18-28 43BeteiligungsverhaumlltnisseVogel Business Media Verwaltungs GmbHKommanditistin Vogel Medien GmbH amp Co KG Max-Planck-Straszlige 79 97082 Wuumlrzburggeschaumlftsfuumlhrung Stefan Ruumlhling (Vorsitz) Florian Fischer Ernst Haack Guumlnter SchuumlrgerPublisher Johann Wiesboumlck Tel (09 31) 4 18-30 81anzeigenleitung Franziska Harfy Tel (09 31) 4 18-30 88Fax -30 93 Grafinger Str 26 81671 Muumlnchen franziskaharfyvogeldeanzeigenverkauf Wuumlrzburg Tel (09 31) 4 18- Fax (09 31) 4 18-28 43Susanne Muumlller Tel -23 97 susannemuellervogeldekey-account-Manager Tel (09 31) 4 18- Fax (09 31) 4 18-28 43Hans-Juumlrgen Schaumlffer Tel -24 64 hansschaeffervogeldeClaudia Fick Tel -30 89 Fax -30 93 Grafinger Str 26 81671 Muumlnchen claudiafickvogeldeMarketingleitung Elisabeth Ziener Tel (09 31) 4 18-26 33auftragsmanagement Claudia Ackermann Tel (09 31) 4 18-20 58 Maria Duumlrr Tel (09 31) 4 18-22 57anzeigenpreise Zur Zeit gilt Anzeigenpreisliste Nr 47 vom 01 01 2012Vertrieb Leser- und abonnenten-Service DataM-Services GmbHFranz-Horn-Straszlige 2 97082 Wuumlrzburg Thomas Schmutzler Tel (09 31) 41 70-4 88 Fax -4 94tschmutzlerdatam-servicesde wwwdatam-servicesdeerscheinungsweise 24 Hefte im Jahr (plus Sonderhefte)

Verbreitete auflage 40009 Exemplare (IVWEDA Audit Oktober 2011)Angeschlossen der Informationsgemeinschaft zur Feststellung der Verbreitung von Wer-betraumlgern Sicherung der AuflagenwahrheitBezugspreis Einzelheft 900 EUR Abonnement Inland jaumlhrlich 19700 EUR inkl MwSt

Abonnement Ausland jaumlhrlich 22820 EUR (Luftpostzuschlag extra) Alle Abonnementpreiseverstehen sich einschlieszliglich Versandkosten (EG-Staaten ggf +7 USt)Bezugsmoumlglichkeiten Bestellungen nehmen der Verlag und alle Buchhandlungen im In- undAusland entgegen Sollte die Fachzeitschrift aus Gruumlnden die nicht vom Verlag zu vertretensind nicht geliefert werden koumlnnen besteht kein Anspruch auf Nachlieferung oder Erstattungvorausbezahlter Bezugsgelder Abbestellungen von Voll-Abonnements sind jederzeit moumlglichBankverbindungen HypoVereinsbank Wuumlrzburg (BLZ 790 200 76) 326 212 032SWiFt-Code HY VED EMM 455 IBAN DE65 7902 0076 0326 2120 32Herstellung Andreas Hummel Tel (09 31) 4 18-28 52Frank Schormuumlller (Leitung) Tel (09 31) 4 18-21 84druck Vogel Druck und Medienservice GmbH 97204 Houmlchbergerfuumlllungsort und gerichtsstandWuumlrzburgManuskripte Fuumlr unverlangt eingesandte Manuskripte wird keine Haftung uumlbernommenSie werden nur zuruumlckgesandt wenn Ruumlckporto beiliegtinternet-adresse wwwelektronikpraxisde wwwvogeldedatenbank Die Artikel dieses Heftes sind in elektronischer Form kostenpflichtig uumlber dieWirtschaftsdatenbank GENIOS zu beziehen wwwgeniosde

VeRLagSBuumlRoSVerlagsvertretungen inLand Auskunft uumlber zustaumlndige VerlagsvertretungenJens Otte Tel (09 31) 4 18-26 47 Fax (09 31) 4 18-28 57 jensottevogeldeaUSLand Belgien Luxemburg Niederlande SIPAS Peter Sanders Sydneystraat 105 NL-1448NE Purmerend Tel (+31) 299 671 303 Fax (+31) 299 671 500 petersandersvogeldeFrankreich DEF amp COMMUNICATION 48 boulevard Jean Jauregraves 92110 ClichyTel (+33) 14730-7180 Fax -0189groszligbritannien Vogel Europublishing UK Office Mark Hauser Tel (+44) 800-3 10 17 02Fax -3 10 17 03 markhausercomcastnet wwwvogel-europublishingcomUSaCanada VOGEL Europublishing Inc Mark Hauser 3321 Ashbourne CircleSan Ramon CA 94583 Tel (+1) 9 25-6 48 11 70 Fax -6 48 11 71

Copyright Vogel Business Media GmbH amp Co KG Alle Rechte vorbehalten Nachdruck digitale Verwendung jederArt Vervielfaumlltigung nur mit schriftlicher Genehmigung der Redaktion Fotokopieren veroumlffentlichter Beitraumlge istgestattet zu innerbetrieblichen Zwecken wenn auf jedes Blatt eine Wertmarke der Verwertungsgesellschaft WortAbt Wissenschaft in 80336 Muumlnchen Goethestraszlige 49 nach dem jeweils geltenden Tarif aufgeklebt wird Nachdruckund elektronische Nutzung Wenn Sie Beitraumlge dieser Zeitschrift fuumlr eigene Veroumlffentlichung wie Sonderdrucke Websi-tes sonstige elektronische Medien oder Kundenzeitschriften nutzen moumlchten erhalten Sie Information sowie dieerforderlichen Rechte uumlber httpwwwmycontentfactoryde (09 31) 4 18-27 86

Impressum

EDA

Wuumlrzburg 19 ndash 20 Juni 2012Vogel Convention CenterVCC

wwwsteckverbinderkongressde

Anwender sprechenmit Herstellern

Kongress und Tabletop-Ausstellung

Programm Unter wwwsteckverbinderkongressdefinden Sie die ausfuumlhrliche Agenda

Keynote Herausforderung Miniaturisierung ndash ZukuumlnftigeAnforderungsprofile bei Steckverbindern

Themen Applikationsspezifische Steckverbinder Kompakt-Steckverbinder fuumlr hohe Datenraten

Miniaturisierung Intelligente Steckverbinder Steckverbinder fuumlr besondere Anwendungen Qualifizierung Werkstoffe Verarbeitungsprozesse

Workshops Umspritzen von Kabeln Abdichten von Steckverbindungen Messtechnik Thermosimulation Design-in 3-D-Modellierung Schadensanalytik Beschichtungsverfahren

Aumlnderungen vorbehalten

Saumlmtliche Informationen zur Veranstaltung finden Sie unter---gt wwwsteckverbinderkongressde

Veranstalter

in Zusammenarbeit mit den Industriepartnern

07908

Alle Informationen unter wwwese-kongressde

Hauptsponsoren 2012 Veranstalter

20123ndash 7 Dezember 2012 in Sindelfingen

bdquoWissen ist das einzige Gutdas sich vermehrtwenn man es teiltldquo

(Marie Freifrau von Ebner-Eschenbach oumlsterreichische Schriftstellerin)

ESE Kongress ndash Ideen entwickeln Profis treffen Loumlsungen findenDer Embedded Software Engineering Kongress mit uumlber 800 Teilnehmern ist die groumlszligte deutschsprachigeVeranstaltung die sich ausschlieszliglich der Entwicklung von Geraumlte- Steuerungs- und Systemsoftware fuumlrIndustrie Kfz Telekom sowie Consumer- und Medizintechnik widmet Vom 3 bis 7 Dezember trifft sichdie Embedded-Software-Branche wieder in Sindelfingen ndash wir freuen uns auf Sie

Aussteller und Sponsoren 2012Axivion BBV Software Services dSPACE EASYCODE ELEKTRONIKPRAXIS emlix ETAS Fraunhofer IESEGreen Hills Software Hitex IAR Systems IMACS Infineon Intland Software iSYSTEM Lauterbach LDRALogic Technology linutronix macio MicroConsult National Instruments Noser Engineering Parasoftpls Programmierbare Logik amp Systeme Protos pure-systems QA Systems QNX Software Systems SafeTRANSseppmed Software Quality Lab SparxSystems Vector Informatik Vector Software Verifysoft Technology WillertSoftware Tools Zuumlhlke

Seit 30 Jahren vertrauen weltweit fuumlhrende Firmen Green Hills Softwarersquos sicherer undzuverlaumlssiger Software fuumlr sicherheitskritische Systeme

Fuumlr Luftfahrt- und Automobilindustrie fuumlr Telecom- Medizin- und Industrietechniksowie fuumlr intelligente Energienetze hat Green Hills Software erprobte und zuverlaumlssigeTechnologie geliefert

Wenn Sie wissen moumlchten wie eines der weltweit sichersten und zuverlaumlssigstenBetriebssysteme und dessen Entwicklungstools das Risiko aus Ihrem naumlchstenProjekt nehmen kann besuchen Sie uns unter wwwghscoms4e

Copyright copy 2012 Green Hills Software Green Hills Software and the Green Hills logo are registered trademarks ofGreen Hills Software All other product names are trademarks of their respective holders

Vertrauenswuumlrdige softwarefuumlr embedded deVices

safereliable

secure

  • Seite 1
  • Seite 2
  • Seite 3
  • Seite 4
  • Seite 5
  • Seite 6
  • Seite 7
  • Seite 8
  • Seite 9
  • Seite 10
  • Seite 11
  • Seite 12
  • Seite 13
  • Seite 14
  • Seite 15
  • Seite 16
  • Seite 17
  • Seite 18
  • Seite 19
  • Seite 20
  • Seite 21
  • Seite 22
  • Seite 23
  • Seite 24
  • Seite 25
  • Seite 26
  • Seite 27
  • Seite 28
Page 7: Securityineingebetteten Softwaresystemenfiles.vogel.de/vogelonline/vogelonline/issues/ep/2012/...Securityineingebetteten Softwaresystemen Angreifer nehmen Industriesteuerungen,Stromnetzeund

8

EmbEddEd-Entwicklung TesT und QualiTaumlTssicherung

ELEKTRONIKPRAXIS embedded software engineering report Juni 2012

eine Zweiguumlberdeckung von 100 Dasheiszligt Sowohl der then-Zweig als auch derelse-Zweig der if-Anweisung wurden ausge-fuumlhrt Und da unsere beiden Testfaumllle nichttrivial sind sollten wir fertig sein ndash oderUmuns zu vergewissern koumlnnenwir unser

Testobjekt mutieren Viele der moumlglichenMutationen wuumlrden durch unsere beidenTestfaumllle aufgedeckt zumBeispielwenndieEntscheidung bdquo(A ampamp B)ldquo zu bdquo(C ampamp B)ldquo ver-aumlndert wird Hier schlaumlgt der erste TestfallfehlWird jedoch in der Entscheidung die Vari-

able B durch C ersetzt so wird diese Muta-tion nicht erkanntshort shiftC(short A short B short C)if (A ampamp C)return Cltlt1elsereturn Cltlt2

Wird in der Entscheidung das logischeUND (ampamp) durch ein bitweises UND (amp) er-setzt wird diese Mutation ebenfalls nichterkanntshort shiftC(short A short B short C)if (A amp B)return Cltlt1elsereturn Cltlt2

Beide nicht erkannten Mutationen sind

subtil veraumlndern jedoch das Verhalten desTestobjekts signifikant und koumlnnen durcheinen Denk- oder auch einen Fluumlchtigkeits-fehler relativ leicht entstehenUmden zweitenMutanten zu toumlten reicht

es aus dieWerte eines der beiden bestehen-den Testfaumllle zu aumlndern ZumBeispiel koumlnn-te man im zweiten Testfall einfach denWert2 fuumlr B verwenden (allerdingsnicht denWert5)

Um beide Mutanten nachhaltig zu toumlten(das heiszligt ohne dass unmittelbar spiegel-bildliche Mutationen moumlglich werden dienicht getoumltet wuumlrden) benoumltigt man einendritten Testfall in dem die Variable B denWert 0 annimmt Die Tabelle 2 im Kastenlinks zeigt die ResultateMit dendrei Testfaumll-len in der Tabelle 2 werden beide Mutantenerkannt Durch die Verwendung von dreiTestfaumlllen wird uumlberdies der Code-Uumlberde-ckungsgrad von 100 Zweiguumlberdeckungauf 100MCDC (Modified ConditionDeci-sion Coverage ein Kriterium des StandardsDO-178B) erhoumlhtMit Hilfe eines Mutationstests kann man

auchTestfallmengenbewerten Eine Testfall-menge heiszligt adaumlquat wenn sie alle Mutan-ten aufdeckt Von zwei adaumlquaten Testfall-mengen ist natuumlrlich diejenige mit wenigerTestfaumlllen vorzuziehenDies ermoumlglicht auchdenVergleich von Testfallkonstruktionsver-fahrenMankanndie IdeedesMutationstestszur Reduzierung der normalerweise groszligenZahl vonautomatisch generiertenTestfaumlllenverwenden [5] Ein Testfallmussmindestenseinen Mutanten toumlten der bisher noch vonkeinem anderen Testfall getoumltet wurde umnicht verworfen zu werden

Mutationstests aus Sicht derNorm IEC 61508DieNorm IEC 61508 bezeichnet denMuta-

tionstest als bdquoDurchfuumlhrung von Testfaumlllennach Fehlereinpflanzungldquo und empfiehltdies fuumlr Safety Integrity Level (SIL) 2 bis 4Die IEC61508 fuumlhrt auchaus dassmanaus

der Anzahl der Fehler die eine Testsuite ineinem originalen Testobjekt entdeckt undder Zahl der Mutationen die diese Testsuiteermittelt eine Abschaumltzung fuumlr die Gesamt-zahl der im Testobjekt vorhandenen Fehlerfinden kann (praumldizierend) Das Verhaumlltnisder erkanntenMutanten zurGesamtzahl derMutanten ist gleichdenVerhaumlltnis der gefun-denenFehler imoriginalenTestobjekt zuderGesamtzahl der Fehler imoriginalenTestob-jekt Diese Abschaumltzung setzt natuumlrlich diegleiche statistischeVerteilung vonArtenundPositionen der Mutationen und der tatsaumlch-lichen Fehler voraus Wenn beispielsweisedie tatsaumlchlichen Fehler fehlerhafte Berech-nungen sind jedoch keine arithmetischenMutationen verwendetwerdenwirddieAb-schaumltzung kaum zutreffen

Eine Variante Der schwacheMutationstestObwohl sichdas aumluszligere Programmverhal-

ten des Mutanten gegenuumlber dem Originalnicht aumlndert kann es sein dass ein Testfallim Innern desMutanten einen anderen Pro-

Auswertung der Testergebnisse

die Tabelle 1 zeigt zwei Testfaumllle fuumlr dieFunktion bdquoshiftc()ldquo in den spalten a Bund c werden die eingabewerte fuumlr dieeingangsvariablen a B und c der Funk-tion angegeben das ergebnis der Funk-tion bdquoshiftc()ldquo ist der bdquoreturnldquo-Wert derFunktion er steht in der spalte bdquoergeb-nis von shiftc()ldquo die eingabewerte sindmit bdquoildquo fuumlr bdquoinputldquo markiert der ausga-bewert mit bdquooldquo fuumlr bdquooutputldquoim ersten Testfall (Tabelle 1 tc11) hatdie eingabevariable a den Wert 0 B denWert 1 und cdenWert 2 da a null ist lau-tet die entscheidung der bdquoifldquo-anweisungbdquofalseldquo der bdquoelseldquo-Zweig der bdquoifldquo-anwei-sung wird ausgefuumlhrt dadurch wird die

Variable c um 2 stellen nach links ge-schoben in der Binaumlr-darstellung wirdalso 0010 (was dezimal 2 entspricht)zu 1000 (was dezimal 8 entspricht)bdquoshiftc()ldquo gibt 8 als ergebnis zuruumlckim zweiten Testfall (Tabelle 1 tc21) hatdie eingabevariable a den Wert 1 B denWert 1 und c den Wert 3 da a und B jeeins sind lautet die entscheidung derbdquoifldquo-anweisung bdquotrueldquo der bdquothenldquo-Zweigder bdquoifldquo-anweisung wird ausgefuumlhrt dieVariable c ruumlckt um eine stelle nachlinks in der Binaumlr-darstellung wird also0011 (was dezimal 3 entspricht) zu 0110(was dezimal 6 entspricht) bdquoshiftc()ldquogibt 6 als ergebnis zuruumlck

A b c ErgEbnis von shiftc()

i i i o

tc11 0 1 2 8

tc21 1 1 3 6

Tabelle 1 Zwei Testfaumllle fuumlr die originale Funktion shiftC()

A b c ErgEbnis von shiftc()

i i i o

tc11 0 1 2 8

tc21 1 2 3 6

tc31 1 0 3 12

Tabelle 2Mit diesen drei Testfaumlllen werden beide Mutanten erkannt

EmbEddEd-Entwicklung TesT und QualiTaumlTssicherung

Erlaumluterung von FachbegriffenFault Injectionin das nicht mutierte Testobjekt werdenFehler von auszligen injiziert um die ro-bustheit zu pruumlfenFehlermodell (Fault model)die Kategorien der moumlglichen Mutati-onen diese sind natuumlrlich bei einemc-Programm als Testobjekt anders alsz B in einem Zustandsdiagramm einBeispiel fuumlr ein Fehlermodell fuumlr Testob-jekte in der Programmiersprache c ist imartikel angegebenKopplungseffekt (Coupling effect)Wird ein Mutant mit einer einzelnenMutation durch eine Testfallmenge ent-deckt so werden auch mehrfache Muta-tionen entdeckt

Fehlereinpflanzung (Error seeding)in der norm iec 61508 heiszligt der Mutati-onstest bdquoFehlereinpflanzungldquo bzw bdquoer-ror seedingldquoStarker Mutationstest (Strong mutationtest)der Mutant wird nur von auszligen betrach-tet (Black Box) und der Mutant wird nurdurch einen Testfall entdeckt der nachauszligen ein anderes ergebnis liefert alsdas OriginalSchwacher Mutationstest (Weak mutati-on test)ein Testfall sorgt im innern des Mutan-ten fuumlr ein anderes Verhalten als beimOriginal dieses andere Verhalten wirdjedoch nicht nach auszligen sichtbar

grammablauf erzeugt als im Original Dannspricht man von schwachemMutationstestunsigned int absolute (int x)if (x lt 0)return -xreturn xDie Mutation von lsquoltrsquo zu lsquolt=rsquo wird nach au-

szligen nicht sichtbar

Der Unterschied zurFault InjectionNicht zu verwechselnmit demMutations-

test ist die Fault Injection die beispielsweisein der Norm ISO 26262 [2] als Testmethodeerwaumlhntwird Bei einer Fault Injectionbleibtdas Testobjekt in seinemOriginalzustand eswird nicht mutiert Der Fehler wird auszliger-halb des Testobjekts erzeugtWenndas Test-objekt Software ist waumlre beispielsweise dasVeraumlndern (Korrumpieren) des Speichers fuumlrdie Variablen waumlhrend der Ausfuumlhrung derSoftware eine Fault Injection Die Softwareliest also aus einer Variablen nicht denWertzuruumlck den sie vorher abgespeichert hat DieFrage ist ob dies Auswirkungen hat und obdie Softwaremit einer solchenSituationum-gehen kannFault Injection ist also einRobustheitstest

zum Beispiel bezuumlglich der Auswirkungenvon Bitflips durch kosmische StrahlungDurch eine Fault Injection kann auch derProgrammspeicher des Testobjekts (willkuumlr-lich) geaumlndert (korrumpiert) werden Diessehenwir jedochnicht alsMutation die denSinn hat Programmierfehler im Quellcodeaufzudecken sondern vielmehr als Robust-heitstest FG

Hitex Development Tools +49(0)72196280

Literaturhinweise[1] IEC 61508 Teil 3 Tabelle B2 = Empfehlung

Fehlereinpflanzung sowie Teil 7 C56 = Be-schreibung Fehlereinpflanzung

[2] ISOFDIS 26262 Teil 6 Tabellen 10 und 13[3] Liggesmeyer Peter Software-Qualitaumlt Testen

Analysieren und Verifizieren von SoftwareHeidelberg Berlin 2002 Spektrum Akademi-scher Verlag

[4] Dirk W Hoffmann Software-Qualitaumlt Springer-Verlag Berlin Heidelberg 2008

[5] Wolfgang Herzner Rupert Schlick HaraldBrandl JohannesWiesalla Towards Fault-basedGeneration of Test Cases for Dependable Em-bedded Software in Softwaretechnik-TrendsGesellschaft fuumlr Informatik eV Band 31 Heft 3August 2011

[6] A Jefferson Offut Clemson University Investi-gations of the software testing coupling effectin ACM Transactions on Software EngineeringandMethodology New York Volume 1 Issue 1Jan 1992

[7] Tessy httpwwwhitexdetessy

acht irrtuumlmer uumlber code coverage

Bugs und defekte in Multitasking-softwareeliminieren

InfoClick

wwwelektronikpraxisde infoclick 3343128

AURIX - Over 10 years of Multicore Debuggingmakes the difference

AURIX

HSMTriCore 0 GTM

Debugand

SerialTrace

TRACE32

TRACE32

TRACE32

TRACE32

Debugging Multicore of years 10 Over - AURIXdifference the makes

AURIXAURIX

HSMTriCore 0 GTM

Debugand

SerialTrace

TRACE32

TRACE32

TRACE32

TRACE32

wwwlauterbachcom1652

10

Softwareentwicklung SoftwareSicherheit teil 2

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Die drei Gesichter der SicherheitIm zweiten Teil unserer Serie fassen wir einige Meinungen von

Experten des vergangenen ESE Kongresses zum Thema Security zu-sammen Im Mittelpunkt stehen dabei unbefugte Zugriffe oder die

gezielten Angriffe auf Embedded-Systeme

PETER SIwON uNd ALEXANdER SEdLAK

Peter Siwon ist Business Development Manager beim Schu-lungs- und Consulting-Spezialist MicroConsult inMuumlnchen und

Embedded-Systeme sind stets Software-und Hardwarekomponenten die inVerbindung mit Sensoren und Aktua-

toren in umgebende technische Systeme in-tegriert sind umkomplexe Steuerungs- undDatenverarbeitungsaufgaben zu uumlberneh-men Die Sicherheit im allgemeinen Sinne

bezeichnet einen Zustand der frei von un-vertretbaren Risiken ist Das wird in derNorm IEC 61508 so definiert Safety oderfunktionale Sicherheit bedeutet in diesemZusammenhang dass ein System in den zuerwartendenSituationenundZustaumlndenbeiordnungsgemaumlszliger Nutzung keine koumlrperli-chen oder finanziellen Schaumlden verursachtSecurity koumlnnte man demnach so genauerdefinieren Die Betriebs- und Datensicher-heit darf durch aumluszligere Einfluumlssenicht gestoumlrtoder gar verhindert werden Security hat ei-ne doppelte Bedeutung Einerseits sorgt siedafuumlr dass die Betriebssicherheit erhalten

bleibt andererseits versteht man darunterdieGesamtheit derMaszlignahmen umein Sys-tem nach auszligen zu schuumltzen Das unter-streicht sowohl die Abgrenzung dieser Be-griffe zeigt aber auch wie eng sie zusam-menhaumlngenNebenderWahl geeigneter Softwarearchi-

tekturen und Programmiermethoden spieltbei der Security oftmals die Gestaltung oderAuswahl derHardware eine bedeutendeRol-le Es handelt sich um Hightech im Verbor-genenmit derenHilfe produkt- und system-spezifische Eigenschaften uumlberhaupt erstrealisiertwerdenkoumlnnenAls Beispiele seienhier Fahrerassistenzsysteme mobile medi-zinischeGeraumlte undAutomatisierungssyste-me genannt Wichtige Stichwoumlrter in demZusammenhang sind die Gestaltung von In-terfaces Netzstrukturen oder schlicht dersichere Einbau einer Komponente

wuumlrmer Viren amp Co ndash Schutzvor gezielten AngriffenIn seinem Vortrag Sichere Netze der Zu-

kunft auf demESEKongress 2011 definierteProf Dr-Ing Hans-Joachim Hof von derHochschule Muumlnchen den Begriff pragma-tisch Die Security ist der Schutz vor geziel-temundhoumlchstwahrscheinlich auchboumlswil-ligemHandelnmit demZiel VertraulichkeitIntegritaumlt oder Authentizitaumlt zu erreichenDas kann sich in der Realitaumlt als nicht ganzeinfach erweisen daman zumZeitpunkt derProjektierung in der Regel nicht weiszlig wel-cher Art von Angriff ein System irgendwannausgesetzt sein wird Besonders bei aumllterenSystemenkann sichdas als geradezudrama-tische Gefahr erweisen Prof Dr Hof sprichthier ganz plastisch von der Goumltterdaumlmme-rungder IT-Sicherheit EinBild daswirklichpasst denn das Vertrauen auf sichere IT-Komponenten Embedded-Systeme undAumlhnliches grenzt oft wirklich an ein sagen-haftesGottvertrauen FrappierendesBeispielhierfuumlr ist der Computerwurm Stuxnet der2010 fuumlr groszligeUnruhe und Schaumlden verant-wortlich war Stuxnet war in einer Weiseaktiv die bis dahin imGrunde als nichtmoumlg-

ExpertenmeinungenWie lassen sich Embedded-Systeme vor unbefugtem Zugriff oder gezielten Angriffenschuumltzen

BilderG

erdaltm

annpixeliode

Alexander Sedlak ist als freier Autor taumltig

Softwareentwicklung SoftwareSicherheit teil 2

lich galt Der Wurm konnte Grenzen physi-kalisch getrennterNetze uumlberspringen Stux-net zielte vermutlich erfolgreich auf eineUrananreicherungsanlageWegendeshohenSchutzbedarfs von Atomanlagen schien soeinAngriff bis dahin schlicht nichtmoumlglichDen aktuellen Moumlglichkeiten des technischMachbaren druumlckte Stuxnet damit seineneigenen Stempel auf Eine optimierte Be-triebssicherheit wie im Beispiel der Atom-anlagewurdemangels ausreichender Secu-rity zum Sicherheitsrisiko

Der menschliche FaktorWenn Hacker aktiv werdenBedrohungen durch Hacker stellen die

Entwickler vonEmbedded-Systemenvor zu-nehmendeHerausforderungenDieReferen-ten des Schweizer Kommunikations- undTechnikdienstleisters Albis Technologiesstellten imVortrag EmbeddedSecurityHa-ckern einen Schritt voraus zunaumlchst diezunehmende Vernetzung von Embedded-Systemen heraus Und obwohl dadurchme-chanischeBarrieren zwischendenSystemenimmermehrwegfallen beruht die Sicherheitparadoxerweise haumlufig auf physikalischerSicherheit und weniger auf Cyber-Securityoder Informationssicherheit Und das ob-wohl es gerade in Infrastrukturnetzen wiezumBeispiel der aktuell diskutierten intelli-gentenStromversorgung vongroszliger Bedeu-tung ist dass die vernetzten Komponentenautonom ohne Benutzereingaben und vorunbefugten Zugriffen geschuumltztmiteinanderkommunizieren koumlnnenWas koumlnnte die Loumlsung sein Die Referen-

ten stellten ein Modell Hardware-basierterIT-Sicherheitsarchitektur fuumlr Embedded-

Systeme indenRaum InderenZentrumstehtein Security Controller oder ein Trusted-Platform-Modul also ein sicherer Speicherfuumlr digitale Schluumlssel Dieses dient dazu ei-ne Art Zentrum fuumlr kryptografische Operati-onen zu bilden Das Modul muss an den lo-kalenComputer gebunden seinundnicht aneinen bestimmten Benutzer Es ist dann un-moumlglich das Trusted-Platform-Modul entge-gen den Interessen des Eigentuumlmers zu nut-zen sofern dieser Beschraumlnkungen festge-legt hat eine Basis fuumlr die sichere Kommu-nikation der Netzteilnehmer Es kanngelingen beispielsweise aus einem Embed-ded-Geraumlt mit angepasster Software und ei-nem entsprechenden Betriebssystem einevertrauenswuumlrdige Plattform zumachenIntelligente Stromnetze auchSmart Grids

genannt erfordern fuumlr die Ermittlung desindividuellen Strombedarfs unddie korrekteAbrechnungdieVerwendung ebenso intelli-genter Verbrauchszaumlhler der sogenanntenSmartMeterHier gibt es zahlreiche Szenari-en die boumlswilliges Eindringen mit Betrugs-absicht ermoumlglichen Erschwerend ist dieLiberalisierung des Strommarktes Zahlrei-cheKlein- undKleinststromlieferantenndashausWasserkraft oder Photovoltaikanlagen ndashspeisen in die Netze ein Letztlich alles Ein-fallstore fuumlr moumlgliche Angriffe zum Zweckder kriminell motivierten ManipulationAuch vor diesemHintergrund erarbeitet dasBundesamt fuumlr Sicherheit in der Informati-onstechnik (BSI) gemeinsam mit Industrie-partnern fuumlr Smart Meter ein neuartigesSchutzprofil Es strukturiert Bedrohungenund legt damit die Mindestanforderungenfest die Sicherheitsmaszlignahmen erfuumlllenmuumlssen Ziel ist dabei eine Zertifizierung von

Produktennachdefinierten SchutzkriterienDas vondenPartnern erarbeitete Schutzpro-fil 3 definiert ein anhand gemeinsamerKriterien festgelegtes Security Modul fuumlralle kryptografischen Operationen

Kryptologie ndash Software solltenicht zu knacken seinBei der Entwicklung von Embedded-Sys-

temen koumlnnen durch den Einsatz von kryp-tologischen Verfahren viele Prozesse sicheroder zumindest sicherer gemacht werdenReinhard Wobst (UNIX Software) hat in sei-ner Funktion als Softwareentwickler festge-stellt dassmit groszliger Regelmaumlszligigkeit immerwieder die gleichenFehler bei der Implemen-tierung von Kryptologie gemacht werdenWaumlhrend seines Vortrags auf dem ESE Kon-gress erklaumlrte erwarumundwie es Eindring-lingen oft unnoumltig leicht gemacht wird SogehenSoftwareentwickler haumlufig davonausdass niemand die von ihnen entwickeltenAlgorithmen knacken kann Das Gegenteilist der Fall Ein gaumlngiges Mittel ist etwa das

AURIX - Over 5 years of High-Speed Serial Tracingmakes the difference

Tracing Serial High-Speed of years 5 Over - AURIX Tracing Serial High-Speed of years 5 Over - AURIXdifference the makes difference the makes

wwwlauterbachcom1653

Psychologische Sicherheitsluumlcke Irren ist mensch-lich ndash sowohl auf Entwickler- wie auf Anwenderseite

12

Softwareentwicklung SoftwareSicherheit teil 2

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Microconsult Qualitaumlt und Sicherheit

teil 1 der Serie Die drei Gesichter derSicherheit

InfoClick

wwwelektronikpraxisde infoclick 3343156

Schreiben unklaren oder scheinbar verwor-renen Codes Doch gerade bei der heutigenVernetzungwird jedesVerfahren fruumlher oderspaumlter bekannt Interessant ist die auch vonWobst formulierte Erkenntnis dass derSelbsttest eines eigenentwickeltenAlgorith-musmoumlglicherweise zu demErgebnis fuumlhrtdass es nicht einmal dem urspruumlnglichenProgrammierer gelingt ihn zuknackenAberdieWirklichkeit sieht leider anders aus Je-der kann einenAlgorithmus entwickeln dener selbst nicht brechen kann aber es gehtdarum dass ihn andere nicht brechen koumln-nen[1]Letztlich siehtmanes einemAlgorithmus

auchwenner noch soobskur erscheint nichtan ob er nun sicher ist oder nichtWobst raumltseinen Entwicklerkollegen konservativ zuseinundbekannteundaltbewaumlhrteAlgorith-menundMethoden zunutzenDas ForschennachSicherheit solle denForschernuumlberlas-sen werden Anhand zahlreicher Beispielebelegte Reinhard Wobst wie schnell es ge-schehen kann dass ein SoftwareentwicklerGuteswollenddas Falsche tut bzw dasRich-tige nicht richtig macht Und er zeigte auchdie Grenzen auf die selbst einer perfekt im-plementierten Kryptologie gesetzt sind wiedenial of service Attacken oder der immererfolgversprechende Versuch das stetsschwaumlchste Element eines Walls von Maszlig-nahmen fuumlr die Sicherheit zu instrumentali-sieren den User selbst So kam Wobst beiseinem Vortrag zu der Schlussformel dassgesunderMenschenverstandniemals hinterFormalismenverschwindendarf Fuumlr dieRe-alisierung von Sicherheit gilt immer dassetwas Sicherheit besser ist als gar keine

Qualitaumlt und houmlchstmoumlglichesSicherheitsniveau fuumlr SoftwareWie real die Risiken von Angriffen auf

Embedded-Systeme sind zeigte Lucas vonStockhausen vonHewlett-Packard in seinemVortrag Mehr Sicherheit fuumlr EmbeddedCode amBeispiel einer Manipulation einerhandelsuumlblichen Insulinpumpe Es seimoumlg-

lich durch Umgehen von Restriktionen dieInsulindosis die eine solchePumpeautoma-tisch verabreicht aus einer Entfernung von100 m und voumlllig unbemerkt zu veraumlndernDamit koumlnnemaneinemDiabetiker jederzeiteine Uumlberdosis Insulin injizieren Diese Ge-fahr mag konstruiert erscheinen fuumlr denPumpenhersteller und fuumlr den Patienten istsie aber sehr real undhoumlchst bedrohlichDasBundesministerium fuumlrWirtschaft undTech-nologie stellte bereits 2010 eine zunehmendeund alarmierende Professionalisierung vonAngriffen fest Dabei berichten die Medienmeist nur uumlber die spektakulaumlrstenFaumlllewiezumBeispiel denbereits erwaumlhntenStuxnet-Wurm der fuumlr den Einsatz auf industrielleZiele optimiert wurde

Die psychologischenSicherheitsluumlckenViele Angriffe sind weniger spektakulaumlr

doch kaum weniger gefahrenvoll Geradeuumlberraschende Angriffsszenarien auf Em-bedded-Systeme zeigen wie schwierig essein kann schon inder Softwareentwicklungvorauszusehenwie ein spaumltererAngriff aus-sehen kann Aus diesem Grund spielt diesichere Softwareentwicklung der sichereCode eine entscheidende Rolle Angesichtsdes rasanten Fortschritts der von zuneh-mendemZeit- Konkurrenz- undErfolgsdruckzuverlaumlssig begleitetwirdmussnebenQua-litaumltsforderungen auch das houmlchstmoumlglicheSicherheitsniveau realisiert werdenBei Embedded-Software erfolgt eine ver-

besserte Zugangssicherheit uumlber Software-Updates sagte Prof Dr-Ing Hans-JoachimHof Daraus ergeben sich gleichermaszligenAufgaben fuumlr die Entwicklung von Soft- undHardware In puncto Hardware werden si-chere Interfaces undUumlbertragungsprozedu-renbenoumltigt Die Softwaremuss so aufgebautsein dass sie autorisiert korrigiert aber nichtohne Autorisierung manipuliert werdenkann Das Motto Verbauen und Vergessengehoumlrt damit derVergangenheit anNicht zuvergessen sinddie psychologisch bedingten

Sicherheitsluumlcken zudenenPeter SiwonvonMicroConsult in seinem Seminar bdquoIrren istmenschlichldquo Beispiele nannte Und das so-wohl auf Entwickler-wie aufAnwenderseiteUnter hohem Zeitdruck neigt man dazu Si-cherheitsregeln zu brechen Menschen neh-men dann houmlhere Risiken in Kauf um denStress loszuwerden Stresshormone schraumln-kenunsere Faumlhigkeit ein uumlber die langfristi-gen Folgen unseres Verhaltens nachzuden-ken Zudem leide unser Qualitaumltsbewusst-sein unter dem Beduumlrfnis den bdquoSchmerzldquoloszuwerden Beides zusammen stellt eineexplosive psychologische Mischung darWichtige Voraussetzungen fuumlr Security wiebeispielsweise umfassende Tests fallen un-ter den Tisch Eine weitere Sicherheitsluumlckeentsteht durch Denkfaulheit Um unser Ge-daumlchtnis zu entlasten greifen wir nicht nurbei Passwoumlrtern auf altgewohnte oder beque-me Denk- und Verhaltensmuster zuruumlckThomas Batt beim Training- und Consul-

tingspezialistenMicroConsult zustaumlndig fuumlrSoftware Engineering Management ziehtfolgendesResuumlmee bdquo(Horror-)Szenarien beidenenEmbedded-Systemedurch aumluszligereAn-griffe manipuliert werden oder bei denensogar die komplette Kontrolle uumlbernommenwird sind keine Hollywoodphantasien Wirsindheute von einer rasantwachsendenZahlvonEmbedded-Systemenumgebenundver-lassen uns darauf dass Herstellerfirmen siezugangs- undangriffssicher entwickeln tes-tenundproduzierenDochTatsache ist dassfuumlr den groumlszligten Teil des Embedded-Marktesdie Qualitaumltsmerkmale Zugangs- und An-griffssicherheit noch Neuland sind DieseQualitaumltsmerkmalemuumlssen sich kuumlnftigwieein roter FadendurchdengesamtenEntwick-lungs- und Produktionsprozess der Produk-te ziehen Dazu benoumltigen wir geeigneteMethoden - insbesondere fuumlr denTest - sowieunterstuumltzende Tools Standards und Zerti-fizierungen Doch selbst mit noch so hoch-entwickelten Maszlignahmen koumlnnen wir dieRisiken nur minimieren nicht aber voumllligausschlieszligenldquo hEh

MicroConsult +49(0)89 45060

Quellennachweis[1] B Schneier Memo to the Amateur Cipher

Designer

Zugriffs- und AngriffssicherheitDie Betriebssicherheit ist im groszligenMaszlige vom Schutz vor unbefugtem Zu-griff oder gezieltem angriff abhaumlngigBei der Security spielt oft die Gestaltungund auswahl der hardware eine bedeu-tende rolle Zu den feinden von embed-ded-Systemen zaumlhlen Viren wuumlrmer undhacker die auf die Systeme zugreifen

und sie manipulieren Mit geeignetenSchutzmaszlignahmen wie Kryptologie undentsprechender Programmierung lassensich embedded-Systeme sicherer gestal-ten Nicht zu vergessen sind auch diepsychologisch bedingten Sicherheits-luumlcken ndash denn auch der Programmiererselbst stellt ein Sicherheitsrisiko dar

13

EmbEddEd SoftwarE Aktuelles

ELEKTRONIKPRAXIS embedded software engineering Report Juni 2012

InfoClick 3371268

embedded-softwAReentwicklung

analysewerkzeug Goanna pruumlft Software auf potenzielle LaufzeitfehlerDas Karlsruher Entwicklungs-haus Hitex hat die Version 272des Analysewerkzeugs Goannaveroumlffentlicht Das Tool pruumlft inCC++geschriebenenCodenachmathematischenMethoden umUrsachen fuumlr Laufzeitfehler auf-zuspuumlren In der aktuellenVersi-on 272 finden sich vor allemDetailverbesserungen wie er-leichterteKonfigurierbarkeit DieKonfigurationsvarianten bdquoQuickCheckldquo und bdquoDeep Checkldquo sindvordefiniert Auszligerdem wurdendieAnalysemethodenbeschleu-nigt und praumlziser gestaltet An-

feruumlberlaumlufe die Zerstoumlrung vonSpeicherinhalten Divisionendurch Null Zugriffe mit unguumllti-gem Index und aumlhnliche Proble-me Die Analyse uumlberschreitetdabei nicht nur Funktions- son-dern auch Dateigrenzen DasSoftwarewerkzeug soll einfachinstallierbar sein und sich nachwenigen Minuten einsetzen las-sen Goanna ist in einer Kom-mandozeilenversion (GoannaCentral) sowie alsAdd-On fuumlr dieweit verbreiteten Entwicklungs-umgebungen Visual Studio vonMicrosoft sowie EclipseCDT

(Goanna Studio) verfuumlgbarGoannaCentral undGoannaStu-dio fuumlr Eclipse sind fuumlrWindowsundLinux verfuumlgbar DieVersionfuumlrVisual Studiounterstuumltzt nurWindows Beide Versionen gibtes als rechnergebundene oderals Floating-Lizenz Es gibt eineeine permanente Lizenzmit dreiJahrenSupport und eine zeitlichbegrenzten Lizenz fuumlr ein Jahrmit der Option auf zeitliche Ver-laumlngerung fg

Hitex

hand mathematischer Modelleund derMethode der abstraktenDatenwertverfolgung kannGoanna problematische Konst-rukte ermitteln die zur Laufzeitder Software zu Fehlern fuumlhrenDazu zaumlhlen Speicherlecks Puf-

Schnelles Android XobotOS ist eineAndroid-Variante die auf einer offe-nen Implementierung von MicrosoftsNET-Architektur basiert InfoClick 3348889

smARtphone-betRiebssystem

android-Klon auf NEt-basis koumlnnte legale Untiefen umschiffenXamarin bietet Entwicklungs-werkzeugen fuumlr Android undApples iOS Das zentrale Themades Unternehmens ist die platt-formuumlbergreifendeProgrammie-rung von Apps fuumlr die beidenwichtigsten Betriebssysteme fuumlrMobilgeraumlte Als Entwicklungs-plattformdient dabeiMono einefreie Implementierung von Mi-crosofts NET-TechnikWichtigs-te Komponente vonMono ist einefreie Variante der NET-Laufzeit-umgebung CLR (Common Lan-guageRuntime) die zunaumlchst fuumlrLinux entwickelt wurde und

NET-Programme unter Linuxausfuumlhrte DaAndroid auf LinuxbasiertwurdeMono fuumlr dasmo-bile Betriebssystem von Googleumgesetzt Inzwischen gibt eseine Version namens Mono-Touch fuumlr Apples iOS Mit HilfevonMonoundMonoTouch ist esmoumlglich groszlige Teile des Appli-kationscodes wiederzuverwen-den wenn eine App sowohl fuumlriOS als auch fuumlr Android entwi-ckelt wurde XobotOS ist einAndroid-Klon bei demdie in Ja-va geschriebenen Codekompo-nenten inCuumlbertragenwurden

Diemomentan stattfindende ge-richtliche Auseinandersetzungzwischen Oracle als Inhaber derJava-Rechte und Google um an-gebliche Urheberrechtsverlet-zungen koumlnnte auszligerdem dafuumlrsorgen dass XobotOS kein For-schungsprojekt bleibt Das NET-Framework bietet alternativeImplementierungen fuumlr die Pro-grammierschnittstellen die zwi-schen Google undOracle strittigsind fg

Xamarin

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

EmbEddEd-SyStEmE SoftwaRE-DESign

14

TITELSTORyin juumlngster Zeit haben namen wieStuxnet und Duqu Eingang in unserenwortschatz gefunden Solche Schad-programme feuern unerbittliche atta-cken auf die Sicherheit eingebetteterSysteme Darunter sind auch SCaDa-Systeme (Supervisory Control andData acquisition) die industrieanla-gen Verkehrsnetze oder Kraftwerkeuumlberwachen und steuernManche Entwickler eingebetteterSoftware meinen zwar dass die Ebe-ne des Systems Engineering oder dieHardware fuumlr die Systemsicherheitzustaumlndig sein sollte Viele attackennuumltzen aber Schwachstellen in denanwendungen aus Und diese Luumlckengilt es im anwendungsdesign und derProgrammierung zu vermeiden

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

Siem

ens-PressebildPSD

graphics

15

EmbEddEd-SyStEmE Software-DeSign

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Security-Grundlagen fuumlrEmbedded-Software

Schutzmaszlignahmen auf der Betriebssystem- und Hardwareebene ge-gen Hackerangriffe sind keineswegs perfekt Daher muumlssen Entwickler

selbst gegen Schwachstellen der Embedded-Software vorgehen

DAvID KALINSKy

David Kalinsky ist Berater Trainer und Dozent fuumlrEchtzeit- und Embedded-Programmie-rung in SunnyvaleKalifornien (USA)

Entwickler eingebetteter Software spie-len das Security-Thema manchmalherunter und sagen bdquoUnserGeraumltwird

nie mit dem Internet oder einem anderenexternen Kommunikationsnetz verbundensein Wir sind gegen Angriffe immunldquo Dasist leider nicht wahr Erlauben Sie mir einGegenbeispielViele Geraumlte nutzen Analog-zu-Digital-

Konverter (ADC) zur Sammlung von DatenDieADCswerden regelmaumlszligig abgefragt unddieApplikation speichert dieDatenpakete ineinemArrayDieApplikation verarbeitet spauml-

ter diesen Daten-Array Aber ein Angreiferkoumlnnte dies aus einem ganz anderen Blick-winkel sehen etwa so bdquoWas wuumlrde passie-ren wenn ich den ADCmit elektrischen Sig-nalen fuumlttere die einer exaktenhexadezima-len Darstellung des Codes eines Schadpro-grammsentsprechenldquoAuf dieseWeise kannder Angreifer seine Software in Ihren Rech-ner einschleusen Ein Netzwerk oder dasInternet ist dafuumlr nicht noumltig

Angreifer brauchen nicht immerein externes NetzwerkDer Angreifer koumlnnte nun darauf setzen

dass Ihre Software die ADC-Daten in einemStapelspeicher (Stack) sichert (vielleicht in-demSie alloca() odermalloca() verwenden)Wenn er Gluumlck hat koumlnnte er einen Array-Uumlberlauf verursachen vielleicht indem er

den Hardware-Timer manipuliert der dieADC-Abfrage steuertEin typischer Stack ist auf der folgenden

Seite oben links abgebildet Wenn der An-greifer einen Array-Uumlberlauf verursachtkoumlnnte der Stack korrumpiert werden wiedas Schema rechts daneben zeigt BeachtenSie dass dieRuumlcksprungadresse imStack aneiner Position gespeichert wurde die hinterdem Ende des Arrays lagWenn der Angreifer die Korrumpierung

richtig plant wird der Uumlberlauf den Ort imStack erreichen an dem die aktuelle Ruumlck-sprungadresse gespeichertwurdeDas kanndazubenutztwerden umandiesemPlatz imStack einenZeiger auf den eigenenCode ein-zuschleusenWenn Ihr CodedieRuumlcksprung-adresse benutzt geht die Steuerung auf denCode des Angreifers uumlber

Siem

ens-Pressebild

16

EmbEddEd-SyStEmE Software-DeSign

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Simpel aber effektiv Die Grafik links zeigt den gewoumlhnlichen Aufbau eines Speicherstacks In der rechtenGrafik ist der Stack nach einem Array-Uumlberlauf korrumpiert Boumlsartiger Code kann ausgefuumlhrt werden

DavidKalinsky

Das wird als bdquoStack Smashingldquo-Attackebezeichnet BeachtenSie dass sie in diesemBeispiel voumlllig ohne Internetzugangundoh-ne Verbindung zu einer externen Datenlei-tung ausgefuumlhrt wurde

Design-Grundlagen fuumlr sichereEmbedded-SoftwareBeim Design eingebetteter Software koumln-

nen Entwickler die Sicherheit verbessernindem sie einige Grundsaumltze beachten1 Misstrauische AufteilungTeilen Sie die Funktionalitaumlt Ihrer Software

in Bloumlcke auf die sich gegenseitig nicht ver-trauen um die Angriffsfenster in jedemBlock zu verkleinern In der Embedded-Soft-ware nennen wir diese Bloumlcke oft Prozesseoder Subsysteme oder CSCIsEntwerfen Sie jeden Block unter der An-

nahme dass Softwarebloumlcke mit denen erinteragiert angegriffen wurden VertrauenSie denErgebnissender interagierendenBlouml-cke nicht Geben Sie Ihre Daten nicht uumlbergemeinsamen Speicher fuumlr andere Bloumlckefrei BenutzenSie stattdessenMechanismender Interprozesskommunikation wie Mes-sage Queues des Betriebssystems Socketsoder TIPC (Transparent Inter Process Com-munication) Pruumlfen Sie die Inhalte die SieerhaltenAls Resultat dieser Politik der misstraui-

schen Aufteilung faumlllt nicht das gesamteSystem in die Haumlnde eines Angreifers wennein einzelner Softwareblock kompromittiertwurde

bdquoUm feindlichen Code in ein Embedded-System einzuschleu-sen ist nicht unbedingt eine Verbindung zum Internet oder zu

einem anderen externen Netz noumltigldquoDavid Kalinsky

2 Trennung der PrivilegienHalten Sie den Teil Ihres Codes der mit

speziellen Rechten ausgestattet ist moumlg-lichst klein Wenn der Angreifer in Softwareeinbricht die mit hohen Privilegien ausge-fuumlhrt wird dann kann der Angreifer eben-falls mit hohen Privilegien operieren Dasgibt ihm ein extrabreites Angriffsfenster inIhr SystemVermeidenSie also dassAnwendungssoft-

ware im Kernel-Modus oder Master- Modusoder Supervisor-Modus laumlufthellip oder wie dasin Ihrer jeweiligen CPU-Architektur heiszligenmag Uumlberlassen Sie diesen Modus dem Be-triebssystem Lassen Sie Ihre Software nurim User-Modus laufen Dadurch wird IhreCPU-Hardware darauf verpflichtet das An-griffsfenster in Ihrer Software zu limitieren3 Loumlschen Sie sensitive InformationenLoumlschenSie jedewieder verwendbareRes-

source wenn Sie sie freigeben Wenn Sieeine Ressource freigegeben haben ndash sei esein Speicherpuffer oder ein Software-Hard-ware-InterfaceDatenregister ndash koumlnnte dernaumlchste Benutzer genau derselben Ressour-ce einAngreifer sein Angreifer auf eingebet-tete Systeme lieben es diese Ressourcen zusbquophishenrsquo genau wie Internet-Angreifer ger-ne sbquophishenrsquo Hacker waumlren bestimmt uumlber-gluumlcklich die Daten zu lesen die Sie imPuffer bearbeitet habenoder die andieHard-ware zur Ausgabe uumlbergeben wurdenDie meisten Dienste die Ressourcen in

Embedded-Umgebungen freigebenmarkie-ren die Ressourcen einfach als bdquoverfuumlgbarldquo

Sie lassendie alte Information stehen die inder Ressource enthalten ist Das geht sehrviel schneller als die Ressource explizit aufNull zu setzen Damit ist sie aber potenziellfuumlr andere Benutzer lesbarWenn also die Applikation mit einer Res-

source fertig ist liegt es an der Anwendungdie Freigabe vorzubereiten indemsie all die-se Elemente auf Null setztHeap-Puffer Speicherpool-Puffer Spei-cherpartitionssegmente Statisch zugewiesene Speicherpuffer Freigegebene Stack-Bereiche SpeichercacheDatei im DateisystemDatenregister fuumlr Hardware-InterfacesStatusregister Kontrollregister

Schwachstellen auf die manbeim Coding achten mussWaumlhrend der Programmierung koumlnnen

Entwickler die Softwaresicherheit verbes-sern indem sie eine Reihe bekannterSchwachstellen vermeiden1 PufferuumlberlaufMitweitemAbstand ist der Pufferuumlberlauf

die amweitesten verbreiteteGefahrenquellewenn man in der Sprache C programmiertEs kann ganz einfach sein ndash zum Beispiel indas Element mit der Nummer 256 eines256-teiligenArraysDatenhineinzuschreibenCompiler erkennen verbotene Pufferzu-

griffe nicht immer als Softwarefehler DaskannernsthafteKonsequenzenwiedie bdquoCodeInjectionldquo oder die bdquoArc Injectionldquo haben ndashbei letzterer aumlndert der Angreifer den Kon-trollfluss eines Programms indem er dieRuumlcksprungadresse auf dem Stack modifi-ziert Bei der bdquoArc Injectionldquo braucht derAngreifer nicht einmal Code einzuschleusenEr kann zu irgendeiner Funktion im existie-renden Code springen oder Guumlltigkeitspruuml-fungen oder Assertions uumlberspringenHier ein Beispiel fuumlr eine Pufferuumlberlauf-

Attacke Ein eingebettetes Geraumlt misst dieWassertemperatur in einem Schwimmbe-cken und zeigt die Zeitanteile als Histo-gramm an in denen das Wasser eine be-stimmteTemperatur hatte Der Softwareent-wickler baut einen Array mit 100 positivenIntegerzahlen bei denen jedes Element miteinerGradangabe inCelsius korrespondiertElement 0 fuumlr 0deg Element 1 fuumlr 1deg und soweiter Jedesmal wenn der Sensor die Was-sertemperaturmisst wird das entsprechen-deElement desArrays umdenWert 1 erhoumlhtUm ganz sicher zu gehen stattet der Ent-

wickler denTemperatur-Arraymit viel Spiel-raum aus Er uumlbersteigt den Temperaturbe-reich bei weitem den einmenschlicher Koumlr-per aushalten wuumlrde

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012 17

EmbEddEd-SyStEmE SoftwaRE-DESign

ohne Locks fuumlr Multicore-Systeme entwi-ckeln

Echtzeit-Software ohne Echtzeit-Betriebssys-tem programmieren

InfoClick

wwwelektronikpraxisde InfoClick 3337487

wwwyakinduderequirements+492319860606

bull Komplexe software inKuumlrzester zeit spezifizieren

bull anforderungen fehlerfreierfassen

bull abhaumlngigKeiten von diagram-men und modellelementenautomatisch darstellen

bull aufwaumlnde von aumlnderungenKennen bevor sie entstehendurch vollstaumlndigestracing

bull manager fachanwenderund entwicKler sprechenendlich von denselbendingen

yaKindu requirementsdie software fuumlr requirementsengineering und traceability

IHRNUTZEN

Bis eines Tages der Angreifer den Sensoraus demWasser nimmt und mit einem Feu-erzeug aufheizt Sobald der Sensor einenWert misst der 100deg uumlbersteigt verletzt dieSoftware fuumlr das Histogramm-Update eineSpeicheradresse die hinter dem Ende desTemperatur-Arrays liegt Wenn dort Datenliegen hat der Angreifer die Daten korrum-piert Steht dort Maschinencode dann hatder Angreifer die ausfuumlhrbare Software kor-rumpiert In jedemFall ist es ein schaumldlicherEingriff Bitte beachten Sie dass auch dafuumlrweder eine Internetverbindung noch eineVerbindung zu einem externen Netzwerknoumltig war Ein Feuerzeug genuumlgteWie koumlnnen wir Pufferuumlberlaumlufe vermei-

denDie Schwachstelle ist soweit verbreitetdass ein mehrstufiger Ansatz am besten istVerhindern Entdecken Heilen Im Beispielunseres Schwimmbeckens sollten Sie expli-zit pruumlfen dass keine Temperatur ermitteltwird die der von Eis (unter 0deg) oder heiszligemDampf (uumlber 100deg) entsprichtVerhindern Sie Pufferuumlberlaumlufe auch in-

dem Sie gefaumlhrliche Bibliotheksfunktionenvermeiden (wie gets()) und Vorsicht bei an-deren walten lassen (wiememcpy())

bdquoAnstreicherldquo-Methodeermittelt PufferuumlberlaumlufeEntdeckenSie Pufferuumlberlaumlufe indemSie

wie ein Anstreicher vorgehen Erweitern SiedenPuffer anbeidenEnden etwas Fuumlllen Siedie Erweiterungsbereiche mit ungewoumlhnli-chem Inhalt den ich bdquoAnstrichldquonenne zumBeispiel eine Falle in derMaschinenspracheIhres Prozessors Dann pruumlfen Sie den bdquoAn-strichldquo wiederholt zur Laufzeit Wenn derAnstrich uumlberschrieben wurde haben Sieeinen Pufferuumlberlauf entdeckt2 Tricksereien mit ZeigernWenneinAngreifer einenDatenzeigermo-

difizieren kann dann kann der Angreifernach eigenemGusto an jededenkbare Stelleverweisen Wenn ein Angreifer einen Funk-tionszeiger uumlberschreiben kann dann ist erauf einemgutenWeg seinenCode auf IhremProzessor auszufuumlhren3 Dynamische SpeicherzuweisungDie Verwendung dynamischer Speicher-

zuweisungen ist in vielen sicherheitskriti-schenSystemenwie der Luft- undRaumfahrtverbotenAngreifer sindheiszligdarauf solcheDefekte zu finden da sie eine guumlnstigeGele-genheit bieten die Sicherheit eines Embed-ded-Systems zu verletzenEin besonders empfindlicher Fehler ist es

die Pruumlfung zu unterlassen ob eineAnfragezur Speicherzuweisung erfolgreichwar odernichtMancheMechanismengebenanstelleeines Zeigers auf einen Speicherpuffer den

Wert Null aus wenn kein verfuumlgbarer Spei-cher mehr vorhanden ist Wenn die Anwen-dungssoftware diesen Nullwert als Zeigerbehandelt wird sie in einen Puffer hinein-schreiben der an der Speicheradresse NullbeginntViele Angreifer wuumlrden sich freuen wenn

Ihre Software dies taumlte Angreifer wissendass eingebettete Software oft eingeschraumlnk-te Speicherressourcen hat Sie setzen allesdaran den Speicher auszuschoumlpfen indemsie den Speicherzuweisungsmechanismusdazu zwingen mehr Speicher als sonst uumlb-lich zu belegen ndash vielleicht durch einge-schleusten Code der Speicherlecks enthaumlltSie koumlnnenauchversuchen IhrDatenabfra-gesystem mit houmlheren Datenmengen oderDatenraten zuuumlberflutenndash inderHoffnungdass dieDatenlawine Ihre Speicherkapazitaumlterschoumlpft Und dannWenn Ihre Software einen Speicherpuffer

anfragt aber die Pruumlfung unterlaumlsst ob dieZuweisung fehlgeschlagen istwird sie einenPuffer anderAdresseNull eroumlffnenundalleszertrampeln was vorher dort gewesen istWenn zumBeispiel die Flags fuumlr das Ein- undAusschalten von Interrupts an dieser Stellestehen koumlnnte dadurch die Verbindung derSoftware zudenHardware-Interfaces anderPeripherie unterbrochenwerdenDas koumlnn-te dazu fuumlhren dass Ihr System nicht mehrin die Hardware eingebunden ist FG

D Kalinsky Associates +1408 749 8562

Kleine Angriffsflaumlche Die perfekte Absicherunggegen Angreifer im Web gibt es nicht Wichtig ist esaber sich um die die gaumlngigen Schwachstellen zukuumlmmern

PikeResearch

18

SyStementwurf AudiodAten uumlbertrAgen

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Audiosignale drahtlosmit Licht uumlbertragen

Audiosignale mit maximal 48 kBits mit Laser oder High-Power-LEDuumlbertragen Wir stellen Ihnen eine Schaltung vor die Audiosignale in

groszligen Raumlumen mit hoher Funkbelastung sicher transportiert

IgOR ZImmERmANN

Igor Zimmermann ist Entwickler fuumlr Embedded-Systeme bei der Mixed Mode GmbH inMuumlnchen

Funkuumlbertragungen haben sich vor al-lem im privaten Umfeld in den letztenJahren durchgesetzt Allen voran im

Multimediabereich seien hier kabelloseKopfhoumlrer genannt oder dieWLAN-Uumlbertra-gung Um bei der digitalen Audiouumlbertra-gung zu bleiben Mit der Digitalisierung derMultimediadaten entstand das Beduumlrfnisdiese digitalenAudiodatendrahtlos zu trans-portieren Hier sind im Speziellen drei Fre-quenzbaumlnder relevantDas 24-GHz-Band mit Frequenzen von24 bis 25 GHzDas 5-GHz-Band mit Frequenzen von5725 bis 5875 GHz und das 433-MHz-Band mit Frequenzen von43305 bis 43479 MHz

Wenn sich die Frequenzbaumlnderuntereinander stoumlrenDie ersten beiden Frequenzbaumlnder sind

alle fuumlrAudio-Uumlbertragungsgeraumlte geeignetdie uumlberWLANoder Bluetooth senden Her-koumlmmliche Funkkopfhoumlrer und Funklaut-sprecher benutzen das Band mit 433 MHzAlle drei Frequenzbaumlnder koumlnnen frei be-nutztwerdenwas auchgleichzeitig ein Pro-blem darstellt So sendet im 24-GHz-Bandbeispielsweise dieMikrowellewaumlhrenddas433-MHz-Band von etlichen anderen Funk-verbindungen verwendet wird Durch diegemeinsame Nutzung koumlnnen gegenseitigeStoumlrungen auftretenEine Uumlbertragung mit Licht ist gegen Stouml-

rungen aus diesen Baumlndern unempfindlichAuch inUmgebungenmit starker Funkbean-spruchungkannauf dieseWeise eineAudio-Signaluumlbertragung erfolgen Ein weitererVorteil ist die Reichweite die bei einerUumlber-tragung mit Licht erreicht werden kann

Audiosignale uumlbertragenMit Licht lassen sich groszlige Entfernungen uumlberbruumlcken wobei die APU allessteuert (Illustration)

FotoKlickerpixeliode

Audiosignale drahtlos uumlbertragen Schematischer Aufbau der Schaltung mit Audio Processing Unit

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

Waumlhrend eineUumlbertragung indengenanntenISM-Baumlndern auf einige hundert Meter be-schraumlnkt ist koumlnnenmit Licht groszligeDistan-zen uumlberwunden werden

Schaltung uumlbertraumlgt drahtlosAudiosignale mit LichtIm folgenden wollen wir Ihnen eine neu-

entwickelte und bereits im realen Einsatzgetestete Schaltung vorstellen die drahtloseAudiosignale mit Licht uumlbertraumlgt Die maxi-maleAudioqualitaumlt des Signals darfmaximal48 kBits betragen Die Schaltung setzt aufeinem Mikrocontroller zur Steuerung einesAudio-Codecs auf Die Entwicklung ist durchdie Visible Light Communication (VLC) ins-piriert Das Signal wird uumlber eine Treiber-schaltung entweder per Laser oder High-Power-LED uumlbertragen Auf der Empfaumlnger-seitewirddas Signal uumlber einenAudio-Codecindasurspruumlngliche Format ruumlckgewandeltEinsatzbereiche sind groumlszligere Raumlume in de-nen einehoheFunkbeanspruchungherrschtZum erfolgreichen Versenden der Audio-

informationenwerden zweiAusgabendieserSchaltung benoumltigt Die Versorgungsspan-nung betraumlgt 12 V Auf Senderseite kann derBenutzer eine von drei verschiedenen Sig-nalartenwaumlhlen die uumlbertragenwerden soll analoges Audiosignal Klinke (TRS Ana-log Audio In) digitales SPDIF-Signal Anschluss uumlberCinch (RCA Electrical SPDIF In) optisches SPDIF Signal Anschluss uumlberToslink (Toslink Optical SPDIF In)

APU mit Audio Codec undKonfigurationsregisternDie Konfiguration der Signalart erfolgt

uumlber ein Display und vier Taster (S1 S2 S3S4 und Display) Das Display und die Tastersind an einen Mikrocontroller angeschlos-sen der die Auswertung der Einstellungenvornimmtunduumlber einen Isup2C-Bus andieAu-dioProcessingUnit (APU)uumlbertraumlgt DieAPUbesteht aus einem Audio-Codec und besitztKonfigurationsregister zumSpeicherndieserEinstellungen Uumlber diese Register koumlnnenauch Manipulationen an den Statusbits desSPDIF-Signals vorgenommen werden DieAPU verfuumlgt zudem uumlber ein integriertes di-gitales Interpolationsfilter und ein Antialia-sing-Filter Das hat den Vorteil dass eineexterne Filterung uumlberfluumlssig wird Das Isup2S-Interface uumlber das andere Audio-Kompo-nentenmit derAPUkommunizieren koumlnnensteht demBenutzer ebenfalls zurVerfuumlgungEin- undAusgaumlnge koumlnnenasynchronbe-

trieben werden Das erzeugte Signal wird inein SPDIF-Format gewandelt und dem La-sertreiber oder dem LED-Treiber zur Verfuuml-

Via Laser oder High-Power-LEDAudiosignale drahtlos mit Licht uumlbertra-gen Die von uns vorgestellte Schaltungsetzt auf einen Mikrocontroller der denAudio-Codec steuert wobei die Qualitaumltdes Signals maximal 48 kBits betragendarf Der Mikrocontroller ndash die AudioProcessing Unit ndash ist das Herzstuumlck die-

ser speziellen Treiberschaltung der dasAudiosignal via Laser oder High-Power-LED uumlbertraumlgt Mit den Konfigurations-registern lassen sich die Einstellungenfuumlr die Codes speichern und es lassensich Manipulationen an den Statusbitsdes SPDIF-Signals vornehmen

SyStementwurf AudiodAtEn uumlbERtRAgEn

19

telekommunikation von Mixed Mode

InfoClick

wwwelektronikpraxisde InfoClick 3343108

gung gestellt Aus Sicherheitsgruumlnden wirdder Lasertreiber uumlber eine vomMikrocontrol-ler gesteuerte Enable-Leitung ein- und aus-geschaltet Als Laserquelle dient eine Laser-diodeDer Lasertreiber ist zwar speziell auf diese

Laserdiode eingestellt kann aber durch an-dere Laserdioden ersetzt werden Die Aus-gangsleistung der Modulationsstrom derGleichstromanteil und der Temperaturkoef-fizient der Laserdiodenwerdenuumlber externeWiderstaumlnde des Lasertreibers dimensio-niert Die Laserdiode ist an einem Kupfer-block angebracht der dieKuumlhlungderDiodeund die Fokussierung des Laserlichts uumlbereine Linse im Inneren uumlbernimmt Der LED-Treiber der ein IR-Treiber oder ein High-Po-wer-LED-Treiber sein kann besteht aus zweischaltbarenKonstantstromquellenundkannbis zu vier High-Power-LEDs versorgen

Audioqualitaumlt liegt beiaktuell 48 kBitsAuf der Empfaumlngerseite muss der Light

Receiver alsQuelle ausgewaumlhltwerdenDie-ser Light Receiver umfasst je eine Empfangs-einheit fuumlr sichtbares und infrarotes Licht(Visible Light und Infrared Light Receiver)

Beide Empfangseinheiten bestehen aus ei-nemPhotodetektor und einemnachgeschal-teten Transimpedanzverstaumlrker Das vomTransimpedanzverstaumlrker erzeugte Signalwird anschlieszligendSPDIF-gerecht aufberei-tet und an die Audio Processing Unit weiter-geleitet und kann an einem der sechs An-schluumlsse abgegriffen werdenDiemaximaleAudioqualitaumlt der Schaltung

liegt zur Zeit noch bei 48 kBits da die Emp-fangseinheit Signalemit einer Frequenz vonmaximal 31 MHz zuverlaumlssig empfangenkannDiemaximaleReichweite die bei einergerichteten Uumlbertragung mit Laser erreichtwerden konnte betraumlgt aktuell 15 m DurchdenEinsatz vonoptischenHilfsmitteln kannjedoch eine weitaus houmlhere Reichweite er-reicht werden HEH

MixedMode +49(0)89 89868240

20

ProgrammiersPrachen Sichere Software

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Stabile Embedded-Systememit der Programmiersprache Ada

Mit der Programmiersprache Ada laumlsst sich sicherheits- und missions-kritische Software entwickeln wovon Embedded-Systeme profitieren

sollen Wir stellen Ihnen die Programmierumgebung vor

JOhANNES KANIg

Johannes Kanig ist Senior Software Engineer beiAdaCore

WashabenARGOS einSatellitenpro-gramm zur Sammlung von Um-weltdaten unddas Traumlgheitsnavi-

gationssystem des Airbus 350 XWB mitein-ander gemeinsam Beide stellen besondereAnforderungenan ihre Steuerungssoftwaredie sehr sicher und in Echtzeit reagierenmuss und deren eventuelle Fehler viel Geldoder sogar Menschenleben kosten koumlnnenIn beiden Faumlllen ist die Software missions-kritisch wenn beispielsweise durch einenFehler der Satellit verloren gehen kann odersicherheitskritischwenndurch einenFehlerdie Passagiere des Airbus inGefahr geratenBeide Systeme haben noch etwas gemein-sam sie sind in Ada geschrieben

Ein Traumlgheitsnavigationssystem stellt ho-he Anforderungen an seine Embedded-Ap-plikationen die sehr Hardwarenah laufenDabei wird auf Sicherheit groumlszligter Wert ge-legt Die Anwendung darf unter keinen Um-staumlnden abstuumlrzen und sollte ihre Funktionerfuumlllen sowie maximale Reaktionszeitenstrikt einhalten Fuumlr sicherheitskritischeAn-wendungen werden in der Regel vor demeigentlichen Entwicklungsprozess genaueHigh-Integrity-Anforderungen aufgeschrie-ben denenderProgrammcodedannentspre-chenmussNatuumlrlich ist es fuumlr denProgram-mierer einfacher wenn die Sprache direktKonstruktionen anbietet die bestimmtenArten von Anforderungen entsprechen

Lesbarer Code vermeidetFehler beim programmierenDie Entwickler der Programmiersprache

Adahaben stets besonderenWert auf Lesbar-keit undWartbarkeit gelegt Das aumluszligert sich

unter anderem in syntaktischenUnterschie-den mit Sprachen wie C oder Java Zum Bei-spiel verzichtet Ada voumlllig auf geschweifteKlammern und nutzt stattdessen leicht les-bare Schluumlsselwoumlrter um Bloumlcke zu kenn-zeichnen So werden if-Bloumlcke mit einemend if undSchleifenmit einemend loopabgeschlossen Im Allgemeinen vermeidetAdaSymbolewoSchluumlsselwoumlrter Sinn erge-ben So wird auch der in C uumlbliche Stern zurBezeichnung von Zeigern durch das Schluumls-selwort access ersetzt Ada beachtet Groszlig-und Kleinschreibung nicht um Verwechs-lung von zu aumlhnlichen Bezeichnern zu ver-meiden Und schlieszliglich vermeidet Ada diein Java und C verbreitete Praxis oktale Zah-len mit einer fuumlhrenden Null darzustellenNeben diesen syntaktischen Unterschie-

den gibt es auch viele semantische Hilfenum lesbare undbesserwartbare Programmezu schreiben Sowird die Relation zwischeneiner Funktion und ihren Parametern durchSchluumlsselwoumlrter wie in (nur lesen) out(nur schreiben) oder in out (beides) doku-mentiert Ada ist imGegensatz zuC eine starkgetypte Sprache Typkonversionen die zuLaufzeitfehlern fuumlhrenkoumlnnenmuumlssten ex-plizit geschrieben werden Ada erlaubt imGegensatz zu manchen anderen Sprachendie Einfuumlhrung von benutzerdefinierten In-tegertypen die Absichten des Programmie-rers dokumentieren (DieseVariable enthaumlltZahlen zwischen 1und 100) unddie korrek-te Ausfuumlhrung mit Laufzeituumlberpruumlfungensicherstellen Diese semantischen Eigen-schaften erleichtern den direkten Vergleichdes Programmcodes mit den an ihn gestell-ten Anforderungen

Besonderheiten bei derEmbedded-ProgrammierungBei Echtzeitanwendungenhandelt es sich

meist um parallele Anwendungen denn inder Regel werden mehrere Berechnungengleichzeitig durchgefuumlhrt undneueEreignis-se verarbeitet In diesem Kontext ist es be-

Umweltsattelit Die Steuerungssoftware muss sich besonderen Anforderungen stellen Mit der Program-miersprache Ada laumlsst sich sicherheits- und missionskritische Software entwickeln (Im Bild der Umwelt-satellit ENVISAT)

fotoD

Lr

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

sonders wichtig dass Reaktionszeiten derSoftware auf Ereignisse garantiert werdenkoumlnnen Hier ist es nuumltzlich dass Ada einfa-che Sprachfeatures zur Beschreibung vonparallelen Prozessen bereitstellt Es ist ent-scheidend dassAdakeinenGarbageCollec-tor benoumltigt der denProgrammablauf verzouml-gern koumlnnte Ein manueller Umgang mitThreads ist alsonicht noumltig Unvorhersehba-re Latenzzeiten die bei sicherheitskritischenAnwendungen unakzeptabel sind werdenausgeschlossen Ein weiteres Argument fuumlrden Einsatz von Ada im Embedded-Bereichist seine Faumlhigkeit zur Low-Level-Program-mierung Damit kann beispielsweise die ge-naue Auslegung einer Datenstruktur imSpeicher festgelegt werden Als gefaumlhrlicherachtete Low-Level-Features wie zum Bei-spiel dasAuslesenbeliebiger Speicherberei-che oder auch die in C beliebte Pointerarith-metik sind in Ada nur unter Umgehung desTypsystemsmoumlglich

Ada ndash Die Programmierspracheohne UumlberraschungenAda wird oft als Sprache ohne Uumlberra-

schungen bezeichnet Mechanismen zurProgrammstrukturierung wie es sie in Adagibt also ein Objektsystem oder ein Paket-system sind sehr hilfreich wenn es darumgeht umfangreiche Programme zu schrei-ben Der Ada-Standard sieht sogenanntePragma-Restriktionen vormit denen festge-legt werden kann ob Features der Spracheausgeschlossenwerden sollenDamit lassensich interne Coding-Standards uumlberpruumlfenDieses Feature kannmanmit dem StandardMISRA-CC++vergleichen der versucht einesichere Teilmenge von C beziehungsweiseC++ zu definieren Ada bietet den Vorteildass viele Konstrukte vondenenMISRAab-raumlt gar nicht geschrieben werden koumlnnenund dank des starken Typsystems mehrUumlberpruumlfungenmoumlglich sindDie Programmiersprache Ada gibt es seit

demBeginn der achtziger Jahre Die damali-ge Version Ada 83 enthielt bereits eine guteBasis fuumlr die strukturierte undmodulare Pro-grammierung wie ein Paketsystem das dieKapselung von Daten und Algorithmen er-moumlglicht Seitdem hat sich Ada kontinuier-lich weiterentwickelt So erschien 1995 derAda-95-Standard der die Sprache um einObjektsystem erweiterte Der naumlchste Stan-dard Ada 2005 brachte Verbesserungen imUmgang mit Zeigern die als konstant oderauch als not null deklariert werden koumln-nen Das stellt vor allem eine umfangreicheErweiterungder Standardbibliothekdar dienun auch Container enthaumllt Das Objektsys-temwurde umdas Interface-Konzept erwei-

PRAxISWERT

Adacore Software-loumlsungen fuumlr AdaAdaCore wurde 1994 gegruumlndet undist der fuumlhrende Anbieter von kom-merziellen Softwareloumlsungen fuumlr Adaeiner modernen Programmiersprachefuumlr Mission-Critical-Anwendungen insicherheitskritischen UmgebungenDas wichtigste Produkt ist die Ent-wicklungsumgebung GNAT Pro dieOnline-Support bietet und auf mehrPlattformen als jede andere Ada-Tech-nologie verfuumlgbar ist Unternehmenwie Boeing HP Krauss-Maffei oderSiemens setzen AdaCore-Loumlsungenfuumlr sicherheitskritische Anwendun-gen ein Hauptsitz ist New York daseuropaumlische Headquarter ist in Paris

tert so dass nun auch Mehrfachvererbungmoumlglich istDer naumlchste Standard ist fuumlr 2012 vorgese-

hen Darin sind die aus der Programmier-spracheEiffel bekanntenVertraumlge (contracts)vorgesehen die jeder Funktion zwei Boole-scheAusdruumlcke hinzufuumlgen koumlnnen die voroder nach Ausfuumlhrung der Funktion wahrsein sollenDieseAusdruumlcke sind im Idealfalldirekt von den Anforderungen an die Soft-ware abgeleitet Sie koumlnnen als formale Do-kumentation als zusaumltzlicheUumlberpruumlfungenzur Laufzeit oder als Ausgangspunkt fuumlr sta-tische Analysen dienen Eine weitere Neue-rung ermoumlglicht dieDefinition vonTypenmitso genannten Invarianten Damit sind Boo-lesche Ausdruumlcke gemeint die fuumlr Wertedieses Typs immer wahr sind Schlieszliglichgibt es viele andereWeiterentwicklungenwieeine Python-aumlhnliche Syntax zur Iterationuumlber Container und Verbesserungen implattformuumlbergreifenden Umgang mit ne-benlaumlufigen Prozessen und Multiprozesso-ren hEh

AdaCore +33(1)4970 6716

ProgrammiersPrachen SiCHERE SOfTwARE

21

Adacore-Entwicklungswerkzeuge

Ada Deutschland

InfoClick

wwwelektronikpraxisde infoclick 3343168

Bei unsbewegtsich was

Webcasts aufwwwelektronikpraxisde

Finden Sie die Loumlsung fuumlr IhrProblem ndash als Video oderAudiodatei

Beispiele fuumlr Webcasts

Anwendungsbeschreibungenkomplexer erklaumlrungsbeduumlrftigerProdukte

anwendungs- und loumlsungsorien-tierte Produktpraumlsentationen

vertonte Powerpointpraumlsentati-onen ProduktanimationenExperteninterviews oderMesseberichte

Online-SeminareOnline-Konferenzen

Schauen Sie doch mal rein---gt wwwelektronikpraxisde

CAST

wwwvogelde

0726

4

22

EmbEddEd-SyStEmE Software-architektur

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Von der impliziten zur explizitenSoftware-Architektur

Im Bereich der Unternehmenssoftware ist das Festlegen einer Soft-ware-Architektur heutzutage Standard doch bei der Embedded-Ent-

wicklung wird dieser Aspekt haumlufig noch vernachlaumlssigt

MIchAEL STuRM chRISTIAN hOcK

Dr Michael Sturm leitet die Abteilung Softwarepro-dukte im Geschaumlftsbereich Industrybei der Berner amp Mattner Systemtech-nik in Muumlnchen

Dr christian hock ist verantwortlich fuumlr die strate-gische Ausrichtung des Geschaumlfts-bereiches Industry bei der Berner ampMattner Systemtechnik in Muumlnchen

Eine dokumentierte Software-Architek-tur hat klare Vorteile Produkte sindanpassungsfaumlhiger und zukunftssiche-

rer Auszligerdem erleichtert das Wissen umSchnittstellen Kommunikationsbeziehun-genundRessourcen einzelner Komponentenderen Anpassung an neue Hardwarebedin-gungenundFunktionsanforderungenNichtnur beiNeuentwicklungen sondern auchbeiModernisierungen bestehender Embedded-Loumlsungen lohnt es sich einen Software-Ar-chitekten einzubinden um Weiterentwick-lungenauf ein zukunftssicheres Fundamentzu stellen

Begruumlndete Technologie-entscheidungen treffenUnter Software-Architektur versteht man

die strukturierteAnordnungderKomponen-ten eines Systems mit Informationen zurKommunikation zwischen den Komponen-ten sowie deren Abbildung auf Hardware-oder Softwareressourcen Eine fruumlhzeitigeundprojektbegleitendeUnterstuumltzungdurcheinen den einzelnen Entwicklerteams moumlg-lichst neutral gegenuumlberstehendenSoftware-Architekten ist die ideale Loumlsung EineReihevon Aufgaben kann man dieser Instanz zu-ordnen in vielenBereichengeht es aber aucheinfach umModerationEine zentraleAufgabeder EmbeddedSoft-

ware-Architektur ist es nicht nur die funkti-onalen Anforderungen an die Software zuberuumlcksichtigen sondern auch nichtfunkti-

in seiner Loumlsungsfindung eingeschraumlnktsein Bewaumlhrte Loumlsungsansaumltzewerdendannoft unhinterfragt wiederholt Neue moumlgli-cherweise besser geeignete und insbesonde-re flexiblere Technologienbleibenunberuumlck-sichtigt

Zusammenhaumlnge muumlssennachvollziehbar bleibenDaher kannes zumBeispiel zudenAufga-

ben eines Software-Architekturteams oderexternen Beraters gehoumlren neue Technolo-

Groszliges Vorbild Softwaresysteme lassen sich hinsichtlich ihrer Komplexitaumlt mit Gebaumluden wie Antoni Gau-diacutes Kirche Sagrada Familia in Barcelona vergleichen Eine in sich schluumlssige Architektur ist deshalb auch imSoftwarebereich unerlaumlsslich

iStockph

otoham

ishBa

rrie

onale Anforderungen zu erfassen und zwarvor dem Hintergrund einer Lifecycle-Prog-nose Unter diese nichtfunktionalen Anfor-derungen fallen so komplexe Punkte wieWartbarkeit Modifizierbarkeit Skalierbar-keit Portierbarkeit Konnektivitaumlt Benutz-barkeit Zuverlaumlssigkeit Sicherheit Perfor-mance Effizienz oder TestbarkeitSo vorteilhaft ein eingespieltes Entwick-

lerteam fuumlr die Kommunikation ist so sehrkann es auch durch die Erfahrung aus Vor-gaumlngerprojekten oder aumlhnlichen Projekten

23

EmbEddEd-SyStEmE Software-architektur

gien zu evaluieren und auf Eignung fuumlr Pro-jekte zu pruumlfen sowie neue Toolsets zur Ver-fuumlgung zu stellen Kuumlnftig benoumltigteKompo-nenten muumlssen identifiziert werden undwenn es darum geht fuumlr einzelne Kompo-nenten optionale Technologien vorzuschla-gen bewaumlhrt sich haumlufig das Einschalteneines neutralen ArchitekturbeauftragtenEs geht um die Diskussion von Design-

Entscheidungen dieDefinition vonSchnitt-stellen und die Entwicklung von CodingConventions Unter der Moderation einesSoftware-Architekten erfolgen diese Ent-scheidungen bewusster und werden besserdokumentiert Nur sobleibendie Zusammen-haumlnge innerhalb eines Systems auch fuumlr Ent-wickler nachvollziehbar die spaumlter einmalan ihm arbeitenmuumlssen und nichts von denimplizitenAnnahmenund teaminternenGe-pflogenheiten seiner Schoumlpfer wissen

Implizite Architekturen sindimmer vorhandenIn der taumlglichen Praxis der Embedded-

Entwicklung sieht es leidermeist anders ausZeit- und Kostendruck verhindern oft dassGedankenundArbeit in eine systematisierteSoftware-Architektur flieszligen Hier koumlnnenSoftwarearchitekten auchdurchdieAuswahlgeeigneter Methoden und Tools weiter hel-fen So kann die dynamische Entwicklungheutiger Industrieproduktemit agilenAnsaumltzenunterstuumltztwerdenAuch einstrikt modellbasierter Entwicklungs-ansatz also die Modularisierung mitklar definierten Schnittstellen ist einMittel um einen hohen Reifegrad zuerreichen Die Vorteile dieses Vorge-henshaben sich in vielenProjektenbeiBerner amp Mattner in der Entwicklungvon Funktionserweiterungen gezeigtDank des modellbasierten Ansatzeskonnten diese mit minimalem Auf-wand realisiertwerdenndashunddies ins-besondere auch von urspruumlnglichnicht beteiligten EntwicklernAber Fakt ist Jedes Softwaresystem

hat eineArchitektur auchwenndiesenicht explizit modelliert wurde Ent-stehendiese Strukturenungeplant ausder Dynamik der Komponentenent-wicklung heraus tut dies der Funkti-onalitaumlt der Software zunaumlchst keinenAbbruch Probleme treten erst spaumlterauf wenn es umWartung Skalierungoder Portierung gehtImNachhinein raumlcht sichdann zum

Beispiel die Wahl einer bestimmtenProgrammiersprache oder einerSchnittstelle die unter dem Zeit- undKostendruck imEntwicklungsprozess

schnell und dazu noch undokumentiert ge-troffenwurdeDieKommunikation zwischeneinzelnen nicht klar getrenntenKomponen-ten war moumlglicherweise nur oberflaumlchlichgeloumlst anstatt schon bei derWahl der Tech-nologien und Sprachen darauf zu achtenReibungspotenziale zu minimieren

Zu enge Abhaumlngigkeiten vonder Hardware vermeidenWird ein Softwareprojekt nicht in Bezug

auf seinengesamtenLebenszyklus gesehenbesteht bei Embedded-Projekten auch dieGefahr dass ungewollteAbhaumlngigkeiten zurEntwicklungs-Hardware entstehen Die An-passung an neue Hardwaregenerationenkann dadurch sehr aufwaumlndig oder gar un-moumlglich werdenEine klar strukturierte unddokumentierte

Software-Architektur wird erst dann ver-misst wenn es bei der notwendigenWeiter-entwicklung Fragen und Schwierigkeitengibt Oft sollen wesentliche Teile der Soft-ware beibehalten aber zum Beispiel an einneuesBenutzerinterface angeschlossenwer-denManchmal ist der Controller fuumlr den siegeschrieben wurde nicht mehr verfuumlgbarund sein Nachfolger ist anders aufgebautFunktionenmuumlssen erweitert zusammenge-fuumlhrt oder auf geaumlnderte externe Systemeangepasst werden Die Pflege oder Weiter-

PRAxISWERT

Fehler lassen sichverhinderneine klar definierte und stringenteSoftware-architektur hilft die Zusam-menhaumlnge innerhalb eines Systemsbesser zu verstehen Dies verhindertfehler und senkt nicht zuletzt denaufwand bei der eventuell noumltigenbdquoaltbausanierungldquo von embedded-Systemen

Nachtraumlgliche Analyse nuumltztwurde die Software-architektur inder embedded-entwicklung vernach-laumlssigt lohnt sich angesichts der zuerwartenden langen einsatz- und Le-benszeiten vieler embedded-Systemeauch eine nachtraumlgliche analyse undDokumentation andernfalls drohenmoumlglicherweise immer wieder unkal-kulierbare Verzoumlgerungen wenn war-tungs- oder weiterentwicklungsarbei-ten eventuell auf undokumentierteeigenheiten des Systems stoszligen

H

SIG

HPEED

ROBUST

FLEXIBLE

TriCore Power Architecturebull

XC2000XE166 SH-2A XScalebull bull

Cortex M0M3M4 Cortex R4 Cortex A8 ARM7911bull bull bull

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

24

EmbEddEd-SyStEmE Software-architektur

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Literaturhinweise[1] Pete Goodliffe code craftthe Practice of writing excellent codeNoStarch Press 2006

[2] Peter hruschka Gernot Starkeknigge fuumlr SoftwarearchitektenentwicklerPress 2012

[3] craig Larman applying uML and Pat-terns an introduction to object-orien-ted analysis and DesignPrentice hall 2004 (3 auflage)[4] Berner amp Mattner-fachartikel bdquoSoft-warearchitektur in eingebetteten Syste-menldquo ndash httpbitlyJosXYw

entwicklung eines solchen Systemswird fuumlrden Produktverantwortlichen zu einerschwer kalkulierbaren Kostenquelle vor al-lem dann wenn er nicht mehr auf den KerndesurspruumlnglichenEntwicklerteams zuruumlck-greifen kannHilfestellung in solchen Situation bieten

Spezialisten wie Berner amp Mattner die Alt-systeme analysieren bestehende Software-Architektur nachdokumentierenundmoumlgli-che Migrations- und Aumlnderungspfade iden-tifizieren Als externe Architekturberaterkoumlnnen sie unbelastet von der Softwarehis-torie untersuchen wo in der Struktur derSoftware Problemfelder liegen und Loumlsun-gen vorschlagenDerAufwand fuumlr PflegeundWeiterentwicklung laumlsst sich auf Basis einersolchen Analyse besser beurteilen

Regeln aufstellen ndash und sierichtig brechenBesonders spannend wird das Thema bei

zertifiziertenEmbeddedSystemen Einehaumlu-fige Herausforderung ist dass die Softwareoder wesentliche Teile zertifiziert sind umeinem SIL (Safety Integrity Level) zu genuuml-gen Selbstverstaumlndlich moumlchte niemanderneut eine IEC 61508-Zertifizierung durch-laufen wenn sich dies vermeiden laumlsstGluumlcklicherweise sind oft nur einzelne rele-vante Teile des Systems als sicherheitskri-tisch eingestuft Die Kunst des Architektur-beraters ist es die Stellen in der Software zufinden andenendie Schnitte angesetztwer-denkoumlnnenndashund zwar zwischenden sicher-heitskritischen Teilen und den Teilen undSchnittstellen die problemlos geaumlndertwer-den koumlnnenHierzu nutzt der Berater gaumlngige Design-

Patternswie etwaSchichtenoder bdquopipes andfiltersldquo Ironischerweisemusshaumlufig das aufdieseWeise entstandene Regelwerk die ab-geleiteteArchitektur fuumlr das eigentlicheEnt-wicklungsprojekt gleich wieder gebrochenwerden eben um zertifizierte Bestandteileunveraumlndert zu erhalten Der groszlige Unter-schied zu den bdquoRegelverletzungenldquo aus derEntstehungszeit der urspruumlnglichen Soft-

ware liegt aber darin dass sie nun ausfuumlhr-lich dokumentiert werdenEs waumlre ein Missverstaumlndnis Software-

Architektur als ein unveraumlnderliches Doku-ment zu verstehen das man nur selten wie-der in die Hand nimmt Es sollte bei jederArbeit an der Software gelesen und gepflegtwerden Ohne dieses lebendige Dokumentwerden Architekturverstoumlszlige oft gar nichtbemerkt Vereinbarungen zu ArchitekturCodingConventions Schnittstellen etcwer-dendadurch fuumlr denEntwickler verbindlich

Architektur muss als Prozessverstanden werdenDer Auftraggeber erhaumllt so ein Embedded

System dessen Pflege er in die Haumlnde einesneuenTeamsgebenkannDie nun freigewor-denen Spezialisten die es erstellt habenkoumlnnen getrost an anderer Stelle eingesetztwerdenDabei gilt Software-Architektur endet nie

DennauchvondenEntwicklern einzusetzen-deDesign-Methodenwie zumBeispiel ObjectOrientedAnalysis andDesign (OOAD)habenklare Strukturen und die Trennung von Zu-

staumlndigkeiten zum Ziel - das ist eindeutigArchitekturEine klare Software-Architektur hilft die

Zusammenhaumlnge innerhalb eines Systemsbesser zu verstehen Dies verhindert Fehlerund senkt den Aufwand bei der bdquoAltbausa-nierungldquo von Embedded Systemen Wurdedie Software-Architektur in der Embedded-Entwicklung vernachlaumlssigt lohnt sich an-gesichts langer Einsatz- und Lebenszeitenvieler EmbeddedSystemeauchdie nachtraumlg-liche Analyse und Dokumentation Andern-falls drohen immer wieder unkalkulierbareVerzoumlgerungen wenn Wartungs- oder Wei-terentwicklungsarbeiten auf undokumen-tierte Eigenheiten des Systems stoszligen Beistark eingefahrenen Teams bzw zum Wis-sensaufbaubietet sichhier ein externer Soft-warearchitekt anDie meisten Fehler durch menschliches

Versagen entstehen dort wo wir nicht ver-stehen woran wir bdquoschraubenldquo Eine expli-zite Architektur traumlgt maszliggeblich dazu beidieWirkketten innerhalb komplexer Systemetransparent zu machen Mit diesem Wissenwerden erforderliche Aumlnderungen wesent-lich schneller bewertet und zuverlaumlssig rea-lisiert FG

Berner ampMattner +49(0)89 6080900

Zusammenhaumlnge verstehen Explizite Software-Architektur traumlgt maszliggeblich dazu bei die Wirkungs-zusammenhaumlnge komplexer Systeme anschaulich und transparent zu machen

iStockph

otoSirgunhik

Lebenslaumlnglich Software-architekturdesign

requirements engineering fuumlr embedded-Systeme

InfoClick

wwwelektronikpraxisde InfoClick 3343141

25

Kolumne

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

Mit Fragen zum ProjekterfolgPETER SIwON

Heute stelle ich Ihnen ein Wundermit-tel vormit demSie inProjekten vielEnergie Zeit und Geld sparen

Gleichzeitigmotiviert es IhreMitarbeiter DerEinsatz des Wundermittels hat sehr viel mitdem BuchstabenWwieWunder zu tun DasBeste daran Es kostet nichts undSie kennenes alle DasWundersameandiesemWunder-mittel ist allerdings dass es trotzdem zu sel-ten eingesetzt wird Ich gebe Ihnen noch einpaar TippsWie kommenSie ameffektivstenan Informationen Wie erfahren Sie amschnellstenwas andereMenschendenkenWie findenSie amschnellstenLoumlsungenDieAntwort lautet FragenUnddie beginnenoftmit wo wie wann oder wer Vielleicht sindSie jetzt uumlber diese simple Antwort ent-taumluscht nachdem ich Ihnen den Mund mitallerlei Wunderversprechungen waumlssrig ge-macht habe An dieser Stelle koumlnnten Siespaszligeshalber auf das Themaeinsteigenundfragen bdquoWie kommen Sie darauf diese Me-thode alsWundermittel zu bezeichnenldquo Siekoumlnnten aber auchgelangweilt denken bdquoWeiszligschon offene Fragen stellenldquo und aufhoumlrenzu lesen Sind Sie sich ganz sicher dass Siealle meine Argumente kennen Das ist zwaretwasmanipulativ abermit dieser Fragebrin-ge ich Sie immerhindazu IhrenStandpunktzu hinterfragen Vielleicht lautet die so pro-vozierteAntwort bdquoNaja eigentlichbin ichmirnicht sicherldquo ndash und Sie lesen doch weiterDas Praktische an solchenFragen ist dass

Sie sich von Ihrer eigenen Antwort in derRegel besser uumlberzeugen lassen Ichhaumltte Sieauch schulmeisterlich zu IhremGluumlck zwin-gen koumlnnen bdquoSie muumlssen weiterlesen weilichweiszlig dass Sie noch jedeMengeWichtigeserfahren das Sie unmoumlglich wissen koumln-nenldquo Dasmache ich aber nicht weil ich dieNachteile kenne 1 Siemuumlssen gar nichts 2Wenn Sie muumlssen dann wollen Sie nichtIhre Motivation ist gering 3 Woher will ichwissen obSie nichtmehr uumlber dieKunst desFragens wissen als ich selbst Damit die ge-rade so schoumln erzeugte Motivation nichtgleichwieder auf demAltarmeines Egos ge-opfert wird spare ichmir PseudofragenwiebdquoHab ichs Ihnennicht gleich gesagtldquo Statt-dessen bedanke ich mich bescheiden fuumlrIhreBereitschaftweiterzulesen Ich gebe zudas faumlllt mir manchmal schwerGeschriebener Text schraumlnkt dieMoumlglich-

keiten etwas einDarumstellen Sie sichbitte

die obenangedeutete Szene als persoumlnlichesGespraumlch vor In diesem Fall koumlnnte ich ausdem W-Vollen schoumlpfen Wenn Sie mir zuverstehen geben dass Sie sich selbst schonmit dem Thema befasst haben dann werdeich Sie beispielsweise fragen bdquoDas freutmich Welche Erfahrungen haben Sie ge-machtldquo oder bdquoWas wuumlrden Sie aus IhrerErfahrung empfehlenldquo Jetzt habe ich dieChance etwas von Ihnen zu lernen Gleich-zeitig spare ich Energie und Uumlberzeugungs-arbeit weil ich einfach nur zuhoumlre Ich wer-de IhreAussagendurchRuumlckmeldungenwiebdquointeressantldquo oder bdquoDa stimme ich Ihnen zuldquounterstreichen Mit meinen Fragen will ichnicht beweisen dass ich der Schlauere binsondern dass Fragen ein echtesWundermit-tel sind Durch interessiertes Nachfragenkann ich Ihnen dabei helfen neue Aspektezu entdecken Was tue ich wenn ich eineandere Meinung habe Statt Geschuumltze wiebdquoJa aberhellipldquo oder bdquoNein das kann nicht seinweilhellipldquo aufzufahren umSie rhetorisch abzu-wuumlrgen oder zu knebeln ist es erheblichnuumltzlicher die Hintergruumlnde Ihrer Darstel-lungdurchFragenherauszufinden Falls Siefalsch liegen kommen Sie vielleicht durchdenVersuchmeine Fragen zubeantwortenselbst dahinter Ich spare mir dann die an-strengende Prozedur der Gegenargumenta-tion Dann werde ich uns beide dazu be-gluumlckwuumlnschen dass wir unser Wissen ge-meinsam bereichert haben ndash denn genauso

ist es Sollte ich derjenige sein der falschliegt kann ich dazulernen ohne mir eineBloumlszlige zu gebenJetzt stellen Sie mir da ich mich als Fra-

genfreundgeoutet habe eine Fragewie bdquoWaswuumlrdenSie tunwenneinunselbststaumlndigerMitarbeiter staumlndig fragt was er tun sollldquoIch wuumlrde wie sollte es anders sein post-wendendeineGegenfrage stellen bdquoWas glau-ben Sie wuumlrde ich tunldquo und Ihnen damitschon die Antwort in den Mund legen fra-gen Tolle Fragen in solchen Situationensind Was haben Sie oder andere in aumlhnli-chen Situationen getan Warum glaubenSie hat es bisher nicht funktioniertldquo Da-nach bringe ich hoffentlich die Geduld fuumlrzweiVerhaltensweisen auf die fuumlr denErfolgeiner Frage wichtig sind Erstens halte ichden Mund um Ihnen Zeit zum NachdenkenzugebenAlsGefragter habenSie es naumlmlichnicht leicht Sie denkennun zuerst uumlbermei-ne Frage und dann uumlber Ihre Antwort nachWenn ich waumlhrend Sie gruumlbeln die Frageselbst beantworte oder noch eine Frage hin-terher schieszlige habe ich alles verdorben Ichzaumlhle also im Kopf bis 5 um diese Falle zuvermeiden Zweitens zeige ich Ihnen wennSie antworten durchAugenkontakt Nickenkurze Ruumlckmeldungen und Verstaumlndnisfra-gen mein Interesse Aktives Zuhoumlren ist diebeste Gewaumlhr dafuumlr dass mir nichts Wichti-ges entgeht und es ist ein Zeichen groszligerWertschaumltzung So gewinne ichdurchFragenund Zuhoumlren Ihre Sympathie Das Wundervollzieht sich also in drei Schritte FragenWarten Zuhoumlren Wenn Sie auf diese Weiseeine gute Idee finden goumlnne ich Ihnen IhrErfolgserlebnis und sage so etwas wie bdquoSu-per das houmlrt sich interessant anldquo Und ichlege gleichnoch eine Frage als ZugabedraufbdquoWannglaubenSiewerdenSie die Idee aus-probierenldquo Diese nachgeschobene Fragehat gegenuumlber einer Aufforderungwie bdquoPro-bieren Sie es doch morgen gleich ausldquo dengroszligen Vorteil dass ich so Ihr Gefuumlhl derEigenverantwortung erhalte bzw foumlrdere IchbeendediesenkurzenAusflug indieWelt derW-Wunder wie auch sonst mit einer FrageHaben Sie Interesse zum Thema Fragetech-nikenWollen Sie eine kostenlose Checklis-te zu Fragetechniken Dann senden Sie mirbitte eine E-Mail an psiwondie-menschli-che-Seitede hEh

Mit Fragen zum Projekterfolg Peter Siwon beschaumlf-tigt sich seit mehr als 20 Jahren mit den ThemenGehirn und Psyche im Zusammenhang mit derProjektarbeit in technischen Berufen

InfoClick 3370352

26 ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

RedaktionChefredakteur Johann Wiesboumlck (jw) ViSdP fuumlr die redaktionellen InhalteRessorts Zukunftstechnologien Kongresse Kooperationen Tel (09 31) 4 18-30 81Chef vom dienst Peter Koller (pk) Tel (09 31) 4 18-30 98Verantwortlich fuumlr dieses Sonderheft Franz Graser Tel -30 92Redaktion Muumlnchen Tel (09 31) 4 18-Franz Graser (fg) Prozessor- und Softwarearchitekturen Embedded Plattformen Tel -30 92Martina Hafner (mh) Produktmanagerin Online Embedded Software Engineering KongressTel -30 82Hendrik Haumlrter (heh) Messtechnik Testen EMV Medizintechnik Laborarbeitsplaumltze DisplaysOptoelektronik Embedded Software Engineering Tel -30 92Holger Heller (hh) ASIC Entwicklungs-Tools Embedded Computing MikrocontrollerProzessoren Programmierbare Logik SOC Tel -30 83Gerd Kucera (ku) Automatisierung Bildverarbeitung Industrial Wireless EDALeistungselektronik Tel -30 84Thomas Kuther (tk) Kfz-Elektronik Stromversorgungen Oszillatoren Passive BauelementeTel -30 85Kristin Rinortner (kr) Analogtechnik Mixed-Signal-ICs Elektromechanik Relais Tel -30 86Margit Kuther (mk) Bauteilebeschaffung Distribution Beruf amp Karriere Tel (0 81 04) 6 29-7 00Freie Mitarbeiter Prof Dr Christian Siemers FH Nordhausen und TU Clausthal Peter SiwonMicroConsult Sanjay Sauldie EIMIA Hubertus Andreae dreiplus praxisbegleitendeInnovationsfoumlrderungVerantwortlich fuumlr die Fed-news Dr Stephan Weyhe FED Alte Jakobstr 8586 D-10179 BerlinTel (0 30) 8 34 90 59 Fax (0 30) 8 34 18 31 wwwfeddeRedaktionsassistenz Eilyn Dommel Tel -30 87RedaktionsanschriftMuumlnchen Grafinger Str 26 81671 Muumlnchen Tel (09 31) 4 18-30 87 Fax (09 31) 4 18-30 93Wuumlrzburg Max-Planck-Str 79 97082 Wuumlrzburg Tel (09 31) 4 18-24 77 Fax (09 31) 4 18-27 40LayoutMichela Deppe Joachim Haselmann Carolin Frank Sigrid Rau Meike Herkersdorf Mar-kus Mager

eLektRonikPRaXiS ist organ des Fachverbandes elektronik-design eV (Fed)Fed-Mitglieder erhalten eLektRonikPRaXiS im Rahmen ihrer Mitgliedschaft

VeRLagVogel Business Media GmbH amp Co KG Max-Planck-Straszlige 79 97082 WuumlrzburgPostanschriftVogel Business Media GmbH amp Co KG 97064 WuumlrzburgTel (09 31) 4 18-0 Fax (09 31) 4 18-28 43BeteiligungsverhaumlltnisseVogel Business Media Verwaltungs GmbHKommanditistin Vogel Medien GmbH amp Co KG Max-Planck-Straszlige 79 97082 Wuumlrzburggeschaumlftsfuumlhrung Stefan Ruumlhling (Vorsitz) Florian Fischer Ernst Haack Guumlnter SchuumlrgerPublisher Johann Wiesboumlck Tel (09 31) 4 18-30 81anzeigenleitung Franziska Harfy Tel (09 31) 4 18-30 88Fax -30 93 Grafinger Str 26 81671 Muumlnchen franziskaharfyvogeldeanzeigenverkauf Wuumlrzburg Tel (09 31) 4 18- Fax (09 31) 4 18-28 43Susanne Muumlller Tel -23 97 susannemuellervogeldekey-account-Manager Tel (09 31) 4 18- Fax (09 31) 4 18-28 43Hans-Juumlrgen Schaumlffer Tel -24 64 hansschaeffervogeldeClaudia Fick Tel -30 89 Fax -30 93 Grafinger Str 26 81671 Muumlnchen claudiafickvogeldeMarketingleitung Elisabeth Ziener Tel (09 31) 4 18-26 33auftragsmanagement Claudia Ackermann Tel (09 31) 4 18-20 58 Maria Duumlrr Tel (09 31) 4 18-22 57anzeigenpreise Zur Zeit gilt Anzeigenpreisliste Nr 47 vom 01 01 2012Vertrieb Leser- und abonnenten-Service DataM-Services GmbHFranz-Horn-Straszlige 2 97082 Wuumlrzburg Thomas Schmutzler Tel (09 31) 41 70-4 88 Fax -4 94tschmutzlerdatam-servicesde wwwdatam-servicesdeerscheinungsweise 24 Hefte im Jahr (plus Sonderhefte)

Verbreitete auflage 40009 Exemplare (IVWEDA Audit Oktober 2011)Angeschlossen der Informationsgemeinschaft zur Feststellung der Verbreitung von Wer-betraumlgern Sicherung der AuflagenwahrheitBezugspreis Einzelheft 900 EUR Abonnement Inland jaumlhrlich 19700 EUR inkl MwSt

Abonnement Ausland jaumlhrlich 22820 EUR (Luftpostzuschlag extra) Alle Abonnementpreiseverstehen sich einschlieszliglich Versandkosten (EG-Staaten ggf +7 USt)Bezugsmoumlglichkeiten Bestellungen nehmen der Verlag und alle Buchhandlungen im In- undAusland entgegen Sollte die Fachzeitschrift aus Gruumlnden die nicht vom Verlag zu vertretensind nicht geliefert werden koumlnnen besteht kein Anspruch auf Nachlieferung oder Erstattungvorausbezahlter Bezugsgelder Abbestellungen von Voll-Abonnements sind jederzeit moumlglichBankverbindungen HypoVereinsbank Wuumlrzburg (BLZ 790 200 76) 326 212 032SWiFt-Code HY VED EMM 455 IBAN DE65 7902 0076 0326 2120 32Herstellung Andreas Hummel Tel (09 31) 4 18-28 52Frank Schormuumlller (Leitung) Tel (09 31) 4 18-21 84druck Vogel Druck und Medienservice GmbH 97204 Houmlchbergerfuumlllungsort und gerichtsstandWuumlrzburgManuskripte Fuumlr unverlangt eingesandte Manuskripte wird keine Haftung uumlbernommenSie werden nur zuruumlckgesandt wenn Ruumlckporto beiliegtinternet-adresse wwwelektronikpraxisde wwwvogeldedatenbank Die Artikel dieses Heftes sind in elektronischer Form kostenpflichtig uumlber dieWirtschaftsdatenbank GENIOS zu beziehen wwwgeniosde

VeRLagSBuumlRoSVerlagsvertretungen inLand Auskunft uumlber zustaumlndige VerlagsvertretungenJens Otte Tel (09 31) 4 18-26 47 Fax (09 31) 4 18-28 57 jensottevogeldeaUSLand Belgien Luxemburg Niederlande SIPAS Peter Sanders Sydneystraat 105 NL-1448NE Purmerend Tel (+31) 299 671 303 Fax (+31) 299 671 500 petersandersvogeldeFrankreich DEF amp COMMUNICATION 48 boulevard Jean Jauregraves 92110 ClichyTel (+33) 14730-7180 Fax -0189groszligbritannien Vogel Europublishing UK Office Mark Hauser Tel (+44) 800-3 10 17 02Fax -3 10 17 03 markhausercomcastnet wwwvogel-europublishingcomUSaCanada VOGEL Europublishing Inc Mark Hauser 3321 Ashbourne CircleSan Ramon CA 94583 Tel (+1) 9 25-6 48 11 70 Fax -6 48 11 71

Copyright Vogel Business Media GmbH amp Co KG Alle Rechte vorbehalten Nachdruck digitale Verwendung jederArt Vervielfaumlltigung nur mit schriftlicher Genehmigung der Redaktion Fotokopieren veroumlffentlichter Beitraumlge istgestattet zu innerbetrieblichen Zwecken wenn auf jedes Blatt eine Wertmarke der Verwertungsgesellschaft WortAbt Wissenschaft in 80336 Muumlnchen Goethestraszlige 49 nach dem jeweils geltenden Tarif aufgeklebt wird Nachdruckund elektronische Nutzung Wenn Sie Beitraumlge dieser Zeitschrift fuumlr eigene Veroumlffentlichung wie Sonderdrucke Websi-tes sonstige elektronische Medien oder Kundenzeitschriften nutzen moumlchten erhalten Sie Information sowie dieerforderlichen Rechte uumlber httpwwwmycontentfactoryde (09 31) 4 18-27 86

Impressum

EDA

Wuumlrzburg 19 ndash 20 Juni 2012Vogel Convention CenterVCC

wwwsteckverbinderkongressde

Anwender sprechenmit Herstellern

Kongress und Tabletop-Ausstellung

Programm Unter wwwsteckverbinderkongressdefinden Sie die ausfuumlhrliche Agenda

Keynote Herausforderung Miniaturisierung ndash ZukuumlnftigeAnforderungsprofile bei Steckverbindern

Themen Applikationsspezifische Steckverbinder Kompakt-Steckverbinder fuumlr hohe Datenraten

Miniaturisierung Intelligente Steckverbinder Steckverbinder fuumlr besondere Anwendungen Qualifizierung Werkstoffe Verarbeitungsprozesse

Workshops Umspritzen von Kabeln Abdichten von Steckverbindungen Messtechnik Thermosimulation Design-in 3-D-Modellierung Schadensanalytik Beschichtungsverfahren

Aumlnderungen vorbehalten

Saumlmtliche Informationen zur Veranstaltung finden Sie unter---gt wwwsteckverbinderkongressde

Veranstalter

in Zusammenarbeit mit den Industriepartnern

07908

Alle Informationen unter wwwese-kongressde

Hauptsponsoren 2012 Veranstalter

20123ndash 7 Dezember 2012 in Sindelfingen

bdquoWissen ist das einzige Gutdas sich vermehrtwenn man es teiltldquo

(Marie Freifrau von Ebner-Eschenbach oumlsterreichische Schriftstellerin)

ESE Kongress ndash Ideen entwickeln Profis treffen Loumlsungen findenDer Embedded Software Engineering Kongress mit uumlber 800 Teilnehmern ist die groumlszligte deutschsprachigeVeranstaltung die sich ausschlieszliglich der Entwicklung von Geraumlte- Steuerungs- und Systemsoftware fuumlrIndustrie Kfz Telekom sowie Consumer- und Medizintechnik widmet Vom 3 bis 7 Dezember trifft sichdie Embedded-Software-Branche wieder in Sindelfingen ndash wir freuen uns auf Sie

Aussteller und Sponsoren 2012Axivion BBV Software Services dSPACE EASYCODE ELEKTRONIKPRAXIS emlix ETAS Fraunhofer IESEGreen Hills Software Hitex IAR Systems IMACS Infineon Intland Software iSYSTEM Lauterbach LDRALogic Technology linutronix macio MicroConsult National Instruments Noser Engineering Parasoftpls Programmierbare Logik amp Systeme Protos pure-systems QA Systems QNX Software Systems SafeTRANSseppmed Software Quality Lab SparxSystems Vector Informatik Vector Software Verifysoft Technology WillertSoftware Tools Zuumlhlke

Seit 30 Jahren vertrauen weltweit fuumlhrende Firmen Green Hills Softwarersquos sicherer undzuverlaumlssiger Software fuumlr sicherheitskritische Systeme

Fuumlr Luftfahrt- und Automobilindustrie fuumlr Telecom- Medizin- und Industrietechniksowie fuumlr intelligente Energienetze hat Green Hills Software erprobte und zuverlaumlssigeTechnologie geliefert

Wenn Sie wissen moumlchten wie eines der weltweit sichersten und zuverlaumlssigstenBetriebssysteme und dessen Entwicklungstools das Risiko aus Ihrem naumlchstenProjekt nehmen kann besuchen Sie uns unter wwwghscoms4e

Copyright copy 2012 Green Hills Software Green Hills Software and the Green Hills logo are registered trademarks ofGreen Hills Software All other product names are trademarks of their respective holders

Vertrauenswuumlrdige softwarefuumlr embedded deVices

safereliable

secure

  • Seite 1
  • Seite 2
  • Seite 3
  • Seite 4
  • Seite 5
  • Seite 6
  • Seite 7
  • Seite 8
  • Seite 9
  • Seite 10
  • Seite 11
  • Seite 12
  • Seite 13
  • Seite 14
  • Seite 15
  • Seite 16
  • Seite 17
  • Seite 18
  • Seite 19
  • Seite 20
  • Seite 21
  • Seite 22
  • Seite 23
  • Seite 24
  • Seite 25
  • Seite 26
  • Seite 27
  • Seite 28
Page 8: Securityineingebetteten Softwaresystemenfiles.vogel.de/vogelonline/vogelonline/issues/ep/2012/...Securityineingebetteten Softwaresystemen Angreifer nehmen Industriesteuerungen,Stromnetzeund

EmbEddEd-Entwicklung TesT und QualiTaumlTssicherung

Erlaumluterung von FachbegriffenFault Injectionin das nicht mutierte Testobjekt werdenFehler von auszligen injiziert um die ro-bustheit zu pruumlfenFehlermodell (Fault model)die Kategorien der moumlglichen Mutati-onen diese sind natuumlrlich bei einemc-Programm als Testobjekt anders alsz B in einem Zustandsdiagramm einBeispiel fuumlr ein Fehlermodell fuumlr Testob-jekte in der Programmiersprache c ist imartikel angegebenKopplungseffekt (Coupling effect)Wird ein Mutant mit einer einzelnenMutation durch eine Testfallmenge ent-deckt so werden auch mehrfache Muta-tionen entdeckt

Fehlereinpflanzung (Error seeding)in der norm iec 61508 heiszligt der Mutati-onstest bdquoFehlereinpflanzungldquo bzw bdquoer-ror seedingldquoStarker Mutationstest (Strong mutationtest)der Mutant wird nur von auszligen betrach-tet (Black Box) und der Mutant wird nurdurch einen Testfall entdeckt der nachauszligen ein anderes ergebnis liefert alsdas OriginalSchwacher Mutationstest (Weak mutati-on test)ein Testfall sorgt im innern des Mutan-ten fuumlr ein anderes Verhalten als beimOriginal dieses andere Verhalten wirdjedoch nicht nach auszligen sichtbar

grammablauf erzeugt als im Original Dannspricht man von schwachemMutationstestunsigned int absolute (int x)if (x lt 0)return -xreturn xDie Mutation von lsquoltrsquo zu lsquolt=rsquo wird nach au-

szligen nicht sichtbar

Der Unterschied zurFault InjectionNicht zu verwechselnmit demMutations-

test ist die Fault Injection die beispielsweisein der Norm ISO 26262 [2] als Testmethodeerwaumlhntwird Bei einer Fault Injectionbleibtdas Testobjekt in seinemOriginalzustand eswird nicht mutiert Der Fehler wird auszliger-halb des Testobjekts erzeugtWenndas Test-objekt Software ist waumlre beispielsweise dasVeraumlndern (Korrumpieren) des Speichers fuumlrdie Variablen waumlhrend der Ausfuumlhrung derSoftware eine Fault Injection Die Softwareliest also aus einer Variablen nicht denWertzuruumlck den sie vorher abgespeichert hat DieFrage ist ob dies Auswirkungen hat und obdie Softwaremit einer solchenSituationum-gehen kannFault Injection ist also einRobustheitstest

zum Beispiel bezuumlglich der Auswirkungenvon Bitflips durch kosmische StrahlungDurch eine Fault Injection kann auch derProgrammspeicher des Testobjekts (willkuumlr-lich) geaumlndert (korrumpiert) werden Diessehenwir jedochnicht alsMutation die denSinn hat Programmierfehler im Quellcodeaufzudecken sondern vielmehr als Robust-heitstest FG

Hitex Development Tools +49(0)72196280

Literaturhinweise[1] IEC 61508 Teil 3 Tabelle B2 = Empfehlung

Fehlereinpflanzung sowie Teil 7 C56 = Be-schreibung Fehlereinpflanzung

[2] ISOFDIS 26262 Teil 6 Tabellen 10 und 13[3] Liggesmeyer Peter Software-Qualitaumlt Testen

Analysieren und Verifizieren von SoftwareHeidelberg Berlin 2002 Spektrum Akademi-scher Verlag

[4] Dirk W Hoffmann Software-Qualitaumlt Springer-Verlag Berlin Heidelberg 2008

[5] Wolfgang Herzner Rupert Schlick HaraldBrandl JohannesWiesalla Towards Fault-basedGeneration of Test Cases for Dependable Em-bedded Software in Softwaretechnik-TrendsGesellschaft fuumlr Informatik eV Band 31 Heft 3August 2011

[6] A Jefferson Offut Clemson University Investi-gations of the software testing coupling effectin ACM Transactions on Software EngineeringandMethodology New York Volume 1 Issue 1Jan 1992

[7] Tessy httpwwwhitexdetessy

acht irrtuumlmer uumlber code coverage

Bugs und defekte in Multitasking-softwareeliminieren

InfoClick

wwwelektronikpraxisde infoclick 3343128

AURIX - Over 10 years of Multicore Debuggingmakes the difference

AURIX

HSMTriCore 0 GTM

Debugand

SerialTrace

TRACE32

TRACE32

TRACE32

TRACE32

Debugging Multicore of years 10 Over - AURIXdifference the makes

AURIXAURIX

HSMTriCore 0 GTM

Debugand

SerialTrace

TRACE32

TRACE32

TRACE32

TRACE32

wwwlauterbachcom1652

10

Softwareentwicklung SoftwareSicherheit teil 2

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Die drei Gesichter der SicherheitIm zweiten Teil unserer Serie fassen wir einige Meinungen von

Experten des vergangenen ESE Kongresses zum Thema Security zu-sammen Im Mittelpunkt stehen dabei unbefugte Zugriffe oder die

gezielten Angriffe auf Embedded-Systeme

PETER SIwON uNd ALEXANdER SEdLAK

Peter Siwon ist Business Development Manager beim Schu-lungs- und Consulting-Spezialist MicroConsult inMuumlnchen und

Embedded-Systeme sind stets Software-und Hardwarekomponenten die inVerbindung mit Sensoren und Aktua-

toren in umgebende technische Systeme in-tegriert sind umkomplexe Steuerungs- undDatenverarbeitungsaufgaben zu uumlberneh-men Die Sicherheit im allgemeinen Sinne

bezeichnet einen Zustand der frei von un-vertretbaren Risiken ist Das wird in derNorm IEC 61508 so definiert Safety oderfunktionale Sicherheit bedeutet in diesemZusammenhang dass ein System in den zuerwartendenSituationenundZustaumlndenbeiordnungsgemaumlszliger Nutzung keine koumlrperli-chen oder finanziellen Schaumlden verursachtSecurity koumlnnte man demnach so genauerdefinieren Die Betriebs- und Datensicher-heit darf durch aumluszligere Einfluumlssenicht gestoumlrtoder gar verhindert werden Security hat ei-ne doppelte Bedeutung Einerseits sorgt siedafuumlr dass die Betriebssicherheit erhalten

bleibt andererseits versteht man darunterdieGesamtheit derMaszlignahmen umein Sys-tem nach auszligen zu schuumltzen Das unter-streicht sowohl die Abgrenzung dieser Be-griffe zeigt aber auch wie eng sie zusam-menhaumlngenNebenderWahl geeigneter Softwarearchi-

tekturen und Programmiermethoden spieltbei der Security oftmals die Gestaltung oderAuswahl derHardware eine bedeutendeRol-le Es handelt sich um Hightech im Verbor-genenmit derenHilfe produkt- und system-spezifische Eigenschaften uumlberhaupt erstrealisiertwerdenkoumlnnenAls Beispiele seienhier Fahrerassistenzsysteme mobile medi-zinischeGeraumlte undAutomatisierungssyste-me genannt Wichtige Stichwoumlrter in demZusammenhang sind die Gestaltung von In-terfaces Netzstrukturen oder schlicht dersichere Einbau einer Komponente

wuumlrmer Viren amp Co ndash Schutzvor gezielten AngriffenIn seinem Vortrag Sichere Netze der Zu-

kunft auf demESEKongress 2011 definierteProf Dr-Ing Hans-Joachim Hof von derHochschule Muumlnchen den Begriff pragma-tisch Die Security ist der Schutz vor geziel-temundhoumlchstwahrscheinlich auchboumlswil-ligemHandelnmit demZiel VertraulichkeitIntegritaumlt oder Authentizitaumlt zu erreichenDas kann sich in der Realitaumlt als nicht ganzeinfach erweisen daman zumZeitpunkt derProjektierung in der Regel nicht weiszlig wel-cher Art von Angriff ein System irgendwannausgesetzt sein wird Besonders bei aumllterenSystemenkann sichdas als geradezudrama-tische Gefahr erweisen Prof Dr Hof sprichthier ganz plastisch von der Goumltterdaumlmme-rungder IT-Sicherheit EinBild daswirklichpasst denn das Vertrauen auf sichere IT-Komponenten Embedded-Systeme undAumlhnliches grenzt oft wirklich an ein sagen-haftesGottvertrauen FrappierendesBeispielhierfuumlr ist der Computerwurm Stuxnet der2010 fuumlr groszligeUnruhe und Schaumlden verant-wortlich war Stuxnet war in einer Weiseaktiv die bis dahin imGrunde als nichtmoumlg-

ExpertenmeinungenWie lassen sich Embedded-Systeme vor unbefugtem Zugriff oder gezielten Angriffenschuumltzen

BilderG

erdaltm

annpixeliode

Alexander Sedlak ist als freier Autor taumltig

Softwareentwicklung SoftwareSicherheit teil 2

lich galt Der Wurm konnte Grenzen physi-kalisch getrennterNetze uumlberspringen Stux-net zielte vermutlich erfolgreich auf eineUrananreicherungsanlageWegendeshohenSchutzbedarfs von Atomanlagen schien soeinAngriff bis dahin schlicht nichtmoumlglichDen aktuellen Moumlglichkeiten des technischMachbaren druumlckte Stuxnet damit seineneigenen Stempel auf Eine optimierte Be-triebssicherheit wie im Beispiel der Atom-anlagewurdemangels ausreichender Secu-rity zum Sicherheitsrisiko

Der menschliche FaktorWenn Hacker aktiv werdenBedrohungen durch Hacker stellen die

Entwickler vonEmbedded-Systemenvor zu-nehmendeHerausforderungenDieReferen-ten des Schweizer Kommunikations- undTechnikdienstleisters Albis Technologiesstellten imVortrag EmbeddedSecurityHa-ckern einen Schritt voraus zunaumlchst diezunehmende Vernetzung von Embedded-Systemen heraus Und obwohl dadurchme-chanischeBarrieren zwischendenSystemenimmermehrwegfallen beruht die Sicherheitparadoxerweise haumlufig auf physikalischerSicherheit und weniger auf Cyber-Securityoder Informationssicherheit Und das ob-wohl es gerade in Infrastrukturnetzen wiezumBeispiel der aktuell diskutierten intelli-gentenStromversorgung vongroszliger Bedeu-tung ist dass die vernetzten Komponentenautonom ohne Benutzereingaben und vorunbefugten Zugriffen geschuumltztmiteinanderkommunizieren koumlnnenWas koumlnnte die Loumlsung sein Die Referen-

ten stellten ein Modell Hardware-basierterIT-Sicherheitsarchitektur fuumlr Embedded-

Systeme indenRaum InderenZentrumstehtein Security Controller oder ein Trusted-Platform-Modul also ein sicherer Speicherfuumlr digitale Schluumlssel Dieses dient dazu ei-ne Art Zentrum fuumlr kryptografische Operati-onen zu bilden Das Modul muss an den lo-kalenComputer gebunden seinundnicht aneinen bestimmten Benutzer Es ist dann un-moumlglich das Trusted-Platform-Modul entge-gen den Interessen des Eigentuumlmers zu nut-zen sofern dieser Beschraumlnkungen festge-legt hat eine Basis fuumlr die sichere Kommu-nikation der Netzteilnehmer Es kanngelingen beispielsweise aus einem Embed-ded-Geraumlt mit angepasster Software und ei-nem entsprechenden Betriebssystem einevertrauenswuumlrdige Plattform zumachenIntelligente Stromnetze auchSmart Grids

genannt erfordern fuumlr die Ermittlung desindividuellen Strombedarfs unddie korrekteAbrechnungdieVerwendung ebenso intelli-genter Verbrauchszaumlhler der sogenanntenSmartMeterHier gibt es zahlreiche Szenari-en die boumlswilliges Eindringen mit Betrugs-absicht ermoumlglichen Erschwerend ist dieLiberalisierung des Strommarktes Zahlrei-cheKlein- undKleinststromlieferantenndashausWasserkraft oder Photovoltaikanlagen ndashspeisen in die Netze ein Letztlich alles Ein-fallstore fuumlr moumlgliche Angriffe zum Zweckder kriminell motivierten ManipulationAuch vor diesemHintergrund erarbeitet dasBundesamt fuumlr Sicherheit in der Informati-onstechnik (BSI) gemeinsam mit Industrie-partnern fuumlr Smart Meter ein neuartigesSchutzprofil Es strukturiert Bedrohungenund legt damit die Mindestanforderungenfest die Sicherheitsmaszlignahmen erfuumlllenmuumlssen Ziel ist dabei eine Zertifizierung von

Produktennachdefinierten SchutzkriterienDas vondenPartnern erarbeitete Schutzpro-fil 3 definiert ein anhand gemeinsamerKriterien festgelegtes Security Modul fuumlralle kryptografischen Operationen

Kryptologie ndash Software solltenicht zu knacken seinBei der Entwicklung von Embedded-Sys-

temen koumlnnen durch den Einsatz von kryp-tologischen Verfahren viele Prozesse sicheroder zumindest sicherer gemacht werdenReinhard Wobst (UNIX Software) hat in sei-ner Funktion als Softwareentwickler festge-stellt dassmit groszliger Regelmaumlszligigkeit immerwieder die gleichenFehler bei der Implemen-tierung von Kryptologie gemacht werdenWaumlhrend seines Vortrags auf dem ESE Kon-gress erklaumlrte erwarumundwie es Eindring-lingen oft unnoumltig leicht gemacht wird SogehenSoftwareentwickler haumlufig davonausdass niemand die von ihnen entwickeltenAlgorithmen knacken kann Das Gegenteilist der Fall Ein gaumlngiges Mittel ist etwa das

AURIX - Over 5 years of High-Speed Serial Tracingmakes the difference

Tracing Serial High-Speed of years 5 Over - AURIX Tracing Serial High-Speed of years 5 Over - AURIXdifference the makes difference the makes

wwwlauterbachcom1653

Psychologische Sicherheitsluumlcke Irren ist mensch-lich ndash sowohl auf Entwickler- wie auf Anwenderseite

12

Softwareentwicklung SoftwareSicherheit teil 2

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Microconsult Qualitaumlt und Sicherheit

teil 1 der Serie Die drei Gesichter derSicherheit

InfoClick

wwwelektronikpraxisde infoclick 3343156

Schreiben unklaren oder scheinbar verwor-renen Codes Doch gerade bei der heutigenVernetzungwird jedesVerfahren fruumlher oderspaumlter bekannt Interessant ist die auch vonWobst formulierte Erkenntnis dass derSelbsttest eines eigenentwickeltenAlgorith-musmoumlglicherweise zu demErgebnis fuumlhrtdass es nicht einmal dem urspruumlnglichenProgrammierer gelingt ihn zuknackenAberdieWirklichkeit sieht leider anders aus Je-der kann einenAlgorithmus entwickeln dener selbst nicht brechen kann aber es gehtdarum dass ihn andere nicht brechen koumln-nen[1]Letztlich siehtmanes einemAlgorithmus

auchwenner noch soobskur erscheint nichtan ob er nun sicher ist oder nichtWobst raumltseinen Entwicklerkollegen konservativ zuseinundbekannteundaltbewaumlhrteAlgorith-menundMethoden zunutzenDas ForschennachSicherheit solle denForschernuumlberlas-sen werden Anhand zahlreicher Beispielebelegte Reinhard Wobst wie schnell es ge-schehen kann dass ein SoftwareentwicklerGuteswollenddas Falsche tut bzw dasRich-tige nicht richtig macht Und er zeigte auchdie Grenzen auf die selbst einer perfekt im-plementierten Kryptologie gesetzt sind wiedenial of service Attacken oder der immererfolgversprechende Versuch das stetsschwaumlchste Element eines Walls von Maszlig-nahmen fuumlr die Sicherheit zu instrumentali-sieren den User selbst So kam Wobst beiseinem Vortrag zu der Schlussformel dassgesunderMenschenverstandniemals hinterFormalismenverschwindendarf Fuumlr dieRe-alisierung von Sicherheit gilt immer dassetwas Sicherheit besser ist als gar keine

Qualitaumlt und houmlchstmoumlglichesSicherheitsniveau fuumlr SoftwareWie real die Risiken von Angriffen auf

Embedded-Systeme sind zeigte Lucas vonStockhausen vonHewlett-Packard in seinemVortrag Mehr Sicherheit fuumlr EmbeddedCode amBeispiel einer Manipulation einerhandelsuumlblichen Insulinpumpe Es seimoumlg-

lich durch Umgehen von Restriktionen dieInsulindosis die eine solchePumpeautoma-tisch verabreicht aus einer Entfernung von100 m und voumlllig unbemerkt zu veraumlndernDamit koumlnnemaneinemDiabetiker jederzeiteine Uumlberdosis Insulin injizieren Diese Ge-fahr mag konstruiert erscheinen fuumlr denPumpenhersteller und fuumlr den Patienten istsie aber sehr real undhoumlchst bedrohlichDasBundesministerium fuumlrWirtschaft undTech-nologie stellte bereits 2010 eine zunehmendeund alarmierende Professionalisierung vonAngriffen fest Dabei berichten die Medienmeist nur uumlber die spektakulaumlrstenFaumlllewiezumBeispiel denbereits erwaumlhntenStuxnet-Wurm der fuumlr den Einsatz auf industrielleZiele optimiert wurde

Die psychologischenSicherheitsluumlckenViele Angriffe sind weniger spektakulaumlr

doch kaum weniger gefahrenvoll Geradeuumlberraschende Angriffsszenarien auf Em-bedded-Systeme zeigen wie schwierig essein kann schon inder Softwareentwicklungvorauszusehenwie ein spaumltererAngriff aus-sehen kann Aus diesem Grund spielt diesichere Softwareentwicklung der sichereCode eine entscheidende Rolle Angesichtsdes rasanten Fortschritts der von zuneh-mendemZeit- Konkurrenz- undErfolgsdruckzuverlaumlssig begleitetwirdmussnebenQua-litaumltsforderungen auch das houmlchstmoumlglicheSicherheitsniveau realisiert werdenBei Embedded-Software erfolgt eine ver-

besserte Zugangssicherheit uumlber Software-Updates sagte Prof Dr-Ing Hans-JoachimHof Daraus ergeben sich gleichermaszligenAufgaben fuumlr die Entwicklung von Soft- undHardware In puncto Hardware werden si-chere Interfaces undUumlbertragungsprozedu-renbenoumltigt Die Softwaremuss so aufgebautsein dass sie autorisiert korrigiert aber nichtohne Autorisierung manipuliert werdenkann Das Motto Verbauen und Vergessengehoumlrt damit derVergangenheit anNicht zuvergessen sinddie psychologisch bedingten

Sicherheitsluumlcken zudenenPeter SiwonvonMicroConsult in seinem Seminar bdquoIrren istmenschlichldquo Beispiele nannte Und das so-wohl auf Entwickler-wie aufAnwenderseiteUnter hohem Zeitdruck neigt man dazu Si-cherheitsregeln zu brechen Menschen neh-men dann houmlhere Risiken in Kauf um denStress loszuwerden Stresshormone schraumln-kenunsere Faumlhigkeit ein uumlber die langfristi-gen Folgen unseres Verhaltens nachzuden-ken Zudem leide unser Qualitaumltsbewusst-sein unter dem Beduumlrfnis den bdquoSchmerzldquoloszuwerden Beides zusammen stellt eineexplosive psychologische Mischung darWichtige Voraussetzungen fuumlr Security wiebeispielsweise umfassende Tests fallen un-ter den Tisch Eine weitere Sicherheitsluumlckeentsteht durch Denkfaulheit Um unser Ge-daumlchtnis zu entlasten greifen wir nicht nurbei Passwoumlrtern auf altgewohnte oder beque-me Denk- und Verhaltensmuster zuruumlckThomas Batt beim Training- und Consul-

tingspezialistenMicroConsult zustaumlndig fuumlrSoftware Engineering Management ziehtfolgendesResuumlmee bdquo(Horror-)Szenarien beidenenEmbedded-Systemedurch aumluszligereAn-griffe manipuliert werden oder bei denensogar die komplette Kontrolle uumlbernommenwird sind keine Hollywoodphantasien Wirsindheute von einer rasantwachsendenZahlvonEmbedded-Systemenumgebenundver-lassen uns darauf dass Herstellerfirmen siezugangs- undangriffssicher entwickeln tes-tenundproduzierenDochTatsache ist dassfuumlr den groumlszligten Teil des Embedded-Marktesdie Qualitaumltsmerkmale Zugangs- und An-griffssicherheit noch Neuland sind DieseQualitaumltsmerkmalemuumlssen sich kuumlnftigwieein roter FadendurchdengesamtenEntwick-lungs- und Produktionsprozess der Produk-te ziehen Dazu benoumltigen wir geeigneteMethoden - insbesondere fuumlr denTest - sowieunterstuumltzende Tools Standards und Zerti-fizierungen Doch selbst mit noch so hoch-entwickelten Maszlignahmen koumlnnen wir dieRisiken nur minimieren nicht aber voumllligausschlieszligenldquo hEh

MicroConsult +49(0)89 45060

Quellennachweis[1] B Schneier Memo to the Amateur Cipher

Designer

Zugriffs- und AngriffssicherheitDie Betriebssicherheit ist im groszligenMaszlige vom Schutz vor unbefugtem Zu-griff oder gezieltem angriff abhaumlngigBei der Security spielt oft die Gestaltungund auswahl der hardware eine bedeu-tende rolle Zu den feinden von embed-ded-Systemen zaumlhlen Viren wuumlrmer undhacker die auf die Systeme zugreifen

und sie manipulieren Mit geeignetenSchutzmaszlignahmen wie Kryptologie undentsprechender Programmierung lassensich embedded-Systeme sicherer gestal-ten Nicht zu vergessen sind auch diepsychologisch bedingten Sicherheits-luumlcken ndash denn auch der Programmiererselbst stellt ein Sicherheitsrisiko dar

13

EmbEddEd SoftwarE Aktuelles

ELEKTRONIKPRAXIS embedded software engineering Report Juni 2012

InfoClick 3371268

embedded-softwAReentwicklung

analysewerkzeug Goanna pruumlft Software auf potenzielle LaufzeitfehlerDas Karlsruher Entwicklungs-haus Hitex hat die Version 272des Analysewerkzeugs Goannaveroumlffentlicht Das Tool pruumlft inCC++geschriebenenCodenachmathematischenMethoden umUrsachen fuumlr Laufzeitfehler auf-zuspuumlren In der aktuellenVersi-on 272 finden sich vor allemDetailverbesserungen wie er-leichterteKonfigurierbarkeit DieKonfigurationsvarianten bdquoQuickCheckldquo und bdquoDeep Checkldquo sindvordefiniert Auszligerdem wurdendieAnalysemethodenbeschleu-nigt und praumlziser gestaltet An-

feruumlberlaumlufe die Zerstoumlrung vonSpeicherinhalten Divisionendurch Null Zugriffe mit unguumllti-gem Index und aumlhnliche Proble-me Die Analyse uumlberschreitetdabei nicht nur Funktions- son-dern auch Dateigrenzen DasSoftwarewerkzeug soll einfachinstallierbar sein und sich nachwenigen Minuten einsetzen las-sen Goanna ist in einer Kom-mandozeilenversion (GoannaCentral) sowie alsAdd-On fuumlr dieweit verbreiteten Entwicklungs-umgebungen Visual Studio vonMicrosoft sowie EclipseCDT

(Goanna Studio) verfuumlgbarGoannaCentral undGoannaStu-dio fuumlr Eclipse sind fuumlrWindowsundLinux verfuumlgbar DieVersionfuumlrVisual Studiounterstuumltzt nurWindows Beide Versionen gibtes als rechnergebundene oderals Floating-Lizenz Es gibt eineeine permanente Lizenzmit dreiJahrenSupport und eine zeitlichbegrenzten Lizenz fuumlr ein Jahrmit der Option auf zeitliche Ver-laumlngerung fg

Hitex

hand mathematischer Modelleund derMethode der abstraktenDatenwertverfolgung kannGoanna problematische Konst-rukte ermitteln die zur Laufzeitder Software zu Fehlern fuumlhrenDazu zaumlhlen Speicherlecks Puf-

Schnelles Android XobotOS ist eineAndroid-Variante die auf einer offe-nen Implementierung von MicrosoftsNET-Architektur basiert InfoClick 3348889

smARtphone-betRiebssystem

android-Klon auf NEt-basis koumlnnte legale Untiefen umschiffenXamarin bietet Entwicklungs-werkzeugen fuumlr Android undApples iOS Das zentrale Themades Unternehmens ist die platt-formuumlbergreifendeProgrammie-rung von Apps fuumlr die beidenwichtigsten Betriebssysteme fuumlrMobilgeraumlte Als Entwicklungs-plattformdient dabeiMono einefreie Implementierung von Mi-crosofts NET-TechnikWichtigs-te Komponente vonMono ist einefreie Variante der NET-Laufzeit-umgebung CLR (Common Lan-guageRuntime) die zunaumlchst fuumlrLinux entwickelt wurde und

NET-Programme unter Linuxausfuumlhrte DaAndroid auf LinuxbasiertwurdeMono fuumlr dasmo-bile Betriebssystem von Googleumgesetzt Inzwischen gibt eseine Version namens Mono-Touch fuumlr Apples iOS Mit HilfevonMonoundMonoTouch ist esmoumlglich groszlige Teile des Appli-kationscodes wiederzuverwen-den wenn eine App sowohl fuumlriOS als auch fuumlr Android entwi-ckelt wurde XobotOS ist einAndroid-Klon bei demdie in Ja-va geschriebenen Codekompo-nenten inCuumlbertragenwurden

Diemomentan stattfindende ge-richtliche Auseinandersetzungzwischen Oracle als Inhaber derJava-Rechte und Google um an-gebliche Urheberrechtsverlet-zungen koumlnnte auszligerdem dafuumlrsorgen dass XobotOS kein For-schungsprojekt bleibt Das NET-Framework bietet alternativeImplementierungen fuumlr die Pro-grammierschnittstellen die zwi-schen Google undOracle strittigsind fg

Xamarin

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

EmbEddEd-SyStEmE SoftwaRE-DESign

14

TITELSTORyin juumlngster Zeit haben namen wieStuxnet und Duqu Eingang in unserenwortschatz gefunden Solche Schad-programme feuern unerbittliche atta-cken auf die Sicherheit eingebetteterSysteme Darunter sind auch SCaDa-Systeme (Supervisory Control andData acquisition) die industrieanla-gen Verkehrsnetze oder Kraftwerkeuumlberwachen und steuernManche Entwickler eingebetteterSoftware meinen zwar dass die Ebe-ne des Systems Engineering oder dieHardware fuumlr die Systemsicherheitzustaumlndig sein sollte Viele attackennuumltzen aber Schwachstellen in denanwendungen aus Und diese Luumlckengilt es im anwendungsdesign und derProgrammierung zu vermeiden

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

Siem

ens-PressebildPSD

graphics

15

EmbEddEd-SyStEmE Software-DeSign

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Security-Grundlagen fuumlrEmbedded-Software

Schutzmaszlignahmen auf der Betriebssystem- und Hardwareebene ge-gen Hackerangriffe sind keineswegs perfekt Daher muumlssen Entwickler

selbst gegen Schwachstellen der Embedded-Software vorgehen

DAvID KALINSKy

David Kalinsky ist Berater Trainer und Dozent fuumlrEchtzeit- und Embedded-Programmie-rung in SunnyvaleKalifornien (USA)

Entwickler eingebetteter Software spie-len das Security-Thema manchmalherunter und sagen bdquoUnserGeraumltwird

nie mit dem Internet oder einem anderenexternen Kommunikationsnetz verbundensein Wir sind gegen Angriffe immunldquo Dasist leider nicht wahr Erlauben Sie mir einGegenbeispielViele Geraumlte nutzen Analog-zu-Digital-

Konverter (ADC) zur Sammlung von DatenDieADCswerden regelmaumlszligig abgefragt unddieApplikation speichert dieDatenpakete ineinemArrayDieApplikation verarbeitet spauml-

ter diesen Daten-Array Aber ein Angreiferkoumlnnte dies aus einem ganz anderen Blick-winkel sehen etwa so bdquoWas wuumlrde passie-ren wenn ich den ADCmit elektrischen Sig-nalen fuumlttere die einer exaktenhexadezima-len Darstellung des Codes eines Schadpro-grammsentsprechenldquoAuf dieseWeise kannder Angreifer seine Software in Ihren Rech-ner einschleusen Ein Netzwerk oder dasInternet ist dafuumlr nicht noumltig

Angreifer brauchen nicht immerein externes NetzwerkDer Angreifer koumlnnte nun darauf setzen

dass Ihre Software die ADC-Daten in einemStapelspeicher (Stack) sichert (vielleicht in-demSie alloca() odermalloca() verwenden)Wenn er Gluumlck hat koumlnnte er einen Array-Uumlberlauf verursachen vielleicht indem er

den Hardware-Timer manipuliert der dieADC-Abfrage steuertEin typischer Stack ist auf der folgenden

Seite oben links abgebildet Wenn der An-greifer einen Array-Uumlberlauf verursachtkoumlnnte der Stack korrumpiert werden wiedas Schema rechts daneben zeigt BeachtenSie dass dieRuumlcksprungadresse imStack aneiner Position gespeichert wurde die hinterdem Ende des Arrays lagWenn der Angreifer die Korrumpierung

richtig plant wird der Uumlberlauf den Ort imStack erreichen an dem die aktuelle Ruumlck-sprungadresse gespeichertwurdeDas kanndazubenutztwerden umandiesemPlatz imStack einenZeiger auf den eigenenCode ein-zuschleusenWenn Ihr CodedieRuumlcksprung-adresse benutzt geht die Steuerung auf denCode des Angreifers uumlber

Siem

ens-Pressebild

16

EmbEddEd-SyStEmE Software-DeSign

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Simpel aber effektiv Die Grafik links zeigt den gewoumlhnlichen Aufbau eines Speicherstacks In der rechtenGrafik ist der Stack nach einem Array-Uumlberlauf korrumpiert Boumlsartiger Code kann ausgefuumlhrt werden

DavidKalinsky

Das wird als bdquoStack Smashingldquo-Attackebezeichnet BeachtenSie dass sie in diesemBeispiel voumlllig ohne Internetzugangundoh-ne Verbindung zu einer externen Datenlei-tung ausgefuumlhrt wurde

Design-Grundlagen fuumlr sichereEmbedded-SoftwareBeim Design eingebetteter Software koumln-

nen Entwickler die Sicherheit verbessernindem sie einige Grundsaumltze beachten1 Misstrauische AufteilungTeilen Sie die Funktionalitaumlt Ihrer Software

in Bloumlcke auf die sich gegenseitig nicht ver-trauen um die Angriffsfenster in jedemBlock zu verkleinern In der Embedded-Soft-ware nennen wir diese Bloumlcke oft Prozesseoder Subsysteme oder CSCIsEntwerfen Sie jeden Block unter der An-

nahme dass Softwarebloumlcke mit denen erinteragiert angegriffen wurden VertrauenSie denErgebnissender interagierendenBlouml-cke nicht Geben Sie Ihre Daten nicht uumlbergemeinsamen Speicher fuumlr andere Bloumlckefrei BenutzenSie stattdessenMechanismender Interprozesskommunikation wie Mes-sage Queues des Betriebssystems Socketsoder TIPC (Transparent Inter Process Com-munication) Pruumlfen Sie die Inhalte die SieerhaltenAls Resultat dieser Politik der misstraui-

schen Aufteilung faumlllt nicht das gesamteSystem in die Haumlnde eines Angreifers wennein einzelner Softwareblock kompromittiertwurde

bdquoUm feindlichen Code in ein Embedded-System einzuschleu-sen ist nicht unbedingt eine Verbindung zum Internet oder zu

einem anderen externen Netz noumltigldquoDavid Kalinsky

2 Trennung der PrivilegienHalten Sie den Teil Ihres Codes der mit

speziellen Rechten ausgestattet ist moumlg-lichst klein Wenn der Angreifer in Softwareeinbricht die mit hohen Privilegien ausge-fuumlhrt wird dann kann der Angreifer eben-falls mit hohen Privilegien operieren Dasgibt ihm ein extrabreites Angriffsfenster inIhr SystemVermeidenSie also dassAnwendungssoft-

ware im Kernel-Modus oder Master- Modusoder Supervisor-Modus laumlufthellip oder wie dasin Ihrer jeweiligen CPU-Architektur heiszligenmag Uumlberlassen Sie diesen Modus dem Be-triebssystem Lassen Sie Ihre Software nurim User-Modus laufen Dadurch wird IhreCPU-Hardware darauf verpflichtet das An-griffsfenster in Ihrer Software zu limitieren3 Loumlschen Sie sensitive InformationenLoumlschenSie jedewieder verwendbareRes-

source wenn Sie sie freigeben Wenn Sieeine Ressource freigegeben haben ndash sei esein Speicherpuffer oder ein Software-Hard-ware-InterfaceDatenregister ndash koumlnnte dernaumlchste Benutzer genau derselben Ressour-ce einAngreifer sein Angreifer auf eingebet-tete Systeme lieben es diese Ressourcen zusbquophishenrsquo genau wie Internet-Angreifer ger-ne sbquophishenrsquo Hacker waumlren bestimmt uumlber-gluumlcklich die Daten zu lesen die Sie imPuffer bearbeitet habenoder die andieHard-ware zur Ausgabe uumlbergeben wurdenDie meisten Dienste die Ressourcen in

Embedded-Umgebungen freigebenmarkie-ren die Ressourcen einfach als bdquoverfuumlgbarldquo

Sie lassendie alte Information stehen die inder Ressource enthalten ist Das geht sehrviel schneller als die Ressource explizit aufNull zu setzen Damit ist sie aber potenziellfuumlr andere Benutzer lesbarWenn also die Applikation mit einer Res-

source fertig ist liegt es an der Anwendungdie Freigabe vorzubereiten indemsie all die-se Elemente auf Null setztHeap-Puffer Speicherpool-Puffer Spei-cherpartitionssegmente Statisch zugewiesene Speicherpuffer Freigegebene Stack-Bereiche SpeichercacheDatei im DateisystemDatenregister fuumlr Hardware-InterfacesStatusregister Kontrollregister

Schwachstellen auf die manbeim Coding achten mussWaumlhrend der Programmierung koumlnnen

Entwickler die Softwaresicherheit verbes-sern indem sie eine Reihe bekannterSchwachstellen vermeiden1 PufferuumlberlaufMitweitemAbstand ist der Pufferuumlberlauf

die amweitesten verbreiteteGefahrenquellewenn man in der Sprache C programmiertEs kann ganz einfach sein ndash zum Beispiel indas Element mit der Nummer 256 eines256-teiligenArraysDatenhineinzuschreibenCompiler erkennen verbotene Pufferzu-

griffe nicht immer als Softwarefehler DaskannernsthafteKonsequenzenwiedie bdquoCodeInjectionldquo oder die bdquoArc Injectionldquo haben ndashbei letzterer aumlndert der Angreifer den Kon-trollfluss eines Programms indem er dieRuumlcksprungadresse auf dem Stack modifi-ziert Bei der bdquoArc Injectionldquo braucht derAngreifer nicht einmal Code einzuschleusenEr kann zu irgendeiner Funktion im existie-renden Code springen oder Guumlltigkeitspruuml-fungen oder Assertions uumlberspringenHier ein Beispiel fuumlr eine Pufferuumlberlauf-

Attacke Ein eingebettetes Geraumlt misst dieWassertemperatur in einem Schwimmbe-cken und zeigt die Zeitanteile als Histo-gramm an in denen das Wasser eine be-stimmteTemperatur hatte Der Softwareent-wickler baut einen Array mit 100 positivenIntegerzahlen bei denen jedes Element miteinerGradangabe inCelsius korrespondiertElement 0 fuumlr 0deg Element 1 fuumlr 1deg und soweiter Jedesmal wenn der Sensor die Was-sertemperaturmisst wird das entsprechen-deElement desArrays umdenWert 1 erhoumlhtUm ganz sicher zu gehen stattet der Ent-

wickler denTemperatur-Arraymit viel Spiel-raum aus Er uumlbersteigt den Temperaturbe-reich bei weitem den einmenschlicher Koumlr-per aushalten wuumlrde

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012 17

EmbEddEd-SyStEmE SoftwaRE-DESign

ohne Locks fuumlr Multicore-Systeme entwi-ckeln

Echtzeit-Software ohne Echtzeit-Betriebssys-tem programmieren

InfoClick

wwwelektronikpraxisde InfoClick 3337487

wwwyakinduderequirements+492319860606

bull Komplexe software inKuumlrzester zeit spezifizieren

bull anforderungen fehlerfreierfassen

bull abhaumlngigKeiten von diagram-men und modellelementenautomatisch darstellen

bull aufwaumlnde von aumlnderungenKennen bevor sie entstehendurch vollstaumlndigestracing

bull manager fachanwenderund entwicKler sprechenendlich von denselbendingen

yaKindu requirementsdie software fuumlr requirementsengineering und traceability

IHRNUTZEN

Bis eines Tages der Angreifer den Sensoraus demWasser nimmt und mit einem Feu-erzeug aufheizt Sobald der Sensor einenWert misst der 100deg uumlbersteigt verletzt dieSoftware fuumlr das Histogramm-Update eineSpeicheradresse die hinter dem Ende desTemperatur-Arrays liegt Wenn dort Datenliegen hat der Angreifer die Daten korrum-piert Steht dort Maschinencode dann hatder Angreifer die ausfuumlhrbare Software kor-rumpiert In jedemFall ist es ein schaumldlicherEingriff Bitte beachten Sie dass auch dafuumlrweder eine Internetverbindung noch eineVerbindung zu einem externen Netzwerknoumltig war Ein Feuerzeug genuumlgteWie koumlnnen wir Pufferuumlberlaumlufe vermei-

denDie Schwachstelle ist soweit verbreitetdass ein mehrstufiger Ansatz am besten istVerhindern Entdecken Heilen Im Beispielunseres Schwimmbeckens sollten Sie expli-zit pruumlfen dass keine Temperatur ermitteltwird die der von Eis (unter 0deg) oder heiszligemDampf (uumlber 100deg) entsprichtVerhindern Sie Pufferuumlberlaumlufe auch in-

dem Sie gefaumlhrliche Bibliotheksfunktionenvermeiden (wie gets()) und Vorsicht bei an-deren walten lassen (wiememcpy())

bdquoAnstreicherldquo-Methodeermittelt PufferuumlberlaumlufeEntdeckenSie Pufferuumlberlaumlufe indemSie

wie ein Anstreicher vorgehen Erweitern SiedenPuffer anbeidenEnden etwas Fuumlllen Siedie Erweiterungsbereiche mit ungewoumlhnli-chem Inhalt den ich bdquoAnstrichldquonenne zumBeispiel eine Falle in derMaschinenspracheIhres Prozessors Dann pruumlfen Sie den bdquoAn-strichldquo wiederholt zur Laufzeit Wenn derAnstrich uumlberschrieben wurde haben Sieeinen Pufferuumlberlauf entdeckt2 Tricksereien mit ZeigernWenneinAngreifer einenDatenzeigermo-

difizieren kann dann kann der Angreifernach eigenemGusto an jededenkbare Stelleverweisen Wenn ein Angreifer einen Funk-tionszeiger uumlberschreiben kann dann ist erauf einemgutenWeg seinenCode auf IhremProzessor auszufuumlhren3 Dynamische SpeicherzuweisungDie Verwendung dynamischer Speicher-

zuweisungen ist in vielen sicherheitskriti-schenSystemenwie der Luft- undRaumfahrtverbotenAngreifer sindheiszligdarauf solcheDefekte zu finden da sie eine guumlnstigeGele-genheit bieten die Sicherheit eines Embed-ded-Systems zu verletzenEin besonders empfindlicher Fehler ist es

die Pruumlfung zu unterlassen ob eineAnfragezur Speicherzuweisung erfolgreichwar odernichtMancheMechanismengebenanstelleeines Zeigers auf einen Speicherpuffer den

Wert Null aus wenn kein verfuumlgbarer Spei-cher mehr vorhanden ist Wenn die Anwen-dungssoftware diesen Nullwert als Zeigerbehandelt wird sie in einen Puffer hinein-schreiben der an der Speicheradresse NullbeginntViele Angreifer wuumlrden sich freuen wenn

Ihre Software dies taumlte Angreifer wissendass eingebettete Software oft eingeschraumlnk-te Speicherressourcen hat Sie setzen allesdaran den Speicher auszuschoumlpfen indemsie den Speicherzuweisungsmechanismusdazu zwingen mehr Speicher als sonst uumlb-lich zu belegen ndash vielleicht durch einge-schleusten Code der Speicherlecks enthaumlltSie koumlnnenauchversuchen IhrDatenabfra-gesystem mit houmlheren Datenmengen oderDatenraten zuuumlberflutenndash inderHoffnungdass dieDatenlawine Ihre Speicherkapazitaumlterschoumlpft Und dannWenn Ihre Software einen Speicherpuffer

anfragt aber die Pruumlfung unterlaumlsst ob dieZuweisung fehlgeschlagen istwird sie einenPuffer anderAdresseNull eroumlffnenundalleszertrampeln was vorher dort gewesen istWenn zumBeispiel die Flags fuumlr das Ein- undAusschalten von Interrupts an dieser Stellestehen koumlnnte dadurch die Verbindung derSoftware zudenHardware-Interfaces anderPeripherie unterbrochenwerdenDas koumlnn-te dazu fuumlhren dass Ihr System nicht mehrin die Hardware eingebunden ist FG

D Kalinsky Associates +1408 749 8562

Kleine Angriffsflaumlche Die perfekte Absicherunggegen Angreifer im Web gibt es nicht Wichtig ist esaber sich um die die gaumlngigen Schwachstellen zukuumlmmern

PikeResearch

18

SyStementwurf AudiodAten uumlbertrAgen

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Audiosignale drahtlosmit Licht uumlbertragen

Audiosignale mit maximal 48 kBits mit Laser oder High-Power-LEDuumlbertragen Wir stellen Ihnen eine Schaltung vor die Audiosignale in

groszligen Raumlumen mit hoher Funkbelastung sicher transportiert

IgOR ZImmERmANN

Igor Zimmermann ist Entwickler fuumlr Embedded-Systeme bei der Mixed Mode GmbH inMuumlnchen

Funkuumlbertragungen haben sich vor al-lem im privaten Umfeld in den letztenJahren durchgesetzt Allen voran im

Multimediabereich seien hier kabelloseKopfhoumlrer genannt oder dieWLAN-Uumlbertra-gung Um bei der digitalen Audiouumlbertra-gung zu bleiben Mit der Digitalisierung derMultimediadaten entstand das Beduumlrfnisdiese digitalenAudiodatendrahtlos zu trans-portieren Hier sind im Speziellen drei Fre-quenzbaumlnder relevantDas 24-GHz-Band mit Frequenzen von24 bis 25 GHzDas 5-GHz-Band mit Frequenzen von5725 bis 5875 GHz und das 433-MHz-Band mit Frequenzen von43305 bis 43479 MHz

Wenn sich die Frequenzbaumlnderuntereinander stoumlrenDie ersten beiden Frequenzbaumlnder sind

alle fuumlrAudio-Uumlbertragungsgeraumlte geeignetdie uumlberWLANoder Bluetooth senden Her-koumlmmliche Funkkopfhoumlrer und Funklaut-sprecher benutzen das Band mit 433 MHzAlle drei Frequenzbaumlnder koumlnnen frei be-nutztwerdenwas auchgleichzeitig ein Pro-blem darstellt So sendet im 24-GHz-Bandbeispielsweise dieMikrowellewaumlhrenddas433-MHz-Band von etlichen anderen Funk-verbindungen verwendet wird Durch diegemeinsame Nutzung koumlnnen gegenseitigeStoumlrungen auftretenEine Uumlbertragung mit Licht ist gegen Stouml-

rungen aus diesen Baumlndern unempfindlichAuch inUmgebungenmit starker Funkbean-spruchungkannauf dieseWeise eineAudio-Signaluumlbertragung erfolgen Ein weitererVorteil ist die Reichweite die bei einerUumlber-tragung mit Licht erreicht werden kann

Audiosignale uumlbertragenMit Licht lassen sich groszlige Entfernungen uumlberbruumlcken wobei die APU allessteuert (Illustration)

FotoKlickerpixeliode

Audiosignale drahtlos uumlbertragen Schematischer Aufbau der Schaltung mit Audio Processing Unit

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

Waumlhrend eineUumlbertragung indengenanntenISM-Baumlndern auf einige hundert Meter be-schraumlnkt ist koumlnnenmit Licht groszligeDistan-zen uumlberwunden werden

Schaltung uumlbertraumlgt drahtlosAudiosignale mit LichtIm folgenden wollen wir Ihnen eine neu-

entwickelte und bereits im realen Einsatzgetestete Schaltung vorstellen die drahtloseAudiosignale mit Licht uumlbertraumlgt Die maxi-maleAudioqualitaumlt des Signals darfmaximal48 kBits betragen Die Schaltung setzt aufeinem Mikrocontroller zur Steuerung einesAudio-Codecs auf Die Entwicklung ist durchdie Visible Light Communication (VLC) ins-piriert Das Signal wird uumlber eine Treiber-schaltung entweder per Laser oder High-Power-LED uumlbertragen Auf der Empfaumlnger-seitewirddas Signal uumlber einenAudio-Codecindasurspruumlngliche Format ruumlckgewandeltEinsatzbereiche sind groumlszligere Raumlume in de-nen einehoheFunkbeanspruchungherrschtZum erfolgreichen Versenden der Audio-

informationenwerden zweiAusgabendieserSchaltung benoumltigt Die Versorgungsspan-nung betraumlgt 12 V Auf Senderseite kann derBenutzer eine von drei verschiedenen Sig-nalartenwaumlhlen die uumlbertragenwerden soll analoges Audiosignal Klinke (TRS Ana-log Audio In) digitales SPDIF-Signal Anschluss uumlberCinch (RCA Electrical SPDIF In) optisches SPDIF Signal Anschluss uumlberToslink (Toslink Optical SPDIF In)

APU mit Audio Codec undKonfigurationsregisternDie Konfiguration der Signalart erfolgt

uumlber ein Display und vier Taster (S1 S2 S3S4 und Display) Das Display und die Tastersind an einen Mikrocontroller angeschlos-sen der die Auswertung der Einstellungenvornimmtunduumlber einen Isup2C-Bus andieAu-dioProcessingUnit (APU)uumlbertraumlgt DieAPUbesteht aus einem Audio-Codec und besitztKonfigurationsregister zumSpeicherndieserEinstellungen Uumlber diese Register koumlnnenauch Manipulationen an den Statusbits desSPDIF-Signals vorgenommen werden DieAPU verfuumlgt zudem uumlber ein integriertes di-gitales Interpolationsfilter und ein Antialia-sing-Filter Das hat den Vorteil dass eineexterne Filterung uumlberfluumlssig wird Das Isup2S-Interface uumlber das andere Audio-Kompo-nentenmit derAPUkommunizieren koumlnnensteht demBenutzer ebenfalls zurVerfuumlgungEin- undAusgaumlnge koumlnnenasynchronbe-

trieben werden Das erzeugte Signal wird inein SPDIF-Format gewandelt und dem La-sertreiber oder dem LED-Treiber zur Verfuuml-

Via Laser oder High-Power-LEDAudiosignale drahtlos mit Licht uumlbertra-gen Die von uns vorgestellte Schaltungsetzt auf einen Mikrocontroller der denAudio-Codec steuert wobei die Qualitaumltdes Signals maximal 48 kBits betragendarf Der Mikrocontroller ndash die AudioProcessing Unit ndash ist das Herzstuumlck die-

ser speziellen Treiberschaltung der dasAudiosignal via Laser oder High-Power-LED uumlbertraumlgt Mit den Konfigurations-registern lassen sich die Einstellungenfuumlr die Codes speichern und es lassensich Manipulationen an den Statusbitsdes SPDIF-Signals vornehmen

SyStementwurf AudiodAtEn uumlbERtRAgEn

19

telekommunikation von Mixed Mode

InfoClick

wwwelektronikpraxisde InfoClick 3343108

gung gestellt Aus Sicherheitsgruumlnden wirdder Lasertreiber uumlber eine vomMikrocontrol-ler gesteuerte Enable-Leitung ein- und aus-geschaltet Als Laserquelle dient eine Laser-diodeDer Lasertreiber ist zwar speziell auf diese

Laserdiode eingestellt kann aber durch an-dere Laserdioden ersetzt werden Die Aus-gangsleistung der Modulationsstrom derGleichstromanteil und der Temperaturkoef-fizient der Laserdiodenwerdenuumlber externeWiderstaumlnde des Lasertreibers dimensio-niert Die Laserdiode ist an einem Kupfer-block angebracht der dieKuumlhlungderDiodeund die Fokussierung des Laserlichts uumlbereine Linse im Inneren uumlbernimmt Der LED-Treiber der ein IR-Treiber oder ein High-Po-wer-LED-Treiber sein kann besteht aus zweischaltbarenKonstantstromquellenundkannbis zu vier High-Power-LEDs versorgen

Audioqualitaumlt liegt beiaktuell 48 kBitsAuf der Empfaumlngerseite muss der Light

Receiver alsQuelle ausgewaumlhltwerdenDie-ser Light Receiver umfasst je eine Empfangs-einheit fuumlr sichtbares und infrarotes Licht(Visible Light und Infrared Light Receiver)

Beide Empfangseinheiten bestehen aus ei-nemPhotodetektor und einemnachgeschal-teten Transimpedanzverstaumlrker Das vomTransimpedanzverstaumlrker erzeugte Signalwird anschlieszligendSPDIF-gerecht aufberei-tet und an die Audio Processing Unit weiter-geleitet und kann an einem der sechs An-schluumlsse abgegriffen werdenDiemaximaleAudioqualitaumlt der Schaltung

liegt zur Zeit noch bei 48 kBits da die Emp-fangseinheit Signalemit einer Frequenz vonmaximal 31 MHz zuverlaumlssig empfangenkannDiemaximaleReichweite die bei einergerichteten Uumlbertragung mit Laser erreichtwerden konnte betraumlgt aktuell 15 m DurchdenEinsatz vonoptischenHilfsmitteln kannjedoch eine weitaus houmlhere Reichweite er-reicht werden HEH

MixedMode +49(0)89 89868240

20

ProgrammiersPrachen Sichere Software

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Stabile Embedded-Systememit der Programmiersprache Ada

Mit der Programmiersprache Ada laumlsst sich sicherheits- und missions-kritische Software entwickeln wovon Embedded-Systeme profitieren

sollen Wir stellen Ihnen die Programmierumgebung vor

JOhANNES KANIg

Johannes Kanig ist Senior Software Engineer beiAdaCore

WashabenARGOS einSatellitenpro-gramm zur Sammlung von Um-weltdaten unddas Traumlgheitsnavi-

gationssystem des Airbus 350 XWB mitein-ander gemeinsam Beide stellen besondereAnforderungenan ihre Steuerungssoftwaredie sehr sicher und in Echtzeit reagierenmuss und deren eventuelle Fehler viel Geldoder sogar Menschenleben kosten koumlnnenIn beiden Faumlllen ist die Software missions-kritisch wenn beispielsweise durch einenFehler der Satellit verloren gehen kann odersicherheitskritischwenndurch einenFehlerdie Passagiere des Airbus inGefahr geratenBeide Systeme haben noch etwas gemein-sam sie sind in Ada geschrieben

Ein Traumlgheitsnavigationssystem stellt ho-he Anforderungen an seine Embedded-Ap-plikationen die sehr Hardwarenah laufenDabei wird auf Sicherheit groumlszligter Wert ge-legt Die Anwendung darf unter keinen Um-staumlnden abstuumlrzen und sollte ihre Funktionerfuumlllen sowie maximale Reaktionszeitenstrikt einhalten Fuumlr sicherheitskritischeAn-wendungen werden in der Regel vor demeigentlichen Entwicklungsprozess genaueHigh-Integrity-Anforderungen aufgeschrie-ben denenderProgrammcodedannentspre-chenmussNatuumlrlich ist es fuumlr denProgram-mierer einfacher wenn die Sprache direktKonstruktionen anbietet die bestimmtenArten von Anforderungen entsprechen

Lesbarer Code vermeidetFehler beim programmierenDie Entwickler der Programmiersprache

Adahaben stets besonderenWert auf Lesbar-keit undWartbarkeit gelegt Das aumluszligert sich

unter anderem in syntaktischenUnterschie-den mit Sprachen wie C oder Java Zum Bei-spiel verzichtet Ada voumlllig auf geschweifteKlammern und nutzt stattdessen leicht les-bare Schluumlsselwoumlrter um Bloumlcke zu kenn-zeichnen So werden if-Bloumlcke mit einemend if undSchleifenmit einemend loopabgeschlossen Im Allgemeinen vermeidetAdaSymbolewoSchluumlsselwoumlrter Sinn erge-ben So wird auch der in C uumlbliche Stern zurBezeichnung von Zeigern durch das Schluumls-selwort access ersetzt Ada beachtet Groszlig-und Kleinschreibung nicht um Verwechs-lung von zu aumlhnlichen Bezeichnern zu ver-meiden Und schlieszliglich vermeidet Ada diein Java und C verbreitete Praxis oktale Zah-len mit einer fuumlhrenden Null darzustellenNeben diesen syntaktischen Unterschie-

den gibt es auch viele semantische Hilfenum lesbare undbesserwartbare Programmezu schreiben Sowird die Relation zwischeneiner Funktion und ihren Parametern durchSchluumlsselwoumlrter wie in (nur lesen) out(nur schreiben) oder in out (beides) doku-mentiert Ada ist imGegensatz zuC eine starkgetypte Sprache Typkonversionen die zuLaufzeitfehlern fuumlhrenkoumlnnenmuumlssten ex-plizit geschrieben werden Ada erlaubt imGegensatz zu manchen anderen Sprachendie Einfuumlhrung von benutzerdefinierten In-tegertypen die Absichten des Programmie-rers dokumentieren (DieseVariable enthaumlltZahlen zwischen 1und 100) unddie korrek-te Ausfuumlhrung mit Laufzeituumlberpruumlfungensicherstellen Diese semantischen Eigen-schaften erleichtern den direkten Vergleichdes Programmcodes mit den an ihn gestell-ten Anforderungen

Besonderheiten bei derEmbedded-ProgrammierungBei Echtzeitanwendungenhandelt es sich

meist um parallele Anwendungen denn inder Regel werden mehrere Berechnungengleichzeitig durchgefuumlhrt undneueEreignis-se verarbeitet In diesem Kontext ist es be-

Umweltsattelit Die Steuerungssoftware muss sich besonderen Anforderungen stellen Mit der Program-miersprache Ada laumlsst sich sicherheits- und missionskritische Software entwickeln (Im Bild der Umwelt-satellit ENVISAT)

fotoD

Lr

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

sonders wichtig dass Reaktionszeiten derSoftware auf Ereignisse garantiert werdenkoumlnnen Hier ist es nuumltzlich dass Ada einfa-che Sprachfeatures zur Beschreibung vonparallelen Prozessen bereitstellt Es ist ent-scheidend dassAdakeinenGarbageCollec-tor benoumltigt der denProgrammablauf verzouml-gern koumlnnte Ein manueller Umgang mitThreads ist alsonicht noumltig Unvorhersehba-re Latenzzeiten die bei sicherheitskritischenAnwendungen unakzeptabel sind werdenausgeschlossen Ein weiteres Argument fuumlrden Einsatz von Ada im Embedded-Bereichist seine Faumlhigkeit zur Low-Level-Program-mierung Damit kann beispielsweise die ge-naue Auslegung einer Datenstruktur imSpeicher festgelegt werden Als gefaumlhrlicherachtete Low-Level-Features wie zum Bei-spiel dasAuslesenbeliebiger Speicherberei-che oder auch die in C beliebte Pointerarith-metik sind in Ada nur unter Umgehung desTypsystemsmoumlglich

Ada ndash Die Programmierspracheohne UumlberraschungenAda wird oft als Sprache ohne Uumlberra-

schungen bezeichnet Mechanismen zurProgrammstrukturierung wie es sie in Adagibt also ein Objektsystem oder ein Paket-system sind sehr hilfreich wenn es darumgeht umfangreiche Programme zu schrei-ben Der Ada-Standard sieht sogenanntePragma-Restriktionen vormit denen festge-legt werden kann ob Features der Spracheausgeschlossenwerden sollenDamit lassensich interne Coding-Standards uumlberpruumlfenDieses Feature kannmanmit dem StandardMISRA-CC++vergleichen der versucht einesichere Teilmenge von C beziehungsweiseC++ zu definieren Ada bietet den Vorteildass viele Konstrukte vondenenMISRAab-raumlt gar nicht geschrieben werden koumlnnenund dank des starken Typsystems mehrUumlberpruumlfungenmoumlglich sindDie Programmiersprache Ada gibt es seit

demBeginn der achtziger Jahre Die damali-ge Version Ada 83 enthielt bereits eine guteBasis fuumlr die strukturierte undmodulare Pro-grammierung wie ein Paketsystem das dieKapselung von Daten und Algorithmen er-moumlglicht Seitdem hat sich Ada kontinuier-lich weiterentwickelt So erschien 1995 derAda-95-Standard der die Sprache um einObjektsystem erweiterte Der naumlchste Stan-dard Ada 2005 brachte Verbesserungen imUmgang mit Zeigern die als konstant oderauch als not null deklariert werden koumln-nen Das stellt vor allem eine umfangreicheErweiterungder Standardbibliothekdar dienun auch Container enthaumllt Das Objektsys-temwurde umdas Interface-Konzept erwei-

PRAxISWERT

Adacore Software-loumlsungen fuumlr AdaAdaCore wurde 1994 gegruumlndet undist der fuumlhrende Anbieter von kom-merziellen Softwareloumlsungen fuumlr Adaeiner modernen Programmiersprachefuumlr Mission-Critical-Anwendungen insicherheitskritischen UmgebungenDas wichtigste Produkt ist die Ent-wicklungsumgebung GNAT Pro dieOnline-Support bietet und auf mehrPlattformen als jede andere Ada-Tech-nologie verfuumlgbar ist Unternehmenwie Boeing HP Krauss-Maffei oderSiemens setzen AdaCore-Loumlsungenfuumlr sicherheitskritische Anwendun-gen ein Hauptsitz ist New York daseuropaumlische Headquarter ist in Paris

tert so dass nun auch Mehrfachvererbungmoumlglich istDer naumlchste Standard ist fuumlr 2012 vorgese-

hen Darin sind die aus der Programmier-spracheEiffel bekanntenVertraumlge (contracts)vorgesehen die jeder Funktion zwei Boole-scheAusdruumlcke hinzufuumlgen koumlnnen die voroder nach Ausfuumlhrung der Funktion wahrsein sollenDieseAusdruumlcke sind im Idealfalldirekt von den Anforderungen an die Soft-ware abgeleitet Sie koumlnnen als formale Do-kumentation als zusaumltzlicheUumlberpruumlfungenzur Laufzeit oder als Ausgangspunkt fuumlr sta-tische Analysen dienen Eine weitere Neue-rung ermoumlglicht dieDefinition vonTypenmitso genannten Invarianten Damit sind Boo-lesche Ausdruumlcke gemeint die fuumlr Wertedieses Typs immer wahr sind Schlieszliglichgibt es viele andereWeiterentwicklungenwieeine Python-aumlhnliche Syntax zur Iterationuumlber Container und Verbesserungen implattformuumlbergreifenden Umgang mit ne-benlaumlufigen Prozessen und Multiprozesso-ren hEh

AdaCore +33(1)4970 6716

ProgrammiersPrachen SiCHERE SOfTwARE

21

Adacore-Entwicklungswerkzeuge

Ada Deutschland

InfoClick

wwwelektronikpraxisde infoclick 3343168

Bei unsbewegtsich was

Webcasts aufwwwelektronikpraxisde

Finden Sie die Loumlsung fuumlr IhrProblem ndash als Video oderAudiodatei

Beispiele fuumlr Webcasts

Anwendungsbeschreibungenkomplexer erklaumlrungsbeduumlrftigerProdukte

anwendungs- und loumlsungsorien-tierte Produktpraumlsentationen

vertonte Powerpointpraumlsentati-onen ProduktanimationenExperteninterviews oderMesseberichte

Online-SeminareOnline-Konferenzen

Schauen Sie doch mal rein---gt wwwelektronikpraxisde

CAST

wwwvogelde

0726

4

22

EmbEddEd-SyStEmE Software-architektur

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Von der impliziten zur explizitenSoftware-Architektur

Im Bereich der Unternehmenssoftware ist das Festlegen einer Soft-ware-Architektur heutzutage Standard doch bei der Embedded-Ent-

wicklung wird dieser Aspekt haumlufig noch vernachlaumlssigt

MIchAEL STuRM chRISTIAN hOcK

Dr Michael Sturm leitet die Abteilung Softwarepro-dukte im Geschaumlftsbereich Industrybei der Berner amp Mattner Systemtech-nik in Muumlnchen

Dr christian hock ist verantwortlich fuumlr die strate-gische Ausrichtung des Geschaumlfts-bereiches Industry bei der Berner ampMattner Systemtechnik in Muumlnchen

Eine dokumentierte Software-Architek-tur hat klare Vorteile Produkte sindanpassungsfaumlhiger und zukunftssiche-

rer Auszligerdem erleichtert das Wissen umSchnittstellen Kommunikationsbeziehun-genundRessourcen einzelner Komponentenderen Anpassung an neue Hardwarebedin-gungenundFunktionsanforderungenNichtnur beiNeuentwicklungen sondern auchbeiModernisierungen bestehender Embedded-Loumlsungen lohnt es sich einen Software-Ar-chitekten einzubinden um Weiterentwick-lungenauf ein zukunftssicheres Fundamentzu stellen

Begruumlndete Technologie-entscheidungen treffenUnter Software-Architektur versteht man

die strukturierteAnordnungderKomponen-ten eines Systems mit Informationen zurKommunikation zwischen den Komponen-ten sowie deren Abbildung auf Hardware-oder Softwareressourcen Eine fruumlhzeitigeundprojektbegleitendeUnterstuumltzungdurcheinen den einzelnen Entwicklerteams moumlg-lichst neutral gegenuumlberstehendenSoftware-Architekten ist die ideale Loumlsung EineReihevon Aufgaben kann man dieser Instanz zu-ordnen in vielenBereichengeht es aber aucheinfach umModerationEine zentraleAufgabeder EmbeddedSoft-

ware-Architektur ist es nicht nur die funkti-onalen Anforderungen an die Software zuberuumlcksichtigen sondern auch nichtfunkti-

in seiner Loumlsungsfindung eingeschraumlnktsein Bewaumlhrte Loumlsungsansaumltzewerdendannoft unhinterfragt wiederholt Neue moumlgli-cherweise besser geeignete und insbesonde-re flexiblere Technologienbleibenunberuumlck-sichtigt

Zusammenhaumlnge muumlssennachvollziehbar bleibenDaher kannes zumBeispiel zudenAufga-

ben eines Software-Architekturteams oderexternen Beraters gehoumlren neue Technolo-

Groszliges Vorbild Softwaresysteme lassen sich hinsichtlich ihrer Komplexitaumlt mit Gebaumluden wie Antoni Gau-diacutes Kirche Sagrada Familia in Barcelona vergleichen Eine in sich schluumlssige Architektur ist deshalb auch imSoftwarebereich unerlaumlsslich

iStockph

otoham

ishBa

rrie

onale Anforderungen zu erfassen und zwarvor dem Hintergrund einer Lifecycle-Prog-nose Unter diese nichtfunktionalen Anfor-derungen fallen so komplexe Punkte wieWartbarkeit Modifizierbarkeit Skalierbar-keit Portierbarkeit Konnektivitaumlt Benutz-barkeit Zuverlaumlssigkeit Sicherheit Perfor-mance Effizienz oder TestbarkeitSo vorteilhaft ein eingespieltes Entwick-

lerteam fuumlr die Kommunikation ist so sehrkann es auch durch die Erfahrung aus Vor-gaumlngerprojekten oder aumlhnlichen Projekten

23

EmbEddEd-SyStEmE Software-architektur

gien zu evaluieren und auf Eignung fuumlr Pro-jekte zu pruumlfen sowie neue Toolsets zur Ver-fuumlgung zu stellen Kuumlnftig benoumltigteKompo-nenten muumlssen identifiziert werden undwenn es darum geht fuumlr einzelne Kompo-nenten optionale Technologien vorzuschla-gen bewaumlhrt sich haumlufig das Einschalteneines neutralen ArchitekturbeauftragtenEs geht um die Diskussion von Design-

Entscheidungen dieDefinition vonSchnitt-stellen und die Entwicklung von CodingConventions Unter der Moderation einesSoftware-Architekten erfolgen diese Ent-scheidungen bewusster und werden besserdokumentiert Nur sobleibendie Zusammen-haumlnge innerhalb eines Systems auch fuumlr Ent-wickler nachvollziehbar die spaumlter einmalan ihm arbeitenmuumlssen und nichts von denimplizitenAnnahmenund teaminternenGe-pflogenheiten seiner Schoumlpfer wissen

Implizite Architekturen sindimmer vorhandenIn der taumlglichen Praxis der Embedded-

Entwicklung sieht es leidermeist anders ausZeit- und Kostendruck verhindern oft dassGedankenundArbeit in eine systematisierteSoftware-Architektur flieszligen Hier koumlnnenSoftwarearchitekten auchdurchdieAuswahlgeeigneter Methoden und Tools weiter hel-fen So kann die dynamische Entwicklungheutiger Industrieproduktemit agilenAnsaumltzenunterstuumltztwerdenAuch einstrikt modellbasierter Entwicklungs-ansatz also die Modularisierung mitklar definierten Schnittstellen ist einMittel um einen hohen Reifegrad zuerreichen Die Vorteile dieses Vorge-henshaben sich in vielenProjektenbeiBerner amp Mattner in der Entwicklungvon Funktionserweiterungen gezeigtDank des modellbasierten Ansatzeskonnten diese mit minimalem Auf-wand realisiertwerdenndashunddies ins-besondere auch von urspruumlnglichnicht beteiligten EntwicklernAber Fakt ist Jedes Softwaresystem

hat eineArchitektur auchwenndiesenicht explizit modelliert wurde Ent-stehendiese Strukturenungeplant ausder Dynamik der Komponentenent-wicklung heraus tut dies der Funkti-onalitaumlt der Software zunaumlchst keinenAbbruch Probleme treten erst spaumlterauf wenn es umWartung Skalierungoder Portierung gehtImNachhinein raumlcht sichdann zum

Beispiel die Wahl einer bestimmtenProgrammiersprache oder einerSchnittstelle die unter dem Zeit- undKostendruck imEntwicklungsprozess

schnell und dazu noch undokumentiert ge-troffenwurdeDieKommunikation zwischeneinzelnen nicht klar getrenntenKomponen-ten war moumlglicherweise nur oberflaumlchlichgeloumlst anstatt schon bei derWahl der Tech-nologien und Sprachen darauf zu achtenReibungspotenziale zu minimieren

Zu enge Abhaumlngigkeiten vonder Hardware vermeidenWird ein Softwareprojekt nicht in Bezug

auf seinengesamtenLebenszyklus gesehenbesteht bei Embedded-Projekten auch dieGefahr dass ungewollteAbhaumlngigkeiten zurEntwicklungs-Hardware entstehen Die An-passung an neue Hardwaregenerationenkann dadurch sehr aufwaumlndig oder gar un-moumlglich werdenEine klar strukturierte unddokumentierte

Software-Architektur wird erst dann ver-misst wenn es bei der notwendigenWeiter-entwicklung Fragen und Schwierigkeitengibt Oft sollen wesentliche Teile der Soft-ware beibehalten aber zum Beispiel an einneuesBenutzerinterface angeschlossenwer-denManchmal ist der Controller fuumlr den siegeschrieben wurde nicht mehr verfuumlgbarund sein Nachfolger ist anders aufgebautFunktionenmuumlssen erweitert zusammenge-fuumlhrt oder auf geaumlnderte externe Systemeangepasst werden Die Pflege oder Weiter-

PRAxISWERT

Fehler lassen sichverhinderneine klar definierte und stringenteSoftware-architektur hilft die Zusam-menhaumlnge innerhalb eines Systemsbesser zu verstehen Dies verhindertfehler und senkt nicht zuletzt denaufwand bei der eventuell noumltigenbdquoaltbausanierungldquo von embedded-Systemen

Nachtraumlgliche Analyse nuumltztwurde die Software-architektur inder embedded-entwicklung vernach-laumlssigt lohnt sich angesichts der zuerwartenden langen einsatz- und Le-benszeiten vieler embedded-Systemeauch eine nachtraumlgliche analyse undDokumentation andernfalls drohenmoumlglicherweise immer wieder unkal-kulierbare Verzoumlgerungen wenn war-tungs- oder weiterentwicklungsarbei-ten eventuell auf undokumentierteeigenheiten des Systems stoszligen

H

SIG

HPEED

ROBUST

FLEXIBLE

TriCore Power Architecturebull

XC2000XE166 SH-2A XScalebull bull

Cortex M0M3M4 Cortex R4 Cortex A8 ARM7911bull bull bull

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

24

EmbEddEd-SyStEmE Software-architektur

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Literaturhinweise[1] Pete Goodliffe code craftthe Practice of writing excellent codeNoStarch Press 2006

[2] Peter hruschka Gernot Starkeknigge fuumlr SoftwarearchitektenentwicklerPress 2012

[3] craig Larman applying uML and Pat-terns an introduction to object-orien-ted analysis and DesignPrentice hall 2004 (3 auflage)[4] Berner amp Mattner-fachartikel bdquoSoft-warearchitektur in eingebetteten Syste-menldquo ndash httpbitlyJosXYw

entwicklung eines solchen Systemswird fuumlrden Produktverantwortlichen zu einerschwer kalkulierbaren Kostenquelle vor al-lem dann wenn er nicht mehr auf den KerndesurspruumlnglichenEntwicklerteams zuruumlck-greifen kannHilfestellung in solchen Situation bieten

Spezialisten wie Berner amp Mattner die Alt-systeme analysieren bestehende Software-Architektur nachdokumentierenundmoumlgli-che Migrations- und Aumlnderungspfade iden-tifizieren Als externe Architekturberaterkoumlnnen sie unbelastet von der Softwarehis-torie untersuchen wo in der Struktur derSoftware Problemfelder liegen und Loumlsun-gen vorschlagenDerAufwand fuumlr PflegeundWeiterentwicklung laumlsst sich auf Basis einersolchen Analyse besser beurteilen

Regeln aufstellen ndash und sierichtig brechenBesonders spannend wird das Thema bei

zertifiziertenEmbeddedSystemen Einehaumlu-fige Herausforderung ist dass die Softwareoder wesentliche Teile zertifiziert sind umeinem SIL (Safety Integrity Level) zu genuuml-gen Selbstverstaumlndlich moumlchte niemanderneut eine IEC 61508-Zertifizierung durch-laufen wenn sich dies vermeiden laumlsstGluumlcklicherweise sind oft nur einzelne rele-vante Teile des Systems als sicherheitskri-tisch eingestuft Die Kunst des Architektur-beraters ist es die Stellen in der Software zufinden andenendie Schnitte angesetztwer-denkoumlnnenndashund zwar zwischenden sicher-heitskritischen Teilen und den Teilen undSchnittstellen die problemlos geaumlndertwer-den koumlnnenHierzu nutzt der Berater gaumlngige Design-

Patternswie etwaSchichtenoder bdquopipes andfiltersldquo Ironischerweisemusshaumlufig das aufdieseWeise entstandene Regelwerk die ab-geleiteteArchitektur fuumlr das eigentlicheEnt-wicklungsprojekt gleich wieder gebrochenwerden eben um zertifizierte Bestandteileunveraumlndert zu erhalten Der groszlige Unter-schied zu den bdquoRegelverletzungenldquo aus derEntstehungszeit der urspruumlnglichen Soft-

ware liegt aber darin dass sie nun ausfuumlhr-lich dokumentiert werdenEs waumlre ein Missverstaumlndnis Software-

Architektur als ein unveraumlnderliches Doku-ment zu verstehen das man nur selten wie-der in die Hand nimmt Es sollte bei jederArbeit an der Software gelesen und gepflegtwerden Ohne dieses lebendige Dokumentwerden Architekturverstoumlszlige oft gar nichtbemerkt Vereinbarungen zu ArchitekturCodingConventions Schnittstellen etcwer-dendadurch fuumlr denEntwickler verbindlich

Architektur muss als Prozessverstanden werdenDer Auftraggeber erhaumllt so ein Embedded

System dessen Pflege er in die Haumlnde einesneuenTeamsgebenkannDie nun freigewor-denen Spezialisten die es erstellt habenkoumlnnen getrost an anderer Stelle eingesetztwerdenDabei gilt Software-Architektur endet nie

DennauchvondenEntwicklern einzusetzen-deDesign-Methodenwie zumBeispiel ObjectOrientedAnalysis andDesign (OOAD)habenklare Strukturen und die Trennung von Zu-

staumlndigkeiten zum Ziel - das ist eindeutigArchitekturEine klare Software-Architektur hilft die

Zusammenhaumlnge innerhalb eines Systemsbesser zu verstehen Dies verhindert Fehlerund senkt den Aufwand bei der bdquoAltbausa-nierungldquo von Embedded Systemen Wurdedie Software-Architektur in der Embedded-Entwicklung vernachlaumlssigt lohnt sich an-gesichts langer Einsatz- und Lebenszeitenvieler EmbeddedSystemeauchdie nachtraumlg-liche Analyse und Dokumentation Andern-falls drohen immer wieder unkalkulierbareVerzoumlgerungen wenn Wartungs- oder Wei-terentwicklungsarbeiten auf undokumen-tierte Eigenheiten des Systems stoszligen Beistark eingefahrenen Teams bzw zum Wis-sensaufbaubietet sichhier ein externer Soft-warearchitekt anDie meisten Fehler durch menschliches

Versagen entstehen dort wo wir nicht ver-stehen woran wir bdquoschraubenldquo Eine expli-zite Architektur traumlgt maszliggeblich dazu beidieWirkketten innerhalb komplexer Systemetransparent zu machen Mit diesem Wissenwerden erforderliche Aumlnderungen wesent-lich schneller bewertet und zuverlaumlssig rea-lisiert FG

Berner ampMattner +49(0)89 6080900

Zusammenhaumlnge verstehen Explizite Software-Architektur traumlgt maszliggeblich dazu bei die Wirkungs-zusammenhaumlnge komplexer Systeme anschaulich und transparent zu machen

iStockph

otoSirgunhik

Lebenslaumlnglich Software-architekturdesign

requirements engineering fuumlr embedded-Systeme

InfoClick

wwwelektronikpraxisde InfoClick 3343141

25

Kolumne

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

Mit Fragen zum ProjekterfolgPETER SIwON

Heute stelle ich Ihnen ein Wundermit-tel vormit demSie inProjekten vielEnergie Zeit und Geld sparen

Gleichzeitigmotiviert es IhreMitarbeiter DerEinsatz des Wundermittels hat sehr viel mitdem BuchstabenWwieWunder zu tun DasBeste daran Es kostet nichts undSie kennenes alle DasWundersameandiesemWunder-mittel ist allerdings dass es trotzdem zu sel-ten eingesetzt wird Ich gebe Ihnen noch einpaar TippsWie kommenSie ameffektivstenan Informationen Wie erfahren Sie amschnellstenwas andereMenschendenkenWie findenSie amschnellstenLoumlsungenDieAntwort lautet FragenUnddie beginnenoftmit wo wie wann oder wer Vielleicht sindSie jetzt uumlber diese simple Antwort ent-taumluscht nachdem ich Ihnen den Mund mitallerlei Wunderversprechungen waumlssrig ge-macht habe An dieser Stelle koumlnnten Siespaszligeshalber auf das Themaeinsteigenundfragen bdquoWie kommen Sie darauf diese Me-thode alsWundermittel zu bezeichnenldquo Siekoumlnnten aber auchgelangweilt denken bdquoWeiszligschon offene Fragen stellenldquo und aufhoumlrenzu lesen Sind Sie sich ganz sicher dass Siealle meine Argumente kennen Das ist zwaretwasmanipulativ abermit dieser Fragebrin-ge ich Sie immerhindazu IhrenStandpunktzu hinterfragen Vielleicht lautet die so pro-vozierteAntwort bdquoNaja eigentlichbin ichmirnicht sicherldquo ndash und Sie lesen doch weiterDas Praktische an solchenFragen ist dass

Sie sich von Ihrer eigenen Antwort in derRegel besser uumlberzeugen lassen Ichhaumltte Sieauch schulmeisterlich zu IhremGluumlck zwin-gen koumlnnen bdquoSie muumlssen weiterlesen weilichweiszlig dass Sie noch jedeMengeWichtigeserfahren das Sie unmoumlglich wissen koumln-nenldquo Dasmache ich aber nicht weil ich dieNachteile kenne 1 Siemuumlssen gar nichts 2Wenn Sie muumlssen dann wollen Sie nichtIhre Motivation ist gering 3 Woher will ichwissen obSie nichtmehr uumlber dieKunst desFragens wissen als ich selbst Damit die ge-rade so schoumln erzeugte Motivation nichtgleichwieder auf demAltarmeines Egos ge-opfert wird spare ichmir PseudofragenwiebdquoHab ichs Ihnennicht gleich gesagtldquo Statt-dessen bedanke ich mich bescheiden fuumlrIhreBereitschaftweiterzulesen Ich gebe zudas faumlllt mir manchmal schwerGeschriebener Text schraumlnkt dieMoumlglich-

keiten etwas einDarumstellen Sie sichbitte

die obenangedeutete Szene als persoumlnlichesGespraumlch vor In diesem Fall koumlnnte ich ausdem W-Vollen schoumlpfen Wenn Sie mir zuverstehen geben dass Sie sich selbst schonmit dem Thema befasst haben dann werdeich Sie beispielsweise fragen bdquoDas freutmich Welche Erfahrungen haben Sie ge-machtldquo oder bdquoWas wuumlrden Sie aus IhrerErfahrung empfehlenldquo Jetzt habe ich dieChance etwas von Ihnen zu lernen Gleich-zeitig spare ich Energie und Uumlberzeugungs-arbeit weil ich einfach nur zuhoumlre Ich wer-de IhreAussagendurchRuumlckmeldungenwiebdquointeressantldquo oder bdquoDa stimme ich Ihnen zuldquounterstreichen Mit meinen Fragen will ichnicht beweisen dass ich der Schlauere binsondern dass Fragen ein echtesWundermit-tel sind Durch interessiertes Nachfragenkann ich Ihnen dabei helfen neue Aspektezu entdecken Was tue ich wenn ich eineandere Meinung habe Statt Geschuumltze wiebdquoJa aberhellipldquo oder bdquoNein das kann nicht seinweilhellipldquo aufzufahren umSie rhetorisch abzu-wuumlrgen oder zu knebeln ist es erheblichnuumltzlicher die Hintergruumlnde Ihrer Darstel-lungdurchFragenherauszufinden Falls Siefalsch liegen kommen Sie vielleicht durchdenVersuchmeine Fragen zubeantwortenselbst dahinter Ich spare mir dann die an-strengende Prozedur der Gegenargumenta-tion Dann werde ich uns beide dazu be-gluumlckwuumlnschen dass wir unser Wissen ge-meinsam bereichert haben ndash denn genauso

ist es Sollte ich derjenige sein der falschliegt kann ich dazulernen ohne mir eineBloumlszlige zu gebenJetzt stellen Sie mir da ich mich als Fra-

genfreundgeoutet habe eine Fragewie bdquoWaswuumlrdenSie tunwenneinunselbststaumlndigerMitarbeiter staumlndig fragt was er tun sollldquoIch wuumlrde wie sollte es anders sein post-wendendeineGegenfrage stellen bdquoWas glau-ben Sie wuumlrde ich tunldquo und Ihnen damitschon die Antwort in den Mund legen fra-gen Tolle Fragen in solchen Situationensind Was haben Sie oder andere in aumlhnli-chen Situationen getan Warum glaubenSie hat es bisher nicht funktioniertldquo Da-nach bringe ich hoffentlich die Geduld fuumlrzweiVerhaltensweisen auf die fuumlr denErfolgeiner Frage wichtig sind Erstens halte ichden Mund um Ihnen Zeit zum NachdenkenzugebenAlsGefragter habenSie es naumlmlichnicht leicht Sie denkennun zuerst uumlbermei-ne Frage und dann uumlber Ihre Antwort nachWenn ich waumlhrend Sie gruumlbeln die Frageselbst beantworte oder noch eine Frage hin-terher schieszlige habe ich alles verdorben Ichzaumlhle also im Kopf bis 5 um diese Falle zuvermeiden Zweitens zeige ich Ihnen wennSie antworten durchAugenkontakt Nickenkurze Ruumlckmeldungen und Verstaumlndnisfra-gen mein Interesse Aktives Zuhoumlren ist diebeste Gewaumlhr dafuumlr dass mir nichts Wichti-ges entgeht und es ist ein Zeichen groszligerWertschaumltzung So gewinne ichdurchFragenund Zuhoumlren Ihre Sympathie Das Wundervollzieht sich also in drei Schritte FragenWarten Zuhoumlren Wenn Sie auf diese Weiseeine gute Idee finden goumlnne ich Ihnen IhrErfolgserlebnis und sage so etwas wie bdquoSu-per das houmlrt sich interessant anldquo Und ichlege gleichnoch eine Frage als ZugabedraufbdquoWannglaubenSiewerdenSie die Idee aus-probierenldquo Diese nachgeschobene Fragehat gegenuumlber einer Aufforderungwie bdquoPro-bieren Sie es doch morgen gleich ausldquo dengroszligen Vorteil dass ich so Ihr Gefuumlhl derEigenverantwortung erhalte bzw foumlrdere IchbeendediesenkurzenAusflug indieWelt derW-Wunder wie auch sonst mit einer FrageHaben Sie Interesse zum Thema Fragetech-nikenWollen Sie eine kostenlose Checklis-te zu Fragetechniken Dann senden Sie mirbitte eine E-Mail an psiwondie-menschli-che-Seitede hEh

Mit Fragen zum Projekterfolg Peter Siwon beschaumlf-tigt sich seit mehr als 20 Jahren mit den ThemenGehirn und Psyche im Zusammenhang mit derProjektarbeit in technischen Berufen

InfoClick 3370352

26 ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

RedaktionChefredakteur Johann Wiesboumlck (jw) ViSdP fuumlr die redaktionellen InhalteRessorts Zukunftstechnologien Kongresse Kooperationen Tel (09 31) 4 18-30 81Chef vom dienst Peter Koller (pk) Tel (09 31) 4 18-30 98Verantwortlich fuumlr dieses Sonderheft Franz Graser Tel -30 92Redaktion Muumlnchen Tel (09 31) 4 18-Franz Graser (fg) Prozessor- und Softwarearchitekturen Embedded Plattformen Tel -30 92Martina Hafner (mh) Produktmanagerin Online Embedded Software Engineering KongressTel -30 82Hendrik Haumlrter (heh) Messtechnik Testen EMV Medizintechnik Laborarbeitsplaumltze DisplaysOptoelektronik Embedded Software Engineering Tel -30 92Holger Heller (hh) ASIC Entwicklungs-Tools Embedded Computing MikrocontrollerProzessoren Programmierbare Logik SOC Tel -30 83Gerd Kucera (ku) Automatisierung Bildverarbeitung Industrial Wireless EDALeistungselektronik Tel -30 84Thomas Kuther (tk) Kfz-Elektronik Stromversorgungen Oszillatoren Passive BauelementeTel -30 85Kristin Rinortner (kr) Analogtechnik Mixed-Signal-ICs Elektromechanik Relais Tel -30 86Margit Kuther (mk) Bauteilebeschaffung Distribution Beruf amp Karriere Tel (0 81 04) 6 29-7 00Freie Mitarbeiter Prof Dr Christian Siemers FH Nordhausen und TU Clausthal Peter SiwonMicroConsult Sanjay Sauldie EIMIA Hubertus Andreae dreiplus praxisbegleitendeInnovationsfoumlrderungVerantwortlich fuumlr die Fed-news Dr Stephan Weyhe FED Alte Jakobstr 8586 D-10179 BerlinTel (0 30) 8 34 90 59 Fax (0 30) 8 34 18 31 wwwfeddeRedaktionsassistenz Eilyn Dommel Tel -30 87RedaktionsanschriftMuumlnchen Grafinger Str 26 81671 Muumlnchen Tel (09 31) 4 18-30 87 Fax (09 31) 4 18-30 93Wuumlrzburg Max-Planck-Str 79 97082 Wuumlrzburg Tel (09 31) 4 18-24 77 Fax (09 31) 4 18-27 40LayoutMichela Deppe Joachim Haselmann Carolin Frank Sigrid Rau Meike Herkersdorf Mar-kus Mager

eLektRonikPRaXiS ist organ des Fachverbandes elektronik-design eV (Fed)Fed-Mitglieder erhalten eLektRonikPRaXiS im Rahmen ihrer Mitgliedschaft

VeRLagVogel Business Media GmbH amp Co KG Max-Planck-Straszlige 79 97082 WuumlrzburgPostanschriftVogel Business Media GmbH amp Co KG 97064 WuumlrzburgTel (09 31) 4 18-0 Fax (09 31) 4 18-28 43BeteiligungsverhaumlltnisseVogel Business Media Verwaltungs GmbHKommanditistin Vogel Medien GmbH amp Co KG Max-Planck-Straszlige 79 97082 Wuumlrzburggeschaumlftsfuumlhrung Stefan Ruumlhling (Vorsitz) Florian Fischer Ernst Haack Guumlnter SchuumlrgerPublisher Johann Wiesboumlck Tel (09 31) 4 18-30 81anzeigenleitung Franziska Harfy Tel (09 31) 4 18-30 88Fax -30 93 Grafinger Str 26 81671 Muumlnchen franziskaharfyvogeldeanzeigenverkauf Wuumlrzburg Tel (09 31) 4 18- Fax (09 31) 4 18-28 43Susanne Muumlller Tel -23 97 susannemuellervogeldekey-account-Manager Tel (09 31) 4 18- Fax (09 31) 4 18-28 43Hans-Juumlrgen Schaumlffer Tel -24 64 hansschaeffervogeldeClaudia Fick Tel -30 89 Fax -30 93 Grafinger Str 26 81671 Muumlnchen claudiafickvogeldeMarketingleitung Elisabeth Ziener Tel (09 31) 4 18-26 33auftragsmanagement Claudia Ackermann Tel (09 31) 4 18-20 58 Maria Duumlrr Tel (09 31) 4 18-22 57anzeigenpreise Zur Zeit gilt Anzeigenpreisliste Nr 47 vom 01 01 2012Vertrieb Leser- und abonnenten-Service DataM-Services GmbHFranz-Horn-Straszlige 2 97082 Wuumlrzburg Thomas Schmutzler Tel (09 31) 41 70-4 88 Fax -4 94tschmutzlerdatam-servicesde wwwdatam-servicesdeerscheinungsweise 24 Hefte im Jahr (plus Sonderhefte)

Verbreitete auflage 40009 Exemplare (IVWEDA Audit Oktober 2011)Angeschlossen der Informationsgemeinschaft zur Feststellung der Verbreitung von Wer-betraumlgern Sicherung der AuflagenwahrheitBezugspreis Einzelheft 900 EUR Abonnement Inland jaumlhrlich 19700 EUR inkl MwSt

Abonnement Ausland jaumlhrlich 22820 EUR (Luftpostzuschlag extra) Alle Abonnementpreiseverstehen sich einschlieszliglich Versandkosten (EG-Staaten ggf +7 USt)Bezugsmoumlglichkeiten Bestellungen nehmen der Verlag und alle Buchhandlungen im In- undAusland entgegen Sollte die Fachzeitschrift aus Gruumlnden die nicht vom Verlag zu vertretensind nicht geliefert werden koumlnnen besteht kein Anspruch auf Nachlieferung oder Erstattungvorausbezahlter Bezugsgelder Abbestellungen von Voll-Abonnements sind jederzeit moumlglichBankverbindungen HypoVereinsbank Wuumlrzburg (BLZ 790 200 76) 326 212 032SWiFt-Code HY VED EMM 455 IBAN DE65 7902 0076 0326 2120 32Herstellung Andreas Hummel Tel (09 31) 4 18-28 52Frank Schormuumlller (Leitung) Tel (09 31) 4 18-21 84druck Vogel Druck und Medienservice GmbH 97204 Houmlchbergerfuumlllungsort und gerichtsstandWuumlrzburgManuskripte Fuumlr unverlangt eingesandte Manuskripte wird keine Haftung uumlbernommenSie werden nur zuruumlckgesandt wenn Ruumlckporto beiliegtinternet-adresse wwwelektronikpraxisde wwwvogeldedatenbank Die Artikel dieses Heftes sind in elektronischer Form kostenpflichtig uumlber dieWirtschaftsdatenbank GENIOS zu beziehen wwwgeniosde

VeRLagSBuumlRoSVerlagsvertretungen inLand Auskunft uumlber zustaumlndige VerlagsvertretungenJens Otte Tel (09 31) 4 18-26 47 Fax (09 31) 4 18-28 57 jensottevogeldeaUSLand Belgien Luxemburg Niederlande SIPAS Peter Sanders Sydneystraat 105 NL-1448NE Purmerend Tel (+31) 299 671 303 Fax (+31) 299 671 500 petersandersvogeldeFrankreich DEF amp COMMUNICATION 48 boulevard Jean Jauregraves 92110 ClichyTel (+33) 14730-7180 Fax -0189groszligbritannien Vogel Europublishing UK Office Mark Hauser Tel (+44) 800-3 10 17 02Fax -3 10 17 03 markhausercomcastnet wwwvogel-europublishingcomUSaCanada VOGEL Europublishing Inc Mark Hauser 3321 Ashbourne CircleSan Ramon CA 94583 Tel (+1) 9 25-6 48 11 70 Fax -6 48 11 71

Copyright Vogel Business Media GmbH amp Co KG Alle Rechte vorbehalten Nachdruck digitale Verwendung jederArt Vervielfaumlltigung nur mit schriftlicher Genehmigung der Redaktion Fotokopieren veroumlffentlichter Beitraumlge istgestattet zu innerbetrieblichen Zwecken wenn auf jedes Blatt eine Wertmarke der Verwertungsgesellschaft WortAbt Wissenschaft in 80336 Muumlnchen Goethestraszlige 49 nach dem jeweils geltenden Tarif aufgeklebt wird Nachdruckund elektronische Nutzung Wenn Sie Beitraumlge dieser Zeitschrift fuumlr eigene Veroumlffentlichung wie Sonderdrucke Websi-tes sonstige elektronische Medien oder Kundenzeitschriften nutzen moumlchten erhalten Sie Information sowie dieerforderlichen Rechte uumlber httpwwwmycontentfactoryde (09 31) 4 18-27 86

Impressum

EDA

Wuumlrzburg 19 ndash 20 Juni 2012Vogel Convention CenterVCC

wwwsteckverbinderkongressde

Anwender sprechenmit Herstellern

Kongress und Tabletop-Ausstellung

Programm Unter wwwsteckverbinderkongressdefinden Sie die ausfuumlhrliche Agenda

Keynote Herausforderung Miniaturisierung ndash ZukuumlnftigeAnforderungsprofile bei Steckverbindern

Themen Applikationsspezifische Steckverbinder Kompakt-Steckverbinder fuumlr hohe Datenraten

Miniaturisierung Intelligente Steckverbinder Steckverbinder fuumlr besondere Anwendungen Qualifizierung Werkstoffe Verarbeitungsprozesse

Workshops Umspritzen von Kabeln Abdichten von Steckverbindungen Messtechnik Thermosimulation Design-in 3-D-Modellierung Schadensanalytik Beschichtungsverfahren

Aumlnderungen vorbehalten

Saumlmtliche Informationen zur Veranstaltung finden Sie unter---gt wwwsteckverbinderkongressde

Veranstalter

in Zusammenarbeit mit den Industriepartnern

07908

Alle Informationen unter wwwese-kongressde

Hauptsponsoren 2012 Veranstalter

20123ndash 7 Dezember 2012 in Sindelfingen

bdquoWissen ist das einzige Gutdas sich vermehrtwenn man es teiltldquo

(Marie Freifrau von Ebner-Eschenbach oumlsterreichische Schriftstellerin)

ESE Kongress ndash Ideen entwickeln Profis treffen Loumlsungen findenDer Embedded Software Engineering Kongress mit uumlber 800 Teilnehmern ist die groumlszligte deutschsprachigeVeranstaltung die sich ausschlieszliglich der Entwicklung von Geraumlte- Steuerungs- und Systemsoftware fuumlrIndustrie Kfz Telekom sowie Consumer- und Medizintechnik widmet Vom 3 bis 7 Dezember trifft sichdie Embedded-Software-Branche wieder in Sindelfingen ndash wir freuen uns auf Sie

Aussteller und Sponsoren 2012Axivion BBV Software Services dSPACE EASYCODE ELEKTRONIKPRAXIS emlix ETAS Fraunhofer IESEGreen Hills Software Hitex IAR Systems IMACS Infineon Intland Software iSYSTEM Lauterbach LDRALogic Technology linutronix macio MicroConsult National Instruments Noser Engineering Parasoftpls Programmierbare Logik amp Systeme Protos pure-systems QA Systems QNX Software Systems SafeTRANSseppmed Software Quality Lab SparxSystems Vector Informatik Vector Software Verifysoft Technology WillertSoftware Tools Zuumlhlke

Seit 30 Jahren vertrauen weltweit fuumlhrende Firmen Green Hills Softwarersquos sicherer undzuverlaumlssiger Software fuumlr sicherheitskritische Systeme

Fuumlr Luftfahrt- und Automobilindustrie fuumlr Telecom- Medizin- und Industrietechniksowie fuumlr intelligente Energienetze hat Green Hills Software erprobte und zuverlaumlssigeTechnologie geliefert

Wenn Sie wissen moumlchten wie eines der weltweit sichersten und zuverlaumlssigstenBetriebssysteme und dessen Entwicklungstools das Risiko aus Ihrem naumlchstenProjekt nehmen kann besuchen Sie uns unter wwwghscoms4e

Copyright copy 2012 Green Hills Software Green Hills Software and the Green Hills logo are registered trademarks ofGreen Hills Software All other product names are trademarks of their respective holders

Vertrauenswuumlrdige softwarefuumlr embedded deVices

safereliable

secure

  • Seite 1
  • Seite 2
  • Seite 3
  • Seite 4
  • Seite 5
  • Seite 6
  • Seite 7
  • Seite 8
  • Seite 9
  • Seite 10
  • Seite 11
  • Seite 12
  • Seite 13
  • Seite 14
  • Seite 15
  • Seite 16
  • Seite 17
  • Seite 18
  • Seite 19
  • Seite 20
  • Seite 21
  • Seite 22
  • Seite 23
  • Seite 24
  • Seite 25
  • Seite 26
  • Seite 27
  • Seite 28
Page 9: Securityineingebetteten Softwaresystemenfiles.vogel.de/vogelonline/vogelonline/issues/ep/2012/...Securityineingebetteten Softwaresystemen Angreifer nehmen Industriesteuerungen,Stromnetzeund

10

Softwareentwicklung SoftwareSicherheit teil 2

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Die drei Gesichter der SicherheitIm zweiten Teil unserer Serie fassen wir einige Meinungen von

Experten des vergangenen ESE Kongresses zum Thema Security zu-sammen Im Mittelpunkt stehen dabei unbefugte Zugriffe oder die

gezielten Angriffe auf Embedded-Systeme

PETER SIwON uNd ALEXANdER SEdLAK

Peter Siwon ist Business Development Manager beim Schu-lungs- und Consulting-Spezialist MicroConsult inMuumlnchen und

Embedded-Systeme sind stets Software-und Hardwarekomponenten die inVerbindung mit Sensoren und Aktua-

toren in umgebende technische Systeme in-tegriert sind umkomplexe Steuerungs- undDatenverarbeitungsaufgaben zu uumlberneh-men Die Sicherheit im allgemeinen Sinne

bezeichnet einen Zustand der frei von un-vertretbaren Risiken ist Das wird in derNorm IEC 61508 so definiert Safety oderfunktionale Sicherheit bedeutet in diesemZusammenhang dass ein System in den zuerwartendenSituationenundZustaumlndenbeiordnungsgemaumlszliger Nutzung keine koumlrperli-chen oder finanziellen Schaumlden verursachtSecurity koumlnnte man demnach so genauerdefinieren Die Betriebs- und Datensicher-heit darf durch aumluszligere Einfluumlssenicht gestoumlrtoder gar verhindert werden Security hat ei-ne doppelte Bedeutung Einerseits sorgt siedafuumlr dass die Betriebssicherheit erhalten

bleibt andererseits versteht man darunterdieGesamtheit derMaszlignahmen umein Sys-tem nach auszligen zu schuumltzen Das unter-streicht sowohl die Abgrenzung dieser Be-griffe zeigt aber auch wie eng sie zusam-menhaumlngenNebenderWahl geeigneter Softwarearchi-

tekturen und Programmiermethoden spieltbei der Security oftmals die Gestaltung oderAuswahl derHardware eine bedeutendeRol-le Es handelt sich um Hightech im Verbor-genenmit derenHilfe produkt- und system-spezifische Eigenschaften uumlberhaupt erstrealisiertwerdenkoumlnnenAls Beispiele seienhier Fahrerassistenzsysteme mobile medi-zinischeGeraumlte undAutomatisierungssyste-me genannt Wichtige Stichwoumlrter in demZusammenhang sind die Gestaltung von In-terfaces Netzstrukturen oder schlicht dersichere Einbau einer Komponente

wuumlrmer Viren amp Co ndash Schutzvor gezielten AngriffenIn seinem Vortrag Sichere Netze der Zu-

kunft auf demESEKongress 2011 definierteProf Dr-Ing Hans-Joachim Hof von derHochschule Muumlnchen den Begriff pragma-tisch Die Security ist der Schutz vor geziel-temundhoumlchstwahrscheinlich auchboumlswil-ligemHandelnmit demZiel VertraulichkeitIntegritaumlt oder Authentizitaumlt zu erreichenDas kann sich in der Realitaumlt als nicht ganzeinfach erweisen daman zumZeitpunkt derProjektierung in der Regel nicht weiszlig wel-cher Art von Angriff ein System irgendwannausgesetzt sein wird Besonders bei aumllterenSystemenkann sichdas als geradezudrama-tische Gefahr erweisen Prof Dr Hof sprichthier ganz plastisch von der Goumltterdaumlmme-rungder IT-Sicherheit EinBild daswirklichpasst denn das Vertrauen auf sichere IT-Komponenten Embedded-Systeme undAumlhnliches grenzt oft wirklich an ein sagen-haftesGottvertrauen FrappierendesBeispielhierfuumlr ist der Computerwurm Stuxnet der2010 fuumlr groszligeUnruhe und Schaumlden verant-wortlich war Stuxnet war in einer Weiseaktiv die bis dahin imGrunde als nichtmoumlg-

ExpertenmeinungenWie lassen sich Embedded-Systeme vor unbefugtem Zugriff oder gezielten Angriffenschuumltzen

BilderG

erdaltm

annpixeliode

Alexander Sedlak ist als freier Autor taumltig

Softwareentwicklung SoftwareSicherheit teil 2

lich galt Der Wurm konnte Grenzen physi-kalisch getrennterNetze uumlberspringen Stux-net zielte vermutlich erfolgreich auf eineUrananreicherungsanlageWegendeshohenSchutzbedarfs von Atomanlagen schien soeinAngriff bis dahin schlicht nichtmoumlglichDen aktuellen Moumlglichkeiten des technischMachbaren druumlckte Stuxnet damit seineneigenen Stempel auf Eine optimierte Be-triebssicherheit wie im Beispiel der Atom-anlagewurdemangels ausreichender Secu-rity zum Sicherheitsrisiko

Der menschliche FaktorWenn Hacker aktiv werdenBedrohungen durch Hacker stellen die

Entwickler vonEmbedded-Systemenvor zu-nehmendeHerausforderungenDieReferen-ten des Schweizer Kommunikations- undTechnikdienstleisters Albis Technologiesstellten imVortrag EmbeddedSecurityHa-ckern einen Schritt voraus zunaumlchst diezunehmende Vernetzung von Embedded-Systemen heraus Und obwohl dadurchme-chanischeBarrieren zwischendenSystemenimmermehrwegfallen beruht die Sicherheitparadoxerweise haumlufig auf physikalischerSicherheit und weniger auf Cyber-Securityoder Informationssicherheit Und das ob-wohl es gerade in Infrastrukturnetzen wiezumBeispiel der aktuell diskutierten intelli-gentenStromversorgung vongroszliger Bedeu-tung ist dass die vernetzten Komponentenautonom ohne Benutzereingaben und vorunbefugten Zugriffen geschuumltztmiteinanderkommunizieren koumlnnenWas koumlnnte die Loumlsung sein Die Referen-

ten stellten ein Modell Hardware-basierterIT-Sicherheitsarchitektur fuumlr Embedded-

Systeme indenRaum InderenZentrumstehtein Security Controller oder ein Trusted-Platform-Modul also ein sicherer Speicherfuumlr digitale Schluumlssel Dieses dient dazu ei-ne Art Zentrum fuumlr kryptografische Operati-onen zu bilden Das Modul muss an den lo-kalenComputer gebunden seinundnicht aneinen bestimmten Benutzer Es ist dann un-moumlglich das Trusted-Platform-Modul entge-gen den Interessen des Eigentuumlmers zu nut-zen sofern dieser Beschraumlnkungen festge-legt hat eine Basis fuumlr die sichere Kommu-nikation der Netzteilnehmer Es kanngelingen beispielsweise aus einem Embed-ded-Geraumlt mit angepasster Software und ei-nem entsprechenden Betriebssystem einevertrauenswuumlrdige Plattform zumachenIntelligente Stromnetze auchSmart Grids

genannt erfordern fuumlr die Ermittlung desindividuellen Strombedarfs unddie korrekteAbrechnungdieVerwendung ebenso intelli-genter Verbrauchszaumlhler der sogenanntenSmartMeterHier gibt es zahlreiche Szenari-en die boumlswilliges Eindringen mit Betrugs-absicht ermoumlglichen Erschwerend ist dieLiberalisierung des Strommarktes Zahlrei-cheKlein- undKleinststromlieferantenndashausWasserkraft oder Photovoltaikanlagen ndashspeisen in die Netze ein Letztlich alles Ein-fallstore fuumlr moumlgliche Angriffe zum Zweckder kriminell motivierten ManipulationAuch vor diesemHintergrund erarbeitet dasBundesamt fuumlr Sicherheit in der Informati-onstechnik (BSI) gemeinsam mit Industrie-partnern fuumlr Smart Meter ein neuartigesSchutzprofil Es strukturiert Bedrohungenund legt damit die Mindestanforderungenfest die Sicherheitsmaszlignahmen erfuumlllenmuumlssen Ziel ist dabei eine Zertifizierung von

Produktennachdefinierten SchutzkriterienDas vondenPartnern erarbeitete Schutzpro-fil 3 definiert ein anhand gemeinsamerKriterien festgelegtes Security Modul fuumlralle kryptografischen Operationen

Kryptologie ndash Software solltenicht zu knacken seinBei der Entwicklung von Embedded-Sys-

temen koumlnnen durch den Einsatz von kryp-tologischen Verfahren viele Prozesse sicheroder zumindest sicherer gemacht werdenReinhard Wobst (UNIX Software) hat in sei-ner Funktion als Softwareentwickler festge-stellt dassmit groszliger Regelmaumlszligigkeit immerwieder die gleichenFehler bei der Implemen-tierung von Kryptologie gemacht werdenWaumlhrend seines Vortrags auf dem ESE Kon-gress erklaumlrte erwarumundwie es Eindring-lingen oft unnoumltig leicht gemacht wird SogehenSoftwareentwickler haumlufig davonausdass niemand die von ihnen entwickeltenAlgorithmen knacken kann Das Gegenteilist der Fall Ein gaumlngiges Mittel ist etwa das

AURIX - Over 5 years of High-Speed Serial Tracingmakes the difference

Tracing Serial High-Speed of years 5 Over - AURIX Tracing Serial High-Speed of years 5 Over - AURIXdifference the makes difference the makes

wwwlauterbachcom1653

Psychologische Sicherheitsluumlcke Irren ist mensch-lich ndash sowohl auf Entwickler- wie auf Anwenderseite

12

Softwareentwicklung SoftwareSicherheit teil 2

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Microconsult Qualitaumlt und Sicherheit

teil 1 der Serie Die drei Gesichter derSicherheit

InfoClick

wwwelektronikpraxisde infoclick 3343156

Schreiben unklaren oder scheinbar verwor-renen Codes Doch gerade bei der heutigenVernetzungwird jedesVerfahren fruumlher oderspaumlter bekannt Interessant ist die auch vonWobst formulierte Erkenntnis dass derSelbsttest eines eigenentwickeltenAlgorith-musmoumlglicherweise zu demErgebnis fuumlhrtdass es nicht einmal dem urspruumlnglichenProgrammierer gelingt ihn zuknackenAberdieWirklichkeit sieht leider anders aus Je-der kann einenAlgorithmus entwickeln dener selbst nicht brechen kann aber es gehtdarum dass ihn andere nicht brechen koumln-nen[1]Letztlich siehtmanes einemAlgorithmus

auchwenner noch soobskur erscheint nichtan ob er nun sicher ist oder nichtWobst raumltseinen Entwicklerkollegen konservativ zuseinundbekannteundaltbewaumlhrteAlgorith-menundMethoden zunutzenDas ForschennachSicherheit solle denForschernuumlberlas-sen werden Anhand zahlreicher Beispielebelegte Reinhard Wobst wie schnell es ge-schehen kann dass ein SoftwareentwicklerGuteswollenddas Falsche tut bzw dasRich-tige nicht richtig macht Und er zeigte auchdie Grenzen auf die selbst einer perfekt im-plementierten Kryptologie gesetzt sind wiedenial of service Attacken oder der immererfolgversprechende Versuch das stetsschwaumlchste Element eines Walls von Maszlig-nahmen fuumlr die Sicherheit zu instrumentali-sieren den User selbst So kam Wobst beiseinem Vortrag zu der Schlussformel dassgesunderMenschenverstandniemals hinterFormalismenverschwindendarf Fuumlr dieRe-alisierung von Sicherheit gilt immer dassetwas Sicherheit besser ist als gar keine

Qualitaumlt und houmlchstmoumlglichesSicherheitsniveau fuumlr SoftwareWie real die Risiken von Angriffen auf

Embedded-Systeme sind zeigte Lucas vonStockhausen vonHewlett-Packard in seinemVortrag Mehr Sicherheit fuumlr EmbeddedCode amBeispiel einer Manipulation einerhandelsuumlblichen Insulinpumpe Es seimoumlg-

lich durch Umgehen von Restriktionen dieInsulindosis die eine solchePumpeautoma-tisch verabreicht aus einer Entfernung von100 m und voumlllig unbemerkt zu veraumlndernDamit koumlnnemaneinemDiabetiker jederzeiteine Uumlberdosis Insulin injizieren Diese Ge-fahr mag konstruiert erscheinen fuumlr denPumpenhersteller und fuumlr den Patienten istsie aber sehr real undhoumlchst bedrohlichDasBundesministerium fuumlrWirtschaft undTech-nologie stellte bereits 2010 eine zunehmendeund alarmierende Professionalisierung vonAngriffen fest Dabei berichten die Medienmeist nur uumlber die spektakulaumlrstenFaumlllewiezumBeispiel denbereits erwaumlhntenStuxnet-Wurm der fuumlr den Einsatz auf industrielleZiele optimiert wurde

Die psychologischenSicherheitsluumlckenViele Angriffe sind weniger spektakulaumlr

doch kaum weniger gefahrenvoll Geradeuumlberraschende Angriffsszenarien auf Em-bedded-Systeme zeigen wie schwierig essein kann schon inder Softwareentwicklungvorauszusehenwie ein spaumltererAngriff aus-sehen kann Aus diesem Grund spielt diesichere Softwareentwicklung der sichereCode eine entscheidende Rolle Angesichtsdes rasanten Fortschritts der von zuneh-mendemZeit- Konkurrenz- undErfolgsdruckzuverlaumlssig begleitetwirdmussnebenQua-litaumltsforderungen auch das houmlchstmoumlglicheSicherheitsniveau realisiert werdenBei Embedded-Software erfolgt eine ver-

besserte Zugangssicherheit uumlber Software-Updates sagte Prof Dr-Ing Hans-JoachimHof Daraus ergeben sich gleichermaszligenAufgaben fuumlr die Entwicklung von Soft- undHardware In puncto Hardware werden si-chere Interfaces undUumlbertragungsprozedu-renbenoumltigt Die Softwaremuss so aufgebautsein dass sie autorisiert korrigiert aber nichtohne Autorisierung manipuliert werdenkann Das Motto Verbauen und Vergessengehoumlrt damit derVergangenheit anNicht zuvergessen sinddie psychologisch bedingten

Sicherheitsluumlcken zudenenPeter SiwonvonMicroConsult in seinem Seminar bdquoIrren istmenschlichldquo Beispiele nannte Und das so-wohl auf Entwickler-wie aufAnwenderseiteUnter hohem Zeitdruck neigt man dazu Si-cherheitsregeln zu brechen Menschen neh-men dann houmlhere Risiken in Kauf um denStress loszuwerden Stresshormone schraumln-kenunsere Faumlhigkeit ein uumlber die langfristi-gen Folgen unseres Verhaltens nachzuden-ken Zudem leide unser Qualitaumltsbewusst-sein unter dem Beduumlrfnis den bdquoSchmerzldquoloszuwerden Beides zusammen stellt eineexplosive psychologische Mischung darWichtige Voraussetzungen fuumlr Security wiebeispielsweise umfassende Tests fallen un-ter den Tisch Eine weitere Sicherheitsluumlckeentsteht durch Denkfaulheit Um unser Ge-daumlchtnis zu entlasten greifen wir nicht nurbei Passwoumlrtern auf altgewohnte oder beque-me Denk- und Verhaltensmuster zuruumlckThomas Batt beim Training- und Consul-

tingspezialistenMicroConsult zustaumlndig fuumlrSoftware Engineering Management ziehtfolgendesResuumlmee bdquo(Horror-)Szenarien beidenenEmbedded-Systemedurch aumluszligereAn-griffe manipuliert werden oder bei denensogar die komplette Kontrolle uumlbernommenwird sind keine Hollywoodphantasien Wirsindheute von einer rasantwachsendenZahlvonEmbedded-Systemenumgebenundver-lassen uns darauf dass Herstellerfirmen siezugangs- undangriffssicher entwickeln tes-tenundproduzierenDochTatsache ist dassfuumlr den groumlszligten Teil des Embedded-Marktesdie Qualitaumltsmerkmale Zugangs- und An-griffssicherheit noch Neuland sind DieseQualitaumltsmerkmalemuumlssen sich kuumlnftigwieein roter FadendurchdengesamtenEntwick-lungs- und Produktionsprozess der Produk-te ziehen Dazu benoumltigen wir geeigneteMethoden - insbesondere fuumlr denTest - sowieunterstuumltzende Tools Standards und Zerti-fizierungen Doch selbst mit noch so hoch-entwickelten Maszlignahmen koumlnnen wir dieRisiken nur minimieren nicht aber voumllligausschlieszligenldquo hEh

MicroConsult +49(0)89 45060

Quellennachweis[1] B Schneier Memo to the Amateur Cipher

Designer

Zugriffs- und AngriffssicherheitDie Betriebssicherheit ist im groszligenMaszlige vom Schutz vor unbefugtem Zu-griff oder gezieltem angriff abhaumlngigBei der Security spielt oft die Gestaltungund auswahl der hardware eine bedeu-tende rolle Zu den feinden von embed-ded-Systemen zaumlhlen Viren wuumlrmer undhacker die auf die Systeme zugreifen

und sie manipulieren Mit geeignetenSchutzmaszlignahmen wie Kryptologie undentsprechender Programmierung lassensich embedded-Systeme sicherer gestal-ten Nicht zu vergessen sind auch diepsychologisch bedingten Sicherheits-luumlcken ndash denn auch der Programmiererselbst stellt ein Sicherheitsrisiko dar

13

EmbEddEd SoftwarE Aktuelles

ELEKTRONIKPRAXIS embedded software engineering Report Juni 2012

InfoClick 3371268

embedded-softwAReentwicklung

analysewerkzeug Goanna pruumlft Software auf potenzielle LaufzeitfehlerDas Karlsruher Entwicklungs-haus Hitex hat die Version 272des Analysewerkzeugs Goannaveroumlffentlicht Das Tool pruumlft inCC++geschriebenenCodenachmathematischenMethoden umUrsachen fuumlr Laufzeitfehler auf-zuspuumlren In der aktuellenVersi-on 272 finden sich vor allemDetailverbesserungen wie er-leichterteKonfigurierbarkeit DieKonfigurationsvarianten bdquoQuickCheckldquo und bdquoDeep Checkldquo sindvordefiniert Auszligerdem wurdendieAnalysemethodenbeschleu-nigt und praumlziser gestaltet An-

feruumlberlaumlufe die Zerstoumlrung vonSpeicherinhalten Divisionendurch Null Zugriffe mit unguumllti-gem Index und aumlhnliche Proble-me Die Analyse uumlberschreitetdabei nicht nur Funktions- son-dern auch Dateigrenzen DasSoftwarewerkzeug soll einfachinstallierbar sein und sich nachwenigen Minuten einsetzen las-sen Goanna ist in einer Kom-mandozeilenversion (GoannaCentral) sowie alsAdd-On fuumlr dieweit verbreiteten Entwicklungs-umgebungen Visual Studio vonMicrosoft sowie EclipseCDT

(Goanna Studio) verfuumlgbarGoannaCentral undGoannaStu-dio fuumlr Eclipse sind fuumlrWindowsundLinux verfuumlgbar DieVersionfuumlrVisual Studiounterstuumltzt nurWindows Beide Versionen gibtes als rechnergebundene oderals Floating-Lizenz Es gibt eineeine permanente Lizenzmit dreiJahrenSupport und eine zeitlichbegrenzten Lizenz fuumlr ein Jahrmit der Option auf zeitliche Ver-laumlngerung fg

Hitex

hand mathematischer Modelleund derMethode der abstraktenDatenwertverfolgung kannGoanna problematische Konst-rukte ermitteln die zur Laufzeitder Software zu Fehlern fuumlhrenDazu zaumlhlen Speicherlecks Puf-

Schnelles Android XobotOS ist eineAndroid-Variante die auf einer offe-nen Implementierung von MicrosoftsNET-Architektur basiert InfoClick 3348889

smARtphone-betRiebssystem

android-Klon auf NEt-basis koumlnnte legale Untiefen umschiffenXamarin bietet Entwicklungs-werkzeugen fuumlr Android undApples iOS Das zentrale Themades Unternehmens ist die platt-formuumlbergreifendeProgrammie-rung von Apps fuumlr die beidenwichtigsten Betriebssysteme fuumlrMobilgeraumlte Als Entwicklungs-plattformdient dabeiMono einefreie Implementierung von Mi-crosofts NET-TechnikWichtigs-te Komponente vonMono ist einefreie Variante der NET-Laufzeit-umgebung CLR (Common Lan-guageRuntime) die zunaumlchst fuumlrLinux entwickelt wurde und

NET-Programme unter Linuxausfuumlhrte DaAndroid auf LinuxbasiertwurdeMono fuumlr dasmo-bile Betriebssystem von Googleumgesetzt Inzwischen gibt eseine Version namens Mono-Touch fuumlr Apples iOS Mit HilfevonMonoundMonoTouch ist esmoumlglich groszlige Teile des Appli-kationscodes wiederzuverwen-den wenn eine App sowohl fuumlriOS als auch fuumlr Android entwi-ckelt wurde XobotOS ist einAndroid-Klon bei demdie in Ja-va geschriebenen Codekompo-nenten inCuumlbertragenwurden

Diemomentan stattfindende ge-richtliche Auseinandersetzungzwischen Oracle als Inhaber derJava-Rechte und Google um an-gebliche Urheberrechtsverlet-zungen koumlnnte auszligerdem dafuumlrsorgen dass XobotOS kein For-schungsprojekt bleibt Das NET-Framework bietet alternativeImplementierungen fuumlr die Pro-grammierschnittstellen die zwi-schen Google undOracle strittigsind fg

Xamarin

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

EmbEddEd-SyStEmE SoftwaRE-DESign

14

TITELSTORyin juumlngster Zeit haben namen wieStuxnet und Duqu Eingang in unserenwortschatz gefunden Solche Schad-programme feuern unerbittliche atta-cken auf die Sicherheit eingebetteterSysteme Darunter sind auch SCaDa-Systeme (Supervisory Control andData acquisition) die industrieanla-gen Verkehrsnetze oder Kraftwerkeuumlberwachen und steuernManche Entwickler eingebetteterSoftware meinen zwar dass die Ebe-ne des Systems Engineering oder dieHardware fuumlr die Systemsicherheitzustaumlndig sein sollte Viele attackennuumltzen aber Schwachstellen in denanwendungen aus Und diese Luumlckengilt es im anwendungsdesign und derProgrammierung zu vermeiden

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

Siem

ens-PressebildPSD

graphics

15

EmbEddEd-SyStEmE Software-DeSign

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Security-Grundlagen fuumlrEmbedded-Software

Schutzmaszlignahmen auf der Betriebssystem- und Hardwareebene ge-gen Hackerangriffe sind keineswegs perfekt Daher muumlssen Entwickler

selbst gegen Schwachstellen der Embedded-Software vorgehen

DAvID KALINSKy

David Kalinsky ist Berater Trainer und Dozent fuumlrEchtzeit- und Embedded-Programmie-rung in SunnyvaleKalifornien (USA)

Entwickler eingebetteter Software spie-len das Security-Thema manchmalherunter und sagen bdquoUnserGeraumltwird

nie mit dem Internet oder einem anderenexternen Kommunikationsnetz verbundensein Wir sind gegen Angriffe immunldquo Dasist leider nicht wahr Erlauben Sie mir einGegenbeispielViele Geraumlte nutzen Analog-zu-Digital-

Konverter (ADC) zur Sammlung von DatenDieADCswerden regelmaumlszligig abgefragt unddieApplikation speichert dieDatenpakete ineinemArrayDieApplikation verarbeitet spauml-

ter diesen Daten-Array Aber ein Angreiferkoumlnnte dies aus einem ganz anderen Blick-winkel sehen etwa so bdquoWas wuumlrde passie-ren wenn ich den ADCmit elektrischen Sig-nalen fuumlttere die einer exaktenhexadezima-len Darstellung des Codes eines Schadpro-grammsentsprechenldquoAuf dieseWeise kannder Angreifer seine Software in Ihren Rech-ner einschleusen Ein Netzwerk oder dasInternet ist dafuumlr nicht noumltig

Angreifer brauchen nicht immerein externes NetzwerkDer Angreifer koumlnnte nun darauf setzen

dass Ihre Software die ADC-Daten in einemStapelspeicher (Stack) sichert (vielleicht in-demSie alloca() odermalloca() verwenden)Wenn er Gluumlck hat koumlnnte er einen Array-Uumlberlauf verursachen vielleicht indem er

den Hardware-Timer manipuliert der dieADC-Abfrage steuertEin typischer Stack ist auf der folgenden

Seite oben links abgebildet Wenn der An-greifer einen Array-Uumlberlauf verursachtkoumlnnte der Stack korrumpiert werden wiedas Schema rechts daneben zeigt BeachtenSie dass dieRuumlcksprungadresse imStack aneiner Position gespeichert wurde die hinterdem Ende des Arrays lagWenn der Angreifer die Korrumpierung

richtig plant wird der Uumlberlauf den Ort imStack erreichen an dem die aktuelle Ruumlck-sprungadresse gespeichertwurdeDas kanndazubenutztwerden umandiesemPlatz imStack einenZeiger auf den eigenenCode ein-zuschleusenWenn Ihr CodedieRuumlcksprung-adresse benutzt geht die Steuerung auf denCode des Angreifers uumlber

Siem

ens-Pressebild

16

EmbEddEd-SyStEmE Software-DeSign

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Simpel aber effektiv Die Grafik links zeigt den gewoumlhnlichen Aufbau eines Speicherstacks In der rechtenGrafik ist der Stack nach einem Array-Uumlberlauf korrumpiert Boumlsartiger Code kann ausgefuumlhrt werden

DavidKalinsky

Das wird als bdquoStack Smashingldquo-Attackebezeichnet BeachtenSie dass sie in diesemBeispiel voumlllig ohne Internetzugangundoh-ne Verbindung zu einer externen Datenlei-tung ausgefuumlhrt wurde

Design-Grundlagen fuumlr sichereEmbedded-SoftwareBeim Design eingebetteter Software koumln-

nen Entwickler die Sicherheit verbessernindem sie einige Grundsaumltze beachten1 Misstrauische AufteilungTeilen Sie die Funktionalitaumlt Ihrer Software

in Bloumlcke auf die sich gegenseitig nicht ver-trauen um die Angriffsfenster in jedemBlock zu verkleinern In der Embedded-Soft-ware nennen wir diese Bloumlcke oft Prozesseoder Subsysteme oder CSCIsEntwerfen Sie jeden Block unter der An-

nahme dass Softwarebloumlcke mit denen erinteragiert angegriffen wurden VertrauenSie denErgebnissender interagierendenBlouml-cke nicht Geben Sie Ihre Daten nicht uumlbergemeinsamen Speicher fuumlr andere Bloumlckefrei BenutzenSie stattdessenMechanismender Interprozesskommunikation wie Mes-sage Queues des Betriebssystems Socketsoder TIPC (Transparent Inter Process Com-munication) Pruumlfen Sie die Inhalte die SieerhaltenAls Resultat dieser Politik der misstraui-

schen Aufteilung faumlllt nicht das gesamteSystem in die Haumlnde eines Angreifers wennein einzelner Softwareblock kompromittiertwurde

bdquoUm feindlichen Code in ein Embedded-System einzuschleu-sen ist nicht unbedingt eine Verbindung zum Internet oder zu

einem anderen externen Netz noumltigldquoDavid Kalinsky

2 Trennung der PrivilegienHalten Sie den Teil Ihres Codes der mit

speziellen Rechten ausgestattet ist moumlg-lichst klein Wenn der Angreifer in Softwareeinbricht die mit hohen Privilegien ausge-fuumlhrt wird dann kann der Angreifer eben-falls mit hohen Privilegien operieren Dasgibt ihm ein extrabreites Angriffsfenster inIhr SystemVermeidenSie also dassAnwendungssoft-

ware im Kernel-Modus oder Master- Modusoder Supervisor-Modus laumlufthellip oder wie dasin Ihrer jeweiligen CPU-Architektur heiszligenmag Uumlberlassen Sie diesen Modus dem Be-triebssystem Lassen Sie Ihre Software nurim User-Modus laufen Dadurch wird IhreCPU-Hardware darauf verpflichtet das An-griffsfenster in Ihrer Software zu limitieren3 Loumlschen Sie sensitive InformationenLoumlschenSie jedewieder verwendbareRes-

source wenn Sie sie freigeben Wenn Sieeine Ressource freigegeben haben ndash sei esein Speicherpuffer oder ein Software-Hard-ware-InterfaceDatenregister ndash koumlnnte dernaumlchste Benutzer genau derselben Ressour-ce einAngreifer sein Angreifer auf eingebet-tete Systeme lieben es diese Ressourcen zusbquophishenrsquo genau wie Internet-Angreifer ger-ne sbquophishenrsquo Hacker waumlren bestimmt uumlber-gluumlcklich die Daten zu lesen die Sie imPuffer bearbeitet habenoder die andieHard-ware zur Ausgabe uumlbergeben wurdenDie meisten Dienste die Ressourcen in

Embedded-Umgebungen freigebenmarkie-ren die Ressourcen einfach als bdquoverfuumlgbarldquo

Sie lassendie alte Information stehen die inder Ressource enthalten ist Das geht sehrviel schneller als die Ressource explizit aufNull zu setzen Damit ist sie aber potenziellfuumlr andere Benutzer lesbarWenn also die Applikation mit einer Res-

source fertig ist liegt es an der Anwendungdie Freigabe vorzubereiten indemsie all die-se Elemente auf Null setztHeap-Puffer Speicherpool-Puffer Spei-cherpartitionssegmente Statisch zugewiesene Speicherpuffer Freigegebene Stack-Bereiche SpeichercacheDatei im DateisystemDatenregister fuumlr Hardware-InterfacesStatusregister Kontrollregister

Schwachstellen auf die manbeim Coding achten mussWaumlhrend der Programmierung koumlnnen

Entwickler die Softwaresicherheit verbes-sern indem sie eine Reihe bekannterSchwachstellen vermeiden1 PufferuumlberlaufMitweitemAbstand ist der Pufferuumlberlauf

die amweitesten verbreiteteGefahrenquellewenn man in der Sprache C programmiertEs kann ganz einfach sein ndash zum Beispiel indas Element mit der Nummer 256 eines256-teiligenArraysDatenhineinzuschreibenCompiler erkennen verbotene Pufferzu-

griffe nicht immer als Softwarefehler DaskannernsthafteKonsequenzenwiedie bdquoCodeInjectionldquo oder die bdquoArc Injectionldquo haben ndashbei letzterer aumlndert der Angreifer den Kon-trollfluss eines Programms indem er dieRuumlcksprungadresse auf dem Stack modifi-ziert Bei der bdquoArc Injectionldquo braucht derAngreifer nicht einmal Code einzuschleusenEr kann zu irgendeiner Funktion im existie-renden Code springen oder Guumlltigkeitspruuml-fungen oder Assertions uumlberspringenHier ein Beispiel fuumlr eine Pufferuumlberlauf-

Attacke Ein eingebettetes Geraumlt misst dieWassertemperatur in einem Schwimmbe-cken und zeigt die Zeitanteile als Histo-gramm an in denen das Wasser eine be-stimmteTemperatur hatte Der Softwareent-wickler baut einen Array mit 100 positivenIntegerzahlen bei denen jedes Element miteinerGradangabe inCelsius korrespondiertElement 0 fuumlr 0deg Element 1 fuumlr 1deg und soweiter Jedesmal wenn der Sensor die Was-sertemperaturmisst wird das entsprechen-deElement desArrays umdenWert 1 erhoumlhtUm ganz sicher zu gehen stattet der Ent-

wickler denTemperatur-Arraymit viel Spiel-raum aus Er uumlbersteigt den Temperaturbe-reich bei weitem den einmenschlicher Koumlr-per aushalten wuumlrde

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012 17

EmbEddEd-SyStEmE SoftwaRE-DESign

ohne Locks fuumlr Multicore-Systeme entwi-ckeln

Echtzeit-Software ohne Echtzeit-Betriebssys-tem programmieren

InfoClick

wwwelektronikpraxisde InfoClick 3337487

wwwyakinduderequirements+492319860606

bull Komplexe software inKuumlrzester zeit spezifizieren

bull anforderungen fehlerfreierfassen

bull abhaumlngigKeiten von diagram-men und modellelementenautomatisch darstellen

bull aufwaumlnde von aumlnderungenKennen bevor sie entstehendurch vollstaumlndigestracing

bull manager fachanwenderund entwicKler sprechenendlich von denselbendingen

yaKindu requirementsdie software fuumlr requirementsengineering und traceability

IHRNUTZEN

Bis eines Tages der Angreifer den Sensoraus demWasser nimmt und mit einem Feu-erzeug aufheizt Sobald der Sensor einenWert misst der 100deg uumlbersteigt verletzt dieSoftware fuumlr das Histogramm-Update eineSpeicheradresse die hinter dem Ende desTemperatur-Arrays liegt Wenn dort Datenliegen hat der Angreifer die Daten korrum-piert Steht dort Maschinencode dann hatder Angreifer die ausfuumlhrbare Software kor-rumpiert In jedemFall ist es ein schaumldlicherEingriff Bitte beachten Sie dass auch dafuumlrweder eine Internetverbindung noch eineVerbindung zu einem externen Netzwerknoumltig war Ein Feuerzeug genuumlgteWie koumlnnen wir Pufferuumlberlaumlufe vermei-

denDie Schwachstelle ist soweit verbreitetdass ein mehrstufiger Ansatz am besten istVerhindern Entdecken Heilen Im Beispielunseres Schwimmbeckens sollten Sie expli-zit pruumlfen dass keine Temperatur ermitteltwird die der von Eis (unter 0deg) oder heiszligemDampf (uumlber 100deg) entsprichtVerhindern Sie Pufferuumlberlaumlufe auch in-

dem Sie gefaumlhrliche Bibliotheksfunktionenvermeiden (wie gets()) und Vorsicht bei an-deren walten lassen (wiememcpy())

bdquoAnstreicherldquo-Methodeermittelt PufferuumlberlaumlufeEntdeckenSie Pufferuumlberlaumlufe indemSie

wie ein Anstreicher vorgehen Erweitern SiedenPuffer anbeidenEnden etwas Fuumlllen Siedie Erweiterungsbereiche mit ungewoumlhnli-chem Inhalt den ich bdquoAnstrichldquonenne zumBeispiel eine Falle in derMaschinenspracheIhres Prozessors Dann pruumlfen Sie den bdquoAn-strichldquo wiederholt zur Laufzeit Wenn derAnstrich uumlberschrieben wurde haben Sieeinen Pufferuumlberlauf entdeckt2 Tricksereien mit ZeigernWenneinAngreifer einenDatenzeigermo-

difizieren kann dann kann der Angreifernach eigenemGusto an jededenkbare Stelleverweisen Wenn ein Angreifer einen Funk-tionszeiger uumlberschreiben kann dann ist erauf einemgutenWeg seinenCode auf IhremProzessor auszufuumlhren3 Dynamische SpeicherzuweisungDie Verwendung dynamischer Speicher-

zuweisungen ist in vielen sicherheitskriti-schenSystemenwie der Luft- undRaumfahrtverbotenAngreifer sindheiszligdarauf solcheDefekte zu finden da sie eine guumlnstigeGele-genheit bieten die Sicherheit eines Embed-ded-Systems zu verletzenEin besonders empfindlicher Fehler ist es

die Pruumlfung zu unterlassen ob eineAnfragezur Speicherzuweisung erfolgreichwar odernichtMancheMechanismengebenanstelleeines Zeigers auf einen Speicherpuffer den

Wert Null aus wenn kein verfuumlgbarer Spei-cher mehr vorhanden ist Wenn die Anwen-dungssoftware diesen Nullwert als Zeigerbehandelt wird sie in einen Puffer hinein-schreiben der an der Speicheradresse NullbeginntViele Angreifer wuumlrden sich freuen wenn

Ihre Software dies taumlte Angreifer wissendass eingebettete Software oft eingeschraumlnk-te Speicherressourcen hat Sie setzen allesdaran den Speicher auszuschoumlpfen indemsie den Speicherzuweisungsmechanismusdazu zwingen mehr Speicher als sonst uumlb-lich zu belegen ndash vielleicht durch einge-schleusten Code der Speicherlecks enthaumlltSie koumlnnenauchversuchen IhrDatenabfra-gesystem mit houmlheren Datenmengen oderDatenraten zuuumlberflutenndash inderHoffnungdass dieDatenlawine Ihre Speicherkapazitaumlterschoumlpft Und dannWenn Ihre Software einen Speicherpuffer

anfragt aber die Pruumlfung unterlaumlsst ob dieZuweisung fehlgeschlagen istwird sie einenPuffer anderAdresseNull eroumlffnenundalleszertrampeln was vorher dort gewesen istWenn zumBeispiel die Flags fuumlr das Ein- undAusschalten von Interrupts an dieser Stellestehen koumlnnte dadurch die Verbindung derSoftware zudenHardware-Interfaces anderPeripherie unterbrochenwerdenDas koumlnn-te dazu fuumlhren dass Ihr System nicht mehrin die Hardware eingebunden ist FG

D Kalinsky Associates +1408 749 8562

Kleine Angriffsflaumlche Die perfekte Absicherunggegen Angreifer im Web gibt es nicht Wichtig ist esaber sich um die die gaumlngigen Schwachstellen zukuumlmmern

PikeResearch

18

SyStementwurf AudiodAten uumlbertrAgen

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Audiosignale drahtlosmit Licht uumlbertragen

Audiosignale mit maximal 48 kBits mit Laser oder High-Power-LEDuumlbertragen Wir stellen Ihnen eine Schaltung vor die Audiosignale in

groszligen Raumlumen mit hoher Funkbelastung sicher transportiert

IgOR ZImmERmANN

Igor Zimmermann ist Entwickler fuumlr Embedded-Systeme bei der Mixed Mode GmbH inMuumlnchen

Funkuumlbertragungen haben sich vor al-lem im privaten Umfeld in den letztenJahren durchgesetzt Allen voran im

Multimediabereich seien hier kabelloseKopfhoumlrer genannt oder dieWLAN-Uumlbertra-gung Um bei der digitalen Audiouumlbertra-gung zu bleiben Mit der Digitalisierung derMultimediadaten entstand das Beduumlrfnisdiese digitalenAudiodatendrahtlos zu trans-portieren Hier sind im Speziellen drei Fre-quenzbaumlnder relevantDas 24-GHz-Band mit Frequenzen von24 bis 25 GHzDas 5-GHz-Band mit Frequenzen von5725 bis 5875 GHz und das 433-MHz-Band mit Frequenzen von43305 bis 43479 MHz

Wenn sich die Frequenzbaumlnderuntereinander stoumlrenDie ersten beiden Frequenzbaumlnder sind

alle fuumlrAudio-Uumlbertragungsgeraumlte geeignetdie uumlberWLANoder Bluetooth senden Her-koumlmmliche Funkkopfhoumlrer und Funklaut-sprecher benutzen das Band mit 433 MHzAlle drei Frequenzbaumlnder koumlnnen frei be-nutztwerdenwas auchgleichzeitig ein Pro-blem darstellt So sendet im 24-GHz-Bandbeispielsweise dieMikrowellewaumlhrenddas433-MHz-Band von etlichen anderen Funk-verbindungen verwendet wird Durch diegemeinsame Nutzung koumlnnen gegenseitigeStoumlrungen auftretenEine Uumlbertragung mit Licht ist gegen Stouml-

rungen aus diesen Baumlndern unempfindlichAuch inUmgebungenmit starker Funkbean-spruchungkannauf dieseWeise eineAudio-Signaluumlbertragung erfolgen Ein weitererVorteil ist die Reichweite die bei einerUumlber-tragung mit Licht erreicht werden kann

Audiosignale uumlbertragenMit Licht lassen sich groszlige Entfernungen uumlberbruumlcken wobei die APU allessteuert (Illustration)

FotoKlickerpixeliode

Audiosignale drahtlos uumlbertragen Schematischer Aufbau der Schaltung mit Audio Processing Unit

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

Waumlhrend eineUumlbertragung indengenanntenISM-Baumlndern auf einige hundert Meter be-schraumlnkt ist koumlnnenmit Licht groszligeDistan-zen uumlberwunden werden

Schaltung uumlbertraumlgt drahtlosAudiosignale mit LichtIm folgenden wollen wir Ihnen eine neu-

entwickelte und bereits im realen Einsatzgetestete Schaltung vorstellen die drahtloseAudiosignale mit Licht uumlbertraumlgt Die maxi-maleAudioqualitaumlt des Signals darfmaximal48 kBits betragen Die Schaltung setzt aufeinem Mikrocontroller zur Steuerung einesAudio-Codecs auf Die Entwicklung ist durchdie Visible Light Communication (VLC) ins-piriert Das Signal wird uumlber eine Treiber-schaltung entweder per Laser oder High-Power-LED uumlbertragen Auf der Empfaumlnger-seitewirddas Signal uumlber einenAudio-Codecindasurspruumlngliche Format ruumlckgewandeltEinsatzbereiche sind groumlszligere Raumlume in de-nen einehoheFunkbeanspruchungherrschtZum erfolgreichen Versenden der Audio-

informationenwerden zweiAusgabendieserSchaltung benoumltigt Die Versorgungsspan-nung betraumlgt 12 V Auf Senderseite kann derBenutzer eine von drei verschiedenen Sig-nalartenwaumlhlen die uumlbertragenwerden soll analoges Audiosignal Klinke (TRS Ana-log Audio In) digitales SPDIF-Signal Anschluss uumlberCinch (RCA Electrical SPDIF In) optisches SPDIF Signal Anschluss uumlberToslink (Toslink Optical SPDIF In)

APU mit Audio Codec undKonfigurationsregisternDie Konfiguration der Signalart erfolgt

uumlber ein Display und vier Taster (S1 S2 S3S4 und Display) Das Display und die Tastersind an einen Mikrocontroller angeschlos-sen der die Auswertung der Einstellungenvornimmtunduumlber einen Isup2C-Bus andieAu-dioProcessingUnit (APU)uumlbertraumlgt DieAPUbesteht aus einem Audio-Codec und besitztKonfigurationsregister zumSpeicherndieserEinstellungen Uumlber diese Register koumlnnenauch Manipulationen an den Statusbits desSPDIF-Signals vorgenommen werden DieAPU verfuumlgt zudem uumlber ein integriertes di-gitales Interpolationsfilter und ein Antialia-sing-Filter Das hat den Vorteil dass eineexterne Filterung uumlberfluumlssig wird Das Isup2S-Interface uumlber das andere Audio-Kompo-nentenmit derAPUkommunizieren koumlnnensteht demBenutzer ebenfalls zurVerfuumlgungEin- undAusgaumlnge koumlnnenasynchronbe-

trieben werden Das erzeugte Signal wird inein SPDIF-Format gewandelt und dem La-sertreiber oder dem LED-Treiber zur Verfuuml-

Via Laser oder High-Power-LEDAudiosignale drahtlos mit Licht uumlbertra-gen Die von uns vorgestellte Schaltungsetzt auf einen Mikrocontroller der denAudio-Codec steuert wobei die Qualitaumltdes Signals maximal 48 kBits betragendarf Der Mikrocontroller ndash die AudioProcessing Unit ndash ist das Herzstuumlck die-

ser speziellen Treiberschaltung der dasAudiosignal via Laser oder High-Power-LED uumlbertraumlgt Mit den Konfigurations-registern lassen sich die Einstellungenfuumlr die Codes speichern und es lassensich Manipulationen an den Statusbitsdes SPDIF-Signals vornehmen

SyStementwurf AudiodAtEn uumlbERtRAgEn

19

telekommunikation von Mixed Mode

InfoClick

wwwelektronikpraxisde InfoClick 3343108

gung gestellt Aus Sicherheitsgruumlnden wirdder Lasertreiber uumlber eine vomMikrocontrol-ler gesteuerte Enable-Leitung ein- und aus-geschaltet Als Laserquelle dient eine Laser-diodeDer Lasertreiber ist zwar speziell auf diese

Laserdiode eingestellt kann aber durch an-dere Laserdioden ersetzt werden Die Aus-gangsleistung der Modulationsstrom derGleichstromanteil und der Temperaturkoef-fizient der Laserdiodenwerdenuumlber externeWiderstaumlnde des Lasertreibers dimensio-niert Die Laserdiode ist an einem Kupfer-block angebracht der dieKuumlhlungderDiodeund die Fokussierung des Laserlichts uumlbereine Linse im Inneren uumlbernimmt Der LED-Treiber der ein IR-Treiber oder ein High-Po-wer-LED-Treiber sein kann besteht aus zweischaltbarenKonstantstromquellenundkannbis zu vier High-Power-LEDs versorgen

Audioqualitaumlt liegt beiaktuell 48 kBitsAuf der Empfaumlngerseite muss der Light

Receiver alsQuelle ausgewaumlhltwerdenDie-ser Light Receiver umfasst je eine Empfangs-einheit fuumlr sichtbares und infrarotes Licht(Visible Light und Infrared Light Receiver)

Beide Empfangseinheiten bestehen aus ei-nemPhotodetektor und einemnachgeschal-teten Transimpedanzverstaumlrker Das vomTransimpedanzverstaumlrker erzeugte Signalwird anschlieszligendSPDIF-gerecht aufberei-tet und an die Audio Processing Unit weiter-geleitet und kann an einem der sechs An-schluumlsse abgegriffen werdenDiemaximaleAudioqualitaumlt der Schaltung

liegt zur Zeit noch bei 48 kBits da die Emp-fangseinheit Signalemit einer Frequenz vonmaximal 31 MHz zuverlaumlssig empfangenkannDiemaximaleReichweite die bei einergerichteten Uumlbertragung mit Laser erreichtwerden konnte betraumlgt aktuell 15 m DurchdenEinsatz vonoptischenHilfsmitteln kannjedoch eine weitaus houmlhere Reichweite er-reicht werden HEH

MixedMode +49(0)89 89868240

20

ProgrammiersPrachen Sichere Software

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Stabile Embedded-Systememit der Programmiersprache Ada

Mit der Programmiersprache Ada laumlsst sich sicherheits- und missions-kritische Software entwickeln wovon Embedded-Systeme profitieren

sollen Wir stellen Ihnen die Programmierumgebung vor

JOhANNES KANIg

Johannes Kanig ist Senior Software Engineer beiAdaCore

WashabenARGOS einSatellitenpro-gramm zur Sammlung von Um-weltdaten unddas Traumlgheitsnavi-

gationssystem des Airbus 350 XWB mitein-ander gemeinsam Beide stellen besondereAnforderungenan ihre Steuerungssoftwaredie sehr sicher und in Echtzeit reagierenmuss und deren eventuelle Fehler viel Geldoder sogar Menschenleben kosten koumlnnenIn beiden Faumlllen ist die Software missions-kritisch wenn beispielsweise durch einenFehler der Satellit verloren gehen kann odersicherheitskritischwenndurch einenFehlerdie Passagiere des Airbus inGefahr geratenBeide Systeme haben noch etwas gemein-sam sie sind in Ada geschrieben

Ein Traumlgheitsnavigationssystem stellt ho-he Anforderungen an seine Embedded-Ap-plikationen die sehr Hardwarenah laufenDabei wird auf Sicherheit groumlszligter Wert ge-legt Die Anwendung darf unter keinen Um-staumlnden abstuumlrzen und sollte ihre Funktionerfuumlllen sowie maximale Reaktionszeitenstrikt einhalten Fuumlr sicherheitskritischeAn-wendungen werden in der Regel vor demeigentlichen Entwicklungsprozess genaueHigh-Integrity-Anforderungen aufgeschrie-ben denenderProgrammcodedannentspre-chenmussNatuumlrlich ist es fuumlr denProgram-mierer einfacher wenn die Sprache direktKonstruktionen anbietet die bestimmtenArten von Anforderungen entsprechen

Lesbarer Code vermeidetFehler beim programmierenDie Entwickler der Programmiersprache

Adahaben stets besonderenWert auf Lesbar-keit undWartbarkeit gelegt Das aumluszligert sich

unter anderem in syntaktischenUnterschie-den mit Sprachen wie C oder Java Zum Bei-spiel verzichtet Ada voumlllig auf geschweifteKlammern und nutzt stattdessen leicht les-bare Schluumlsselwoumlrter um Bloumlcke zu kenn-zeichnen So werden if-Bloumlcke mit einemend if undSchleifenmit einemend loopabgeschlossen Im Allgemeinen vermeidetAdaSymbolewoSchluumlsselwoumlrter Sinn erge-ben So wird auch der in C uumlbliche Stern zurBezeichnung von Zeigern durch das Schluumls-selwort access ersetzt Ada beachtet Groszlig-und Kleinschreibung nicht um Verwechs-lung von zu aumlhnlichen Bezeichnern zu ver-meiden Und schlieszliglich vermeidet Ada diein Java und C verbreitete Praxis oktale Zah-len mit einer fuumlhrenden Null darzustellenNeben diesen syntaktischen Unterschie-

den gibt es auch viele semantische Hilfenum lesbare undbesserwartbare Programmezu schreiben Sowird die Relation zwischeneiner Funktion und ihren Parametern durchSchluumlsselwoumlrter wie in (nur lesen) out(nur schreiben) oder in out (beides) doku-mentiert Ada ist imGegensatz zuC eine starkgetypte Sprache Typkonversionen die zuLaufzeitfehlern fuumlhrenkoumlnnenmuumlssten ex-plizit geschrieben werden Ada erlaubt imGegensatz zu manchen anderen Sprachendie Einfuumlhrung von benutzerdefinierten In-tegertypen die Absichten des Programmie-rers dokumentieren (DieseVariable enthaumlltZahlen zwischen 1und 100) unddie korrek-te Ausfuumlhrung mit Laufzeituumlberpruumlfungensicherstellen Diese semantischen Eigen-schaften erleichtern den direkten Vergleichdes Programmcodes mit den an ihn gestell-ten Anforderungen

Besonderheiten bei derEmbedded-ProgrammierungBei Echtzeitanwendungenhandelt es sich

meist um parallele Anwendungen denn inder Regel werden mehrere Berechnungengleichzeitig durchgefuumlhrt undneueEreignis-se verarbeitet In diesem Kontext ist es be-

Umweltsattelit Die Steuerungssoftware muss sich besonderen Anforderungen stellen Mit der Program-miersprache Ada laumlsst sich sicherheits- und missionskritische Software entwickeln (Im Bild der Umwelt-satellit ENVISAT)

fotoD

Lr

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

sonders wichtig dass Reaktionszeiten derSoftware auf Ereignisse garantiert werdenkoumlnnen Hier ist es nuumltzlich dass Ada einfa-che Sprachfeatures zur Beschreibung vonparallelen Prozessen bereitstellt Es ist ent-scheidend dassAdakeinenGarbageCollec-tor benoumltigt der denProgrammablauf verzouml-gern koumlnnte Ein manueller Umgang mitThreads ist alsonicht noumltig Unvorhersehba-re Latenzzeiten die bei sicherheitskritischenAnwendungen unakzeptabel sind werdenausgeschlossen Ein weiteres Argument fuumlrden Einsatz von Ada im Embedded-Bereichist seine Faumlhigkeit zur Low-Level-Program-mierung Damit kann beispielsweise die ge-naue Auslegung einer Datenstruktur imSpeicher festgelegt werden Als gefaumlhrlicherachtete Low-Level-Features wie zum Bei-spiel dasAuslesenbeliebiger Speicherberei-che oder auch die in C beliebte Pointerarith-metik sind in Ada nur unter Umgehung desTypsystemsmoumlglich

Ada ndash Die Programmierspracheohne UumlberraschungenAda wird oft als Sprache ohne Uumlberra-

schungen bezeichnet Mechanismen zurProgrammstrukturierung wie es sie in Adagibt also ein Objektsystem oder ein Paket-system sind sehr hilfreich wenn es darumgeht umfangreiche Programme zu schrei-ben Der Ada-Standard sieht sogenanntePragma-Restriktionen vormit denen festge-legt werden kann ob Features der Spracheausgeschlossenwerden sollenDamit lassensich interne Coding-Standards uumlberpruumlfenDieses Feature kannmanmit dem StandardMISRA-CC++vergleichen der versucht einesichere Teilmenge von C beziehungsweiseC++ zu definieren Ada bietet den Vorteildass viele Konstrukte vondenenMISRAab-raumlt gar nicht geschrieben werden koumlnnenund dank des starken Typsystems mehrUumlberpruumlfungenmoumlglich sindDie Programmiersprache Ada gibt es seit

demBeginn der achtziger Jahre Die damali-ge Version Ada 83 enthielt bereits eine guteBasis fuumlr die strukturierte undmodulare Pro-grammierung wie ein Paketsystem das dieKapselung von Daten und Algorithmen er-moumlglicht Seitdem hat sich Ada kontinuier-lich weiterentwickelt So erschien 1995 derAda-95-Standard der die Sprache um einObjektsystem erweiterte Der naumlchste Stan-dard Ada 2005 brachte Verbesserungen imUmgang mit Zeigern die als konstant oderauch als not null deklariert werden koumln-nen Das stellt vor allem eine umfangreicheErweiterungder Standardbibliothekdar dienun auch Container enthaumllt Das Objektsys-temwurde umdas Interface-Konzept erwei-

PRAxISWERT

Adacore Software-loumlsungen fuumlr AdaAdaCore wurde 1994 gegruumlndet undist der fuumlhrende Anbieter von kom-merziellen Softwareloumlsungen fuumlr Adaeiner modernen Programmiersprachefuumlr Mission-Critical-Anwendungen insicherheitskritischen UmgebungenDas wichtigste Produkt ist die Ent-wicklungsumgebung GNAT Pro dieOnline-Support bietet und auf mehrPlattformen als jede andere Ada-Tech-nologie verfuumlgbar ist Unternehmenwie Boeing HP Krauss-Maffei oderSiemens setzen AdaCore-Loumlsungenfuumlr sicherheitskritische Anwendun-gen ein Hauptsitz ist New York daseuropaumlische Headquarter ist in Paris

tert so dass nun auch Mehrfachvererbungmoumlglich istDer naumlchste Standard ist fuumlr 2012 vorgese-

hen Darin sind die aus der Programmier-spracheEiffel bekanntenVertraumlge (contracts)vorgesehen die jeder Funktion zwei Boole-scheAusdruumlcke hinzufuumlgen koumlnnen die voroder nach Ausfuumlhrung der Funktion wahrsein sollenDieseAusdruumlcke sind im Idealfalldirekt von den Anforderungen an die Soft-ware abgeleitet Sie koumlnnen als formale Do-kumentation als zusaumltzlicheUumlberpruumlfungenzur Laufzeit oder als Ausgangspunkt fuumlr sta-tische Analysen dienen Eine weitere Neue-rung ermoumlglicht dieDefinition vonTypenmitso genannten Invarianten Damit sind Boo-lesche Ausdruumlcke gemeint die fuumlr Wertedieses Typs immer wahr sind Schlieszliglichgibt es viele andereWeiterentwicklungenwieeine Python-aumlhnliche Syntax zur Iterationuumlber Container und Verbesserungen implattformuumlbergreifenden Umgang mit ne-benlaumlufigen Prozessen und Multiprozesso-ren hEh

AdaCore +33(1)4970 6716

ProgrammiersPrachen SiCHERE SOfTwARE

21

Adacore-Entwicklungswerkzeuge

Ada Deutschland

InfoClick

wwwelektronikpraxisde infoclick 3343168

Bei unsbewegtsich was

Webcasts aufwwwelektronikpraxisde

Finden Sie die Loumlsung fuumlr IhrProblem ndash als Video oderAudiodatei

Beispiele fuumlr Webcasts

Anwendungsbeschreibungenkomplexer erklaumlrungsbeduumlrftigerProdukte

anwendungs- und loumlsungsorien-tierte Produktpraumlsentationen

vertonte Powerpointpraumlsentati-onen ProduktanimationenExperteninterviews oderMesseberichte

Online-SeminareOnline-Konferenzen

Schauen Sie doch mal rein---gt wwwelektronikpraxisde

CAST

wwwvogelde

0726

4

22

EmbEddEd-SyStEmE Software-architektur

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Von der impliziten zur explizitenSoftware-Architektur

Im Bereich der Unternehmenssoftware ist das Festlegen einer Soft-ware-Architektur heutzutage Standard doch bei der Embedded-Ent-

wicklung wird dieser Aspekt haumlufig noch vernachlaumlssigt

MIchAEL STuRM chRISTIAN hOcK

Dr Michael Sturm leitet die Abteilung Softwarepro-dukte im Geschaumlftsbereich Industrybei der Berner amp Mattner Systemtech-nik in Muumlnchen

Dr christian hock ist verantwortlich fuumlr die strate-gische Ausrichtung des Geschaumlfts-bereiches Industry bei der Berner ampMattner Systemtechnik in Muumlnchen

Eine dokumentierte Software-Architek-tur hat klare Vorteile Produkte sindanpassungsfaumlhiger und zukunftssiche-

rer Auszligerdem erleichtert das Wissen umSchnittstellen Kommunikationsbeziehun-genundRessourcen einzelner Komponentenderen Anpassung an neue Hardwarebedin-gungenundFunktionsanforderungenNichtnur beiNeuentwicklungen sondern auchbeiModernisierungen bestehender Embedded-Loumlsungen lohnt es sich einen Software-Ar-chitekten einzubinden um Weiterentwick-lungenauf ein zukunftssicheres Fundamentzu stellen

Begruumlndete Technologie-entscheidungen treffenUnter Software-Architektur versteht man

die strukturierteAnordnungderKomponen-ten eines Systems mit Informationen zurKommunikation zwischen den Komponen-ten sowie deren Abbildung auf Hardware-oder Softwareressourcen Eine fruumlhzeitigeundprojektbegleitendeUnterstuumltzungdurcheinen den einzelnen Entwicklerteams moumlg-lichst neutral gegenuumlberstehendenSoftware-Architekten ist die ideale Loumlsung EineReihevon Aufgaben kann man dieser Instanz zu-ordnen in vielenBereichengeht es aber aucheinfach umModerationEine zentraleAufgabeder EmbeddedSoft-

ware-Architektur ist es nicht nur die funkti-onalen Anforderungen an die Software zuberuumlcksichtigen sondern auch nichtfunkti-

in seiner Loumlsungsfindung eingeschraumlnktsein Bewaumlhrte Loumlsungsansaumltzewerdendannoft unhinterfragt wiederholt Neue moumlgli-cherweise besser geeignete und insbesonde-re flexiblere Technologienbleibenunberuumlck-sichtigt

Zusammenhaumlnge muumlssennachvollziehbar bleibenDaher kannes zumBeispiel zudenAufga-

ben eines Software-Architekturteams oderexternen Beraters gehoumlren neue Technolo-

Groszliges Vorbild Softwaresysteme lassen sich hinsichtlich ihrer Komplexitaumlt mit Gebaumluden wie Antoni Gau-diacutes Kirche Sagrada Familia in Barcelona vergleichen Eine in sich schluumlssige Architektur ist deshalb auch imSoftwarebereich unerlaumlsslich

iStockph

otoham

ishBa

rrie

onale Anforderungen zu erfassen und zwarvor dem Hintergrund einer Lifecycle-Prog-nose Unter diese nichtfunktionalen Anfor-derungen fallen so komplexe Punkte wieWartbarkeit Modifizierbarkeit Skalierbar-keit Portierbarkeit Konnektivitaumlt Benutz-barkeit Zuverlaumlssigkeit Sicherheit Perfor-mance Effizienz oder TestbarkeitSo vorteilhaft ein eingespieltes Entwick-

lerteam fuumlr die Kommunikation ist so sehrkann es auch durch die Erfahrung aus Vor-gaumlngerprojekten oder aumlhnlichen Projekten

23

EmbEddEd-SyStEmE Software-architektur

gien zu evaluieren und auf Eignung fuumlr Pro-jekte zu pruumlfen sowie neue Toolsets zur Ver-fuumlgung zu stellen Kuumlnftig benoumltigteKompo-nenten muumlssen identifiziert werden undwenn es darum geht fuumlr einzelne Kompo-nenten optionale Technologien vorzuschla-gen bewaumlhrt sich haumlufig das Einschalteneines neutralen ArchitekturbeauftragtenEs geht um die Diskussion von Design-

Entscheidungen dieDefinition vonSchnitt-stellen und die Entwicklung von CodingConventions Unter der Moderation einesSoftware-Architekten erfolgen diese Ent-scheidungen bewusster und werden besserdokumentiert Nur sobleibendie Zusammen-haumlnge innerhalb eines Systems auch fuumlr Ent-wickler nachvollziehbar die spaumlter einmalan ihm arbeitenmuumlssen und nichts von denimplizitenAnnahmenund teaminternenGe-pflogenheiten seiner Schoumlpfer wissen

Implizite Architekturen sindimmer vorhandenIn der taumlglichen Praxis der Embedded-

Entwicklung sieht es leidermeist anders ausZeit- und Kostendruck verhindern oft dassGedankenundArbeit in eine systematisierteSoftware-Architektur flieszligen Hier koumlnnenSoftwarearchitekten auchdurchdieAuswahlgeeigneter Methoden und Tools weiter hel-fen So kann die dynamische Entwicklungheutiger Industrieproduktemit agilenAnsaumltzenunterstuumltztwerdenAuch einstrikt modellbasierter Entwicklungs-ansatz also die Modularisierung mitklar definierten Schnittstellen ist einMittel um einen hohen Reifegrad zuerreichen Die Vorteile dieses Vorge-henshaben sich in vielenProjektenbeiBerner amp Mattner in der Entwicklungvon Funktionserweiterungen gezeigtDank des modellbasierten Ansatzeskonnten diese mit minimalem Auf-wand realisiertwerdenndashunddies ins-besondere auch von urspruumlnglichnicht beteiligten EntwicklernAber Fakt ist Jedes Softwaresystem

hat eineArchitektur auchwenndiesenicht explizit modelliert wurde Ent-stehendiese Strukturenungeplant ausder Dynamik der Komponentenent-wicklung heraus tut dies der Funkti-onalitaumlt der Software zunaumlchst keinenAbbruch Probleme treten erst spaumlterauf wenn es umWartung Skalierungoder Portierung gehtImNachhinein raumlcht sichdann zum

Beispiel die Wahl einer bestimmtenProgrammiersprache oder einerSchnittstelle die unter dem Zeit- undKostendruck imEntwicklungsprozess

schnell und dazu noch undokumentiert ge-troffenwurdeDieKommunikation zwischeneinzelnen nicht klar getrenntenKomponen-ten war moumlglicherweise nur oberflaumlchlichgeloumlst anstatt schon bei derWahl der Tech-nologien und Sprachen darauf zu achtenReibungspotenziale zu minimieren

Zu enge Abhaumlngigkeiten vonder Hardware vermeidenWird ein Softwareprojekt nicht in Bezug

auf seinengesamtenLebenszyklus gesehenbesteht bei Embedded-Projekten auch dieGefahr dass ungewollteAbhaumlngigkeiten zurEntwicklungs-Hardware entstehen Die An-passung an neue Hardwaregenerationenkann dadurch sehr aufwaumlndig oder gar un-moumlglich werdenEine klar strukturierte unddokumentierte

Software-Architektur wird erst dann ver-misst wenn es bei der notwendigenWeiter-entwicklung Fragen und Schwierigkeitengibt Oft sollen wesentliche Teile der Soft-ware beibehalten aber zum Beispiel an einneuesBenutzerinterface angeschlossenwer-denManchmal ist der Controller fuumlr den siegeschrieben wurde nicht mehr verfuumlgbarund sein Nachfolger ist anders aufgebautFunktionenmuumlssen erweitert zusammenge-fuumlhrt oder auf geaumlnderte externe Systemeangepasst werden Die Pflege oder Weiter-

PRAxISWERT

Fehler lassen sichverhinderneine klar definierte und stringenteSoftware-architektur hilft die Zusam-menhaumlnge innerhalb eines Systemsbesser zu verstehen Dies verhindertfehler und senkt nicht zuletzt denaufwand bei der eventuell noumltigenbdquoaltbausanierungldquo von embedded-Systemen

Nachtraumlgliche Analyse nuumltztwurde die Software-architektur inder embedded-entwicklung vernach-laumlssigt lohnt sich angesichts der zuerwartenden langen einsatz- und Le-benszeiten vieler embedded-Systemeauch eine nachtraumlgliche analyse undDokumentation andernfalls drohenmoumlglicherweise immer wieder unkal-kulierbare Verzoumlgerungen wenn war-tungs- oder weiterentwicklungsarbei-ten eventuell auf undokumentierteeigenheiten des Systems stoszligen

H

SIG

HPEED

ROBUST

FLEXIBLE

TriCore Power Architecturebull

XC2000XE166 SH-2A XScalebull bull

Cortex M0M3M4 Cortex R4 Cortex A8 ARM7911bull bull bull

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

24

EmbEddEd-SyStEmE Software-architektur

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Literaturhinweise[1] Pete Goodliffe code craftthe Practice of writing excellent codeNoStarch Press 2006

[2] Peter hruschka Gernot Starkeknigge fuumlr SoftwarearchitektenentwicklerPress 2012

[3] craig Larman applying uML and Pat-terns an introduction to object-orien-ted analysis and DesignPrentice hall 2004 (3 auflage)[4] Berner amp Mattner-fachartikel bdquoSoft-warearchitektur in eingebetteten Syste-menldquo ndash httpbitlyJosXYw

entwicklung eines solchen Systemswird fuumlrden Produktverantwortlichen zu einerschwer kalkulierbaren Kostenquelle vor al-lem dann wenn er nicht mehr auf den KerndesurspruumlnglichenEntwicklerteams zuruumlck-greifen kannHilfestellung in solchen Situation bieten

Spezialisten wie Berner amp Mattner die Alt-systeme analysieren bestehende Software-Architektur nachdokumentierenundmoumlgli-che Migrations- und Aumlnderungspfade iden-tifizieren Als externe Architekturberaterkoumlnnen sie unbelastet von der Softwarehis-torie untersuchen wo in der Struktur derSoftware Problemfelder liegen und Loumlsun-gen vorschlagenDerAufwand fuumlr PflegeundWeiterentwicklung laumlsst sich auf Basis einersolchen Analyse besser beurteilen

Regeln aufstellen ndash und sierichtig brechenBesonders spannend wird das Thema bei

zertifiziertenEmbeddedSystemen Einehaumlu-fige Herausforderung ist dass die Softwareoder wesentliche Teile zertifiziert sind umeinem SIL (Safety Integrity Level) zu genuuml-gen Selbstverstaumlndlich moumlchte niemanderneut eine IEC 61508-Zertifizierung durch-laufen wenn sich dies vermeiden laumlsstGluumlcklicherweise sind oft nur einzelne rele-vante Teile des Systems als sicherheitskri-tisch eingestuft Die Kunst des Architektur-beraters ist es die Stellen in der Software zufinden andenendie Schnitte angesetztwer-denkoumlnnenndashund zwar zwischenden sicher-heitskritischen Teilen und den Teilen undSchnittstellen die problemlos geaumlndertwer-den koumlnnenHierzu nutzt der Berater gaumlngige Design-

Patternswie etwaSchichtenoder bdquopipes andfiltersldquo Ironischerweisemusshaumlufig das aufdieseWeise entstandene Regelwerk die ab-geleiteteArchitektur fuumlr das eigentlicheEnt-wicklungsprojekt gleich wieder gebrochenwerden eben um zertifizierte Bestandteileunveraumlndert zu erhalten Der groszlige Unter-schied zu den bdquoRegelverletzungenldquo aus derEntstehungszeit der urspruumlnglichen Soft-

ware liegt aber darin dass sie nun ausfuumlhr-lich dokumentiert werdenEs waumlre ein Missverstaumlndnis Software-

Architektur als ein unveraumlnderliches Doku-ment zu verstehen das man nur selten wie-der in die Hand nimmt Es sollte bei jederArbeit an der Software gelesen und gepflegtwerden Ohne dieses lebendige Dokumentwerden Architekturverstoumlszlige oft gar nichtbemerkt Vereinbarungen zu ArchitekturCodingConventions Schnittstellen etcwer-dendadurch fuumlr denEntwickler verbindlich

Architektur muss als Prozessverstanden werdenDer Auftraggeber erhaumllt so ein Embedded

System dessen Pflege er in die Haumlnde einesneuenTeamsgebenkannDie nun freigewor-denen Spezialisten die es erstellt habenkoumlnnen getrost an anderer Stelle eingesetztwerdenDabei gilt Software-Architektur endet nie

DennauchvondenEntwicklern einzusetzen-deDesign-Methodenwie zumBeispiel ObjectOrientedAnalysis andDesign (OOAD)habenklare Strukturen und die Trennung von Zu-

staumlndigkeiten zum Ziel - das ist eindeutigArchitekturEine klare Software-Architektur hilft die

Zusammenhaumlnge innerhalb eines Systemsbesser zu verstehen Dies verhindert Fehlerund senkt den Aufwand bei der bdquoAltbausa-nierungldquo von Embedded Systemen Wurdedie Software-Architektur in der Embedded-Entwicklung vernachlaumlssigt lohnt sich an-gesichts langer Einsatz- und Lebenszeitenvieler EmbeddedSystemeauchdie nachtraumlg-liche Analyse und Dokumentation Andern-falls drohen immer wieder unkalkulierbareVerzoumlgerungen wenn Wartungs- oder Wei-terentwicklungsarbeiten auf undokumen-tierte Eigenheiten des Systems stoszligen Beistark eingefahrenen Teams bzw zum Wis-sensaufbaubietet sichhier ein externer Soft-warearchitekt anDie meisten Fehler durch menschliches

Versagen entstehen dort wo wir nicht ver-stehen woran wir bdquoschraubenldquo Eine expli-zite Architektur traumlgt maszliggeblich dazu beidieWirkketten innerhalb komplexer Systemetransparent zu machen Mit diesem Wissenwerden erforderliche Aumlnderungen wesent-lich schneller bewertet und zuverlaumlssig rea-lisiert FG

Berner ampMattner +49(0)89 6080900

Zusammenhaumlnge verstehen Explizite Software-Architektur traumlgt maszliggeblich dazu bei die Wirkungs-zusammenhaumlnge komplexer Systeme anschaulich und transparent zu machen

iStockph

otoSirgunhik

Lebenslaumlnglich Software-architekturdesign

requirements engineering fuumlr embedded-Systeme

InfoClick

wwwelektronikpraxisde InfoClick 3343141

25

Kolumne

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

Mit Fragen zum ProjekterfolgPETER SIwON

Heute stelle ich Ihnen ein Wundermit-tel vormit demSie inProjekten vielEnergie Zeit und Geld sparen

Gleichzeitigmotiviert es IhreMitarbeiter DerEinsatz des Wundermittels hat sehr viel mitdem BuchstabenWwieWunder zu tun DasBeste daran Es kostet nichts undSie kennenes alle DasWundersameandiesemWunder-mittel ist allerdings dass es trotzdem zu sel-ten eingesetzt wird Ich gebe Ihnen noch einpaar TippsWie kommenSie ameffektivstenan Informationen Wie erfahren Sie amschnellstenwas andereMenschendenkenWie findenSie amschnellstenLoumlsungenDieAntwort lautet FragenUnddie beginnenoftmit wo wie wann oder wer Vielleicht sindSie jetzt uumlber diese simple Antwort ent-taumluscht nachdem ich Ihnen den Mund mitallerlei Wunderversprechungen waumlssrig ge-macht habe An dieser Stelle koumlnnten Siespaszligeshalber auf das Themaeinsteigenundfragen bdquoWie kommen Sie darauf diese Me-thode alsWundermittel zu bezeichnenldquo Siekoumlnnten aber auchgelangweilt denken bdquoWeiszligschon offene Fragen stellenldquo und aufhoumlrenzu lesen Sind Sie sich ganz sicher dass Siealle meine Argumente kennen Das ist zwaretwasmanipulativ abermit dieser Fragebrin-ge ich Sie immerhindazu IhrenStandpunktzu hinterfragen Vielleicht lautet die so pro-vozierteAntwort bdquoNaja eigentlichbin ichmirnicht sicherldquo ndash und Sie lesen doch weiterDas Praktische an solchenFragen ist dass

Sie sich von Ihrer eigenen Antwort in derRegel besser uumlberzeugen lassen Ichhaumltte Sieauch schulmeisterlich zu IhremGluumlck zwin-gen koumlnnen bdquoSie muumlssen weiterlesen weilichweiszlig dass Sie noch jedeMengeWichtigeserfahren das Sie unmoumlglich wissen koumln-nenldquo Dasmache ich aber nicht weil ich dieNachteile kenne 1 Siemuumlssen gar nichts 2Wenn Sie muumlssen dann wollen Sie nichtIhre Motivation ist gering 3 Woher will ichwissen obSie nichtmehr uumlber dieKunst desFragens wissen als ich selbst Damit die ge-rade so schoumln erzeugte Motivation nichtgleichwieder auf demAltarmeines Egos ge-opfert wird spare ichmir PseudofragenwiebdquoHab ichs Ihnennicht gleich gesagtldquo Statt-dessen bedanke ich mich bescheiden fuumlrIhreBereitschaftweiterzulesen Ich gebe zudas faumlllt mir manchmal schwerGeschriebener Text schraumlnkt dieMoumlglich-

keiten etwas einDarumstellen Sie sichbitte

die obenangedeutete Szene als persoumlnlichesGespraumlch vor In diesem Fall koumlnnte ich ausdem W-Vollen schoumlpfen Wenn Sie mir zuverstehen geben dass Sie sich selbst schonmit dem Thema befasst haben dann werdeich Sie beispielsweise fragen bdquoDas freutmich Welche Erfahrungen haben Sie ge-machtldquo oder bdquoWas wuumlrden Sie aus IhrerErfahrung empfehlenldquo Jetzt habe ich dieChance etwas von Ihnen zu lernen Gleich-zeitig spare ich Energie und Uumlberzeugungs-arbeit weil ich einfach nur zuhoumlre Ich wer-de IhreAussagendurchRuumlckmeldungenwiebdquointeressantldquo oder bdquoDa stimme ich Ihnen zuldquounterstreichen Mit meinen Fragen will ichnicht beweisen dass ich der Schlauere binsondern dass Fragen ein echtesWundermit-tel sind Durch interessiertes Nachfragenkann ich Ihnen dabei helfen neue Aspektezu entdecken Was tue ich wenn ich eineandere Meinung habe Statt Geschuumltze wiebdquoJa aberhellipldquo oder bdquoNein das kann nicht seinweilhellipldquo aufzufahren umSie rhetorisch abzu-wuumlrgen oder zu knebeln ist es erheblichnuumltzlicher die Hintergruumlnde Ihrer Darstel-lungdurchFragenherauszufinden Falls Siefalsch liegen kommen Sie vielleicht durchdenVersuchmeine Fragen zubeantwortenselbst dahinter Ich spare mir dann die an-strengende Prozedur der Gegenargumenta-tion Dann werde ich uns beide dazu be-gluumlckwuumlnschen dass wir unser Wissen ge-meinsam bereichert haben ndash denn genauso

ist es Sollte ich derjenige sein der falschliegt kann ich dazulernen ohne mir eineBloumlszlige zu gebenJetzt stellen Sie mir da ich mich als Fra-

genfreundgeoutet habe eine Fragewie bdquoWaswuumlrdenSie tunwenneinunselbststaumlndigerMitarbeiter staumlndig fragt was er tun sollldquoIch wuumlrde wie sollte es anders sein post-wendendeineGegenfrage stellen bdquoWas glau-ben Sie wuumlrde ich tunldquo und Ihnen damitschon die Antwort in den Mund legen fra-gen Tolle Fragen in solchen Situationensind Was haben Sie oder andere in aumlhnli-chen Situationen getan Warum glaubenSie hat es bisher nicht funktioniertldquo Da-nach bringe ich hoffentlich die Geduld fuumlrzweiVerhaltensweisen auf die fuumlr denErfolgeiner Frage wichtig sind Erstens halte ichden Mund um Ihnen Zeit zum NachdenkenzugebenAlsGefragter habenSie es naumlmlichnicht leicht Sie denkennun zuerst uumlbermei-ne Frage und dann uumlber Ihre Antwort nachWenn ich waumlhrend Sie gruumlbeln die Frageselbst beantworte oder noch eine Frage hin-terher schieszlige habe ich alles verdorben Ichzaumlhle also im Kopf bis 5 um diese Falle zuvermeiden Zweitens zeige ich Ihnen wennSie antworten durchAugenkontakt Nickenkurze Ruumlckmeldungen und Verstaumlndnisfra-gen mein Interesse Aktives Zuhoumlren ist diebeste Gewaumlhr dafuumlr dass mir nichts Wichti-ges entgeht und es ist ein Zeichen groszligerWertschaumltzung So gewinne ichdurchFragenund Zuhoumlren Ihre Sympathie Das Wundervollzieht sich also in drei Schritte FragenWarten Zuhoumlren Wenn Sie auf diese Weiseeine gute Idee finden goumlnne ich Ihnen IhrErfolgserlebnis und sage so etwas wie bdquoSu-per das houmlrt sich interessant anldquo Und ichlege gleichnoch eine Frage als ZugabedraufbdquoWannglaubenSiewerdenSie die Idee aus-probierenldquo Diese nachgeschobene Fragehat gegenuumlber einer Aufforderungwie bdquoPro-bieren Sie es doch morgen gleich ausldquo dengroszligen Vorteil dass ich so Ihr Gefuumlhl derEigenverantwortung erhalte bzw foumlrdere IchbeendediesenkurzenAusflug indieWelt derW-Wunder wie auch sonst mit einer FrageHaben Sie Interesse zum Thema Fragetech-nikenWollen Sie eine kostenlose Checklis-te zu Fragetechniken Dann senden Sie mirbitte eine E-Mail an psiwondie-menschli-che-Seitede hEh

Mit Fragen zum Projekterfolg Peter Siwon beschaumlf-tigt sich seit mehr als 20 Jahren mit den ThemenGehirn und Psyche im Zusammenhang mit derProjektarbeit in technischen Berufen

InfoClick 3370352

26 ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

RedaktionChefredakteur Johann Wiesboumlck (jw) ViSdP fuumlr die redaktionellen InhalteRessorts Zukunftstechnologien Kongresse Kooperationen Tel (09 31) 4 18-30 81Chef vom dienst Peter Koller (pk) Tel (09 31) 4 18-30 98Verantwortlich fuumlr dieses Sonderheft Franz Graser Tel -30 92Redaktion Muumlnchen Tel (09 31) 4 18-Franz Graser (fg) Prozessor- und Softwarearchitekturen Embedded Plattformen Tel -30 92Martina Hafner (mh) Produktmanagerin Online Embedded Software Engineering KongressTel -30 82Hendrik Haumlrter (heh) Messtechnik Testen EMV Medizintechnik Laborarbeitsplaumltze DisplaysOptoelektronik Embedded Software Engineering Tel -30 92Holger Heller (hh) ASIC Entwicklungs-Tools Embedded Computing MikrocontrollerProzessoren Programmierbare Logik SOC Tel -30 83Gerd Kucera (ku) Automatisierung Bildverarbeitung Industrial Wireless EDALeistungselektronik Tel -30 84Thomas Kuther (tk) Kfz-Elektronik Stromversorgungen Oszillatoren Passive BauelementeTel -30 85Kristin Rinortner (kr) Analogtechnik Mixed-Signal-ICs Elektromechanik Relais Tel -30 86Margit Kuther (mk) Bauteilebeschaffung Distribution Beruf amp Karriere Tel (0 81 04) 6 29-7 00Freie Mitarbeiter Prof Dr Christian Siemers FH Nordhausen und TU Clausthal Peter SiwonMicroConsult Sanjay Sauldie EIMIA Hubertus Andreae dreiplus praxisbegleitendeInnovationsfoumlrderungVerantwortlich fuumlr die Fed-news Dr Stephan Weyhe FED Alte Jakobstr 8586 D-10179 BerlinTel (0 30) 8 34 90 59 Fax (0 30) 8 34 18 31 wwwfeddeRedaktionsassistenz Eilyn Dommel Tel -30 87RedaktionsanschriftMuumlnchen Grafinger Str 26 81671 Muumlnchen Tel (09 31) 4 18-30 87 Fax (09 31) 4 18-30 93Wuumlrzburg Max-Planck-Str 79 97082 Wuumlrzburg Tel (09 31) 4 18-24 77 Fax (09 31) 4 18-27 40LayoutMichela Deppe Joachim Haselmann Carolin Frank Sigrid Rau Meike Herkersdorf Mar-kus Mager

eLektRonikPRaXiS ist organ des Fachverbandes elektronik-design eV (Fed)Fed-Mitglieder erhalten eLektRonikPRaXiS im Rahmen ihrer Mitgliedschaft

VeRLagVogel Business Media GmbH amp Co KG Max-Planck-Straszlige 79 97082 WuumlrzburgPostanschriftVogel Business Media GmbH amp Co KG 97064 WuumlrzburgTel (09 31) 4 18-0 Fax (09 31) 4 18-28 43BeteiligungsverhaumlltnisseVogel Business Media Verwaltungs GmbHKommanditistin Vogel Medien GmbH amp Co KG Max-Planck-Straszlige 79 97082 Wuumlrzburggeschaumlftsfuumlhrung Stefan Ruumlhling (Vorsitz) Florian Fischer Ernst Haack Guumlnter SchuumlrgerPublisher Johann Wiesboumlck Tel (09 31) 4 18-30 81anzeigenleitung Franziska Harfy Tel (09 31) 4 18-30 88Fax -30 93 Grafinger Str 26 81671 Muumlnchen franziskaharfyvogeldeanzeigenverkauf Wuumlrzburg Tel (09 31) 4 18- Fax (09 31) 4 18-28 43Susanne Muumlller Tel -23 97 susannemuellervogeldekey-account-Manager Tel (09 31) 4 18- Fax (09 31) 4 18-28 43Hans-Juumlrgen Schaumlffer Tel -24 64 hansschaeffervogeldeClaudia Fick Tel -30 89 Fax -30 93 Grafinger Str 26 81671 Muumlnchen claudiafickvogeldeMarketingleitung Elisabeth Ziener Tel (09 31) 4 18-26 33auftragsmanagement Claudia Ackermann Tel (09 31) 4 18-20 58 Maria Duumlrr Tel (09 31) 4 18-22 57anzeigenpreise Zur Zeit gilt Anzeigenpreisliste Nr 47 vom 01 01 2012Vertrieb Leser- und abonnenten-Service DataM-Services GmbHFranz-Horn-Straszlige 2 97082 Wuumlrzburg Thomas Schmutzler Tel (09 31) 41 70-4 88 Fax -4 94tschmutzlerdatam-servicesde wwwdatam-servicesdeerscheinungsweise 24 Hefte im Jahr (plus Sonderhefte)

Verbreitete auflage 40009 Exemplare (IVWEDA Audit Oktober 2011)Angeschlossen der Informationsgemeinschaft zur Feststellung der Verbreitung von Wer-betraumlgern Sicherung der AuflagenwahrheitBezugspreis Einzelheft 900 EUR Abonnement Inland jaumlhrlich 19700 EUR inkl MwSt

Abonnement Ausland jaumlhrlich 22820 EUR (Luftpostzuschlag extra) Alle Abonnementpreiseverstehen sich einschlieszliglich Versandkosten (EG-Staaten ggf +7 USt)Bezugsmoumlglichkeiten Bestellungen nehmen der Verlag und alle Buchhandlungen im In- undAusland entgegen Sollte die Fachzeitschrift aus Gruumlnden die nicht vom Verlag zu vertretensind nicht geliefert werden koumlnnen besteht kein Anspruch auf Nachlieferung oder Erstattungvorausbezahlter Bezugsgelder Abbestellungen von Voll-Abonnements sind jederzeit moumlglichBankverbindungen HypoVereinsbank Wuumlrzburg (BLZ 790 200 76) 326 212 032SWiFt-Code HY VED EMM 455 IBAN DE65 7902 0076 0326 2120 32Herstellung Andreas Hummel Tel (09 31) 4 18-28 52Frank Schormuumlller (Leitung) Tel (09 31) 4 18-21 84druck Vogel Druck und Medienservice GmbH 97204 Houmlchbergerfuumlllungsort und gerichtsstandWuumlrzburgManuskripte Fuumlr unverlangt eingesandte Manuskripte wird keine Haftung uumlbernommenSie werden nur zuruumlckgesandt wenn Ruumlckporto beiliegtinternet-adresse wwwelektronikpraxisde wwwvogeldedatenbank Die Artikel dieses Heftes sind in elektronischer Form kostenpflichtig uumlber dieWirtschaftsdatenbank GENIOS zu beziehen wwwgeniosde

VeRLagSBuumlRoSVerlagsvertretungen inLand Auskunft uumlber zustaumlndige VerlagsvertretungenJens Otte Tel (09 31) 4 18-26 47 Fax (09 31) 4 18-28 57 jensottevogeldeaUSLand Belgien Luxemburg Niederlande SIPAS Peter Sanders Sydneystraat 105 NL-1448NE Purmerend Tel (+31) 299 671 303 Fax (+31) 299 671 500 petersandersvogeldeFrankreich DEF amp COMMUNICATION 48 boulevard Jean Jauregraves 92110 ClichyTel (+33) 14730-7180 Fax -0189groszligbritannien Vogel Europublishing UK Office Mark Hauser Tel (+44) 800-3 10 17 02Fax -3 10 17 03 markhausercomcastnet wwwvogel-europublishingcomUSaCanada VOGEL Europublishing Inc Mark Hauser 3321 Ashbourne CircleSan Ramon CA 94583 Tel (+1) 9 25-6 48 11 70 Fax -6 48 11 71

Copyright Vogel Business Media GmbH amp Co KG Alle Rechte vorbehalten Nachdruck digitale Verwendung jederArt Vervielfaumlltigung nur mit schriftlicher Genehmigung der Redaktion Fotokopieren veroumlffentlichter Beitraumlge istgestattet zu innerbetrieblichen Zwecken wenn auf jedes Blatt eine Wertmarke der Verwertungsgesellschaft WortAbt Wissenschaft in 80336 Muumlnchen Goethestraszlige 49 nach dem jeweils geltenden Tarif aufgeklebt wird Nachdruckund elektronische Nutzung Wenn Sie Beitraumlge dieser Zeitschrift fuumlr eigene Veroumlffentlichung wie Sonderdrucke Websi-tes sonstige elektronische Medien oder Kundenzeitschriften nutzen moumlchten erhalten Sie Information sowie dieerforderlichen Rechte uumlber httpwwwmycontentfactoryde (09 31) 4 18-27 86

Impressum

EDA

Wuumlrzburg 19 ndash 20 Juni 2012Vogel Convention CenterVCC

wwwsteckverbinderkongressde

Anwender sprechenmit Herstellern

Kongress und Tabletop-Ausstellung

Programm Unter wwwsteckverbinderkongressdefinden Sie die ausfuumlhrliche Agenda

Keynote Herausforderung Miniaturisierung ndash ZukuumlnftigeAnforderungsprofile bei Steckverbindern

Themen Applikationsspezifische Steckverbinder Kompakt-Steckverbinder fuumlr hohe Datenraten

Miniaturisierung Intelligente Steckverbinder Steckverbinder fuumlr besondere Anwendungen Qualifizierung Werkstoffe Verarbeitungsprozesse

Workshops Umspritzen von Kabeln Abdichten von Steckverbindungen Messtechnik Thermosimulation Design-in 3-D-Modellierung Schadensanalytik Beschichtungsverfahren

Aumlnderungen vorbehalten

Saumlmtliche Informationen zur Veranstaltung finden Sie unter---gt wwwsteckverbinderkongressde

Veranstalter

in Zusammenarbeit mit den Industriepartnern

07908

Alle Informationen unter wwwese-kongressde

Hauptsponsoren 2012 Veranstalter

20123ndash 7 Dezember 2012 in Sindelfingen

bdquoWissen ist das einzige Gutdas sich vermehrtwenn man es teiltldquo

(Marie Freifrau von Ebner-Eschenbach oumlsterreichische Schriftstellerin)

ESE Kongress ndash Ideen entwickeln Profis treffen Loumlsungen findenDer Embedded Software Engineering Kongress mit uumlber 800 Teilnehmern ist die groumlszligte deutschsprachigeVeranstaltung die sich ausschlieszliglich der Entwicklung von Geraumlte- Steuerungs- und Systemsoftware fuumlrIndustrie Kfz Telekom sowie Consumer- und Medizintechnik widmet Vom 3 bis 7 Dezember trifft sichdie Embedded-Software-Branche wieder in Sindelfingen ndash wir freuen uns auf Sie

Aussteller und Sponsoren 2012Axivion BBV Software Services dSPACE EASYCODE ELEKTRONIKPRAXIS emlix ETAS Fraunhofer IESEGreen Hills Software Hitex IAR Systems IMACS Infineon Intland Software iSYSTEM Lauterbach LDRALogic Technology linutronix macio MicroConsult National Instruments Noser Engineering Parasoftpls Programmierbare Logik amp Systeme Protos pure-systems QA Systems QNX Software Systems SafeTRANSseppmed Software Quality Lab SparxSystems Vector Informatik Vector Software Verifysoft Technology WillertSoftware Tools Zuumlhlke

Seit 30 Jahren vertrauen weltweit fuumlhrende Firmen Green Hills Softwarersquos sicherer undzuverlaumlssiger Software fuumlr sicherheitskritische Systeme

Fuumlr Luftfahrt- und Automobilindustrie fuumlr Telecom- Medizin- und Industrietechniksowie fuumlr intelligente Energienetze hat Green Hills Software erprobte und zuverlaumlssigeTechnologie geliefert

Wenn Sie wissen moumlchten wie eines der weltweit sichersten und zuverlaumlssigstenBetriebssysteme und dessen Entwicklungstools das Risiko aus Ihrem naumlchstenProjekt nehmen kann besuchen Sie uns unter wwwghscoms4e

Copyright copy 2012 Green Hills Software Green Hills Software and the Green Hills logo are registered trademarks ofGreen Hills Software All other product names are trademarks of their respective holders

Vertrauenswuumlrdige softwarefuumlr embedded deVices

safereliable

secure

  • Seite 1
  • Seite 2
  • Seite 3
  • Seite 4
  • Seite 5
  • Seite 6
  • Seite 7
  • Seite 8
  • Seite 9
  • Seite 10
  • Seite 11
  • Seite 12
  • Seite 13
  • Seite 14
  • Seite 15
  • Seite 16
  • Seite 17
  • Seite 18
  • Seite 19
  • Seite 20
  • Seite 21
  • Seite 22
  • Seite 23
  • Seite 24
  • Seite 25
  • Seite 26
  • Seite 27
  • Seite 28
Page 10: Securityineingebetteten Softwaresystemenfiles.vogel.de/vogelonline/vogelonline/issues/ep/2012/...Securityineingebetteten Softwaresystemen Angreifer nehmen Industriesteuerungen,Stromnetzeund

Softwareentwicklung SoftwareSicherheit teil 2

lich galt Der Wurm konnte Grenzen physi-kalisch getrennterNetze uumlberspringen Stux-net zielte vermutlich erfolgreich auf eineUrananreicherungsanlageWegendeshohenSchutzbedarfs von Atomanlagen schien soeinAngriff bis dahin schlicht nichtmoumlglichDen aktuellen Moumlglichkeiten des technischMachbaren druumlckte Stuxnet damit seineneigenen Stempel auf Eine optimierte Be-triebssicherheit wie im Beispiel der Atom-anlagewurdemangels ausreichender Secu-rity zum Sicherheitsrisiko

Der menschliche FaktorWenn Hacker aktiv werdenBedrohungen durch Hacker stellen die

Entwickler vonEmbedded-Systemenvor zu-nehmendeHerausforderungenDieReferen-ten des Schweizer Kommunikations- undTechnikdienstleisters Albis Technologiesstellten imVortrag EmbeddedSecurityHa-ckern einen Schritt voraus zunaumlchst diezunehmende Vernetzung von Embedded-Systemen heraus Und obwohl dadurchme-chanischeBarrieren zwischendenSystemenimmermehrwegfallen beruht die Sicherheitparadoxerweise haumlufig auf physikalischerSicherheit und weniger auf Cyber-Securityoder Informationssicherheit Und das ob-wohl es gerade in Infrastrukturnetzen wiezumBeispiel der aktuell diskutierten intelli-gentenStromversorgung vongroszliger Bedeu-tung ist dass die vernetzten Komponentenautonom ohne Benutzereingaben und vorunbefugten Zugriffen geschuumltztmiteinanderkommunizieren koumlnnenWas koumlnnte die Loumlsung sein Die Referen-

ten stellten ein Modell Hardware-basierterIT-Sicherheitsarchitektur fuumlr Embedded-

Systeme indenRaum InderenZentrumstehtein Security Controller oder ein Trusted-Platform-Modul also ein sicherer Speicherfuumlr digitale Schluumlssel Dieses dient dazu ei-ne Art Zentrum fuumlr kryptografische Operati-onen zu bilden Das Modul muss an den lo-kalenComputer gebunden seinundnicht aneinen bestimmten Benutzer Es ist dann un-moumlglich das Trusted-Platform-Modul entge-gen den Interessen des Eigentuumlmers zu nut-zen sofern dieser Beschraumlnkungen festge-legt hat eine Basis fuumlr die sichere Kommu-nikation der Netzteilnehmer Es kanngelingen beispielsweise aus einem Embed-ded-Geraumlt mit angepasster Software und ei-nem entsprechenden Betriebssystem einevertrauenswuumlrdige Plattform zumachenIntelligente Stromnetze auchSmart Grids

genannt erfordern fuumlr die Ermittlung desindividuellen Strombedarfs unddie korrekteAbrechnungdieVerwendung ebenso intelli-genter Verbrauchszaumlhler der sogenanntenSmartMeterHier gibt es zahlreiche Szenari-en die boumlswilliges Eindringen mit Betrugs-absicht ermoumlglichen Erschwerend ist dieLiberalisierung des Strommarktes Zahlrei-cheKlein- undKleinststromlieferantenndashausWasserkraft oder Photovoltaikanlagen ndashspeisen in die Netze ein Letztlich alles Ein-fallstore fuumlr moumlgliche Angriffe zum Zweckder kriminell motivierten ManipulationAuch vor diesemHintergrund erarbeitet dasBundesamt fuumlr Sicherheit in der Informati-onstechnik (BSI) gemeinsam mit Industrie-partnern fuumlr Smart Meter ein neuartigesSchutzprofil Es strukturiert Bedrohungenund legt damit die Mindestanforderungenfest die Sicherheitsmaszlignahmen erfuumlllenmuumlssen Ziel ist dabei eine Zertifizierung von

Produktennachdefinierten SchutzkriterienDas vondenPartnern erarbeitete Schutzpro-fil 3 definiert ein anhand gemeinsamerKriterien festgelegtes Security Modul fuumlralle kryptografischen Operationen

Kryptologie ndash Software solltenicht zu knacken seinBei der Entwicklung von Embedded-Sys-

temen koumlnnen durch den Einsatz von kryp-tologischen Verfahren viele Prozesse sicheroder zumindest sicherer gemacht werdenReinhard Wobst (UNIX Software) hat in sei-ner Funktion als Softwareentwickler festge-stellt dassmit groszliger Regelmaumlszligigkeit immerwieder die gleichenFehler bei der Implemen-tierung von Kryptologie gemacht werdenWaumlhrend seines Vortrags auf dem ESE Kon-gress erklaumlrte erwarumundwie es Eindring-lingen oft unnoumltig leicht gemacht wird SogehenSoftwareentwickler haumlufig davonausdass niemand die von ihnen entwickeltenAlgorithmen knacken kann Das Gegenteilist der Fall Ein gaumlngiges Mittel ist etwa das

AURIX - Over 5 years of High-Speed Serial Tracingmakes the difference

Tracing Serial High-Speed of years 5 Over - AURIX Tracing Serial High-Speed of years 5 Over - AURIXdifference the makes difference the makes

wwwlauterbachcom1653

Psychologische Sicherheitsluumlcke Irren ist mensch-lich ndash sowohl auf Entwickler- wie auf Anwenderseite

12

Softwareentwicklung SoftwareSicherheit teil 2

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Microconsult Qualitaumlt und Sicherheit

teil 1 der Serie Die drei Gesichter derSicherheit

InfoClick

wwwelektronikpraxisde infoclick 3343156

Schreiben unklaren oder scheinbar verwor-renen Codes Doch gerade bei der heutigenVernetzungwird jedesVerfahren fruumlher oderspaumlter bekannt Interessant ist die auch vonWobst formulierte Erkenntnis dass derSelbsttest eines eigenentwickeltenAlgorith-musmoumlglicherweise zu demErgebnis fuumlhrtdass es nicht einmal dem urspruumlnglichenProgrammierer gelingt ihn zuknackenAberdieWirklichkeit sieht leider anders aus Je-der kann einenAlgorithmus entwickeln dener selbst nicht brechen kann aber es gehtdarum dass ihn andere nicht brechen koumln-nen[1]Letztlich siehtmanes einemAlgorithmus

auchwenner noch soobskur erscheint nichtan ob er nun sicher ist oder nichtWobst raumltseinen Entwicklerkollegen konservativ zuseinundbekannteundaltbewaumlhrteAlgorith-menundMethoden zunutzenDas ForschennachSicherheit solle denForschernuumlberlas-sen werden Anhand zahlreicher Beispielebelegte Reinhard Wobst wie schnell es ge-schehen kann dass ein SoftwareentwicklerGuteswollenddas Falsche tut bzw dasRich-tige nicht richtig macht Und er zeigte auchdie Grenzen auf die selbst einer perfekt im-plementierten Kryptologie gesetzt sind wiedenial of service Attacken oder der immererfolgversprechende Versuch das stetsschwaumlchste Element eines Walls von Maszlig-nahmen fuumlr die Sicherheit zu instrumentali-sieren den User selbst So kam Wobst beiseinem Vortrag zu der Schlussformel dassgesunderMenschenverstandniemals hinterFormalismenverschwindendarf Fuumlr dieRe-alisierung von Sicherheit gilt immer dassetwas Sicherheit besser ist als gar keine

Qualitaumlt und houmlchstmoumlglichesSicherheitsniveau fuumlr SoftwareWie real die Risiken von Angriffen auf

Embedded-Systeme sind zeigte Lucas vonStockhausen vonHewlett-Packard in seinemVortrag Mehr Sicherheit fuumlr EmbeddedCode amBeispiel einer Manipulation einerhandelsuumlblichen Insulinpumpe Es seimoumlg-

lich durch Umgehen von Restriktionen dieInsulindosis die eine solchePumpeautoma-tisch verabreicht aus einer Entfernung von100 m und voumlllig unbemerkt zu veraumlndernDamit koumlnnemaneinemDiabetiker jederzeiteine Uumlberdosis Insulin injizieren Diese Ge-fahr mag konstruiert erscheinen fuumlr denPumpenhersteller und fuumlr den Patienten istsie aber sehr real undhoumlchst bedrohlichDasBundesministerium fuumlrWirtschaft undTech-nologie stellte bereits 2010 eine zunehmendeund alarmierende Professionalisierung vonAngriffen fest Dabei berichten die Medienmeist nur uumlber die spektakulaumlrstenFaumlllewiezumBeispiel denbereits erwaumlhntenStuxnet-Wurm der fuumlr den Einsatz auf industrielleZiele optimiert wurde

Die psychologischenSicherheitsluumlckenViele Angriffe sind weniger spektakulaumlr

doch kaum weniger gefahrenvoll Geradeuumlberraschende Angriffsszenarien auf Em-bedded-Systeme zeigen wie schwierig essein kann schon inder Softwareentwicklungvorauszusehenwie ein spaumltererAngriff aus-sehen kann Aus diesem Grund spielt diesichere Softwareentwicklung der sichereCode eine entscheidende Rolle Angesichtsdes rasanten Fortschritts der von zuneh-mendemZeit- Konkurrenz- undErfolgsdruckzuverlaumlssig begleitetwirdmussnebenQua-litaumltsforderungen auch das houmlchstmoumlglicheSicherheitsniveau realisiert werdenBei Embedded-Software erfolgt eine ver-

besserte Zugangssicherheit uumlber Software-Updates sagte Prof Dr-Ing Hans-JoachimHof Daraus ergeben sich gleichermaszligenAufgaben fuumlr die Entwicklung von Soft- undHardware In puncto Hardware werden si-chere Interfaces undUumlbertragungsprozedu-renbenoumltigt Die Softwaremuss so aufgebautsein dass sie autorisiert korrigiert aber nichtohne Autorisierung manipuliert werdenkann Das Motto Verbauen und Vergessengehoumlrt damit derVergangenheit anNicht zuvergessen sinddie psychologisch bedingten

Sicherheitsluumlcken zudenenPeter SiwonvonMicroConsult in seinem Seminar bdquoIrren istmenschlichldquo Beispiele nannte Und das so-wohl auf Entwickler-wie aufAnwenderseiteUnter hohem Zeitdruck neigt man dazu Si-cherheitsregeln zu brechen Menschen neh-men dann houmlhere Risiken in Kauf um denStress loszuwerden Stresshormone schraumln-kenunsere Faumlhigkeit ein uumlber die langfristi-gen Folgen unseres Verhaltens nachzuden-ken Zudem leide unser Qualitaumltsbewusst-sein unter dem Beduumlrfnis den bdquoSchmerzldquoloszuwerden Beides zusammen stellt eineexplosive psychologische Mischung darWichtige Voraussetzungen fuumlr Security wiebeispielsweise umfassende Tests fallen un-ter den Tisch Eine weitere Sicherheitsluumlckeentsteht durch Denkfaulheit Um unser Ge-daumlchtnis zu entlasten greifen wir nicht nurbei Passwoumlrtern auf altgewohnte oder beque-me Denk- und Verhaltensmuster zuruumlckThomas Batt beim Training- und Consul-

tingspezialistenMicroConsult zustaumlndig fuumlrSoftware Engineering Management ziehtfolgendesResuumlmee bdquo(Horror-)Szenarien beidenenEmbedded-Systemedurch aumluszligereAn-griffe manipuliert werden oder bei denensogar die komplette Kontrolle uumlbernommenwird sind keine Hollywoodphantasien Wirsindheute von einer rasantwachsendenZahlvonEmbedded-Systemenumgebenundver-lassen uns darauf dass Herstellerfirmen siezugangs- undangriffssicher entwickeln tes-tenundproduzierenDochTatsache ist dassfuumlr den groumlszligten Teil des Embedded-Marktesdie Qualitaumltsmerkmale Zugangs- und An-griffssicherheit noch Neuland sind DieseQualitaumltsmerkmalemuumlssen sich kuumlnftigwieein roter FadendurchdengesamtenEntwick-lungs- und Produktionsprozess der Produk-te ziehen Dazu benoumltigen wir geeigneteMethoden - insbesondere fuumlr denTest - sowieunterstuumltzende Tools Standards und Zerti-fizierungen Doch selbst mit noch so hoch-entwickelten Maszlignahmen koumlnnen wir dieRisiken nur minimieren nicht aber voumllligausschlieszligenldquo hEh

MicroConsult +49(0)89 45060

Quellennachweis[1] B Schneier Memo to the Amateur Cipher

Designer

Zugriffs- und AngriffssicherheitDie Betriebssicherheit ist im groszligenMaszlige vom Schutz vor unbefugtem Zu-griff oder gezieltem angriff abhaumlngigBei der Security spielt oft die Gestaltungund auswahl der hardware eine bedeu-tende rolle Zu den feinden von embed-ded-Systemen zaumlhlen Viren wuumlrmer undhacker die auf die Systeme zugreifen

und sie manipulieren Mit geeignetenSchutzmaszlignahmen wie Kryptologie undentsprechender Programmierung lassensich embedded-Systeme sicherer gestal-ten Nicht zu vergessen sind auch diepsychologisch bedingten Sicherheits-luumlcken ndash denn auch der Programmiererselbst stellt ein Sicherheitsrisiko dar

13

EmbEddEd SoftwarE Aktuelles

ELEKTRONIKPRAXIS embedded software engineering Report Juni 2012

InfoClick 3371268

embedded-softwAReentwicklung

analysewerkzeug Goanna pruumlft Software auf potenzielle LaufzeitfehlerDas Karlsruher Entwicklungs-haus Hitex hat die Version 272des Analysewerkzeugs Goannaveroumlffentlicht Das Tool pruumlft inCC++geschriebenenCodenachmathematischenMethoden umUrsachen fuumlr Laufzeitfehler auf-zuspuumlren In der aktuellenVersi-on 272 finden sich vor allemDetailverbesserungen wie er-leichterteKonfigurierbarkeit DieKonfigurationsvarianten bdquoQuickCheckldquo und bdquoDeep Checkldquo sindvordefiniert Auszligerdem wurdendieAnalysemethodenbeschleu-nigt und praumlziser gestaltet An-

feruumlberlaumlufe die Zerstoumlrung vonSpeicherinhalten Divisionendurch Null Zugriffe mit unguumllti-gem Index und aumlhnliche Proble-me Die Analyse uumlberschreitetdabei nicht nur Funktions- son-dern auch Dateigrenzen DasSoftwarewerkzeug soll einfachinstallierbar sein und sich nachwenigen Minuten einsetzen las-sen Goanna ist in einer Kom-mandozeilenversion (GoannaCentral) sowie alsAdd-On fuumlr dieweit verbreiteten Entwicklungs-umgebungen Visual Studio vonMicrosoft sowie EclipseCDT

(Goanna Studio) verfuumlgbarGoannaCentral undGoannaStu-dio fuumlr Eclipse sind fuumlrWindowsundLinux verfuumlgbar DieVersionfuumlrVisual Studiounterstuumltzt nurWindows Beide Versionen gibtes als rechnergebundene oderals Floating-Lizenz Es gibt eineeine permanente Lizenzmit dreiJahrenSupport und eine zeitlichbegrenzten Lizenz fuumlr ein Jahrmit der Option auf zeitliche Ver-laumlngerung fg

Hitex

hand mathematischer Modelleund derMethode der abstraktenDatenwertverfolgung kannGoanna problematische Konst-rukte ermitteln die zur Laufzeitder Software zu Fehlern fuumlhrenDazu zaumlhlen Speicherlecks Puf-

Schnelles Android XobotOS ist eineAndroid-Variante die auf einer offe-nen Implementierung von MicrosoftsNET-Architektur basiert InfoClick 3348889

smARtphone-betRiebssystem

android-Klon auf NEt-basis koumlnnte legale Untiefen umschiffenXamarin bietet Entwicklungs-werkzeugen fuumlr Android undApples iOS Das zentrale Themades Unternehmens ist die platt-formuumlbergreifendeProgrammie-rung von Apps fuumlr die beidenwichtigsten Betriebssysteme fuumlrMobilgeraumlte Als Entwicklungs-plattformdient dabeiMono einefreie Implementierung von Mi-crosofts NET-TechnikWichtigs-te Komponente vonMono ist einefreie Variante der NET-Laufzeit-umgebung CLR (Common Lan-guageRuntime) die zunaumlchst fuumlrLinux entwickelt wurde und

NET-Programme unter Linuxausfuumlhrte DaAndroid auf LinuxbasiertwurdeMono fuumlr dasmo-bile Betriebssystem von Googleumgesetzt Inzwischen gibt eseine Version namens Mono-Touch fuumlr Apples iOS Mit HilfevonMonoundMonoTouch ist esmoumlglich groszlige Teile des Appli-kationscodes wiederzuverwen-den wenn eine App sowohl fuumlriOS als auch fuumlr Android entwi-ckelt wurde XobotOS ist einAndroid-Klon bei demdie in Ja-va geschriebenen Codekompo-nenten inCuumlbertragenwurden

Diemomentan stattfindende ge-richtliche Auseinandersetzungzwischen Oracle als Inhaber derJava-Rechte und Google um an-gebliche Urheberrechtsverlet-zungen koumlnnte auszligerdem dafuumlrsorgen dass XobotOS kein For-schungsprojekt bleibt Das NET-Framework bietet alternativeImplementierungen fuumlr die Pro-grammierschnittstellen die zwi-schen Google undOracle strittigsind fg

Xamarin

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

EmbEddEd-SyStEmE SoftwaRE-DESign

14

TITELSTORyin juumlngster Zeit haben namen wieStuxnet und Duqu Eingang in unserenwortschatz gefunden Solche Schad-programme feuern unerbittliche atta-cken auf die Sicherheit eingebetteterSysteme Darunter sind auch SCaDa-Systeme (Supervisory Control andData acquisition) die industrieanla-gen Verkehrsnetze oder Kraftwerkeuumlberwachen und steuernManche Entwickler eingebetteterSoftware meinen zwar dass die Ebe-ne des Systems Engineering oder dieHardware fuumlr die Systemsicherheitzustaumlndig sein sollte Viele attackennuumltzen aber Schwachstellen in denanwendungen aus Und diese Luumlckengilt es im anwendungsdesign und derProgrammierung zu vermeiden

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

Siem

ens-PressebildPSD

graphics

15

EmbEddEd-SyStEmE Software-DeSign

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Security-Grundlagen fuumlrEmbedded-Software

Schutzmaszlignahmen auf der Betriebssystem- und Hardwareebene ge-gen Hackerangriffe sind keineswegs perfekt Daher muumlssen Entwickler

selbst gegen Schwachstellen der Embedded-Software vorgehen

DAvID KALINSKy

David Kalinsky ist Berater Trainer und Dozent fuumlrEchtzeit- und Embedded-Programmie-rung in SunnyvaleKalifornien (USA)

Entwickler eingebetteter Software spie-len das Security-Thema manchmalherunter und sagen bdquoUnserGeraumltwird

nie mit dem Internet oder einem anderenexternen Kommunikationsnetz verbundensein Wir sind gegen Angriffe immunldquo Dasist leider nicht wahr Erlauben Sie mir einGegenbeispielViele Geraumlte nutzen Analog-zu-Digital-

Konverter (ADC) zur Sammlung von DatenDieADCswerden regelmaumlszligig abgefragt unddieApplikation speichert dieDatenpakete ineinemArrayDieApplikation verarbeitet spauml-

ter diesen Daten-Array Aber ein Angreiferkoumlnnte dies aus einem ganz anderen Blick-winkel sehen etwa so bdquoWas wuumlrde passie-ren wenn ich den ADCmit elektrischen Sig-nalen fuumlttere die einer exaktenhexadezima-len Darstellung des Codes eines Schadpro-grammsentsprechenldquoAuf dieseWeise kannder Angreifer seine Software in Ihren Rech-ner einschleusen Ein Netzwerk oder dasInternet ist dafuumlr nicht noumltig

Angreifer brauchen nicht immerein externes NetzwerkDer Angreifer koumlnnte nun darauf setzen

dass Ihre Software die ADC-Daten in einemStapelspeicher (Stack) sichert (vielleicht in-demSie alloca() odermalloca() verwenden)Wenn er Gluumlck hat koumlnnte er einen Array-Uumlberlauf verursachen vielleicht indem er

den Hardware-Timer manipuliert der dieADC-Abfrage steuertEin typischer Stack ist auf der folgenden

Seite oben links abgebildet Wenn der An-greifer einen Array-Uumlberlauf verursachtkoumlnnte der Stack korrumpiert werden wiedas Schema rechts daneben zeigt BeachtenSie dass dieRuumlcksprungadresse imStack aneiner Position gespeichert wurde die hinterdem Ende des Arrays lagWenn der Angreifer die Korrumpierung

richtig plant wird der Uumlberlauf den Ort imStack erreichen an dem die aktuelle Ruumlck-sprungadresse gespeichertwurdeDas kanndazubenutztwerden umandiesemPlatz imStack einenZeiger auf den eigenenCode ein-zuschleusenWenn Ihr CodedieRuumlcksprung-adresse benutzt geht die Steuerung auf denCode des Angreifers uumlber

Siem

ens-Pressebild

16

EmbEddEd-SyStEmE Software-DeSign

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Simpel aber effektiv Die Grafik links zeigt den gewoumlhnlichen Aufbau eines Speicherstacks In der rechtenGrafik ist der Stack nach einem Array-Uumlberlauf korrumpiert Boumlsartiger Code kann ausgefuumlhrt werden

DavidKalinsky

Das wird als bdquoStack Smashingldquo-Attackebezeichnet BeachtenSie dass sie in diesemBeispiel voumlllig ohne Internetzugangundoh-ne Verbindung zu einer externen Datenlei-tung ausgefuumlhrt wurde

Design-Grundlagen fuumlr sichereEmbedded-SoftwareBeim Design eingebetteter Software koumln-

nen Entwickler die Sicherheit verbessernindem sie einige Grundsaumltze beachten1 Misstrauische AufteilungTeilen Sie die Funktionalitaumlt Ihrer Software

in Bloumlcke auf die sich gegenseitig nicht ver-trauen um die Angriffsfenster in jedemBlock zu verkleinern In der Embedded-Soft-ware nennen wir diese Bloumlcke oft Prozesseoder Subsysteme oder CSCIsEntwerfen Sie jeden Block unter der An-

nahme dass Softwarebloumlcke mit denen erinteragiert angegriffen wurden VertrauenSie denErgebnissender interagierendenBlouml-cke nicht Geben Sie Ihre Daten nicht uumlbergemeinsamen Speicher fuumlr andere Bloumlckefrei BenutzenSie stattdessenMechanismender Interprozesskommunikation wie Mes-sage Queues des Betriebssystems Socketsoder TIPC (Transparent Inter Process Com-munication) Pruumlfen Sie die Inhalte die SieerhaltenAls Resultat dieser Politik der misstraui-

schen Aufteilung faumlllt nicht das gesamteSystem in die Haumlnde eines Angreifers wennein einzelner Softwareblock kompromittiertwurde

bdquoUm feindlichen Code in ein Embedded-System einzuschleu-sen ist nicht unbedingt eine Verbindung zum Internet oder zu

einem anderen externen Netz noumltigldquoDavid Kalinsky

2 Trennung der PrivilegienHalten Sie den Teil Ihres Codes der mit

speziellen Rechten ausgestattet ist moumlg-lichst klein Wenn der Angreifer in Softwareeinbricht die mit hohen Privilegien ausge-fuumlhrt wird dann kann der Angreifer eben-falls mit hohen Privilegien operieren Dasgibt ihm ein extrabreites Angriffsfenster inIhr SystemVermeidenSie also dassAnwendungssoft-

ware im Kernel-Modus oder Master- Modusoder Supervisor-Modus laumlufthellip oder wie dasin Ihrer jeweiligen CPU-Architektur heiszligenmag Uumlberlassen Sie diesen Modus dem Be-triebssystem Lassen Sie Ihre Software nurim User-Modus laufen Dadurch wird IhreCPU-Hardware darauf verpflichtet das An-griffsfenster in Ihrer Software zu limitieren3 Loumlschen Sie sensitive InformationenLoumlschenSie jedewieder verwendbareRes-

source wenn Sie sie freigeben Wenn Sieeine Ressource freigegeben haben ndash sei esein Speicherpuffer oder ein Software-Hard-ware-InterfaceDatenregister ndash koumlnnte dernaumlchste Benutzer genau derselben Ressour-ce einAngreifer sein Angreifer auf eingebet-tete Systeme lieben es diese Ressourcen zusbquophishenrsquo genau wie Internet-Angreifer ger-ne sbquophishenrsquo Hacker waumlren bestimmt uumlber-gluumlcklich die Daten zu lesen die Sie imPuffer bearbeitet habenoder die andieHard-ware zur Ausgabe uumlbergeben wurdenDie meisten Dienste die Ressourcen in

Embedded-Umgebungen freigebenmarkie-ren die Ressourcen einfach als bdquoverfuumlgbarldquo

Sie lassendie alte Information stehen die inder Ressource enthalten ist Das geht sehrviel schneller als die Ressource explizit aufNull zu setzen Damit ist sie aber potenziellfuumlr andere Benutzer lesbarWenn also die Applikation mit einer Res-

source fertig ist liegt es an der Anwendungdie Freigabe vorzubereiten indemsie all die-se Elemente auf Null setztHeap-Puffer Speicherpool-Puffer Spei-cherpartitionssegmente Statisch zugewiesene Speicherpuffer Freigegebene Stack-Bereiche SpeichercacheDatei im DateisystemDatenregister fuumlr Hardware-InterfacesStatusregister Kontrollregister

Schwachstellen auf die manbeim Coding achten mussWaumlhrend der Programmierung koumlnnen

Entwickler die Softwaresicherheit verbes-sern indem sie eine Reihe bekannterSchwachstellen vermeiden1 PufferuumlberlaufMitweitemAbstand ist der Pufferuumlberlauf

die amweitesten verbreiteteGefahrenquellewenn man in der Sprache C programmiertEs kann ganz einfach sein ndash zum Beispiel indas Element mit der Nummer 256 eines256-teiligenArraysDatenhineinzuschreibenCompiler erkennen verbotene Pufferzu-

griffe nicht immer als Softwarefehler DaskannernsthafteKonsequenzenwiedie bdquoCodeInjectionldquo oder die bdquoArc Injectionldquo haben ndashbei letzterer aumlndert der Angreifer den Kon-trollfluss eines Programms indem er dieRuumlcksprungadresse auf dem Stack modifi-ziert Bei der bdquoArc Injectionldquo braucht derAngreifer nicht einmal Code einzuschleusenEr kann zu irgendeiner Funktion im existie-renden Code springen oder Guumlltigkeitspruuml-fungen oder Assertions uumlberspringenHier ein Beispiel fuumlr eine Pufferuumlberlauf-

Attacke Ein eingebettetes Geraumlt misst dieWassertemperatur in einem Schwimmbe-cken und zeigt die Zeitanteile als Histo-gramm an in denen das Wasser eine be-stimmteTemperatur hatte Der Softwareent-wickler baut einen Array mit 100 positivenIntegerzahlen bei denen jedes Element miteinerGradangabe inCelsius korrespondiertElement 0 fuumlr 0deg Element 1 fuumlr 1deg und soweiter Jedesmal wenn der Sensor die Was-sertemperaturmisst wird das entsprechen-deElement desArrays umdenWert 1 erhoumlhtUm ganz sicher zu gehen stattet der Ent-

wickler denTemperatur-Arraymit viel Spiel-raum aus Er uumlbersteigt den Temperaturbe-reich bei weitem den einmenschlicher Koumlr-per aushalten wuumlrde

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012 17

EmbEddEd-SyStEmE SoftwaRE-DESign

ohne Locks fuumlr Multicore-Systeme entwi-ckeln

Echtzeit-Software ohne Echtzeit-Betriebssys-tem programmieren

InfoClick

wwwelektronikpraxisde InfoClick 3337487

wwwyakinduderequirements+492319860606

bull Komplexe software inKuumlrzester zeit spezifizieren

bull anforderungen fehlerfreierfassen

bull abhaumlngigKeiten von diagram-men und modellelementenautomatisch darstellen

bull aufwaumlnde von aumlnderungenKennen bevor sie entstehendurch vollstaumlndigestracing

bull manager fachanwenderund entwicKler sprechenendlich von denselbendingen

yaKindu requirementsdie software fuumlr requirementsengineering und traceability

IHRNUTZEN

Bis eines Tages der Angreifer den Sensoraus demWasser nimmt und mit einem Feu-erzeug aufheizt Sobald der Sensor einenWert misst der 100deg uumlbersteigt verletzt dieSoftware fuumlr das Histogramm-Update eineSpeicheradresse die hinter dem Ende desTemperatur-Arrays liegt Wenn dort Datenliegen hat der Angreifer die Daten korrum-piert Steht dort Maschinencode dann hatder Angreifer die ausfuumlhrbare Software kor-rumpiert In jedemFall ist es ein schaumldlicherEingriff Bitte beachten Sie dass auch dafuumlrweder eine Internetverbindung noch eineVerbindung zu einem externen Netzwerknoumltig war Ein Feuerzeug genuumlgteWie koumlnnen wir Pufferuumlberlaumlufe vermei-

denDie Schwachstelle ist soweit verbreitetdass ein mehrstufiger Ansatz am besten istVerhindern Entdecken Heilen Im Beispielunseres Schwimmbeckens sollten Sie expli-zit pruumlfen dass keine Temperatur ermitteltwird die der von Eis (unter 0deg) oder heiszligemDampf (uumlber 100deg) entsprichtVerhindern Sie Pufferuumlberlaumlufe auch in-

dem Sie gefaumlhrliche Bibliotheksfunktionenvermeiden (wie gets()) und Vorsicht bei an-deren walten lassen (wiememcpy())

bdquoAnstreicherldquo-Methodeermittelt PufferuumlberlaumlufeEntdeckenSie Pufferuumlberlaumlufe indemSie

wie ein Anstreicher vorgehen Erweitern SiedenPuffer anbeidenEnden etwas Fuumlllen Siedie Erweiterungsbereiche mit ungewoumlhnli-chem Inhalt den ich bdquoAnstrichldquonenne zumBeispiel eine Falle in derMaschinenspracheIhres Prozessors Dann pruumlfen Sie den bdquoAn-strichldquo wiederholt zur Laufzeit Wenn derAnstrich uumlberschrieben wurde haben Sieeinen Pufferuumlberlauf entdeckt2 Tricksereien mit ZeigernWenneinAngreifer einenDatenzeigermo-

difizieren kann dann kann der Angreifernach eigenemGusto an jededenkbare Stelleverweisen Wenn ein Angreifer einen Funk-tionszeiger uumlberschreiben kann dann ist erauf einemgutenWeg seinenCode auf IhremProzessor auszufuumlhren3 Dynamische SpeicherzuweisungDie Verwendung dynamischer Speicher-

zuweisungen ist in vielen sicherheitskriti-schenSystemenwie der Luft- undRaumfahrtverbotenAngreifer sindheiszligdarauf solcheDefekte zu finden da sie eine guumlnstigeGele-genheit bieten die Sicherheit eines Embed-ded-Systems zu verletzenEin besonders empfindlicher Fehler ist es

die Pruumlfung zu unterlassen ob eineAnfragezur Speicherzuweisung erfolgreichwar odernichtMancheMechanismengebenanstelleeines Zeigers auf einen Speicherpuffer den

Wert Null aus wenn kein verfuumlgbarer Spei-cher mehr vorhanden ist Wenn die Anwen-dungssoftware diesen Nullwert als Zeigerbehandelt wird sie in einen Puffer hinein-schreiben der an der Speicheradresse NullbeginntViele Angreifer wuumlrden sich freuen wenn

Ihre Software dies taumlte Angreifer wissendass eingebettete Software oft eingeschraumlnk-te Speicherressourcen hat Sie setzen allesdaran den Speicher auszuschoumlpfen indemsie den Speicherzuweisungsmechanismusdazu zwingen mehr Speicher als sonst uumlb-lich zu belegen ndash vielleicht durch einge-schleusten Code der Speicherlecks enthaumlltSie koumlnnenauchversuchen IhrDatenabfra-gesystem mit houmlheren Datenmengen oderDatenraten zuuumlberflutenndash inderHoffnungdass dieDatenlawine Ihre Speicherkapazitaumlterschoumlpft Und dannWenn Ihre Software einen Speicherpuffer

anfragt aber die Pruumlfung unterlaumlsst ob dieZuweisung fehlgeschlagen istwird sie einenPuffer anderAdresseNull eroumlffnenundalleszertrampeln was vorher dort gewesen istWenn zumBeispiel die Flags fuumlr das Ein- undAusschalten von Interrupts an dieser Stellestehen koumlnnte dadurch die Verbindung derSoftware zudenHardware-Interfaces anderPeripherie unterbrochenwerdenDas koumlnn-te dazu fuumlhren dass Ihr System nicht mehrin die Hardware eingebunden ist FG

D Kalinsky Associates +1408 749 8562

Kleine Angriffsflaumlche Die perfekte Absicherunggegen Angreifer im Web gibt es nicht Wichtig ist esaber sich um die die gaumlngigen Schwachstellen zukuumlmmern

PikeResearch

18

SyStementwurf AudiodAten uumlbertrAgen

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Audiosignale drahtlosmit Licht uumlbertragen

Audiosignale mit maximal 48 kBits mit Laser oder High-Power-LEDuumlbertragen Wir stellen Ihnen eine Schaltung vor die Audiosignale in

groszligen Raumlumen mit hoher Funkbelastung sicher transportiert

IgOR ZImmERmANN

Igor Zimmermann ist Entwickler fuumlr Embedded-Systeme bei der Mixed Mode GmbH inMuumlnchen

Funkuumlbertragungen haben sich vor al-lem im privaten Umfeld in den letztenJahren durchgesetzt Allen voran im

Multimediabereich seien hier kabelloseKopfhoumlrer genannt oder dieWLAN-Uumlbertra-gung Um bei der digitalen Audiouumlbertra-gung zu bleiben Mit der Digitalisierung derMultimediadaten entstand das Beduumlrfnisdiese digitalenAudiodatendrahtlos zu trans-portieren Hier sind im Speziellen drei Fre-quenzbaumlnder relevantDas 24-GHz-Band mit Frequenzen von24 bis 25 GHzDas 5-GHz-Band mit Frequenzen von5725 bis 5875 GHz und das 433-MHz-Band mit Frequenzen von43305 bis 43479 MHz

Wenn sich die Frequenzbaumlnderuntereinander stoumlrenDie ersten beiden Frequenzbaumlnder sind

alle fuumlrAudio-Uumlbertragungsgeraumlte geeignetdie uumlberWLANoder Bluetooth senden Her-koumlmmliche Funkkopfhoumlrer und Funklaut-sprecher benutzen das Band mit 433 MHzAlle drei Frequenzbaumlnder koumlnnen frei be-nutztwerdenwas auchgleichzeitig ein Pro-blem darstellt So sendet im 24-GHz-Bandbeispielsweise dieMikrowellewaumlhrenddas433-MHz-Band von etlichen anderen Funk-verbindungen verwendet wird Durch diegemeinsame Nutzung koumlnnen gegenseitigeStoumlrungen auftretenEine Uumlbertragung mit Licht ist gegen Stouml-

rungen aus diesen Baumlndern unempfindlichAuch inUmgebungenmit starker Funkbean-spruchungkannauf dieseWeise eineAudio-Signaluumlbertragung erfolgen Ein weitererVorteil ist die Reichweite die bei einerUumlber-tragung mit Licht erreicht werden kann

Audiosignale uumlbertragenMit Licht lassen sich groszlige Entfernungen uumlberbruumlcken wobei die APU allessteuert (Illustration)

FotoKlickerpixeliode

Audiosignale drahtlos uumlbertragen Schematischer Aufbau der Schaltung mit Audio Processing Unit

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

Waumlhrend eineUumlbertragung indengenanntenISM-Baumlndern auf einige hundert Meter be-schraumlnkt ist koumlnnenmit Licht groszligeDistan-zen uumlberwunden werden

Schaltung uumlbertraumlgt drahtlosAudiosignale mit LichtIm folgenden wollen wir Ihnen eine neu-

entwickelte und bereits im realen Einsatzgetestete Schaltung vorstellen die drahtloseAudiosignale mit Licht uumlbertraumlgt Die maxi-maleAudioqualitaumlt des Signals darfmaximal48 kBits betragen Die Schaltung setzt aufeinem Mikrocontroller zur Steuerung einesAudio-Codecs auf Die Entwicklung ist durchdie Visible Light Communication (VLC) ins-piriert Das Signal wird uumlber eine Treiber-schaltung entweder per Laser oder High-Power-LED uumlbertragen Auf der Empfaumlnger-seitewirddas Signal uumlber einenAudio-Codecindasurspruumlngliche Format ruumlckgewandeltEinsatzbereiche sind groumlszligere Raumlume in de-nen einehoheFunkbeanspruchungherrschtZum erfolgreichen Versenden der Audio-

informationenwerden zweiAusgabendieserSchaltung benoumltigt Die Versorgungsspan-nung betraumlgt 12 V Auf Senderseite kann derBenutzer eine von drei verschiedenen Sig-nalartenwaumlhlen die uumlbertragenwerden soll analoges Audiosignal Klinke (TRS Ana-log Audio In) digitales SPDIF-Signal Anschluss uumlberCinch (RCA Electrical SPDIF In) optisches SPDIF Signal Anschluss uumlberToslink (Toslink Optical SPDIF In)

APU mit Audio Codec undKonfigurationsregisternDie Konfiguration der Signalart erfolgt

uumlber ein Display und vier Taster (S1 S2 S3S4 und Display) Das Display und die Tastersind an einen Mikrocontroller angeschlos-sen der die Auswertung der Einstellungenvornimmtunduumlber einen Isup2C-Bus andieAu-dioProcessingUnit (APU)uumlbertraumlgt DieAPUbesteht aus einem Audio-Codec und besitztKonfigurationsregister zumSpeicherndieserEinstellungen Uumlber diese Register koumlnnenauch Manipulationen an den Statusbits desSPDIF-Signals vorgenommen werden DieAPU verfuumlgt zudem uumlber ein integriertes di-gitales Interpolationsfilter und ein Antialia-sing-Filter Das hat den Vorteil dass eineexterne Filterung uumlberfluumlssig wird Das Isup2S-Interface uumlber das andere Audio-Kompo-nentenmit derAPUkommunizieren koumlnnensteht demBenutzer ebenfalls zurVerfuumlgungEin- undAusgaumlnge koumlnnenasynchronbe-

trieben werden Das erzeugte Signal wird inein SPDIF-Format gewandelt und dem La-sertreiber oder dem LED-Treiber zur Verfuuml-

Via Laser oder High-Power-LEDAudiosignale drahtlos mit Licht uumlbertra-gen Die von uns vorgestellte Schaltungsetzt auf einen Mikrocontroller der denAudio-Codec steuert wobei die Qualitaumltdes Signals maximal 48 kBits betragendarf Der Mikrocontroller ndash die AudioProcessing Unit ndash ist das Herzstuumlck die-

ser speziellen Treiberschaltung der dasAudiosignal via Laser oder High-Power-LED uumlbertraumlgt Mit den Konfigurations-registern lassen sich die Einstellungenfuumlr die Codes speichern und es lassensich Manipulationen an den Statusbitsdes SPDIF-Signals vornehmen

SyStementwurf AudiodAtEn uumlbERtRAgEn

19

telekommunikation von Mixed Mode

InfoClick

wwwelektronikpraxisde InfoClick 3343108

gung gestellt Aus Sicherheitsgruumlnden wirdder Lasertreiber uumlber eine vomMikrocontrol-ler gesteuerte Enable-Leitung ein- und aus-geschaltet Als Laserquelle dient eine Laser-diodeDer Lasertreiber ist zwar speziell auf diese

Laserdiode eingestellt kann aber durch an-dere Laserdioden ersetzt werden Die Aus-gangsleistung der Modulationsstrom derGleichstromanteil und der Temperaturkoef-fizient der Laserdiodenwerdenuumlber externeWiderstaumlnde des Lasertreibers dimensio-niert Die Laserdiode ist an einem Kupfer-block angebracht der dieKuumlhlungderDiodeund die Fokussierung des Laserlichts uumlbereine Linse im Inneren uumlbernimmt Der LED-Treiber der ein IR-Treiber oder ein High-Po-wer-LED-Treiber sein kann besteht aus zweischaltbarenKonstantstromquellenundkannbis zu vier High-Power-LEDs versorgen

Audioqualitaumlt liegt beiaktuell 48 kBitsAuf der Empfaumlngerseite muss der Light

Receiver alsQuelle ausgewaumlhltwerdenDie-ser Light Receiver umfasst je eine Empfangs-einheit fuumlr sichtbares und infrarotes Licht(Visible Light und Infrared Light Receiver)

Beide Empfangseinheiten bestehen aus ei-nemPhotodetektor und einemnachgeschal-teten Transimpedanzverstaumlrker Das vomTransimpedanzverstaumlrker erzeugte Signalwird anschlieszligendSPDIF-gerecht aufberei-tet und an die Audio Processing Unit weiter-geleitet und kann an einem der sechs An-schluumlsse abgegriffen werdenDiemaximaleAudioqualitaumlt der Schaltung

liegt zur Zeit noch bei 48 kBits da die Emp-fangseinheit Signalemit einer Frequenz vonmaximal 31 MHz zuverlaumlssig empfangenkannDiemaximaleReichweite die bei einergerichteten Uumlbertragung mit Laser erreichtwerden konnte betraumlgt aktuell 15 m DurchdenEinsatz vonoptischenHilfsmitteln kannjedoch eine weitaus houmlhere Reichweite er-reicht werden HEH

MixedMode +49(0)89 89868240

20

ProgrammiersPrachen Sichere Software

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Stabile Embedded-Systememit der Programmiersprache Ada

Mit der Programmiersprache Ada laumlsst sich sicherheits- und missions-kritische Software entwickeln wovon Embedded-Systeme profitieren

sollen Wir stellen Ihnen die Programmierumgebung vor

JOhANNES KANIg

Johannes Kanig ist Senior Software Engineer beiAdaCore

WashabenARGOS einSatellitenpro-gramm zur Sammlung von Um-weltdaten unddas Traumlgheitsnavi-

gationssystem des Airbus 350 XWB mitein-ander gemeinsam Beide stellen besondereAnforderungenan ihre Steuerungssoftwaredie sehr sicher und in Echtzeit reagierenmuss und deren eventuelle Fehler viel Geldoder sogar Menschenleben kosten koumlnnenIn beiden Faumlllen ist die Software missions-kritisch wenn beispielsweise durch einenFehler der Satellit verloren gehen kann odersicherheitskritischwenndurch einenFehlerdie Passagiere des Airbus inGefahr geratenBeide Systeme haben noch etwas gemein-sam sie sind in Ada geschrieben

Ein Traumlgheitsnavigationssystem stellt ho-he Anforderungen an seine Embedded-Ap-plikationen die sehr Hardwarenah laufenDabei wird auf Sicherheit groumlszligter Wert ge-legt Die Anwendung darf unter keinen Um-staumlnden abstuumlrzen und sollte ihre Funktionerfuumlllen sowie maximale Reaktionszeitenstrikt einhalten Fuumlr sicherheitskritischeAn-wendungen werden in der Regel vor demeigentlichen Entwicklungsprozess genaueHigh-Integrity-Anforderungen aufgeschrie-ben denenderProgrammcodedannentspre-chenmussNatuumlrlich ist es fuumlr denProgram-mierer einfacher wenn die Sprache direktKonstruktionen anbietet die bestimmtenArten von Anforderungen entsprechen

Lesbarer Code vermeidetFehler beim programmierenDie Entwickler der Programmiersprache

Adahaben stets besonderenWert auf Lesbar-keit undWartbarkeit gelegt Das aumluszligert sich

unter anderem in syntaktischenUnterschie-den mit Sprachen wie C oder Java Zum Bei-spiel verzichtet Ada voumlllig auf geschweifteKlammern und nutzt stattdessen leicht les-bare Schluumlsselwoumlrter um Bloumlcke zu kenn-zeichnen So werden if-Bloumlcke mit einemend if undSchleifenmit einemend loopabgeschlossen Im Allgemeinen vermeidetAdaSymbolewoSchluumlsselwoumlrter Sinn erge-ben So wird auch der in C uumlbliche Stern zurBezeichnung von Zeigern durch das Schluumls-selwort access ersetzt Ada beachtet Groszlig-und Kleinschreibung nicht um Verwechs-lung von zu aumlhnlichen Bezeichnern zu ver-meiden Und schlieszliglich vermeidet Ada diein Java und C verbreitete Praxis oktale Zah-len mit einer fuumlhrenden Null darzustellenNeben diesen syntaktischen Unterschie-

den gibt es auch viele semantische Hilfenum lesbare undbesserwartbare Programmezu schreiben Sowird die Relation zwischeneiner Funktion und ihren Parametern durchSchluumlsselwoumlrter wie in (nur lesen) out(nur schreiben) oder in out (beides) doku-mentiert Ada ist imGegensatz zuC eine starkgetypte Sprache Typkonversionen die zuLaufzeitfehlern fuumlhrenkoumlnnenmuumlssten ex-plizit geschrieben werden Ada erlaubt imGegensatz zu manchen anderen Sprachendie Einfuumlhrung von benutzerdefinierten In-tegertypen die Absichten des Programmie-rers dokumentieren (DieseVariable enthaumlltZahlen zwischen 1und 100) unddie korrek-te Ausfuumlhrung mit Laufzeituumlberpruumlfungensicherstellen Diese semantischen Eigen-schaften erleichtern den direkten Vergleichdes Programmcodes mit den an ihn gestell-ten Anforderungen

Besonderheiten bei derEmbedded-ProgrammierungBei Echtzeitanwendungenhandelt es sich

meist um parallele Anwendungen denn inder Regel werden mehrere Berechnungengleichzeitig durchgefuumlhrt undneueEreignis-se verarbeitet In diesem Kontext ist es be-

Umweltsattelit Die Steuerungssoftware muss sich besonderen Anforderungen stellen Mit der Program-miersprache Ada laumlsst sich sicherheits- und missionskritische Software entwickeln (Im Bild der Umwelt-satellit ENVISAT)

fotoD

Lr

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

sonders wichtig dass Reaktionszeiten derSoftware auf Ereignisse garantiert werdenkoumlnnen Hier ist es nuumltzlich dass Ada einfa-che Sprachfeatures zur Beschreibung vonparallelen Prozessen bereitstellt Es ist ent-scheidend dassAdakeinenGarbageCollec-tor benoumltigt der denProgrammablauf verzouml-gern koumlnnte Ein manueller Umgang mitThreads ist alsonicht noumltig Unvorhersehba-re Latenzzeiten die bei sicherheitskritischenAnwendungen unakzeptabel sind werdenausgeschlossen Ein weiteres Argument fuumlrden Einsatz von Ada im Embedded-Bereichist seine Faumlhigkeit zur Low-Level-Program-mierung Damit kann beispielsweise die ge-naue Auslegung einer Datenstruktur imSpeicher festgelegt werden Als gefaumlhrlicherachtete Low-Level-Features wie zum Bei-spiel dasAuslesenbeliebiger Speicherberei-che oder auch die in C beliebte Pointerarith-metik sind in Ada nur unter Umgehung desTypsystemsmoumlglich

Ada ndash Die Programmierspracheohne UumlberraschungenAda wird oft als Sprache ohne Uumlberra-

schungen bezeichnet Mechanismen zurProgrammstrukturierung wie es sie in Adagibt also ein Objektsystem oder ein Paket-system sind sehr hilfreich wenn es darumgeht umfangreiche Programme zu schrei-ben Der Ada-Standard sieht sogenanntePragma-Restriktionen vormit denen festge-legt werden kann ob Features der Spracheausgeschlossenwerden sollenDamit lassensich interne Coding-Standards uumlberpruumlfenDieses Feature kannmanmit dem StandardMISRA-CC++vergleichen der versucht einesichere Teilmenge von C beziehungsweiseC++ zu definieren Ada bietet den Vorteildass viele Konstrukte vondenenMISRAab-raumlt gar nicht geschrieben werden koumlnnenund dank des starken Typsystems mehrUumlberpruumlfungenmoumlglich sindDie Programmiersprache Ada gibt es seit

demBeginn der achtziger Jahre Die damali-ge Version Ada 83 enthielt bereits eine guteBasis fuumlr die strukturierte undmodulare Pro-grammierung wie ein Paketsystem das dieKapselung von Daten und Algorithmen er-moumlglicht Seitdem hat sich Ada kontinuier-lich weiterentwickelt So erschien 1995 derAda-95-Standard der die Sprache um einObjektsystem erweiterte Der naumlchste Stan-dard Ada 2005 brachte Verbesserungen imUmgang mit Zeigern die als konstant oderauch als not null deklariert werden koumln-nen Das stellt vor allem eine umfangreicheErweiterungder Standardbibliothekdar dienun auch Container enthaumllt Das Objektsys-temwurde umdas Interface-Konzept erwei-

PRAxISWERT

Adacore Software-loumlsungen fuumlr AdaAdaCore wurde 1994 gegruumlndet undist der fuumlhrende Anbieter von kom-merziellen Softwareloumlsungen fuumlr Adaeiner modernen Programmiersprachefuumlr Mission-Critical-Anwendungen insicherheitskritischen UmgebungenDas wichtigste Produkt ist die Ent-wicklungsumgebung GNAT Pro dieOnline-Support bietet und auf mehrPlattformen als jede andere Ada-Tech-nologie verfuumlgbar ist Unternehmenwie Boeing HP Krauss-Maffei oderSiemens setzen AdaCore-Loumlsungenfuumlr sicherheitskritische Anwendun-gen ein Hauptsitz ist New York daseuropaumlische Headquarter ist in Paris

tert so dass nun auch Mehrfachvererbungmoumlglich istDer naumlchste Standard ist fuumlr 2012 vorgese-

hen Darin sind die aus der Programmier-spracheEiffel bekanntenVertraumlge (contracts)vorgesehen die jeder Funktion zwei Boole-scheAusdruumlcke hinzufuumlgen koumlnnen die voroder nach Ausfuumlhrung der Funktion wahrsein sollenDieseAusdruumlcke sind im Idealfalldirekt von den Anforderungen an die Soft-ware abgeleitet Sie koumlnnen als formale Do-kumentation als zusaumltzlicheUumlberpruumlfungenzur Laufzeit oder als Ausgangspunkt fuumlr sta-tische Analysen dienen Eine weitere Neue-rung ermoumlglicht dieDefinition vonTypenmitso genannten Invarianten Damit sind Boo-lesche Ausdruumlcke gemeint die fuumlr Wertedieses Typs immer wahr sind Schlieszliglichgibt es viele andereWeiterentwicklungenwieeine Python-aumlhnliche Syntax zur Iterationuumlber Container und Verbesserungen implattformuumlbergreifenden Umgang mit ne-benlaumlufigen Prozessen und Multiprozesso-ren hEh

AdaCore +33(1)4970 6716

ProgrammiersPrachen SiCHERE SOfTwARE

21

Adacore-Entwicklungswerkzeuge

Ada Deutschland

InfoClick

wwwelektronikpraxisde infoclick 3343168

Bei unsbewegtsich was

Webcasts aufwwwelektronikpraxisde

Finden Sie die Loumlsung fuumlr IhrProblem ndash als Video oderAudiodatei

Beispiele fuumlr Webcasts

Anwendungsbeschreibungenkomplexer erklaumlrungsbeduumlrftigerProdukte

anwendungs- und loumlsungsorien-tierte Produktpraumlsentationen

vertonte Powerpointpraumlsentati-onen ProduktanimationenExperteninterviews oderMesseberichte

Online-SeminareOnline-Konferenzen

Schauen Sie doch mal rein---gt wwwelektronikpraxisde

CAST

wwwvogelde

0726

4

22

EmbEddEd-SyStEmE Software-architektur

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Von der impliziten zur explizitenSoftware-Architektur

Im Bereich der Unternehmenssoftware ist das Festlegen einer Soft-ware-Architektur heutzutage Standard doch bei der Embedded-Ent-

wicklung wird dieser Aspekt haumlufig noch vernachlaumlssigt

MIchAEL STuRM chRISTIAN hOcK

Dr Michael Sturm leitet die Abteilung Softwarepro-dukte im Geschaumlftsbereich Industrybei der Berner amp Mattner Systemtech-nik in Muumlnchen

Dr christian hock ist verantwortlich fuumlr die strate-gische Ausrichtung des Geschaumlfts-bereiches Industry bei der Berner ampMattner Systemtechnik in Muumlnchen

Eine dokumentierte Software-Architek-tur hat klare Vorteile Produkte sindanpassungsfaumlhiger und zukunftssiche-

rer Auszligerdem erleichtert das Wissen umSchnittstellen Kommunikationsbeziehun-genundRessourcen einzelner Komponentenderen Anpassung an neue Hardwarebedin-gungenundFunktionsanforderungenNichtnur beiNeuentwicklungen sondern auchbeiModernisierungen bestehender Embedded-Loumlsungen lohnt es sich einen Software-Ar-chitekten einzubinden um Weiterentwick-lungenauf ein zukunftssicheres Fundamentzu stellen

Begruumlndete Technologie-entscheidungen treffenUnter Software-Architektur versteht man

die strukturierteAnordnungderKomponen-ten eines Systems mit Informationen zurKommunikation zwischen den Komponen-ten sowie deren Abbildung auf Hardware-oder Softwareressourcen Eine fruumlhzeitigeundprojektbegleitendeUnterstuumltzungdurcheinen den einzelnen Entwicklerteams moumlg-lichst neutral gegenuumlberstehendenSoftware-Architekten ist die ideale Loumlsung EineReihevon Aufgaben kann man dieser Instanz zu-ordnen in vielenBereichengeht es aber aucheinfach umModerationEine zentraleAufgabeder EmbeddedSoft-

ware-Architektur ist es nicht nur die funkti-onalen Anforderungen an die Software zuberuumlcksichtigen sondern auch nichtfunkti-

in seiner Loumlsungsfindung eingeschraumlnktsein Bewaumlhrte Loumlsungsansaumltzewerdendannoft unhinterfragt wiederholt Neue moumlgli-cherweise besser geeignete und insbesonde-re flexiblere Technologienbleibenunberuumlck-sichtigt

Zusammenhaumlnge muumlssennachvollziehbar bleibenDaher kannes zumBeispiel zudenAufga-

ben eines Software-Architekturteams oderexternen Beraters gehoumlren neue Technolo-

Groszliges Vorbild Softwaresysteme lassen sich hinsichtlich ihrer Komplexitaumlt mit Gebaumluden wie Antoni Gau-diacutes Kirche Sagrada Familia in Barcelona vergleichen Eine in sich schluumlssige Architektur ist deshalb auch imSoftwarebereich unerlaumlsslich

iStockph

otoham

ishBa

rrie

onale Anforderungen zu erfassen und zwarvor dem Hintergrund einer Lifecycle-Prog-nose Unter diese nichtfunktionalen Anfor-derungen fallen so komplexe Punkte wieWartbarkeit Modifizierbarkeit Skalierbar-keit Portierbarkeit Konnektivitaumlt Benutz-barkeit Zuverlaumlssigkeit Sicherheit Perfor-mance Effizienz oder TestbarkeitSo vorteilhaft ein eingespieltes Entwick-

lerteam fuumlr die Kommunikation ist so sehrkann es auch durch die Erfahrung aus Vor-gaumlngerprojekten oder aumlhnlichen Projekten

23

EmbEddEd-SyStEmE Software-architektur

gien zu evaluieren und auf Eignung fuumlr Pro-jekte zu pruumlfen sowie neue Toolsets zur Ver-fuumlgung zu stellen Kuumlnftig benoumltigteKompo-nenten muumlssen identifiziert werden undwenn es darum geht fuumlr einzelne Kompo-nenten optionale Technologien vorzuschla-gen bewaumlhrt sich haumlufig das Einschalteneines neutralen ArchitekturbeauftragtenEs geht um die Diskussion von Design-

Entscheidungen dieDefinition vonSchnitt-stellen und die Entwicklung von CodingConventions Unter der Moderation einesSoftware-Architekten erfolgen diese Ent-scheidungen bewusster und werden besserdokumentiert Nur sobleibendie Zusammen-haumlnge innerhalb eines Systems auch fuumlr Ent-wickler nachvollziehbar die spaumlter einmalan ihm arbeitenmuumlssen und nichts von denimplizitenAnnahmenund teaminternenGe-pflogenheiten seiner Schoumlpfer wissen

Implizite Architekturen sindimmer vorhandenIn der taumlglichen Praxis der Embedded-

Entwicklung sieht es leidermeist anders ausZeit- und Kostendruck verhindern oft dassGedankenundArbeit in eine systematisierteSoftware-Architektur flieszligen Hier koumlnnenSoftwarearchitekten auchdurchdieAuswahlgeeigneter Methoden und Tools weiter hel-fen So kann die dynamische Entwicklungheutiger Industrieproduktemit agilenAnsaumltzenunterstuumltztwerdenAuch einstrikt modellbasierter Entwicklungs-ansatz also die Modularisierung mitklar definierten Schnittstellen ist einMittel um einen hohen Reifegrad zuerreichen Die Vorteile dieses Vorge-henshaben sich in vielenProjektenbeiBerner amp Mattner in der Entwicklungvon Funktionserweiterungen gezeigtDank des modellbasierten Ansatzeskonnten diese mit minimalem Auf-wand realisiertwerdenndashunddies ins-besondere auch von urspruumlnglichnicht beteiligten EntwicklernAber Fakt ist Jedes Softwaresystem

hat eineArchitektur auchwenndiesenicht explizit modelliert wurde Ent-stehendiese Strukturenungeplant ausder Dynamik der Komponentenent-wicklung heraus tut dies der Funkti-onalitaumlt der Software zunaumlchst keinenAbbruch Probleme treten erst spaumlterauf wenn es umWartung Skalierungoder Portierung gehtImNachhinein raumlcht sichdann zum

Beispiel die Wahl einer bestimmtenProgrammiersprache oder einerSchnittstelle die unter dem Zeit- undKostendruck imEntwicklungsprozess

schnell und dazu noch undokumentiert ge-troffenwurdeDieKommunikation zwischeneinzelnen nicht klar getrenntenKomponen-ten war moumlglicherweise nur oberflaumlchlichgeloumlst anstatt schon bei derWahl der Tech-nologien und Sprachen darauf zu achtenReibungspotenziale zu minimieren

Zu enge Abhaumlngigkeiten vonder Hardware vermeidenWird ein Softwareprojekt nicht in Bezug

auf seinengesamtenLebenszyklus gesehenbesteht bei Embedded-Projekten auch dieGefahr dass ungewollteAbhaumlngigkeiten zurEntwicklungs-Hardware entstehen Die An-passung an neue Hardwaregenerationenkann dadurch sehr aufwaumlndig oder gar un-moumlglich werdenEine klar strukturierte unddokumentierte

Software-Architektur wird erst dann ver-misst wenn es bei der notwendigenWeiter-entwicklung Fragen und Schwierigkeitengibt Oft sollen wesentliche Teile der Soft-ware beibehalten aber zum Beispiel an einneuesBenutzerinterface angeschlossenwer-denManchmal ist der Controller fuumlr den siegeschrieben wurde nicht mehr verfuumlgbarund sein Nachfolger ist anders aufgebautFunktionenmuumlssen erweitert zusammenge-fuumlhrt oder auf geaumlnderte externe Systemeangepasst werden Die Pflege oder Weiter-

PRAxISWERT

Fehler lassen sichverhinderneine klar definierte und stringenteSoftware-architektur hilft die Zusam-menhaumlnge innerhalb eines Systemsbesser zu verstehen Dies verhindertfehler und senkt nicht zuletzt denaufwand bei der eventuell noumltigenbdquoaltbausanierungldquo von embedded-Systemen

Nachtraumlgliche Analyse nuumltztwurde die Software-architektur inder embedded-entwicklung vernach-laumlssigt lohnt sich angesichts der zuerwartenden langen einsatz- und Le-benszeiten vieler embedded-Systemeauch eine nachtraumlgliche analyse undDokumentation andernfalls drohenmoumlglicherweise immer wieder unkal-kulierbare Verzoumlgerungen wenn war-tungs- oder weiterentwicklungsarbei-ten eventuell auf undokumentierteeigenheiten des Systems stoszligen

H

SIG

HPEED

ROBUST

FLEXIBLE

TriCore Power Architecturebull

XC2000XE166 SH-2A XScalebull bull

Cortex M0M3M4 Cortex R4 Cortex A8 ARM7911bull bull bull

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

24

EmbEddEd-SyStEmE Software-architektur

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Literaturhinweise[1] Pete Goodliffe code craftthe Practice of writing excellent codeNoStarch Press 2006

[2] Peter hruschka Gernot Starkeknigge fuumlr SoftwarearchitektenentwicklerPress 2012

[3] craig Larman applying uML and Pat-terns an introduction to object-orien-ted analysis and DesignPrentice hall 2004 (3 auflage)[4] Berner amp Mattner-fachartikel bdquoSoft-warearchitektur in eingebetteten Syste-menldquo ndash httpbitlyJosXYw

entwicklung eines solchen Systemswird fuumlrden Produktverantwortlichen zu einerschwer kalkulierbaren Kostenquelle vor al-lem dann wenn er nicht mehr auf den KerndesurspruumlnglichenEntwicklerteams zuruumlck-greifen kannHilfestellung in solchen Situation bieten

Spezialisten wie Berner amp Mattner die Alt-systeme analysieren bestehende Software-Architektur nachdokumentierenundmoumlgli-che Migrations- und Aumlnderungspfade iden-tifizieren Als externe Architekturberaterkoumlnnen sie unbelastet von der Softwarehis-torie untersuchen wo in der Struktur derSoftware Problemfelder liegen und Loumlsun-gen vorschlagenDerAufwand fuumlr PflegeundWeiterentwicklung laumlsst sich auf Basis einersolchen Analyse besser beurteilen

Regeln aufstellen ndash und sierichtig brechenBesonders spannend wird das Thema bei

zertifiziertenEmbeddedSystemen Einehaumlu-fige Herausforderung ist dass die Softwareoder wesentliche Teile zertifiziert sind umeinem SIL (Safety Integrity Level) zu genuuml-gen Selbstverstaumlndlich moumlchte niemanderneut eine IEC 61508-Zertifizierung durch-laufen wenn sich dies vermeiden laumlsstGluumlcklicherweise sind oft nur einzelne rele-vante Teile des Systems als sicherheitskri-tisch eingestuft Die Kunst des Architektur-beraters ist es die Stellen in der Software zufinden andenendie Schnitte angesetztwer-denkoumlnnenndashund zwar zwischenden sicher-heitskritischen Teilen und den Teilen undSchnittstellen die problemlos geaumlndertwer-den koumlnnenHierzu nutzt der Berater gaumlngige Design-

Patternswie etwaSchichtenoder bdquopipes andfiltersldquo Ironischerweisemusshaumlufig das aufdieseWeise entstandene Regelwerk die ab-geleiteteArchitektur fuumlr das eigentlicheEnt-wicklungsprojekt gleich wieder gebrochenwerden eben um zertifizierte Bestandteileunveraumlndert zu erhalten Der groszlige Unter-schied zu den bdquoRegelverletzungenldquo aus derEntstehungszeit der urspruumlnglichen Soft-

ware liegt aber darin dass sie nun ausfuumlhr-lich dokumentiert werdenEs waumlre ein Missverstaumlndnis Software-

Architektur als ein unveraumlnderliches Doku-ment zu verstehen das man nur selten wie-der in die Hand nimmt Es sollte bei jederArbeit an der Software gelesen und gepflegtwerden Ohne dieses lebendige Dokumentwerden Architekturverstoumlszlige oft gar nichtbemerkt Vereinbarungen zu ArchitekturCodingConventions Schnittstellen etcwer-dendadurch fuumlr denEntwickler verbindlich

Architektur muss als Prozessverstanden werdenDer Auftraggeber erhaumllt so ein Embedded

System dessen Pflege er in die Haumlnde einesneuenTeamsgebenkannDie nun freigewor-denen Spezialisten die es erstellt habenkoumlnnen getrost an anderer Stelle eingesetztwerdenDabei gilt Software-Architektur endet nie

DennauchvondenEntwicklern einzusetzen-deDesign-Methodenwie zumBeispiel ObjectOrientedAnalysis andDesign (OOAD)habenklare Strukturen und die Trennung von Zu-

staumlndigkeiten zum Ziel - das ist eindeutigArchitekturEine klare Software-Architektur hilft die

Zusammenhaumlnge innerhalb eines Systemsbesser zu verstehen Dies verhindert Fehlerund senkt den Aufwand bei der bdquoAltbausa-nierungldquo von Embedded Systemen Wurdedie Software-Architektur in der Embedded-Entwicklung vernachlaumlssigt lohnt sich an-gesichts langer Einsatz- und Lebenszeitenvieler EmbeddedSystemeauchdie nachtraumlg-liche Analyse und Dokumentation Andern-falls drohen immer wieder unkalkulierbareVerzoumlgerungen wenn Wartungs- oder Wei-terentwicklungsarbeiten auf undokumen-tierte Eigenheiten des Systems stoszligen Beistark eingefahrenen Teams bzw zum Wis-sensaufbaubietet sichhier ein externer Soft-warearchitekt anDie meisten Fehler durch menschliches

Versagen entstehen dort wo wir nicht ver-stehen woran wir bdquoschraubenldquo Eine expli-zite Architektur traumlgt maszliggeblich dazu beidieWirkketten innerhalb komplexer Systemetransparent zu machen Mit diesem Wissenwerden erforderliche Aumlnderungen wesent-lich schneller bewertet und zuverlaumlssig rea-lisiert FG

Berner ampMattner +49(0)89 6080900

Zusammenhaumlnge verstehen Explizite Software-Architektur traumlgt maszliggeblich dazu bei die Wirkungs-zusammenhaumlnge komplexer Systeme anschaulich und transparent zu machen

iStockph

otoSirgunhik

Lebenslaumlnglich Software-architekturdesign

requirements engineering fuumlr embedded-Systeme

InfoClick

wwwelektronikpraxisde InfoClick 3343141

25

Kolumne

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

Mit Fragen zum ProjekterfolgPETER SIwON

Heute stelle ich Ihnen ein Wundermit-tel vormit demSie inProjekten vielEnergie Zeit und Geld sparen

Gleichzeitigmotiviert es IhreMitarbeiter DerEinsatz des Wundermittels hat sehr viel mitdem BuchstabenWwieWunder zu tun DasBeste daran Es kostet nichts undSie kennenes alle DasWundersameandiesemWunder-mittel ist allerdings dass es trotzdem zu sel-ten eingesetzt wird Ich gebe Ihnen noch einpaar TippsWie kommenSie ameffektivstenan Informationen Wie erfahren Sie amschnellstenwas andereMenschendenkenWie findenSie amschnellstenLoumlsungenDieAntwort lautet FragenUnddie beginnenoftmit wo wie wann oder wer Vielleicht sindSie jetzt uumlber diese simple Antwort ent-taumluscht nachdem ich Ihnen den Mund mitallerlei Wunderversprechungen waumlssrig ge-macht habe An dieser Stelle koumlnnten Siespaszligeshalber auf das Themaeinsteigenundfragen bdquoWie kommen Sie darauf diese Me-thode alsWundermittel zu bezeichnenldquo Siekoumlnnten aber auchgelangweilt denken bdquoWeiszligschon offene Fragen stellenldquo und aufhoumlrenzu lesen Sind Sie sich ganz sicher dass Siealle meine Argumente kennen Das ist zwaretwasmanipulativ abermit dieser Fragebrin-ge ich Sie immerhindazu IhrenStandpunktzu hinterfragen Vielleicht lautet die so pro-vozierteAntwort bdquoNaja eigentlichbin ichmirnicht sicherldquo ndash und Sie lesen doch weiterDas Praktische an solchenFragen ist dass

Sie sich von Ihrer eigenen Antwort in derRegel besser uumlberzeugen lassen Ichhaumltte Sieauch schulmeisterlich zu IhremGluumlck zwin-gen koumlnnen bdquoSie muumlssen weiterlesen weilichweiszlig dass Sie noch jedeMengeWichtigeserfahren das Sie unmoumlglich wissen koumln-nenldquo Dasmache ich aber nicht weil ich dieNachteile kenne 1 Siemuumlssen gar nichts 2Wenn Sie muumlssen dann wollen Sie nichtIhre Motivation ist gering 3 Woher will ichwissen obSie nichtmehr uumlber dieKunst desFragens wissen als ich selbst Damit die ge-rade so schoumln erzeugte Motivation nichtgleichwieder auf demAltarmeines Egos ge-opfert wird spare ichmir PseudofragenwiebdquoHab ichs Ihnennicht gleich gesagtldquo Statt-dessen bedanke ich mich bescheiden fuumlrIhreBereitschaftweiterzulesen Ich gebe zudas faumlllt mir manchmal schwerGeschriebener Text schraumlnkt dieMoumlglich-

keiten etwas einDarumstellen Sie sichbitte

die obenangedeutete Szene als persoumlnlichesGespraumlch vor In diesem Fall koumlnnte ich ausdem W-Vollen schoumlpfen Wenn Sie mir zuverstehen geben dass Sie sich selbst schonmit dem Thema befasst haben dann werdeich Sie beispielsweise fragen bdquoDas freutmich Welche Erfahrungen haben Sie ge-machtldquo oder bdquoWas wuumlrden Sie aus IhrerErfahrung empfehlenldquo Jetzt habe ich dieChance etwas von Ihnen zu lernen Gleich-zeitig spare ich Energie und Uumlberzeugungs-arbeit weil ich einfach nur zuhoumlre Ich wer-de IhreAussagendurchRuumlckmeldungenwiebdquointeressantldquo oder bdquoDa stimme ich Ihnen zuldquounterstreichen Mit meinen Fragen will ichnicht beweisen dass ich der Schlauere binsondern dass Fragen ein echtesWundermit-tel sind Durch interessiertes Nachfragenkann ich Ihnen dabei helfen neue Aspektezu entdecken Was tue ich wenn ich eineandere Meinung habe Statt Geschuumltze wiebdquoJa aberhellipldquo oder bdquoNein das kann nicht seinweilhellipldquo aufzufahren umSie rhetorisch abzu-wuumlrgen oder zu knebeln ist es erheblichnuumltzlicher die Hintergruumlnde Ihrer Darstel-lungdurchFragenherauszufinden Falls Siefalsch liegen kommen Sie vielleicht durchdenVersuchmeine Fragen zubeantwortenselbst dahinter Ich spare mir dann die an-strengende Prozedur der Gegenargumenta-tion Dann werde ich uns beide dazu be-gluumlckwuumlnschen dass wir unser Wissen ge-meinsam bereichert haben ndash denn genauso

ist es Sollte ich derjenige sein der falschliegt kann ich dazulernen ohne mir eineBloumlszlige zu gebenJetzt stellen Sie mir da ich mich als Fra-

genfreundgeoutet habe eine Fragewie bdquoWaswuumlrdenSie tunwenneinunselbststaumlndigerMitarbeiter staumlndig fragt was er tun sollldquoIch wuumlrde wie sollte es anders sein post-wendendeineGegenfrage stellen bdquoWas glau-ben Sie wuumlrde ich tunldquo und Ihnen damitschon die Antwort in den Mund legen fra-gen Tolle Fragen in solchen Situationensind Was haben Sie oder andere in aumlhnli-chen Situationen getan Warum glaubenSie hat es bisher nicht funktioniertldquo Da-nach bringe ich hoffentlich die Geduld fuumlrzweiVerhaltensweisen auf die fuumlr denErfolgeiner Frage wichtig sind Erstens halte ichden Mund um Ihnen Zeit zum NachdenkenzugebenAlsGefragter habenSie es naumlmlichnicht leicht Sie denkennun zuerst uumlbermei-ne Frage und dann uumlber Ihre Antwort nachWenn ich waumlhrend Sie gruumlbeln die Frageselbst beantworte oder noch eine Frage hin-terher schieszlige habe ich alles verdorben Ichzaumlhle also im Kopf bis 5 um diese Falle zuvermeiden Zweitens zeige ich Ihnen wennSie antworten durchAugenkontakt Nickenkurze Ruumlckmeldungen und Verstaumlndnisfra-gen mein Interesse Aktives Zuhoumlren ist diebeste Gewaumlhr dafuumlr dass mir nichts Wichti-ges entgeht und es ist ein Zeichen groszligerWertschaumltzung So gewinne ichdurchFragenund Zuhoumlren Ihre Sympathie Das Wundervollzieht sich also in drei Schritte FragenWarten Zuhoumlren Wenn Sie auf diese Weiseeine gute Idee finden goumlnne ich Ihnen IhrErfolgserlebnis und sage so etwas wie bdquoSu-per das houmlrt sich interessant anldquo Und ichlege gleichnoch eine Frage als ZugabedraufbdquoWannglaubenSiewerdenSie die Idee aus-probierenldquo Diese nachgeschobene Fragehat gegenuumlber einer Aufforderungwie bdquoPro-bieren Sie es doch morgen gleich ausldquo dengroszligen Vorteil dass ich so Ihr Gefuumlhl derEigenverantwortung erhalte bzw foumlrdere IchbeendediesenkurzenAusflug indieWelt derW-Wunder wie auch sonst mit einer FrageHaben Sie Interesse zum Thema Fragetech-nikenWollen Sie eine kostenlose Checklis-te zu Fragetechniken Dann senden Sie mirbitte eine E-Mail an psiwondie-menschli-che-Seitede hEh

Mit Fragen zum Projekterfolg Peter Siwon beschaumlf-tigt sich seit mehr als 20 Jahren mit den ThemenGehirn und Psyche im Zusammenhang mit derProjektarbeit in technischen Berufen

InfoClick 3370352

26 ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

RedaktionChefredakteur Johann Wiesboumlck (jw) ViSdP fuumlr die redaktionellen InhalteRessorts Zukunftstechnologien Kongresse Kooperationen Tel (09 31) 4 18-30 81Chef vom dienst Peter Koller (pk) Tel (09 31) 4 18-30 98Verantwortlich fuumlr dieses Sonderheft Franz Graser Tel -30 92Redaktion Muumlnchen Tel (09 31) 4 18-Franz Graser (fg) Prozessor- und Softwarearchitekturen Embedded Plattformen Tel -30 92Martina Hafner (mh) Produktmanagerin Online Embedded Software Engineering KongressTel -30 82Hendrik Haumlrter (heh) Messtechnik Testen EMV Medizintechnik Laborarbeitsplaumltze DisplaysOptoelektronik Embedded Software Engineering Tel -30 92Holger Heller (hh) ASIC Entwicklungs-Tools Embedded Computing MikrocontrollerProzessoren Programmierbare Logik SOC Tel -30 83Gerd Kucera (ku) Automatisierung Bildverarbeitung Industrial Wireless EDALeistungselektronik Tel -30 84Thomas Kuther (tk) Kfz-Elektronik Stromversorgungen Oszillatoren Passive BauelementeTel -30 85Kristin Rinortner (kr) Analogtechnik Mixed-Signal-ICs Elektromechanik Relais Tel -30 86Margit Kuther (mk) Bauteilebeschaffung Distribution Beruf amp Karriere Tel (0 81 04) 6 29-7 00Freie Mitarbeiter Prof Dr Christian Siemers FH Nordhausen und TU Clausthal Peter SiwonMicroConsult Sanjay Sauldie EIMIA Hubertus Andreae dreiplus praxisbegleitendeInnovationsfoumlrderungVerantwortlich fuumlr die Fed-news Dr Stephan Weyhe FED Alte Jakobstr 8586 D-10179 BerlinTel (0 30) 8 34 90 59 Fax (0 30) 8 34 18 31 wwwfeddeRedaktionsassistenz Eilyn Dommel Tel -30 87RedaktionsanschriftMuumlnchen Grafinger Str 26 81671 Muumlnchen Tel (09 31) 4 18-30 87 Fax (09 31) 4 18-30 93Wuumlrzburg Max-Planck-Str 79 97082 Wuumlrzburg Tel (09 31) 4 18-24 77 Fax (09 31) 4 18-27 40LayoutMichela Deppe Joachim Haselmann Carolin Frank Sigrid Rau Meike Herkersdorf Mar-kus Mager

eLektRonikPRaXiS ist organ des Fachverbandes elektronik-design eV (Fed)Fed-Mitglieder erhalten eLektRonikPRaXiS im Rahmen ihrer Mitgliedschaft

VeRLagVogel Business Media GmbH amp Co KG Max-Planck-Straszlige 79 97082 WuumlrzburgPostanschriftVogel Business Media GmbH amp Co KG 97064 WuumlrzburgTel (09 31) 4 18-0 Fax (09 31) 4 18-28 43BeteiligungsverhaumlltnisseVogel Business Media Verwaltungs GmbHKommanditistin Vogel Medien GmbH amp Co KG Max-Planck-Straszlige 79 97082 Wuumlrzburggeschaumlftsfuumlhrung Stefan Ruumlhling (Vorsitz) Florian Fischer Ernst Haack Guumlnter SchuumlrgerPublisher Johann Wiesboumlck Tel (09 31) 4 18-30 81anzeigenleitung Franziska Harfy Tel (09 31) 4 18-30 88Fax -30 93 Grafinger Str 26 81671 Muumlnchen franziskaharfyvogeldeanzeigenverkauf Wuumlrzburg Tel (09 31) 4 18- Fax (09 31) 4 18-28 43Susanne Muumlller Tel -23 97 susannemuellervogeldekey-account-Manager Tel (09 31) 4 18- Fax (09 31) 4 18-28 43Hans-Juumlrgen Schaumlffer Tel -24 64 hansschaeffervogeldeClaudia Fick Tel -30 89 Fax -30 93 Grafinger Str 26 81671 Muumlnchen claudiafickvogeldeMarketingleitung Elisabeth Ziener Tel (09 31) 4 18-26 33auftragsmanagement Claudia Ackermann Tel (09 31) 4 18-20 58 Maria Duumlrr Tel (09 31) 4 18-22 57anzeigenpreise Zur Zeit gilt Anzeigenpreisliste Nr 47 vom 01 01 2012Vertrieb Leser- und abonnenten-Service DataM-Services GmbHFranz-Horn-Straszlige 2 97082 Wuumlrzburg Thomas Schmutzler Tel (09 31) 41 70-4 88 Fax -4 94tschmutzlerdatam-servicesde wwwdatam-servicesdeerscheinungsweise 24 Hefte im Jahr (plus Sonderhefte)

Verbreitete auflage 40009 Exemplare (IVWEDA Audit Oktober 2011)Angeschlossen der Informationsgemeinschaft zur Feststellung der Verbreitung von Wer-betraumlgern Sicherung der AuflagenwahrheitBezugspreis Einzelheft 900 EUR Abonnement Inland jaumlhrlich 19700 EUR inkl MwSt

Abonnement Ausland jaumlhrlich 22820 EUR (Luftpostzuschlag extra) Alle Abonnementpreiseverstehen sich einschlieszliglich Versandkosten (EG-Staaten ggf +7 USt)Bezugsmoumlglichkeiten Bestellungen nehmen der Verlag und alle Buchhandlungen im In- undAusland entgegen Sollte die Fachzeitschrift aus Gruumlnden die nicht vom Verlag zu vertretensind nicht geliefert werden koumlnnen besteht kein Anspruch auf Nachlieferung oder Erstattungvorausbezahlter Bezugsgelder Abbestellungen von Voll-Abonnements sind jederzeit moumlglichBankverbindungen HypoVereinsbank Wuumlrzburg (BLZ 790 200 76) 326 212 032SWiFt-Code HY VED EMM 455 IBAN DE65 7902 0076 0326 2120 32Herstellung Andreas Hummel Tel (09 31) 4 18-28 52Frank Schormuumlller (Leitung) Tel (09 31) 4 18-21 84druck Vogel Druck und Medienservice GmbH 97204 Houmlchbergerfuumlllungsort und gerichtsstandWuumlrzburgManuskripte Fuumlr unverlangt eingesandte Manuskripte wird keine Haftung uumlbernommenSie werden nur zuruumlckgesandt wenn Ruumlckporto beiliegtinternet-adresse wwwelektronikpraxisde wwwvogeldedatenbank Die Artikel dieses Heftes sind in elektronischer Form kostenpflichtig uumlber dieWirtschaftsdatenbank GENIOS zu beziehen wwwgeniosde

VeRLagSBuumlRoSVerlagsvertretungen inLand Auskunft uumlber zustaumlndige VerlagsvertretungenJens Otte Tel (09 31) 4 18-26 47 Fax (09 31) 4 18-28 57 jensottevogeldeaUSLand Belgien Luxemburg Niederlande SIPAS Peter Sanders Sydneystraat 105 NL-1448NE Purmerend Tel (+31) 299 671 303 Fax (+31) 299 671 500 petersandersvogeldeFrankreich DEF amp COMMUNICATION 48 boulevard Jean Jauregraves 92110 ClichyTel (+33) 14730-7180 Fax -0189groszligbritannien Vogel Europublishing UK Office Mark Hauser Tel (+44) 800-3 10 17 02Fax -3 10 17 03 markhausercomcastnet wwwvogel-europublishingcomUSaCanada VOGEL Europublishing Inc Mark Hauser 3321 Ashbourne CircleSan Ramon CA 94583 Tel (+1) 9 25-6 48 11 70 Fax -6 48 11 71

Copyright Vogel Business Media GmbH amp Co KG Alle Rechte vorbehalten Nachdruck digitale Verwendung jederArt Vervielfaumlltigung nur mit schriftlicher Genehmigung der Redaktion Fotokopieren veroumlffentlichter Beitraumlge istgestattet zu innerbetrieblichen Zwecken wenn auf jedes Blatt eine Wertmarke der Verwertungsgesellschaft WortAbt Wissenschaft in 80336 Muumlnchen Goethestraszlige 49 nach dem jeweils geltenden Tarif aufgeklebt wird Nachdruckund elektronische Nutzung Wenn Sie Beitraumlge dieser Zeitschrift fuumlr eigene Veroumlffentlichung wie Sonderdrucke Websi-tes sonstige elektronische Medien oder Kundenzeitschriften nutzen moumlchten erhalten Sie Information sowie dieerforderlichen Rechte uumlber httpwwwmycontentfactoryde (09 31) 4 18-27 86

Impressum

EDA

Wuumlrzburg 19 ndash 20 Juni 2012Vogel Convention CenterVCC

wwwsteckverbinderkongressde

Anwender sprechenmit Herstellern

Kongress und Tabletop-Ausstellung

Programm Unter wwwsteckverbinderkongressdefinden Sie die ausfuumlhrliche Agenda

Keynote Herausforderung Miniaturisierung ndash ZukuumlnftigeAnforderungsprofile bei Steckverbindern

Themen Applikationsspezifische Steckverbinder Kompakt-Steckverbinder fuumlr hohe Datenraten

Miniaturisierung Intelligente Steckverbinder Steckverbinder fuumlr besondere Anwendungen Qualifizierung Werkstoffe Verarbeitungsprozesse

Workshops Umspritzen von Kabeln Abdichten von Steckverbindungen Messtechnik Thermosimulation Design-in 3-D-Modellierung Schadensanalytik Beschichtungsverfahren

Aumlnderungen vorbehalten

Saumlmtliche Informationen zur Veranstaltung finden Sie unter---gt wwwsteckverbinderkongressde

Veranstalter

in Zusammenarbeit mit den Industriepartnern

07908

Alle Informationen unter wwwese-kongressde

Hauptsponsoren 2012 Veranstalter

20123ndash 7 Dezember 2012 in Sindelfingen

bdquoWissen ist das einzige Gutdas sich vermehrtwenn man es teiltldquo

(Marie Freifrau von Ebner-Eschenbach oumlsterreichische Schriftstellerin)

ESE Kongress ndash Ideen entwickeln Profis treffen Loumlsungen findenDer Embedded Software Engineering Kongress mit uumlber 800 Teilnehmern ist die groumlszligte deutschsprachigeVeranstaltung die sich ausschlieszliglich der Entwicklung von Geraumlte- Steuerungs- und Systemsoftware fuumlrIndustrie Kfz Telekom sowie Consumer- und Medizintechnik widmet Vom 3 bis 7 Dezember trifft sichdie Embedded-Software-Branche wieder in Sindelfingen ndash wir freuen uns auf Sie

Aussteller und Sponsoren 2012Axivion BBV Software Services dSPACE EASYCODE ELEKTRONIKPRAXIS emlix ETAS Fraunhofer IESEGreen Hills Software Hitex IAR Systems IMACS Infineon Intland Software iSYSTEM Lauterbach LDRALogic Technology linutronix macio MicroConsult National Instruments Noser Engineering Parasoftpls Programmierbare Logik amp Systeme Protos pure-systems QA Systems QNX Software Systems SafeTRANSseppmed Software Quality Lab SparxSystems Vector Informatik Vector Software Verifysoft Technology WillertSoftware Tools Zuumlhlke

Seit 30 Jahren vertrauen weltweit fuumlhrende Firmen Green Hills Softwarersquos sicherer undzuverlaumlssiger Software fuumlr sicherheitskritische Systeme

Fuumlr Luftfahrt- und Automobilindustrie fuumlr Telecom- Medizin- und Industrietechniksowie fuumlr intelligente Energienetze hat Green Hills Software erprobte und zuverlaumlssigeTechnologie geliefert

Wenn Sie wissen moumlchten wie eines der weltweit sichersten und zuverlaumlssigstenBetriebssysteme und dessen Entwicklungstools das Risiko aus Ihrem naumlchstenProjekt nehmen kann besuchen Sie uns unter wwwghscoms4e

Copyright copy 2012 Green Hills Software Green Hills Software and the Green Hills logo are registered trademarks ofGreen Hills Software All other product names are trademarks of their respective holders

Vertrauenswuumlrdige softwarefuumlr embedded deVices

safereliable

secure

  • Seite 1
  • Seite 2
  • Seite 3
  • Seite 4
  • Seite 5
  • Seite 6
  • Seite 7
  • Seite 8
  • Seite 9
  • Seite 10
  • Seite 11
  • Seite 12
  • Seite 13
  • Seite 14
  • Seite 15
  • Seite 16
  • Seite 17
  • Seite 18
  • Seite 19
  • Seite 20
  • Seite 21
  • Seite 22
  • Seite 23
  • Seite 24
  • Seite 25
  • Seite 26
  • Seite 27
  • Seite 28
Page 11: Securityineingebetteten Softwaresystemenfiles.vogel.de/vogelonline/vogelonline/issues/ep/2012/...Securityineingebetteten Softwaresystemen Angreifer nehmen Industriesteuerungen,Stromnetzeund

12

Softwareentwicklung SoftwareSicherheit teil 2

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Microconsult Qualitaumlt und Sicherheit

teil 1 der Serie Die drei Gesichter derSicherheit

InfoClick

wwwelektronikpraxisde infoclick 3343156

Schreiben unklaren oder scheinbar verwor-renen Codes Doch gerade bei der heutigenVernetzungwird jedesVerfahren fruumlher oderspaumlter bekannt Interessant ist die auch vonWobst formulierte Erkenntnis dass derSelbsttest eines eigenentwickeltenAlgorith-musmoumlglicherweise zu demErgebnis fuumlhrtdass es nicht einmal dem urspruumlnglichenProgrammierer gelingt ihn zuknackenAberdieWirklichkeit sieht leider anders aus Je-der kann einenAlgorithmus entwickeln dener selbst nicht brechen kann aber es gehtdarum dass ihn andere nicht brechen koumln-nen[1]Letztlich siehtmanes einemAlgorithmus

auchwenner noch soobskur erscheint nichtan ob er nun sicher ist oder nichtWobst raumltseinen Entwicklerkollegen konservativ zuseinundbekannteundaltbewaumlhrteAlgorith-menundMethoden zunutzenDas ForschennachSicherheit solle denForschernuumlberlas-sen werden Anhand zahlreicher Beispielebelegte Reinhard Wobst wie schnell es ge-schehen kann dass ein SoftwareentwicklerGuteswollenddas Falsche tut bzw dasRich-tige nicht richtig macht Und er zeigte auchdie Grenzen auf die selbst einer perfekt im-plementierten Kryptologie gesetzt sind wiedenial of service Attacken oder der immererfolgversprechende Versuch das stetsschwaumlchste Element eines Walls von Maszlig-nahmen fuumlr die Sicherheit zu instrumentali-sieren den User selbst So kam Wobst beiseinem Vortrag zu der Schlussformel dassgesunderMenschenverstandniemals hinterFormalismenverschwindendarf Fuumlr dieRe-alisierung von Sicherheit gilt immer dassetwas Sicherheit besser ist als gar keine

Qualitaumlt und houmlchstmoumlglichesSicherheitsniveau fuumlr SoftwareWie real die Risiken von Angriffen auf

Embedded-Systeme sind zeigte Lucas vonStockhausen vonHewlett-Packard in seinemVortrag Mehr Sicherheit fuumlr EmbeddedCode amBeispiel einer Manipulation einerhandelsuumlblichen Insulinpumpe Es seimoumlg-

lich durch Umgehen von Restriktionen dieInsulindosis die eine solchePumpeautoma-tisch verabreicht aus einer Entfernung von100 m und voumlllig unbemerkt zu veraumlndernDamit koumlnnemaneinemDiabetiker jederzeiteine Uumlberdosis Insulin injizieren Diese Ge-fahr mag konstruiert erscheinen fuumlr denPumpenhersteller und fuumlr den Patienten istsie aber sehr real undhoumlchst bedrohlichDasBundesministerium fuumlrWirtschaft undTech-nologie stellte bereits 2010 eine zunehmendeund alarmierende Professionalisierung vonAngriffen fest Dabei berichten die Medienmeist nur uumlber die spektakulaumlrstenFaumlllewiezumBeispiel denbereits erwaumlhntenStuxnet-Wurm der fuumlr den Einsatz auf industrielleZiele optimiert wurde

Die psychologischenSicherheitsluumlckenViele Angriffe sind weniger spektakulaumlr

doch kaum weniger gefahrenvoll Geradeuumlberraschende Angriffsszenarien auf Em-bedded-Systeme zeigen wie schwierig essein kann schon inder Softwareentwicklungvorauszusehenwie ein spaumltererAngriff aus-sehen kann Aus diesem Grund spielt diesichere Softwareentwicklung der sichereCode eine entscheidende Rolle Angesichtsdes rasanten Fortschritts der von zuneh-mendemZeit- Konkurrenz- undErfolgsdruckzuverlaumlssig begleitetwirdmussnebenQua-litaumltsforderungen auch das houmlchstmoumlglicheSicherheitsniveau realisiert werdenBei Embedded-Software erfolgt eine ver-

besserte Zugangssicherheit uumlber Software-Updates sagte Prof Dr-Ing Hans-JoachimHof Daraus ergeben sich gleichermaszligenAufgaben fuumlr die Entwicklung von Soft- undHardware In puncto Hardware werden si-chere Interfaces undUumlbertragungsprozedu-renbenoumltigt Die Softwaremuss so aufgebautsein dass sie autorisiert korrigiert aber nichtohne Autorisierung manipuliert werdenkann Das Motto Verbauen und Vergessengehoumlrt damit derVergangenheit anNicht zuvergessen sinddie psychologisch bedingten

Sicherheitsluumlcken zudenenPeter SiwonvonMicroConsult in seinem Seminar bdquoIrren istmenschlichldquo Beispiele nannte Und das so-wohl auf Entwickler-wie aufAnwenderseiteUnter hohem Zeitdruck neigt man dazu Si-cherheitsregeln zu brechen Menschen neh-men dann houmlhere Risiken in Kauf um denStress loszuwerden Stresshormone schraumln-kenunsere Faumlhigkeit ein uumlber die langfristi-gen Folgen unseres Verhaltens nachzuden-ken Zudem leide unser Qualitaumltsbewusst-sein unter dem Beduumlrfnis den bdquoSchmerzldquoloszuwerden Beides zusammen stellt eineexplosive psychologische Mischung darWichtige Voraussetzungen fuumlr Security wiebeispielsweise umfassende Tests fallen un-ter den Tisch Eine weitere Sicherheitsluumlckeentsteht durch Denkfaulheit Um unser Ge-daumlchtnis zu entlasten greifen wir nicht nurbei Passwoumlrtern auf altgewohnte oder beque-me Denk- und Verhaltensmuster zuruumlckThomas Batt beim Training- und Consul-

tingspezialistenMicroConsult zustaumlndig fuumlrSoftware Engineering Management ziehtfolgendesResuumlmee bdquo(Horror-)Szenarien beidenenEmbedded-Systemedurch aumluszligereAn-griffe manipuliert werden oder bei denensogar die komplette Kontrolle uumlbernommenwird sind keine Hollywoodphantasien Wirsindheute von einer rasantwachsendenZahlvonEmbedded-Systemenumgebenundver-lassen uns darauf dass Herstellerfirmen siezugangs- undangriffssicher entwickeln tes-tenundproduzierenDochTatsache ist dassfuumlr den groumlszligten Teil des Embedded-Marktesdie Qualitaumltsmerkmale Zugangs- und An-griffssicherheit noch Neuland sind DieseQualitaumltsmerkmalemuumlssen sich kuumlnftigwieein roter FadendurchdengesamtenEntwick-lungs- und Produktionsprozess der Produk-te ziehen Dazu benoumltigen wir geeigneteMethoden - insbesondere fuumlr denTest - sowieunterstuumltzende Tools Standards und Zerti-fizierungen Doch selbst mit noch so hoch-entwickelten Maszlignahmen koumlnnen wir dieRisiken nur minimieren nicht aber voumllligausschlieszligenldquo hEh

MicroConsult +49(0)89 45060

Quellennachweis[1] B Schneier Memo to the Amateur Cipher

Designer

Zugriffs- und AngriffssicherheitDie Betriebssicherheit ist im groszligenMaszlige vom Schutz vor unbefugtem Zu-griff oder gezieltem angriff abhaumlngigBei der Security spielt oft die Gestaltungund auswahl der hardware eine bedeu-tende rolle Zu den feinden von embed-ded-Systemen zaumlhlen Viren wuumlrmer undhacker die auf die Systeme zugreifen

und sie manipulieren Mit geeignetenSchutzmaszlignahmen wie Kryptologie undentsprechender Programmierung lassensich embedded-Systeme sicherer gestal-ten Nicht zu vergessen sind auch diepsychologisch bedingten Sicherheits-luumlcken ndash denn auch der Programmiererselbst stellt ein Sicherheitsrisiko dar

13

EmbEddEd SoftwarE Aktuelles

ELEKTRONIKPRAXIS embedded software engineering Report Juni 2012

InfoClick 3371268

embedded-softwAReentwicklung

analysewerkzeug Goanna pruumlft Software auf potenzielle LaufzeitfehlerDas Karlsruher Entwicklungs-haus Hitex hat die Version 272des Analysewerkzeugs Goannaveroumlffentlicht Das Tool pruumlft inCC++geschriebenenCodenachmathematischenMethoden umUrsachen fuumlr Laufzeitfehler auf-zuspuumlren In der aktuellenVersi-on 272 finden sich vor allemDetailverbesserungen wie er-leichterteKonfigurierbarkeit DieKonfigurationsvarianten bdquoQuickCheckldquo und bdquoDeep Checkldquo sindvordefiniert Auszligerdem wurdendieAnalysemethodenbeschleu-nigt und praumlziser gestaltet An-

feruumlberlaumlufe die Zerstoumlrung vonSpeicherinhalten Divisionendurch Null Zugriffe mit unguumllti-gem Index und aumlhnliche Proble-me Die Analyse uumlberschreitetdabei nicht nur Funktions- son-dern auch Dateigrenzen DasSoftwarewerkzeug soll einfachinstallierbar sein und sich nachwenigen Minuten einsetzen las-sen Goanna ist in einer Kom-mandozeilenversion (GoannaCentral) sowie alsAdd-On fuumlr dieweit verbreiteten Entwicklungs-umgebungen Visual Studio vonMicrosoft sowie EclipseCDT

(Goanna Studio) verfuumlgbarGoannaCentral undGoannaStu-dio fuumlr Eclipse sind fuumlrWindowsundLinux verfuumlgbar DieVersionfuumlrVisual Studiounterstuumltzt nurWindows Beide Versionen gibtes als rechnergebundene oderals Floating-Lizenz Es gibt eineeine permanente Lizenzmit dreiJahrenSupport und eine zeitlichbegrenzten Lizenz fuumlr ein Jahrmit der Option auf zeitliche Ver-laumlngerung fg

Hitex

hand mathematischer Modelleund derMethode der abstraktenDatenwertverfolgung kannGoanna problematische Konst-rukte ermitteln die zur Laufzeitder Software zu Fehlern fuumlhrenDazu zaumlhlen Speicherlecks Puf-

Schnelles Android XobotOS ist eineAndroid-Variante die auf einer offe-nen Implementierung von MicrosoftsNET-Architektur basiert InfoClick 3348889

smARtphone-betRiebssystem

android-Klon auf NEt-basis koumlnnte legale Untiefen umschiffenXamarin bietet Entwicklungs-werkzeugen fuumlr Android undApples iOS Das zentrale Themades Unternehmens ist die platt-formuumlbergreifendeProgrammie-rung von Apps fuumlr die beidenwichtigsten Betriebssysteme fuumlrMobilgeraumlte Als Entwicklungs-plattformdient dabeiMono einefreie Implementierung von Mi-crosofts NET-TechnikWichtigs-te Komponente vonMono ist einefreie Variante der NET-Laufzeit-umgebung CLR (Common Lan-guageRuntime) die zunaumlchst fuumlrLinux entwickelt wurde und

NET-Programme unter Linuxausfuumlhrte DaAndroid auf LinuxbasiertwurdeMono fuumlr dasmo-bile Betriebssystem von Googleumgesetzt Inzwischen gibt eseine Version namens Mono-Touch fuumlr Apples iOS Mit HilfevonMonoundMonoTouch ist esmoumlglich groszlige Teile des Appli-kationscodes wiederzuverwen-den wenn eine App sowohl fuumlriOS als auch fuumlr Android entwi-ckelt wurde XobotOS ist einAndroid-Klon bei demdie in Ja-va geschriebenen Codekompo-nenten inCuumlbertragenwurden

Diemomentan stattfindende ge-richtliche Auseinandersetzungzwischen Oracle als Inhaber derJava-Rechte und Google um an-gebliche Urheberrechtsverlet-zungen koumlnnte auszligerdem dafuumlrsorgen dass XobotOS kein For-schungsprojekt bleibt Das NET-Framework bietet alternativeImplementierungen fuumlr die Pro-grammierschnittstellen die zwi-schen Google undOracle strittigsind fg

Xamarin

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

EmbEddEd-SyStEmE SoftwaRE-DESign

14

TITELSTORyin juumlngster Zeit haben namen wieStuxnet und Duqu Eingang in unserenwortschatz gefunden Solche Schad-programme feuern unerbittliche atta-cken auf die Sicherheit eingebetteterSysteme Darunter sind auch SCaDa-Systeme (Supervisory Control andData acquisition) die industrieanla-gen Verkehrsnetze oder Kraftwerkeuumlberwachen und steuernManche Entwickler eingebetteterSoftware meinen zwar dass die Ebe-ne des Systems Engineering oder dieHardware fuumlr die Systemsicherheitzustaumlndig sein sollte Viele attackennuumltzen aber Schwachstellen in denanwendungen aus Und diese Luumlckengilt es im anwendungsdesign und derProgrammierung zu vermeiden

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

Siem

ens-PressebildPSD

graphics

15

EmbEddEd-SyStEmE Software-DeSign

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Security-Grundlagen fuumlrEmbedded-Software

Schutzmaszlignahmen auf der Betriebssystem- und Hardwareebene ge-gen Hackerangriffe sind keineswegs perfekt Daher muumlssen Entwickler

selbst gegen Schwachstellen der Embedded-Software vorgehen

DAvID KALINSKy

David Kalinsky ist Berater Trainer und Dozent fuumlrEchtzeit- und Embedded-Programmie-rung in SunnyvaleKalifornien (USA)

Entwickler eingebetteter Software spie-len das Security-Thema manchmalherunter und sagen bdquoUnserGeraumltwird

nie mit dem Internet oder einem anderenexternen Kommunikationsnetz verbundensein Wir sind gegen Angriffe immunldquo Dasist leider nicht wahr Erlauben Sie mir einGegenbeispielViele Geraumlte nutzen Analog-zu-Digital-

Konverter (ADC) zur Sammlung von DatenDieADCswerden regelmaumlszligig abgefragt unddieApplikation speichert dieDatenpakete ineinemArrayDieApplikation verarbeitet spauml-

ter diesen Daten-Array Aber ein Angreiferkoumlnnte dies aus einem ganz anderen Blick-winkel sehen etwa so bdquoWas wuumlrde passie-ren wenn ich den ADCmit elektrischen Sig-nalen fuumlttere die einer exaktenhexadezima-len Darstellung des Codes eines Schadpro-grammsentsprechenldquoAuf dieseWeise kannder Angreifer seine Software in Ihren Rech-ner einschleusen Ein Netzwerk oder dasInternet ist dafuumlr nicht noumltig

Angreifer brauchen nicht immerein externes NetzwerkDer Angreifer koumlnnte nun darauf setzen

dass Ihre Software die ADC-Daten in einemStapelspeicher (Stack) sichert (vielleicht in-demSie alloca() odermalloca() verwenden)Wenn er Gluumlck hat koumlnnte er einen Array-Uumlberlauf verursachen vielleicht indem er

den Hardware-Timer manipuliert der dieADC-Abfrage steuertEin typischer Stack ist auf der folgenden

Seite oben links abgebildet Wenn der An-greifer einen Array-Uumlberlauf verursachtkoumlnnte der Stack korrumpiert werden wiedas Schema rechts daneben zeigt BeachtenSie dass dieRuumlcksprungadresse imStack aneiner Position gespeichert wurde die hinterdem Ende des Arrays lagWenn der Angreifer die Korrumpierung

richtig plant wird der Uumlberlauf den Ort imStack erreichen an dem die aktuelle Ruumlck-sprungadresse gespeichertwurdeDas kanndazubenutztwerden umandiesemPlatz imStack einenZeiger auf den eigenenCode ein-zuschleusenWenn Ihr CodedieRuumlcksprung-adresse benutzt geht die Steuerung auf denCode des Angreifers uumlber

Siem

ens-Pressebild

16

EmbEddEd-SyStEmE Software-DeSign

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Simpel aber effektiv Die Grafik links zeigt den gewoumlhnlichen Aufbau eines Speicherstacks In der rechtenGrafik ist der Stack nach einem Array-Uumlberlauf korrumpiert Boumlsartiger Code kann ausgefuumlhrt werden

DavidKalinsky

Das wird als bdquoStack Smashingldquo-Attackebezeichnet BeachtenSie dass sie in diesemBeispiel voumlllig ohne Internetzugangundoh-ne Verbindung zu einer externen Datenlei-tung ausgefuumlhrt wurde

Design-Grundlagen fuumlr sichereEmbedded-SoftwareBeim Design eingebetteter Software koumln-

nen Entwickler die Sicherheit verbessernindem sie einige Grundsaumltze beachten1 Misstrauische AufteilungTeilen Sie die Funktionalitaumlt Ihrer Software

in Bloumlcke auf die sich gegenseitig nicht ver-trauen um die Angriffsfenster in jedemBlock zu verkleinern In der Embedded-Soft-ware nennen wir diese Bloumlcke oft Prozesseoder Subsysteme oder CSCIsEntwerfen Sie jeden Block unter der An-

nahme dass Softwarebloumlcke mit denen erinteragiert angegriffen wurden VertrauenSie denErgebnissender interagierendenBlouml-cke nicht Geben Sie Ihre Daten nicht uumlbergemeinsamen Speicher fuumlr andere Bloumlckefrei BenutzenSie stattdessenMechanismender Interprozesskommunikation wie Mes-sage Queues des Betriebssystems Socketsoder TIPC (Transparent Inter Process Com-munication) Pruumlfen Sie die Inhalte die SieerhaltenAls Resultat dieser Politik der misstraui-

schen Aufteilung faumlllt nicht das gesamteSystem in die Haumlnde eines Angreifers wennein einzelner Softwareblock kompromittiertwurde

bdquoUm feindlichen Code in ein Embedded-System einzuschleu-sen ist nicht unbedingt eine Verbindung zum Internet oder zu

einem anderen externen Netz noumltigldquoDavid Kalinsky

2 Trennung der PrivilegienHalten Sie den Teil Ihres Codes der mit

speziellen Rechten ausgestattet ist moumlg-lichst klein Wenn der Angreifer in Softwareeinbricht die mit hohen Privilegien ausge-fuumlhrt wird dann kann der Angreifer eben-falls mit hohen Privilegien operieren Dasgibt ihm ein extrabreites Angriffsfenster inIhr SystemVermeidenSie also dassAnwendungssoft-

ware im Kernel-Modus oder Master- Modusoder Supervisor-Modus laumlufthellip oder wie dasin Ihrer jeweiligen CPU-Architektur heiszligenmag Uumlberlassen Sie diesen Modus dem Be-triebssystem Lassen Sie Ihre Software nurim User-Modus laufen Dadurch wird IhreCPU-Hardware darauf verpflichtet das An-griffsfenster in Ihrer Software zu limitieren3 Loumlschen Sie sensitive InformationenLoumlschenSie jedewieder verwendbareRes-

source wenn Sie sie freigeben Wenn Sieeine Ressource freigegeben haben ndash sei esein Speicherpuffer oder ein Software-Hard-ware-InterfaceDatenregister ndash koumlnnte dernaumlchste Benutzer genau derselben Ressour-ce einAngreifer sein Angreifer auf eingebet-tete Systeme lieben es diese Ressourcen zusbquophishenrsquo genau wie Internet-Angreifer ger-ne sbquophishenrsquo Hacker waumlren bestimmt uumlber-gluumlcklich die Daten zu lesen die Sie imPuffer bearbeitet habenoder die andieHard-ware zur Ausgabe uumlbergeben wurdenDie meisten Dienste die Ressourcen in

Embedded-Umgebungen freigebenmarkie-ren die Ressourcen einfach als bdquoverfuumlgbarldquo

Sie lassendie alte Information stehen die inder Ressource enthalten ist Das geht sehrviel schneller als die Ressource explizit aufNull zu setzen Damit ist sie aber potenziellfuumlr andere Benutzer lesbarWenn also die Applikation mit einer Res-

source fertig ist liegt es an der Anwendungdie Freigabe vorzubereiten indemsie all die-se Elemente auf Null setztHeap-Puffer Speicherpool-Puffer Spei-cherpartitionssegmente Statisch zugewiesene Speicherpuffer Freigegebene Stack-Bereiche SpeichercacheDatei im DateisystemDatenregister fuumlr Hardware-InterfacesStatusregister Kontrollregister

Schwachstellen auf die manbeim Coding achten mussWaumlhrend der Programmierung koumlnnen

Entwickler die Softwaresicherheit verbes-sern indem sie eine Reihe bekannterSchwachstellen vermeiden1 PufferuumlberlaufMitweitemAbstand ist der Pufferuumlberlauf

die amweitesten verbreiteteGefahrenquellewenn man in der Sprache C programmiertEs kann ganz einfach sein ndash zum Beispiel indas Element mit der Nummer 256 eines256-teiligenArraysDatenhineinzuschreibenCompiler erkennen verbotene Pufferzu-

griffe nicht immer als Softwarefehler DaskannernsthafteKonsequenzenwiedie bdquoCodeInjectionldquo oder die bdquoArc Injectionldquo haben ndashbei letzterer aumlndert der Angreifer den Kon-trollfluss eines Programms indem er dieRuumlcksprungadresse auf dem Stack modifi-ziert Bei der bdquoArc Injectionldquo braucht derAngreifer nicht einmal Code einzuschleusenEr kann zu irgendeiner Funktion im existie-renden Code springen oder Guumlltigkeitspruuml-fungen oder Assertions uumlberspringenHier ein Beispiel fuumlr eine Pufferuumlberlauf-

Attacke Ein eingebettetes Geraumlt misst dieWassertemperatur in einem Schwimmbe-cken und zeigt die Zeitanteile als Histo-gramm an in denen das Wasser eine be-stimmteTemperatur hatte Der Softwareent-wickler baut einen Array mit 100 positivenIntegerzahlen bei denen jedes Element miteinerGradangabe inCelsius korrespondiertElement 0 fuumlr 0deg Element 1 fuumlr 1deg und soweiter Jedesmal wenn der Sensor die Was-sertemperaturmisst wird das entsprechen-deElement desArrays umdenWert 1 erhoumlhtUm ganz sicher zu gehen stattet der Ent-

wickler denTemperatur-Arraymit viel Spiel-raum aus Er uumlbersteigt den Temperaturbe-reich bei weitem den einmenschlicher Koumlr-per aushalten wuumlrde

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012 17

EmbEddEd-SyStEmE SoftwaRE-DESign

ohne Locks fuumlr Multicore-Systeme entwi-ckeln

Echtzeit-Software ohne Echtzeit-Betriebssys-tem programmieren

InfoClick

wwwelektronikpraxisde InfoClick 3337487

wwwyakinduderequirements+492319860606

bull Komplexe software inKuumlrzester zeit spezifizieren

bull anforderungen fehlerfreierfassen

bull abhaumlngigKeiten von diagram-men und modellelementenautomatisch darstellen

bull aufwaumlnde von aumlnderungenKennen bevor sie entstehendurch vollstaumlndigestracing

bull manager fachanwenderund entwicKler sprechenendlich von denselbendingen

yaKindu requirementsdie software fuumlr requirementsengineering und traceability

IHRNUTZEN

Bis eines Tages der Angreifer den Sensoraus demWasser nimmt und mit einem Feu-erzeug aufheizt Sobald der Sensor einenWert misst der 100deg uumlbersteigt verletzt dieSoftware fuumlr das Histogramm-Update eineSpeicheradresse die hinter dem Ende desTemperatur-Arrays liegt Wenn dort Datenliegen hat der Angreifer die Daten korrum-piert Steht dort Maschinencode dann hatder Angreifer die ausfuumlhrbare Software kor-rumpiert In jedemFall ist es ein schaumldlicherEingriff Bitte beachten Sie dass auch dafuumlrweder eine Internetverbindung noch eineVerbindung zu einem externen Netzwerknoumltig war Ein Feuerzeug genuumlgteWie koumlnnen wir Pufferuumlberlaumlufe vermei-

denDie Schwachstelle ist soweit verbreitetdass ein mehrstufiger Ansatz am besten istVerhindern Entdecken Heilen Im Beispielunseres Schwimmbeckens sollten Sie expli-zit pruumlfen dass keine Temperatur ermitteltwird die der von Eis (unter 0deg) oder heiszligemDampf (uumlber 100deg) entsprichtVerhindern Sie Pufferuumlberlaumlufe auch in-

dem Sie gefaumlhrliche Bibliotheksfunktionenvermeiden (wie gets()) und Vorsicht bei an-deren walten lassen (wiememcpy())

bdquoAnstreicherldquo-Methodeermittelt PufferuumlberlaumlufeEntdeckenSie Pufferuumlberlaumlufe indemSie

wie ein Anstreicher vorgehen Erweitern SiedenPuffer anbeidenEnden etwas Fuumlllen Siedie Erweiterungsbereiche mit ungewoumlhnli-chem Inhalt den ich bdquoAnstrichldquonenne zumBeispiel eine Falle in derMaschinenspracheIhres Prozessors Dann pruumlfen Sie den bdquoAn-strichldquo wiederholt zur Laufzeit Wenn derAnstrich uumlberschrieben wurde haben Sieeinen Pufferuumlberlauf entdeckt2 Tricksereien mit ZeigernWenneinAngreifer einenDatenzeigermo-

difizieren kann dann kann der Angreifernach eigenemGusto an jededenkbare Stelleverweisen Wenn ein Angreifer einen Funk-tionszeiger uumlberschreiben kann dann ist erauf einemgutenWeg seinenCode auf IhremProzessor auszufuumlhren3 Dynamische SpeicherzuweisungDie Verwendung dynamischer Speicher-

zuweisungen ist in vielen sicherheitskriti-schenSystemenwie der Luft- undRaumfahrtverbotenAngreifer sindheiszligdarauf solcheDefekte zu finden da sie eine guumlnstigeGele-genheit bieten die Sicherheit eines Embed-ded-Systems zu verletzenEin besonders empfindlicher Fehler ist es

die Pruumlfung zu unterlassen ob eineAnfragezur Speicherzuweisung erfolgreichwar odernichtMancheMechanismengebenanstelleeines Zeigers auf einen Speicherpuffer den

Wert Null aus wenn kein verfuumlgbarer Spei-cher mehr vorhanden ist Wenn die Anwen-dungssoftware diesen Nullwert als Zeigerbehandelt wird sie in einen Puffer hinein-schreiben der an der Speicheradresse NullbeginntViele Angreifer wuumlrden sich freuen wenn

Ihre Software dies taumlte Angreifer wissendass eingebettete Software oft eingeschraumlnk-te Speicherressourcen hat Sie setzen allesdaran den Speicher auszuschoumlpfen indemsie den Speicherzuweisungsmechanismusdazu zwingen mehr Speicher als sonst uumlb-lich zu belegen ndash vielleicht durch einge-schleusten Code der Speicherlecks enthaumlltSie koumlnnenauchversuchen IhrDatenabfra-gesystem mit houmlheren Datenmengen oderDatenraten zuuumlberflutenndash inderHoffnungdass dieDatenlawine Ihre Speicherkapazitaumlterschoumlpft Und dannWenn Ihre Software einen Speicherpuffer

anfragt aber die Pruumlfung unterlaumlsst ob dieZuweisung fehlgeschlagen istwird sie einenPuffer anderAdresseNull eroumlffnenundalleszertrampeln was vorher dort gewesen istWenn zumBeispiel die Flags fuumlr das Ein- undAusschalten von Interrupts an dieser Stellestehen koumlnnte dadurch die Verbindung derSoftware zudenHardware-Interfaces anderPeripherie unterbrochenwerdenDas koumlnn-te dazu fuumlhren dass Ihr System nicht mehrin die Hardware eingebunden ist FG

D Kalinsky Associates +1408 749 8562

Kleine Angriffsflaumlche Die perfekte Absicherunggegen Angreifer im Web gibt es nicht Wichtig ist esaber sich um die die gaumlngigen Schwachstellen zukuumlmmern

PikeResearch

18

SyStementwurf AudiodAten uumlbertrAgen

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Audiosignale drahtlosmit Licht uumlbertragen

Audiosignale mit maximal 48 kBits mit Laser oder High-Power-LEDuumlbertragen Wir stellen Ihnen eine Schaltung vor die Audiosignale in

groszligen Raumlumen mit hoher Funkbelastung sicher transportiert

IgOR ZImmERmANN

Igor Zimmermann ist Entwickler fuumlr Embedded-Systeme bei der Mixed Mode GmbH inMuumlnchen

Funkuumlbertragungen haben sich vor al-lem im privaten Umfeld in den letztenJahren durchgesetzt Allen voran im

Multimediabereich seien hier kabelloseKopfhoumlrer genannt oder dieWLAN-Uumlbertra-gung Um bei der digitalen Audiouumlbertra-gung zu bleiben Mit der Digitalisierung derMultimediadaten entstand das Beduumlrfnisdiese digitalenAudiodatendrahtlos zu trans-portieren Hier sind im Speziellen drei Fre-quenzbaumlnder relevantDas 24-GHz-Band mit Frequenzen von24 bis 25 GHzDas 5-GHz-Band mit Frequenzen von5725 bis 5875 GHz und das 433-MHz-Band mit Frequenzen von43305 bis 43479 MHz

Wenn sich die Frequenzbaumlnderuntereinander stoumlrenDie ersten beiden Frequenzbaumlnder sind

alle fuumlrAudio-Uumlbertragungsgeraumlte geeignetdie uumlberWLANoder Bluetooth senden Her-koumlmmliche Funkkopfhoumlrer und Funklaut-sprecher benutzen das Band mit 433 MHzAlle drei Frequenzbaumlnder koumlnnen frei be-nutztwerdenwas auchgleichzeitig ein Pro-blem darstellt So sendet im 24-GHz-Bandbeispielsweise dieMikrowellewaumlhrenddas433-MHz-Band von etlichen anderen Funk-verbindungen verwendet wird Durch diegemeinsame Nutzung koumlnnen gegenseitigeStoumlrungen auftretenEine Uumlbertragung mit Licht ist gegen Stouml-

rungen aus diesen Baumlndern unempfindlichAuch inUmgebungenmit starker Funkbean-spruchungkannauf dieseWeise eineAudio-Signaluumlbertragung erfolgen Ein weitererVorteil ist die Reichweite die bei einerUumlber-tragung mit Licht erreicht werden kann

Audiosignale uumlbertragenMit Licht lassen sich groszlige Entfernungen uumlberbruumlcken wobei die APU allessteuert (Illustration)

FotoKlickerpixeliode

Audiosignale drahtlos uumlbertragen Schematischer Aufbau der Schaltung mit Audio Processing Unit

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

Waumlhrend eineUumlbertragung indengenanntenISM-Baumlndern auf einige hundert Meter be-schraumlnkt ist koumlnnenmit Licht groszligeDistan-zen uumlberwunden werden

Schaltung uumlbertraumlgt drahtlosAudiosignale mit LichtIm folgenden wollen wir Ihnen eine neu-

entwickelte und bereits im realen Einsatzgetestete Schaltung vorstellen die drahtloseAudiosignale mit Licht uumlbertraumlgt Die maxi-maleAudioqualitaumlt des Signals darfmaximal48 kBits betragen Die Schaltung setzt aufeinem Mikrocontroller zur Steuerung einesAudio-Codecs auf Die Entwicklung ist durchdie Visible Light Communication (VLC) ins-piriert Das Signal wird uumlber eine Treiber-schaltung entweder per Laser oder High-Power-LED uumlbertragen Auf der Empfaumlnger-seitewirddas Signal uumlber einenAudio-Codecindasurspruumlngliche Format ruumlckgewandeltEinsatzbereiche sind groumlszligere Raumlume in de-nen einehoheFunkbeanspruchungherrschtZum erfolgreichen Versenden der Audio-

informationenwerden zweiAusgabendieserSchaltung benoumltigt Die Versorgungsspan-nung betraumlgt 12 V Auf Senderseite kann derBenutzer eine von drei verschiedenen Sig-nalartenwaumlhlen die uumlbertragenwerden soll analoges Audiosignal Klinke (TRS Ana-log Audio In) digitales SPDIF-Signal Anschluss uumlberCinch (RCA Electrical SPDIF In) optisches SPDIF Signal Anschluss uumlberToslink (Toslink Optical SPDIF In)

APU mit Audio Codec undKonfigurationsregisternDie Konfiguration der Signalart erfolgt

uumlber ein Display und vier Taster (S1 S2 S3S4 und Display) Das Display und die Tastersind an einen Mikrocontroller angeschlos-sen der die Auswertung der Einstellungenvornimmtunduumlber einen Isup2C-Bus andieAu-dioProcessingUnit (APU)uumlbertraumlgt DieAPUbesteht aus einem Audio-Codec und besitztKonfigurationsregister zumSpeicherndieserEinstellungen Uumlber diese Register koumlnnenauch Manipulationen an den Statusbits desSPDIF-Signals vorgenommen werden DieAPU verfuumlgt zudem uumlber ein integriertes di-gitales Interpolationsfilter und ein Antialia-sing-Filter Das hat den Vorteil dass eineexterne Filterung uumlberfluumlssig wird Das Isup2S-Interface uumlber das andere Audio-Kompo-nentenmit derAPUkommunizieren koumlnnensteht demBenutzer ebenfalls zurVerfuumlgungEin- undAusgaumlnge koumlnnenasynchronbe-

trieben werden Das erzeugte Signal wird inein SPDIF-Format gewandelt und dem La-sertreiber oder dem LED-Treiber zur Verfuuml-

Via Laser oder High-Power-LEDAudiosignale drahtlos mit Licht uumlbertra-gen Die von uns vorgestellte Schaltungsetzt auf einen Mikrocontroller der denAudio-Codec steuert wobei die Qualitaumltdes Signals maximal 48 kBits betragendarf Der Mikrocontroller ndash die AudioProcessing Unit ndash ist das Herzstuumlck die-

ser speziellen Treiberschaltung der dasAudiosignal via Laser oder High-Power-LED uumlbertraumlgt Mit den Konfigurations-registern lassen sich die Einstellungenfuumlr die Codes speichern und es lassensich Manipulationen an den Statusbitsdes SPDIF-Signals vornehmen

SyStementwurf AudiodAtEn uumlbERtRAgEn

19

telekommunikation von Mixed Mode

InfoClick

wwwelektronikpraxisde InfoClick 3343108

gung gestellt Aus Sicherheitsgruumlnden wirdder Lasertreiber uumlber eine vomMikrocontrol-ler gesteuerte Enable-Leitung ein- und aus-geschaltet Als Laserquelle dient eine Laser-diodeDer Lasertreiber ist zwar speziell auf diese

Laserdiode eingestellt kann aber durch an-dere Laserdioden ersetzt werden Die Aus-gangsleistung der Modulationsstrom derGleichstromanteil und der Temperaturkoef-fizient der Laserdiodenwerdenuumlber externeWiderstaumlnde des Lasertreibers dimensio-niert Die Laserdiode ist an einem Kupfer-block angebracht der dieKuumlhlungderDiodeund die Fokussierung des Laserlichts uumlbereine Linse im Inneren uumlbernimmt Der LED-Treiber der ein IR-Treiber oder ein High-Po-wer-LED-Treiber sein kann besteht aus zweischaltbarenKonstantstromquellenundkannbis zu vier High-Power-LEDs versorgen

Audioqualitaumlt liegt beiaktuell 48 kBitsAuf der Empfaumlngerseite muss der Light

Receiver alsQuelle ausgewaumlhltwerdenDie-ser Light Receiver umfasst je eine Empfangs-einheit fuumlr sichtbares und infrarotes Licht(Visible Light und Infrared Light Receiver)

Beide Empfangseinheiten bestehen aus ei-nemPhotodetektor und einemnachgeschal-teten Transimpedanzverstaumlrker Das vomTransimpedanzverstaumlrker erzeugte Signalwird anschlieszligendSPDIF-gerecht aufberei-tet und an die Audio Processing Unit weiter-geleitet und kann an einem der sechs An-schluumlsse abgegriffen werdenDiemaximaleAudioqualitaumlt der Schaltung

liegt zur Zeit noch bei 48 kBits da die Emp-fangseinheit Signalemit einer Frequenz vonmaximal 31 MHz zuverlaumlssig empfangenkannDiemaximaleReichweite die bei einergerichteten Uumlbertragung mit Laser erreichtwerden konnte betraumlgt aktuell 15 m DurchdenEinsatz vonoptischenHilfsmitteln kannjedoch eine weitaus houmlhere Reichweite er-reicht werden HEH

MixedMode +49(0)89 89868240

20

ProgrammiersPrachen Sichere Software

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Stabile Embedded-Systememit der Programmiersprache Ada

Mit der Programmiersprache Ada laumlsst sich sicherheits- und missions-kritische Software entwickeln wovon Embedded-Systeme profitieren

sollen Wir stellen Ihnen die Programmierumgebung vor

JOhANNES KANIg

Johannes Kanig ist Senior Software Engineer beiAdaCore

WashabenARGOS einSatellitenpro-gramm zur Sammlung von Um-weltdaten unddas Traumlgheitsnavi-

gationssystem des Airbus 350 XWB mitein-ander gemeinsam Beide stellen besondereAnforderungenan ihre Steuerungssoftwaredie sehr sicher und in Echtzeit reagierenmuss und deren eventuelle Fehler viel Geldoder sogar Menschenleben kosten koumlnnenIn beiden Faumlllen ist die Software missions-kritisch wenn beispielsweise durch einenFehler der Satellit verloren gehen kann odersicherheitskritischwenndurch einenFehlerdie Passagiere des Airbus inGefahr geratenBeide Systeme haben noch etwas gemein-sam sie sind in Ada geschrieben

Ein Traumlgheitsnavigationssystem stellt ho-he Anforderungen an seine Embedded-Ap-plikationen die sehr Hardwarenah laufenDabei wird auf Sicherheit groumlszligter Wert ge-legt Die Anwendung darf unter keinen Um-staumlnden abstuumlrzen und sollte ihre Funktionerfuumlllen sowie maximale Reaktionszeitenstrikt einhalten Fuumlr sicherheitskritischeAn-wendungen werden in der Regel vor demeigentlichen Entwicklungsprozess genaueHigh-Integrity-Anforderungen aufgeschrie-ben denenderProgrammcodedannentspre-chenmussNatuumlrlich ist es fuumlr denProgram-mierer einfacher wenn die Sprache direktKonstruktionen anbietet die bestimmtenArten von Anforderungen entsprechen

Lesbarer Code vermeidetFehler beim programmierenDie Entwickler der Programmiersprache

Adahaben stets besonderenWert auf Lesbar-keit undWartbarkeit gelegt Das aumluszligert sich

unter anderem in syntaktischenUnterschie-den mit Sprachen wie C oder Java Zum Bei-spiel verzichtet Ada voumlllig auf geschweifteKlammern und nutzt stattdessen leicht les-bare Schluumlsselwoumlrter um Bloumlcke zu kenn-zeichnen So werden if-Bloumlcke mit einemend if undSchleifenmit einemend loopabgeschlossen Im Allgemeinen vermeidetAdaSymbolewoSchluumlsselwoumlrter Sinn erge-ben So wird auch der in C uumlbliche Stern zurBezeichnung von Zeigern durch das Schluumls-selwort access ersetzt Ada beachtet Groszlig-und Kleinschreibung nicht um Verwechs-lung von zu aumlhnlichen Bezeichnern zu ver-meiden Und schlieszliglich vermeidet Ada diein Java und C verbreitete Praxis oktale Zah-len mit einer fuumlhrenden Null darzustellenNeben diesen syntaktischen Unterschie-

den gibt es auch viele semantische Hilfenum lesbare undbesserwartbare Programmezu schreiben Sowird die Relation zwischeneiner Funktion und ihren Parametern durchSchluumlsselwoumlrter wie in (nur lesen) out(nur schreiben) oder in out (beides) doku-mentiert Ada ist imGegensatz zuC eine starkgetypte Sprache Typkonversionen die zuLaufzeitfehlern fuumlhrenkoumlnnenmuumlssten ex-plizit geschrieben werden Ada erlaubt imGegensatz zu manchen anderen Sprachendie Einfuumlhrung von benutzerdefinierten In-tegertypen die Absichten des Programmie-rers dokumentieren (DieseVariable enthaumlltZahlen zwischen 1und 100) unddie korrek-te Ausfuumlhrung mit Laufzeituumlberpruumlfungensicherstellen Diese semantischen Eigen-schaften erleichtern den direkten Vergleichdes Programmcodes mit den an ihn gestell-ten Anforderungen

Besonderheiten bei derEmbedded-ProgrammierungBei Echtzeitanwendungenhandelt es sich

meist um parallele Anwendungen denn inder Regel werden mehrere Berechnungengleichzeitig durchgefuumlhrt undneueEreignis-se verarbeitet In diesem Kontext ist es be-

Umweltsattelit Die Steuerungssoftware muss sich besonderen Anforderungen stellen Mit der Program-miersprache Ada laumlsst sich sicherheits- und missionskritische Software entwickeln (Im Bild der Umwelt-satellit ENVISAT)

fotoD

Lr

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

sonders wichtig dass Reaktionszeiten derSoftware auf Ereignisse garantiert werdenkoumlnnen Hier ist es nuumltzlich dass Ada einfa-che Sprachfeatures zur Beschreibung vonparallelen Prozessen bereitstellt Es ist ent-scheidend dassAdakeinenGarbageCollec-tor benoumltigt der denProgrammablauf verzouml-gern koumlnnte Ein manueller Umgang mitThreads ist alsonicht noumltig Unvorhersehba-re Latenzzeiten die bei sicherheitskritischenAnwendungen unakzeptabel sind werdenausgeschlossen Ein weiteres Argument fuumlrden Einsatz von Ada im Embedded-Bereichist seine Faumlhigkeit zur Low-Level-Program-mierung Damit kann beispielsweise die ge-naue Auslegung einer Datenstruktur imSpeicher festgelegt werden Als gefaumlhrlicherachtete Low-Level-Features wie zum Bei-spiel dasAuslesenbeliebiger Speicherberei-che oder auch die in C beliebte Pointerarith-metik sind in Ada nur unter Umgehung desTypsystemsmoumlglich

Ada ndash Die Programmierspracheohne UumlberraschungenAda wird oft als Sprache ohne Uumlberra-

schungen bezeichnet Mechanismen zurProgrammstrukturierung wie es sie in Adagibt also ein Objektsystem oder ein Paket-system sind sehr hilfreich wenn es darumgeht umfangreiche Programme zu schrei-ben Der Ada-Standard sieht sogenanntePragma-Restriktionen vormit denen festge-legt werden kann ob Features der Spracheausgeschlossenwerden sollenDamit lassensich interne Coding-Standards uumlberpruumlfenDieses Feature kannmanmit dem StandardMISRA-CC++vergleichen der versucht einesichere Teilmenge von C beziehungsweiseC++ zu definieren Ada bietet den Vorteildass viele Konstrukte vondenenMISRAab-raumlt gar nicht geschrieben werden koumlnnenund dank des starken Typsystems mehrUumlberpruumlfungenmoumlglich sindDie Programmiersprache Ada gibt es seit

demBeginn der achtziger Jahre Die damali-ge Version Ada 83 enthielt bereits eine guteBasis fuumlr die strukturierte undmodulare Pro-grammierung wie ein Paketsystem das dieKapselung von Daten und Algorithmen er-moumlglicht Seitdem hat sich Ada kontinuier-lich weiterentwickelt So erschien 1995 derAda-95-Standard der die Sprache um einObjektsystem erweiterte Der naumlchste Stan-dard Ada 2005 brachte Verbesserungen imUmgang mit Zeigern die als konstant oderauch als not null deklariert werden koumln-nen Das stellt vor allem eine umfangreicheErweiterungder Standardbibliothekdar dienun auch Container enthaumllt Das Objektsys-temwurde umdas Interface-Konzept erwei-

PRAxISWERT

Adacore Software-loumlsungen fuumlr AdaAdaCore wurde 1994 gegruumlndet undist der fuumlhrende Anbieter von kom-merziellen Softwareloumlsungen fuumlr Adaeiner modernen Programmiersprachefuumlr Mission-Critical-Anwendungen insicherheitskritischen UmgebungenDas wichtigste Produkt ist die Ent-wicklungsumgebung GNAT Pro dieOnline-Support bietet und auf mehrPlattformen als jede andere Ada-Tech-nologie verfuumlgbar ist Unternehmenwie Boeing HP Krauss-Maffei oderSiemens setzen AdaCore-Loumlsungenfuumlr sicherheitskritische Anwendun-gen ein Hauptsitz ist New York daseuropaumlische Headquarter ist in Paris

tert so dass nun auch Mehrfachvererbungmoumlglich istDer naumlchste Standard ist fuumlr 2012 vorgese-

hen Darin sind die aus der Programmier-spracheEiffel bekanntenVertraumlge (contracts)vorgesehen die jeder Funktion zwei Boole-scheAusdruumlcke hinzufuumlgen koumlnnen die voroder nach Ausfuumlhrung der Funktion wahrsein sollenDieseAusdruumlcke sind im Idealfalldirekt von den Anforderungen an die Soft-ware abgeleitet Sie koumlnnen als formale Do-kumentation als zusaumltzlicheUumlberpruumlfungenzur Laufzeit oder als Ausgangspunkt fuumlr sta-tische Analysen dienen Eine weitere Neue-rung ermoumlglicht dieDefinition vonTypenmitso genannten Invarianten Damit sind Boo-lesche Ausdruumlcke gemeint die fuumlr Wertedieses Typs immer wahr sind Schlieszliglichgibt es viele andereWeiterentwicklungenwieeine Python-aumlhnliche Syntax zur Iterationuumlber Container und Verbesserungen implattformuumlbergreifenden Umgang mit ne-benlaumlufigen Prozessen und Multiprozesso-ren hEh

AdaCore +33(1)4970 6716

ProgrammiersPrachen SiCHERE SOfTwARE

21

Adacore-Entwicklungswerkzeuge

Ada Deutschland

InfoClick

wwwelektronikpraxisde infoclick 3343168

Bei unsbewegtsich was

Webcasts aufwwwelektronikpraxisde

Finden Sie die Loumlsung fuumlr IhrProblem ndash als Video oderAudiodatei

Beispiele fuumlr Webcasts

Anwendungsbeschreibungenkomplexer erklaumlrungsbeduumlrftigerProdukte

anwendungs- und loumlsungsorien-tierte Produktpraumlsentationen

vertonte Powerpointpraumlsentati-onen ProduktanimationenExperteninterviews oderMesseberichte

Online-SeminareOnline-Konferenzen

Schauen Sie doch mal rein---gt wwwelektronikpraxisde

CAST

wwwvogelde

0726

4

22

EmbEddEd-SyStEmE Software-architektur

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Von der impliziten zur explizitenSoftware-Architektur

Im Bereich der Unternehmenssoftware ist das Festlegen einer Soft-ware-Architektur heutzutage Standard doch bei der Embedded-Ent-

wicklung wird dieser Aspekt haumlufig noch vernachlaumlssigt

MIchAEL STuRM chRISTIAN hOcK

Dr Michael Sturm leitet die Abteilung Softwarepro-dukte im Geschaumlftsbereich Industrybei der Berner amp Mattner Systemtech-nik in Muumlnchen

Dr christian hock ist verantwortlich fuumlr die strate-gische Ausrichtung des Geschaumlfts-bereiches Industry bei der Berner ampMattner Systemtechnik in Muumlnchen

Eine dokumentierte Software-Architek-tur hat klare Vorteile Produkte sindanpassungsfaumlhiger und zukunftssiche-

rer Auszligerdem erleichtert das Wissen umSchnittstellen Kommunikationsbeziehun-genundRessourcen einzelner Komponentenderen Anpassung an neue Hardwarebedin-gungenundFunktionsanforderungenNichtnur beiNeuentwicklungen sondern auchbeiModernisierungen bestehender Embedded-Loumlsungen lohnt es sich einen Software-Ar-chitekten einzubinden um Weiterentwick-lungenauf ein zukunftssicheres Fundamentzu stellen

Begruumlndete Technologie-entscheidungen treffenUnter Software-Architektur versteht man

die strukturierteAnordnungderKomponen-ten eines Systems mit Informationen zurKommunikation zwischen den Komponen-ten sowie deren Abbildung auf Hardware-oder Softwareressourcen Eine fruumlhzeitigeundprojektbegleitendeUnterstuumltzungdurcheinen den einzelnen Entwicklerteams moumlg-lichst neutral gegenuumlberstehendenSoftware-Architekten ist die ideale Loumlsung EineReihevon Aufgaben kann man dieser Instanz zu-ordnen in vielenBereichengeht es aber aucheinfach umModerationEine zentraleAufgabeder EmbeddedSoft-

ware-Architektur ist es nicht nur die funkti-onalen Anforderungen an die Software zuberuumlcksichtigen sondern auch nichtfunkti-

in seiner Loumlsungsfindung eingeschraumlnktsein Bewaumlhrte Loumlsungsansaumltzewerdendannoft unhinterfragt wiederholt Neue moumlgli-cherweise besser geeignete und insbesonde-re flexiblere Technologienbleibenunberuumlck-sichtigt

Zusammenhaumlnge muumlssennachvollziehbar bleibenDaher kannes zumBeispiel zudenAufga-

ben eines Software-Architekturteams oderexternen Beraters gehoumlren neue Technolo-

Groszliges Vorbild Softwaresysteme lassen sich hinsichtlich ihrer Komplexitaumlt mit Gebaumluden wie Antoni Gau-diacutes Kirche Sagrada Familia in Barcelona vergleichen Eine in sich schluumlssige Architektur ist deshalb auch imSoftwarebereich unerlaumlsslich

iStockph

otoham

ishBa

rrie

onale Anforderungen zu erfassen und zwarvor dem Hintergrund einer Lifecycle-Prog-nose Unter diese nichtfunktionalen Anfor-derungen fallen so komplexe Punkte wieWartbarkeit Modifizierbarkeit Skalierbar-keit Portierbarkeit Konnektivitaumlt Benutz-barkeit Zuverlaumlssigkeit Sicherheit Perfor-mance Effizienz oder TestbarkeitSo vorteilhaft ein eingespieltes Entwick-

lerteam fuumlr die Kommunikation ist so sehrkann es auch durch die Erfahrung aus Vor-gaumlngerprojekten oder aumlhnlichen Projekten

23

EmbEddEd-SyStEmE Software-architektur

gien zu evaluieren und auf Eignung fuumlr Pro-jekte zu pruumlfen sowie neue Toolsets zur Ver-fuumlgung zu stellen Kuumlnftig benoumltigteKompo-nenten muumlssen identifiziert werden undwenn es darum geht fuumlr einzelne Kompo-nenten optionale Technologien vorzuschla-gen bewaumlhrt sich haumlufig das Einschalteneines neutralen ArchitekturbeauftragtenEs geht um die Diskussion von Design-

Entscheidungen dieDefinition vonSchnitt-stellen und die Entwicklung von CodingConventions Unter der Moderation einesSoftware-Architekten erfolgen diese Ent-scheidungen bewusster und werden besserdokumentiert Nur sobleibendie Zusammen-haumlnge innerhalb eines Systems auch fuumlr Ent-wickler nachvollziehbar die spaumlter einmalan ihm arbeitenmuumlssen und nichts von denimplizitenAnnahmenund teaminternenGe-pflogenheiten seiner Schoumlpfer wissen

Implizite Architekturen sindimmer vorhandenIn der taumlglichen Praxis der Embedded-

Entwicklung sieht es leidermeist anders ausZeit- und Kostendruck verhindern oft dassGedankenundArbeit in eine systematisierteSoftware-Architektur flieszligen Hier koumlnnenSoftwarearchitekten auchdurchdieAuswahlgeeigneter Methoden und Tools weiter hel-fen So kann die dynamische Entwicklungheutiger Industrieproduktemit agilenAnsaumltzenunterstuumltztwerdenAuch einstrikt modellbasierter Entwicklungs-ansatz also die Modularisierung mitklar definierten Schnittstellen ist einMittel um einen hohen Reifegrad zuerreichen Die Vorteile dieses Vorge-henshaben sich in vielenProjektenbeiBerner amp Mattner in der Entwicklungvon Funktionserweiterungen gezeigtDank des modellbasierten Ansatzeskonnten diese mit minimalem Auf-wand realisiertwerdenndashunddies ins-besondere auch von urspruumlnglichnicht beteiligten EntwicklernAber Fakt ist Jedes Softwaresystem

hat eineArchitektur auchwenndiesenicht explizit modelliert wurde Ent-stehendiese Strukturenungeplant ausder Dynamik der Komponentenent-wicklung heraus tut dies der Funkti-onalitaumlt der Software zunaumlchst keinenAbbruch Probleme treten erst spaumlterauf wenn es umWartung Skalierungoder Portierung gehtImNachhinein raumlcht sichdann zum

Beispiel die Wahl einer bestimmtenProgrammiersprache oder einerSchnittstelle die unter dem Zeit- undKostendruck imEntwicklungsprozess

schnell und dazu noch undokumentiert ge-troffenwurdeDieKommunikation zwischeneinzelnen nicht klar getrenntenKomponen-ten war moumlglicherweise nur oberflaumlchlichgeloumlst anstatt schon bei derWahl der Tech-nologien und Sprachen darauf zu achtenReibungspotenziale zu minimieren

Zu enge Abhaumlngigkeiten vonder Hardware vermeidenWird ein Softwareprojekt nicht in Bezug

auf seinengesamtenLebenszyklus gesehenbesteht bei Embedded-Projekten auch dieGefahr dass ungewollteAbhaumlngigkeiten zurEntwicklungs-Hardware entstehen Die An-passung an neue Hardwaregenerationenkann dadurch sehr aufwaumlndig oder gar un-moumlglich werdenEine klar strukturierte unddokumentierte

Software-Architektur wird erst dann ver-misst wenn es bei der notwendigenWeiter-entwicklung Fragen und Schwierigkeitengibt Oft sollen wesentliche Teile der Soft-ware beibehalten aber zum Beispiel an einneuesBenutzerinterface angeschlossenwer-denManchmal ist der Controller fuumlr den siegeschrieben wurde nicht mehr verfuumlgbarund sein Nachfolger ist anders aufgebautFunktionenmuumlssen erweitert zusammenge-fuumlhrt oder auf geaumlnderte externe Systemeangepasst werden Die Pflege oder Weiter-

PRAxISWERT

Fehler lassen sichverhinderneine klar definierte und stringenteSoftware-architektur hilft die Zusam-menhaumlnge innerhalb eines Systemsbesser zu verstehen Dies verhindertfehler und senkt nicht zuletzt denaufwand bei der eventuell noumltigenbdquoaltbausanierungldquo von embedded-Systemen

Nachtraumlgliche Analyse nuumltztwurde die Software-architektur inder embedded-entwicklung vernach-laumlssigt lohnt sich angesichts der zuerwartenden langen einsatz- und Le-benszeiten vieler embedded-Systemeauch eine nachtraumlgliche analyse undDokumentation andernfalls drohenmoumlglicherweise immer wieder unkal-kulierbare Verzoumlgerungen wenn war-tungs- oder weiterentwicklungsarbei-ten eventuell auf undokumentierteeigenheiten des Systems stoszligen

H

SIG

HPEED

ROBUST

FLEXIBLE

TriCore Power Architecturebull

XC2000XE166 SH-2A XScalebull bull

Cortex M0M3M4 Cortex R4 Cortex A8 ARM7911bull bull bull

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

24

EmbEddEd-SyStEmE Software-architektur

ELEKTRONIKPRAXIS embedded Software engineering report Juni 2012

Literaturhinweise[1] Pete Goodliffe code craftthe Practice of writing excellent codeNoStarch Press 2006

[2] Peter hruschka Gernot Starkeknigge fuumlr SoftwarearchitektenentwicklerPress 2012

[3] craig Larman applying uML and Pat-terns an introduction to object-orien-ted analysis and DesignPrentice hall 2004 (3 auflage)[4] Berner amp Mattner-fachartikel bdquoSoft-warearchitektur in eingebetteten Syste-menldquo ndash httpbitlyJosXYw

entwicklung eines solchen Systemswird fuumlrden Produktverantwortlichen zu einerschwer kalkulierbaren Kostenquelle vor al-lem dann wenn er nicht mehr auf den KerndesurspruumlnglichenEntwicklerteams zuruumlck-greifen kannHilfestellung in solchen Situation bieten

Spezialisten wie Berner amp Mattner die Alt-systeme analysieren bestehende Software-Architektur nachdokumentierenundmoumlgli-che Migrations- und Aumlnderungspfade iden-tifizieren Als externe Architekturberaterkoumlnnen sie unbelastet von der Softwarehis-torie untersuchen wo in der Struktur derSoftware Problemfelder liegen und Loumlsun-gen vorschlagenDerAufwand fuumlr PflegeundWeiterentwicklung laumlsst sich auf Basis einersolchen Analyse besser beurteilen

Regeln aufstellen ndash und sierichtig brechenBesonders spannend wird das Thema bei

zertifiziertenEmbeddedSystemen Einehaumlu-fige Herausforderung ist dass die Softwareoder wesentliche Teile zertifiziert sind umeinem SIL (Safety Integrity Level) zu genuuml-gen Selbstverstaumlndlich moumlchte niemanderneut eine IEC 61508-Zertifizierung durch-laufen wenn sich dies vermeiden laumlsstGluumlcklicherweise sind oft nur einzelne rele-vante Teile des Systems als sicherheitskri-tisch eingestuft Die Kunst des Architektur-beraters ist es die Stellen in der Software zufinden andenendie Schnitte angesetztwer-denkoumlnnenndashund zwar zwischenden sicher-heitskritischen Teilen und den Teilen undSchnittstellen die problemlos geaumlndertwer-den koumlnnenHierzu nutzt der Berater gaumlngige Design-

Patternswie etwaSchichtenoder bdquopipes andfiltersldquo Ironischerweisemusshaumlufig das aufdieseWeise entstandene Regelwerk die ab-geleiteteArchitektur fuumlr das eigentlicheEnt-wicklungsprojekt gleich wieder gebrochenwerden eben um zertifizierte Bestandteileunveraumlndert zu erhalten Der groszlige Unter-schied zu den bdquoRegelverletzungenldquo aus derEntstehungszeit der urspruumlnglichen Soft-

ware liegt aber darin dass sie nun ausfuumlhr-lich dokumentiert werdenEs waumlre ein Missverstaumlndnis Software-

Architektur als ein unveraumlnderliches Doku-ment zu verstehen das man nur selten wie-der in die Hand nimmt Es sollte bei jederArbeit an der Software gelesen und gepflegtwerden Ohne dieses lebendige Dokumentwerden Architekturverstoumlszlige oft gar nichtbemerkt Vereinbarungen zu ArchitekturCodingConventions Schnittstellen etcwer-dendadurch fuumlr denEntwickler verbindlich

Architektur muss als Prozessverstanden werdenDer Auftraggeber erhaumllt so ein Embedded

System dessen Pflege er in die Haumlnde einesneuenTeamsgebenkannDie nun freigewor-denen Spezialisten die es erstellt habenkoumlnnen getrost an anderer Stelle eingesetztwerdenDabei gilt Software-Architektur endet nie

DennauchvondenEntwicklern einzusetzen-deDesign-Methodenwie zumBeispiel ObjectOrientedAnalysis andDesign (OOAD)habenklare Strukturen und die Trennung von Zu-

staumlndigkeiten zum Ziel - das ist eindeutigArchitekturEine klare Software-Architektur hilft die

Zusammenhaumlnge innerhalb eines Systemsbesser zu verstehen Dies verhindert Fehlerund senkt den Aufwand bei der bdquoAltbausa-nierungldquo von Embedded Systemen Wurdedie Software-Architektur in der Embedded-Entwicklung vernachlaumlssigt lohnt sich an-gesichts langer Einsatz- und Lebenszeitenvieler EmbeddedSystemeauchdie nachtraumlg-liche Analyse und Dokumentation Andern-falls drohen immer wieder unkalkulierbareVerzoumlgerungen wenn Wartungs- oder Wei-terentwicklungsarbeiten auf undokumen-tierte Eigenheiten des Systems stoszligen Beistark eingefahrenen Teams bzw zum Wis-sensaufbaubietet sichhier ein externer Soft-warearchitekt anDie meisten Fehler durch menschliches

Versagen entstehen dort wo wir nicht ver-stehen woran wir bdquoschraubenldquo Eine expli-zite Architektur traumlgt maszliggeblich dazu beidieWirkketten innerhalb komplexer Systemetransparent zu machen Mit diesem Wissenwerden erforderliche Aumlnderungen wesent-lich schneller bewertet und zuverlaumlssig rea-lisiert FG

Berner ampMattner +49(0)89 6080900

Zusammenhaumlnge verstehen Explizite Software-Architektur traumlgt maszliggeblich dazu bei die Wirkungs-zusammenhaumlnge komplexer Systeme anschaulich und transparent zu machen

iStockph

otoSirgunhik

Lebenslaumlnglich Software-architekturdesign

requirements engineering fuumlr embedded-Systeme

InfoClick

wwwelektronikpraxisde InfoClick 3343141

25

Kolumne

ELEKTRONIKPRAXIS Embedded Software Engineering Report Juni 2012

Mit Fragen zum ProjekterfolgPETER SIwON

Heute stelle ich Ihnen ein Wundermit-tel vormit demSie inProjekten vielEnergie Zeit und Geld sparen

Gleichzeitigmotiviert es IhreMitarbeiter DerEinsatz des Wundermittels hat sehr viel mitdem BuchstabenWwieWunder zu tun DasBeste daran Es kostet nichts undSie kennenes alle DasWundersameandiesemWunder-mittel ist allerdings dass es trotzdem zu sel-ten eingesetzt wird Ich gebe Ihnen noch einpaar TippsWie kommenSie ameffektivstenan Informationen Wie erfahren Sie amschnellstenwas andereMenschendenkenWie findenSie amschnellstenLoumlsungenDieAntwort lautet FragenUnddie beginnenoftmit wo wie wann oder wer Vielleicht sindSie jetzt uumlber diese simple Antwort ent-taumluscht nachdem ich Ihnen den Mund mitallerlei Wunderversprechungen waumlssrig ge-macht habe An dieser Stelle koumlnnten Siespaszligeshalber auf das Themaeinsteigenundfragen bdquoWie kommen Sie darauf diese Me-thode alsWundermittel zu bezeichnenldquo Siekoumlnnten aber auchgelangweilt denken bdquoWeiszligschon offene Fragen stellenldquo und aufhoumlrenzu lesen Sind Sie sich ganz sicher dass Siealle meine Argumente kennen Das ist zwaretwasmanipulativ abermit dieser Fragebrin-ge ich Sie immerhindazu IhrenStandpunktzu hinterfragen Vielleicht lautet die so pro-vozierteAntwort bdquoNaja eigentlichbin ichmirnicht sicherldquo ndash und Sie lesen doch weiterDas Praktische an solchenFragen ist dass

Sie sich von Ihrer eigenen Antwort in derRegel besser uumlberzeugen lassen Ichhaumltte Sieauch schulmeisterlich zu IhremGluumlck zwin-gen koumlnnen bdquoSie muumlssen weiterlesen weilichweiszlig dass Sie noch jedeMengeWichtigeserfahren das Sie unmoumlglich wissen koumln-nenldquo Dasmache ich aber nicht weil ich dieNachteile kenne 1 Siemuumlssen gar nichts 2Wenn Sie muumlssen dann wollen Sie nichtIhre Motivation ist gering 3 Woher will ichwissen obSie nichtmehr uumlber dieKunst desFragens wissen als ich selbst Damit die ge-rade so schoumln erzeugte Motivation nichtgleichwieder auf demAltarmeines Egos ge-opfert wird spare ichmir PseudofragenwiebdquoHab ichs Ihnennicht gleich gesagtldquo Statt-dessen bedanke ich mich bescheiden fuumlrIhreBereitschaftweiterzulesen Ich gebe zudas faumlllt mir manchmal schwerGeschriebener Text schraumlnkt dieMoumlglich-

keiten etwas einDarumstellen Sie sichbitte

die obenangedeutete Szene als persoumlnlichesGespraumlch vor In diesem Fall koumlnnte ich ausdem W-Vollen schoumlpfen Wenn Sie mir zuverstehen geben dass Sie sich selbst schonmit dem Thema befasst haben dann werdeich Sie beispielsweise fragen bdquoDas freutmich Welche Erfahrungen haben Sie ge-machtldquo oder bdquoWas wuumlrden Sie aus IhrerErfahrung empfehlenldquo Jetzt habe ich dieChance etwas von Ihnen zu lernen Gleich-zeitig spare ich Energie und Uumlberzeugungs-arbeit weil ich einfach nur zuhoumlre Ich wer-de IhreAussagendurchRuumlckmeldungenwiebdquointeressantldquo oder bdquoDa stimme ich Ihnen zuldquounterstre