Posts
34
Following
65
Followers
9
Freelancer, Python, Debian, Infosec
@dickenhobelix Das hatten wir mit der letzten Meile der Telekom aber auch mal. Uns wurde zwar gesagt, dass ein Auftrag an den Tiefbau aufgegeben wurde, aber wann die das erledigen, war unklar. Die Leitung funktionierte generell, nur bei viel Regenfall war die Verbindung - wohl wegen einer Kabelbeschädigung - schlecht. Der Tiefbau-Subunternehmer fing dann eines Morgens ohne jede weitere Vorabinfo einfach an, das Kabel komplett zu tauschen. Sie meinten auch, ohne jede Abstimmung mit dem Hauseigentümer eine neue Bohrung ins Haus machen zu dürfen.
0
0
1

@shortridge While working tech support, I got a call on a Monday. Some VPNs which had been working on Friday were no longer working. After a little digging, we found the negotiation was failing due to a certificate validation failure.

The certificate validation was failing because the system couldn’t check the certificate revocation list (CRL).

The system couldn’t check the CRL because it was too big. The software doing the validation only allocated 512kB to store the CRL, and it was bigger than that. This is from a private certificate authority, though, and 512kB is a *LOT* of revoked certificates. Shouldn’t be possible for this environment to hit within a human lifespan.

Turns out the CRL was nearly a megabyte! What gives? We check the certificate authority, and it’s revoking and reissuing every single certificate it has signed once per second.

The revocations say all the certificates (including the certificate authority’s) are expired. We check the expiration date of the certificate authority, and it’s set to some time in 1910. What? It was around here I started to suspect what had happened.

The certificate authority isn’t valid before some time in 2037. It was waking up every second, seeing the current date was after the expiration date and reissuing everything. But time is linear, so it doesn’t make sense to reissue an expired certificate with an earlier not-valid-before date, so it reissued all the certs with the same dates and went to sleep. One second later, it woke up and did the whole process over again. But why the clearly invalid dates on the CA?

The CA operation log was packed with revocations and reissues, but I eventually found the reissues which changed the validity dates of the CA’s certificate. Sure enough, it reissued itself in 2037 and the expiration date was set to 2037 plus ten years, which fell victim to the 2038 limitation. But it’s not 2037, so why did the system think it was?

The OS running the CA was set to sync with NTP every 120 seconds, and it used a really bad NTP client which blindly set the time to whatever the NTP server gave it. No sanity checking, no drifting. Just get the time, set the time. OS logs showed most of the time, the clock adjustment was a fraction of a second. Then some time on Saturday, there was an adjustment of tens of thousands of seconds forward. The next adjustment was hundreds of thousands of seconds forward. Tens of millions of seconds forward. Eventually it hit billions of seconds backwards, taking the system clock back to 1904 or so. The NTP server was racing forward through the 32-bit timestamp space.

At some point, the NTP server handed out a date in 2037 which was after the CA’s expiration. It reissued itself as I described above, and a date math bug resulted in a cert which expired before it was valid. So now we have an explanation for the CRL being so huge. On to the NTP server!

Turns out they had an NTP “appliance” with a radio clock (i.e, a CDMA radio, GPS receiver, etc.). Whoever built it had done so in a really questionable way. It seems it had a faulty internal clock which was very fast. If it lost upstream time for a while, then reacquired it after the internal clock had accumulated a whole extra second, the server didn’t let itself step backwards or extend the duration of a second. The math it used to correct its internal clock somehow resulted in dramatically shortening the duration of a second until it wrapped in 2038 and eventually ended up at the correct time.

Ultimately found three issues:
• An OS with an overly-simplistic NTP client
• A certificate authority with a bad date math system
• An NTP server with design issues and bad hardware

Edit: The popularity of this story has me thinking about it some more.

The 2038 problem happens because when the first bit of a 32-bit value is 1 and you use it as a signed integer, it’s interpreted as a negative number in 2’s complement representation. But C has no protection from treating the same value as signed in some contexts and unsigned in others. If you start with a signed 32-bit integer with the value -1, it is represented in memory as 0xFFFFFFFF. If you then use it as an unsigned integer, it becomes the value 4,294,967,296.

