Inside Cyber Warfare - Chương X: Vũ khí hóa mã độc (Phần 1)

WhiteHat Team

Administrators
Thành viên BQT
09/04/2020
85
553 bài viết
Inside Cyber Warfare - Chương X: Vũ khí hóa mã độc (Phần 1)

Viễn cảnh nguy cơ mới​

Có quá nhiều mối đe dọa đang trỗi dậy nhằm vào các mạng máy tính đến mức để có cái nhìn tổng quan thì lại nằm ngoài phạm vi của cuốn sách này. Thay vào đó, chương này đề cập đến các hình thức tấn công khác nhau được sử dụng trong chiến tranh mạng và gián điệp mạng, cũng như một số cải tiến có thể là đặc biệt nguy hiểm với những mục tiêu có giá trị cao như các hệ thống SCADA hay các mạng lưới bí mật trong ngành công nghiệp quốc phòng (bao gồm cả các hệ thống của chính phủ và nhà thầu).

whitehat-r6.jpg

Các cuộc thảo luận về mã độc trên diễn đàn StopGeorgia.ru​

Phần lớn việc trao đổi trên diễn đàn StopGeorgia.ru thiên về các chiến thuật và công cụ DDoS (tấn công từ chối dịch vụ phân tán) truyền thống, nhưng các chiến thuật thú vị hơn cả lại được tập trung thảo luận về việc lạm dụng các lỗ hổng trong lớp ứng dụng nhằm tận dụng các quy trình lưu trữ SQL để tiêu hao tài nguyên CPU.

Bằng việc lạm dụng các lỗ hổng này (như tiêm nhiễm SQL), các hệ thống thông tin của Gruzia có thể bị vô hiệu bằng cách sử dụng một số lượng nhỏ các máy tấn công. Trong khi các cuộc tấn công DDoS truyền thống nhằm vào các website “khỏe mạnh” có thể cần đến hàng nghìn các bot (máy tính bị chiếm quyền điều khiển) cùng một lúc tấn công vào máy chủ mục tiêu, thì việc khai thác lỗ hổng tiêm nhiễm SQL đòi hỏi chỉ cần một vài máy tấn công để đạt được hiệu quả tương tự.

Việc tìm ra và khai thác các lỗ hổng tại lớp ứng dụng này chứng tỏ sự tinh vi về mặt kỹ thuật chỉ ở mức trung bình nhưng quan trọng hơn, nó còn cho thấy việc lên kế hoạch, tổ chức, trinh sát mục tiêu và sự đổi mới của các cuộc tấn công.

Việc “trình làng” các cuộc tấn công tiêm nhiễm SQL kết hợp tấn công DoS là đáng báo động vì nhiều lý do:
  • Các cuộc tấn công tiêm nhiễm SQL chứng tỏ rằng tất cả các dữ liệu được lưu trữ trong cơ sở dữ liệu backend (phần lập trình trên máy chủ) có thể bị đánh cắp hoặc thay thế. Thông tin này có thể được sử dụng làm cơ sở cho các cuộc tấn công và thu thập tình báo sau này nhằm vào các ứng dụng web có liên quan. Những kẻ tấn công vào cơ sở dữ liệu backend qua tiêm nhiễm SQL có thể truy cập đến tổ hợp tên người dùng và mật khẩu hợp lệ, cho phép chúng giả mạo người dùng hợp pháp, cung cấp một nguồn liên tục để thu thập thông tin tình báo. Đây thực sự là hồi chuông cảnh báo cho các hệ thống có tên miền là .gov.ge nơi việc tái sử dụng mật khẩu hoặc các lỗ hổng khác có thể dẫn đến xâm phạm các hệ thống dễ bị ảnh hưởng khác hoặc gây thất thoát thông tin nhạy cảm.
  • Trong một vài trường hợp, các cuộc tấn công tiêm nhiễm SQL có thể được sử dụng nhằm xâm nhập không chỉ thông tin được lưu trữ trong cơ sở dữ liệu backdend mà còn vào các máy lưu trữ cơ sở dữ liệu. Điều này là kết quả của việc xâm nhập vào cơ sở hạ tầng nội bộ của các tổ chức.
  • Một khi hệ thống cơ bản bị xâm phạm, nó có thể bị lợi dụng làm bàn đạp cho các cuộc tấn công tiếp theo nhắm vào mạng lưới nội bộ của tổ chức. Xét đến thực trạng an ninh yếu kém của hệ thống nội bộ trong phần lớn các tổ chức thì một kẻ tấn công với trình độ “vừa phải” có thể sử dụng máy chủ cơ sở dữ liệu bị xâm phạm giành quyền truy cập vào một lượng thông tin nội bộ đáng kể. Một lần nữa, vấn đề này đặc biệt đáng báo động cho các hệ thống tên miền gov.ge hoặc các ứng dụng có thể có quyền truy cập vào các hệ thống nhạy cảm khác.
  • Cuối cùng, phát hiện một cuộc tấn công tiêm nhiễm SQL có chủ đích được thiết kế để đánh cắp dữ liệu hoặc xâm phạm hệ thống cơ sở xuyên suốt một cuộc tấn công DDoS truyền thống và có tính hệ thống là cực kỳ khó, đặc biệt nếu có cả các cuộc tấn công tiêm nhiễm lệnh SQL được thiết kế riêng để gây ra tình trạng DoS.

Tiêm nhiễm SQL, tiêm nhiễm SQL mù và sử dụng BENCHMARK​

Tiêm nhiễm SQL (SQL injection) là kỹ thuật tấn công lợi dụng các phương pháp mã hóa ứng dụng kém an toàn. Nếu một ứng dụng không cung cấp xác thực đúng với các tham số đầu vào do người dùng cung cấp, kẻ tấn công có thể nhúng các lệnh SQL kèm các tham số truyền từ ứng dụng web đến cơ sở dữ liệu backend.

