"Nếu loại bỏ mọi công nghệ xuất hiện trong hình này, khoảng 80% vấn đề bảo mật máy tính sẽ được giải quyết"
(twitter.com/matthew_d_green)- Sơ đồ về chuỗi tấn công nhiều tầng, lần lượt lạm dụng nhiều định dạng tệp và tính năng Windows legacy như OOXML, RTF, OLE, CHM, VBScript để cuối cùng đi tới PEAPOD Payload
- OOXML được lưu trữ từ xa gọi afchunk.rtf nhúng bên trong, và OLE Objects trong đó là điểm khởi phát cho việc liên kết tới tài nguyên bên ngoài và rò rỉ thông tin xác thực
- Trong quá trình tấn công, NTLM Credentials được gửi tới SMB Server do kẻ tấn công kiểm soát, rồi đi qua tệp
.search-msvà tệp ZIP được ghi vào%LocalAppData%, tạo thành đường dẫn để triển khai tệp độc hại - Nếu loại bỏ mọi công nghệ trong hình, khoảng 80% vấn đề bảo mật sẽ được giải quyết, và Windows về thực chất là một "lớp tương thích phần mềm độc hại cho mọi thứ"
- Chẩn đoán tưởng như mâu thuẫn nhưng vẫn có thể cùng đúng: Microsoft không thể gỡ bỏ công nghệ legacy vì những lý do kinh doanh chính đáng, đồng thời trên stack này thì không một hệ thống giá trị cao nào có thể thực sự an toàn
Giai đoạn 1 — Xâm nhập qua tài liệu và rò rỉ thông tin xác thực
- Tài liệu OOXML được lưu trữ từ xa tải afchunk.rtf nhúng thông qua XML
- Bên trong afchunk.rtf có hai OLE Objects, đóng vai trò là điểm phân nhánh cho kết nối ngoài và đánh cắp thông tin xác thực
- OLE Objects kết nối tới liên kết
/MSHTML_C7/start.xml - OLE Objects kéo NTLM Credentials ra và gửi tới SMB Server do kẻ tấn công kiểm soát
- OLE Objects kết nối tới liên kết
file001.urlcũng trỏ tới cùng SMB Server đó
Giai đoạn 2 — Đi qua XSLT và iframe
/MSHTML_C7/start.xmldẫn tớistart.xmlở định dạng XSLT- start.xml (XSLT) kết nối tới RFile.asp
- RFile.asp tạo ra hai iframe, và các iframe này tiếp tục kết nối tới SMB Server do kẻ tấn công kiểm soát
Giai đoạn 3 — Phân phối tệp qua SMB Server
- SMB Server phân phối
[somehex]_file001.htm [somehex]_file001.htmdẫn tới tệp .search-ms, và tệp này kích hoạt một ZIP được ghi vào%LocalAppData%[somehex]_file001.htmcũng rẽ sangredir_obj.htm, và redir_obj.htm tải1111.htm
Giai đoạn 4 — Giải nén ZIP và thực thi payload
- Bên trong ZIP được ghi vào
%LocalAppData%có2222.chmvà1111.htm 2222.chmtảifile1.mhtfile1.mht→fileH.htm→ Downloader VBScript- Downloader VBScript cuối cùng thực thi PEAPOD Payload
Phê phán cốt lõi — Công nghệ Windows legacy và bảo mật
- Lập luận rằng nếu loại bỏ mọi công nghệ xuất hiện trong hình, khoảng 80% vấn đề bảo mật máy tính sẽ được giải quyết
- Cách diễn đạt rằng Windows đang đóng vai trò như một "lớp tương thích phần mềm độc hại cho mọi thứ" (
malware compatibility layer) - Đồng thời đúng cả hai điều: Microsoft không thể loại bỏ các công nghệ legacy này vì lý do kinh doanh chính đáng, và chừng nào còn chạy trên stack này thì không hệ thống giá trị cao nào có thể an toàn
- Dựa trên trải nghiệm từng chứng kiến cách cấu hình PLC system "airgapped" trong nhà máy, tác giả thấy nhẹ nhõm vì kinetic cyberwarfare gây thiệt hại vật lý không phải là điều đang diễn ra ngoài đời thực
1 bình luận
Ý kiến trên Hacker News
Nền tảng càng mạnh cho nhiều mục đích thì phần mềm độc hại càng tất yếu xuất hiện
Lý do phần mềm độc hại nhắm vào người dùng phổ thông ít nhắm tới desktop Linux hơn là vì thị phần của nó chỉ khoảng 3%, nên nhắm vào desktop Windows để tiếp cận nhiều người dùng hơn sẽ hiệu quả hơn
Lựa chọn khác chỉ là biến máy tính về cơ bản thành một chiếc điện thoại cao cấp, tức một thiết bị tiêu thụ nội dung bị khóa chặt, đưa mọi thứ vào sandbox và tước quyền làm các việc “xấu”
Tất nhiên theo dõi người dùng là ngoại lệ, vì công ty làm hệ điều hành cũng bán quảng cáo
Chưa phải hoàn hảo, nhưng rốt cuộc vấn đề không nằm ở độ phổ biến mà là ở thiết kế phần mềm thiếu an toàn, và vẫn còn nhiều chỗ để cải thiện
macOS đang đi theo hướng này, còn Qubes là một ví dụ cấp tiến hơn
Tương lai của điện toán desktop rất có thể sẽ là mọi thứ chạy trong máy ảo riêng của nó
Linux được dùng cực kỳ rộng rãi trên điện thoại dưới dạng Android, và điện thoại là mục tiêu hấp dẫn ngang desktop, thậm chí có lẽ còn hấp dẫn hơn hiện nay
Phần mềm độc hại trên di động có tồn tại nhưng hiếm hơn nhiều và cũng khó kiếm hơn
Cách cài phần mềm trên Linux hoàn toàn khác Windows, và để khiến người dùng chạy một khối nhị phân thì cần khá nhiều công sức
Thậm chí người ta còn cho rằng phân phối bằng container dễ hơn là bằng một file nhị phân được biên dịch cho từng desktop cụ thể
Nếu nhìn ra ngoài desktop thì Linux có mặt khắp thế giới máy chủ, là hệ điều hành phổ biến nhất để chạy phần mềm máy chủ nên là mục tiêu rất có giá trị với hacker
Có lẽ không gì hấp dẫn bằng việc chiếm quyền máy chủ ngân hàng
Nói rằng không hề có yếu tố nào khiến Linux an toàn hơn Windows về bản chất thì hơi thiếu thực tế
Hệ Unix ngay từ đầu đã được thiết kế với môi trường đa người dùng, nên quyền người dùng đã được tích hợp vào dòng chảy chung suốt hàng chục năm, riêng điều đó thôi cũng tạo ra một lớp bảo mật lớn khiến rootkit hay sâu máy tính cần quyền root khó thành công hơn
Windows 9x~XP đời cũ về cơ bản trao quyền quản trị cho tất cả mọi người, và việc ghi hoặc thay thế DLL trong system32 là chuyện dễ dàng
Muốn tấn công Linux thì phải lừa người dùng chạy thứ gì đó với quyền nâng cao, hoặc tìm lỗ hổng trong phần mềm đang chạy với quyền root
Còn muốn tấn công Windows đời cũ thì chỉ cần khiến người dùng chạy phần mềm của tôi là đủ
Trên di động thì Android, tức Linux, là hệ lớn nhất, và tính theo người dùng cuối còn lớn hơn cả Windows
Thế nhưng không thấy có nhiều lời than phiền về phần mềm độc hại trên Android như trên Windows
Tôi không cho rằng Microsoft bất tài trong bảo mật Windows, nhưng về mặt lịch sử đã có những quyết định thiết kế tạo ra vấn đề
win9x không có cơ chế cô lập tiến trình, dù i386 khi đó đã làm được, và mọi người lại kỳ vọng các chương trình cũ vẫn tiếp tục chạy trên WinXP dùng kernel NT
Việc phân phối phần mềm tập trung trên Windows là chuyện tương đối mới nếu so với apt đã có từ năm 1998, và những chi tiết nhỏ như ẩn phần mở rộng file cũng khiến Windows trở thành mục tiêu dễ hơn so với ChromeOS, iOS, Android, macOS và GNU/Linux
Tôi nhớ câu “nếu Linux phổ biến như Windows thì nhà phát triển phần mềm độc hại sẽ nhắm vào nó”, nhưng nếu nhìn vào smart TV, hệ thống thông tin giải trí, máy chủ, siêu máy tính, hệ thống nhúng và di động, đặc biệt là Android, thì Linux đã lớn hơn Windows từ rất lâu rồi
Tôi không nghĩ thị phần desktop thấp là lý do chính khiến nó có ít phần mềm độc hại hơn
https://gs.statcounter.com/os-market-share#monthly-202206-20...
Linux có rất nhiều gói phần mềm nên bề mặt tấn công rộng, nhưng phần lõi lại cực kỳ mở nên nhận được nhiều sự chú ý và nhiều cặp mắt xem xét
Lỗ hổng thường được vá khá nhanh, và các phiên bản Linux cùng các gói GNU trên thực tế đang vận hành gần như toàn bộ Internet nên động cơ xâm nhập là hoàn toàn đủ lớn
Ngoài ra trên Linux cũng dễ nhận ra hơn nhiều khi một tiến trình đang làm điều nó không nên làm, và cũng dễ soi vào bên trong để xem chuyện gì đang xảy ra
Trên Windows, vấn đề bảo mật lớn nhất đến giờ vẫn là sự kết hợp giữa ẩn phần mở rộng theo mặc định và thiếu bit quyền thực thi
Điều này khiến kẻ tấn công quá dễ tạo ra tệp thực thi độc hại mang biểu tượng tài liệu Word hoặc biểu tượng của một định dạng tệp quen thuộc, còn người dùng phổ thông thì hầu như không có cách nào nhận ra rủi ro
Nếu có bit quyền thực thi, một file exe đến từ nơi đáng ngờ sẽ không thể cứ thế chạy mà không cần được cấp quyền
Nếu phần mở rộng được hiển thị mặc định, ngay cả người dùng biết chút ít cũng có thể nhìn ra nguy hiểm
Windows vốn đã hiện rất nhiều thông báo, nên chỉ cần thêm một cảnh báo khi nhấp đúp lần đầu kiểu “đây là tệp thực thi, hãy cẩn thận” thôi cũng sẽ giúp ích rất nhiều
Với các tệp nhị phân tải từ trình duyệt, hệ thống lại gắn thuộc tính mở rộng “có thể không an toàn” để hiện cảnh báo khi mở lần đầu, tức là hướng làm hiện tại đang bị ngược
Mọi tệp nhị phân đều nên bị cảnh báo cho đến khi được gắn thuộc tính “người dùng đã nhận thức rủi ro”
Vì vậy, để phát tán mã độc, kẻ tấn công phải dùng các đường vòng phiền phức như máy chủ SMB trên Internet do chúng kiểm soát để phát tán tệp thực thi
Ngoài ra, Windows ACL cũng có quyền thực thi theo từng đối tượng liên quan tới người dùng, nhóm và chính sách
Mặc định quyền này được bật cho các tệp thực thi có thể đọc được, nhưng không hề có ràng buộc nào ngăn việc biến tệp thực thi thành không thể chạy
Hơn nữa, gần như mọi tệp thực thi mặc định đều hiện một cảnh báo khổng lồ kiểu “đang cố lây nhiễm máy tính của bạn, giết thú cưng và hiến tế trẻ em cho quỷ Satan”
Có thể tắt đi, nhưng trong đa số trường hợp nó vẫn đang bật
Vì thế, kẻ tấn công thường lợi dụng tác dụng phụ của các trường hợp bên lề như nhúng RTF OLE hoặc wrapper CHM/MHT
Một nửa biểu đồ này cũng có thể hoạt động trên macOS hoặc Linux được cấu hình cho môi trường doanh nghiệp
Phần lớn chỉ là trình duyệt và ứng dụng văn phòng đang làm đúng công việc của chúng
Điểm mấu chốt là, cho đến đoạn cuối khi thoát khỏi sandbox và script tải payload thực sự xuống, thì trong ngữ cảnh hệ điều hành vẫn chưa có mã thực sự có thể thực thi
Người dùng phải tự gỡ chặn thủ công
Có thể ai đó đã tắt tính năng này
Nhiều người tắt nó vì quá phiền khi phải cấp quyền cho gần như mọi thứ tải từ Internet
Trình duyệt mặc định cảnh báo trước khi tải xuống, SmartScreen hỏi khi chạy ứng dụng chưa được xác minh, và UAC lại hỏi thêm một lần nữa ở bước cuối
Trên thực tế, ở nhiều nơi người ta còn cấu hình cấm thực thi trên toàn bộ hồ sơ người dùng
Ngày nay trên Windows, malware thậm chí còn không phải yếu tố tệ nhất
Windows về cơ bản là một cỗ máy telemetry có thể tải về được, là một chiếc xe go-kart spyware có màn hình đăng nhập
Khi không hành xử như nhân viên chèo kéo ở quầy trung tâm thương mại để bán đủ thứ hàng hóa và rác rưởi được chọn ra nhờ giám sát người dùng, thì nó lại gaslight bạn như người yêu cũ độc hại rằng bạn không “cần” một trình duyệt mới
Mỗi lần nâng cấp là lại phải cầu mong phần cứng tương thích
Redmond dồn cùng một nguồn năng lượng không biết mệt vào việc thuyết phục rằng chiếc PC 5 năm tuổi vẫn chạy tốt của bạn đã “quá cũ”, đồng thời nhắc bạn nhìn sang cái app store hoang tàn như thị trấn ma cùng sân chơi microtransaction của họ
Ngay cả khi bạn xoay xở cài được Chrome, phần lớn ứng dụng cũng sẽ không nhớ tùy chọn mặc định đó được bao lâu một khi Microsoft phát hiện ra sở thích chưa được bộ phận marketing phê duyệt
Windows lảo đảo đi qua các gian hàng như một tên hề zombie trong lễ hội ma, khiến người ta khó chịu chỉ vì sự hiện diện của nó, rồi lại quay về chiếc lều xiếc của nước Mỹ doanh nghiệp
Có lẽ giờ đó gần như là nơi duy nhất còn khán giả chào đón Windows
Màn hình desktop tạo cảm giác như một ga Subway bị dán kín quảng cáo luật sư rẻ tiền và hình vẽ bậy khắp nơi, thực sự rất kinh tởm
Điều gây sốc là có quá nhiều tổ hợp nút chỉ để dẫn tới popup bắt dùng một sản phẩm Microsoft khác mà bạn chẳng cần
Thật khó tin là nó đã tệ đến mức này
Cần có một giải pháp thay thế Windows cho người dùng phổ thông
Đây chính là một sự lạc đề chung chung
Bài viết nói về bảo mật máy tính, không liên quan đến trải nghiệm thù địch với người dùng của Windows
Windows là một lớp tương thích malware cho mọi thứ
Windows NT và mọi phiên bản Windows sau đó đều có các cơ chế kiểm soát bảo mật từ VMS, nên sở hữu nhiều kiểm soát bảo mật hơn gần như bất kỳ hệ điều hành nào khác
Nhưng để giảm ma sát và tăng mức độ chấp nhận, phần lớn chúng đã bị vô hiệu hóa hoặc làm suy yếu
Trên Linux, các cơ chế kiểm soát bảo mật mặc định cũng bị nới lỏng, nhưng vì Linux vào thị trường muộn hơn và không phải môi trường chỉ việc bấm là chạy như Windows, nên giai đoạn đầu với người dùng không chuyên có nhiều ma sát hơn
Đây cũng không chỉ là vấn đề của cơ chế kiểm soát bảo mật
Cả Windows lẫn Linux đều mặc định cho phép overcommit bộ nhớ, điều có thể ảnh hưởng tới độ ổn định nhưng lại có lợi cho việc thu hút nhà phát triển
Tất cả những thứ này đều có thể được siết chặt, nhưng sẽ có nguy cơ làm hỏng các ứng dụng được viết dựa trên hành vi mặc định
Như người khác đã nói, Windows là mục tiêu mặc định vì có tỷ lệ chấp nhận và mức độ sử dụng cao nhất
Nếu một ngày nào đó Linux vượt lên, sự quan tâm của các tác giả malware cũng sẽ tăng theo
udev, binfmt mount, eBPF, systemd, và cách chúng đang gắn kết với nhau hiện nay vẫn còn rất nhiều vector tấn công chưa được khám phá
Nếu game trên Linux tiếp tục cải thiện với tốc độ hiện tại, có khi điều đó sẽ đến sớm hơn người ta nghĩ
Các nền tảng game thường được viết dựa trên hành vi mặc định hoặc trông chờ quyền nâng cao, khiến việc hardening hệ điều hành không còn là một lựa chọn, và cũng không nhiều người sẵn sàng mua hẳn một cỗ máy chơi game riêng chỉ để tách nó khỏi thiết bị dùng cho thuế, ngân hàng, email và mạng xã hội
Lúc đầu tôi tưởng tweet này nói về các ngôn ngữ không an toàn bộ nhớ như C, C++ và trình biên dịch JIT của trình duyệt web
Vì nội dung là “nếu loại bỏ tất cả công nghệ xuất hiện trong hình này thì sẽ giải quyết được khoảng 80% vấn đề bảo mật máy tính”
Chromium nói rằng “khoảng 70% lỗi bảo mật nghiêm trọng là vấn đề an toàn bộ nhớ, tức là lỗi con trỏ C/C++, và một nửa trong số đó là lỗi use-after-free”
https://www.chromium.org/Home/chromium-security/memory-safet...
Microsoft cũng nói rằng “khoảng 70% lỗ hổng được gán CVE mỗi năm vẫn là các vấn đề an toàn bộ nhớ”
https://msrc.microsoft.com/blog/2019/07/a-proactive-approach...
Tiêu đề trên HN cũng là tiêu đề đã biên tập lại từ bản gốc
Nếu tôi nhớ không nhầm thì họ đang thử nghiệm vật thay thế DLL đầu tiên dựa trên Rust, và để chuyển được dù chỉ một nửa cũng có thể sẽ mất khá nhiều thời gian
Phần lớn malware lợi dụng theo logic các chức năng phổ biến sẵn có trong hệ điều hành
Tôi không nghĩ có thể nói là “bảo mật máy tính sẽ được giải quyết khoảng 80%”
Chúng sẽ chuyển sang dùng vector tấn công khác, và nếu chặn được phần lớn đường tấn công thì rốt cuộc ta sẽ tới các hệ điều hành smartphone gần như không có quyền gì và bị theo dõi ở quy mô lớn
Dù vậy malware vẫn có thể tràn lan
https://www.bleepingcomputer.com/news/security/apps-with-15m...
Căn nguyên của tất cả chuyện này là khả năng tương thích ngược, và nó thực sự rất khó xử lý
Trong một thế giới lý tưởng, mỗi khi cần phá vỡ tính tương thích thì người ta sẽ cung cấp tài liệu đồ sộ và làm cho việc migration bớt đau đớn nhất có thể
Nhưng có một vấn đề nhỏ là phần mềm bị bỏ hoang
Hiện nay đáng ngạc nhiên là có rất nhiều trường hợp phần mềm mà không còn ai biết nó hoạt động ra sao lại vẫn cần cho công việc quan trọng
Có nên coi là bất hợp pháp việc doanh nghiệp và các tổ chức gần khu vực công vận hành bằng phần mềm độc quyền mà không ai chủ động bảo trì và cũng chẳng có hợp đồng hỗ trợ nào không
MHTML giải quyết một vấn đề có thật, còn VBScript thì giống bash nhưng khác cách nói mà thôi
Nhúng OLE là một ý tưởng tuyệt vời, dù đáng tiếc là giờ không còn được dùng tốt
Có thể đặt bảng tính vào trong tài liệu văn bản mà không cần mấy trò hack bảng biểu kỳ quặc là một ý tưởng hay
Macro VBA đang vận hành nhiều doanh nghiệp hơn cả bất kỳ startup nào
Các file trợ giúp CHM thực sự rất tuyệt, và đáng tiếc là chúng bị thay bằng những website tệ hại khiến bạn phải phụ thuộc vào Google nếu thực sự muốn tìm gì đó
Việc không chỉ lưu mà còn có thể chia sẻ các kết quả tìm kiếm phức tạp cũng là một ý tưởng hay, nhưng đã không được quảng bá đủ
Tính năng gửi file để có thể tìm “những bức ảnh tôi chụp bằng máy ảnh của mình từ tháng 8 đến tháng 9 năm ngoái” là một ý tưởng hay vì bạn không phải gửi cả album ảnh độc quyền
Dù có nói gì về sự phụ thuộc độc quyền và các thực tiễn kinh doanh tệ hại, Microsoft vẫn có những ý tưởng xuất sắc mà các hệ điều hành cạnh tranh chỉ theo kịp sau nhiều năm hoặc nhiều thập kỷ
Trong phần lớn sản phẩm cạnh tranh, vẫn chưa thể nhúng tài liệu dễ và hiệu quả như Microsoft Office
Những tính năng này không bị bỏ đi; hàng triệu người trên khắp thế giới vẫn đang dùng chúng
Microsoft cần cải thiện thiết lập công cụ để phát hiện mã thực thi tốt hơn
VBScript ở cuối chuỗi lẽ ra không nên được thực thi
Phần lớn các công cụ “legacy” khác nếu biến mất chỉ vì khả năng có malware thì sẽ rất đáng tiếc
Có VM, DOSBox, Wine, v.v.
Khoảng 10 năm trước tôi phát hiện ra rằng một quy trình quan trọng chạy trên mọi máy trong các cửa hàng Home Depot phụ thuộc vào một chương trình tên là Batchman
Batchman là một tiện ích nhập liệu đánh máy từng xuất hiện trên PC Magazine năm 1989
Nếu phá vỡ tính tương thích thì sẽ có ai đó phải tái tạo lại quy trình đã âm thầm chạy suốt hàng chục năm đó
Không ai trong đội HD từng làm việc cùng tôi đã từng nhìn thấy đoạn mã đó, cũng không biết Batchman là gì hay nó làm gì
Stack phổ biến nhất lúc nào cũng trở thành mục tiêu ưa thích của malware
Nếu một nền tảng khác chiếm 90% con mồi, thật khó tin là nó lại không trở thành nạn nhân áp đảo của malware
Nhân tiện, tôi từng làm nhân viên tuyến đầu xử lý gỡ bỏ malware vào những năm 80, và mục tiêu chính khi đó là Apple Mac trong các phòng máy đại học
Loại malware thông minh nhất mà bạn từng gỡ bỏ hồi đó là gì
Chẳng phải điều đó giống như nói rằng “nếu vứt bỏ lịch sử thì vấn đề sẽ giảm đi rất nhiều” sao
Nhưng lịch sử là thứ có tồn tại thật
Và mỗi lần tôi bấm vào liên kết Twitter thì lại hiện “đã xảy ra sự cố” rồi phải tải lại; đây là Twitter hiện đại à
Vậy nên xét theo tiêu chuẩn hiện đại thì vừa đúng mà cũng vừa không
https://nitter.net/matthew_d_green/status/167913542680678400...