0
Tải bản đầy đủ (.doc) (61 trang)

Một số loại worm phổ biến

Một phần của tài liệu TIỂU LUẬN MÔN AN TOÀN THÔNG TIN TÌM HIỂU VỀ VIRUS, WORM, TROJAN, ZOMBIE (Trang 37 -37 )

1. Conficker

Conficker còn được biết đến với tên Downup, Downadup và Kido là một loại sâu máy tính nhắm đến hệ điều hành Microsoft Windows, được phát hiện lần đầu tiên vào tháng 10 năm 2008. Biến thể đầu tiên của sâu này lan truyền qua Internet nhờ khai thác một lỗ hổng trong chồng mạng của Windows 2000, Windows XP, Windows Vista, Windows Server 2003, Windows Server 2008, Windows 7 Beta, và Windows Server 2008 R2 Beta vừa được khám phá vào tháng trước. Loại sâu này gây khó khăn một cách đáng ngạc nhiên cho các nhà điều hành mạng và cơ quan thực thi luật pháp vì nó sử dụng phối hợp nhiều loại kỹ thuật phần mềm độc hại (malware) tiên tiến với nhau.

Mặc dù nguồn gốc của từ Conficker còn chưa được chắc chắn, các chuyên gia Internet và nhiều người khác suy đoán nó là một từ kết hợp bằng tiếng Đức giữa chữ configure và chữ ficken, một từ chửi thề trong tiếng Đức. Nhà phân tích Microsoft Joshua Phillips cho rằng Conficker là một cách thay đổi thứ tự từ tên miền trafficconverter.biz.

Trung tâm an ninh mạng Bách Khoa Bkis tại Việt Nam đã thông báo rằng họ tìm thấy bằng chứng rằng Conficker có nguồn gốc từ Trung Quốc.

Triệu chứng

- Quy định khóa tài khoản bị tự động tái tạo.

- Một số dịch vụ của Microsoft Windows như tự động cập nhật (Automatic Updates), Background Intelligent Transfer Service (BITS), Windows Defender và Error Reporting Services bị tắt.

- Nghẽn mạng nội bộ.

- Các web site liên quan đến phần mềm diệt virus hay dịch vụ cập nhật của hệ Windows(Windows Update) đều không truy cập được.

Hoạt động

Người ta đã biết đến năm biến thể chính của sâu Conficker và đặt tên cho chúng là Conficker A, B, C, D và E. Chúng lần lượt được phát hiện vào các ngày 21 tháng 11 năm 2008, 29 tháng 12 năm 2008, 20 tháng 2 năm 2009, 4 tháng 3 năm 2009 và 7 tháng 4 năm 2009.

Lây nhiễm ban đầu

Các biến thể A, B, C và E khai thác lỗ hổng trong Dịch vụ Server của các máy tính chạy Windows, trong đó một máy tính nguồn đã bị nhiễm sẽ gửi yêu cầu được che chắn kỹ thông qua gọi thủ tục từ xa để gây ra tràn bộ đệm và thực thi mã dòng lệnh (shellcode) trên máy tính đích. Trên máy tính nguồn, sâu này chạy một HTTP server trên một cổng nằm trong khoảng 1024 đến 10000; mã dòng lệnh đích sẽ kết nối ngược lại với HTTP server này để tải một bản sao của sâu dưới dạng DLL, rồi sau đó đính nó vào svchost.exe. Các biến thể B trở về sau có thể đính nó vào một tiến trình services.exe hoặc Windows Explorer.

Biến thể B và C có thể thực thi các bản sao của chúng từ xa thông qua ADMIN$ share trên các máy tính có thể nhìn thấy nhau qua NetBIOS. Nếu thư mục chia sẻ được bảo vệ bằng mật khẩu, chúng sẽ cố gắng thực hiện tấn công vét cạn, có khả năng tạo ra lưu lượng mạng rất lớn và làm thay đổi quy định khóa tài khoản người dùng.

