Tham dự Tech Lounge

Tham dự Tech Lounge


Công cụ jailbreak evasi0n hoạt động như thế nào?

Duy Luân
5/2/2013 21:41Phản hồi: 374
Công cụ jailbreak evasi0n hoạt động như thế nào?
EvasionHeader-copy-RESIZE.jpeg

Đầu tuần này, công cụ jailbreak iOS 6 mang tên evasi0n đã chính thức trình làng. Nó cũng là bản jailbreak đầu tiên có thể sử dụng với iPhone 5, iPad 3/4, iPad mini. Trong 6 giờ đầu tiên kể từ thời điểm bắt đầu cho tải về, quản trị của Cydia cho biết evasi0n đã được sử dụng ít nhất là 800.000 lần và nó khiến cho máy chủ của Cydia bị tê liệt ở một số thời điểm. Sang đến thứ Ba, con số này đã đạt 1,7 triệu. Và để giúp chúng ta tìm hiểu xem evasi0n hoạt động như thế nào, trang Forbes đã có một cuộc nói chuyện với David Wang, một trong bốn lập trình viên của công cụ bẻ khóa này. Wang cho biết phần mềm của nhóm tận dụng ít nhất là 5 lỗi mới trong mã nguồn của iOS và bên dưới là những diễn giải của anh theo từng bước một.

evasi0n bắt đầu bằng việc khởi chạy libimobiledevice, một phần mềm thay thế cho iTunes để evasi0n có thể liên lạc với thiết bị iOS thông qua cùng loại giao thức mà Apple sử dụng. Bằng công cụ này, evasi0n khai thác một lỗ hổng trong hệ sống sao lưu của iOS để truy cập đến một số phần cấu hình nhất định. Những mục cấu hình này bình thường bị Apple cấm không cho phép truy cập và nó nằm trong một tập tin cho biết múi giờ của máy.

Kế tiếp, evasi0n sẽ chèn một "đường link biểu tượng" (symbolic link, một shortcut để di chuyển từ vùng này đến vùng khác trong hệ điều) vào tập tin múi giờ. Trong trường hợp này, đường link sẽ dẫn đến một "socket", tức một kênh liên lạc giữa nhiều phần mềm khác nhau trong hệ thống. Kế tiếp, evasi0n sẽ chỉnh sửa socket nói trên để cho phép máy liên lạc được với một phần mềm gọi là Launch Daemon (viết tắt: launchd). launchd thực chất là một tiến trình chủ được chạy lên đầu tiên khi chúng ta bật máy iOS và nó có nhiệm vụ khởi động các app cần đến quyền root, quyền người dùng cao nhất trong môi trường UNIX/Linux. Tóm lại, khi iPhone, iPod Touch hay iPad chạy tính năng sao lưu, nó sẽ truy cập tập tin múi giờ và bị chuyển hướng sang việc kích hoạt launchd.

iOS còn một lớp bảo vệ nữa để ngăn không cho các ứng dụng ngoài truy cập vào launchd, đó là Code-signing. Lớp này đòi hỏi mọi app phải được chấp nhận bởi một "chữ kí" của Apple để có thể chạy được. evasi0n tạo ra một app với mã lệnh không được "kí", sau đó các lập trình viên dùng một thủ thuật nhỏ trong Unix để lấy mã từ launchd, vốn đã được Apple chứng thực. Quá trình này diễn ra khi chúng ta chạm vào icon Jailbreak trên màn hình. Nhờ có lauchd mà evasiOn có thể chạy lệnh "remount" và chuyển trạng thái của hệ tập tin root (root file system) từ "chỉ đọc" sang "cho phép đọc và ghi".

Kế tiếp, evasi0n thay đổi nội dung của tập tin launchd.conf để đảm bảo rằng những thay đổi mà evasi0n thực hiện sẽ còn mãi trong hệ thống. Đây chính là mấu chốt cho việc untether jailbreak, giúp chúng ta không phải cắm thiết bị vào máy tính để chạy jailbreak lại mỗi khi iPhone, iPod hay iPad bị tắt nguồn.

Đến đây, máy của chúng ta vẫn chưa bị jailbreak. evasi0n phải tiếp tục chạy launchd nhằm tải một thư viện hàm vào AMFID (Apple Mobile File Integrity Daemon, tiến trình dùng để kiểm tra Code-signing). Nhờ có động tác này mà các đoạn mã không được chứng thực có thể luôn luôn hoạt động.

