ELCE 2013 - Secure Embedded Linux Product (A Success Story)



Similar documents
Linux flash file systems JFFS2 vs UBIFS

Update on filesystems for flash storage

Update on filesystems for flash storage

Embedded Linux Platform Developer

i.mx USB loader A white paper by Tristan Lelong

Disk encryption... (not only) in Linux. Milan Brož

Application Development Kit for Android Installation Guide

UBIFS file system. Adrian Hunter (Адриан Хантер) Artem Bityutskiy (Битюцкий Артём)

JOB READY ASSESSMENT BLUEPRINT COMPUTER NETWORKING FUNDAMENTALS - PILOT. Test Code: 4514 Version: 01

File Systems for Flash Memories. Marcela Zuluaga Sebastian Isaza Dante Rodriguez

securityprobe5es -X20

Into The Droid. Gaining Access to Android User Data DEF CON 20

Encrypted File Systems. Don Porter CSE 506

An Introduction to Android

System-on-a-Chip with Security Modules for Network Home Electric Appliances

Creating a More Secure Device with Windows Embedded Compact 7. Douglas Boling Boling Consulting Inc.

Protecting Corporate Data from Mobile Threats. And the emerging role for microsd-based security Art Swift CEO, CUPP Computing

Survey of Filesystems for Embedded Linux. Presented by Gene Sally CELF

What marketing won t tell you about the Internet of Things

Track One Building a connected home automation device with the Digi ConnectCore Wi-i.MX51 using LinuxLink

Security+ Guide to Network Security Fundamentals, Third Edition. Chapter 2 Systems Threats and Risks

SCP - Strategic Infrastructure Security

Notable Changes to NERC Reliability Standard CIP-010-3

Ways to Use USB in Embedded Systems

Smart Nest Thermostat A Smart Spy in Your Home

Kaspersky Fraud Prevention: a Comprehensive Protection Solution for Online and Mobile Banking

Security Security by Separation

Design for Success: Designing for the Internet of Things with TiWiConnect

Android Virtualization from Sierraware. Simply Secure

SBC8100 Single Board Computer

Designed for the needs of automation, telecommunications, remote supervision, and monitoring

Virtually Secure. a journey from analysis to remote root 0day on an industry leading SSL-VPN appliance

Cyber Security In High-Performance Computing Environment Prakashan Korambath Institute for Digital Research and Education, UCLA July 17, 2014

The current version installed on your server is el6.x86_64 and it's the latest available.

Friendly ARM MINI2440 & Dalvik Virtual Machine with Android

Implementation of Wireless Gateway for Smart Home

Threat Modelling for Web Application Deployment. Ivan Ristic (Thinking Stone)

Virtualization System Vulnerability Discovery Framework. Speaker: Qinghao Tang Title:360 Marvel Team Leader

USB Portable Storage Device: Security Problem Definition Summary

Introduction to BitLocker FVE

UNCLASSIFIED Version 1.0 May 2012

Running Debian on Inexpensive Network Attached Storage Device

Compatible with all of the Ravica range of Intelligent Sensors it provides a complete environmental, access control and security monitoring solution.

Securing Linux Servers Best Practice Document

IRON-HID: Create your own bad USB. Seunghun Han

An Introduction to Android. Huang Xuguang Database Lab. Inha University

15 May 2013 Version 5. for Mac OS X. Public version. Gemfor s.r.o. Tyršovo nám Roztoky Czech Republic

Computer Security DD2395

Google and Open Source. Jeremy Allison Google Open Source Programs Office

Sierraware Overview. Simply Secure

OpenWRT - embedded Linux for wireless routers

On Benchmarking Embedded Linux Flash File Systems

Chapter 1: Introduction

MAJORS: Computer Engineering, Computer Science, Electrical Engineering

Acano solution. Security Considerations. August E

SBC8600B Single Board Computer

Firmware security features in HP Compaq business notebooks

