Canonical richt zich met Ubuntu Core 16 voor iot op beveiliging

Canonical heeft Ubuntu Core 16 aangekondigd, de uitgeklede versie van Ubuntu die speciaal bedoeld is voor internet-of-things-toepassingen. De nieuwe versie is met name gericht op beveiliging en het valideren van snap-apps.

De aankondiging van versie 16 volgt achttien maanden na die van Ubuntu Core 15. De voornaamste aanpassing betreft het kunnen valideren van snap-updates met Update Control voordat de updates daadwerkelijk uitgerold worden. Mislukt een update dan wordt deze automatisch teruggedraaid.

De aanpassing moet het onder andere makkelijker maken beveiligingsupdates door te voeren. Snaps zijn read-only images van applicaties die makkelijk te updaten zijn en waarvan de authenticiteit met vingerafdrukken en handtekeningen gegarandeerd kan worden. Ook de delen en de kernel van het Core-besturingssysteem zijn als snaps geïmplementeerd. "Alle Ubuntu Core-apparaten, van alle fabrikanten, krijgen regelmatig, gratis en betrouwbare OS-beveiligingsupdates", belooft Canonical.

Recent zijn er de nodige beveiligingsproblemen met Linux geweest, zoals de Bash-bug en Dirty COW, terwijl ook internet-of-things-apparaten bij incidenten vatbaar bleken voor misbruik. Volgens Canonical neemt Core 16 met snaps ook minder ruimte in en zijn er andere beveiligingsverbeteringen doorgevoerd.

Door Olaf van Miltenburg

Nieuwscoördinator

03-11-2016 • 18:31

23 Linkedin

Submitter: tpeeters

Reacties (23)

23
21
16
7
0
4
Wijzig sortering
Ik vind het een goede move van Canonical om met Ubuntu Core in te zetten op IoT apparaten. Er worden nu al veel vraagtekens gezet bij de veiligheid van die apparaten wegens een gebrek aan updatebeleid. Als dit soort apparaten in de toekomst allemaal snel en eenvoudig te updaten zijn met nieuwe Snaps wordt die situatie een stuk beter. Als Canonical dit goed brengt kunnen ze met hun Ubuntu Core een groot deel van een in de toekomst waarschijnlijk grote en belangrijke markt veroveren.
Alleen zie ik in die snaps weer een groot nadeel. Als de maintainer van een snap er mee stopt dan mogen de libraries wel bijgewerkt worden upstream, de snap zal altijd met de oude versie blijven zitten. In dat opzicht is dit dus een achteruitgang.
Ik ben ook niet zo'n fan van Snaps vanwege het embedded libs probleem dat je beschrijft. Toch zie ik wel een voordeel waar ik het even over wil hebben.

In praktijk worden IoT/embedded devices namelijk toch al slecht onderhouden. Als je toch al niet update maakt het geen verschil of je dat met of zonder snaps doet... Het voordeel van snaps is dat je het onderliggende Ubuntu-systeem gewoon geupdate kan worden via de servers van Ubuntu zonder je zorgen te maken over de snaps. Dat is beter dan niks.

Helaas zitten de meeste problemen in de applicaties die met het netwerk communiceren en waarschijnlijk zit dat stuk nu net wel in de snap. Het is dus een beetje de vraag hoe nuttig het nog is om het onderliggende OS te kunnen updaten, maar goed, iets is dus beter dan niets.
Precies! Snaps zijn geen focus op veiligheid maar op (discutabele) gebruikersvriendelijkheid. Apt doet al precies wat nodig is qua package management, snaps voegen weinig toe.
Alleen hebben IoT apparaten helemaal geen apt. Een volledige Linux distributie inclusief package manager wordt over het algemeen te zwaar geacht voor IoT en mobiele apparaten. Canonical probeert met Ubuntu Core dat probleem te ondervangen. Core gebruikt geen apt, Snaps zijn dé manier om het systeem up-to-date te houden.

