Cryptocurrencies Ε ΠΛ 682 ADVANCE D S ECURITY TOPICS ΡΑΦΑΗΛ ΜΑΚΡΥΓΙΩΡΓ ΗΣ 18/04/2019

Σχετικά έγγραφα
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Bitcoin #1. Blockchain Course Dimitris Grigoriou, Christos Nasikas, Dionysis Zindros

Από την ιδέα στο έργο

BITCOIN. Διαφάνειες: Δημήτρης Καρακώστας Διονύσης Ζήνδρος. Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

A browser-based digital signing solution over the web

Συνοπτικά, το σύστημά σας θα πρέπει να υλοποιεί τις παρακάτω λειτουργίες:

Το Bitcoin ως ψηφιακό νόμισμα, και άλλες εφαρμογές των κατανεμημένων κρυπτοοικονομιών

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Έξυπνα συμβόλαια και πληρωμές χρησιμοποιώντας Bitcoin και Ethereum

Διονύσης Ζήνδρος Εθνικό Μετσόβιο Πολυτεχνείο Image carbonism

Abstract Storage Devices

Βασικές έννοιες. Κατανεμημένα Συστήματα 1

Connected Threat Defense

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ

CYTA Cloud Server Set Up Instructions

" : Bitcoin - κρυπτονομίσματα, η τεχνολογία στην οποία στηρίζονται και οι επιπτώσεις της"

Connected Threat Defense

Στρατηγικές Ασφάλειας

Δθαξκνζκέλα καζεκαηηθά δίθηπα: ε πεξίπησζε ηνπ ζπζηεκηθνύ θηλδύλνπ ζε κηθξνεπίπεδν.

GDPR και Τεχνικά Μέτρα Ασφάλειας Πληροφοριακών Συστημάτων

Αναλύσεις Προγραμμάτων και Ψηφιακά Νομίσματα. Γιάννης Σμαραγδάκης, ΕΚΠΑ

GPGPU. Grover. On Large Scale Simulation of Grover s Algorithm by Using GPGPU

Δίκτυα Επικοινωνιών ΙΙ: OSPF Configuration

Βασικές έννοιες. Κατανεμημένα Συστήματα 1

ΜΕΛΕΤΗ ΣΧΕΔΙΑΣΗ ΕΦΑΡΜΟΓΗΣ ΣΕ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ (CLOUD COMPUTING) ΜΕ ΕΜΦΑΣΗ ΣΤΗΝ ΚΑΤΑΣΚΕΥΗ ΔΕΝΤΡΩΝ.

Financi. Offered by Athens Information Technology Blockchains Cryptocurrencies, and Applications ΓΕΝΙΚΑ

ΤΕΙ ΗΠΕΙΡΟΥ Τμήμα Τηλεπληροφορικής & Διοίκησης

Εισαγωγή στα Πληροφοριακά Συστήματα. Ενότητα 5: Λογισμικό - Software

ΔΙΑΔΙΚΤΥΑΚΑ ΠΙΛΟΤΙΚΑ ΣΕΜΙΝΑΡΙΑ SOLAR CV E-SILULATOR

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

BLOCKCHAIN ΚΑΙ CONSENSUS

Προδιαγραφή και Επαλήθευση Πρωτοκόλλων Ασφαλείας Συστημάτων Κινητών Επικοινωνιών με Χρήση Τυπικών Μεθόδων

2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems

«Αnti- Spamming σε publish/ subscribe συστήματα»

, Evaluation of a library against injection attacks

Information Technology for Business

Bring Your Own Device (BYOD) Legal Challenges of the new Business Trend MINA ZOULOVITS LAWYER, PARNTER FILOTHEIDIS & PARTNERS LAW FIRM

Technical FAQ. Data Encryption: 128bit έως 256Bit με επιλογή πρωτοκόλλου (AES, Triple DES, and TwoFish). Traffic Encryption: 1024bit RCA

Εκτίμηση κινδύνου και μέτρα ασφαλείας για την προστασία προσωπικών δεδομένων

Λειτουργικά Συστήματα. Εισαγωγή

