Archiv für die Kategorie „Hacking“

howto: eigenes privates ethereum-netzwerk

Hinter Bitcoin ist Ethereum die Kryptowährung mit dem höchsten Marktwert. Wenngleich wir heute noch auf _die_ Killer-App warten, das Meiste sind doch nur Coin-Börsen & Wallets, so ist Ethereum in der Hinsicht vielversprechend, als dass die Währung als „turing complete“ gilt, man kann also im Gegensatz zu Bitcoin dafür und damit „richtig programmieren“.

Mit der folgenden Anleitung bauen wir uns heute ein eigenes privates Ethereum-Netzwerk!

Ethereum Logo Portrait Black X-Small

WARNUNG: die Durchführung des Tutorials geschieht auf eigene Gefahr. Ich übernehme keinerlei Garantie dass irgendwas funktioniert! Auch solltet ihr darauf achten, dass ihr eure eigenen Ethereum von diesen erstellten Ethereum getrennt aufbewahrt. Das Tutorial soll dazu dienen, a) für Ethereum zu programmieren und richtet sich an Entwickler, b) einen einfachen „smart contract“ aufzusetzen, sowie c) das wohl Wichtigste, zu verstehen, wie Ethereum funktioniert.

Los geht’s! 🙂

1. Vorbereitungen

Ihr braucht Zugang zu einem eigenen Server-Bereich und den geth („Go Ethereum Client“). In dieser Anleitung nehmen wir mal an, ihr betreibt einen Ubuntu-Server. Hier findet ihr die Anleitung für die geth-Installation unter Ubuntu: geth installieren. Ferner solltet ihr um minen zu können mindestens 2GB RAM bereitstellen.

Das private Netzwerk wird „gizmeodoteu“ genannt. Es ist aufrufbar unter der Fake-IP-Adresse 101.102.103.104.

Öffnet nun ein Konsolenfenster, loggt euch über SSH in Ubuntu ein und erstellt ein Arbeitsverzeichnis:

ssh root@101.102.103.104
mkdir gizmeodoteu
cd gizmeodoteu
mkdir data
mkdir source

2. Generierung des Genesis-Blocks

Der Genesis-Block ist der allererste Block jeder Blockchain und die Parameter sind in der Datei genesis.json definiert. Die Datei speichern wir ab unter /root/gizmeodoteu/genesis.json. Hier der Inhalt der Datei:

{
"config": {
"chainId": 15,
"homesteadBlock": 0,
"eip155Block": 0,
"eip158Block": 0
},

"alloc" : {
"0x0000000000000000000000000000000000000001": {"balance": "111111111"},
"0x0000000000000000000000000000000000000002": {"balance": "222222222"}
},

"coinbase" : "0x0000000000000000000000000000000000000000",
"difficulty" : "0x00001",
"extraData" : "",
"gasLimit" : "0x2fefd8",
"nonce" : "0x0000000000000209",
"mixhash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
"timestamp" : "0x00"
}

Hierbei steht chainId=1 für das Ethereum-Hauptnetzwerk. Daher ist es wichtig eine eigene chainId für euer privates Netzwerk zu nehmen, damit euer privates Netzwerk die Blockchain nicht mit der offiziellen verwechselt.
Zum Testen und für ein allgemein besseres Verständnis, setzen wir die Schwierigkeit auf einen niedrigen Wert. Auch sollte ein einzigartiger Wert für nonce gewählt werden. Über das Feld alloc werden Accounts mit Ether (die Ethereum-Währung) vorgefüllt.

Geht nun in euer Verzeichnis, wo ihr die genesis.json abgelegt habt und initialisiert den bootnode. Das ist der Knoten, mit welchem sich euer Client mit dem privaten Netzwerk verbinden und auch mit anderen Knoten kommunizieren kann:

cd /root/gizmeodoteu/data
geth --datadir=/root/gizmeodoteu/data init /root/gizmeodoteu/genesis.json
bootnode --genkey=boot.key
bootnode --nodekey=boot.key

3. Neuen Account erstellen und Kontostand prüfen

Öffnet ein neues Konsolenfenster und wechselt über SSH auf euren virtuellen Server:

ssh root@101.102.103.104
geth attach /root/gizmeodoteu/data/geth.ipc
> eth.accounts

Natürlich gibt es noch keine Adressen von Konten. Den ersten Account eröffnen wir nun. Ersetzt „meinPW“ mit einem starken Passwort, bewahrt dieses an einem sehr sicheren Ort auf. Ethereum vergibt nicht: ohne dieses Passwort werdet ihr niemals mehr Zugang zu eurem Account haben:

> personal.newAccount("meinPW")
> web3.fromWei(eth.getBalance(eth.accounts[0]), "ether")

Speichert eure Adresse gut ab, diese beginnt mit dem Präfix 0x. Auch gibt es noch keine Ether in diesem Account, dazu kommen wir noch. Natürlich ist das geminte Ether hier nur nützlich in eurem privaten Netzwerk.

4. Im privaten Netzwerk minen

Das Minen hier hat doppelten Zweck: Ether erzeugen um die Transaktion durch gas, eine Ethereum-Untereinheit, zu betreiben. Zudem führt das Minen eure Transaktionen in die Blockchain.

Öffnet ein neues Konsolenfenster und verbindet euch zu eurem privaten Server:

ssh root@101.102.103.104
geth --datadir=/root/gizmeodoteu/data --mine --minerthreads=1 --etherbase=0x...