Kết quả là kẻ tấn công có thể thực thi các truy vấn SQL tùy ý và/hoặc các lệnh trên máy chủ cơ sở dữ liệu backend, lấy ứng dụng web làm cơ chế phân phối. Tiêm nhiễm SQL là vấn đề ứng dụng nghiêm trọng và thường dẫn đến việc thất thoát tất cả các dữ liệu được lưu trữ trong cơ sở dữ liệu và xâm phạm hệ thống chứa cơ sở dữ liệu.

Nếu tin tặc phát hiện lỗ hổng tiêm nhiễm SQL trên một website, nhưng lỗ hổng này không trả về bất kỳ dữ liệu nào có thể đọc được, thì được gọi là tiêm nhiễm lệnh SQL “mù”. Lỗ hổng này thực hiện một truy vấn SQL do kẻ tấn công kiểm soát trên cơ sở dữ liệu backend nhưng không có chỉ số nào thể hiện liệu truy vấn bị tiêm nhiễm thực sự thành công hay thất bại.

Tin tặc đã chuyển sang quy trình được lưu trữ sử dụng hàm BENCHMARK (vì việc tiêm nhiễm SQL nhằm vào cơ sở dữ liệu MySQL) để kiểm tra một vài chỉ số xem liệu truy vấn SQL bị lây nhiễm có thành công hay không. Bằng cách chèn vào một mệnh đề Boolean (chỉ có giá trị True hoặc False) trong tiêm nhiễm SQL mù, tin tặc có thể tạo một tiêm nhiễm SQL theo một cách riêng để nếu truy vấn thành công (và chỉ khi thành công), cơ sở dữ liệu sẽ chạy truy vấn BENCHMARK.

Các truy vấn sử dụng hàm BENCHMARK mà hacker lựa chọn là CPU-intensive (làm tiêu hao tài nguyên CPU), thường là các hàm mã hóa chạy hàng nghìn lần. Vì các truy vấn BENCHMARK này mất thời gian để hoàn thành nên phần backend sẽ ở trạng thái “ngừng hoạt động” cho đến khi BENCHMARK hoàn tất quá trình của mình. Nếu tin tặc phát động tấn công tiêm nhiễm SQL blind bằng một hàm BENCHMARK làm tiêu hao tài nguyên CPU và ứng dụng dừng hoạt động trong vài giây trước khi hiển thị trang, đó là lúc tin tặc biết rằng cách tấn công SQL injection của chúng đã thành công. Ngược lại, nếu ứng dụng ngay lập tức hiển thị trang đồng nghĩa với việc tiêm nhiễm SQL đã thất bại.

Hiện tại, các kỹ thuật cụ thể được đưa ra trên diễn đàn StopGeorgia.ru khá mới lạ so với các kỹ thuật khai thác lỗ hổng tiêm nhiễm lệnh SQL thường thấy. Một vài poster trên diễn đàn gợi ý sử dụng quy trình lưu trữ dùng hàm BENCHMARK để tiêu hao lượng lớn các chu kỳ CPU trên cơ sở dữ liệu backend. BENCHMARK là kỹ thuật phổ biến trong tiêm nhiễm SQL blind, nhưng dùng kỹ thuật này để cố tình tạo ra một cuộc tấn công DoS là khá hiếm.

Diễn đàn đưa ra giả thuyết kẻ tấn công sử dụng các lỗ hổng tiêm nhiễm SQL để gọi một tác vụ CPU-intensive (các hàm mã hóa được tích hợp sẵn) cho cơ sở dữ liệu backend để thực thi hàng trăm nghìn lần. Một đài đăng cho rằng nên sử dụng các BENCHMARK được lồng vào nhau, mỗi BENCHMARK chạy 100.000 lần (tương đương với 100.000 x 100.000 hay vào khoảng 10.000.000.000 lần)! Những truy vấn này đơn giản tiêu thụ CPU cho hệ thống lưu trữ cơ sở dữ liệu (thường đó là máy chủ web).

Bằng cách sử dụng hàm BENCHMARK, chỉ một truy vấn web có thể tăng tải đáng kể trên máy chủ cơ sở dữ liệu và trong hầu hết các trường hợp chỉ một máy tính duy nhất cũng có thể khiến máy chủ cơ sở dữ liệu không hoạt động. Các điểm tiêm nhiễm SQL đã được xác định trên các diễn đàn cũng như quan sát trong các bản ghi log máy chủ web được thu thập. Không còn phải nghi ngờ gì nữa, tiêm nhiễm SQL đã được sử dụng trong các cuộc tấn công nhằm vào các máy chủ của Gruzia.

Quy trình lưu trữ sử dụng hàm BENCHMARK dành riêng cho cơ sở dữ liệu MySQL nhưng những cơ sở dữ liệu thông dụng khác cũng có chức năng tương tự. Các kỹ thuật đặc thù khác được đề cập trên cả hai diễn đàn nhằm làm hỏng hoặc truy cập bất hợp pháp vào các máy bao gồm:
  • Thường xuyên kiểm tra tình trạng máy chủ qua lệnh ping -t <host> -i<interval>
  • Dùng tiêm nhiễm SQL qua một chuỗi truy vấn được lọc đầu vào không đúng cách
  • Các cuộc tấn công brute-force
  • Tấn công phi kỹ thuật để chiếm mật khẩu

Nguồn: Inside Cyber Warfare
Tác giả: Jeffrey Carr
 
Chỉnh sửa lần cuối:
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
  • Thích
Reactions: Vampires1607
Thẻ
inside cyber warfare vũ khí hóa mã độc weaponizing malware
Bên trên