Jochen boosted
Jochen boosted

RT @__investigate__@twitter.com

Für alle die den Impfgegnern eine Freude machen wollen 🤣😂

Jochen boosted
Jochen boosted
Jochen boosted

Na also. Jetzt auch Event-Check-In mit Corona-Warn-App (mehr dazu hier coronawarn.app/de/blog/2021-04)

Ich prognostiziere allerhand Konfusion: Es steht nirgends, woran ich erkenne, *welche* QR-Codes mit dieser App gescannt werden sollten.

Jochen boosted

Facebook suffers a data breach about how it’s hoping to stop the media talking about its last data breach - The social network has goofed again.

But this time it's Facebook's PR team's handling of... grahamcluley.com/facebook-suff #vulnerability #databreach #dataloss #facebook #privacy

Jochen boosted
@simona@pod.geraspora.de:

#Sicherheit in der Luca-App und von #OpenSource allgemein


Durch einen Post von @heluecht wurde ich auf ein Problem im Quellcode der Luca-App aufmerksam: pod.geraspora.de/posts/1344616…

Die zwei kritischen Code-Stücke sind für das Testen zuständig und man findet sie hier: gitlab.com/lucaapp/android/-/b…

Teil 1:
public boolean isUsingTestingCredentials() {
return Objects.equals(firstName.getValue(), "John")
&& Objects.equals(lastName.getValue(), "Doe")
&& Objects.equals(phoneNumber.getValue(), "+4900000000000")
&& Objects.equals(email.getValue(), "john.doe@gmail.com");
}

Teil 2:
boolean isValidPhoneNumber(String phoneNumberString) {
if (isUsingTestingCredentials()) {
return true;
}
try {...

Als Hackerin mit Codex will ich mich darüber nicht nur lustig machen sondern erklären worin das Problem liegt und wie man es beheben kann.

Sicherheitsverständnis bei Open-Source

Ein weit verbreitete Fehleinschätzung ist, dass Open-Source sicherer ist als geheimer proprietärer Quellcode. Niemand außer dem Besitzer kann geheimen Quellcode prüfen und deswegen können Fehler jahrelang unbemerkt bleiben und nur von Eingeweihten ausgenutzt werden. So kann man im geheimen Quellcode problemlos Hintertüren und andere Schweinereien verstecken.

Open-Source oder freier Quellcode kann von jedem eingesehen werden und so ist es schwieriger dort Hintertüren zu verstecken. Diese Schwierigkeit macht den offenen Quellecode schon mal ein bisschen sicherer. Dann muss dieser Quellcode aber immer noch getestet, überprüft und kontrolliert werden. Geschieht dies nicht und alle vertrauen nur blind auf die Sicherheit dann ist das sehr fahrlässig. Es gibt leider Beispiele wo offensichtliche Fehler im frei zugänglichen Quellcode jahrelang übersehen wurden - siehe: Heartbleed - de.wikipedia.org/wiki/Heartble…

Jetzt muss man aber auch die Philosophie von freier Software verstehen und die wird nirgendwo an der Universität gelehrt. Die muss man sich per Selbststudium im Internet beibringen. Wenn jeder in den Quellcode schauen kann und er danach immer noch sicher ist, dann habe ich echte Sicherheit (immer vorausgesetzt, dass Experten auch drauf geschaut haben). Das heißt natürlich, dass ich nichts in den Quellcode schreiben darf was man später ausnutzen kann (weil dies würde die Sicherheit schwächen).

Leider lernt man an der Universität oder Ausbildung sogut wie nichts über Sicherheit, die schon beim Design der Software ansetzt. Dies sind relativ neue Forschungen und die Ausbildungskräfte bilden sich nicht gut genug fort als das sie darüber Kenntnisse hätten. Für Wirtschaftsinformatiker scheint es wichtiger zu sein, dass sie profitabel sind und nicht sicheren Quellcode schreiben (blöder Kapitalismus).

Was ist hier das Problem?

Am oben gezeigten Quellcode sieht man, dass getestet wird. So was nennt man Test-Driven-Development und das ist zunächst etwas Gutes. Der Quellcode wird vor dem "Build" also dem zusammenbauen als fertige App zunächst automatisiert getestet und wenn ein Test fehlschlägt wird der "Build" abgebrochen, sodass der Fehler korrigiert werden muss. Der Fehler kann wenn er durch den Test erkannt wird also nicht beim Endbenutzer auftauchen.

Wie man aber in Teil 2 oben sieht kann man mit den Testdaten Prüfungen in der App umgehen und dadurch mehr Rechte erhalten. Noch viel schlimmer ist, dass wir in Teil 2 sehen, das der "try"-Teil erst nach der Prüfung auf Testdaten startet. "Try" ist für die Fehlerbehandlung zuständig und das bedeutet ich kann mit Testdaten die App in einen undefinierten Zustand bringen, weil es keine Fehlerbehandlung gibt. Diese undefinierten Zustände können Hacker häufig für Exploits ausnutzen.

Insgesamt also alles sehr schlecht!

Wie kann ich das besser machen?

1) Compilerflags - Mit Compilerflags kann ich verhindern, das bestimmte Programmteile in der produktiven App landen. Vereinfacht gesagt ich baue mir eine Testversion und wenn die funktioniert dann baue ich mir eine Produktivversion wo die Testfunktionen nicht enthalten sind. Großer Nachteil dieser Methode ist, das Programmierer gelegentlich vergessen, die Testfunktionen richtig rauszulöschen mit den Flags weil sie zu sehr unter Druck stehen und dann Fehler machen. So ist es häufiger schon passiert, dass unbeabsichtigt Testfunktionen doch im Produktivsystem gelandet sind. Ein weiteres Problem ist wenn Fehler nicht in der Testversion auftreten aber im Produktivsystem weil es anders gebaut wurde. Dann sind wahrscheinlich irgendwo die Compilerflags falsch gesetzt worden. Ein Fehler den man dann niemals machen darf, der aber schon passiert ist, ist, dass dann einfach die Testversion ausgeliefert wird in der Hoffnung, dass das niemand merkt.

2) Testflags verwenden - In der Testumgebung wird über die Konfiguration ein bestimmtes Flag gesetzt, sodass die Software weiß, dass sie im Testmodus ist. Nachteil ist, dass bösartige Hacker diese Flag auch in der Produktivumgebung setzen könnten.