Der Parameter etherbase hier spezifiziert die Zieladresse, wohin eure durch das Mining generierten Ether gesendet werden sollen. Hier steht eure Wallet-Adresse aus Schritt 3. Wenn ihr nun den Kontostand erneut checkt (siehe Schritt 3), solltet ihr eine große Zahl angezeigt bekommen. Gratulation! Ihr seid nun Ether-Milliardär!

Klar, diese generierten Ether sind nur wertvoll innerhalb eures privaten Netzwerks. Trotzdem geil! Ihr wisst nun, wie ihr für Ethereum entwickeln könnt und _das_ ist wirklich unbezahlbar.

5. Einen einfachen Vertrag kompilieren

Die offizielle Dokumentation zu Ethereum erwähnt nicht, dass das Kompilieren über solC nicht mehr via RPC möglich ist. Alle Tutorials, die darauf aufbauen, enden in einer Art Fass ohne Boden. Es gibt wohl 2 Wege Verträge zu kompilieren, es ist für das eigene Verständnis wichtig, beide mal versucht zu haben.

Als Erstes installiert ihr den Kommandozeilen-Compiler solC:

sudo add-apt-repository ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install solc

Öffnet nun erneut ein Konsolenfenster, verbindet euch über SSH mit eurem Server und navigiert zum Verzeichnis, wo euer Quellcode abgelegt wird:

cd /root/gizmeodoteu/source

Speichert den folgenden „Begrüssungs“-Vertrag in /root/gizmeodoteu/greeter.sol:

contract mortal {

/* Variable "owner" vom Typ address definieren */
address owner;

/* diese Funktion wird bei Initialisierung ausgeführt und setzt den Besitzer des Vertrags */
function mortal() { owner = msg.sender; }

/* Funktion, um die Investionen des Vertrags wiederherzustellen */
function kill() { if (msg.sender == owner) selfdestruct(owner); }
}

contract greeter is mortal {
/* Variable "greeting" vom Typ string definieren */
string greeting;

/* das hier wird ausgeführt, wenn der Vertrag aufgerufen wird */
function greeter(string _greeting) public {
greeting = "Hallo, Welt!";
}

/* Hauptfunktion */
function greet() constant returns (string) {
return greeting;
}
}

Jetzt kompilieren wir den Vertrag mit solC:

solc --bin --abi -o /root/gizmeodoteu/source /root/gizmeodoteu/source/greeter.sol

Das Setzen von bin und abi sagen dem Compiler, dass „Ethereum Virtual Machine (EVM)“-Bytecode und eine Datei Application Binary Inferface (ABI) erstellt werden sollen. Mit -o legt man wie üblich ein Ausgabeverzeichnis fest, welches mit der zweiten Angabe des Verzeichnisses mit einer *.sol-Datei abgeschlossen wird.

Die Kompilierung hier erzeugt zwei Dateien:

– eine EVM-Datei, erkennbar an der Endung *.bin. Diese entspricht dem Vertrags-Bytecode, der vom webbasierten Compiler generiert wird; dieser ist einfacher zu verwenden und wird weiter unten vorgestellt.

– eine ABI-Datei, erkennbar an der Endung *.abi: stellt euch das application binary interface als eine Art Vorlage für den Vertrag vor. Das erleichtert die Kommunikation von euch und anderen mit dem Vertrag, sobald er sich in der Blockchain befindet.

Öffnet beide Dateien nun mit nano oder einem anderen Texteditor eurer Wahl. Indem ihr versteht, was darin steht, werdet ihr weniger Mühe damit haben eure Verträge zu veröffentlichen und mit ihnen zu interagieren.

Alternativ dazu könnt ihr auch den Online-Compiler benutzen. Durch einfaches Copy&Paste nimmt dieser euch die Arbeit ein bisschen ab. Jedoch sind beide Methoden gleichwertig.

Kopiert dazu einfach den Text aus greeter.sol von oben in den Online-Compiler. Wartet einen Moment und klickt dann auf den Link „Contract details…“. Der Inhalt des Felds Bytecode sollte mit dem aus der Datei greeter.bin übereinstimmen. Das Selbe gilt für das Feld Interface aus der Datei greeter.abi.

6. Einen „Begrüssungs“-Vertrag in eurem privaten Netzwerk veröffentlichen

Kopiert den Inhalt des Feldes Web3 deploy in den Online-Compiler. Fügt den Inhalt in einen Texteditor eures PCs und achtet auf die hervorgehobenen Bereiche:

var _greeting = 'gizmeoDOTeu rockt!';

var browser_ballot_sol_greeterContract = web3.eth.contract([{"constant":false,"inputs":[],"name":"kill","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"greet","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"inputs":[{"name":"_greeting","type":"string"}],"payable":false,"type":"constructor"}]);

var browser_ballot_sol_greeter = browser_ballot_sol_greeterContract.new(

_greeting,

{

from: web3.eth.accounts[0],

data: '0x6060604052341561000f57600080fd5b6040516103dd3803806103dd833981016040528080518201919050505b5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6040805190810160405280600d81526020017f48656c6c6f2c20576f726c642100000000000000000000000000000000000000815250600190805190602001906100b99291906100c1565b505b50610166565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061010257805160ff1916838001178555610130565b82800160010185558215610130579182015b8281111561012f578251825591602001919060010190610114565b5b50905061013d9190610141565b5090565b61016391905b8082111561015f576000816000905550600101610147565b5090565b90565b610268806101756000396000f30060606040526000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806341c0e1b514610049578063cfae32171461005e575b600080fd5b341561005457600080fd5b61005c6100ed565b005b341561006957600080fd5b61007161017f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100b25780820151818401525b602081019050610096565b50505050905090810190601f1680156100df5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561017c576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b5b565b610187610228565b60018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561021d5780601f106101f25761010080835404028352916020019161021d565b820191906000526020600020905b81548152906001019060200180831161020057829003601f168201915b505050505090505b90565b6020604051908101604052806000815250905600a165627a7a7230582069d50e4318daa30d3f74bb817c3b0cb732c4ec6a493eb108266c548906c8b6d70029',

gas: '1000000'

}, function (e, contract){

console.log(e, contract);

if (typeof contract.address !== 'undefined') {

console.log('Contract mined! address: ' + contract.address + ' transactionHash: ' + contract.transactionHash);

}

})