Net als velen van jullie ben ik helemaal niet zo'n groot fan van Snap en Flatpack en dergelijke, maar zoals @CAPSLOCK2000 al zegt is iets beter dan de huidige situatie, waarin er voor dit soort apparaten eigenlijk niets is, behalve misschien sporadische firmware updates van fabrikanten als ze er zin in hebben.
Uh? Apt is helemaal niet zwaar. Draaide 20 jaar terug ook op mijn 286... Lichter dan de overhead die snaps met zich meebrengen. Fatsoenlijk package management is juist de manier om met beperkte systemen om te gaan omdat je geen libraries dupliceert. Scheelt een hoop ruimte.
Ik zei dan ook "geacht" ;) Ik ben het persoonlijk met je eens, maar fabrikanten van embedded devices, IoT apparaten en smartphones lijken het vooralsnog niet met ons eens te zijn. Daarom volg ik de ontwikkelingen rondom Ubuntu Mobile ook op de voet, omdat ik erg geïnteresseerd ben in een high-end smartphone waar een volledige Linux distro op draait. Maar dat terzijde.

Wat ik wel moet toegeven is dat formaten als Snap fabrikanten van dit soort apparaten de mogelijkheid geeft om op een gemakkelijke manier updates en nieuwe applicaties aan te bieden aan hun klanten, zonder dat ze zelf volledige repositories hoeven op te zetten. Het "base system" kunnen ze bij Canonical vandaan trekken en de rest zelf aanbieden. Daarmee voorkomen ze meteen dat wij rare Tweakers via apt willekeurige applicaties gaan installeren op deze devices waar ze in de ogen van de fabrikant helemaal niet voor bedoeld zijn.
Daarmee voorkomen ze meteen dat wij rare Tweakers via apt willekeurige applicaties gaan installeren op deze devices waar ze in de ogen van de fabrikant helemaal niet voor bedoeld zijn.
Slim bedacht, moet ik zeggen. Alsnog wél een kwalijke zaak. De controle in handen van de leverancier / fabrikant laten in plaats van de software-bouwer heeft vervelende gevolgen, zoals je ook ziet in het update-beleid op Android smartphone. Besturingssysteem en bibliotheken moeten niét aan de fabrikant van een IoT-apparaat overgelaten worden, omdat je daarmee afhankelijk van hen bent. Dan krijg je ook weer situaties dat je na een jaar nieuwe apparaten moet kopen omdat zij het niet meer willen ondersteunen. Mogelijk logisch vanuit het standpunt van de fabrikanten om daarop in te zetten, maar waarom werkt Canonical daaraan mee? Die zou zich er juist hard voor moeten maken om zélf de touwtjes in handen te houden zodat zij een veilig, flexibele systeem kunnen opzetten wat automatisch bijgewerkt kan worden in het geval van beveiligingsproblemen.

Dit gaat weer zó veel ellende opleveren. En Canonical meent dus dat ze hiermee juist inzetten op beveiliging 8)7
Nu heb je denk ik mij verkeerd begrepen, of ik begrijp jou niet goed. Het hele idee van embedded devices met Ubuntu Core is juist dat de basis, dus het OS + belangrijke libraries e.d., bij Canonical vandaan komt. De fabrikant hoeft alleen maar de functionele apps te bouwen op deze basis en aan te bieden als Snap. Ze blijven dus wel verantwoordelijk voor updates aan hun eigen Snaps, maar het onderliggende OS wordt door Canonical up-to-date en dus hopelijk ook veilig gehouden.
Ja, dat snap ik. Echter, het idee van een 'snap-package' is wel dat het een applicatie + dependencies is. En die dependencies, daar zit het probleem. De applicatie zelf moet onderhouden worden, maar daar heb je de auteur (fabrikant?) sowieso voor nodig. De depencies echter niet; maar bij een Snap wel. Als dit alles al door Ubuntu Core / Canonical aangeleverd wordt heeft de 'snap' geen voordeel meer, want dan kun je gewoon prima af met het reguliere package management.

De verantwoordelijkheid voor het onderhoud van de systemen moet zo veel mogelijk weggehouden worden van leveranciers van IoT-apparaten; laat die zich maar focussen op het bouwen van leuke apparaten en de verantwoordelijkheid expliciet onderbrengen bij bijvoorbeeld Canonical. Doen ze dat, dan heeft Snap dus eigenlijk bar weinig voordeel.
Het is wel degelijk mogelijk om dependencies zoals bijvoorbeeld libraries niet met een Snap zelf mee te leveren, maar uit een andere Snap te betrekken. En inderdaad, dat is het hele idee achter de traditionele manier van package management, maar zolang IoT fabriekanten dat niet aanbieden op hun devices en Snaps wel is dit in ieder geval een oplossing, in plaats van geen oplossing.