I bet the NTP box subtracted the internal clock’s seconds from the radio clock’s seconds as signed integers (getting -1 seconds), then treated it as an unsigned integer when figuring out how to adjust the tick rate. It suddenly thought the clock was four billion seconds behind, so it really has to sprint forward to catch up!

In my experience, the most baffling behavior is almost always caused by very small mistakes. This small mistake would explain the behavior.

13
13
1

Zero Trust Environments

8
18
2

Voices of Open Source: The European regulators listened to the Open Source communities! https://blog.opensource.org/the-european-regulators-listened-to-the-open-source-communities/
Open Source Entwickler doch nicht für Sicherheitslücken (etc) in ihrer Software haftbar wie kommerzielle Entwickler. Das war auch *extrem* weltfremd.

1
2
1
@mirabilos Thunfischbrot essend gesendet ...
1
0
0

Im Fall „Modern Solution“-Hacking (haha) hat der verurteilte „Hacker“ (haha) Berufung eingelegt.

1
2
1
@mirabilos Sieht aus, wie eine Bild-für-Bild-Erklärung für Yoga oder so. Bild 3: Und jetzt die Position so 10 Sekunden halten ...
0
0
2
@mirabilos Dieweil: Katzi sitzt auf meinem Laptop, will Aufmerksamkeit und wundert sich, dass ich auch auf externer Tastatur weiter tippen kann *g*
0
1
2
@mirabilos Laut der Nachbarin hatte er ein Zuhause bis zum 5. oder 6. Lebensmonat. Gute Voraussetzung, wieder eine Art Hauskater zu werden.
0
0
2
@mirabilos So langsam wird er kontaktfreudig
1
0
2
@mirabilos ok, das ist schon eine Art Kompliment, denke ich :-D
1
0
1
@mirabilos Krass, also im nicht ausgestreckten Zustand bestimmt doppelt so lang.
1
0
1

Harald now @ treehouse.systems

IT rant
Show content

25 years ago, my mentor at uni showed me how to interrupt autoconfig runs at just the right time so the generated scripts that yielded wrong results wouldn't be deleted and we could check and fix them.

Today, a friend looks for just the right time to intercept Ansible Tower execution environments so he can debug the podman containers that yield wrong results and fail a deployment.

25 years of "progress" and we still run into the same terrible stuff.

0
3
1
@mirabilos Ist das Čara auf dem 2. Bild? Die weiße Raute rechts neben dem Tisch + Stuhl?
1
0
0
@mirabilos @Erik2485 @keinzahnkatzen 😹 und zusätzlich noch einen Schirm hinten befestigen.
1
0
2
@bfdi Dazu fällt mir ein, dass es sicher auch für die Gewinnung von IT-Fachkräften für Projekte, die Sicherheitsüberprüfungen (Ü1, U2) usw. erfordern, hilfreich wäre, wenn transparenter gemacht würde, was warum durch wen geprüft wird. Ich als Freelancer jedenfalls war durch die Formulare und Recherche bisher nicht so aufgeklärt, dass ich einer solchen Überprüfung informiert hätte zustimmen können und habe daher bisher solche Projekte immer abgelehnt.
1
0
0
@marhei Ich schaue seither in Übersichtsportalen oder Google-Maps und kontaktiere ggf. das Hotel direkt, wenn sie keine Buchung auf der eigenen Webseite haben. Aber bin auch nicht mehr so oft unterwegs, wie früher.
0
0
0
Edited 10 months ago
@marhei Vor einiger Zeit hatte ich mein booking-Konto geschlossen, weil sie genauso wenig hilfreich waren, als ein Hotel einen Tag vor Anreise die Reservierung stornierte, weil sie angeblich die Vorprüfung auf der Kreditkarten nicht machen konnten (obwohl ich die Prüfung sogar im Kontoverlauf der Kreditkarte sehen konnte). Daher musste ich kurz vor knapp sehr viel teurer eine Alternative woanders buchen. Als Antwort kommt immer nur der Standard-Kram, ein ehrliches Bemühen, das Problem zu analysieren, habe ich nicht erkennen können (vielleicht gibt's ja tatsächlich bei einigen Kartenanbietern technische Probleme).
0
0
1

SkepticatTheDemocrat🥥🌴💙

Someday, I'm going to need one of these. 😸

9
8
1

who needs a clapper when you got a booper

3
5
1
Show older