Das oben abspeichern als myContract.js.

Bevor ihr fortfahrt prüfen, dass a) euer Kontostand nicht 0 ist und b) euer Account entsperrt ist. Ist der Kontostand zu niedrig oder der Account gesperrt, könnt ihr den Vertrag nicht veröffentlichen. Deshalb solltet ihr die obigen Schritte nochmals abarbeiten, um Ether zu minen und entsperrt dann euren Account wie folgt (ersetzt „meinPW“ mit eurem eigenen von oben):

Öffnet ein neues Konsolenfenster:

ssh root@101.102.103.104
geth attach /root/gizmeodoteu/data/geth.ipc
> web3.fromWei(eth.getBalance(eth.accounts[0]), "ether")
> personal.unlockAccount(eth.accounts[0], "meinPW")

Bitte nicht abschalten, denn es wird wichtig: auch hier gibt es kein Update der Dokumentation zu Ethereum, daher gibt es Verwirrungen, wie man Verträge kompiliert. Beachtet, dass die Funktion web3.eth.contract() ein Argument braucht. Das ist das selbe, wie die Datei greeter.abi, die wir mit dem solC erstellt haben. Das Feld data ist gleichbedeutend mit dem EVM-Bytecode der Datei greeter.bin. Der einzige Unterschied ist wieder das Präfix 0x.

Jetzt wird der Vertrag öffentlich gemacht:

loadScript(myContract.js)

Die Ausgabe sollte ungefähr so aussehen:

Contract mined! address: 0x4000737c8bd7bbe3dee190b6342ba1245f5452d1 transactionHash: 0x0a4c798467f9b40f2c4ec766657d0ec07c324659ea76fcc9c8ad28fc0a192319

Glückwunsch! Euer Vertrag „lebt“ und ist zu finden unter der Adresse 0x4000737c8bd7bbe3dee190b6342ba1245f5452d1 eurer privaten Blockchain.

Notiert euch diese, denn sowohl ihr oder auch andere werden diese brauchen, wenn ihr damit interagieren wollt.

Falls es nicht funktioniert hat: stellt sicher, dass ihr aktiv in einem anderen Fenster minet, damit die Transaktion in die Blockchain geführt werden kann.

7. Mit dem Vertrag interagieren

Auch hier gibt es noch keine Updates der offiziellen Ethereum-Doku. Die beschriebenen Funktionen werden schon nicht mehr benutzt. Startet erneut geth und versucht Folgendes:

> var abi = '[{"constant":false,"inputs":[],"name":"kill","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"greet","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"inputs":[{"name":"_greeting","type":"string"}],"payable":false,"type":"constructor"}]'
> var abi = JSON.parse(abi)
> var contract = web3.eth.contract(abi)
> var c = contract.at("0x4000737c8bd7bbe3dee190b6342ba1245f5452d1")
> c.greet()

Mit den ersten drei Eingaben legt ihr fest, wie der Vertrag laut ABI aussieht. Die Methode contract.at() braucht als Übergabeparameter die Adresse, wo euer Vertrag residiert. Ihr solltet nun die folgende Ausgabe sehen:

gizmeoDOTeu rockt!

Hinweis: geth bekommt Schnupfen, sobald eine eurer Eingaben illegale Zeichen beinhaltet, siehe:

“ (illegal) is not equal to " (legal)

und

‘ (illegal) is not equal to ' (legal)

9. Fazit

Wir haben nun mehr als nur kurz mal reingeschnuppert in Ethereum: wir haben ein eigenes (privates) Netzwerk aufgesetzt und sogar einen eigenen „smart contract“ kompiliert. Zudem haben wir Sackgassen der offiziellen Dokumentation vermieden. Wir haben ferner gesehen, wie man einen Vertrag veröffentlicht (deploy) und mit diesem interagiert.
Solltet ihr je Mist gebaut haben und müsst nochmals neu anfangen, startet „einfach“ euren Server neu und löscht eure Blockchain:

rm -R /root/gizmeodoteu/data/geth/chaindata

[via]

10. Ausblick

Die smart contracts sind, was Ethereum so stark macht. Durch diese Eigenschaft entfällt die Stelle des Vermittlers, Verträge werden dadurch fälschungssicher und günstig. Nicht nur Notare werden zukünftig dadurch überflüssig. smart contracts haben das Zeug dazu, ganze Institutionen, egal ob privat oder staatlich, zu ersetzen.

Ferner ist Ethereum „turing complete“: diese Eigenschaft besitzt das Bitcoin-Protokoll nicht. Dadurch kann man für Ethereum relativ leicht selbst Anwendungen entwickeln. Wer schonmal JavaScript programmiert hat, wird sich hier prima zurecht finden. Vielleicht hilft dieses Tutorial ja, mal mit einer anderen Anwendung an den Start zu gehen, als nur Wallets oder Coin-Börsen! 🙂

Falls euch das Tutorial gefallen hat, spendet mir doch ein paar Bitcoin! Die Adresse findet sich bei jedem Bitcoin-Button überall auf gizmeo.eu verstreut! Vielen Dank für die Aufmerksamkeit und happy hacking!