GDPR : Περιστατικά Παραβίασης Προσωπικών Δεδομένων 8 μήνες μετά

Security in the Cloud Era

Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #2

Εισαγωγή στον Προγραµµατισµό, Αντώνιος Συµβώνης, ΣΕΜΦΕ, ΕΜΠ,, Slide 6

Enforcing Secure Service Composition

Κρυπτονόμισμα : Ένα αναδυόμενο εργαλείο οικονομικής ελευθερίας. Ο Χάγιεκ αναφέρει στο Constitution of Liberty ότι ένας από τους πιο

The Simply Typed Lambda Calculus


ΥΠΗΡΕΣΙΕΣ ΨΗΦΙΑΚΗΣ ΠΙΣΤΟΠΟΙΗΣΗΣ

Αυτοματοποιημένη Κατανομή Κανόνων Ελέγχου Πρόσβασης σε Κατάλληλα Σημεία Ακαδημαϊκών Δικτύων

Πρόγραμμα Σεμιναρίων Σεπτεμβρίου Δεκεμβρίου

Block Ciphers Modes. Ramki Thurimella

Thesis presentation. Turo Brunou

ΥΠΗΡΕΣΙΑ ΕΙΚΟΝΙΚΟΥ ΕΡΓΑΣΤΗΡΙΟΥ ΣΧΕ ΙΑΣΜΟΥ

Hash Functions. μεγεθος h = H(M) ολους. στο μηνυμα. στο συγκεκριμενο hash (one-way property)

Κατανεμημένα Συστήματα. Javascript LCR example

1) Formulation of the Problem as a Linear Programming Model

Αντικείµενο: Θεµελιώδες πρόβληµα της επιστήµης µας εδοµένα

Διάλεξη 07: Σχεσιακό Μοντέλο II (Relational Data Model) Διδάσκων: Παναγιώτης Ανδρέου

ΑΠΟΔΟΤΙΚΗ ΑΠΟΤΙΜΗΣΗ ΕΡΩΤΗΣΕΩΝ OLAP Η ΜΕΤΑΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΕΞΕΙΔΙΚΕΥΣΗΣ. Υποβάλλεται στην

Εφαρμοσμένη Κρυπτογραφία Ι

Διαδίκτυο των Αντικειμένων - IoT.

Bitcoin: Ένα Peer-to-Peer Ηλεκτρονικό Σύστημα Μετρητών

Οδηγίες Αγοράς Ηλεκτρονικού Βιβλίου Instructions for Buying an ebook

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ

Models for Probabilistic Programs with an Adversary

Ασφάλεια Υπολογιστικών Συστημάτων

ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Εισαγωγή: Το Internet, Μοντέλο Διαχείρισης FCAPS, Ανασκόπηση TCP/IP, Στατιστικές, Ονοματοδοσία στο Internet Β.

Schedulability Analysis Algorithm for Timing Constraint Workflow Models

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΔΙΟΙΚΗΣΗΣ MANAGEMENT INFORMATION SYSTEMS (M.I.S.)

Μεταπτυχιακή Εργασία Διαχείριση Επιχειρησιακών Διαδικασιών με τη χρήση Τεχνολογίας BPMN

Control Flow Integrity (CFI) Αντρέας Ιωάννου

Hydro Raindrop Public Authentication On The Blockchain

The challenges of non-stable predicates

Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής

Kubernetes on AWS. Tobias Schwab, Co-Founder of PhraseApp

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

SPEEDO AQUABEAT. Specially Designed for Aquatic Athletes and Active People

ΔΙΑΔΙΚΤΥΑΚΑ ΠΙΛΟΤΙΚΑ ΣΕΜΙΝΑΡΙΑ SOLAR CV PLATFORM

Πρόγραμμα Σεμιναρίων Φεβρουαρίου - Ιουλίου

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ. Δ Εξάμηνο

ΚΑΤΑΝΟΗΣΗ ΤΟΥ BITCOIN ΩΣ ΧΡΗΜΑΤΙΚΗ ΜΟΝΑΔΑ ΚΑΙ Η ΔΙΕΙΣΔΥΣΗ ΤΟΥ ΣΤΙΣ ΑΓΟΡΕΣ