3) So Testen, dass es keinen Unterschied macht (beste Lösung). Warum im Testsystem nicht mit anonymisierten oder pseudonymisierten Daten so testen wie unter echten Bedingungen? Meistens macht das etwas mehr Aufwand aber dafür hat man die Tests unter Echtbedingungen gemacht was den höchsten Wert hat. Keine Flags oder Funktionen im Quellcode die ausgenutzt werden könnten. #luca #software #testen #test #sicherheit #problem #bildung #entwicklung #verstädnis #lernen #hack #hacking #app #smartphone #gesundheit #corona #programm

Jochen boosted
Jochen boosted
Jochen boosted

Neulich hatten wir’s hier davon, jetzt gefunden:

»MARJORIE-WIKI ist ein Wiki der Artikel, die für (noch) nicht relevant in der Wikipedia eingestuft wurden.«

Hehehe…

marjorie-wiki.de/wiki/MARJORIE

Jochen boosted
Jochen boosted
Jochen boosted

**Elephant calf rescued from bottom of well in India**

"An elephant calf has been rescued from the bottom of a dug well in India's Odisha state."

bbc.co.uk/news/world-south-asi

#news #bot

Jochen boosted
Jochen boosted
Jochen boosted
Jochen boosted

Seeing stones : pandemic reveals Palantir's troubling reach in Europe

Covid has given Peter Thiel’s secretive US tech company new opportunities to operate in Europe in ways some campaigners find worrying

The 24 March, 2020 will be remembered by some for the news that Prince Charles tested positive for Covid and was isolating in Scotland. In Athens it was memorable as the day the traffic went silent. Twenty-four hours (...)
etraces.constantvzw.org/inform

Jochen boosted

Dieser Rundumschlag-Thread ist alles, was man zur #LucaApp gelesen haben muss. Merke: Datenschutz, Urheberrecht, Wettbewerbsrecht und so weiter sind non-functional requirements twitter.com/isotopp/status/138

Jochen boosted

Dear Spotify : don’t manipulate our emotions for profit

Today, Access Now sent a letter to Spotify calling on the company to abandon the technology underlying its recently granted speech-recognition patent because it presents grave privacy and security concerns. The always-on technology claims to be able to detect, among other things, “emotional state, gender, age, or accent” to recommend music.

Access Now’s major (...)
etraces.constantvzw.org/inform

Jochen boosted

The French army is testing Boston Dynamics’ robot dog Spot in combat scenarios

Spot appeared in research exercises alongside military students

Spot, the quadruped robot built by US firm Boston Dynamics, has appeared alongside soldiers during military exercises carried out by the French army. The robot was apparently being used for reconnaissance during a two-day training exercise, but the deployment raises questions (...)
etraces.constantvzw.org/inform

Show older
Mastodon

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!