Flattr this!
Bitcoin-Spenden hier akzeptiert ^^

vault 7: ssh-hacking

Es scheint, fast ist es ein bisschen ruhiger geworden um Vault 7. Doch was erst im März diesen Jahres von Wikileaks gestartet wurde und den größten Geheimdienst-Leak aller Zeiten darstellt, uns länger beschäftigen würde, war vorhersehbar. Ist auch gut so!

Die neuesten Enthüllungen drehen sich um die Tools BothanSpy und Gyrfalcon. Beides sind Werkzeuge um SSH-Sessions zu knacken und zwar sowohl auf Unix-/Linux-Systemen, woher man diese Art Sessions sehr gut kennt, aber auch von Windows-SSH.

Hintergrund: mit SSH ist es im Kern möglich Zugang zu jedem Rechner weltweit zu bekommen. Gerade auf Unix- und Linux-Systemen sind GUIs, also grafische Nutzeroberflächen, nur ein Schnickschnack um die User von der Konsole fernzuhalten. Hinter den schönen bunten Fensterchen laufen die selben Befehle ab, die man auch von den Terminals kennt. Linux lässt sich hervorragend von einem Laptop fernadministrieren. Ein Beispiel: ein Raspberry Pi liegt irgendwo im selben Netzwerk wie mein Laptop. Mit ssh pi@192.168.x.x kann ich auf diesen von meinem Laptop aus zugreifen, einrichten, Programme installieren/deinstallieren, etc. Viele nutzen ssh auch um ihren Webspace zu administrieren, etwa für eigene Webseiten und -projekte.

BothanSpy hier ist das Tool zum Hacken der XShell, also für Windows-Systeme. Wie es aussieht ist es aber eine Erweiterung von Shelltermn 3, die man erstmal dafür braucht. Die gestohlenen Daten können direkt an CIA-Server gesendet werden oder werden bis zur Internetverbindung in einer eigens dafür verschlüsselten Datei gespeichert.

Wie zu erwarten war ist Gyrfalcon das OpenSSH-Pendant. Unklar bleibt, ob außer Ubuntu, Debian, CentOS, Suse und Red Hat weitere Linux-Distributionen betroffen sind, da nur diese explizit im Manual beschrieben werden. Linux-Fragmentierung ist hier also gleichbedeutend mit Schutz. Gyrfalcon kann den kompletten Verkehr abgreifen, wenn gewollt. Außerdem wie bei BothanSpy auch Nutzernamen und Passwörter.

Mit diesen Informationen geht Wikileaks nun schon in die 15. Verlängerung. Nicht immer sind meine Beiträge hier auf dem neuesten Stand. Es lohnt sich eventuell der Blick ins Archiv von href.ninja. Dinge, die hier nicht behandelt wurden, tauchen wahrscheinlich dann dort auf. Mir fehlt für eine Art permanenter Chronik leider viel zu oft die Zeit (auch wenn man das von mir früher nicht gewohnt war). Dafür entschuldige ich mich, geht aber nicht mehr anders.

Flattr this!
Bitcoin-Spenden hier akzeptiert ^^

chinas bitcoin-fabriken

Der Grund, warum wir heute mit unseren USB-Minern keine Bitcoin mehr abgreifen können:

Nachtschicht in einer Bitcoin-Fabrik in China
(Nachtschicht in einer Bitcoin-Fabrik in China, via qz.com)

QUARTZ hat eine schöne Photoserie gemacht zu Bitcoin-Fabriken in China: https://qz.com/1026605/photos-chinas-bitcoin-mines-and-miners/.

Gezeigt werden seltene Einblicke in die technische Ausrüstung dieser Fabriken und wie die Menschen dort arbeiten.

Alles Hightech, alles 21. Jahrhundert, und doch sieht so heute Drecksarbeit aus. Daran werden wir uns gewöhnen müssen und wohl schnell auch gewöhnen können. Geschürft wird heute nicht mehr unter Tage, statt geschwärzter Gesichter gibt es nun Zimmer voller Polystyrol, in welchem die einzelnen Miner geliefert wurden, bevor man diese zu einem oder mehreren Petahash-Netzen zusammen schloss. Was China mit dieser Macht anstellen wird; daran wird sich der Westen weniger gewöhnen können…

Flattr this!
Bitcoin-Spenden hier akzeptiert ^^

crispr

Das Thema CRISPR/Cas beschäftigt mich schon seit Monaten. Leider bin ich mit dem Sammeln der Links dazu bisher nur minder konsequent. Doch es vergeht eigentlich kein Monat, wo nicht eine neue Schlagzeile zu dieser Gen-Schneide-Methode publik wird.

Im Januar etwa haben die Chinesen mit dieser Technik den allerersten Menschen genetisch editiert. Wo es im Westen religiöse, mindestens aber ethische Bedenken gibt, nimmt man es im fernen Osten damit nicht so genau. [sarkasmus=“ON“]Gibt ja auch genügend davon…[/sarkasmus]

Im April fand ich einen weiteren interessanten Link: Die Geschichte von CRISPR, Ken Thompson und dem „Gen-Drive“. Da wird natürlich wieder großspurig vom „großen Wechsel für die Menschheit“ gesprochen; der sowieso nicht stattfinden wird. Aber der Artikel selber ist mega-interessant, weil hier viele Bezüge zum Coding bezogen und erklärt werden. Und im Kern ist CRISPR/Cas nichts anderes: derbes, schlichtes, präzises „Gen-Hacking“.

