mboost-dp1

Shutterstock

Flere hackinggrupper udnytter sårbarhed i Microsoft Exchange: 100.000 organisationer påvirket globalt

- Via Ars Technica - , indsendt af arne_v

Microsoft udrullede sikkerhedsløsning, men påvirkede systemer er stadig inficeret.

Flere end 100.000 organisationer globalt menes at være påvirket af et angreb, der udnyttede en sårbarhed i Microsoft Exchange.

Efter aktørerne skaffede sig adgang, har de stjålet administrator-kodeord.

Den kinesiske hackinggruppe Hafnium var mistænkt for at stå bag angrebet, men flere andre aktører har også udnyttet sårbarheden.

En patch der lukkede sårbarheden, er blevet frigivet af Microsoft. Dog gør patchen intet for at desinficere de systemer, der er påvirket.

Læs også: Donald Trumps konto blandt stjålet data i Gab-hack.

Exchange-servere er blevet kompromitteret med en webshell, der har gjort hackerne i stand til at fjernstyre de påvirkede systemer.

SolarWinds-hacket er blevet udråbt som verdens værste hackingangreb. Ars Technica skriver nu, at den udmærkelse kan overtages af dette angreb.





Gå til bund
Gravatar #1 - T_A
9. mar. 2021 12:34
Ufffff...
Gravatar #2 - AppleSheep
9. mar. 2021 14:23
Er det hackerne der er dygtige, eller MS der er dårlig til sikkerhed?
Gravatar #3 - arne_v
9. mar. 2021 14:29
#2

Formentligt mest det første.

Exchange og OWA er rigtigt mange linier kode. Statistisk set er det forventeligt at der er fejl i så stor en kode base. Når systemerne er tilgængeligt via internet (og det er OWA i sagens natur), så kan sikkerhedsfejl nemt udnyttes. Når systemerne indeholder værdifulde oplysninger så er der nogen som vil investere tid og penge i at finde sikkerhedshuller.
Gravatar #4 - AppleSheep
9. mar. 2021 14:33
arne_v (3) skrev:
#2

Formentligt mest det første.

Exchange og OWA er rigtigt mange linier kode. Statistisk set er det forventeligt at der er fejl i så stor en kode base. Når systemerne er tilgængeligt via internet (og det er OWA i sagens natur), så kan sikkerhedsfejl nemt udnyttes. Når systemerne indeholder værdifulde oplysninger så er der nogen som vil investere tid og penge i at finde sikkerhedshuller.


Det giver mening. Det vil vel også være utopi at tro at noget som helst system der er koblet på internettet er 100% sikkert?
Gravatar #5 - arne_v
9. mar. 2021 15:37
Gravatar #6 - arne_v
9. mar. 2021 15:42
#4

I teorien kan sådanne systemer godt laves sikre.

I praksis er det mest ved små systemer - ved store systemer slipper der nogle fejl igennem.

For dem som ikke selv programmerer tænk på det her: du sidder med 10 bøger af 500 sider stykket og du skal finde alle stavefejl i dem - hvad er sandsynligheden for at du faktisk finder alle stavefejl? Selvom man staver godt, så slipper der formentligt nogle fejl igennem.
Gravatar #7 - Skak2000
10. mar. 2021 08:06
#6
Glimrende sammenligning!
Gravatar #8 - larsp
10. mar. 2021 08:58
#6, #7 derfor findes der automatisk stavekontrol ;)

Moderne programmeringssprog bør kunne forbedre situationen. Utallige svagheder skyldes simple fodfejl som buffer-overruns i C kode. Sprog som rust kan finde den slags compile time.

Det gælder dog ikke alle fejl. Nogle gange laver man bare en tanketorsk i API design der kan udnyttes. Skal ikke kunne sige om det er tilfældet her.
Gravatar #9 - DrHouseDK
10. mar. 2021 12:23
Nu behøver OWA jo ikke være tilgængelig. ECP er alt rigeligt.
Gravatar #10 - syska
10. mar. 2021 13:05
larsp (8) skrev:
#6, #7 derfor findes der automatisk stavekontrol ;)

Moderne programmeringssprog bør kunne forbedre situationen. Utallige svagheder skyldes simple fodfejl som buffer-overruns i C kode. Sprog som rust kan finde den slags compile time.

Det gælder dog ikke alle fejl. Nogle gange laver man bare en tanketorsk i API design der kan udnyttes. Skal ikke kunne sige om det er tilfældet her.


Men selv med automatisk stavekontrol, er der stadig _ALT_ for mange fejl. En fejl er jo en fejl, selvom den er lille ... punktum, komma, etc.

Og ja, der er sikkert også fejl i vores sætninger :-)

Du skriver du selv så pænt her ... "forbedre", men ikke fjerne ...

Og ja, det er uden tvivl ting lavet på en mandag :-)
Gravatar #11 - arne_v
10. mar. 2021 13:50
Gravatar #12 - arne_v
10. mar. 2021 13:57
larsp (8) skrev:

#6, #7 derfor findes der automatisk stavekontrol ;)


Og det ækvivalente er automatic static og dynamic code analysis.

