Stories
Slash Boxes
Comments

SoylentNews is people

posted by janrinok on Thursday July 07 2022, @04:22PM   Printer-friendly
from the black-cats-creep-across-my-path dept.

Microsoft security researchers have discovered new variants of the one-year-old Hive ransomware that was written in the Go programming language but has been re-written in Rust:

Hive emerged in June 2021 and was spotlighted by the FBI in an alert two months later. In November, European electronics retail giant MediaMarkt also got stung by Hive. It's another ransomware-as-a-service (RaaS) double-extortion gang that has recently been targeting vulnerable Microsoft Exchange Servers, vulnerable RDP servers, compromised VPN credentials, and phishing to deploy their ransomware and steal leak-worthy information.

Hive's Rust migration has been underway for a few months as it adopted lessons from BlackCat ransomware, which is also written in Rust. Via BleepingComputer, Group-IB researchers in March found that Hive had converted its Linux encryptor (for targeting VMware ESXi servers) to Rust to make it harder for security researchers to spy on its ransom talks with victims.

Microsoft's analysis indicates that Hive's Rust rewrite is much more comprehensive, but backs up the importance of the change to its encryption methods noted in March.

[...] "Instead of embedding an encrypted key in each file that it encrypts, it generates two sets of keys in memory, uses them to encrypt files, and then encrypts and writes the sets to the root of the drive it encrypts, both with .key extension," Microsoft notes.


Original Submission

This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
(1)
  • (Score: 3, Offtopic) by canopic jug on Thursday July 07 2022, @05:06PM

    by canopic jug (3949) Subscriber Badge on Thursday July 07 2022, @05:06PM (#1258719) Journal

    That's not possible. The CoC does not allow that kind of activity.

    --
    Money is not free speech. Elections should not be auctions.
  • (Score: 4, Funny) by ilsa on Thursday July 07 2022, @06:52PM (9 children)

    by ilsa (6082) Subscriber Badge on Thursday July 07 2022, @06:52PM (#1258741)

    Now if only legitimate software could rise to this level of code quality.

    • (Score: 2) by turgid on Thursday July 07 2022, @07:29PM (8 children)

      by turgid (4318) Subscriber Badge on Thursday July 07 2022, @07:29PM (#1258749) Journal

      I haven't looked at Rust much, but how does it compare to Ada?

      • (Score: 3, Informative) by HiThere on Thursday July 07 2022, @08:18PM (7 children)

        by HiThere (866) on Thursday July 07 2022, @08:18PM (#1258761) Journal

        Rust it a bit easier to use, and the compiler is smaller.

        --
        Javascript is what you use to allow unknown third parties to run software you have no idea about on your computer.
        • (Score: 0) by Anonymous Coward on Saturday July 09 2022, @05:02PM (6 children)

          by Anonymous Coward on Saturday July 09 2022, @05:02PM (#1259197)

          It may produce smaller binaries, but it currently hogs too much memory to even compile itself on x86 (not x86_64) anymore, which means you need to expect a lot more memory usage as well as build time for something that may offer diminishing returns.

          While a lot of its features appealed to me, losing access to multiple generations of hardware that now require hosted builds is a non-starter for me.

          • (Score: 2) by ilsa on Monday July 11 2022, @12:20PM (5 children)

            by ilsa (6082) Subscriber Badge on Monday July 11 2022, @12:20PM (#1259740)

            Do you have any details on this? Cause this is exactly the opposite of what I understand about Rust. Rust binaries should be similar to and possibly smaller, than C binaries thanks to the reduced checking code.

            And I can't parse your second paragraph at all. What hosted builds?

            • (Score: 2) by janrinok on Monday July 11 2022, @12:34PM (2 children)

              by janrinok (52) Subscriber Badge on Monday July 11 2022, @12:34PM (#1259745) Journal
              I think the point he was making is that he has a some x86 (not x86-64) hardware which is still serviceable and in use for some roles. However, if will not allow the compilation of Rust binaries so they would have to be compiled on x86-64 hardware and then moved across.
              • (Score: 2) by ilsa on Tuesday July 12 2022, @03:22PM (1 child)

                by ilsa (6082) Subscriber Badge on Tuesday July 12 2022, @03:22PM (#1260165)

                If that's the case, they need to look at implementing toolchains in rust. It is entirely possible for rust to cross-compile to a non-x64 target. As a general rule, if you can do it in C, you can do it in Rust.

                • (Score: 2) by janrinok on Tuesday July 12 2022, @03:44PM

                  by janrinok (52) Subscriber Badge on Tuesday July 12 2022, @03:44PM (#1260170) Journal
                  Yes, but he doesn't WANT to cross-compile. He would like to be able to use the x86 hardware to compile x86 code.
            • (Score: 2) by turgid on Tuesday July 12 2022, @08:34PM (1 child)

              by turgid (4318) Subscriber Badge on Tuesday July 12 2022, @08:34PM (#1260275) Journal

              "The compiler is smaller" to me tells me that the compiler itself is simpler and "the binaries are smaller" tells me that the machine code that comes out of the compiler (ie my program turned into binary) is smaller and probably more efficient. It doesn't say that the compiler uses less memory when it is running (doing the compiling). In fact, it kind of implies that the compiler uses more memory because, by implication, it is doing more work.

              • (Score: 2) by ilsa on Thursday July 14 2022, @12:27PM

                by ilsa (6082) Subscriber Badge on Thursday July 14 2022, @12:27PM (#1260783)

                I can't comment on compiler size because I don't know enough either way, but Rust does have some very interesting particularities that, logically, implies why the binaries are smaller.

                Rust is one of the few languages out there (I think someone mentioned Ada being another) that enforces the concept of memory ownership. You can't just change whatever variable you want willy nilly. If you try to modify a variable out of turn, you will get a compiler error. Not a warning, but an outright error.

                Additionally, Rust enforces certain code safety patterns, such as when you are doing a switch statement against a value, you are _required_ to handle against every possible value it can contain. If you don't, it's another compiler error.

                There are other smart things they've done but between those two things above, Rust has completely eliminated entire classes of programming errors, and a large amount of boilerplate runtime checking code that typically needs to be included in the final binary is no longer needed.

                Rust, IMO, is the single most innovative language designed in the last 20 years, and is the critical successor to C that we've been waiting for.

(1)