AN IMPLEMENTATION OF THE CLOUD BASED SCHOOL

Ιδιωτικότητα και ασφάλεια στο νέο δικτυακό περιβάλλον Ηλίας Χάντζος

ΣΕΜΙΝΑΡΙΟ. ΠΑΡΟΥΣΙΑΣΗ 19/5/11 Αµφιθέατρο

GPU. CUDA GPU GeForce GTX 580 GPU 2.67GHz Intel Core 2 Duo CPU E7300 CUDA. Parallelizing the Number Partitioning Problem for GPUs

Πρόγραμμα Σεμιναρίων Σεπτεμβρίου - Δεκεμβρίου

MUM ATHENS, GREECE 2015

ΝΕΑ ΕΠΟΧΗ. 1. Επιθετική στρατηγική

Security in a Cloud World? Challenge Accepted! Αντώνης Σταματόπουλος Commercial Director

Access Control Encryption Enforcing Information Flow with Cryptography

Εισαγωγή στα Πληροφοριακά Συστήματα. Ενότητα 11: Αρχιτεκτονική Cloud

How does blockchain apply to cyber security

Εισαγωγή στη Βιοπληροφορική

Υλοποίηση Mικροεπεξεργαστή MIPS -16

Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Πληροφορική»

Αντικειμενοστρεφής Προγραμματισμός

PortSip Softphone. Ελληνικά Ι English 1/20

Ψηφιακή ανάπτυξη. Course Unit #1 : Κατανοώντας τις βασικές σύγχρονες ψηφιακές αρχές Thematic Unit #1 : Τεχνολογίες Web και CMS

ΕΝΤΑΞΗ ΣΤΑΘΜΟΥ ΕΡΓΑΣΙΑΣ ΣΕ DOMAIN

Transcript:

Cryptocurrencies Ε ΠΛ 682 ADVANCE D S ECURITY TOPICS ΡΑΦΑΗΛ ΜΑΚΡΥΓΙΩΡΓ ΗΣ 18/04/2019

Paper 1 SoK: Research Perspectives and Challenges for Bitcoin and Cryptocurrencies Joseph Bonneau, Andrew Miller, Jeremy Clark, Arvind Narayanan, Joshua A. Kroll, Edward W. Felten Princeton University, Stanford University, Electronic Frontier Foundation, University of Maryland, Concordia University

Σκοπός του paper Γενική επισκόπηση του Bitcoin Επισημάνει πολλές ερευνητικές προκλήσεις, καινοτόμες τομείς(payment protocols to user-friendly key management ) Ανάλυση της μακροχρόνιας σταθερότητας του Bitcoin

Γιατί το Bitcoin είναι άξιο έρευνας Bitcoin works in practice, but not in theory. - Έλλειψη θεωρητικού υπόβαθρου Lack of security proofs Αποφυγή από security researchers Άλλες εφαρμογές Domain naming Secure timestamping and commitment Generation of public randomness Financial problems self-enforcing, smart contracts Distributed autonomous agents

Ιστορία: Cryptocurrencies Cryptocurrencies - Chaum s proposal for untraceable payments in 1983 Ζήτησε να έχει εκδοθούν από την τράπεζα μετρητά σε τυφλά υπογεγραμμένα κέρματα (blindly signed coin). Η τράπεζα ελέγχει μόνο εάν το blind coin έχει χρησιμοποιηθεί προηγουμένως ή όχι. Δεν συνδέεται με καμία οντότητα. Δεν συνδέει χρήστες με τα νομίσματα Τα νομίσματα μεταφέρονται από τους χρήστες και τους εμπόρους

Ιστορία: Cryptocurrencies Διάφορες προτάσεις για χρήση των crypto-currencies Aντιμετώπιση email spam fair lottery minting (νομισματοκοπείο) για micropayments Hashcash (εναλλαχτικές ψηφιακές μικροπληρομές) B-money [1990]

