Saturday, March 31, 2012

iPhone/iOS virus - Cái hại gây ra bởi ở việc jailbreak iOS

Câu chuyện về "vượt ngục"
iPhone có vẻ là một thiết bị thực sự giống một cái Mac Computer nhất mà tôi từng được biết ( các thiết bị chạy Android chỉ là rác nếu cố coi chúng là một cái computer ). iOS có sự khởi nguồn là từ Unix cụ thể là hệ BSD do iOS thực ra là bản rút gọn của MacOS dành cho các máy tính Mac của Apple. Sau khi jailbreak cái iOS này và thâm nhập vào cấu trúc bên trong của hệ điều hành thì tôi thực sự ngạc nhiên về các quy tắc bảo mật mà Apple áp dụng trong iOS.


Căn bản nhất là iOS được thiết kế để các App ( application - ứng dụng ) do người dùng cài vào ( không phải system app ) đều phải chạy trong chế độ SandBox ( hộp cát :D ), chế độ này nói nôm na là cách ly cái app hoàn toàn khỏi phần còn lại của hệ thống, chỉ cho phép cái app truy cập một cách giới hạn vào các thành phần của hệ thống bằng các System API, còn việc truy cập System File thì dẹp, cái app chỉ được phép đọc ghi quanh quẩn trong cái folder dành riêng cho nó trong /var/mobile/Applications/xxxxxxxxxxxx ( xxxx là một folder có tên được sinh ngẫu nhiên ). Cơ chế này cực kỳ hiệu quả trong việc bảo vệ hệ thống khỏi các hành vi can thiệp nguy hại vào hệ thống của các chương trình có ý đồ xấu ( virus, malware, trojan, malicious code... )

Nói chung một cái iPhone dùng iOS sẽ cực an toàn, nếu không có tay hacker nào tìm ra một lỗi lập trình nào đó để phá vỡ các cấu trúc bảo mật mặc định ( một cách ép buộc ) của iOS.

Thế nhưng thực tế chả bao giờ giống như thánh Jobs nghĩ ( bản thân ổng cũng hiểu điều đó :D ), sau khi iPhone ra đời với cơ chế bảo mật nghiêm ngặt như vậy, giới Hacker trên toàn thế giới nhảy vào một cuộc chạy đua vô tiền khoáng hậu trong việc dò tìm lỗi bảo mật cũng như bẻ khóa lớp bảo mật sandbox của iOS. 
Đoạn này tôi nói thêm một chút về cái lý do khiến iPhone bị tấn công toàn lực như vậy. Ban đầu iPhone 1 tức iPhone 2G không có bản world mà chỉ có bản lock với hợp đồng 1 năm với nhà mạng AT&T ( chuyện này liên quan tới chiêu thức kinh doanh bậc thầy của Jobs, bữa nào rảnh tôi viết một bài về cái này ). Điều này khiến cho thiên hạ phát điên lên đối với việc có một thiết bị đẹp tuyệt vời, cuốn hút tuyệt vời, và do Apple làm ra nữa lại bị giới hạn trong việc sở hữu. Cái việc này đã kích động giới Hacker ra tay, họ tìm mọi cách để Unlock iPhone để dân tình toàn thế giới có thể dùng được mà không phải kí với đám nhà giàu AT&T một cái hợp đồng, mà muốn Unlock thì trước mắt phải phá bỏ các lớp bảo mật của iOS trong đó có sandbox.

Hành động phá bỏ lớp sandbox và truy cập tự do vào toàn File System của iPhone được giới hacker gọi là Jailbreak ( phá ngục - rất hình tượng ), việc phá vỡ iOS Sandbox đã giúp các hacker có thể dễ dàng modify các file cấu hình hệ thống của iOS và các binary quan trọng của iOS qua đó dẹp bỏ rất nhiều chướng ngại giúp unlock mạng của iPhone, và đem lại một tiện ích vô cùng quan trọng là cài đặt các App không phải do Apple phát hành

Sự đời sẽ rất thanh bình nếu như không có mấy tay black-hat dở chứng tận dụng cái tiện ích truy cập thoải mái vào iOS để viết ra một số đoạn mã độc hại tấn công vào hàng triệu iPhone đã bị unlock và jailbreak trên thế giới.

iVirus đầu tiên - iKee:

Như đã nói ở trên về việc iOS sau khi bị jailbreak sẽ có thể truy cập vào toàn bộ các file trong hệ thống. Đặc biệt các Application hoàn toàn có quyền truy cập vào toàn bộ các file trong hệ thống, đây là chỗ bắt đầu cho nỗi ám ảnh virus trên thiết bị di động - một trong những hiểm họa của an ninh thông tin trong 10 năm tới

Virus đầu tiên trên iOS chính là iKee, ra đời vào năm 2009
Tôi có diễm phúc nhiễm con này vào ngày 31/3/2012 sau khi đi dự một buổi offline với một cái iPhone đã bị jailbreak. Có vẻ sau ngần ấy năm, con iKee này vẫn còn tồn tại :D
Cơ bản thì con virus này nhiễm vào iPhone thông qua một cổng SSH mở ( các iphone bị jailbreak thường có sẵn SSHd thường trú trong máy ) hoặc một app tải từ một nguồn không an toàn ( chủ các iPhone bị jailbreak cũng thường làm việc này ). Sau khi lây nhiễm vào máy iKee sẽ tắt dịch vụ SSHd - dịch vụ tạo cổng truy cập Secure Shell trên iPhone, và thực hiện việc dò toàn bộ mạng LAN mà iPhone đang kết nối để kiếm các máy iPhone khác cũng trong tình trạng bị jailbreak, khi tìm ra máy nạn nhân, con virus sẽ kết nối vào máy đó thông qua SSH và đăng nhập quyền root với mật khẩu mặc định là alpine ( Apple làm cái quái gì mà để tồn tại tài khoản root trên máy với một mật khẩu chỉ có 5 ký tự ? Đây là vụ điên nhất mà mình từng biết về bảo mật của Apple ), khi đã có một shell trên máy kia thì nó chỉ đơn giản là sao chép nó vào máy đó và tiếp tục "quậy".

Cũng may là con iKee này không làm trò gì nhiều ngoài việc tắt mất SSHd, với người dùng bình thường thì chuyện này chả có quái gì phiền vì họ chỉ gọi điện, nhắn tin, và chơi game trên iPhone thì quan tâm quái gì tới cái dịch vụ SSH

Đây là source code của con virus iKee này, hy vọng không có cậu nào điên điên đi làm một con khác nhé:



Lý do mà tay hacker viết con virus này được anh ta giải thích như sau:

Why?: Boredom, because i found it so stupid the fact that on my initial scan of my 3G optus range i found 27 hosts running SSH daemons, i could access 26 of them with root:alpine. Doesn't anyone RTFM anymore?
xnohat

2 comments:

  1. Cái tội không đổi pass root mặc định =)).

    ReplyDelete
  2. hay quá ! mỗi tội không có tiền để thử cảm giác iKee heeeheeeheee

    ReplyDelete

Quí đọc giả đọc xong, nếu thấy chút thú vị thì tác giả cũng mong được chút comment lấy làm kích lệ