1. Trang chủ
  2. » Công Nghệ Thông Tin

ĐÁNH GIÁ AN TOÀN THIẾT bị DI ĐỘNG IOS

45 27 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Thiết bị thông minh (Smartphone, Tablet) đang dần thay thế máy tính truyền thống. Nó đáp ứng cho chúng ta các nhu cầu hàng ngày như làm việc, giải trí, quản lí các thiết bị điện tử, quản lí nhà thông minh..v..v. Cùng với đó, người dùng sử dụng các thiết bị thông minh khi thao tác với dữ liệu, đặc biệt là dữ liệu nhạy cảm như email, giao dịch ngân hàng,… ngày càng tăng. Nắm bắt xu thế này, tin tặc đang chuyển sự chú ý sang tấn công vào các thiết bị thông minh. Do đó, việc kiểm tra bảo mật cho ứng dụng trên các thiết bị thông minh là công việc hết sức quan trọng. Hiện nay trên thị trường thiết bị thông minh có hai nền tảng phổ biến là IOS và Android. IOS được khá nhiều người lựa chọn sử dụng vì sự mượt mà và ổn định trong các trải nghiệm của người sử dụng. Ngoài ra nó còn được các chuyên gia bảo mật đánh giá cao về mức độ an toàn . Bài viết Đánh giá an toàn thiết bị ios này nhằm tìm hiểu về an toàn trong nền tảng ios và thực hiện kiểm thử đánh giá an toàn nền tảng này. Do kiến thức còn hạn chế nên không thể tránh khỏi những sai sót trong quá trình tìm hiểu mong nhận được sự đóng góp ý kiến của thầy cô cùng các bạn để bài báo cáo được hoàn thiện.

BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT Mà ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ BÁO CÁO ĐÁNH GIÁ AN TOÀN THIẾT BỊ DI ĐỘNG IOS Ngành: Công nghệ thông tin Chuyên ngành: An tồn thơng tin Học phần: Đánh giá kiểm định AT HTTT Sinh viên thực hiện: Lớp L02 Giảng viên hướng dẫn: Hà Nội, 2018 NHẬN XÉT CÙA GIẢNG VIÊN MỤC LỤC MỤC LỤC DANH MỤC HÌNH ẢNH Error! Bookmark not defined LỜI NÓI ĐẦU CHƯƠNG I: KHÁI QUÁT AN TOÀN TRÊN THIẾT BỊ DI ĐỘNG Giới thiệu bảo mật di động .4 1.1 Các lĩnh vực bảo mật ứng dụng di động 1.2 Hướng dẫn kiểm tra bảo mật di động Phân loại phương pháp đánh giá an toàn ứng dụng 2.1 Phân loại .8 2.2 Phương pháp đánh giá an toàn ứng dụng 10 CHƯƠNG II: ĐÁNH GIÁ AN TOÀN THIẾT BỊ DI ĐỘNG IOS 15 Tổng quan tảng iOS 15 Môi trường thử nghiệm đánh giá 21 API mật mã 33 API mạng .34 CHƯƠNG III: THỰC HIỆN KIỂM THỬ ĐÁNH GIÁ 37 Giới thiệu iGoat 37 Tạo môi trường kiểm thử 38 Kiểm thử 40 TÀI LIỆU THAM KHẢO .43 DANH MỤC HÌNH VẼ Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình 1-1: Mơ hình bảo mật ứng dụng dành cho thiết bị di động 1-2: Các bước đánh giá 13 2-1: Kiến trúc bảo mật IOS 16 2-2:Phân cấp khóa bảo vệ liệu 23 3-1: iGoat Xcode 38 3-2: iGoat iphone 39 3-3: iGoat version 39 3-4: Các chế độ kiểm thử 40 3-5: Lưu trữ liệu 40 3-6: Thực login form bên hình 41 3-7: : Trích xuất file credentials.sqlite 41 3-8: Mở sqlite thực 42 LỜI NĨI ĐẦU Thiết bị thơng minh (Smartphone, Tablet) dần thay máy tính truyền thống Nó đáp ứng cho nhu cầu hàng ngày làm việc, giải trí, quản lí thiết bị điện tử, quản lí nhà thơng minh v v Cùng với đó, người dùng sử dụng thiết bị thông minh thao tác với liệu, đặc biệt liệu nhạy cảm email, giao dịch ngân hàng,… ngày tăng Nắm bắt xu này, tin tặc chuyển ý sang công vào thiết bị thơng minh Do đó, việc kiểm tra bảo mật cho ứng dụng thiết bị thông minh công việc quan trọng Hiện thị trường thiết bị thơng minh có hai tảng phổ biến IOS Android IOS nhiều người lựa chọn sử dụng mượt mà ổn định trải nghiệm người sử dụng Ngoài cịn chun gia bảo mật đánh giá cao mức độ an toàn Bài viết Đánh giá an tồn thiết bị ios nhằm tìm hiểu an toàn tảng ios thực kiểm thử đánh giá an toàn tảng Do kiến thức cịn hạn chế nên khơng thể tránh khỏi sai sót q trình tìm hiểu mong nhận đóng góp ý kiến thầy bạn để báo cáo hoàn thiện CHƯƠNG I: KHÁI QUÁT AN TOÀN TRÊN THIẾT BỊ DI ĐỘNG Giới thiệu bảo mật di động 1.1 Các lĩnh vực bảo mật ứng dụng di động Lưu trữ liệu cục Việc bảo vệ liệu nhạy cảm, chẳng hạn thông tin đăng nhập người dùng thông tin cá nhân, quan trọng bảo mật di động Nếu ứng dụng sử dụng API hệ điều hành, chẳng hạn nhớ cục giao tiếp liên công (IPC) khơng cách, ứng dụng hiển thị liệu nhạy cảm với ứng dụng khác chạy thiết bị Nó vơ tình làm rị rỉ liệu vào lưu trữ đám mây, lưu nhớ cache bàn phím Ngồi ra, thiết bị di động bị bị đánh cắp dễ dàng so với loại thiết bị khác, nhiều khả cá nhân truy cập vật lý vào thiết bị, giúp việc truy xuất liệu trở nên dễ dàng Giao tiếp với đầu cuối đáng tin cậy Thiết bị di động thường xuyên kết nối với nhiều mạng khác nhau, bao gồm mạng Wi-Fi công cộng chia sẻ với khách hàng (có thể độc hại) khác Điều tạo hội cho loạt công dựa mạng khác nhau, từ đơn giản đến phức tạp cũ đến Điều quan trọng trì tính bảo mật tính tồn vẹn thơng tin trao đổi ứng dụng di động dịch vụ đầu cuối từ xa Theo yêu cầu bản, ứng dụng dành cho thiết bị di động phải thiết lập kênh mã hóa bảo mật cách sử dụng giao thức TLS với cài đặt thích hợp Xác thực ủy quyền Trong hầu hết trường hợp, việc gửi người dùng để đăng nhập vào dịch vụ từ xa phần thiếu kiến trúc ứng dụng di động tổng thể Mặc dù hầu hết xác thực ủy quyền logic xảy điểm cuối, có số thách thức thực phía ứng dụng di động Không giống ứng dụng web, ứng dụng dành cho thiết bị di động thường lưu trữ mã thông báo phiên lâu dài mở khóa tính xác thực từ người dùng đến thiết bị quét vân tay Trong điều cho phép đăng nhập nhanh trải nghiệm người dùng tốt (khơng thích nhập mật phức tạp), giới thiệu thêm phức tạp chỗ cho lỗi Kiến trúc ứng dụng dành cho thiết bị di động ngày kết hợp khung ủy quyền (chẳng hạn OAuth2) ủy quyền xác thực cho dịch vụ riêng biệt th ngồi q trình xác thực cho nhà cung cấp xác thực Sử dụng OAuth2 cho phép logic xác thực phía máy khách th ngồi đến ứng dụng khác thiết bị (ví dụ: trình duyệt hệ thống) Những người kiểm tra bảo mật phải biết ưu điểm nhược điểm kiến trúc khác Tương tác với Nền tảng di động Kiến trúc hệ điều hành di động khác với kiến trúc máy tính để bàn cổ điển theo cách quan trọng Ví dụ: tất hệ điều hành thiết bị di động triển khai hệ thống cấp phép ứng dụng điều chỉnh quyền truy cập vào API cụ thể Họ cung cấp nhiều (Android) (iOS) phương tiện liên lạc trình (IPC) cho phép ứng dụng trao đổi tín hiệu liệu Các tính cụ thể cho tảng kèm với cạm bẫy riêng chúng Ví dụ: API IPC bị lạm dụng, liệu nhạy cảm chức bị vơ tình hiển thị ứng dụng khác chạy thiết bị Giảm thiểu chèn mã độc Các vấn đề quản lý nhớ tiêm truyền thống không thường thấy ứng dụng dành cho thiết bị di động bề mặt công nhỏ Ứng dụng dành cho thiết bị di động chủ yếu giao diện với dịch vụ phụ trợ đáng tin cậy giao diện người dùng, nhiều lỗ hổng tràn đệm tồn ứng dụng, lỗ hổng thường khơng mở vectơ cơng hữu ích Sự bảo vệ tương tự tồn việc khai thác trình duyệt cross-site scripting (XSS cho phép kẻ công chèn script vào trang web để bỏ qua điều khiển truy cập) phổ biến ứng dụng web Tuy nhiên, ln có trường hợp ngoại lệ XSS lý thuyết có thiết bị di động số trường hợp, thấy vấn đề XSS mà cá nhân khai thác Sự bảo vệ khỏi vấn đề quản lý nhớ tiêm khơng có nghĩa nhà phát triển ứng dụng lấy cách viết sloppy Sau phương pháp bảo mật tốt dẫn đến phát hành sửa chữa (bảo mật) củng cố chống lại giả mạo Các tính bảo mật miễn phí cung cấp trình biên dịch SDK di động giúp tăng cường bảo mật giảm thiểu công Chống giả mạo chống đảo ngược Nhiều chuyên gia bảo mật bỏ qua bảo vệ phía máy khách Tuy nhiên, điều khiển bảo vệ phần mềm sử dụng rộng rãi giới ứng dụng dành cho thiết bị di động, người kiểm tra bảo mật cần có cách để đối phó với biện pháp bảo vệ Chúng tơi tin có lợi ích cho bảo vệ phía khách hàng chúng sử dụng với mục đích rõ ràng không sử dụng để thay biện pháp kiểm soát an ninh 1.2 Hướng dẫn kiểm tra bảo mật di động Hướng dẫn có liên quan chặt chẽ với Tiêu chuẩn Xác minh Bảo mật Ứng dụng Di động OWASP (MASVS) MASVS định nghĩa mơ hình bảo mật ứng dụng dành cho thiết bị di động liệt kê yêu cầu bảo mật chung cho ứng dụng dành cho thiết bị di động Nó sử dụng kiến trúc sư, nhà phát triển, người thử nghiệm, chuyên gia bảo mật người tiêu dùng để xác định hiểu phẩm chất ứng dụng di động an toàn Cả hai tài liệu lập đồ cho yêu cầu bảo mật tùy thuộc vào ngữ cảnh chúng sử dụng riêng lẻ kết hợp để đạt mục tiêu khác Hình 1-1: Mơ hình bảo mật ứng dụng dành cho thiết bị di động Ví dụ, u cầu MASVS sử dụng giai đoạn thiết kế kiến trúc ứng dụng danh sách kiểm tra hướng dẫn kiểm tra sở để kiểm tra bảo mật thủ công làm mẫu cho kiểm tra bảo mật tự động sau phát triển Trong chương Thử nghiệm bảo mật ứng dụng dành cho thiết bị di động, mơ tả cách bạn áp dụng danh sách kiểm tra MSTG cho thử nghiệm thâm nhập ứng dụng dành cho thiết bị di động Duyệt hướng dẫn kiểm tra bảo mật di động MSTG chứa mô tả tất yêu cầu quy định MASVS MSTG chứa phần sau: 1.Hướng dẫn thử nghiệm chung chứa phương pháp thử nghiệm bảo mật ứng dụng dành cho thiết bị di động kỹ thuật phân tích lỗ hổng chung chúng áp dụng cho bảo mật ứng dụng dành cho thiết bị di động 2.Hướng dẫn kiểm tra Android bao gồm kiểm tra bảo mật di động cho tảng Android, bao gồm vấn đề bảo mật, trường hợp kiểm tra bảo mật, kỹ thuật phòng chống đảo ngược kỹ thuật giả mạo phòng ngừa 3.Hướng dẫn kiểm tra iOS bao gồm kiểm tra bảo mật di động cho tảng iOS, bao gồm tổng quan hệ điều hành iOS, kiểm tra bảo mật, kỹ thuật đảo ngược chống đảo ngược 4.Phụ lục chứa trường hợp thử nghiệm kỹ thuật bổ sung không phụ thuộc vào hệ điều hành, chẳng hạn xác thực quản lý phiên, truyền thông mạng mật mã Chúng bao gồm phương pháp để đánh giá chương trình bảo vệ phần mềm Phân loại phương pháp đánh giá an toàn ứng dụng 2.1 Phân loại Thuật ngữ "ứng dụng dành cho thiết bị di động" đề cập đến chương trình máy tính độc lập thiết kế để thực thi thiết bị di động Các ứng dụng thiết kế để chạy trực tiếp tảng mà chúng thiết kế, trình duyệt dành cho thiết bị di động thiết bị thông minh sử dụng kết hợp hai Ứng dụng gốc Hệ điều hành di động, bao gồm Android iOS, kèm với Bộ phát triển phần mềm (SDK) để phát triển ứng dụng cụ thể cho hệ điều hành Ứng dụng gốc vốn có khả cung cấp hiệu suất nhanh với mức độ tin cậy cao Chúng thường tuân thủ nguyên tắc thiết kế theo tảng cụ thể Nhược điểm rõ ràng ứng dụng gốc chúng dành cho tảng cụ thể Để xây dựng ứng dụng cho Android iOS, bạn cần trì hai sở mã độc lập giới thiệu công cụ phát triển phức tạp thường xuyên để chuyển sở mã đơn thành hai tảng CoreData Core Datalà khuôn khổ mà bạn sử dụng để quản lý lớp mơ hình đối tượng ứng dụng bạn Nó cung cấp giải pháp tổng quát tự động cho tác vụ chung liên quan đến vòng đời đối tượng quản lý đồ thị đối tượng, bao gồm bền bỉ Dữ liệu cốt lõi sử dụng SQLite làm kho lưu trữ liên tục , khung sở liệu Cơ sở liệu SQLite Thư viện SQLite bắt buộc phải thêm vào ứng dụng để sử dụng SQLite Thư viện wrapper C + + cung cấp API cho lệnh SQLite Phân tích động Một cách để xác định xem thông tin nhạy cảm thơng tin xác thực khố lưu trữ khơng an tồn khơng tận dụng chức gốc từ iOS để phân tích thư mục liệu ứng dụng Điều quan trọng phải kích hoạt tất chức ứng dụng trước liệu phân tích ứng dụng lưu trữ liệu nhạy cảm người dùng kích hoạt chức cụ thể Một phân tích tĩnh sau thực cho bãi chứa liệu dựa từ khoá chung chung liệu ứng dụng cụ thể Các bước sau sử dụng thiết bị jailbroken để xác định cách ứng dụng lưu trữ liệu cục thiết bị iOS Tiến hành kích hoạt chức lưu trữ liệu nhạy cảm tiềm ẩn Kết nối với thiết bị iOS duyệt qua thư mục sau (điều áp dụng cho iOS phiên 8.0 trở lên): /var/mobile/Containers/Data/Application/$APP_ID/ Thực lệnh grep liệu mà bạn lưu trữ, chẳng hạn như: grep -iRn "USERID" Nếu liệu nhạy cảm lưu trữ rõ, khơng kiểm tra Các vị trí hệ thống tập tin quan trọng là: 29 • • AppName.app o Gói ứng dụng, chứa ứng dụng tất tài nguyên ứng dụng o Hiển thị cho người dùng, người dùng ghi vào thư mục o Nội dung thư mục không lưu Documents/ o Sử dụng thư mục để lưu trữ nội dung người dùng tạo o Hiển thị với người dùng người dùng ghi vào thư mục o Nội dung thư mục lưu Ứng dụng tắt đường đặt NSURLIsExcludedFromBackupKey o dẫn cách • Library / o Đây thư mục cấp cao cho tệp tệp liệu người dùng o ứng dụng iOS thường sử dụng thư mục Application Supportvà Cachesthư mục con, bạn tạo thư mục tùy chỉnh • Library / Caches / o Tệp lưu trữ lưu tạm thời • o Không hiển thị cho người dùng người dùng ghi vào thư mục o Nội dung thư mục không lưu o Hệ điều hành xóa tập tin tự động ứng dụng khơng chạy (ví dụ khơng gian lưu trữ thấp) Library / Application Support / o Các tệp tin liên tục cần thiết để chạy ứng dụng o Không hiển thị cho người dùng người dùng ghi vào thư mục o Nội dung thư mục lưu 30 o • • Ứng dụng tắt đường đặt NSURLIsExcludedFromBackupKey dẫn cách Library / Preferences / o Được sử dụng để lưu trữ thuộc tính, đối tượng tồn sau ứng dụng khởi động lại o Thông tin lưu khơng mã hóa bên sandbox ứng dụng tệp plist có tên [BUNDLE_ID] plist o Tất cặp khóa / giá trị lưu trữ NSUserDefaults tìm thấy tệp tin tmp / o Sử dụng thư mục để ghi tập tin tạm thời mà không cần phải kiên trì lần khởi chạy ứng dụng bạn o Tệp lưu trữ không liên tục o Không hiển thị cho người dùng o Nội dung thư mục khơng lưu o Hệ điều hành xóa tập tin tự động ứng dụng khơng chạy (ví dụ khơng gian lưu trữ thấp) Đọc Keychain Để đọc keychain sử dụng kim, bạn nên sử dụng lệnh đây: [needle] > use storage/data/keychain_dump [needle][keychain_dump] > run Tìm kiếm tệp nhị phân Các ứng dụng iOS thường lưu tệp cookie nhị phân sandbox ứng dụng, tệp định dạng nhị phân chứa liệu cookie cho lượt xem web ứng dụng Kim sử dụng để chuyển đổi tệp sang định dạng dễ đọc kiểm tra liệu Cần sử dụng mô đun kim sau, tìm kiếm tệp cookie nhị phân 31 lưu trữ vùng chứa ứng dụng, liệt kê giá trị bảo vệ liệu chúng cung cấp cho người dùng tùy chọn để kiểm tra tải xuống tệp [needle] > use storage/data/files_binarycookies [needle][files_binarycookies] > run Tìm kiếm tệp Danh mục thuộc tính Các ứng dụng iOS thường lưu trữ liệu danh sách thuộc tính (plist) sandbox ứng dụng gói IPA Đơi tệp chứa thông tin nhạy cảm tên người dùng mật khẩu, nội dung tệp phải kiểm tra trình đánh giá iOS Cần sử dụng mơ đun kim sau, tìm kiếm tệp plist lưu trữ vùng chứa ứng dụng, liệt kê giá trị bảo vệ liệu chúng cung cấp cho người dùng tùy chọn để kiểm tra tải tệp xuống [needle] > use storage/data/files_plist [needle][files_plist] > run Tìm kiếm sở liệu Cache Ứng dụng iOS lưu trữ sở liệu nhớ cache ứng dụng có chứa liệu yêu cầu web phản hồi, liệu chứa thơng tin nhạy cảm Cần sử dụng mơ đun kim sau, tìm kiếm tệp lưu trữ kho ứng dụng, liệt kê giá trị bảo vệ liệu chúng cung cấp cho người dùng tùy chọn để kiểm tra tải xuống tệp [needle] > use storage/data/files_cachedb [needle][files_cachedb] > run Tìm kiếm sở liệu SQLite Các ứng dụng iOS thường sử dụng sở liệu SQLite để lưu trữ liệu theo yêu cầu ứng dụng Người kiểm tra nên kiểm tra giá trị bảo vệ liệu tệp nội dung để kiểm tra liệu nhạy cảm Cần sử dụng mơ-đun Needle sau, tìm kiếm sở liệu SQLite lưu trữ vùng chứa ứng dụng, liệt 32 kê giá trị bảo vệ liệu chúng cung cấp cho người dùng tùy chọn để kiểm tra tải xuống tệp [needle] > use storage/data/files_sql [needle][files_sql] > API mật mã Apple cung cấp thư viện với triển khai thuật tốn mã hố thơng dụng Mã hóa iOS thường dùng để số định sẵn xác định CommonCryptor.h(ví dụ kCCAlgorithmDES) Bạn tìm kiếm mã nguồn cho số để phát chúng sử dụng Lưu ý iOS số, đảm bảo kiểm tra xem giá trị số thuật toán gửi đến CCCrypt hàm biểu diễn thuật toán biết khơng an tồn khơng dùng Nếu ứng dụng sử dụng triển khai mật mã tiêu chuẩn cung cấp Apple, cách dễ kiểm tra gọi đến chức từ CommonCryptor, chẳng hạn CCCrypt, CCCryptorCreatevv Các mã nguồn chứa chữ ký tất chức Ví dụ, CCCryptorCreate có chữ ký sau đây: CCCryptorStatus CCCryptorCreate( CCOperation op, /* kCCEncrypt, etc */ CCAlgorithm alg, /* kCCAlgorithmDES, etc */ CCOptions options, /* kCCOptionPKCS7Padding, etc */ const void *key, /* raw key material */ size_t keyLength, const void *iv, /* optional initialization vector */ CCCryptorRef *cryptorRef); /* RETURNED */ Sau bạn so sánh tất enum loại để hiểu thuật tốn, padding tài liệu sử dụng Chú ý đến tài liệu khóa, trực tiếp từ mật ( xấu 33 ) đến từ Key Derivation Function (ví dụ PBKDF2) Rõ ràng, có thư viện khơng chuẩn khác mà ứng dụng bạn sử dụng (ví dụ openssl), bạn nên kiểm tra xem thư này.Mã hóa iOS thường dùng để số định sẵn xác định CommonCryptor.h(ví dụ kCCAlgorithmDES) Bạn tìm kiếm mã nguồn cho số để phát chúng sử dụng Lưu ý iOS số Đảm bảo kiểm tra liệu giá trị số thuật toán gửi đến CCCrypt hàm biểu diễn thuật toán mà biết khơng an tồn khơng dùng Bất kỳ việc sử dụng mật mã học iOS nên thực theo nguyên tắc tốt Tạo số ngẫu nhiên iOS Apple cung cấp cho nhà phát triển giao diện lập trình ứng dụng dịch vụ ngẫu nhiên hóa (API) tạo số ngẫu nhiên an toàn mật mã API dịch vụ phân biệt ngẫu nhiên sử dụng hàm SecRandomCopyBytes để thực việc tạo số Đây chức cho tệp /dev/random thiết bị cung cấp giá trị giả ngẫu nhiên an toàn với mật mã từ đến 255 thực ghép nối Xác minh tất số ngẫu nhiên tạo cách sử dụng API khơng có lý nhà phát triển nên sử dụng khác API mạng Hầu ứng dụng iOS hoạt động máy khách với nhiều dịch vụ từ xa Vì giao tiếp mạng thường diễn mạng không đáng tin cậy Wifi công cộng, công dựa vào mạng cổ điển trở thành vấn đề tiềm ẩn Hầu hết ứng dụng di động đại sử dụng biến thể dịch vụ web dựa HTTP, giao thức tài liệu hóa hỗ trợ tốt Trên iOS, NSURLConnectionlớp cung cấp phương thức để tải yêu cầu URL không đồng đồng App Transport Security (ATS) kiểm tra an ninh mà hệ điều hành thực thi tạo kết nối với NSURL Connection , NSURL Session CFURL cho 34 tên máy chủ công cộng ATS kích hoạt mặc định cho ứng dụng xây dựng iOS SDK trở lên ATS thi hành kết nối với tên máy chủ cơng cộng Vì vậy, kết nối thực với địa IP, tên miền không hợp lệ TLD local không bảo vệ ATS Dưới danh sách tóm tắt Yêu cầu An ninh Giao thơng Ứng dụng : • Khơng phép kết nối HTTP • Chứng X.509 có dấu vân tay SHA256 phải ký kết với phím RSA 2048-bit mật mã ECC 256-bit • Phiên Bảo mật Tầng Vận chuyển (TLS) phải 1,2 trở lên phải hỗ trợ Perfect Forward Secrecy (PFS) thơng qua việc trao đổi khố Eiffelange Diffie-Hellman Eiffel (ECDHE) khoá mật mã đối xứng AES-128 AES-256 Bộ mật mã phải cách sau: • • • • • • • • • • • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA Hạn chế ATS 35 Hạn chế ATS vơ hiệu hố cách cấu hình ngoại lệ Info.plist tập tin NSAppTransportSecurity Những ngoại lệ áp dụng cho: • Cho phép kết nối khơng an tồn (HTTP), • Giảm phiên TLS tối thiểu, • Vơ hiệu hóa PFS • Cho phép kết nối với tên miền cục 36 CHƯƠNG III: THỰC HIỆN KIỂM THỬ ĐÁNH GIÁ Giới thiệu iGoat iGoat công cụ học tập dành cho nhà phát triển iOS (iPhone, iPad, v.v.) ứng dụng di động pentesters Nó lấy cảm hứng từ dự án WebGoat, có dịng chảy khái niệm tương tự với iGoat mơi trường an tồn, nơi nhà phát triển iOS tìm hiểu cạm bẫy an ninh mà họ gặp phải cách tránh chúng Nó tạo thành từ loạt học mà giảng dạy học bảo mật (nhưng quan trọng) Các lỗ hổng khai thác (version 3.0): • Key Management o o o Hardcoded Encryption Keys Key Storage Server Side Random Key Generation • URL Scheme Attack • Social Engineering • Reverse Engineering o • Data Protection (Rest) o o o o • String Analysis Local Data Storage (SQLite) Plist Storage Keychain Usage NSUserDefaults Storage Data Protection (Transit) o o Server Communication Public Key Pinning 37 • Authentication o • Side Channel Data Leaks o o o o • Method Swizzling Injection Flaws o o • Device Logs Cut-and-Paste Backgrounding Keystroke Logging Tampering o • Remote Authentication SQL Injection Cross Site Scripting Broken Cryptography Tạo môi trường kiểm thử Cài đặt iGoat môi trường macOS chạy Xcode Hình 3-1: iGoat Xcode 38 Thiết bị iphone cài đặt iGoat Hình 3-2: iGoat iphone Hình 3-3: iGoat version 39 Hình 3-4: Các chế độ kiểm thử Kiểm thử 3.1 Local Data Storage Hình 3-5: Lưu trữ liệu 40 n Hình 3-6: Thực login form bên hình Hình 3-7: : Trích xuất file credentials.sqlite 41 Hình 3-8: Mở sqlite thực Như ta thấy kết đăng nhập form vừa 42 TÀI LIỆU THAM KHẢO [1] Learning iOS Penetration Testing https://books.google.com.vn/books?id=NgYcDAAAQBAJ&pg=PA43&lpg=PA43 &dq=install+igoat+test+ios&source=bl&ots=tre6kb8Br&sig=eDXMDv7qLQsPJV5XikBn9JsMGrg&hl=vi&sa=X&ved=0ahUK EwjI1L7h58LaAhWLgLwKHdzACucQ6AEIVzAG#v=onepage&q=install%20igo at%20test%20ios&f=false [2] OWASP Mobile Security Testing Guide (MSTG) https://github.com/OWASP/owasp-mstg [3] OWASP iGoat Tool Project https://www.owasp.org/index.php/OWASP_iGoat_Tool_Project 43 ... thức, tài liệu thức số điểm, v.v 14 CHƯƠNG II: ĐÁNH GIÁ AN TOÀN THIẾT BỊ DI ĐỘNG IOS Tổng quan tảng iOS iOS hệ điều hành di động hỗ trợ thiết bị di động Apple, bao gồm iPhone, iPad iPod Touch Nó... sử dụng Ngồi cịn chun gia bảo mật đánh giá cao mức độ an toàn Bài viết Đánh giá an toàn thiết bị ios nhằm tìm hiểu an tồn tảng ios thực kiểm thử đánh giá an toàn tảng Do kiến thức cịn hạn chế... thi thiết bị di động Các ứng dụng thiết kế để chạy trực tiếp tảng mà chúng thiết kế, trình duyệt dành cho thiết bị di động thiết bị thông minh sử dụng kết hợp hai Ứng dụng gốc Hệ điều hành di động,

Ngày đăng: 03/10/2021, 22:02

TỪ KHÓA LIÊN QUAN

w