Biến thể B và C đặt một bản sao ở dạng DLL lên bất kỳ thiết bị tháo lắp được (như ổ USB flash), từ đó chúng có thể lây nhiễm sang các máy chủ mới thông qua cơ chế Windows AutoRun.

Để tự kích hoạt khi khởi động hệ thống, sâu này lưu một bản sao ở dạng DLL của nó vào một tập tin ngẫu nhiên trong thư mục hệ thống Windows, sau đó thêm vào các khóa registry để bắt svchost.exe khởi động DLL đó như một dịch vụ mạng ẩn.

Truyền nhận dữ liệu qua mạng

Sâu Conficker có một số cơ chế để đẩy hoặc kéo các dữ liệu thực thi được qua mạng. Những dữ liệu này được sâu sử dụng để tự cập nhật lên biến thể mới hơn, và để cài đặt thêm các phần mềm độc hại.

Biến thể A tạo ra một danh sách gồm 250 tên miền hàng ngày với năm Tên miền cấp cao nhất (TLD). Tên miền đựoc tạo ra từ một bộ tạo số ngẫu nhiên ảo được lấy mầm từ ngày tháng hiện tại để đảm bảo rằng một bản sao của sâu đều tạo ra cùng một tên cho mỗi ngày. Sau đó sâu sẽ tạo ra một kết nối HTTP đến lần lượt mỗi tên miền, đợi truyền về một lượng dữ liệu đã ký.

Biến thể B tăng số tên miền cấp cao nhất lên 8, và thay đổi bộ tạo số để tạo ra giao giữa các tên miền do A sinh ra

Để chống lại việc sử dụng tên miền ngẫu nhiên ảo của sâu, ICANN và một vài cơ quan đăng ký tiên miền cấp cao nhất đã bắt đầu phối hợp ngăn chặn các cuộc truyền tải và đăng ký đối với các tên miền này. Biến thể D chống lại điều này bằng cách hàng ngày tạo ra một kho gồm 50000 tên miền trên khắp 110 tên miền cấp cao nhất, từ đó nó chọn ngẫu nhiên ra 500 tên để kết nối vào ngày hôm đó. Các tên miền tạo ra cũng được rút ngắn từ 8-11 ký tự còn 4-9 ký tự để khó dò ra bằng heuristic hơn. Cơ chế đẩy mới này (bị tắt cho tới ngày 1 tháng 4) dường như không truyền được dữ liệu sang hơn 1% máy chủ bị nhiễm mỗi ngày, mà nó hy vọng đã hoạt động như một cơ chế gieo mầm cho mạng ngang hàng của sâu. Tuy nhiên các tên tạo ra ngắn hơn được cho rằng hàng ngày sẽ va phải từ 150-200 tên miền hiện có, có khả năng gây ra tấn công DDoS trên các site đang giữ tên miền đó.

Biến thể C tạo ra một ống tên, qua đó nó có thể đẩy URL có chứa dữ liệu có thể tải về sang các máy chủ bị nhiễm khác trên mạng LAN.

Biến thể B, C và E thực hiện một miếng vá bên trong bộ nhớ vào các DLL có liên quan đến NetBIOS để đóng MS08-067 và theo dõi các nỗ lực tái lây nhiễm thông qua cùng lỗ hổng này. Việc cho phép tái lây nhiễm bởi các phiên bản mới hơn của Conficker đã biến lỗ hổng thành một cửa hậu lây nhiễm một cách hiệu quả.

Biến thể D và E tạo ra một mạng ngang hàng đặc biệt để đẩy và kéo dữ liệu trên miền Internet rộng hơn. Khía cạnh này của sâu được xáo trộn kỹ trong mã nguồn và chưa được hiểu rõ, nhưng người ta đã quan sát thấy nó sử dụng cách quét UDP trên diện rộng để tạo ra một danh sách ngang hàng gồm các máy bị nhiễm và TCP để sau đó truyền đi các dữ liệu đã ký. Để khiến cho việc phân tích trở nên khó khăn hơn, các cổng kết nối còn bị băm từ địa chỉ IP của mỗi máy ngang hàng.

Che chắn

Để ngăn không cho dữ liệu bị xâm nhập, dữ liệu của biến thể A được băm MD6, mã hóa RC4 dùng hàm băm 512-bit làm khóa rồi sau đó ký lên hàm băm bằng một khóa RSA 1024-bit. Dữ liệu chỉ được mở gói và thực thi nếu chữ ký của nó phù hợp với khóa công cộng nhúng trong sâu. Biến thể B trở về sau tăng kích thước khóa RSA lên 4096 bit.

Tự bảo vệ

Biến thể C của sâu tái tạo các điểm System Restore và tắt một số dịch vụ hệ thống như Windows Automatic Update, Windows Security Center, Windows Defender và Windows Error Reporting. Các tiến trình trùng với một danh sách cho trước gồm các công cụ chống virus, chẩn đoán hay vá hệ thống đều bị theo dõi và tắt hẳn. Nó cũng sử dụng một miếng vá bên trong bộ nhớ cho DLL resolver hệ thống để khóa việc tra cứu tên máy chủ liên quan đến các hãng phần mềm diệt virus và dịch vụ Windows Update.

Kết thúc hoạt động

Biến thể E của sâu là biến thể đầu tiên sử dụng căn cứ là các máy tính bị nhiễm Conficker với mục đích kín đáo. Nó tải về và cài đặt hai gói dữ liệu bổ sung:

Waledac, một spambot khác nổi tiếng vì lan truyền qua các tập tin đính kèm qua thư điện tử. Waledac hoạt động tương tự như sâu Storm năm 2008 và được tin là có cùng tác giả viết nên.

Tự động phát hiện

Vào ngày 27 tháng 3 năm 2009, nhà nghiên cứu bảo mật Dan Kaminsky đã khám phá ra rằng các máy chủ nhiễm Conficker có một chữ ký có teher tìm ra được khi quét từ xa. Bản cập nhật chữ ký cho một số ứng dụng quét mạng máy tính đã được cung cấp trong đó có NMap và Nessus.

Gỡ bỏ

Vào ngày 15 tháng 10 năm 2008, Microsoft đã phát hành một bản vá khẩn cấp không theo lịch trình đối với lỗ hổng S08-067, lỗi mà sâu khai thác để phát tán. Bản vá này chỉ áp dụng cho Windows XP SP 2, Windows XP SP 3, Windows 2000 SP4 và Windows Vista;

Windows XP SP 1 trở về trước không còn được hỗ trợ.

Microsoft từ đó đã phát hành một hướng dẫn gỡ bỏ sâu, và khuyến cáo sử dụng bản phát hành mới nhất của Malicious Software Removal Tool của hãng để loại bỏ sâu, rồi sau đó áp dụng miếng vá để ngăn việc tái lây nhiễm.

Dựa vào các thông tin về cách thức tấn công, cơ ché tự bảo vệ và cơ chế update của Conficker thì chúng ta có những giải pháp sau để ngăn chặn và tiêu diệt Conficker.

 Với Password nên đặt các mật khẩu có độ an toàn tin cậy cao.  Với chế độ logon của user nên đặt 5 lần Logon Fail sẽ phải chờ.  Update Windows và các chương trình diệt Virus định kỳ và liên tục.  Cập nhật bản vá của Windows theo một địa chỉ đáng tin cậy.

Conflicker vốn thực chất được cấy những thuật toán hết sức tinh xảo, tạo ra những chuỗi ký tự thay đổi theo thời gian, sâu này đã tạo ra một số tên miền định sẵn thay đổi theo ngày và