Ιστορία: Bitcoin 2008 - Satoshi Nakamoto s paper, source code. 3 Ιανουαρίου 2009, Πρώτο Bitcoin block mined. Μάιος 2010 10,000 Bitcoins για παραγγελία πίτσας 2014 CryptoLocker virus, encrypting files για αντάλλαγμα Bitcoins

Technical Overview Κύρια τεχνικά στοιχεία Transactions and scripts Consensus and Mining Peer-to-Peer Communication Network

Transactions and scripts Σειρά μηνυμάτων που αντιπροσωπεύουν τη μεταφορά νομίσματος από ένα χρήστη σε άλλο. Input/output arrays. 10^8 satoshis = 1 bitcoin. hashed using SHA-256 (unique trans. ID). Transaction to ownership.

Consensus and Mining Nakamoto consensus: Set of rules Proof of Work First announced block is correct Process of mining Mining Επίλυση τυχαίους computational puzzle εύρεση blocks όπου το SHA-256 hash < target value Δημιουργία έγκυρων blocks, απαιτεί POW Χρηματική ανταμοιβή Νέο block κάθε 10 λεπτά αλλάζει κάθε 2016 blocks ή 2 εβδομάδες. Blockchain

Consensus and Mining Fork Temporary fork : δημιουργία αν υπάρχουν 2 valid blocks (net. Latency) Λύση; Ενθάρρυνση καλής συμπεριφοράς Καλή συμπεριφορά => πιο επικερδές λόγω new coin reward Block Confirmation clients περιμένουν confirmation block για να συνεχίσουν στο blockchain

Peer-to-Peer Communication network Relay policy: Τα Bitcoin nodes αναμεταδίδουν συναλλαγές block όσους πληρούν τους κανόνες επικύρωσης. Penny-flooding defense: 0.0001 bitcoin ανά λεπτό.

Stability Δεν εγγυάται η σταθερότητα, ήδη έγιναν αλλαγές για διόρθωση bugs. Ιδιότητες που αν συνεχίσουν να ισχύουν θα παραμείνει σταθερό 1. Ενδεχόμενη συναίνεση - Eventual consensus 2. Εκθετική σύγκλιση- Exponential Convergence [n is O(2^(-n))] 3. Ζωτικότητα Liveness 4. Ορθότητα - Correctness 5. Δικαιοσύνη - Fairness

Stability Δεν διασφαλίζει fairness με χρήστες όπου: Έχουν πιο γρήγορο δίκτυο Έχουν περισσότερη υπολογιστική δύναμη Mining pools Δεν αναμένονταν στο αρχικό πρωτόκολλο Mining pools tend not to attack each other Attacks Feather-forking attack Goldfinger attack (51% problem)

Client Side Security SPV Simplified payment verification security Key Management για ασφάλεια του public key Keys Stored on device (π.χ. on a disk) Wallet on Offline storage (π.χ. usb) Split control, k-of-n multi signature script - k of the n valid signatures Password-protected wallets Hosted wallet (web service key management) Air Gapped and hardware storage

Modifying Bitcoin Upgrading Bitcoin Hard fork Soft Fork Relay policy updates Altcoins New genesis block, from scratch Forking bitcoin Proof-of-burn Pegged sidechains

Εναλλακτικά πρωτόκολλα Consensus Σκοπός να επιδιορθώσουν κάποια προβλήματα του Bitcoin. Parameter Changes Inter-block time and difficulty adjustment window 10 minutes Limits on block and transaction size - 1 MB - transaction volume with the set block size is 7 per second, 1000 times slower than peak Visa transactions. Monetary Policy Alternative computational puzzles ASIC-resistant puzzles Useful puzzles Non-outsourceable puzzles Virtual mining Proof of Stake Designated Authorities

Anonymity & privacy Bitcoin => unlinkability Δημιουργία νέων διευθύνσεων από χρήστες Υπάρχουν τρόποι παρακολούθησης των transaction flow Σύνδεση λόγω χρήσης funds από διαφορετικά accounts. De-anonymize Network Dy-anonimization

Anonymity & privacy Προτάσεις για βελτίωση anonymity: Peer to Peer Distributed mix network Altcoins with integrated unlinkability