Und das Sommerloch 2017 wollte es dann so, dass wir quasi einen Prototypen präsentiert bekamen, welchen Nachrichten-Schwachsinn diese Technik mit sich bringt die nächsten Monate, ja vielleicht Jahre: Die Kodierung eines digitalen Films in lebende(!) Bakterien. Nichts Neues im Westen also.

Dabei ist das, was hier passiert, wenig lustig. Damit ein Sommerloch zu füllen ist eigentlich schon fahrlässig, der Scheiß ist mega-gefährlich, zu neu, um es endgültig beurteilen zu können und viel zu unausgereift, um praktisch an Menschen angewendet werden zu können.

Doch die Experimente in China, die Euphorie der Fachpresse und menschliche Gier; das sind Elemente, die Fässer zum Überlaufen bringen werden. Innerhalb sehr kurzer Zeit: CRISPR war erst Ende 2015 „der Durchbruch des Jahres“. Entdeckt wurde die Sequenz sich wiederholender DNS Ende der 1980er-Jahre in Japan. Das ist also kein neues Wissen, was hier verbreitet wird…

Schaue ich auf meine eigene Lebenszeit zurück, ich bin Anfang der 1980er geboren, hätte ich nie damit gerechnet, so etwas mal miterleben zu müssen. Mir persönlich reicht schon, dass es diese DNS-Editier-Methode seit dieser Zeit gibt. Was China da gemacht hat im Januar wurde doch vorher schon längst irgendwo durchgeführt. Man konnte es eben nicht so schnell so weitläufig publik machen.

Derzeit denke ich, Ziegenmenschen (wie etwa in „Diablo III“) werden das geringste Problem sein, was uns damit bevor steht. Das wäre dann noch irgendwie lustig gewesen. Keine Ahnung, wo ich hier gelandet bin. Könnte mir mal jemand den Ausgang zeigen!? I need a guide…

Flattr this!
Bitcoin-Spenden hier akzeptiert ^^

die allererste dezentrale autonome organisation

Die Technologie-Revolution dieses Jahrhunderts trägt ein unscheinbares Logo und bringt einen Allerwelts-Bezeichner mit: Dash. Früher bekannt als „Darkcoin“ (was passender wäre, siehe weiter unten) oder „XCoin“.

Dash ist ein Kofferwort und bedeutet heute schlicht Digital cASH.

Die „Firma“ selbst ist gerade mal 3(!) Jahre jung, beschäftigt aktuell 30 Vollzeit-Mitarbeiter und verfügt dank einem programmierten(!) Loop derzeit über ein monatliches Budget von 615.000 US-Dollar. 2015 waren es noch 14.000 Dollar. Im Juni 2017 war die Organisation 1,4 Milliarden US-Dollar wert. Ende des Booms dank Brexit und Trump-Präsidentschaft nicht in Sicht.

Dash ist nicht nur eine Kryptowährung und die am meisten gelesene Seite auf BitcoinTalk (7,9 Millionen), sie stellt natürlich auch eigene Produkte her: einen Dienst zur Verschleierung von Transaktionen etwa oder einen Dienst elektronischer Überweisungen in (Fast-)Echtzeit. Und sicher noch viel mehr obskure weitere Dienste, wo noch Entwickler, Mitarbeiter, sprich Menschen entscheiden, was als Produkt veröffentlicht werden soll. Und wie diese heißen sollen.

Was kommt danach? KI-DAOs. Also dezentrale autonome Organisationen, die durch künstliche Intelligenz auf Menschen nicht mehr angewiesen sein werden.

Eine KI-DAO analysiert Märkte selbst, analysiert Produktpotenziale selbst, stattet sich selbst mit steigenden Budgets aus, entwickelt 100% eigene Produkte und entscheidet wie diese benamt werden, lernt aus Produkt-Tops und -Flops und braucht selbstredend innerhalb dieser Kette(n) keinerlei menschlichen Aufwand jedweder Form mehr. Menschen werden durch KI-DAOs nach und nach obsolet, eine KI-DAO kann selbst (theoretisch unendlich viele) KI-DAOs beschäftigen, die ausgestattet durch unfälschbare elektronische smart contracts beliebig oft eingestellt und entlassen werden können.

Und was kommt danach? Singularität. Die menschliche Geschichte wurde zu Ende erzählt. Irgendwann nach der ersten von Menschen oder (wahrscheinlicher) Maschinen programmierten KI-DAO.

Hoffentlich sind bis dahin alle Bitcoin gemint…

Flattr this!
Bitcoin-Spenden hier akzeptiert ^^

sl33p l4t3r

y0u b3tt3r g3t y0ur 4ss up/
y0u b3tt3r get your ass up/
you better get your ass up/
work now/
sleep later/

Flattr this!
Bitcoin-Spenden hier akzeptiert ^^

m4ch1n3 l0v3

Soundtrack zu einem gelungenen Wochenende in Elektronik:

Machine Love von ASC & Synkro aus 2013. Inside The Machine eben.

Es gibt nur wenige Einzel-Tracks, die mich ewig flashen werden und da gehört dieses Schmuckstück dazu.

Es ist so eine Mischung aus früher „Space Night“ glotzen, kiffend durch die Gegend mit dem Auto fahren, sich fragen, mit welchem Equipment wohl die Klänge erzeugt wurden, einen neuen Rechner mit Lieblings-Hardware zusammenbauen, sich Physik von Harald Lesch erklären lassen und nebenher PlayStation zocken.

Davon mal abgesehen ist die EP eine wundervolle Zusammenarbeit von ASC und Joe McBride.