theo đó để cập nhật. Điều này giúp tin tặc có thể cập nhật nhanh chóng phiên bản, đồng thời vận chuyển dữ liệu đánh cắp được mỗi lần đến một địa chỉ khác nhau để dễ xóa dấu vết.

Khi được kích hoạt, Conficker sẽ khóa một số dịch vụ hệ thống như Windows Automatic Update, Windows Security Center, Windows Defender, and Windows Error Reporting. Kế đến, Conficker kết nối đến một máy chủ chứa mã độc để tải các loại mã độc khác cài đặt lên máy tính nạn nhân.

Conficker.e (biến thể mới của Conficker) được bổ sung thêm khả năng kết nối với các PC bị lây nhiễm khác thông qua kết nối chia sẻ ngang hàng P2P nhằm giúp chúng có thể thuận tiện cập nhật phiên bản mới và mã lệnh tấn công lên mọi PC bị lây nhiễm ngay cả trong trường hợp máy chủ bị tiêu diệt đồng thời đẩy nhanh tốc độ phát tán biến thể mới.

Conficker.e không đi một mình mà nó còn kéo theo một "hội đồng" nhiều phần mềm độc hại khác cùng tấn công PC với mục đích giúp nó nhanh chóng đạt được mục đích tấn công nhanh nhất. Trong "hội đồng" tấn công lần này có mặt Waledac. Đây là một dạng mã độc BOT chuyên "bắt cóc" và biến PC người dùng trở thành công cụ phát tán thư rác nổi tiếng trong vài tháng trở lại đây.

Một trong những nguyên nhân khiến Waledac nổi tiếng bởi nó được xem là phiên bản nâng cấp của con sâu máy tính khét tiếng về khả năng phát tán thư rác Storm. Cộng đồng bảo mật tin rằng những kẻ phát triển Waledac cũng nằm trong nhóm những đối tượng đã lập trình và điều khiển Storm.

Tương tự như Storm, một khi đột nhập thành công, Waledac cũng sẽ cài thêm một mã độc Trojan nhằm giúp tin tặc từ xa chiếm được quyền điều khiển và biến PC của người dùng trở thành một thành viên trong mạng BOTNET chuyên dụng phát tán thư rác.

Conficker.e còn kéo theo một phần mềm bảo mật giả mạo. Đây là loại phần mềm thường lừa người dùng bằng những cảnh báo bảo mật hay lây nhiễm mã độc giả mạo. Chúng sẽ

liên tục bung ra những cửa sổ pop-up cảnh báo chừng nào người dùng chấp nhận trả tiền cho chúng.

Không giống như biến thể Conficker.c, biến thể Conficker.e đã được khôi phục lại khả năng khai thác lỗi bảo mật nguy hiểm trong Windows như đã có trong biến thể đầu tiên. Thực tế Conficker.c chỉ là phiên bản nâng cấp trực tiếp lên các PC bị lây nhiễm chứ không chủ động lây nhiễm như biến thể Conficker.b.

Conflicker vốn thực chất được cấy những thuật toán hết sức tinh xảo, tạo ra những chuỗi ký tự thay đổi theo thời gian, sâu này đã tạo ra một số tên miền định sẵn thay đổi theo ngày và theo đó để cập nhật. Điều này giúp tin tặc có thể cập nhật nhanh chóng phiên bản, đồng thời vận chuyển dữ liệu đánh cắp được mỗi lần đến một địa chỉ khác nhau để dễ xóa dấu vết.

Khi được kích hoạt, Conficker sẽ khóa một số dịch vụ hệ thống như Windows Automatic Update, Windows Security Center, Windows Defender, and Windows Error Reporting. Kế đến, Conficker kết nối đến một máy chủ chứa mã độc để tải các loại mã độc khác cài đặt lên máy tính nạn nhân.