Conclusion Bitcoin is not flawless Unclear stability and efficiency Παίζει σημαντικό ρόλο στην έρευνα στην θέση του letting the market decide Practice seems to be ahead of theory

Paper 2 teether: Gnawing at Ethereum to Automatically Exploit Smart Contracts Johannes Krupp CISPA, Saarland University, Saarland Informatics Campus Christian Rossow CISPA, Saarland University, Saarland Informatics Campus

Ethereum Ίδια λογική με Bitcoin Ether cryptocurrency coin Χρήση Smart Contracts για συναλλαγές Turing-complete γλώσσα EVM Ethereum virtual machines 1 Ether = 10^8 Wei

Smart Contracts Ethereum λογαριασμούς μαζί με κώδικα Set of rules, που συμφωνείτε έτσι ώστε να γίνει μια συναλλαγή Δεν μπορούν να αλλαχτούν => αυξημένο ρίσκο σε ευπάθειες Solidity javascript like γλώσσα προγραμματισμού Δυνατότητα ανασχηματισμού του περιεχομένου του contract αναλύοντας όλες τις συναλλαγές ( λόγω blockchain). Δημιουργία στέλνοντας special transaction στο zero address. String of bytecode on EVM

Smart Contracts

Smart Contracts - Transactions Variables: { To, Sender, Value, Data, gas } Notations: μ: Denote an EVM with μm: memory, μs: memory stack. I: transaction s execution environment, Id: data field of the transaction, Iv: transaction s value. S: contract s storage Attacker Model Πρέπει να έχει το contract s bytecode για κατάθεση συναλλαγής.

Smart Contracts - Vulnerabilities Vulnerable Contract εάν ο attacker μπορεί να μεταφέρει Ether από ένα account στο δικό του. Critical EVM instructions για να αποσπάσεις Ether CALL, κανονική συναλλαγή {gas, to, value, in/out offset in/out size} SELFDESTRUCT, πλήρη διαγραφή ενός account Code Inject CALLCODE, παρόμοιο με call αλλά δεν εκτελεί την συναλλαγή στο to DELEGATECALL, διατηρεί τις τιμές value,sender δηλ. δεν δημιουργεί νέα συναλλαγή

Smart Contracts Vulnerable States Critical Path Valnerable State State changing Path State changing Transaction Vulnerable

TEETHER - Automatic Exploitation 1. EVM Bytecode 2. CFG Control Flow Graph Recovery depended edges labels return address Εφαρμογή 4300 lines of Python using Z3 constraint solver έγινε release open source 180 μέρες μετά την δημοσίευση του άρθρου. Ραφαήλ Μακρυγιώργης 18/04/2019

TEETHER - Automatic Exploitation 1. EVM Bytecode 2. CFG Control Flow Graph Recovery 3. PATH GENERATION

TEETHER - Automatic Exploitation 1. EVM Bytecode 2. CFG Control Flow Graph Recovery 3. PATH GENERATION 4. CONSTRAINT GENERATION Ακατόρθωτα μονοπάτια Hash computation Keccak256 Symbolic-Length Memory access Constraint results

TEETHER - Automatic Exploitation 1. EVM Bytecode 2. CFG Control Flow Graph Recovery 3. PATH GENERATION 4. CONSTRAINT GENERATION 5. EXPLOIT GENERATION Encode scopes with constraints Path constraint check with Keccak-256 Χρήση Ζ3 constraint solver Exploiting Transactions

EVALUATION Στιγμιότυπο του Ethereum blockchain Σάρωση 784,344 contracts Κάποια είχα ίδιο bytecode Διαγραφή duplicates 38,757 μοναδικά contracts Intel Xeon E5-2660,192GB RAM (max 32GB used).

EVALUATION

VALIDATION Private Fresh Ethereum network 3 accounts Συγκεκριμένο αριθμό Ether σε κάθε account 0 gas fee στις συναλλαγές

VALIDATION

Conclusion TEETHER tool Ασφάλεια των Smart contracts χαμηλή Εντελώς αυτοματοποίηση των exploits Βοήθεια Κατανόηση, εύρεση, αποφυγή των exploits πρώτού υπάρξουν απώλειες.