Archiv für die Kategorie „Linux“

weltweit erstes risc-v-linux-hackerboard erscheint!

Vergesst Intel, AMD, ARM und IBM mit deren Schrottprozessoren, die Zukunft spricht RISC-V!

Wenn Meltdown & Spectre uns Anfang des Jahres eines wieder vor Augen geführt haben, dann dass die oben erwähnten Hersteller sich einen Dreck kümmern, wie sicher und entwickelt deren CPUs sein sollen. Der Dumme ist der Käufer, der sich in Besitz eines „Hochtechnologie-Produkts“ wähnt, wenngleich die einzig guten Prozessoren des Planeten bei Verteidigungsministerien und Armeen verbleiben.

Das ist auch einer der Hauptgründe, weshalb es bislang keinerlei öffentliche Forschungen auf dem Gebiet bösartige und schädliche Prozessoren gibt. Meltdown & Spectre lassen die besten Programmierer des Planeten verzweifeln, weil sie einfach nicht wissen, wie sie mit solchen Bugs umgehen sollen. Besonders Spectre ist auch auf Linux bis heute nicht gefixt, die Hacker streiten richtig über die öffentlich zugänglichen Mailinglisten, von der Industrie kommt laut Linus Torvalds auch nur Bullshit (sic). Wer mitlesen will, was für merkwürdige und streitsüchtige Wesen Menschen sind, wird hier täglich fündig.

Ahhhh! Tief durchatmen! Luft holen! Die Rettung naht mit diesem Must-Have-Linux-RISC-V-Hackerboard:

RISC V: Freedom U540 Linux-Hacker-Mainboard

Was mit RISC-V versucht wird ist revolutionär und doch bisher jedes Mal gescheitert:

Opensource-CPUs für Alle!

Ja, es ist die einzige Rettung der IT wahrscheinlich. Nur: das Problem haben wir bereits seit Jahrzehnten. RISC-V ist vom Design her auch nur vorheriges Jahrhundert. Wer mitmachen soll, verändern soll, erweitern soll, das darf hier offen bleiben. Credo: Don’t be bad by design.

Mit dem Freedom U540, oben abgebildet, kann nun jeder Nachwuchs-CPU-Hacker und Prozessor-Experte für einen ziemlich humanen Unkostenbeitrag von 999$ (ca. 813€) direkt in die (vielleicht einzig sichere) Zukunft der Computerprozessoren einsteigen. Hier die extrem saftigen Features im Überblick:

* derzeit schnellste RISC-V-CPU der Welt
* das einzige derzeit erhältliche linuxfähige RISC-V-SoC (SystemonaChip)
* 4+1 Mehrkern-SoC, bis zu 1,5 GHz
* 4x U54 RV64GC Kerne mit Sv39 Virtual-Memory-Support
* 1x E51 RV64IMAC Management-Core
* kohärenter 2MB L2-Cache
* 64-bit DDR4 mit ECC
* 1x Gigabit-Ethernet-Anschluss
* hergestellt in 28nm-Technologie

Das ist richtig was hier passiert, es fühlt sich gut an. Mehr Details und Bezug über:

https://sifive.com/products/hifive-unleashed/.

Man darf hoffen, dass es nicht das einzige Motherboard dieser Art bleibt.

Hier geschieht gerade CPU-Geschichte und wer auch nur einen Hauch Interesse und Lust auf Prozessoren hat, sollte schnellstens mitmachen. Hier eröffnen sich die nächsten Jahrzehnte auch ganz neue Geschäftsfelder. Meine persönliche Empfehlung des Jahres! Schon jetzt! Danke an das Schreckgespenst und die Kernschmelze! Schub. Düse. Jetze.

Flattr this!
Bitcoin-Spenden hier akzeptiert ^^

requiescat in pace mageia

Von 2012 bis Ende 2017 war ich Nutzer der Linux-Distribution Mageia. Mageia ist ein einhundertprozentiges Community-Projekt und ging aus der Asche der französischen RPM-basierten Distribution Mandrake Linux hervor. Mageia ist auch das griechische Wort für Magie.

Mageia Linux Logo

Von 2012 bis 2014 war ich sehr zufrieden mit der Distribution, ich nutzte sie als „Haupt-Linux“ auf meinem Arbeits-Laptop und einem alten Desktop-PC. Ich brachte Bug-Tickets ein, spendete einen geringen Betrag für das Projekt, machte im Forum mit. Dann kam Mageia 4 und alles wurde verkackt.

So kaputt war der Release, dass man sich gezwungen sah, allerdings erst nach einigen Monaten, eine Version 4.1 nachzuschieben. Bereits damals dachte ich an einen Wechsel, Update und Umstieg war mega-stressig, der Unmut wuchs, es gab gefühlt keine Neuerungen mehr. Der Release 5 2016 verlief reibungsloser, doch auch hier schob man eine 5.1-Version nach. Ich persönlich war von Problemen glücklicherweise kaum betroffen. Der bittere Nachgeschmack blieb.

Irgendwann so um Juli letztes Jahr kam Version 6 heraus, Version 5 der Distribution würde noch bis Ende 2017 supportet werden. Mageia bringt in der Taskleiste von KDE ein kleines Info-Icon, mit dem man die Distribution mit jedem Major Release auf den neuesten Stand bringen kann. Nach wenigen Tagen verschwand dieses Icon. Ich war mir nicht ganz sicher, ob es Methode hatte oder ein Bug war; schließlich kannte ich die Probleme 2014 noch. Sowas vergisst man nicht, wenn man jeden Tag mit etwas arbeitet und sein eigenes Leben davon abhängt. Als das Icon einfach nicht mehr zurück kam, entschied ich mich, der Sache etwas auf den Grund zu gehen. Die Probleme waren schwerwiegender als 2014: Mageia 5 EOL postponed. Das Update-Icon sollte nie wieder erscheinen.

Wie schon beim Wechsel von KDE 3 zu KDE 4 hat Mageia es nicht geblickt, ein brauchbares Upgrade-Prozedere anzubieten. Nutzer von Nvidia-Karten waren aufgeschmissen mit Mageia 6, genauso wie Nutzer und Umsteiger von KDE 4 auf KDE 5.

An einem langweiligen Herbstwochenende gab ich Mageia 6 dann doch eine Chance und installierte es umständlich als Konsolen-Update über URPMI auf dem alten Desktop-PC. Nach dem Durchlauf der Updates und einem Reboot hatte ich keinerlei KDE mehr. Als Display-Manager sollte SDDM laufen; es war auf dem System nicht einmal installiert. So hatte ich eine X-Instanz von „IceWM“, was ich nie benutzte und so hässlich ist, dass es wirklich niemand braucht. SDDM nachinstalliert, „IceWM“ blieb. Nvidia-Treiber versucht zu konfigurieren, weder Nouveau noch der proprietäre Treiber liefen. KDE 5? Keine Spur. KDE manuell zu starten brachte nur “export DISPLAY=:0.0 ; startx”: .serverauth.xxx does not exist, cannot establish any listening sockets – (EE) please consult Mageia support at bugs.mageia.org. Das tat ich, schickte eine endloslange Logdatei mit. Dass SDDM nicht installiert sei, sei „nicht normal“. Ich hörte nie wieder etwas vom Support. Das war alles.

Ich versuchte eine komplette Neuinstallation, der Desktop-PC lief immer noch nicht. Der PC steht nun im Keller und mottet vor sich hin.