Conficker.e (biến thể mới của Conficker) được bổ sung thêm khả năng kết nối với các PC bị lây nhiễm khác thông qua kết nối chia sẻ ngang hàng P2P nhằm giúp chúng có thể thuận tiện cập nhật phiên bản mới và mã lệnh tấn công lên mọi PC bị lây nhiễm ngay cả trong trường hợp máy chủ bị tiêu diệt đồng thời đẩy nhanh tốc độ phát tán biến thể mới.

Conficker.e không đi một mình mà nó còn kéo theo một "hội đồng" nhiều phần mềm độc hại khác cùng tấn công PC với mục đích giúp nó nhanh chóng đạt được mục đích tấn công nhanh nhất. Trong "hội đồng" tấn công lần này có mặt Waledac. Đây là một dạng mã độc BOT chuyên "bắt cóc" và biến PC người dùng trở thành công cụ phát tán thư rác nổi tiếng trong vài tháng trở lại đây.

Một trong những nguyên nhân khiến Waledac nổi tiếng bởi nó được xem là phiên bản nâng cấp của con sâu máy tính khét tiếng về khả năng phát tán thư rác Storm. Cộng đồng bảo

mật tin rằng những kẻ phát triển Waledac cũng nằm trong nhóm những đối tượng đã lập trình và điều khiển Storm.

Tương tự như Storm, một khi đột nhập thành công, Waledac cũng sẽ cài thêm một mã độc Trojan nhằm giúp tin tặc từ xa chiếm được quyền điều khiển và biến PC của người dùng trở thành một thành viên trong mạng BOTNET chuyên dụng phát tán thư rác.

Conficker.e còn kéo theo một phần mềm bảo mật giả mạo. Đây là loại phần mềm thường lừa người dùng bằng những cảnh báo bảo mật hay lây nhiễm mã độc giả mạo. Chúng sẽ liên tục bung ra những cửa sổ pop-up cảnh báo chừng nào người dùng chấp nhận trả tiền cho chúng.

Không giống như biến thể Conficker.c, biến thể Conficker.e đã được khôi phục lại khả năng khai thác lỗi bảo mật nguy hiểm trong Windows như đã có trong biến thể đầu tiên. Thực tế Conficker.c chỉ là phiên bản nâng cấp trực tiếp lên các PC bị lây nhiễm chứ không chủ động lây nhiễm như biến thể Conficker.b.

2. Net-Worm.Win32.Kido.bt

Ngày phát hiện: 02/01/2009 Chi tiết kỹ thuật

Con Worm này lây lan thông qua mạng local và thiết bị lưu trữ di động như USB. Nó thực chất là một file PE DLL. Dung lượng của nó vào khoảng 155KB đến 165 KB. Nó được đóng gói bằng UPX.

Cài đặt

Nó copy file thực thi của nó đến thư mục hệ thống của Windows như sau:

%System%\<rnd>.dll

Đồng thời nó tạo ra một dịch vụ để đảm bảo nó sẽ được kích hoạt mỗi khi Windows khởi động trên hệ thống của nạn nhân. Các khóa registry sau sẽ được tạo ra:

[HKLM\SYSTEM\CurrentControlSet\Services\netsvcs]

Nó cũng thay đổi giá trị registry sau:

[HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost] “netsvcs” = “<original value> %System%\<rnd>.dll”

Sự lây lan trên mạng

Khi tiêm nhiễm vào máy tính, nó sẽ kích hoạt HTTP server trên một cổng TCP ngẫu nhiên. Cổng này sau đó sẽ được sử dụng để tải file thực thi của con worm này đến một máy tính khác.

Nó sẽ lấy địa chỉ IP của những máy tính trên cùng mạng và tấn công chúng thông qua lỗi tràn bộ đệm trên dịch vụ Server.

Một phần của tài liệu TIỂU LUẬN MÔN AN TOÀN THÔNG TIN TÌM HIỂU VỀ VIRUS, WORM, TROJAN, ZOMBIE (Trang 37 -37 )

×