De bottom line waar we het volgens mij beiden mee eens zijn: Snaps zijn niet ideaal, maar het is beter dan hoe het was, namelijk wachten tot er een firmware update uit werd gebracht door de fabrikant, wat vaak niet eens gebeurd.
op zich heb je gelijk dat snap het probleem niet oplost dat fabrikanten hun software moeten onderhouden. Wat het doet is het veel makkelijker maken om dat te doen. Op twee manieren:
* het is makkeljjker een snap te maken dan al de pakketen nodig voor een app
* maar belangrijkste: het is eenvoudig om snaps the laten auto-updaten. Met packages is dat gewoon te risicovol. Snaps kunnen eenvoudig en automatisch terugdraaien als het misgaat en het is een 'atomic' verandering.

Voor iets als de Nextcloud box is het super, al had een andere oplossing ook gewerkt - het zou gewoon meer werk zijn geweest.
Maar zijn snaps niet als app's op mobieltjes ? Die in een soort sandbox draaien ?
Een snap is eigenlijk een soort van archief waarin de software en eventueel alle afhankelijkheden zitten samengepakt. Op die manier ben je zeker dat je van alles een versie hebt die met elkaar samenwerkt. Al kan je die benodgde afhankelijkheden ook weer via andere snaps binnenhalen.

Telkens de software opstart, wordt deze dus uit de read-only snap ingeladen en opgestart. Het probleem zit hem er in dat wanneer je applicatie bijvoorbeeld gebruik maakt van openSSL en hierin een bug wordt gevonden het niet langer volstaat om openSSL van het systeem te patchen zoals vandaag het geval is. De versie in elke snap moet ook bijgewerkt worden. Wanneer er voor die snap geen maintainer meer is dan gebeurd dat niet en blijf je dus met een potentieel kwetsbaar systeem zitten.

Een snap is inderdaad gesandboxed. Hierdoor wordt het voor een aanvaller moeilijker om het hele systeem te compromiteren, maar met de data die in de snap zit kan het vaak al interessant zijn om alsnog aan te vallen.
Snaps zijn inderdaad sandboxed, maar net als apps op mobieltjes garandeert dat geen veiligheid, zeker niet als er oude libraries met bekende lekken worden gebruikt.
Dat is helaas het grootste probleem, als je al weet hoe vaak het nu mis gaat met software (buiten de grote packages om) denk ik niet dat hier de oorzaak ligt van het probleem van update.
Als Canonical hier dus serieus op in wil zetten (en dat lijken ze te willen doen) dan is het aan hen om te zorgen dat Snaps bijgewerkt blijven. Het installeren van packages die niet door de distribution maintainer zelf worden aangeboden is altijd al een risico geweest, of je dit nu doet via Snaps of via een PPA. Canonical zal dus een suite aan Snaps moeten aanbieden die door hen up-to-date worden gehouden en misschien ook met een methode moeten komen om zich Snaps die niet meer worden onderhouden toe te eigenen en te updaten dan wel aan gebruikers te melden dat een bepaalde applicatie verouderd en mogelijk onveilig is, met het advies deze te deïnstalleren.
Ik weet niet goed waar ik mijn vraag moet stellen dus probeer het hier; ik ben bezig met home automation en heb ubuntu desktop op een dedicated homeserver gezet om openhab, mqqtt en openhab dashboard (dashing.io) te draaien. Zou ik beter af zijn met ubuntu core of ubuntu server? Het gaat mij met name om performance.

Het gaat om een GigaByte GB-KMA3 (rev. 1.0)

Thnx :)

[Reactie gewijzigd door mixp op 4 november 2016 08:30]

Voor het performance verschil ga je het alleszins niet moeten doen, dan zou ik sowieso gaan voor de server editie aangezien die standaard meer essentiële software reeds aan boord heeft en gericht is op uitermate hoge stabiliteit.

[Reactie gewijzigd door geoffrey.vl op 4 november 2016 08:46]

Op dit item kan niet meer gereageerd worden.

Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee