Nhiều công cụ thương mại của phần mềm chống Virus, cũng như phát hiện các loại spyware, trojan, backdor và mã độc hại khác. Phần mềm này thường bao gồm chức năng là phát hiện và xóa bỏ malware, tất nhiên có nhiều cách thực hiện khi xóa bỏ. Bởi vì nhiều tập tin bị nhiễm bệnh có liên quan đến hệ thống, ví dụ như tập tin trong hệ điều hành, nếu xóa bỏ triệt để có thể làm cho hệ thống không hoạt động. Ngoài ra, các công cụ giám sát hoạt động cũng có ít trong việc phát hiện ra những chương trình lạ đang hoạt động trên máy. Điểm chính trong cơ chế hoạt động của Trojan và Backdor là cài đặt một chương trình trên máy tính. Vì thế cách tốt nhất để tránh nhiệm trojan là không nên cho phép user bình thường có được quyền cài đặt chương trình tùy ý.
Dưới đây là các khuyến cáo dành cho các bạn để phòng chống Trojan hiệu quả.
• Hạn chế sử dụng chung máy tính, cài đặt mật khẩu bảo vệ
• Không mở các tập tin lạ không rõ nguồn gốc, chú ý các file có đuôi mở rộng: exe, bat,com,…
• Không vào các trang web lạ, không click vào các đường link lạ
• Không cài đặt các phần mềm lạ
• Quét các port đang mở với các công cụ như Netstat, Fport, TCPView…
• Quét các tiến trình đang chạy với Process Viewer, What’s on my computer, Insider…
• Quét những thay đổi trong Registry với MsConfig, What’s running on my computer…
• Quét những hoạt động mạng với Ethereal, WireShark…
• Chạy các phần mềm diệt Trojan.
Một số công cụ giúp người sử dụng phát hiện trojan:
Fport sẽ tạo một bảng báo cáo về tình hình hoạt động của giao thức TCP/IP trong mạng, giúp chúng ta biết được những ứng dụng nào đang hoạt động kết nối đến internet.
TCPView là công cụ có sẵn trong Windows, cũng dùng để xem trạng thái hoạt động gói dữ liệu TCP hoặc UDP, bao gồm việc truy cập mạng, trao đổi dữ liệu, địa chỉ nguồn đích của gói tin.
Tripwire là công cụ dùng để tính bảng Hash cho tập tin. Tập tin ban đầu, qua sự tính toán của Tripware bằng một thuật toán nào đó, sẽ cho ra một dãy số. Bên nhận cũng dùng chương trình để tính toán lại cho tập tin nhận được. Nếu hai tập tin không trùng hash thì có thể nó đã bị đính kèm trojan.
PHẦN 3 WORM I. Lịch sử hình thành
Thực tế Worm đầu tiên được biết đến đầu trong cuốn tiểu thuyết ”The Shockwave Rider” 1975 của John Brunner’s.Trong cuốn tiểu thuyết đó, Nichlas Haflinger thiết kế ra với mục đích trả thù.
Ngày 2/11/1988 từ học viện MIT, Robert Tappan Morris một sinh viên tại Đại học Cornell đã phát tán sâu Morris.Theo tác giả, sâu Morris không được viết với mục đích gây thiệt hại mà chỉ đo kích thước của Internet. Tuy nhiên, một hậu quả ngoài ý muốn đã làm cho nó trở nên gây hại: một máy tính có thể bị nhiễm nhiều lần và mỗi một tiến trình bổ sung sẽ góp phần làm chậm máy đến mức không thể sử dụng được. Sâu morris hoạt động bằng cách lợi dụng một số điểm yếu đã biết trong các chương trình sendmail, Finger, rsh/rexec và các mật khẩu yếu trong Unix. Thân chương trình của sâu Morris chỉ có thể nhiễm các máy VAX của DEC đang chạy hệ điều hành BSD 4 và Sun 3. Một thành phần “móc” khả chuyển viết bằng C theo cơ chế tràn bộ đệm đã được sử dụng để chở thân chương trình chính, và thành phần móc có thể chạy trên các hệ thông khác, sinh tải làm chậm hệ thống và biến hệ thống thành nạn nhân.
II. Khái niệm
Worm là một loại phần mềm có sức lây lan nhanh, rộng và phổ biến nhất hiện nay. Không giống với virus máy tính, Worm không cần các tập tin “mồi” để lây nhiễm. Chúng tự nhân bản và phát tán qua môi trường internet, mạng ngang hàng, dịch vụ chia sẽ, do đó máy tính của bạn có thể gửi đi không những một mà hàng tram, thậm chí hàng nghìn bản copy của nó ra ngoài và gây ra sự tàn phá kinh khủng. Điểm cần lưu ý ở đây ngoài tác hại thẳng lên máy bị nhiễm, nhiệm vụ chính của worm là phá các thông tin mạng, làm giảm khả năng hoạt động hay ngay cả hủy hoại các mạng này.
Wrom nổi tiếng nhất được tạo bởi Robert Morris vào năm 1988. Nó có thể làm hỏng bất kỳ hệ điều hành UNIX nào trên Internet.
III. Phân loại worm
Phương thức lây nhiễm của một worm thường thông qua email. Nó lây nhiễm thông qua các file đính kèm hoặc liên kết HTML sẽ điều hướng người đọc đến một trang web độc hại. Nếu nạn nhân mở ra, worm sẽ được tải về và lây nhiễm sang các máy tính. Worm cũng có khả năng để lấy và sử dụng danh sách địa chỉ của nạn nhân, chẳng hạn như sổ địa chỉ của MS Outlook.
2. Internet worms
Các worm loại này sẽ quét các tài nguyên mạng bằng cách sử dụng một chương trình để tìm các lỗ hổng bảo mật yếu kém, sau đó cố gắng để kết nối và truy cập vào các máy. Chúng cũng quét các hệ thống để tìm 1 vài lỗi cho phép sâu có thể gửi dữ liệu hoặc yêu câu cài đặt chính.
3. IRC Worms
IRC, hoặc chat relay Internet, mục tiêu kênh chat gửi các tập tin độc hại hoặc liên kết đến các trang web bị lây nhiễm cho người sử dụng. Như kênh IRC người nhận phải xác nhận yêu cầu tập tin, lưu tập tin sau đó mở nó trước khi con sâu có thể lây nhiễm máy tính của họ.
4. File – Sharing Network Worms
Các sâu máy tính loại này sẽ tìm các thư mục chia sẽ và đặt một bản sao của chính mình vào thư mục chia sẽ dưới 1 cái tên vô hại và do đó các tập tin bị nhiễm lây lan qua mạng ngang hàng (peer to peer)
Ngoài cách phân loại ở trên,worm cũng có thể phân làm 2 loại như sau
- Network Service Worm lan truyền bằng cách lợi dụng các lỗ hổng bảo mật của mạng, của hệ điều hành hoặc của ứng dụng. Sasser là ví dụ cho loại sâu này.
- Mass Mailing Worm là một dạng tấn công qua dịch vụ mail, tuy nhiên nó tự đóng gói để tấn công và lây nhiễm chứ không bám vào vật chủ là email. Khi sâu này lây nhiễm vào hệ thống, nó thường cố gắng tìm kiếm sổ địa chỉ và tự gửi bản thân nó đến các địa chỉ thu nhặt được. Việc gửi đồng thời cho toàn bộ các địa chỉ thường
gây quá tải cho mạng hoặc cho máy chủ mail. Netsky, Mydoom là ví dụ cho thể loại này.
IV. Một số loại worm phổ biến
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ờ.