Nếu bây giờ FBI muốn hack Android thì họ phải làm thế nào, câu trả lời bất ngờ hơn bạn tưởng

    Nguyễn Hải,  

    Nếu chiếc điện thoại ở San Bernardino không phải là iPhone mà là một chiếc Android, liệu những tranh cãi ầm ĩ trong mấy tuần qua có còn xảy ra?

    Sau sáu tuần tranh cãi, cuối cùng dường như những ầm ĩ xung quanh chiếc iPhone của Syed Rizwan Farook, tay súng trong vụ ở San Bernardino, đã lắng xuống. FBI cho biết, dựa vào sự giúp đỡ của bên thứ ba, họ đã bẻ khóa được dữ liệu mã hóa trên chiếc điện thoại đó. Nhưng nếu chiếc điện thoại trên chạy Android thì sao? Liệu những kịch tính về kỹ thuật và luật pháp có còn diễn ra?

    Các phóng viên của trang theConversation đã nỗ lực tái tạo lại những gì FBI muốn làm trên một chiếc điện thoại Android và thấy có một số kết quả hữu ích. Bên cạnh thực tế, hệ sinh thái Android liên quan đến nhiều nhà sản xuất hơn, chứ không chỉ một mình một chợ như Apple, còn có các khác biệt về kỹ thuật. Trong đó Android cho phép cách cập nhật từ xa và vì vậy, sẽ cho phép mở các khóa mã hóa, điều mà FBI không thể tự làm trên chiếc iPhone 5C.

    Những lối vào dễ dàng

    Giải mã một thiết bị được mã hóa mạnh có thể rất khó. Nhưng đôi khi việc truy cập vào dữ liệu mã hóa trên một chiếc điện thoại không cần thiết phải phá vỡ bất kỳ dòng mã nào. Dưới đây là một số cách làm như vậy:

    - Một ứng dụng tùy chỉnh có thể được cài đặt lên chiếc điện thoại mục tiêu để trích xuất thông tin. Tháng Ba năm 2011, Google đã cài đặt một chương trình từ xa, để làm sạch những chiếc điện thoại bị nhiễm phần mềm độc hại. Vẫn chưa rõ liệu Android còn cho phép điều này không.

    - Nhiều ứng dụng sử dụng Backup API của Android. Do thông tin này được sao lưu, nên kẻ tấn công có thể truy cập trực tiếp vào vị trí bộ sao lưu, tùy thuộc vào ứng dụng nào được cài đặt trên điện thoại.

    - Nếu dữ liệu mục tiêu được lưu trữ trên một thẻ nhớ mở rộng SD, nó có thể không được mã hóa. Chỉ có những phiên bản gần nhất của Android mới cho phép người dùng mã hóa hoàn toàn thẻ nhớ mở rộng SD, không phải tất cả các ứng dụng mã hóa dữ liệu lưu trên thẻ nhớ SD.

    - Một vài dòng điện thoại được trang bị đầu đọc dấu vân tay, nên có thể bị mở khóa bằng hình ảnh dấu vân tay của người sở hữu chiếc điện thoại đó.

    - Một vài người đã chỉnh sửa hệ điều hành để cho họ quyền “root” – quyền truy cập vào dữ liệu trên thiết bị sâu hơn được phép trên các hệ điều hành thông thường – vì vậy có khả năng sẽ làm yếu đi lớp bảo mật.

    Nhưng nếu các lựa chọn trên không thực hiện được, vẫn còn lại lựa chọn bằng việc phá mã. Bằng cách tấn công kiểu vét cạn “brute force”, một chiếc điện thoại có thể bị mở khóa bằng cách thử mọi khả năng có thể của khóa mã hóa (ví dụ: mọi cách kết hợp các ký tự), cho đến khi tìm được mật khẩu đúng và thiết bị hay dữ liệu sẽ được mở khóa.

    Bắt đầu tấn công

    Có hai loại tấn công kiểu brute force: offline và online. Một vài cách tấn công offline có thể dễ thực hiện hơn – sao chép dữ liệu ra khỏi thiết bị và đưa lên một chiếc máy tính mạnh, với các phần mềm chuyên dụng và các kỹ thuật khác được sử dụng để thử mọi khả năng kết hợp mật khẩu khác nhau.

    Nhưng tấn công offline cũng có thể khó hơn nhiều, bởi vì họ buộc phải hoặc thử từng khóa mã hóa có thể, hoặc cố hình dung mật khẩu của người dùng và khóa chuỗi số riêng (tương tự mã ID riêng biệt trên thiết bị của Apple – nhưng chỉ có trên các phiên bản Android mới).

    Với mã khóa chuẩn 128-bit AES, sẽ có khoảng 100 tỷ tỷ tỷ tỷ khả năng kết hợp khác nhau – đủ để một siêu máy tính chạy trong hơn 1 tỷ tỷ năm. Trong khi đó, việc đoán mật khẩu có thể tương đối nhanh: một mã PIN 6 ký tự chỉ bằng các chữ số, sẽ chỉ có khoảng một triệu khả năng. Nếu kết hợp thêm các chữ cái và ký tự đặc biệt như $ và #, sẽ có nhiều khả năng hơn, nhưng vẫn chỉ khoảng hàng trăm triệu khả năng. Tuy nhiên, việc đoán chuỗi số riêng biệt của thiết bị sẽ khó tương tự như đoán khóa mã hóa.

    Tấn công online

    Bằng cách tấn công online, mọi việc sẽ được thực hiện trực tiếp trên điện thoại. Với mã khóa riêng biệt có sẵn trên hệ điều hành, việc tấn công sẽ nhẹ nhàng hơn khi chỉ phải thử các khả năng có thể của mật khẩu.

    Tuy nhiên, bản thân chiếc điện thoại có thể được cấu hình để chống lại các cuộc tấn công online. Ví dụ, chiếc điện thoại có thể chèn một khoảng trễ thời gian giữa những lần đoán sai mật khẩu, hay thậm chí xóa hết dữ liệu sau một số lần nhập sai mật khẩu nhất định.

    IOS của Apple cũng có các khả năng này. Không những thế, nó còn có thể tự động gia tăng độ trễ sau mỗi lần nhập sai, và tùy lựa chọn của người dùng, nó sẽ xóa toàn bộ thiết bị sau 10 lần nhập mật mã sai.

    Tấn công vào điện thoại Android

    Vậy điều gì xảy ra khi ai đó cố gắng tấn công một chiếc Android bị khóa? Mỗi nhà sản xuất khác nhau sẽ cài đặt thiết bị của họ khác nhau. Ví dụ chiếc Nexus của Google chạy cấu hình Android tiêu chuẩn. Các phóng viên của theConversation sử dụng một chiếc Nexus 4 chạy Android gốc phiên bản 5.1.1 với tính năng mã hóa ổ đĩa lưu trữ hoàn toàn.

    Họ bắt đầu với một chiếc điện thoại đang chạy nhưng bị khóa màn hình. Lúc này Android cho phép khóa mã PIN, mật khẩu và khóa dựa trên mô hình, buộc người dùng phải kết nối hàng loạt điểm với nhau để mở khóa điện thoại. Chúng tôi sẽ thử nghiệm với từng loại bảo mật. Mật khẩu được gán bằng tay trên máy, nhưng các nỗ lực mở khóa được thực hiện một cách ngẫu nhiên.

    Sau năm lần nhập sai, Android sẽ đặt mức độ trễ 30 giây trước khi thực hiện lần nhập thử tiếp theo. Không giống iPhone, độ trễ này không kéo dài thêm sau nhiều lần nhập sai. Sau khoảng hơn 40 lần nhập sai, chúng tôi vẫn chỉ phải chịu độ trễ 30 giây sau mỗi năm lần nhập sai. Chiếc điện thoại vẫn đếm số lần nhập sai liên tiếp, nhưng đã xóa sạch dữ liệu. (Một số nhà sản xuất Android khác có thể tăng dần thời gian trễ tương tự như iOS.)

    Những độ trễ này sẽ trì hoãn đáng kể thời gian cho một kẻ tấn công. Tấn công “brute force” một mã số PIN 6 chữ số (khoảng 1 triệu khả năng kết hợp), trường hợp xấu nhất có thể sẽ bị trễ đến 69 ngày. Nếu mật khẩu có 6 ký tự, thậm chí dù chỉ dùng các chữ viết thường, độ trễ cũng có thể lên đến 58 năm.

    Khi chúng tôi lặp lại cuộc tấn công vào một chiếc điện thoại vừa mới tắt và đang khởi động, chúng tôi bị yêu cầu khởi động lại thiết bị sau 10 lần nhập sai. Sau khoảng 20 lần nhập sai và hai lần khởi động lại, chiếc Android bắt đầu đếm ngược số lần nhập sai để kích hoạt việc xóa dữ liệu. Chúng tôi tiếp tục cuộc tấn công, và đến lần thử thứ 30 – thiết bị chạy “factory reset” xóa toàn bộ dữ liệu người dùng.

    Trái ngược với tấn công offline, có sự khác biệt giữa iOS và Android khi tấn công brute force online. Trong iOS, cả màn hình khóa và quá trình khởi động đều có thể xóa dữ liệu người dùng sau một số lần nhập sai, nhưng chỉ khi người dùng cài đặt tính năng đó. Còn trong Android, quá trình khởi động luôn xóa sạch dữ liệu sau một số lần nhập sai. Tuy nhiên, chiếc Nexus 4 không cho phép chúng tôi thiết lập giới hạn số lần nhập sai màn hình khóa. Có thể nói, cả Android và iOS đều có các lựa chọn cho tính năng quản lý từ xa, để có thể xóa sạch dữ liệu sau một số lần nhập sai nhất định.

    Sử dụng những công cụ đặc biệt

    Chiếc iPhone 5c trong vụ án ở San Bernardino được cài phần mềm quản lý thiết bị di động (MDM), cho phép công ty lần theo nó và thực hiện các chức năng khác bằng cách điều khiển từ xa. Một ứng dụng như MDM thường được cài đặt như một ứng dụng quản lý thiết bị “Device Administrator” trên Android, và thiết lập bằng cách sử dụng công cụ “Apple Configurator” cho iOS.

     Phần mềm MDM được các phóng viên theConversation viết riêng để reset mật khẩu trên Android.

    Phần mềm MDM được các phóng viên theConversation viết riêng để reset mật khẩu trên Android.

    Chúng tôi xây dựng ứng dụng MDM cho riêng mình trên điện thoại Android, và xác nhận rằng mật khẩu có thể bị reset mà không có sự cho phép của người dùng. Ứng dụng này cũng cập nhật khóa mã hóa của điện thoại. Sau đó, chúng tôi có thể sử dụng mật khẩu mới để mở khóa điện thoại từ màn hình khóa và trong thời gian khởi động. (Để cuộc tấn công có thể thực hiện từ xa, chiếc điện thoại phải có kết nối Internet, và ứng dụng MDM phải được lập trình để reset mật khẩu theo yêu cầu từ một máy chủ MDM từ xa.)

    Những sự giúp đỡ bổ sung

    Nếu một kẻ tấn công cần sự giúp đỡ từ một nhà sản xuất điện thoại hay công ty phần mềm, Android cho thấy sự đa dạng hơn Apple.

    Thông thường, phần mềm hệ điều hành được ký với một mã kỹ thuật số để chứng minh nó là chính hãng và đó cũng là điều điện thoại đòi hỏi trước khi thực sự cài đặt hệ điều hành. Chỉ những công ty với mã kỹ thuật số chính xác mới có thể tạo ra một bản cập nhật cho phần mềm hệ điều hành – đồng nghĩa với việc có thể tạo ra một cửa hậu hoặc một lối vào khác cho kẻ tấn công, người chiếm được sự trợ giúp của công ty. Đối với iPhone, đó là công ty Apple. Nhưng với Android lại có rất nhiều công ty khác nhau.

    Google, nhà phát triển chính cho hệ điều hành Android, sẽ ký một bản cập nhật cho dòng thiết bị Nexus của mình. Samsung cũng ký cho thiết bị của mình. Những nhà mạng như AT&T hay Verizon cũng ký cho thiết bị của họ. Và nhiều người dùng cài đặt một phiên bản tùy chỉnh của Android (như Cyanogenmod) cũng vậy. Những công ty đã ký lên phần mềm này sẽ là người mà FBI cần thuyết phục hoặc ép buộc để viết phần mềm tạo ra lối vào.

    So sánh iOS và Android.

    Hơn hết, những thiết bị chạy các phiên bản mới nhất của iOS và Android có thể so sánh được với nhau về khả năng chống lại những cuộc tấn công offline, khi được thiết lập chính xác. Các phiên bản cũ hơn sẽ yếu hơn, chúng có thể bị bẻ khóa trong chưa đến 10 giây. Thêm vào đó, các lỗi thiết lập và của phần mềm do các nhà sản xuất có thể làm tổn thương đến bảo mật của cả thiết bị Android và iOS.

    Nhưng với tấn công online, vẫn có sự khác biệt, do việc thiết lập của quản lý từ xa và của người dùng: Android mặc định sẽ bảo mật hơn trước cuộc tấn công online khi khởi động, nhưng chiếc Nexus 4 không cho phép người dùng thiết lập số lần nhập sai tối đa trên màn hình khóa (các thiết bị khác có thể sẽ khác). Thiết bị chạy iOS có cả hai tính năng này, nhưng người dùng phải bật tính năng này bằng tay từ trước.

    Bảo mật của Android có thể bị yếu đi bằng phần mềm kiểm soát từ xa, phụ thuộc vào phần mềm được sử dụng. Cho dù FBI không thể chiếm quyền truy cập đến chiếc iPhone 5c bằng cách reset lại mật khẩu, chúng tôi đã thành công với cách tấn công này trên thiết bị Android.

    Tham khảo Mashable

    Tin cùng chuyên mục
    Xem theo ngày

    NỔI BẬT TRANG CHỦ