Network-Enabled Devices, AOS v.5.x.x. Content and Purpose of This Guide...1 User Management...2 Types of user accounts2

Chapter 17. Transport-Level Security

Eureka Technology. Understanding SD, SDIO and MMC Interface. by Eureka Technology Inc. May 26th, Copyright (C) All Rights Reserved

KINDLE FORENSICS: ACQUISITION & ANALYSIS

Blackbox Android. Breaking Enterprise Class Applications and Secure Containers. Marc Blanchou Mathew Solnik 10/13/

Computer Automation Techniques. Arthur Carroll

About Yazata Business Consulting

CompTIA Mobile App Security+ Certification Exam (ios Edition) Live exam IOS-001 Beta Exam IO1-001

COURCE TITLE DURATION CompTIA A+ Certification 40 H.

Network connectivity controllers

securityprobe 5E Standard

Encrypting the Private Files on Your Computer Presentation by Eric Moore, CUGG June 12, 2010

NAND Flash FAQ. Eureka Technology. apn5_87. NAND Flash FAQ

CNT Computer and Network Security Review/Wrapup

Network Defense Tools

USB Portable Storage Device: Security Problem Definition Summary

Wireless ATA: A New Data Transport Protocol for Wireless Storage

Bluetooth to serial HC-06 wireless module

Yun Shield User Manual VERSION: 1.0. Yun Shield User Manual 1 / 22.

Buildroot Workshop. Libre Software Meeting Thomas Petazzoni Free Electrons

Chapter 1 Hardware and Software Introductions of pcduino

Quickstart Guide Vodafone Mobile Wi-Fi R209-Z

Research and Design of Universal and Open Software Development Platform for Digital Home

S E C U R I T Y A S S E S S M E N T : B o m g a r A p p l i a n c e s

Fondamenti su strumenti di sviluppo per microcontrollori PIC

PFP Technology White Paper

Android Operating System:

congatec AG How to come around the IoT data security challenges

The Bro Network Security Monitor

Getting started with ARM-Linux

Technical Note TN_146. Creating Android Images for Application Development

Do Containers fully 'contain' security issues? A closer look at Docker and Warden. By Farshad Abasi,

Linux Operating System Security

760 Veterans Circle, Warminster, PA Technical Proposal. Submitted by: ACT/Technico 760 Veterans Circle Warminster, PA

Compromise-as-a-Service

Useful USB Gadgets on Linux

WEP Overview 1/2. and encryption mechanisms Now deprecated. Shared key Open key (the client will authenticate always) Shared key authentication

WIND RIVER SECURE ANDROID CAPABILITY

Transcription:

ELCE 2013 - Secure Embedded Linux Product (A Success Story) Marcin Bis http://bis-linux.com marcin@bis-linux.com Edinburgh - 2013.10.25 1 / 31

About me Marcin Bis Entrepreneur Embedded Linux: system development, kernel development. Esp. Linux + Real-Time - automation (industrial- and home-). 2 / 31

Agenda? I want to tell you about a success story...... protecting added value in a product. A few quick words about security Embedded security. Attack vector and surface. What is similar with standard system security? Practical example - secured embedded Linux system. A problem (bussiness view). Active & passive security. Examples. I will not talk about:: Android Web apps, dedicated apps, cloud. Embedded Linux Security 3 / 31

Attack surface One or more input methods of the system. which can be accessed by untrusted user, or access to which can be influenced. Embedded Linux Security Attack surface 4 / 31

Attack vector... to exploit a surface. Common ones: network (TCP/IP, Wi-Fi), application, serial port. Less obvious: USB, I2C, solid state memory (FLASH), Bluetooth GPS, cellular network. Less obvious == mode dangerous. Embedded Linux Security Attack surface 5 / 31

