Kwetsbaarheid in Apache Log4j 2

Eind vorige week is een ernstige kwetsbaarheid gevonden in de Log4j 2-tool die binnen Java applicaties gebruikt wordt om bepaalde informatie te loggen. Doordat deze tool veelvuldig gebruikt wordt verwacht men op korte termijn uitbuiting van dit lek.

Gebruik ik applicaties die gebruik maken van Log4j 2?

Dit is ongetwijfeld de eerste vraag. Wij zijn bij de eerste bekendmaking direct gestart met het inventariseren van applicaties op servers die bij ons in beheer zijn. Bij klanten waarbij Java applicaties actief zijn én deze tool actief staat, ondernemen wij direct actie en nemen wij direct telefonisch contact op met de technische contactpersoon binnen de organisatie.

De kwetsbaarheid doet zich voor onder de volgende voorwaarden: 

  • De server is direct benaderbaar vanaf het internet.
  • De server draait een Java applicatie die toegankelijk is vanaf het internet.
  • De Log4J V2 module is ingeschakeld binnen de applicatie.

Servers en applicatie die niet door Dutchwyse beheerd worden

Zijn er servers en/of applicaties binnen je organisatie die niet door Dutchwyse beheerd worden? Neem dan zo snel mogelijk contact op met de beheerder van de server en/of leverancier van de applicatie om navraag toe doen naar de kwetsbaarheid. Indien nodig kan Dutchwyse ondersteunen bij het doorvoeren van (nood)patches of het uitschakelen van Log4j2.

Vraag en antwoord.

Wat is een logger:
Een logger is een stukje aanvullende software dat acties van een softwareapplicatie vastlegt in een bestand op een computer. Men gebruikt loggers om te kunnen controleren of de software alles doet wat het zou moeten doen en te kunnen troubleshooten bij problemen.

De Log4J library is een logging-applicatie die veelvuldig in gebruik is binnen Java applicaties. Java is een programmeertaal die draait op ongeveer 3 miljard apparaten wereldwijd waaronder webservers, pinautomaten, speelkasten, mobiele telefoons enzovoort.

  • Software applicaties waarbij de Log4J 2 module actief is en direct vanaf het internet benaderbaar zijn, zijn kwetsbaar.

Log4J doet meer dan loggen:
De logging-applicatie zou simpelweg alle door een applicatie uitgevoerde acties moeten wegschrijven naar een logbestand op de harde schijf (loggen), maar bij Log4j gebeuren er een aantal zaken voordat het vastleggen daadwerkelijk begint.

Een van de taken is het opsporen van patronen zoals ${vandaag} en het zelfstandig invullen van deze velden. In dit geval met de datum- en tijd van vandaag ${13_12_2021:08:30) Het doel is om de logbestanden duidelijk leesbaar te maken en te voorzien van generieke data.

 

De kwetsbaarheid:
Het probleem is dat een aanvaller dit systeem kan misleiden en op afstand het systeem kan sturen door deze te instrueren om bepaalde waarden extern op te halen. In plaats van de datum- en tijd uit de klok van de server zelf kan de aanvaller vertellen om een “waarde” op te halen vanaf “http://badsoftware.ru/hackmemaar.exe”.

Door de kwetsbaarheid zal het systeem deze instructie volgen waardoor het systeem zelf de malafide software zal downloaden en uitvoeren op de server waarop de applicatie draait.

Hiermee kunnen kwaadwillenden malafide software installeren op een server en zichzelf zo toegang verschaffen tot de gevoelige data.

De veiligheidswaarscshuwing geldt voor alle apparatuur (servers, werkstations, netwerkapparatuur) waarop Java applicaties actief zijn die vanaf het internet benaderbaar zijn. Binnen de Java applicaties moet de Log4j module actief zijn waarbij de kwetsbaarheid alleen geldt voor de versie 2 van de logger. Andere versies zijn niet kwetsbaar.

Omdat deze combinatie van eigenschappen specifiek is (maar wel veel voorkomt) doen wij een gedegen inventarisatie van netwerkapparatuur en servers die bij ons in beheer zijn.

  • Zodra wij de combinatie van eigenschappen aantreffen ondernemen wij direct actie.
  • Na het doorvoeren van updates nemen wij contact op

Wij nemen alleen contact op als wij de kwetsbaarheid aantreffen. Als u niets hoort hebben wij (nog) geen kwetsbaarheid gevonden.

  • Als de servers en/of werkstations Java applicaties draaien maar niet in ons beheer zijn, kunnen we deze niet op afstand contoleren.
  • Als je servers en/of werkstations extern in beheer zijn, neem dan contact op met de partij die het beheer heeft.
  • Als je de server en/of werkstations zelf beheert, neem dan contact op met de leverancier van de Java applicatie om te vragen naar een update of actieplan.

Vragen of ideeën?

Heb je vragen of ideeën naar aanleiding van dit artikel?
Laat het ons weten via onderstaand contactformulier.