Da uns Mageia5-Nutzern EOL Ende 2017 angedroht wurde, auch wenn man es aufgrund der Upgrade-Problematik von Ende Oktober 2017 auf Ende Dezember 2017 verschob, zwang mich es mit einem Upgrade auch auf meinem Laptop zu versuchen. Die Updates liefen erneut sauber durch, doch auch hier nach einem Reboot: „IceWM“. Kein SDDM. Kein KDE. Die versuchten Workarounds Ende 2017 waren identisch, die auftauchenden Fehler leider auch. Neuinstallation? Keine Besserung. Das war es mit mir und meiner langjährigen von Höhen & Tiefen durchtränkten Beziehung zu Mageia.

Requiescat in pace, Mageia! Nie mehr wieder. Ich wäre von RPM-basierten Distributionen dann auch weg. Welche Distribution ich mir nun aussuchen werde steht in den Sternen. Ehrlich gesagt habe ich dank Intel, Meltdown & Spectre auch überhaupt keine Lust mich mit einem Nachfolger zu befassen. Scheiß‘ doch auf Laptops und PCs.

Da Mageia ein Community-Projekt ist und wir dort vom gemeinsamen Austausch leben, will ich meine von 2012 bis 2017 gesammelten Bookmarks zu der Distribution gerne weitergeben. Vielleicht sind diese ja dem ein oder anderen alten Hasen oder auch Neueinsteiger von Nutzen. Ich habe keine Ahnung, ob die Links noch funktionieren und werde diese auch nicht mehr prüfen. Mir ging es nur darum, diese nicht nur für mich zu behalten; die gammeln ja jetzt ohnehin in meinem Browser vor sich hin. Mögen die euch zur Erleuchtung führen und: viel Glück & eine Engelsgeduld mit Mageia 6!

Hinweis: Die Liste ist aufsteigend nach Alter sortiert, also die ältesten Links finden sich oben, die neuesten unten. Es werden nur Nvidia-Themen und _keine_ ATI-Themen abgedeckt.