Wer möchte kann eine der seltenen Vinyl-Platten kaufen: discogs.com/ASC-Synkro-2-and-Sam-KDC-Machine-Love/release/4680767. Gab aber heute beim Stöbern nur noch vier Stück.

H4ppy h4ck1ng!

Flattr this!
Bitcoin-Spenden hier akzeptiert ^^

wow: world of wannacry

Seit Freitag kann man quasi live mitverfolgen, was passiert, wenn Unternehmen weiterhin auf Windows XP oder auch Windows Server 2003 setzen: Die Erpresser-Software WannaCrypt zieht die weitesten Kreise, die eine Schadsoftware jenes Typus jemals angerichtet hat.

Zu den betroffenen Unternehmen zählen:

  • Microsoft selbst I: weil die extra deswegen einen Patch für Windows XP veröffentlichen mussten, was niemals niemals mehr gedacht war
  • Microsoft selbst II: weil das ein Imageschaden ungekannten Ausmaßes ist, den man jetzt, eine knappe halbe Woche nach dem Start der Infizierung, nur in Maßen begreift
  • Telefónica (Spanien): denen gehört z.B. die Marke O2
  • Teile des NHS (UK): das ist das Gesundheitssystem des Königreiches. Scheinbar ging es keine Nummer kleiner…
  • FedEx (USA)
  • Deutsche Bahn (DE)
  • Portugal Telecom (PT)
  • Renault (Frankreich)
  • Nissan (Japan)
  • LATAM Airlines (Südamerika)

Ich spekuliere jetzt mal frei, dass Banken nicht so davon betroffen waren, da deren ATMs nicht ans Internet angeschlossen sind. So ziemlich jeder Bankautomat hierzulande läuft mit Windows XP, was man sehr gut an den Meldungen im Blue Screen of Death erkennen kann, wenn das Scheißding mal nicht läuft. Pech für die Erpresser und hartes Glück für die Banken dieser Welt, würde ich mal behaupten.

In der Unternehmensliste oben fehlt übrigens das eigentliche Entwicklerstudio des WannaCrypt zugrundeliegenden Codes: die NSA. Ein Bestandteil der Ransomware ist das signifikante Exploit DoublePulsar, was hier auf gizm{e}o.eu zwar nicht, jedoch auf href.ninja bereits erwähnt wurde am 28. April. Bei den Shadow Brokers weiß man allerdings nicht, ob die nicht selbst die NSA sind, daher schreibe ich über deren „Hacks“ nicht so gern.

Abgesehen von Schaden für Unternehmen wurden ganze Länder getroffen, was die krassesten Opfer Russland, Ukraine, Indien und Taiwan ja schon mal als Verursacher ausschließt. Insgesamt kommt man inzwischen auf 200.000 PCs in 150 Länder. 192 listet die UNO weltweit. Joa, das ist doch eine ganz bescheidene Zahl!

Der Ausblick:

1) Stand heute wurden bereits ca. 70.000 US-Dollar Lösegeld bezahlt. Insgesamt wurden 238 Zahlungen gezählt. Man kann diese Zahlungen tracken, da die Schreiber drei Bitcoin-Wallet-Adressen hardcoded im Quelltext unterbrachten und man das öffentlich einsehen kann. Ist ja bei Bitcoin üblich. Es gibt wohl auch Bots, die das überwachen: via Quartz.com.

2) es gibt keinen „Kill Switch“ mehr: die ersten Versionen der Ransomware hatten das noch zufälligerweise drin, es war eine Gegenmaßnahme am Wochenende. Aber neueren Versionen fehlt dieser Aus-Schalter, was weitere Infektionen die nächsten Wochen nach sich ziehen dürfte.

3) Schuld hat eigentlich insgesamt die US-Regierung. Die NSA entwickelt Schadsoftware und hortet diese. Informationen dazu werden ja nicht einmal engen Verbündeten wie dem Vereinigten Königreich zur Verfügung gestellt. Das ist auch einer der Kritikpunkte, die aus der Cybersecurity-Ecke kommt. Wird man ein Element hier wohl zur Verantwortung ziehen? Natürlich nicht.

4) noch viel mehr bescheuerte Kommentare nach dem Schema: „wir müssen mehr Backups ziehen!“ „Wir müssen aufhören einfach auf Links in Emails zu klicken!“ „Wir müssen aufhören zu sparen an der IT-Infrastruktur!“ Idiotischerweise setzt man jedoch in UK im lebenswichtigen Gesundheitssektor auf Windows XP. Das würde ich viel eher mal erklärt bekommen wollen. Da hilft auch das beste Backup und der intelligenteste Mitarbeiter nichts.

5) was WannaCry hier gerade verursacht ist eigentlich lächerlich und irrelevant. Worauf sich alle eben stürzen ist „das Ausmaß“; das Ausmaß!1 Interessant wird die Sache erst, wenn Infrastruktur (mit dem britschen NHS hier bereits teilweise gelungen) oder Kraftwerke betroffen sein werden. Die entsprechenden Exploits gibt es da draußen nämlich schon. Ist nur eine Frage der Zeit, bis das ein Script-Kid vor dem Schlafengehen mal ausprobiert.

6) ich persönlich bin mittlerweile gelangweilt von Meldungen, die Betriebssysteme aus der Steinzeit betreffen. Dass ich Windows XP-Rechner heute lahmlegen kann ist selbst irgendwie lahm. Die Zeit wird uns schon noch zeigen, dass es mit Exploits bei aktuellen Betriebssystemen ebenfalls nicht unmöglich ist. Wie gesagt: Organisationen wie die NSA stapeln diese Art Software. Es ist ihnen egal, was damit passiert oder angerichtet wird. Da wird auch genügend in den Darknets dieser Welt erhältlich sein, nur blickt heute da noch kaum jemand durch.