Men det finder ikke alt.

larsp (8) skrev:

Moderne programmeringssprog bør kunne forbedre situationen. Utallige svagheder skyldes simple fodfejl som buffer-overruns i C kode. Sprog som rust kan finde den slags compile time.


Korrekt.

Men udfra CVE'erne lyder det dog ikke som om Rust vill have hjulpet her.


CVE-2021-26855: CVSS 9.1: a Server Side Request Forgery (SSRF) vulnerability leading to crafted HTTP requests being sent by unauthenticated attackers. Servers need to be able to accept untrusted connections over port 443 for the bug to be triggered.
CVE-2021-26857: CVSS 7.8: an insecure deserialization vulnerability in the Exchange Unified Messaging Service, allowing arbitrary code deployment under SYSTEM. However, this vulnerability needs to be combined with another or stolen credentials must be used.
CVE-2021-26858: CVSS 7.8: a post-authentication arbitrary file write vulnerability to write to paths.
CVE-2021-27065: CVSS 7.8: a post-authentication arbitrary file write vulnerability to write to paths.


larsp (8) skrev:

Det gælder dog ikke alle fejl. Nogle gange laver man bare en tanketorsk i API design der kan udnyttes. Skal ikke kunne sige om det er tilfældet her.


Problemet er stadigvæk mængden af kode.

Jeg ved ikke om Exchange+OWA er 1 MLOC eller 10 MLOC, men den gamle tommelfinger regel om 1 fejl per 1000 linier kode vil betyde henholdsvis 1000 og 10000 fejl med de kode størrelser.

Mange fejl blev fundet i test. Mange fejl er fundet af kunderne gennem årene. Ikke alle fejl er sikkerhedsrelateret. Men det er ikke vildt overraskende at der er noget tilbage.
Gravatar #13 - arne_v
10. mar. 2021 14:01
#12

CVE-2021-26857 lyder mere som .NET kode end C++ kode,
Gravatar #14 - arne_v
11. mar. 2021 01:49
#13

Alle har vel hørt om buffer overflow og SQL injection, men måske er der nogen som ikke kender deserialization problematikken.

Ser den her kode sikker ud:


using System;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;

namespace Read
{
public class Program
{
public static void Main(string[] args)
{
BinaryFormatter binser = new BinaryFormatter();
using(Stream f = new FileStream("o.bin", FileMode.Open, FileAccess.Read))
{
object o = binser.Deserialize(f);
}
}
}
}


?

Det er den ikke.

:-)

C:\Work\serrisk>csc read.cs
Microsoft (R) Visual C# Compiler version 3.8.0-5.20519.18 (4c195c3a)
Copyright (C) Microsoft Corporation. All rights reserved.

C:\Work\serrisk>read
Maybe I should have deleted some files 1
Maybe I should have deleted some files 3


using System;
using System.Runtime.Serialization;

namespace SomeLib
{
[Serializable]
public class SomeClass : IDeserializationCallback
{
public string S { get; set; }
static SomeClass()
{
Console.WriteLine("Maybe I should have deleted some files 1");
}
public SomeClass()
{
Console.WriteLine("Maybe I should have deleted some files 2");
}
void IDeserializationCallback.OnDeserialization(Object sender)
{
Console.WriteLine("Maybe I should have deleted some files 3");
}
}
}


Gravatar #15 - arne_v
11. mar. 2021 01:56
#14

Det er ikke nogen hemmelighed.

MS er ret klare i docs.

https://docs.microsoft.com/en-us/dotnet/standard/s...


Warning

The BinaryFormatter type is dangerous and is not recommended for data processing. Applications should stop using BinaryFormatter as soon as possible, even if they believe the data they're processing to be trustworthy. BinaryFormatter is insecure and can't be made secure.

...

Warning

The BinaryFormatter.Deserialize method is never safe when used with untrusted input. We strongly recommend that consumers instead consider using one of the alternatives outlined later in this article.


Men mit gæt er at ikke alle har læst det!!
Gravatar #16 - Claus Jørgensen
11. mar. 2021 09:39
arne_v (12) skrev:
Jeg ved ikke om Exchange+OWA er 1 MLOC eller 10 MLOC, men den gamle tommelfinger regel om 1 fejl per 1000 linier kode vil betyde henholdsvis 1000 og 10000 fejl med de kode størrelser.
Sandsynligvis en del mere end 10 MLOC.

Det er et 24 år gammel product, hvilket betyder at kodenbasen er tættere på 30 år gammel.

Og Microsoft har ikke tradition for at rydde op i gammel kode.
Gravatar #17 - Claus Jørgensen
11. mar. 2021 09:40
#14, #15

ala. eval() problematikken i Javascript for nogle år siden. Det er heldigvis et mindre og mindre problem at folk bruger eval() til at konvertere json til faktiske objekter.
Gravatar #18 - arne_v
11. mar. 2021 12:56
#17

Det er det samme som at bruge eval til JSON, men der er alligevel en forskel - eval er beregnet til og alle er klar over at den udfører kode - det tricky ved mere dedikerede deserialiseringer er at det ikke er lige åbenlyst at der kan blive udført kode.
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login