Mageia – eine neue Linux Distribution!
Nouveau, Free Tearing – ArchWiki
Bug 5715 – lm_sensors service start fails (it should warn if sensors-detect needs to be run)
where is the (application) folder in Mandriva? – MandrivaUsers.org
I'd like to installe files where they (should) go but I can't seem ti find the correct folder… you can probably install them in any folder …
Help me upgrading Firefox 3.6.7 to 3.6.8 in FC13 [Archive] – FedoraForum.org
[Archive] Help me upgrading Firefox 3.6.7 to 3.6.8 in FC13 Software
Index of /mozilla/
Firefox and Thunderbird 12 on Mageia | demi-monde
Shadows / dark backgrounds look pixelated and blotchey
Installing a Mustek ScanMagic 1200 UB Plus scanner -SuSe 9.2
The online forum for Linux enthusiasts of all skill levels.
[SOLVED] Screen Not Dimming? – Ubuntu Forums
[SOLVED] Screen Not Dimming? Other OS/Distro Talk
12.04 – How do I stop video tearing? (Nvidia prop driver, non-compositing window manager) – Ask Ubuntu
[SOLVED] Changing boot splash >> how to use Plymouth?
VirtualBox Festplatte vergrößern | + mzungu's weblog +
Mageia Linux general discussions ()
Hack WEP and using Metasploit 3.8 to attack on BackTrack 5 x64 – YouTube
Fensterregeln › KWin › Wiki › ubuntuusers.de
Intels TurboBoost (Nehalem und… – Poison Nukes Forum
Mageia build system status
Mageia Smart Quellen
RPM resource deluge
could not find module 'wl'
Dropbox Installation – Mageia wiki
How to create a soft or symbolic link? – Ask Ubuntu
www.linuxgaming.de • swap nachträglich verkleinern
[solved] KDE Fensterleiste erzeugt automatisch Starter (Seite 1) / Anwendungen und Software / bbs.archlinux.de
How to Install Diablo 3 on Linux – Softpedia
How to Install Diablo 3 on Linux
How to Make Rpm Package Nvidia Propietary Driver On Mageia 2 | nacitasyifa.web.id
WineHQ – Diablo III 1.0.*
Open Source Software for running Windows applications on other operating systems.
Mageia Kontrolleisten_problem
Steam Community :: Steam for Linux
Steam for Linux
i7z – A better i7 (and now i3, i5) reporting tool for Linux – Google Project Hosting
CPU Frequency Scaling – ArchWiki
Betelgeuse by ~acidrums4 on deviantART
Betelgeuse is the name for a big star from Orion constellation. The intention of this project is to create a complete, modern, clean and eye-candy icon …
[SOLVED] Change Hostname
[SOLVED] Audio no longer working – snd_pcm_open(default): No such file or directory
Msec Konfiguration – Mandriva Community Wiki
Autostarting Applications in KDE4
How to Configure applications and scripts to run at boot time in KDE4
Unable to set external mouse in System Settings
When I connect my logitech cordless optical mouse to my laptop I am unable to access it's settings under system settings. The setting options are
Boinc on Mageia2 Linux 'gotcha'
ownCloud Nutzung › Wiki › ubuntuusers.de
Orphans FAQ – Mageia wiki
Dual monitor on Nvidia with external LCD?
Configuring sudo – Mageia wiki
Bug 1306 – 2012.1,Failed to start Cleanup of Temporary Directories.
HowTo Firefox/Thunderbird manuell updaten
Explains how to install Mozilla Firefox version 4.x under any version of Linux distributions.
Starcraft II on Wine – Ubuntu 12.04 – Ask Ubuntu
Howto: Starcraft II under Wine (Ubuntu Linux) | The Helper
This is a short tutorial on how to run the Starcraft II Beta under Wine. The tutorial assumes that you run Ubuntu 9.10, but it can be modified to work…
Taking a Screenshot – ArchWiki
KFaenza manuell installieren!!
GRUB2 boot to runlevel 3
NVIDIA Treiber Download
Download drivers for NVIDIA products including GeForce graphics cards, nForce motherboards, Quadro workstations, and more. Update your graphics card drivers today.
Uninstall Winetricks – Wine-Wiki.org
10 Total Commander Alternatives for Linux « Lists
Although we all remember that everything started with legendary Norton Commander, somehow lots of TC users religiously believe that every other, two pane file manager, is a not worthy clone. They all share the same roots, but TC with its rich Plugin library managed to capture the largest user base. In this article I will…
[SOLVED] Error while loading shared libraries: libSM.so.6 (Page 1) / Applications & Desktop Environments / Arch Linux Forums
13.04 – Gaming Mouse Recommendations – Ask Ubuntu
/dev/bus/usb!! – MX510 Optical Mouse
Hi! I have a Logitech mouse connected to an usb port. I tried to configure the buttons and went to ( in KDE control center) Peripherals —> mouse
http://www.hecticgeek.com/wp-content/uploads/2012/01/Gnome-ALSA-Mixer-in-Ubuntu.png
How to Create an ISO File in Linux: 11 Steps – wikiHow
How to Create an ISO File in Linux. This article gives you the basic command for creating an image file from a CD/DVD device in Linux. As an example, we will copy the contents of your disk in the CD/DVD drive (/dev/cdrom) on your PC or…
virtualbox.org • View topic – Install Extension packs for Version => 4.0.0
Repos
Mageia systemd : restaurer la fonctionnalité rc.local – Documentation
Linuxtricks, site d'astuces pour Linux. Mageia systemd : restaurer la fonctionnalité rc.local – Documentation
[SOLVED]How can I completely remove Nvidia HDMI soundcard? (Page 1) / Newbie Corner / Arch Linux Forums
linux – How to use 'cp' command to exclude a specific directory? – Stack Overflow
[SOLVED] Job for service network failed
Mageia forum • View topic – openvpn
Wi-fi broadcom não inicializa no Mageia [RESOLVIDO] [mageia]
Mageia forum • View topic – [SOLVED] Issue with Broadcom BCM4312 wireless
[SOLVED] mga4: iftab, 70-persistent-net.rules ignored!
[gelöst]Broadcom 4313 verbindungsprobleme
[SOLVED] Connection failed (wifi)
Clementine uses to much ram memory ! · Issue #4611 · clementine-player/Clementine · GitHub
:tangerine: Clementine Music Player
Mageia forum • View topic – streamtuner2?
"invalid protocol" dolphin "find…" • KDE Community Forums
hello let me try and understand i have kxstudio installed with kde sc quot find quot worked perfectly fine and then lately it announces quot invalid protocole quot in a
IsoDumper Writing ISO images on USB sticks – Mageia wiki
Remove a connection
Mageia forum • View topic – [SOLVED] VPN suddenly stops connecting
Index of /XFree86/Linux-x86/384.69
Configuring sudo – Mageia wiki
Bug 1350107 – SDDM Login screen blank – sddm-helper exit with 6, when using breeze sddm theme
Mandriva Linux Rpmdrake and URPMI HOWTO (unreleased 0.3 test revision)
Mageia forum • View topic – [SOLVED] Suspend & resume after closing laptop lid

Flattr this!
Bitcoin-Spenden hier akzeptiert ^^

brave new world VIII

CPU-Apokalypse: läuft!

CPU Meltdown Graphic CC4.0 International
Grafik CC4.0 International [via]

„The Verge“ berichtete gestern, dass Intel bereits seit Juni 2017 von Meltdown wusste und zwar durch ein Google-Forschungsteam namens „Google Project Zero“. Anstatt ab da jedoch Prozessoren auszuliefern, die nicht anfällig waren, einigte man sich zwischen den Industrie-Granden auf Geheimhaltung. Darf das sein!?

Hier hat mal jemand gesammelt, mit welcher CPU man heute noch (vielleicht) Bankgeschäfte machen kann. Je älter und exotischer der Prozessor, umso wahrscheinlicher, dass das geht. Vielleicht hat die eine oder der andere auch zuhause noch einen alten x86-PC herumstehen: alle diese Architekturen sind nicht betroffen. Also jeglicher 386er, 486er, usw. und deren Klone bzw. Derivate. Die zu nutzen werde ich allerdings nur mit einer aktuellen Linux-Distribution empfehlen.

Dort hat mal jemand das offizielle Dokument zu Meltdown analysiert, damit wir es nicht mehr tun müssen. Fazit: wer Code geschrieben hat und sich mit if/else/etc. auskennt, kann nachvollziehen, was hier passiert. Der Text sei auch erstaunlich gut und verständlich geschrieben.

Microsoft, einer der Cowboys der am schnellsten zog mit dem Update-Colt (schlechtes Gewissen?), zerschoss vor wenigen Tagen viele AMD-Systeme. Rechner mit Windows 7 und 10 zeigen nach einem Reboot lediglich das Windoze-Logo und booten nicht mehr. Glückwunsch!

In der Zwischenzeit sind die Updates auch auf iPhone 6-Geräten angekommen. Vorläufiges Ergebnis: die Leistungseinbußen liegen derzeit bei 40%(!). Getestet wurde iOS 11.1.2 und es war völlig egal, ob man einen Single-Core- oder Multi-Core-Benchmark machte, fanden niederländische Forscher heraus.

Und schließlich war auch Intel-CEO Krzanich auf einer „Technikmesse“ in Las Vegas, wo der Strom ausfiel und zeitweise die Taschenlampe die modernste Erfindung des Planeten war. Er hat gemacht, was Intel immer macht, wenn es um Kritik an dem Unternehmen geht: einfach gar nichts erläutert und wir sitzen das schon irgendwie aus. Er sollte seine Trinkwasserleitungen überprüfen lassen…

Pssst! Ich verrate euch mal ein kleines Geheimnis: diese Lücken sind nicht mit Software-Patches zu beheben, das ist (über-hardcore-unfassbar-darf-nicht-passieren-)fehlerhafte Hardware. Gesetze der Physik, kennsch!? 2018 wird ein Jahr werden, wo sich viele IT-Experten (mich eingeschlossen) fragen dürften ob sie in dem Bereich wirklich richtig aufgehoben sind.

Flattr this!
Bitcoin-Spenden hier akzeptiert ^^

meltdown und spectre: auch xbox360 und ps3 verwundbar

Der miese CPU-Bug Meltdown betrifft nicht nur Intel. Nicht nur AMD und ARM sind von Spectre betroffen.

Hier berichtet jemand, wie er die beiden Hardcore-Hardware-Bugs auch auf der IBM-CPU der Xbox360 fand: https://randomascii.wordpress.com/2018/01/07/finding-a-cpu-design-bug-in-the-xbox-360/.

Mich machte das hellhörig. Auch die PS3 hat eine CPU von IBM drin, wenngleich in Zusammenarbeit mit Sony und Toshiba damals:

Cell BE CPU auf PS3-Mainboard, gefunden bei Wikimedia.org

Ich hatte noch eine alte PS3 mit Linux irgendwo rumstehen. Und mit diesem Tool hier, https://github.com/speed47/spectre-meltdown-checker, kann man seinen Prozessor unter Linux testen.

Das habe ich gemacht, hier das Ergebnis:

Spectre and Meltdown mitigation detection tool v0.16

Checking vulnerabilities against Linux 3.12.6-red-ribbon-powerpc64-ps3 #7 SMP Tue Jan 7 17:09:59 CET 2014 ppc64

CVE-2017-5753 [bounds check bypass] aka 'Spectre Variant 1'
* Kernel compiled with LFENCE opcode inserted at the proper places: UNKNOWN (couldn't find your kernel image in /boot, if you used netboot, this is normal)
> STATUS: UNKNOWN

CVE-2017-5715 [branch target injection] aka 'Spectre Variant 2'
* Mitigation 1
* Hardware (CPU microcode) support for mitigation: UNKNOWN (couldn't read /dev/cpu/0/msr, is msr support enabled in your kernel?)
* Kernel support for IBRS: NO
* IBRS enabled for Kernel space: NO
* IBRS enabled for User space: NO
* Mitigation 2
* Kernel compiled with retpoline option: NO
* Kernel compiled with a retpoline-aware compiler: UNKNOWN (couldn't find your kernel image)
> STATUS: VULNERABLE (IBRS hardware + kernel support OR kernel with retpoline are needed to mitigate the vulnerability)

CVE-2017-5754 [rogue data cache load] aka 'Meltdown' aka 'Variant 3'
* Kernel supports Page Table Isolation (PTI): NO
* PTI enabled and active: NO
> STATUS: VULNERABLE (PTI is needed to mitigate the vulnerability)

Wie man sieht:

* Meltdown: anfällig
* Spectre Variante 1: unbekannt
* Spectre Variante 2: anfällig

Ich hätte erwartet, dass zumindest beim Cell, dieser ungewöhnlichen „Supercomputer-CPU“, hier überall „unbekannt“ steht. -.-

Als Linux läuft hier die wohl letzte erhältliche Distribution für die PS3, „Red Ribbon GNU/Linux“ basierend auf Debian, die man sich hier als Live ISO herunterladen kann.

Liebe Grüße an IBM & danke! Wo kann ich jetzt meine Daten einklagen, die beim Zocken abgegriffen wurden!?

[Update I, 17.01.18]

Mir gefiel das Ergebnis überhaupt nicht, also trat ich mit Stéphane Lesimple in Kontakt, den Autor des oben benutzten Tools.

Leider prüft sein Tool die Hardware gar nicht.

Er checkt lediglich, ob ein Linux-Kernel die Patches gegen Meltdown und Spectre enthält. Das ist natürlich für meine Zwecke suboptimal, möchte ich doch eher herausfinden, welche Hardware betroffen ist in meinem Haushalt. Dass ich jeden Kernel vergessen kann, der eine Version unter 4.14 trägt, war mir von vornherein klar.

Bei der PS3 wird es daher noch komplizierter als ohnehin schon: es läuft wohl auf einen Exploit-Test hinaus, die CPU zu checken und derzeit existiert wohl nicht mal ein PoC (Proof of Concept) dazu. Für den Cell hier was zu finden dürfte also realistisch betrachtet unmöglich sein.

Hinzu kommt, dass man durch einen Kernel-ABI-Breakage-Bug und ein völlig veraltetes petitboot keinen Kernel auf einer PS3 installieren kann, der eine höhere Version trägt als 3.15.x. Sollte dieser Zweig von Geoff Levand also nicht gepatcht werden, gibt es nicht mal den Hauch einer Chance den Cell betriebssystemtechnisch gegen Meltdown und Spectre abzudichten. Nur, warum sollte er das bei solch einer exotischen Hardware tun?

Was bleibt: die Meldungen oben beziehen sich auf den Betriebssystemkern 3.12.6, den „Red Ribbon GNU/Linux“ nutzt. Ein Test der Hardware findet bei diesem Tool nicht statt, auf keiner Architektur. Exploits gibt es scheinbar noch keine im WildWestWeb und sofern es welche gibt, irgendwann, wahrscheinlich sehr sehr bald, dürfte das auf dem Cell schwierig werden das abzugreifen, was man hier an sensiblen Daten hinterlässt. Solange allerdings Linux auf einer PS3 oder einer anderen Hardware mit der Cell-CPU läuft (z.B. Supercomputer mit PowerXCell, PS3-Cluster), und meines Wissens läuft ohnehin außer Linux kein Betriebssystem auf dem Cell, bleibt der Kernel tatsächlich verwundbar. Über den Chip selbst lässt sich von meiner Seite allerdings keine sichere Aussage machen. Vielleicht mal bei IBM direkt nachhaken. Doch mein Gefühl sagt, was randomascii über die Xbox360 berichtet, gilt wohl auch bei der PS3.

[Update II, 31.01.18]

Mittlerweile konnte man auch so rauskriegen, ohne Tools oder Hacks, ob der Cell verwundbar ist oder nicht. Ich muss meine Headline (leider) nicht ändern:

Die PowerPC-Einheit, die auf dem Cell zum Einsatz kommt, ist eine Power970. Apple vermarktete solche IBM-Bezeichnungen für seine Hardware gerne mit G3, G4 oder G5. Alle _vor_ G5 sind gegen Meltdown und Spectre nicht verwundbar, alle ab G5 aufwärts aber schon. Jetzt ratet mal, wie Apple-Marketing die Power970-Einheit, die im Cell zum Einsatz kommt, nennt? Richtig: G5.

Welche PowerPC-Einheit in einer PS3 arbeitet kann man in der exzellenten Präsentation von John Dongarra hier nachlesen: http://netlib.org/utk/people/JackDongarra/WEB-PAGES/SPRING-2008/Lect02-cell.pdf. Die PPE wird anschaulich auf Folie 10 erklärt.

Weder die PPE, noch die 8 SPEs des Cell gelten als typische OOO-Prozessoren, tatsächlich wurde das Konzept der In-Order-Execution verwendet und die CPU auch so vermarktet. Das führt am Anfang von Recherchen zu Unklarheiten. Der Cell kann nur „ein paar“ OOO-Befehlssätze bzw. die Ingenieure bauten vorsorglich Out-of-Order-Execution (OOO) mit ein. Wenngleich nicht in dem Umfang, wie in modernen Intel-, AMD– oder ARM-CPUs. Diese Intention hilft aber rein gar nichts, wenn die PPE eigentlich ein G5 ist. Folge: neben Xbox360-Konsolen wurden PlayStation3-Konsolen mit den Meltdown- und Spectre-Hardware-Bugs von Anfang an ausgeliefert. Wer von den Lücken wusste, das sind mindestens die Prozessorhersteller selbst, konnte so auch persönliche und sensible Daten abgreifen. Ein Hardware-Update ist bei Spielkonsolen vom Konzept her niemals vorgesehen. Mind blown? Na hoffentlich! Frohes Zocken…

Flattr this!
Bitcoin-Spenden hier akzeptiert ^^

ps3: herausfinden, wie weit man downgraden kann

Noch irgendwo eine PS3 zuhause herumstehen? Gebt sie nicht einfach so weg! Mit einer bestimmten Firmware-Version bringt die Hardware locker 400€. Besonders die „Fat Lady“ ist beliebt, da hier noch die Hardware darauf zugeschnitten war Linux zuzulassen. Ab der Slim wird es zwar nicht unmöglich, aber hakelig.

Wie aber herausfinden, ob die alte Hardware zu einem Sammlerobjekt qualifiziert? Das geht ganz einfach mit dem MinimumVersionChecker, kurz MinVerChk: PS3 MinVerChk tar.gz (Download, tar.gz-Datei).

Den Inhalt schiebt ihr einfach auf einen alten USB-Stick und „installiert“ das als Update. Es ist kein wirkliches Update, es wird nur gecheckt, wie weit ihr eure Hardware downgraden könnt. Im Optimalfall kommt dann so etwas dabei heraus:

PS3: MinVerChk in Aktion

Ihr habt ab da zwei Möglichkeiten: entweder ihr downgradet die Hardware runter auf 3.55.2, dann ist die „Fat Lady“ noch OtherOS++-fähig. Oder aber auf 3.15, dann ist sogar das eigentliche OtherOS noch drauf. In beiden Fällen lässt sich dann Linux auf der PS3 installieren und die Konsole als Wohnzimmer-Supercomputer(!) betreiben. Deshalb sind die Preise in Internetauktionshäusern so hoch.

Noch ein Hinweis: der offizielle PS3-Linux-Kernel, der heute noch gewartet wird unter https://git.kernel.org/pub/scm/linux/kernel/git/geoff/ps3-linux.git, läuft theoretisch nur mit Firmware 3.15. Der Kernel braucht ab 3.55.x besondere Patches, die früher unter http://git.gitbrew.org/ erhältlich waren. Das war nicht ganz legal und so um 2011/2012 herum musste gitbrew dichtmachen. Wer also ernsthaft heute noch Linux mit einer PS3 betreiben möchte, wird um 3.15 nicht herumkommen. Beide Versionen eignen sich allerdings zum Verkauf der Konsole als Sammlerobjekt. Die 3.55.x ist jedoch interessanter bei Homebrew-Fans und Piraten, aber wenig relevant für die Wissenschaft.

Flattr this!
Bitcoin-Spenden hier akzeptiert ^^

diy: einfacher smart contract mit solidity

Solidity ist die Programmiersprache von Ethereum, eine Turing-vollständige Programmiersprache, exklusiv entwickelt für diese eine Kryptowährung. Wobei, Ethereum ist eine vollständig neue Plattform, Solidity nur die Sprache dieser Plattform. Sie ist JavaScript sehr ähnlich, jeder mit Erfahrung in JavaScript sollte sich hier sehr gut zurecht finden. Aber Vorsicht: JavaScript != Java. JavaScript ist zwar schnell, aber nicht schön und leider auch keine Hochsprache.

Anyways. „Smart Contracts“ sind wohl das Killer-Feature von Ethereum. Im Kern handelt es sich hierbei um unfälschbaren, verfizierten Code, der zu einer bestimmten Bedingung ausgeführt wird. Es soll sehr einfach sein „smart contracts“ zu schreiben, von daher möchte ich in diesem Beitrag die Aufmerksamkeit auf ein einfaches Tutorial lenken, das wir Entwickler alle kennen: „Hello World“. Der Code und auch die Details dazu sind auf GitHub hinterlegt: https://github.com/evbots/greeter_contract.

Ich bin im Übersetzen sehr schnell (und meist auch sehr präzise), von daher gebe ich die Einführung einfach in deutscher Sprache weiter. Eure Versuche gehen natürlich auf euer Risikokonto. 😉

=== Der Gruß-Vertrag ===

Ein einfacher „Hallo Welt“-Smart-Contract geschrieben in Solidity.

=== Hintergrund ===

Dieser Code stammt direkt aus dem Anfänger-Tutorial der Ethereum-Entwickler, den ihr hier findet. Das Tutorial selbst erwähnte jedoch eine alte web3.js-Spezifikation, von daher wurde der Vertrag leicht angepasst.

=== Vorbereitungen ===

* Die Fähigkeit, Ether zu akzeptieren, die Währung von Ethereum. Benutzt eine Tauschbörse oder leiht euch ein paar Ether von einem Freund.
* Ladet euch Go Ethereum herunter und führt es aus mit geth --rpc
* Erstellt einen Ethereum-Account mit geth über die Kommandozeile oder JavaScript-Konsole. Mehr dazu hier.
* Überweist Ether zu diesem neuen Account.

=== Setup ===

Nachdem ihr die Paketquelle geklont habt, installiert die Abhängigkeiten.

yarn

Stellt sicher, dass geth läuft, sofern noch nicht geschehen.

geth --rpc

Bereitet das Build-Skript vor, damit es ausgeführt werden kann:

yarn build

Sofern ihr Ether zu eurem Account transferiert habt (es genügt sehr wenig), entsperrt den Account, damit ihr das Geld ausgeben könnt. Dies geschieht über die Konsole von geth. Sobald geth aufgesetzt ist und läuft, öffnet ein neues Terminal und benutzt diese Befehle:

geth attach

Danach schreibt ihr in eure Konsole:

personal.unlockAccount(eth.accounts[0], , 15000)

Jetzt, davon ausgehend ihr seid im Projektverzeichnis, führt den Code aus:

node lib.js

Ihr verbindet euch so mit geth über euer lokales Netzwerk und dessen API, dabei wird versucht ein Vertrag zu erstellen.

Notiert euch die Adresse des Vertrages, nachdem ihr diesen errechnet (geminet) habt. Sobald geth den letzten Block synchronisiert hat, werdet ihr die Adresse als Ausgabe sehen. Sollte das nicht der Fall sein, prüft eure Wallet-Adresse über etherscan.io und ebenso den Status eures Vertrags. Sobald der Vertrag errechnet wurde, könnt ihr wieder zur JavaScript-Konsole von geth zurückkehren und kreiert so eine Instanz eures Vertrags. Danach grüßt das Ding. ^^

Damit das funktioniert, benötigt ihr zwei Sachen: die ABI des Vertrags, sowie die Adresse. Um die ABI zu bekommen, habe ich ein einfaches Skript geschrieben, um diesen auszugeben. Führt einfach Folgendes aus:

yarn printAbi

=== Vertrag erstellen ===

Zurück in der JavaScript-Konsole von geth (Tipp: ihr erreicht diese mit geth attach in einem neuen Konsolen-Tab/-Fenster) erstellt ihr nun euren Vertrag mit dem Code:

var myContract = web3.eth.contract(YOUR_ABI).at(YOUR_CONTRACT_ADDRESS);

=== Vertrag ausführen ===

Ab jetzt lassen sich die Methoden eures Vertrags aufrufen:

myContract.greet();

und

myContract.kill();

Wie wir sahen ist das alles zum Glück kein großer Aufwand.

Auf die Frage, was man damit machen, hat der Kanton Zug (Schweiz) inzwischen schon eine praktische Antwort: die können nämlich bald ihre digitale ID in der Ethereum-Blockchain hinterlegen. Erwartet sowas mal in Deutschland. -.-

Alles Pfosten hier. Seid schlau, geht, aber geth mit Ethereum!

Flattr this!
Bitcoin-Spenden hier akzeptiert ^^

kodi-entwickler auf mpaa-abschussliste

2017. Wer mal schnell wissen möchte, welche harten Kämpfe FOSS auch heute noch ausfechten muss, der soll sich bitte diesen Artikel zu „MPAA gegen Kodi-Addon-Entwickler“ ansehen. Das ist verrückt, was hier abgeht. Das ist Behinderung von Innovation in Reinform. Und schon auf dem Schreiben solltet ihr die Logos checken. Das sind nicht unsere oder eure Freunde.

Kurz zum Hintergrund: KODI, ehemals XMBC, ist wohl das Beste, was die XBOX je hervorgebracht hat.

Kodi Logo via Wikipedia

Am Anfang war es einfach ein Opensource-Medienplayer, mittlerweile ist es eine eigene Linux-Distribution, im Hintergrund ein komplettes Non-Profit-Konsortium, das sich großer Beliebtheit erfreut und auch eines der ersten Software-Spielzeuge für den Raspberry Pi war.

Man konnte ferner „dumme HD-Fernseher“, also TVs, die zwar HD anboten, aber keinen Internetanschluss hatten, im Handumdrehen „smart“ machen. Man findet den Quellcode zum Herumschrauben auch drüben bei GitHub: https://github.com/xbmc/xbmc.

Ich hatte die MPAA schon gar nicht mehr auf dem Radar. Die 1922 gegründete Motion Picture Producers and Distributors of America (MPPDA) kämpft noch heute gegen die Torrent-Technologie. Das Wort „Takedown“ gehört zum gängigen Vokabular in der Berichterstattung. Die brachten ein ganzes Protokoll zu Fall: eDonkey. Sie legen sich mit ganzen Ländern an, auch in Europa, siehe die Geschichte von „The Pirate Bay“ aus Schweden. Verklagen Leute, die verlinken, Blogs betreiben, oder, wie in Kodis Fall, eben Open-Source-Addons entwickeln.

In dem konkreten Fall geht es wirklich nur um die Addon-Funktion:

*jsergio123 stoppt die Entwicklung von urlresolver, metahandler umgehend
* The_Alpha aus UK, verantwortlich für das Addon bennu, hat das Schreiben online gepostet
* Ares Wizard ging noch am selben Tag des Postings offline

Die Kodi-Entwickler-Szene ist in Aufruhr, ruft öffentlich zur Unterstützung des Gerichtsverfahrens auf. Das sind schwere Schläge, die hier ausgeteilt werden, weitgehend ignoriert oder unverstanden von der medialen Öffentlichkeit.

Es hat sich auch etwas gedreht im Verhalten der Coder nach solchen Anschuldigungen: früher hätten sie sich quergestellt und ins Darknet oder sonstwo verdrückt. Heute wird viel schneller eingeknickt. Das ist entmutigend als Opensource-Entwickler so etwas zu lesen, doch der Selbstschutz sollte immer vorgehen. Das wurde früher oft verpennt. Die jungen Hacker sind reihenweise wegen Dummheit oder falschem Stolz oder einfach jugendlichem Leichtsinn in den Knast gewandert. Insofern sind diese Reaktionen der Entwickler nicht feige, sondern tatsächlich weise. Schmerzen verursacht es dennoch.

Vielleicht denkt ihr das nächste Mal beim Filmgucken kurz drüber nach, welche Scheiße ihr hier unterstützt. Wie kann es sein, dass eine Organisation, bestehend aus nur sechs Filmstudios aus den USA sich mit kompletten Ländern anlegen und Jagd auf Menschen machen kann!? In welcher „freien Welt“ leben wir eigentlich?

Flattr this!
Bitcoin-Spenden hier akzeptiert ^^

die wertvollsten kryptos 2017

2017 war für Kryptowährungen wohl das verrückteste Jahr. Alleine die älteste Währung, Bitcoin, verteuerte sich innerhalb von nur einem Jahr um das Zehnfache: im Oktober 2016 konnte man eine digitale Münze noch für 500 Euro ergattern.

Steigt der Bitcoin, steigen auch alle anderen Kryptowährungen, die auf dem SHA-256-Algorithmus aufbauen, die sogenannten Altcoins. Auch für die war es ein sehr erfolgreiches Jahr. Vielleicht wird man in 20 Jahren auf 2017 zurückblicken und sagen, Kryptos sind damals erwachsen geworden.

Was ich in diesem Beitrag zeigen will ist, welche Kryptowährungen man bereits heute zu den wertvollsten zählen kann. Dabei wird alleine der Wert eines einzigen Tokens betrachtet. Für eine erste Auflistung möchte ich die Kryptowährungen zeigen, die den Wert von 100€ erreicht oder bereits um ein Vielfaches überstiegen haben. Here we go:

1. Bitcoin, 4844€

Bitcoin icon

„Die Mutter aller Kryptowährungen“ taugt im Jahr 2017 kaum noch als Zahlungsmittel. Wer beispielsweise im August Bitcoin im Wert von 1€ transferieren wollte, zahlte dafür bereits 2€ Transaktionsgebühr. Das macht Bitcoin als reines alternatives Zahlungsmittel heute unattraktiv.

Als „digitales Gold“ lässt sich die Währung allerdings nach wie vor betrachten. Durch Brexit und Trump-Wahnsinn wird der Wert weiter steigen. Im Gespräch sind locker fünfstellige Beträge. Ein Ende nicht absehbar. Das macht die Währung, neben ihrem attraktiven Charakter als Geldanlage, aber weiterhin zu einer Waffe gegen die Wirtschaft allgemein. Da können Mega-Banken wie J.P. Morgan Chase noch so Stimmung dagegen machen. Der wahre Feind von Bitcoin wurde schon von Beginn an tief in die DNS der Kryptowährung eingraviert. Das lässt sich, zum Glück, weder ändern noch rückgängig machen.

Ferner sind digitale Bitcoin-Münzen nach wie vor mit speziellen Minern, ASIC-Maschinen, weiterhin selbst produzierbar. Das ist zwar nicht wirtschaftlich und verbraucht viel zu viel Strom (Bsp.: eine 1,1TH-Maschine mit einem 590-Watt-Netzteil kostet pro Monat 119€ Stromkosten bei einem Preis von 0,28€/KWh. Wertverlust/Monat alleine durch Stromkosten: 84€), doch es ist ein cooles und attraktives Hobby und macht auch Spaß. Ferner stützt jeder kleine Miner das Bitcoin-Netzwerk allgemein.

2. Ethereum, 261€

Ethereum icon

Ethereum gehört mit zur „Champions League“ der Kryptowährungen. Das von Vitalik Buterin gestartete Projekt bietet mit Solidity eine eigene Programmiersprache. Außerdem ist Ethereum im Gegensatz zu Bitcoin turing-complete; allerdings ist weit und breit kein PC zu sehen, der nur auf Ethereum basiert. Das wäre hier nämlich möglich. Und auch wahrscheinlich _die_ Killer-Applikation.

Der Code wird derzeit weiterentwickelt und ein neuer Haupt-Release wartet auch. Mit smart contracts glänzt das System mit einer Art programmierbarem Vertrag als App, die fälschungssicher und ohne Mittelsmann-Schicht funktioniert. Doch auch hier gab es bisher keinen „Killer-Smart-Contract“. Das vielversprechende Projekt The DAO scheiterte letztes Jahr im Oktober komplett, daraus entstand das kontroverse Ethereum Classic. In der Krypto-Szene wird diese Währung wie Bitcoin Cash auch als dreistes Plagiat und Betrug gewertet.

3. Dash, 248€

Dash icon

Dash, auch „Digital Cash“, wird als Anwärter auf den Thron der Kryptos gesehen, die es als erste schafft eine DAO, also eine Dezentrale Autonome Organisation erfolgreich aufrecht zu erhalten. Die Anzahl Apps ist derzeit überschaubar und wenig attraktiv, was hier lockt ist zum einen das selbstständige Betreiben einer „Masternode“ (die jedoch teuer ist), wodurch man massive Stimmrechte erhält. Und zum anderen verfügt Dash über ein IO-System, das es schafft Monat für Monat sein Budget selbstständig(!) zu steigern, wodurch neue Projekte und neue Entwickler finanziert werden können. So etwas gab es meines Wissens noch nicht.

4. Zcash, 196€

Zcash icon

Um Zcash rankt sich die eine oder andere Verschwörungstheorie. Im Kern ist es einfach eine Kopie von Bitcoin, selbst die Anzahl von 21 Millionen Tokens ist die selbe. Niemand weiß genau, zu was es gut sein soll. Es gibt Gerüchte, es sei von gewissen Regierungen gesponsert. Was niemanden in der Szene wirklich wundern würde.

5. Byteball Bytes, 177€

Byteball icon

Ganz ehrlich: keine Ahnung. Auf Wikipedia in englischer Sprache keinerlei Einträge. Byteball Bytes will ein „smartes Bezahlsystem“ sein. Leider ist das nicht wirklich innovativ. Um die Popularität zu steigern werden immer mal wieder Events organisiert, zuletzt im August, wo Tokens für die verschenkt werden, die Bitcoin-Adressen bereitstellen. Das könnte auch mal nach hinten losgehen für Bitcoin-Fans. Ich persönlich kann mir nicht erklären, wieso der Wert hier so hoch angesetzt ist, zumal man die Währung _nicht_ minen kann. Der Community-Gedanke existiert hier also überhaupt nicht. Vielleicht ist der Mangel ein Phänomen hier: insgesamt sind nicht einmal 600.000 Tokens im Umlauf. Viele finden schon alleine diese Vorstellung attraktiv.

6. BitConnect, 172€

BitConnect icon

Den Abschluss der Liste macht BitConnect, ein seit Februar 2016 existiertendes „High-yield Investment Program“. Diese Programme sind organisierte Ponzi-Schemes und ergo: schlicht Betrug. Ich würde jedem davon abraten hier zu investieren. Insgesamt gibt es 28 Millionen Einheiten, 7,2 Millionen befinden sich aktuell im Umlauf. BitConnect ist ein sehr gutes Beispiel, dass wir in Bezug auf Kryptowährungen bis auf ein paar Ausnahmen auch noch sehr am Anfang stehen: hätten Leute Ahnung, oder einfach Erfahrung, wäre der Wert nicht so hoch und das Interesse gleich Null. Man soll es aber minen können, also immerhin dachte man bei der Entwicklung doch an eine Community. Wo es genau herkommt, Regierung oder Individuum, weiß selbst die Wikipedia nicht.

Dahinter warten vielversprechende Währungen und neue Technologien, etwa Monero (derzeit 76€), Litecoin (derzeit bei 51€) oder der nagelneue China-Krypto Neo (25€). Die drei möchte ich listen, da ich diese als besonders sicher und potenziell attraktiv ansehe. Wie immer helfen so subjektive Eindrücke meist nichts, wenn man selbst investieren will: die intensiven Recherchen wird euch niemand abnehmen können…

Man darf gespannt sein, wo die Reise hingeht. 2018 will ich erneut so eine Liste machen. Und nach meinem heutigen Wissensstand dürften Bitcoin und Ethereum die einzigen sicheren Vertreter sein. Für die anderen, ganz ehrlich, das klingt alles irgendwie cool und neu und so; doch bei etwas genauerer Betrachtung sind die einfach nur Unsinn.

Im Kern, die Menschen versuchen gerade gemeinsam eines der Hauptprobleme der Menschheit zu lösen. Und: es wurde ein nagelneues Medium zum Speichern und Austausch von Werten statt Informationen geschaffen, die Blockchain. Das ist schon aller Ehren wert, was hier passiert. Ob das Experiment gelingt? Es steht in den Sternen. Wie das bei Experimenten eben immer ist.

Quellen:
* Werte von Coinmarketcap.com, Stand 20.10.17
* Icons von Cryptocompare.com

Flattr this!
Bitcoin-Spenden hier akzeptiert ^^

100.000 partikelkollisionen

Un-glaub-lich:

geknackt: 100000 Partikelkollisionen mit dem Laptop

Mit meinem Laptop heute die Marke von 100.000 Partikelkollisionen geknackt! Mit. Dem. Laptop. Ein Modell aus 2011.

Beim BOINC-Projekt ATLAS@Home vom CERN kann jeder die Grafik selbst über den Manager aufrufen, wer daran teilnimmt. Die Ergebnisse der eigenen Simulationen (laufen in VirtualBox und benötigen pro CPU-Thread 4GB RAM) werden dann mit Tausenden anderen zusammengeführt, an universitäre Rechenzentren verschickt und mit den Daten des echten ATLAS-Detektors abgeglichen.

Was man sich dadurch erhofft: eine Abweichung vom Standard-Modell der Physik, wie wir sie kennen. Und dadurch eine völlig neue Physik.

Einzig, bisher sieht es auch dank LHC und ATLAS und CMS nicht danach aus. Immerhin: 2012 wurde das unmöglich auffindbare Teilchen („god damn particle“) Higgs-Boson bestätigt.

Für 100.000 Partikelsimulationen brauchte meine eigene Maschine ca. 14 Monate. Sie lief nicht permanent durch. Schließlich ist das Teil immer noch mein Arbeitsgerät. Trotzdem will ich dem Ding nun erst einmal eine Pause gönnen; für die Hardware sind die ganzen BOINC-Projekte nicht Ohne.

Noch ein letzter Hinweis:

Sowohl das Projekt ATLAS, als auch CMS und ALICE gibt es nicht mehr als eigenständige Projekte seit diesem Sommer. Teilnehmen kann man nun über den LHC@Home-Account. Dort müsst ihr auch selbst an-/abschalten, welche Projekte ihr unterstützen wollt. Ergab Sinn, weil das alles Projekte vom CERN sind. Ich fand allerdings die Kommunikation dieses Umstands ungenügend. Wer noch einen alten LHC@Home-Account nutzt muss den ferner auch auf SSL umstellen. Projekte, die noch Accounts vom LHC@Home nutzen ohne SSL, werden nicht mehr unterstützt. Auch hier bitte selbst prüfen.

Flattr this!
Bitcoin-Spenden hier akzeptiert ^^

updaten sie ihr bluetooth noch heute!

Bluetooth. Übersetzt Blauzahn. Wenn wir mal ehrlich sind, es klang von Anfang an ungesund.

Was internationale Handy- und Smartphone-Hersteller nicht daran hinderte diesen vermurksten und unsicheren Funk-Standard auf mittlerweile 8 Milliarden Geräten weltweit zu installieren. Mit Vernunft oder technischem Wissen hat das alles nichts zu tun.

Der einzige Grund, warum wir nicht permanent mit Bluetooth-Horrormeldungen vollgeballert werden liegt in dem Umstand, dass die kleine Antenne nur maximal 10 Meter weit funken kann. Wobei das mit dem neuesten Standard auf 30 Meter geändert werden soll. Wer’s braucht…

Okay, genug, jetzt zum Geschäft:

Eine ca. 1 Woche junge Sicherheitslücke im Bluetooth-Quellcode sorgt dafür, dass ein sich in 10-Meter-Umgebung befindlicher Angreifer durch eine Puffer-Unterlauf-Attacke (buffer underflow attack vector) Zugang zu jedem Gerät verschaffen kann, das Bluetooth aktiviert hat. Getauft wurde dieser Bug auf BlueBorne.
Als Smartphone-Nutzer mit PIN- oder Muster-Sperre kann man das daran merken, dass plötzlich das Display an- und wieder ausgeht. Pikant: ohne eine solche Sperre ist die komplette Übernahme und das Ausspähen des eigenen Geräts möglich.

Boing!

Ob man mit seinem mobilen Gerät davon betroffen ist, kann man z.B. mit folgender App herausfinden: BlueBorne Vulnerability Scanner von „Armis Security“, via Google Play Store. Diese App checkt einfach, ob die Sicherheits-Patch-Ebene von Android aktuell ist. Ist sie das nicht, zeigt die App ein rotes Icon. Ist das Gerät sicher, ein grünes. Für iOS gibt es sicher ähnliche Apps, aber ich habe keinerlei Ahnung von iOS und bin da auch froh drum.

Gerade was mobile Geräte betrifft, ist man ab letzter Woche abhängig von Google und Apple, sowie den Smartphone-Geräte-Herstellern wie Samsung, HTC und Konsorten. Bieten die ein Update an, kann man sich seit kurzem gegen BlueBorne schützen. Nutzt man etwa eine Android-Version vor KitKat (4.4), ist ein Schutz nicht mehr möglich(!). Auch bei den Custom ROMs ist man abhängig von den Programmierern: ein Update wird von manchen angeboten, von vielen nicht.

So, wir sprachen nun über BlueBorne auf Smartphones. Aber was ist mit Tablets, PCs, Laptops, Kühlschränken? Das selbe Problem! Wurde schon erwähnt, dass Bluetooth auf 8 Milliarden Geräten weltweit vorinstalliert ist!?

Bei Linux kam erst heute bei meiner Distribution ein Update von bluez, das ist der Bluetooth-Treiber unter Linux. Mein Notebook war also bis heute verwundbar. Nicht so toll.

Wer kein Update mehr machen kann, dem hilft nur noch eines, was bisher Bluetooth auch immer gerettet hat: man schaltet den Funkdienst einfach nicht an. Wobei das bei iOS 11 beispielsweise gar nicht mehr möglich ist. Tolle Technik, nicht!?

Flattr this!
Bitcoin-Spenden hier akzeptiert ^^

mastodon: der twitter-killer

Die wirkliche Alternative zu T(z)witter heißt Mastodon, stammt aus der Feder des 25-jährigen Programmierers Eugen Rochko und bringt als Maskottchen ein Mastodon mit wie viel zu viel Fell mit (dafür mit Smartphone!):

Maskottchen von Mastodon

Und natürlich ist diese Lösung, wie generell zu erwarten von Menschen, die Internettechnologie verstanden haben: dezentral. Wie könnte es anders sein.

Mit Mastodon kann man derzeit live an einer kleinen Revolution teilnehmen. Und diese auch ganz gut mitbeobachten.

Die Anmeldung erfolgt über keinen zentral erreichbaren Dienst, klar. Vielmehr gibt es wie bei der Facebook-Alternative Diaspora* diverse „Pods“, genannt „Instances“, die jeder einrichten kann und irgendwo auf einem Server laufen. Da Mastodon mindestens 2GB RAM und viele Server-Rechte benötigt, eignet es sich nicht für übliche „shared server“.

Eine Anmeldung ist beispielsweise über den japanischen Digitalkunst-Dienst pixiv möglich. Dort im Profil reicht ein Klick um deren Instanz namens Pawoo beitreten zu können. Für mich als großer Japan-Fan natürlich ein Riesen-Plus. Es gibt auch eine kostenlose Pawoo-App für Smartphones und Tablets. Was einen dann erwartet ist eine Mischung aus Twitter und Tumblr. Über einen separaten Reiter greift man auf weitere Instanzen im föderierten Mastodon-Netzwerk zu.

meine Übersicht bei \"Pawoo\"
Oben: meine Übersicht bei Pawoo

Weitere Instanzen sind z.B. mastodon.social, mastodon.xyz oder friends.nico.

Im Kern hat man mit wenigen Mausklicks alles viel schöner & besser, als man es bei Twitter findet. Hier ein grober Überblick zu den, auch technischen, Kernfunktionen:

* ein „Tweet“ heißt hier „Tröt!“
* bis zu 500 Zeichen pro „Tröt!“
* wie Twitter: private Direktnachrichten zwischen Benutzern
* mehr wie Twitter: Privatnachrichten zwischen Benutzern, Privatnachrichten an Follower, öffentlich in einer Instanz oder öffentlich im gesamten Netzwerk
* Zeitleisten mit vollständiger Kontrolle über Einträge
* spezielle Filter anwendbar, etwa gegen NSFW oder Spoiler
* jede Instanz führt eigene Regeln, was
* im Umkehrschluss auch den Kampf gegen Hass und Hetze umsetzbar macht. Etwas, was Twitter nach wie vor nicht gelingt
* geschrieben in JavaScript und Ruby on Rails
* offizieller Start: 5. Oktober 2016

Das Phänomen Mastodon nahm im März/April so richtig an Fahrt auf. Die größte Community, mastodon.social, kam da bereits auf 42.000 Nutzer. Global ist die Tendenz weiter steigend: da jeder mit wenig Hardware eine eigene Instanz betreiben kann und man sich hier auch zu Spezialthemen (wie Memes, Mangas oder spezielle Videospiele) austauschen kann, liegt die derzeit registrierte Nutzeranzahl bei 852.388. Den aktuellen Status dieser Zahl kann man hier abfragen. Im August waren es noch 766.500 User.

Wer keine Lust auf diesen neuzeitlichen Social-Blödsinn hat, man kann auch selbst helfen den Code weiterzuentwickeln, hier der Link zum Projekt auf GitHub: https://github.com/tootsuite/mastodon.

Von den Erfahrungen die ich bisher gemacht habe, erst wenige Wochen, kann ich sagen, dass man technisch fast nichts mehr besser machen kann. Oder muss. Die Lade- und Ausführungszeiten sind extrem gering, der Dienst super-nutzbar; hakelig wird es eben etwa bei Grafiken, die man von Europa aus in Japan aufrufen möchte. Das war aber auch noch nie anders und ist ja ein kleines Wunder, dass so etwas überhaupt möglich ist.

Wer tatsächlich Twitter mit Mastodon ersetzen möchte, der kann das aus technischer Sicht also bereits tun. Wie mit jeder Pionierarbeit trifft man hier eben noch auf wenige Nutzer. Da der Dienst wirklich gut gemacht ist und weitere Instanzen folgen werden, wird sich das jedoch schnell ändern. Die Inhalte wirken noch teilweise sehr skurril, ist jedoch alles ein netter Haufen dort. Mastodon wird im Oktober gerade mal ein Jahr jung. Die Freiheiten sind hier viel größer als bei den angesprochenen zentralen Diensten. Wer möchte recherchiert kurz vor der Registrierung in welchem Land die Instanz betrieben wird (geht auch mit dem Firefox-Plugin „Flagfox“). In Summe steht heute mit Mastodon tatsächlich ein Dienst zur Verfügung, der die Bezeichnung „Twitter-Killer“ verdient. Alles Gute & viel Erfolg, dem smarten Mastodon!

Flattr this!
Bitcoin-Spenden hier akzeptiert ^^

ethereum-knoten inklusive wallet mit raspberry pi betreiben

Ethereum mit Raspberry Pi verheiraten

Ist ein bisschen längerer Artikel, doch hier beschreibt jemand ein spannendes Projekt, einen Raspberry Pi 3 so einzurichten, dass man damit einen eigenen Knoten für das Ethereum-Netzwerk und ein Krypto-Wallet gleichzeitig mit Linux betreiben kann:

https://pgaleone.eu/raspberry/ethereum/archlinux/2017/09/06/ethereum-node-raspberri-pi-3/.

Die Gesamtkosten für die benötigte Hardware belaufen sich hierbei um die 200€.

Als Linux kommt ArchLinux ARM zum Einsatz. Es ist aber laut dem Autor auch möglich, Raspbian dafür zu benutzen. Bei Raspbian muss man sich nur geth und go selbst ziehen und installieren, danach den binären Pfad auf $GOPATH/bin umstellen. Bitte auch das Fazit unten lesen („Conclusion“), hier stehen noch ein paar Tipps wegen der Sicherheit. So sollte man bei dieser Lösung u.a. auf sudo verzichten.

200€ scheinen nicht so günstig zu sein auf den ersten Blick. Ich bezweifle jedoch stark, dass es billiger geht. Zudem ist Ethereum faktisch chronisch unterbewertet. Und mit vielen neuen Features in der Pipeline, u.a. kommt auch ein komplett neuer Release Anfang 2018 mit „Metropolis“, sollte der Preis schnell noch weiter nach oben gehen. Besser hier früh einsteigen als zu spät (wobei ich diesen Tipp derzeit auch für Dash (perpetuierendes Entlohnungssystem) und XEM (bald ein neuer Major Release) empfehle).

Flattr this!
Bitcoin-Spenden hier akzeptiert ^^

der cpu geheimnisse entlocken

Wir bleiben einen Moment bei der komplizierten Materie der Computer-Prozessoren.

Mit sandsifter finden wir drüben bei GitHub ein ziemlich cooles Tool, das x86-Prozessoren nach Bugs und versteckten Instruktionen absuchen kann.

sandsifter: CPU-Fuzzer

Hier der Link:

github.com/xoreaxeaxeax/sandsifter.

Ein Standard-Lauf wird nach der Installation folgendermaßen gestartet:

sudo ./sifter.py --unk --dis --len --sync --tick -- -P1 -t

In der oberen Hälfte laufen dann die Schritte, die sandsifter gerade durchführt. In der unteren listet euch das Programm die Anomalien. Wichtig: je nach Geschwindigkeit und Komplexität eurer CPU kann ein Scan mehrere Stunden oder sogar Tage dauern, plant also genügend Zeit für den Test ein.

Sobald alles durch ist, fasst die Ergebnisse mit diesem Befehl in einem Log zusammen:

./summarize.py data/log

Es ist üblich, dass Millionen Instruktionen gefunden werden. Im Kern gibt es aber drei Bereiche, die euch Aussagen liefern sollen zu:

* CPU-Software-Bugs (z.B. im Hypervisor)
* CPU-Hardware-Bugs
* Undokumentierte Instruktionen (Instruktionen, die eure CPU zwar liefern kann, aber vom Hersteller nicht bestätigt werden)

Besonders der letzte Punkt dürfte für Hacker und Hardware-Freaks interessant sein.

Falls ihr Hilfe bei der Analyse benötigt, wendet euch einfach per EMail an den Entwickler und schickt das Log mit: xoreaxeaxeax@gmail.com.

Viel Spaß beim Jagen und schönes Wochenende!

Flattr this!
Bitcoin-Spenden hier akzeptiert ^^

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 ^^