Flattr this!
Bitcoin-Spenden hier akzeptiert ^^

anbox: android in a box

Viele Versuche Android mit Linux zu verheiraten gab es bisher nicht, umgekehrt sieht es noch viel schlimmer aus. Ich warte immer noch auf Apps wie Amarok oder Audacious oder GIMP. Auch einfach, weil diese Programme (wie viele andere von Linux auch) viel mehr Publikum verdient hätten und davon gäbe es auf Android mehr als genug.

Vielleicht ist das aber auch bald völlig egal, denn da ist etwas in Alpha, was zumindest die eine Richtung abdecken würde:

Anbox steht einfach für Android in einer Box und läuft, ohne Emulation übrigens, in einem Linux Container (LXC) auf (jedem?) Desktop-Linux.

Der Clou ist, diese Alpha läuft jetzt schon mit dem neuesten Android 7.1.1 (Nougat), wie man oben sehen kann.

Mehr dazu: http://anbox.io/. [via]

Den Play Store findet man erst einmal nicht, stattdessen werden Apps mit

adb install /path/to/.apk

installiert.

Um Anbox selbst auf Linux zu installieren wird die Nutzung von Snaps vorausgesetzt, das geht dann ganz einfach mit:

sudo snap install --classic anbox-installer && anbox-installer

Das Anbox-Projekt ist öffentlich und jeder kann mitmischen: Anbox auf GitHub. Auf IRC reicht #anbox zum Mitreden.

Have fun! <3

Flattr this!
Bitcoin-Spenden hier akzeptiert ^^

app-leaky-leaky

Was sehr gerne und oft gemacht wird, wenn es um das Thema IT-Sicherheit geht, ist Programme genauer zu untersuchen, was die irgendwo hin senden. Das wird seit Jahrzehnten bei den Redmonder „Expertenprogrammen“ sehr gerne praktiziert und führt dann immer wieder zu irgendwelchen „Enthüllungen“.

Das sind nette Pausenfüller und sorgt auf jeder Konferenz für Gelächter, in Zeiten von halbintelligenten Telefonen mit der Power von Super-Computern und zig Lokalisierungsdiensten, die wir täglich in den Hosentaschen mitführen, aber mittlerweile Kindergeburtstag.

In einer Studie von letzter Woche haben es sich eine Handvoll Forscher der Virginia Tech nicht ganz so einfach gemacht. Die haben 100.000 Android-Apps genauer untersucht und fanden dass 23.500 davon Daten leaken. Aber nicht irgendwohin, sondern untereinander. Was selbstredend so gut wie überhaupt nicht kontrollierbar ist von den Usern.

Ihr System nennt sich DIALDroid, wenn das mal jemand googlen will.

Viele Daten-Deals sind auch gar nicht böswillig oder so vorgesehen, wie das bei Software oft ist, sondern einfach schlecht entwickelt. Übrigens ist auf Platz 1 die Verortung des Smartphones gelandet, was bedeutet dass entweder das Mobilnetz, WLAN, GPS, NFC oder einfach alles gleichzeitig dran Schuld ist.

Die Information, wo ihr euch gerade in Echtzeit(!) befindet ist also nicht nur die Information, die am einfachsten, sondern auch am häufigsten geleakt wird. In Zeiten von Meta-Informationen und was Geheimdienste damit so machen und wie sie diese priorisieren, kann man sich selbst fragen, ob man hier noch gut schlafen können wird.

Weitere Leaks fanden dann entweder üblich über das Internet oder gleich per SMS statt. [via]

Flattr this!
Bitcoin-Spenden hier akzeptiert ^^

libreboot

Da brennt der Hirsch:

libreboot logo

Libreboot will _die_ Open-Source-Alternative zum schlimmen BIOS und noch schlimmeren UEFI sein.

Hier kann man es downloaden. Dort findet sich eine Liste der kompatiblen Hardware. Ferner noch die AutorInnen des charmanten Ersatzes.

Fröhliches Hirschen!

Flattr this!
Bitcoin-Spenden hier akzeptiert ^^

glitch: alles coden. schnell.

Sollte die Idee von Glitch zünden, kommen wir sehr nah an die Vision von den Erfindern des WWW, ein Medium zu schaffen, das als Plattform für alles und jeden dient.

Über „Plattform für alles“, darüber sollten wir uns mittlerweile einig sein. Nur das mit dem „für jeden“, das funktionierte bisher noch nicht so übermäßig gut. Wer keinerlei Plan hatte, musste nicht nur erst HTML lernen, später noch CSS und Javascript dazu, brauchte eigene Server um den Schnickschnack dann auszuprobieren und eine Möglichkeit das up- und downzuloaden. Und irgendwer musste auch für das nötige Eye-Candy, sprich Grafiken sorgen. Kann man schwer von j-e-d-e-m verlangen.

Glitch will das alles abnehmen. Nicht nur steckt mit Anil Dash ein vertrauenswürdiger Geek aus den metafilter-Welten dahinter, wer den Code einmal blickt (viel Spaß mit JavaScript!), kann Games genauso programmieren wie Blogs oder Wikis.

Klingt nach einem guten Witz, ist aber Realität, sollte man mal ausprobieren. Wird ungefähr so verkauft:

„With Glitch, coding is a multi-player experience“

Ich bin jetzt 35 und ehrlich gesagt müde vom Zocken, Videogames reizen mich kaum mehr. Alles schon mal gesehen oder gehört, der Ansatz hier macht Lust auf mehr, eine Community der Coder, die gemeinsam an, nun ja, man stapelt dort auch nicht gerne tief, „an den Apps deiner Träume baut“.