Tuy nhiên, khó khăn phải chấm dứt. iOS có một lớp bảo mật nữa gọi là Address Space Layout Randomization, hay ASLR. Lớp này sẽ di chuyển vị trí của mã lệnh đến nhiều nơi khác nhau trong bộ nhớ mỗi khi chúng ta khởi động máy, từ đó ngăn chặn việc hacker luôn ghi dữ liệu vào một nơi cố định. evasi0n "lách" qua ASLR bằng cách sử dụng một vị trí nhớ khó bị ẩn giấu trong hệ thống sử dụng chip ARM (gọi là ARM exception vector) để biết được kernel của hệ điều hành đang nằm ở đâu.

Cuối cùng, evasi0n sử dụng một lỗi trong giao diện USB của iOS để chuyển vị trí của kernel cho một phần mềm khác để tiến hành ghi đè dữ liệu. Nơi đầu tiên trong kernel mà evasi0n chỉnh sửa đó là bộ phận giới hạn sự thay đổi code của chính nó. Động tác này giống như "tôi ước là có thêm nhiều điều ước nữa". Wang nói "một khi bạn đã vào đến kernel, các vấn đề về bảo mật không còn nữa. Và như thế là chúng tôi đã chiến thắng".

Nguồn: Forbes
374 bình luận
Chia sẻ

Xu hướng

Một bài viết dành cho các bạn thích tìm hiểu chuyên sâu
Mình nghĩ, các bạn hacker này đã đạt được một niềm vui lớn khi "bẻ gãy" được apple (dù chỉ là tạm thời)
swo0ord
ĐẠI BÀNG
11 năm
@Airblade14 Tạm thời =)) ý bạn là gì đây
Apple đang rất cố gắng trong việc bảo mật,nhưng xem ra tất cả đều thất bại,có chăng nên có sự thay đổi khi rất nhiều người dùng k thích sự gò bó và muốn vượt rào ??
Sent from my GT-N7100 using Tinhte.vn
@crazy_nhoc Các cụ dạy ứ có sai. "Khoá" chỉ phòng được người ngay chứ không thể "cản" được người "gian."
Gần như không có phần mềm thương mại nào mà giới hacker bó thay thì phải. Cần k.ey để unlokc thì sẽ có k.ey thôi.
@crazy_nhoc Có phải ai cũng muốn vượt rào đâu 1,7 triệu thiết bị chưa đến 1% đâu , mở như androi thì toàn rác chứ hay ho gì . Hài mấy cái theme ở androi cũng coi là ứng dụng thảo nào 700k ứng dụng mà hơn nửa là cái nhảm nhí
iApples
TÍCH CỰC
11 năm
@crazy_nhoc JB chính là của Apple đấy cụ ạ ! Không có cái này Apple có bán hết máy tồn kho vào mắt í ! Nó chỉ giả vờ quân xanh quân đỏ chút cho vui thôi ! Do vậy, không phải là do trình non hay bảo mật kém hoặc gì đó tương tự. Nên nhìn vấn đề rộng ra chút chứ không nên nghĩ rằng ai kém ai (nhà sản xuất và hacker chẳng hạn??)
taitien1
ĐẠI BÀNG
11 năm
Thấy bảo có tới 72-74 bước gì đó.

Dc các bạn nói mới biết là từ thời ip2g
@taitien1 72-74 là dùng mấy bản trước, lâu lắm rồi bạn ơi
@taitien1 Đấy là jailbreak lần đầu tiên của iPhone 2G twf mấy năm trước cơ
hehe1110j
TÍCH CỰC
11 năm
@taitien1 Đấy là jb hồi ip2g cách đây 6năm ông ợ
@taitien1 đó là iphone đầu tiên của Apple 😁
@taitien1 đấy là công cụ jb đầu tiên , lần sau đọc bài chắc bác cần đọc cẩn thận hơn chút thay vì mõi cái title 😃
johorbaru
ĐẠI BÀNG
11 năm
quá dữ, đúng là núi cao còn núi cao hơn, 1 dù iOS có vững thế nào vẫn ko thể đứng giam nỗi các nhà phát triển JB
jb xong máy nóng pin hao nhanh quá nên lai xoá đi.mong nhà phát triển sẽ nhanh chóng khác phục tinh trạnh trên cho all được nhờ.n quả thật là một thành tích đáng nể
@conmoi vậy hả bác.thế chắc do máy em hơi cùi ip4 16g.mai thử con ip5 của gấu xem
@buihuybien1990 Ủa mình đang xài iPhone 5, thấy bình thường mà, mình cài winterboard, NCsetting, biteSMS :|
@buihuybien1990 Không ai bắt bạn phải JB nhé trả lời câu ngớ ngẩn ;)