Embedded vs. standard Some differences: Some attack vectors are unique to embedded devices. Problematic updates (software monoculture). People do not threat them as devices. On the other hand - same programs and services. (Wireless) network accessible. Apache, openssh, perl, avahi, dns, openssl etc. Embedded Linux Security Attack surface 6 / 31

Some examples Stuxnet FTP access to / via root account. admin:default - common in network devices. More, easy to find: http://lwn.net/talks/elc2009/ (2009). Another example of hard-coded credentials: Embedded Linux Security Attack surface 7 / 31

Make it secure (trivia) Common methods are easy to avoid: Restricted shell access, eg. serial port strong password, use PAM to auto-logout idle shells. Other access methods to shell (web shell, ssh, telnet (!) etc.) Strong passwords (+1). Do not run all applications from root account. Bug-fix-ed components. Self developed vs. standard software. Defensive programming. Embedded Linux Security Attack surface 8 / 31

Passive security Passive security 9 / 31

How the customer see the product? Passive security A problem? 10 / 31

How my customer see the product? Hardware becomes cheaper and cheaper. Expectations increases (let s add functionality). Linux and open source is a foundation of the software product. Open-Source and Free Software gives us all freedom: Every developer has the same rights. And equal chances. Customer will make money on added value According to licences of course: GPL LGPL BSD Passive security A problem? 11 / 31

Added value? Passive security A problem? 12 / 31

How to secure a added value? possibility of "TiVo-lization", - do not go to far. GPLv3 Passive security A problem? 13 / 31

Let s do it! At first: Nothing will stop user (abuser) from de-soldering an element and trying to analyze logic states. Most SoC-s has hundreds of pins - it is difficult (but not impossible). It all depends on how determined you are ($$$). Security is a process not a product. Passive security A problem? 14 / 31

Hardware methods BGP - it is harder to analyze data on bus, inner layers of PCB are harder to access, of using Application processor and external uc - add some logic to check timing (like watchdog). TPM chips. Passive security A problem? 15 / 31

VIA (Wikipedia) Passive security A problem? 16 / 31

Hidden Via (3) (Wikipedia) Passive security A problem? 17 / 31

a sandwich (Wikipedia) Passive security A problem? 18 / 31

The problem... It is not easy to debug firmware. Passive security A problem? 19 / 31

Let s secure data Sign it. TPM HAB or encrypt it Should be fast. Performance penalty (esp. Real-Time). Where to store the key. Passive security A problem? 20 / 31

How to encrypt rootfs Block devices (e.g. emmc): dm-crypt man cryptsetup LUKS Any filesystem ecryptfs sudo mount -t ecryptfs tmp1 tmp2 problems using on rootfs (pivot_root, switch_root) still, can be used to encrypt parts of filesystem. Cutomer wants to have a raw NAND device (wear leveling). Passive security A problem? 21 / 31

NAND How does it work? Passive security A problem? 22 / 31

JFFS2, YAFFS2, LogFS Passive security A problem? 23 / 31

UBI Passive security A problem? 24 / 31

UBI is nice...... for big NANDs: http://elinux.org/flash_filesystem_benchmarks How to add encryption? It can emulate block device. Use ecryptfs. look at the source code. UBIFS arleady compresses data it writes. Maeby it could encrypt it too. Using Crypto-API. Passive security A problem? 25 / 31

Passive security A problem? 26 / 31

On the other side: Passive security A problem? 27 / 31

Use proper block cipher openssl enc -aes-128-ecb -k "secret" -in logo.ppm -out out.ppm Passive security A problem? 28 / 31

Secured device The problem of storing encryption key - still exists. Passive security A problem? 29 / 31

Secured device... The problem of storing encryption key - still exists. Put it as DT attribute. Modify NAND driver to use it. Encrypt kernel+dt using functions of the Chip. i.mx28 SecureBoot Passive security A problem? 30 / 31

Thank You! What is important? Security is not a product. it is a process. What else? Internal attacks. I do not even trust myself. Questions? Passive security Thank You! 31 / 31