Probiert es mal aus und lasst mich wissen, wie es ist. Klingt alles sehr vielversprechend, vielleicht sieht man sich ja dort!

Flattr this!
Bitcoin-Spenden hier akzeptiert ^^

darknet: weitere infos

Wie in der Vergangenheit bereits erwähnt wird Gizmeo gerne als Einstieg in die Welt des Darknet genutzt. Die internen Suchen sind jedenfalls voll davon, kein anderes Thema ist dermaßen populär.

orbot logo

Dann will ich mal nicht so sein und weitergehende Links liefern, falls sich jemand damit länger beschäftigen möchte:

* Pastebin – faktisch die erste Anlaufstelle um frische *.onion-Links abgreifen zu können. Die Einträge verschwinden nach einer Weile, was weitere Vorteile hat

* https://reddit.com/r/darknet/ – wichtig für Einsteiger oder Leute, die einfach blöde Fragen stellen wollen. Doch blöde Fragen gibt es nicht und das macht dieses Forum so wertvoll

* Darknet Wörterbuch – mit ein paar Fachbegriffen diskutiert es sich besser, darum braucht ein verstecktes Zwiebelnetzwerk natürlich auch ein eigenes Wörterbuch. Keine Ahnung, ob das hier das einzige ist oder „das beste“, aber es ist ein Anfang

* Darknet: Market Comparison Chart: hier findet sich tatsächlich eine Tabelle, die diverse Darknet-Marktplätze vergleicht. Gelistet werden auch Uptime, Ratings, Datum der Erstellung, usw.

* Derzeit aktive Darknets – die meisten denken heute beim Darknet an TOR, vergessen aber dabei, dass es a) eine Militär-Entwicklung der US-Marine ist und b) nicht das einzige Netzwerk dieser Art. Hier ist eine Liste mit den derzeit aktiven Darknets

* was Darknet auch ist: ein Open Source Neural Framework geschrieben in der Programmiersprache C

* 2014 schrieb Jamie Bartlett in einem Buch, das Darknet hätte folgende Subkulturen mit entsprechenden Fachbegriffen hervorgebracht: „Camgirls“. „Kryptoanarchisten“. „Darknet-Drogenmärkte“. „Self Harm Communities“. „Social-Media-Rassisten“. „Transhumanisten“.

Und schließlich, zum Schluss, aus der Kategorie „Technikgedönsen“: Darknet meinte eigentlich in den 1970er-Jahren jegliches nicht ans ARPANET angeschlossene Netzwerk und einfach „vom ARPANET nicht sichtbar“. Der Begriff wurde aber nach einiger Zeit obsolet, weil das ARPANET faktisch alles geschluckt hat.

Flattr this!
Bitcoin-Spenden hier akzeptiert ^^

vault 7: dark matter

Es gibt Neues zur aktuellen Wikileaks-Serie Vault 7, ab heute u.a. mit Informationen zur Infizierung von brandneuen iPhones seit mindestens 2008.

Dark Matter ist aber eher eine Zusammenfassung mehrerer Techniken um Geräte mit Software von Apple zu kontrollieren, abrufbar ist alles hier: https://wikileaks.org/vault7/darkmatter/?cia.

Einige Projekte sind/waren:

  • Sonic Screwdriver: Code von Peripheriegeräten (z.B. USB-Sticks) ausführen können, während ein Mac-Rechner bootet
  • DarkSeaSkies: ein Implantat, welches aus mehreren Elementen besteht und im neueren BIOS EFI abgelegt wird
  • NightSkies 1.2: eben das Implantat, das seit 2008 in nagelneue iPhones installiert werden kann
  • Updates zu Dokumenten von MacOSX-Malware „Triton“, „Dark Mallet“, „DerStarke“ in Version 1.4 und 2.0

Was natürlich auffällt ist, dass das Meiste davon irgendwie ja physisch auf die Geräte geschaufelt werden muss. Hier wird noch spekuliert, jedoch wahrscheinlich ist, dass man einfach die Versorgungsketten und Zulieferer infiltriert hat, um Geräte manipulieren zu können, bevor sie aus den USA oder Teile aus China in die Welt versendet werden.

Empfehlenswert ist übrigens auch der Wikipedia-Artikel zu Vault 7, der ja konstant auf dem Laufenden und erweitert wird: https://en.wikipedia.org/wiki/Vault_7. Übrigens bis heute nicht in deutscher Sprache erhältlich. Ein Schelm, wer dabei Böses denkt (Frankfurt Konsulat, ähemm…)!

Flattr this!
Bitcoin-Spenden hier akzeptiert ^^

(geheime) geschichte: silicon valley

Wer eine gute Stunde seiner wertvollen Zeit entbehren kann, und nicht allzu viel gegen ein bisschen Geschichte hat, dem sei der folgende Vortrag von Steve Blank empfohlen:

[via]

In „Die geheime Geschichte des Silicon Valley“ erklärt er anschaulich und oft auch mit Humor, worin diese weltverändernde Kolchose ihre Ursprünge hat. Für die Ungeduldigen, hier der SPOILER: Zweiter Weltkrieg, elektronische Kriegsführung, Mikrowellen, Hewlett Packard. Ungefähr auch in der Reihenfolge.

Selbst wenn Opa nicht gerne erzählte, was er wirklich so trieb, manche Dinge konnte auch er nicht ins Grab mitnehmen. o.O

Flattr this!
Bitcoin-Spenden hier akzeptiert ^^