Sent from my GT-P3100 using Tinhte.vn
@legiangnampt đúng là không ai bắt bác ạ.n cũng không ai bắt bác tr l thiếu tính xây dựng nt.
Ngọc Trinh: Không JB thì cạp đất mà ăn à 🆒
hienhung
ĐẠI BÀNG
11 năm
Phức tạp nhỉ
Chỉ với từng này bước. Nghe thì đơn giản nhưg đã làm đau đầu khá nhiều hacker và nhất là dân Việt mìh tham ứng dụg lậu 😆
Phải qua 1 đống bước bảo mật thì "tinh trùng" mới gặp dc "trứng"... hehe
@ducanh9076437 Bậy hết sức 😁
Ngta giỏi thật,giỏi ntn đi đâu cũng ko lo chết đói

Sent from my SGH-I897 using Tinhte.vn
Dug la hacker. Uoc gj mjnh lan dk nhung sa voi qua
@Nguyenvanchinhs2 Thấy bạn nói " sa " là mình biết điều đó đối với bạn xa đến mức nào rồi =))
guxila28
ĐẠI BÀNG
11 năm
Không ai ở mỹ phải đi tù vì bẻ khóa iphone nhỉ ?
Luxubu2011
ĐẠI BÀNG
11 năm
@guxila28 Luật chính thức cho phép nhá.
@guxila28 Jailbreak là hành động hoàn toàn hợp pháp
Tôi mua cái máy, cái máy phục vụ tôi, nó thuộc quyền sở hữu của tôi, tôi có thể quăng, đập, làm cục chặn giấy, hay JB là quyền của tôi, không có điều khoản nào quy định JB là không hợp pháp.
Chắc bạn có nghe nói rất nhiều lần Apple mời những nhà phát triển, các hacker tham dự những hội nghĩ của họ để tìm hiểu lỗ hổng của chính mình....
Các hacker luôn luôn xuất hiện, chính vì vậy những người làm nhiệm vụ bảo mật mới có công việc để làm. Và ngược lại... Công nghệ luôn phát triển và trái đất thì vẫn quay vòng đều😃
ruoicom
ĐẠI BÀNG
11 năm
Tại sao Hacker lại luôn là người chiến thắng???
@ruoicom Đây là một cuộc chiến nhưng diễn ra trên thương trường.
Cả hackers, apple và người sử dụng đều chiến thắng.
Hackers nhận được danh tiếng, thậm chí là những khoản đầu tư khổng lồ từ Apple.
iPhone lại một lần nữa củng cố thêm sự quan tâm của người dùng. Việc jb được máy có thể kéo theo doanh số bán hàng.
Người dùng được hưởng lợi từ những ứng dụng hay trên cydia.
bởi vậy lập trình viên bình thường thì có đầy ra nhưng hacker có mấy ai?

@temp304 nếu chỉ là giải phương trình bậc nhất , có vài dòng code thì không bao giờ có lỗi để hacker sờ....
nhưng cả 1 hệ điều hành, có cả chục triệu dòng code , hơn nữa phải đối phó với đủ mọi tình huống, thực sự không dễ dể tuyên bố rằng mọi thứ an toàn tuyệt đối. CHo nên chưa ai giám tuyên bố hệ điều hàng của họ là an toàn tuyệt đói cả.

nó giống như mình là người xây dựng kim tự tháp, dù kiên cố đến đâu nhưng trong trăm nghìn mạch gạch sẽ có 1 hoặc 1 vài chỗ kẻ trộm mộ có thể lợi dụng mà đột nhập. luôn là như vậy.
mình đọc hiểu sơ sơ 😁
zhuming9698
ĐẠI BÀNG
11 năm
Thật đơn giản sau quá trình phức tạp.
Nhờ có a mà thế giới iOS này đc nhờ hehe

Sent from my GT-N7100 using Tinhte.vn
vanphumbile
ĐẠI BÀNG
11 năm
nói chung là quá tuyệt vời quá PRO

Xu hướng

Bài mới









  • Chịu trách nhiệm nội dung: Trần Mạnh Hiệp
  • © 2024 Công ty Cổ phần MXH Tinh Tế
  • Địa chỉ: Số 70 Bà Huyện Thanh Quan, P. Võ Thị Sáu, Quận 3, TPHCM
  • Số điện thoại: 02822460095
  • MST: 0313255119
  • Giấy phép thiết lập MXH số 11/GP-BTTTT, Ký ngày: 08/01/2019