[Hội thảo] [đá Đằng sau các thiết bị: Ứng dụng Mobile Security] [Chris Wysopal] [Đại học Harvard] [Đây là CS50.] [CS50.TV] Xin chào. Tên tôi là Chris Wysopal. Tôi là Giám đốc công nghệ và đồng sáng lập của Veracode. Veracode là một công ty bảo mật ứng dụng. Chúng tôi kiểm tra tất cả các loại ứng dụng khác nhau, và những gì tôi sẽ nói chuyện về ngày hôm nay ứng dụng bảo mật di động là. Nền của tôi là tôi đã làm nghiên cứu bảo mật trong một thời gian rất dài, có thể là miễn là bất cứ ai. Tôi bắt đầu vào giữa thập niên 90, và đó là một thời gian khá thú vị bởi vì chúng tôi đã có một sự thay đổi mô hình trong giữa thập niên 90. Tất cả các máy tính bất ngờ của tất cả mọi người được nối với internet, và sau đó chúng tôi đã có sự khởi đầu của các ứng dụng web, và đó là những gì tôi tập trung vào rất nhiều sau đó. Thật thú vị. Bây giờ chúng ta có một sự thay đổi mô hình xảy ra với máy tính, đó là sự thay đổi các ứng dụng di động. Tôi cảm thấy đó là loại một thời gian tương tự sau đó nó là vào cuối những năm 90 khi chúng tôi đang điều tra các ứng dụng web và tìm kiếm các khuyết tật như lỗi quản lý phiên và SQL injection mà thực sự không tồn tại trước, và đột nhiên họ ở khắp mọi nơi trong các ứng dụng web, và bây giờ rất nhiều thời gian tôi dành đang tìm kiếm các ứng dụng di động và nhìn vào những gì đang xảy ra ở đâu đó trong tự nhiên. Ứng dụng di động đang thực sự sẽ là nền tảng điện toán chi phối, vì vậy chúng tôi thực sự cần phải dành nhiều thời gian nếu bạn đang ở trong ngành công nghiệp an ninh tập trung vào các ứng dụng web. Có 29 tỷ ứng dụng di động được tải về trong năm 2011. Nó dự đoán là 76 tỷ ứng dụng vào năm 2014. Có 686.000.000 thiết bị sẽ được mua trong năm nay, vì vậy đây là nơi mọi người sẽ được làm  phần lớn các máy tính khách hàng của họ đi về phía trước. Tôi đang nói chuyện với phó chủ tịch Fidelity Investments một vài tháng trước, và ông nói rằng họ chỉ thấy lưu lượng truy cập làm giao dịch tài chính từ cơ sở khách hàng của họ trên ứng dụng di động của họ hơn trên trang web của họ, do đó, một sử dụng phổ biến cho các trang web trong quá khứ đã được kiểm tra giá cổ phiếu của bạn, quản lý danh mục đầu tư của bạn, và chúng tôi đang thực sự thấy rằng trong năm 2012 chuyển đổi hơn được ưu thế hơn trên nền tảng di động. Chắc chắn nếu có sẽ là bất kỳ hoạt động tội phạm, bất kỳ hoạt động độc hại, nó sẽ bắt đầu được tập trung vào các nền tảng di động theo thời gian khi mọi người chuyển sang đó. Nếu bạn nhìn vào các nền tảng di động, nhìn vào những rủi ro của nền tảng đó là hữu ích để chia nó ra thành các lớp khác nhau, giống như bạn sẽ làm điều đó trên một máy tính để bàn, và bạn nghĩ về các lớp khác nhau, phần mềm, hệ điều hành, lớp mạng, lớp phần cứng, và tất nhiên, có lỗ hổng bảo mật trên tất cả các lớp. Điều tương tự cũng xảy ra trên điện thoại di động. Nhưng điện thoại di động, có vẻ như là một số trong những lớp đều thiệt. Đối với một, lớp mạng là có vấn đề về điện thoại di động bởi vì rất nhiều người có trong văn phòng của họ hoặc ở nhà dây kết nối hoặc họ có kết nối Wi-Fi an toàn, và với rất nhiều thiết bị di động bạn rõ ràng là bên ngoài của ngôi nhà hoặc bên ngoài văn phòng rất nhiều, và nếu bạn đang sử dụng Wi-Fi có bạn có thể sử dụng kết nối Wi-Fi không an toàn, cái gì đó là một kết nối Wi-Fi công cộng, do đó, khi chúng ta nghĩ về ứng dụng di động, chúng ta phải đưa vào tài khoản mà trên môi trường mạng là rủi ro hơn cho những ứng dụng khi Wi-Fi đang được sử dụng. Và khi tôi nhận được vào chi tiết của những rủi ro ứng dụng di động bạn sẽ thấy lý do tại sao đó là quan trọng hơn. Có những rủi ro ở cấp độ phần cứng trên các thiết bị di động. Đây là một lĩnh vực nghiên cứu liên tục. Mọi người gọi các cuộc tấn công băng thông rộng hoặc các cuộc tấn công baseband nơi bạn đang tấn công các phần mềm đó là lắng nghe trên đài phát thanh. Đây là những cuộc tấn công thực sự đáng sợ vì người sử dụng không phải làm bất cứ điều gì. Bạn có thể nhấn rất nhiều thiết bị trong phạm vi RF cùng một lúc, và nó có vẻ như bất cứ khi nào nghiên cứu này bong bóng lên nó nhanh chóng được phân loại nơi người swoop xung quanh và nói: "Ở đây, cho chúng tôi biết về điều đó, và hãy ngừng nói về nó." Có một số nghiên cứu đang diễn ra trong khu vực băng thông rộng, nhưng nó có vẻ là im lặng rất im lặng. Tôi nghĩ rằng nó nhiều hơn một loại nhà nước quốc gia nghiên cứu đang diễn ra. Một lĩnh vực nghiên cứu hoạt động, mặc dù, là lớp hệ điều hành, và một lần nữa, điều này khác với trong thế giới máy tính để bàn bởi vì trong không gian di động bạn có những nhóm người được gọi là jailbreakers, và jailbreakers là khác nhau hơn so với các nhà nghiên cứu dễ bị tổn thương thường xuyên. Họ đang cố gắng để tìm các lỗ hổng trong hệ điều hành, nhưng lý do họ đang cố gắng để tìm thấy những lỗ hổng không phải là để đột nhập vào máy tính của người khác và làm tổn hại nó. Nó để đột nhập vào máy tính của mình. Họ muốn đột nhập vào điện thoại di động riêng của họ, sửa đổi hệ điều hành di động của riêng mình để họ có thể chạy các ứng dụng của sự lựa chọn của họ và thay đổi mọi thứ với quyền quản trị đầy đủ, và họ không muốn nói với các nhà cung cấp về việc này. Chúng không giống một nhà nghiên cứu bảo mật mà là một nhà nghiên cứu bảo mật mũ trắng đó là sẽ làm tiết lộ có trách nhiệm và nói với các nhà cung cấp về nó. Họ muốn làm nghiên cứu này, và họ muốn thực hành nó trong khai thác, một rootkit hay một mã jailbreak, và họ muốn làm điều đó một cách chiến lược, như ngay sau khi các tàu nhà cung cấp hệ điều hành mới. Bạn có mối quan hệ thù địch này với các lỗ hổng hệ điều hành cấp trên điện thoại di động, mà tôi nghĩ là khá thú vị, và một trong những nơi chúng tôi nhìn thấy nó là nó làm cho nó để có tốt được công bố mã khai thác ra có các lỗ hổng cấp hạt nhân, và chúng tôi đã nhìn thấy những người thực sự được sử dụng bởi phần mềm độc hại nhà văn. Đó là một chút khác biệt so với thế giới máy tính. Và sau đó là lớp cuối cùng là lớp trên cùng, lớp ứng dụng. Đó là những gì tôi sẽ nói về ngày hôm nay. Các lớp khác tồn tại, và các lớp khác chơi vào nó, nhưng tôi là chủ yếu sẽ nói về những gì đang xảy ra ở lớp ứng dụng nơi mà mã đang chạy trong sandbox. Nó không có quyền quản trị. Nó có sử dụng các API của thiết bị, nhưng vẫn còn, rất nhiều hoạt động nguy hiểm và nhiều rủi ro có thể xảy ra ở lớp mà bởi vì đó là nơi mà tất cả các lớp thông tin. Ứng dụng có thể truy cập tất cả các thông tin trên thiết bị nếu họ có đủ quyền hạn, và họ có thể truy cập vào các cảm biến khác nhau trên thiết bị, Cảm biến GPS, microphone, camera, những gì có bạn. Mặc dù chúng tôi chỉ nói về ở lớp ứng dụng chúng tôi có rất nhiều rủi ro đó. Điều khác đó là khác nhau về môi trường di động là tất cả các cầu thủ hệ điều hành, có thể là BlackBerry hay Android hoặc iOS hoặc Windows điện thoại di động, tất cả đều có một mô hình cho phép hạt mịn, và đây là một trong những cách mà họ xây dựng trong hệ điều hành ý kiến ​​cho rằng nó không phải là nguy hiểm như bạn nghĩ. Ngay cả khi bạn có tất cả các địa chỉ liên lạc của bạn trên đó, tất cả các thông tin cá nhân của bạn, bạn có hình ảnh của bạn, bạn có vị trí của bạn trên đó, bạn đang lưu trữ pin ngân hàng của bạn để đăng nhập tự động vào đó, nó là an toàn bởi vì ứng dụng phải có quyền truy cập nhất định để có được một số phần các thông tin trên thiết bị, và người dùng phải được trình bày với các điều khoản và nói không sao. Vấn đề với nó là người sử dụng luôn luôn nói không sao. Là một người an ninh, tôi biết bạn có thể nhắc nhở người dùng, nói điều gì đó thực sự tồi tệ sẽ xảy ra, bạn có muốn nó xảy ra? Và nếu họ đang vội vàng hoặc có điều gì đó thực sự hấp dẫn ở phía bên kia đó, như một trò chơi sẽ được cài đặt mà họ đã chờ đợi, họ sẽ bấm được. Đó là lý do tại sao tôi nói trên slide của tôi ở đây chỉ cho tôi ném chim ở lợn đã, và bạn có thể thấy trên slide đây có ví dụ về một hộp cho phép BlackBerry. Nó nói "Xin hãy thiết lập cho phép ứng dụng BlackBerry Travel sau khi nút nhấn vào dưới đây ", và về cơ bản người sử dụng chỉ cần đi để nói thiết lập cho phép và lưu lại. Dưới đây là một dấu nhắc Android mà nó cho thấy điều gì đó, và nó thực sự đặt một cái gì đó mà hầu như trông giống như một cảnh báo. Nó có một loại dấu hiệu năng suất có nói truyền thông mạng, gọi điện thoại, nhưng người dùng sẽ nhấp vào cài đặt, phải không? Và sau đó là một Apple là hoàn toàn vô hại. Nó không cho bất kỳ loại cảnh báo. Nó chỉ là Apple muốn sử dụng vị trí hiện tại của bạn. Tất nhiên bạn sẽ phải bấm được. Không có mô hình cho phép hạt mịn này, và các ứng dụng cần phải có một file manifest nơi họ tuyên bố các điều khoản mà họ cần, và điều đó sẽ được hiển thị cho người sử dụng, và người sử dụng sẽ phải nói rằng tôi cấp các điều khoản. Nhưng chúng ta hãy trung thực. Người sử dụng chỉ cần đi để luôn luôn nói không sao. Chúng ta hãy xem nhanh các điều khoản các ứng dụng này đang yêu cầu và một số các điều khoản đang có. Công ty này đã làm một cuộc khảo sát thuộc về pháp quan năm ngoái 53.000 ứng dụng phân tích thị trường và bên thứ 3 thị trường Android, vì vậy đây là tất cả Android. Và các ứng dụng trung bình 3 yêu cầu quyền truy cập. Một số ứng dụng yêu cầu quyền truy cập 117, vì vậy rõ ràng đây là những hạt rất tốt và quá phức tạp đối với một người sử dụng để hiểu nếu họ đang trình bày với ứng dụng này cần những 117 cho phép. Nó giống như các thỏa thuận cấp phép người dùng cuối là 45 trang. Có lẽ chẳng bao lâu họ sẽ có một tùy chọn mà nó như in các điều khoản và gửi cho tôi một email. Nhưng nếu bạn xem xét một số các điều khoản hấp dẫn hàng đầu 24% các ứng dụng mà họ tải ra khỏi 53.000 thông tin GPS yêu cầu từ thiết bị. 8% đọc địa chỉ liên lạc. 4% gửi tin nhắn SMS, và 3% nhận được tin nhắn SMS. 2% ghi âm. 1% xử lý các cuộc gọi đi. Tôi không biết. Tôi không nghĩ rằng 4% của các ứng dụng trong các cửa hàng ứng dụng thực sự cần phải gửi tin nhắn văn bản SMS, vì vậy tôi nghĩ rằng đó là một gợi ý rằng một cái gì đó không thuận tiện đang xảy ra. 8% các ứng dụng cần phải đọc danh sách liên lạc của bạn. Đây có thể là không cần thiết. Một trong những điều thú vị khác về quyền truy cập là nếu bạn liên kết trong thư viện chia sẻ vào ứng dụng của bạn những kế thừa quyền truy cập của các ứng dụng, do đó, nếu ứng dụng của bạn cần danh sách liên lạc hoặc cần các vị trí GPS hoạt động và bạn liên kết trong một thư viện quảng cáo, ví dụ, mà thư viện quảng cáo cũng sẽ có thể truy cập vào địa chỉ liên lạc và cũng có thể truy cập vị trí GPS, và các nhà phát triển của các ứng dụng không biết gì về đoạn code đó là chạy trong thư viện quảng cáo. Họ chỉ liên kết đó bởi vì họ muốn kiếm tiền từ ứng dụng của họ. Đây là nơi và tôi sẽ nói về một số ví dụ về điều này với một ứng dụng được gọi là Pandora, nơi một nhà phát triển ứng dụng vô tình có thể bị rò rỉ thông tin từ những người dùng của họ, vì thư viện, họ đã liên kết nhập Khảo sát các cảnh quan trên mạng, tìm kiếm ở tất cả các ứng dụng khác nhau đã được báo cáo trong các tin tức là người sử dụng một cái gì đó độc hại hoặc làm không muốn và sau đó kiểm tra rất nhiều các ứng dụng của chúng tôi làm rất nhiều phân tích nhị phân tĩnh trên ứng dụng di động, vì vậy chúng tôi đã kiểm tra họ và nhìn vào mã chính nó- chúng tôi đã đưa ra những gì chúng ta gọi là danh sách top 10 của chúng ta về hành vi nguy cơ trong các ứng dụng. Và nó chia thành 2 phần, mã độc hại, vì vậy đây là điều xấu mà các ứng dụng có thể làm điều đó có thể sẽ là cái gì mà một cá nhân độc hại đã đặt đặc biệt trong ứng dụng, nhưng đó là một chút mờ. Nó có thể là một cái gì đó mà một nhà phát triển cho rằng là tốt, nhưng nó kết thúc lên được coi là độc hại bởi người sử dụng. Và sau đó phần thứ hai là những gì chúng ta gọi là mã hóa các lỗ hổng, và đây là những điều mà các nhà phát triển về cơ bản là sai lầm hoặc chỉ cần không hiểu làm thế nào để viết các ứng dụng một cách an toàn,  và đó là đặt người sử dụng ứng dụng có nguy cơ. Tôi sẽ đi qua các chi tiết và đưa ra một số ví dụ. Để tham khảo, tôi muốn đưa lên điện thoại di động OWASP Top 10 danh sách. Đây là những vấn đề mà 10 nhóm tại OWASP, Dự án Open Web Application Security, họ có một nhóm làm việc làm việc trên một điện thoại di động danh sách top 10. Họ có một web top 10 danh sách rất nổi tiếng, đó là top 10 điều rủi ro nhất bạn có thể có trong một ứng dụng web. Họ đang làm điều tương tự cho điện thoại di động, và danh sách của họ là một chút khác biệt so với chúng ta. 6 trong số 10 đều giống nhau. Họ có 4 mà là khác nhau. Tôi nghĩ rằng họ có một chút của một mất khác nhau trên rủi ro trong các ứng dụng điện thoại di động mà rất nhiều vấn đề của họ đang thực sự như thế nào ứng dụng được giao tiếp với một máy chủ back-end hoặc những gì đang xảy ra trên máy chủ back-end, ứng dụng không quá nhiều mà có hành vi nguy cơ mà các ứng dụng khách hàng chỉ cần đơn giản. Những cái màu đỏ ở đây là sự khác biệt giữa 2 danh sách. Và một số nhóm nghiên cứu của tôi đã thực sự đóng góp vào dự án này, vì vậy chúng tôi sẽ xem những gì sẽ xảy ra theo thời gian, nhưng tôi nghĩ rằng đây là takeaway chúng tôi không thực sự biết những gì các danh sách top 10 là trong các ứng dụng di động vì họ đã thực sự chỉ có được khoảng 2 hoặc 3 năm nay, và chưa có đủ thời gian để thực sự nghiên cứu các hệ điều hành và những gì họ đang có khả năng, và chưa có đủ thời gian cho cộng đồng độc hại, nếu bạn sẽ, đã dành đủ thời gian cố gắng để tấn công người dùng thông qua ứng dụng di động, vì vậy tôi hy vọng các danh sách để thay đổi một chút. Nhưng bây giờ, đây là 10 điều đầu phải lo lắng. Bạn có thể tự hỏi bên điện thoại di động, nơi nào các mã độc hại di động như thế nào có được trên điện thoại? North Carolina State có một dự án được gọi là Dự án hệ gen di động phần mềm độc hại nơi họ đang thu thập càng nhiều phần mềm độc hại di động như họ có thể và phân tích nó, và họ đã chia nhỏ các vectơ tiêm rằng phần mềm độc hại di động sử dụng, và 86% sử dụng một kỹ thuật gọi là đóng gói lại, và điều này chỉ là trên nền tảng Android có thể bạn thực sự đóng gói lại này. Lý do là mã Android được xây dựng với một mã byte Java gọi là Dalvik đó là dễ dàng decompilable. Những gì kẻ xấu có thể làm là có một ứng dụng Android, dịch ngược nó, chèn mã độc hại của họ, biên dịch lại nó, và sau đó đặt nó trong cửa hàng ứng dụng dường như là một phiên bản mới của ứng dụng, hoặc chỉ có thể thay đổi tên của ứng dụng. Nếu đó là một số loại trò chơi, thay đổi tên hơi, và do đó đóng gói lại đây là cách 86% phần mềm độc hại di động được phân phối. Có một kỹ thuật gọi là bản cập nhật đó là rất giống với đóng gói lại, nhưng bạn thực sự không đặt mã độc hại nhập Những gì bạn làm là bạn đặt trong một cơ chế cập nhật nhỏ. Bạn dịch ngược, bạn đặt trong một cơ chế cập nhật, và bạn biên dịch nó, và sau đó khi các ứng dụng đang chạy nó kéo xuống phần mềm độc hại vào thiết bị. Cho đến nay, phần lớn là những kỹ thuật 2. Không có thực sự nhiều tải drive-bys hoặc drive-by download trên điện thoại di động, mà có thể là giống như một cuộc tấn công lừa đảo. Hey, kiểm tra trang web này thực sự mát mẻ, hoặc bạn cần phải vào trang web này và điền vào mẫu đơn này để giữ cho tiếp tục làm một cái gì đó. Những người đang tấn công lừa đảo. Điều tương tự cũng có thể xảy ra trên nền tảng di động, nơi họ trỏ đến một ứng dụng điện thoại di động để tải về, nói "Xin chào, đây là Bank of America." "Chúng tôi thấy bạn đang sử dụng ứng dụng này." "Bạn nên tải về ứng dụng này khác." Về mặt lý thuyết, có thể làm việc. Có thể nó chỉ không được sử dụng đủ để xác định xem đó là thành công hay không, nhưng họ thấy rằng ít hơn 1% thời gian kỹ thuật được sử dụng. Phần lớn thời gian của nó thực sự một mã đóng gói. Có một loại được gọi là độc lập nơi một người nào đó chỉ cần xây dựng một ứng dụng hoàn toàn mới. Họ xây dựng một ứng dụng mà nội dung là một cái gì đó. Nó không phải là một đóng gói lại của cái gì khác, và đó là các mã độc hại. Đó là sử dụng 14% thời gian. Bây giờ tôi muốn nói về những gì là mã độc hại đang làm gì? Một trong những phần mềm độc hại đầu tiên ra có bạn có thể xem xét một phần mềm gián điệp. Về cơ bản nó gián điệp vào người sử dụng. Nó thu thập các email, tin nhắn SMS. Nó quay về micro. Nó thu hoạch cuốn sách liên lạc, và nó sẽ gửi nó cho người khác. Đây là loại phần mềm gián điệp tồn tại trên máy tính, do đó, nó làm cho cảm giác hoàn hảo cho mọi người cố gắng làm điều này trên các thiết bị di động. Một trong những ví dụ đầu tiên này là một chương trình được gọi là bí mật tin nhắn SMS Replicator. Đó là vào Android Marketplace một vài năm trước đây, và ý tưởng là nếu bạn có quyền truy cập vào điện thoại Android của ai đó mà bạn muốn để do thám, như vậy có lẽ đó là người phối ngẫu hoặc bạn có ý nghĩa khác và bạn muốn để do thám tin nhắn văn bản của họ, bạn có thể tải về ứng dụng này và cài đặt nó và cấu hình nó gửi một tin nhắn văn bản SMS đến bạn một bản sao mỗi tin nhắn văn bản SMS họ có. Điều này rõ ràng là vi phạm các điều khoản cửa hàng ứng dụng của dịch vụ, và điều này đã được gỡ bỏ từ Android Marketplace trong vòng 18 giờ của nó là có, do đó, một số lượng rất nhỏ những người có nguy cơ vì điều này. Bây giờ, tôi nghĩ rằng nếu chương trình được gọi là một cái gì đó có thể là một chút ít khiêu khích Bí mật như tin nhắn SMS Replicator nó có lẽ sẽ làm việc tốt hơn rất nhiều. Nhưng nó là loại rõ ràng. Một trong những điều chúng ta có thể làm gì để xác định xem các ứng dụng có hành vi này mà chúng tôi không muốn là để kiểm tra mã. Điều này thực sự rất dễ dàng để làm trên Android bởi vì chúng tôi có thể dịch ngược các ứng dụng. Trên iOS, bạn có thể sử dụng một bộ tách rời như IDA Pro nhìn vào những gì các API ứng dụng được gọi điện thoại và những gì nó làm. Chúng tôi đã viết phân tích tĩnh nhị phân riêng của mình cho mã của chúng tôi và chúng tôi làm điều này, và vì vậy những gì bạn có thể làm là bạn có thể nói không thiết bị làm bất cứ điều gì về cơ bản là theo dõi tôi hay theo dõi tôi? Và tôi có một số ví dụ ở đây trên iPhone. Ví dụ đầu tiên này là làm thế nào để truy cập vào UUID trên điện thoại. Điều này thực sự cái gì mà Apple vừa cấm các ứng dụng mới, nhưng các ứng dụng cũ mà bạn có thể chạy trên điện thoại của bạn vẫn có thể làm được điều này, và để định danh duy nhất có thể được sử dụng để theo dõi bạn trên nhiều ứng dụng khác nhau. Trên Android, tôi có một ví dụ ở đây để nhận được vị trí của thiết bị. Bạn có thể thấy rằng nếu cuộc gọi API là có ứng dụng được theo dõi, và bạn có thể xem nó nhận được vị trí tốt hoặc vị trí gần đúng. Và sau đó ở phía dưới đây, tôi có một ví dụ về cách trên BlackBerry một ứng dụng có thể truy cập các thông điệp email trong hộp thư đến của bạn. Đây là những loại những thứ bạn có thể kiểm tra để xem nếu ứng dụng đang làm những điều đó. Thể loại thứ hai lớn của hành vi nguy hiểm, và điều này có lẽ là loại lớn nhất hiện nay, là quay số trái phép, phí bảo hiểm trái phép tin nhắn SMS hoặc thanh toán trái phép. Một điều đó là duy nhất về điện thoại là thiết bị được nối với một tài khoản thanh toán, và khi hoạt động xảy ra trên điện thoại nó có thể tạo ra chi phí. Bạn có thể mua những thứ qua điện thoại, và khi bạn gửi một tin nhắn văn bản SMS cao cấp bạn đang thực sự đưa tiền cho chủ tài khoản của số điện thoại ở phía bên kia. Chúng được thiết lập để có được báo giá cổ phiếu hoặc nhận được tử vi hàng ngày của bạn hoặc những thứ khác, nhưng chúng có thể được thiết lập để đặt hàng một sản phẩm bằng cách gửi tin nhắn văn bản. Người đưa tiền cho Hội Chữ thập đỏ bằng cách gửi một tin nhắn văn bản. Bạn có thể cho $ 10 theo cách đó. Những kẻ tấn công, những gì họ đã làm là họ thiết lập tài khoản ở nước ngoài, và họ nhúng trong các phần mềm độc hại rằng điện thoại sẽ gửi tin nhắn văn bản SMS cao cấp, nói, một vài lần một ngày, và vào cuối tháng bạn nhận ra bạn đã dành hàng chục hoặc thậm chí hàng trăm đô la, và họ đi bộ với tiền bạc. Điều này đã xấu như vậy mà đây là điều đầu tiên mà Android Thị trường hoặc nơi-nó Google là Android Marketplace vào thời điểm đó, và nó bây giờ Google Play-điều đầu tiên mà Google bắt đầu kiểm tra. Khi Google bắt đầu phân phối các ứng dụng Android trong cửa hàng ứng dụng của họ họ nói rằng họ không được đi để kiểm tra bất cứ điều gì. Chúng tôi sẽ kéo các ứng dụng khi chúng tôi đã được thông báo họ đã phá vỡ các điều khoản của chúng tôi phục vụ, nhưng chúng tôi sẽ không để kiểm tra bất cứ điều gì. Vâng, khoảng một năm trước nó đã xấu như vậy với điều này tin nhắn SMS tin nhắn văn bản phần mềm độc hại cao cấp rằng đây là điều đầu tiên họ bắt đầu kiểm tra. Nếu một ứng dụng có thể gửi tin nhắn văn bản SMS họ tiếp tục rà soát thủ ứng dụng đó. Họ tìm kiếm các API mà gọi này, và bây giờ kể từ đó Google đã mở rộng, nhưng đây là điều đầu tiên mà họ bắt đầu tìm kiếm. Một số ứng dụng khác mà đã làm một số tin nhắn văn bản SMS, này Android Qicsomos, tôi đoán nó được gọi. Có sự kiện này hiện nay trên điện thoại di động mà CarrierIQ này ra như đặt phần mềm gián điệp trên thiết bị của các tàu sân bay, để mọi người muốn biết nếu điện thoại của họ là dễ bị tổn thương này, và đây là một ứng dụng miễn phí thử nghiệm đó. Vâng, tất nhiên, những gì ứng dụng này đã làm được nó gửi tin nhắn văn bản SMS cao cấp, vì vậy bằng cách kiểm tra để xem nếu bạn đang bị nhiễm phần mềm gián điệp bạn tải phần mềm độc hại vào thiết bị của bạn. Chúng ta đã thấy điều tương tự xảy ra tại Super Bowl cuối cùng. Có một phiên bản giả mạo của trò chơi bóng đá Madden đã gửi tin nhắn văn bản SMS cao cấp. Nó thực sự cố gắng để tạo ra một mạng bot quá trên thiết bị. Ở đây tôi có một số ví dụ. Điều thú vị đủ, Apple đã khá thông minh, và họ không cho phép các ứng dụng để gửi tin nhắn văn bản SMS tại tất cả. Không có ứng dụng có thể làm điều đó. Đó là một cách tuyệt vời của việc loại bỏ cả lớp dễ bị tổn thương, nhưng trên Android, bạn có thể làm điều đó, và tất nhiên, trên BlackBerry, bạn có thể làm điều đó quá. Thật thú vị khi trên BlackBerry tất cả các bạn cần là cho phép internet để gửi một tin nhắn văn bản SMS. Điều khác thực sự mà chúng ta tìm kiếm khi chúng tôi đang tìm kiếm để xem có cái gì là độc hại chỉ là bất kỳ loại mạng lưới hoạt động trái phép, như xem xét các hoạt động mạng các ứng dụng được cho là cần phải có chức năng của nó, và nhìn vào hoạt động này mạng khác. Có lẽ là một ứng dụng, để làm việc, có để có được dữ liệu trên HTTP, nhưng nếu nó làm việc qua email hoặc tin nhắn SMS hoặc Bluetooth hoặc một cái gì đó như thế bây giờ ứng dụng có tiềm năng có thể là độc hại, vì vậy đây là một điều bạn có thể kiểm tra cho. Và trên slide này đây tôi có một số ví dụ về điều đó. Một điều thú vị mà chúng ta thấy phần mềm độc hại đã xảy ra trong năm 2009, và nó đã xảy ra trong một cách lớn. Tôi không biết nếu nó đã xảy ra rất nhiều kể từ đó, nhưng đó là một ứng dụng mà mạo nhận một ứng dụng khác. Có một tập hợp các ứng dụng, và nó được mệnh danh là tấn công 09Droid, và một người nào đó quyết định rằng đã có rất nhiều, khu vực, các ngân hàng quy mô vừa nhỏ mà không có các ứng dụng ngân hàng trực tuyến, vì vậy những gì họ làm là họ xây dựng khoảng 50 ứng dụng ngân hàng trực tuyến rằng tất cả họ làm là lấy tên người dùng và mật khẩu và chuyển hướng bạn đến trang web. Và do đó, họ đặt những tất cả trong Marketplace của Google, trong Android Marketplace, và khi một ai đó tìm kiếm để xem nếu ngân hàng của họ đã có một ứng dụng mà họ sẽ tìm thấy những ứng dụng không có thật, trong đó thu thập thông tin của họ và sau đó chuyển chúng lên trang web của họ. Cách mà điều này thực sự đã trở thành-các ứng dụng đã tăng đó trong một vài tuần, và có hàng ngàn và hàng ngàn lượt tải. Cách này đưa ra ánh sáng là một người đã có một vấn đề với một trong các ứng dụng, và họ được gọi là ngân hàng của họ, và họ được gọi là dòng hỗ trợ khách hàng ngân hàng của họ và nói: "Tôi đang có một vấn đề với các ứng dụng ngân hàng di động của bạn." "Bạn có thể giúp tôi không?" Và họ nói rằng, "Chúng tôi không có một ứng dụng ngân hàng di động." Mà bắt đầu điều tra. Ngân hàng được gọi là Google, và sau đó Google nhìn và nói: "Wow, cùng một tác giả đã viết 50 ứng dụng ngân hàng", và lấy tất cả chúng xuống. Nhưng chắc chắn điều này có thể xảy ra một lần nữa. Có danh sách của tất cả các ngân hàng khác nhau ở đây đó là một phần của lừa đảo này. Điều khác một ứng dụng có thể làm là hiện tại giao diện người dùng của ứng dụng khác. Trong khi nó đang chạy nó có thể bật lên giao diện người dùng Facebook. Nó nói bạn phải đặt tên người dùng và mật khẩu của bạn để tiếp tục hoặc đưa ra bất kỳ tên người dùng và mật khẩu giao diện người dùng cho một trang web rằng có lẽ người dùng sử dụng chỉ để cố gắng lừa người sử dụng vào đặt thông tin của họ in Đây thực sự là một song song thẳng của các cuộc tấn công email lừa đảo nơi ai đó gửi cho bạn một email và cung cấp cho bạn cơ bản là một giao diện người dùng giả cho một trang web mà bạn có thể truy cập. Điều khác mà chúng tôi tìm kiếm mã độc hại là thay đổi hệ thống. Bạn có thể tìm kiếm tất cả các cuộc gọi API đòi hỏi đặc quyền gốc để thực hiện một cách chính xác. Thay đổi proxy web của thiết bị sẽ là một cái gì đó mà một ứng dụng không sẽ có thể làm. Nhưng nếu ứng dụng có mã trong đó để làm điều đó bạn biết rằng nó có thể là một ứng dụng độc hại hoặc rất cao có thể là một ứng dụng độc hại, và vì vậy những gì sẽ xảy ra là ứng dụng sẽ có một số cách để leo thang đặc quyền. Nó sẽ có một số leo thang đặc quyền khai thác trong ứng dụng, và sau đó một khi nó leo thang đặc quyền nó sẽ làm những sửa đổi hệ thống. Bạn có thể tìm thấy phần mềm độc hại có đặc quyền leo thang trong đó ngay cả khi không biết làm thế nào sự leo thang đặc quyền khai thác sẽ xảy ra, và đó là một tốt đẹp, cách dễ dàng để tìm phần mềm độc hại. DroidDream có lẽ là phần nổi tiếng nhất của phần mềm độc hại Android. Tôi nghĩ rằng nó ảnh hưởng tới khoảng 250.000 người sử dụng trong một vài ngày trước khi nó được tìm thấy. Họ đóng gói 50 ứng dụng không có thật, đặt chúng trong các cửa hàng ứng dụng Android, và về cơ bản nó sử dụng mã Jailbreak Android leo thang đặc quyền và sau đó cài đặt một lệnh và kiểm soát và biến tất cả các nạn nhân vào một mạng lưới bot, nhưng bạn có thể đã phát hiện ra điều này nếu bạn đã quét các ứng dụng và chỉ cần tìm kiếm API cuộc gọi đòi hỏi sự cho phép root để thực hiện một cách chính xác. Và có một ví dụ ở đây tôi có được thay đổi proxy, và điều này thực sự là chỉ có sẵn trên Android. Bạn có thể thấy tôi đang đem lại cho bạn rất nhiều ví dụ trên Android bởi vì đây là nơi mà các hệ sinh thái phần mềm độc hại hoạt động mạnh nhất là bởi vì nó thực sự dễ dàng cho một kẻ tấn công để có được mã độc hại vào Android Marketplace. Nó không phải dễ dàng như vậy để làm điều đó trong App Store của Apple bởi vì Apple yêu cầu các nhà phát triển để xác định mình và ký mã. Họ thực sự kiểm tra xem bạn là ai, và Apple đang thực sự xem xét kỹ lưỡng các ứng dụng. Chúng tôi không nhìn thấy rất nhiều phần mềm độc hại thực sự mà thiết bị đang bị tổn hại. Tôi sẽ nói về một số ví dụ mà nó thực sự riêng tư đó là bị tổn hại, và đó là những gì thực sự xảy ra trên các thiết bị của Apple. Một điều để tìm cho mã độc, mã nguy hiểm trong các thiết bị là logic hoặc thời gian bom, và quả bom thời gian có thể là dễ dàng hơn để tìm kiếm hơn bom logic. Nhưng với những quả bom thời gian, những gì bạn có thể làm là bạn có thể tìm nơi trong mã nơi mà thời gian được thử nghiệm hoặc một thời gian tuyệt đối được tìm kiếm trước khi chức năng nhất định trong các ứng dụng sẽ xảy ra. Và điều này có thể được thực hiện để che giấu hoạt động đó từ người sử dụng, do đó, nó xảy ra vào lúc đêm khuya. DroidDream đã làm tất cả hoạt động của nó 11:00-08:00 giờ địa phương để cố gắng làm điều đó trong khi người sử dụng có thể không được sử dụng thiết bị của họ. Một lý do khác để làm điều này là nếu người đang sử dụng phân tích hành vi của ứng dụng, chạy các ứng dụng trong một sandbox để xem những gì hành vi của các ứng dụng, họ có thể sử dụng logic dựa trên thời gian để thực hiện hoạt động khi ứng dụng không có trong sandbox. Ví dụ, một cửa hàng ứng dụng như Apple chạy các ứng dụng, nhưng họ có thể không chạy mọi ứng dụng cho, nói, 30 ngày trước khi phê duyệt nó, vì vậy bạn có thể đặt logic trong ứng dụng của bạn mà nói, không sao, chỉ làm điều xấu sau 30 ngày đã trôi qua hoặc sau 30 ngày kể từ ngày công bố của ứng dụng, và có thể giúp các ẩn mã độc hại từ những người kiểm tra cho nó. Nếu các công ty chống virus đang chạy trong điều cát hoặc các cửa hàng ứng dụng chính họ là điều này có thể giúp ẩn mà kiểm tra đó. Bây giờ, mặt trái của nó là dễ dàng tìm thấy với phân tích tĩnh, để thực sự kiểm tra mã, bạn có thể tìm kiếm tất cả các nơi nơi ứng dụng kiểm tra thời gian và kiểm tra theo cách đó. Và ở đây tôi có một số ví dụ về những 3 nền tảng khác nhau như thế nào thời gian có thể được kiểm tra bởi nhà sản xuất ứng dụng để bạn biết những gì để tìm nếu bạn đang kiểm tra các ứng dụng tĩnh. Tôi chỉ cần đi qua một bó toàn bộ các hoạt động độc hại khác nhau mà chúng tôi đã nhìn thấy trong tự nhiên, nhưng mà những người là phổ biến nhất? Nghiên cứu đó cũng từ dự án Nhà nước di động Genome North Carolina công bố một số dữ liệu, và về cơ bản đã có 4 khu vực rằng họ nhìn thấy nơi đã có rất nhiều hoạt động. 37% các ứng dụng đã làm leo thang đặc quyền, do đó, họ đã có một số loại mã Jailbreak trong đó nơi họ đã cố gắng để leo thang đặc quyền để họ có thể làm lệnh API chạy hệ điều hành. 45% các ứng dụng hiện có đã SMS cao cấp, vì vậy đó là một tỷ lệ rất lớn đó là cố gắng để kiếm tiền trực tiếp. 93% đã làm điều khiển từ xa, vì vậy họ đã cố gắng để thiết lập một mạng lưới bot, một mạng lưới bot di động. Và 45% thu hoạch thông tin nhận dạng như số điện thoại, UUID, vị trí GPS, tài khoản người dùng, và điều này cho biết thêm lên đến hơn 100 bởi vì hầu hết phần mềm độc hại cố gắng để làm một vài trong số những điều này. Tôi sẽ chuyển sang hiệp hai và nói về những lỗ hổng bảo mật mã. Đây là một nửa thứ hai của hoạt động nguy hiểm. Đây là nơi chủ yếu các nhà phát triển đang làm lỗi. Một nhà phát triển hợp pháp viết một ứng dụng hợp pháp được sai sót hoặc là không biết gì về những rủi ro của nền tảng di động. Họ chỉ không biết làm thế nào để làm cho một ứng dụng điện thoại di động an toàn, hoặc đôi khi các nhà phát triển không quan tâm về việc đưa người sử dụng có nguy cơ. Đôi khi một phần của mô hình kinh doanh của họ có thể là thu hoạch thông tin cá nhân của người dùng. Đó là sắp xếp, chủng loại khác, và đó là lý do tại sao một số độc hại này so với bắt đầu hợp pháp bị chảy máu hơn bởi vì có sự khác biệt ý kiến giữa những gì người dùng muốn và những gì người dùng xem xét rủi ro và những gì các nhà phát triển ứng dụng xem xét rủi ro. Tất nhiên, nó không phải là dữ liệu các nhà phát triển ứng dụng trong hầu hết các trường hợp. Và cuối cùng, một cách điều này xảy ra là một nhà phát triển có thể liên kết trong một thư viện chia sẻ rằng có lỗ hổng hoặc hành vi nguy cơ này ở trong đó không biết rằng đối với họ. Các thể loại đầu tiên là nhạy cảm rò rỉ dữ liệu, và điều này là khi các ứng dụng thu thập thông tin như vị trí, thông tin sổ địa chỉ, thông tin chủ sở hữu và gửi cho tắt thiết bị. Và một khi nó ra khỏi thiết bị, chúng tôi không biết những gì đang xảy ra với thông tin đó. Nó có thể được lưu trữ không an toàn bởi nhà phát triển ứng dụng. Chúng tôi đã nhìn thấy các nhà phát triển ứng dụng có được thỏa hiệp, và các dữ liệu mà họ đang lưu trữ được thực hiện. Điều này xảy ra cách đây vài tháng để một nhà phát triển xuống ở Florida nơi một số lượng lớn các-đó là iPad UUIDs và tên thiết bị đã bị rò rỉ bởi vì một người nào đó, tôi nghĩ rằng nó là vô danh, tuyên bố để làm điều này, đã đột nhập vào các máy chủ của nhà phát triển này và đã đánh cắp hàng triệu iPad UUIDs và tên máy tính. Không phải là thông tin nguy hiểm nhất, nhưng những gì nếu đó là lưu trữ tên người dùng và mật khẩu và địa chỉ nhà? Có rất nhiều các ứng dụng lưu trữ rằng loại thông tin. Nguy cơ là có. Một thứ khác mà có thể xảy ra là nếu các nhà phát triển không chăm sóc để bảo đảm các kênh dữ liệu, và đó là một lỗ hổng lớn, tôi sẽ nói về, dữ liệu đang được gửi trong rõ ràng. Nếu người sử dụng là trên một mạng Wi-Fi công cộng hoặc một người nào đó đang kiểm tra internet một nơi nào đó dọc theo đường dẫn dữ liệu đang được tiếp xúc. Một trường hợp rất nổi tiếng của rò rỉ thông tin này đã xảy ra với Pandora, và điều này là một cái gì đó chúng tôi nghiên cứu tại Veracode. Chúng tôi nghe nói rằng có một-Tôi nghĩ rằng đó là một Ủy ban Thương mại Liên bang điều tra đang xảy ra với Pandora. Chúng tôi đã nói, "Có gì xảy ra ở đó? Hãy bắt đầu đào vào ứng dụng Pandora." Và những gì chúng tôi xác định là ứng dụng Pandora thu thập giới tính và tuổi tác của bạn, và nó cũng truy cập vị trí GPS của bạn, và các ứng dụng Pandora đã làm điều này cho những gì họ nói là lý do chính đáng. Âm nhạc mà họ đã chơi-Pandora là một ứng dụng âm nhạc trực tuyến âm nhạc họ chơi chỉ được cấp phép tại Hoa Kỳ, do đó, họ đã phải kiểm tra thực hiện các thỏa thuận giấy phép của họ rằng họ đã cho âm nhạc mà người sử dụng đang ở Hoa Kỳ. Họ cũng muốn thực hiện theo tư vấn của cha mẹ xung quanh ngôn ngữ người lớn trong âm nhạc, và do đó, nó là một chương trình tự nguyện, nhưng họ muốn thực hiện với điều đó và không chơi lời bài hát rõ ràng để trẻ từ 13 trở xuống. Họ có lý do chính đáng cho việc thu thập dữ liệu này. Ứng dụng của họ có quyền làm điều đó. Người sử dụng nghĩ rằng đó là hợp pháp. Nhưng những gì đã xảy ra? Họ liên kết trong 3 hoặc 4 thư viện quảng cáo khác nhau. Bây giờ tất cả của một đột ngột tất cả các thư viện quảng cáo đang nhận được quyền truy cập vào thông tin này cùng. Các thư viện quảng cáo, nếu bạn nhìn vào các mã trong các thư viện quảng cáo những gì họ làm là mỗi thư viện quảng cáo nói "Có ứng dụng của tôi có sự cho phép để có được vị trí GPS?" "Ồ, nó? Được rồi, cho tôi biết vị trí GPS." Mỗi thư viện quảng cáo duy nhất nào đó, và nếu các ứng dụng không có sự cho phép GPS nó sẽ không thể để có được nó, nhưng nếu có, nó sẽ nhận được nó. Đây là nơi mà các mô hình kinh doanh của các thư viện quảng cáo trái ngược với sự riêng tư của người sử dụng. Và đã có nghiên cứu ra có mà sẽ nói rằng nếu bạn biết tuổi của một người và bạn biết vị trí của họ nơi họ ngủ vào ban đêm, bởi vì bạn có tọa độ GPS của họ trong khi họ có lẽ đang ngủ, bạn biết chính xác người đó là ai bởi vì bạn có thể xác định thành viên của hộ gia đình là người đó. Thực sự này là xác định các nhà quảng cáo chính xác bạn là ai, và có vẻ như nó là hợp pháp. Tôi chỉ muốn các dòng nhạc của tôi, và đây là cách duy nhất để có được nó. Vâng, chúng tôi tiếp xúc này. Chúng tôi đã viết này lên ở một số bài đăng trên blog, và nó bật ra rằng một người nào đó từ tạp chí Rolling Stone đọc một bài đăng trên blog của chúng tôi và viết blog riêng của họ trong Rolling Stone về nó, và những ngày tiếp theo Pandora nghĩ đó là một ý tưởng tốt để loại bỏ các quảng cáo từ các thư viện ứng dụng của họ. Theo như tôi biết họ là người duy nhất-họ nên được khen thưởng. Tôi nghĩ rằng họ là loại freemium duy nhất của ứng dụng đó đã làm điều này. Tất cả các ứng dụng Freemium khác có hành vi này như nhau, vậy bạn đã có suy nghĩ về loại dữ liệu bạn đang đem lại cho các ứng dụng Freemium vì đó là tất cả sẽ quảng cáo. Thuộc về pháp quan cũng đã làm một nghiên cứu về thư viện chia sẻ và cho biết, "Chúng ta hãy nhìn vào những gì thư viện chia sẻ là thư viện chia sẻ hàng đầu", và đây là dữ liệu. Họ đã phân tích 53.000 ứng dụng, và các thư viện chia sẻ số 1 là AdMob. Nó đã thực sự trong 38% các ứng dụng trên mạng, nên 38% các ứng dụng bạn đang sử dụng có khả năng thu hoạch thông tin cá nhân của bạn và gửi nó cho các mạng lưới quảng cáo. Apache và Android là 8% và 6%, và sau đó những người khác xuống ở dưới cùng, Quảng cáo Google, Flurry, Đám đông thành phố và Millennial Media, đây là tất cả các công ty quảng cáo, và sau đó, khá thú vị, 4% liên kết trong thư viện Facebook có lẽ người dùng xác thực thông qua Facebook do đó, các ứng dụng có thể xác thực Facebook. Nhưng điều đó cũng có nghĩa là công ty Facebook đang kiểm soát đang chạy trong 4% của các ứng dụng di động Android trên mạng, và họ có quyền truy cập vào tất cả các dữ liệu mà ứng dụng có sự cho phép để có được. Facebook về cơ bản cố gắng để bán không gian quảng cáo. Đó là mô hình kinh doanh của họ. Nếu bạn nhìn vào toàn bộ hệ sinh thái này với các điều khoản và thư viện chia sẻ bạn bắt đầu thấy rằng bạn có rất nhiều rủi ro trong một ứng dụng được cho là hợp pháp. Điều tương tự đã xảy ra cùng với Pandora đã xảy ra với một ứng dụng gọi là Path, và đường dẫn nghĩ rằng họ đã bị hữu ích, phát triển thân thiện. Họ chỉ cố gắng để cung cấp cho bạn một trải nghiệm người dùng tuyệt vời, và nó bật ra rằng nếu không có khiến người sử dụng hoặc cho người dùng bất cứ điều gì- và điều này đã xảy ra trên iPhone và Android, các ứng dụng Pandora là trên iPhone và Android rằng các ứng dụng con đường đã được lấy toàn bộ sổ địa chỉ của bạn và tải lên nó vào con đường chỉ khi bạn cài đặt và chạy các ứng dụng, và họ đã không nói với bạn về điều này. Họ nghĩ rằng nó là thực sự hữu ích cho bạn để có thể chia sẻ với tất cả mọi người trong sổ địa chỉ của bạn rằng bạn đang sử dụng ứng dụng Path. Vâng, rõ ràng là con đường nghĩ đây là tuyệt vời cho công ty của họ. Không tuyệt vời như vậy cho người dùng. Bạn phải suy nghĩ rằng đó là một điều nếu có thể là một thiếu niên đang sử dụng ứng dụng này và hàng chục bạn bè của họ đang ở trong đó, nhưng những gì nếu đó là Giám đốc điều hành của một công ty, cài đặt đường dẫn và sau đó tất cả của một cuốn sách địa chỉ toàn bộ bất ngờ của họ là ở đó? Bạn sẽ nhận được rất nhiều thông tin liên lạc giá trị tiềm năng cho rất nhiều người. Một phóng viên của New York Times, bạn có thể có thể có được số điện thoại cho Chủ tịch cũ từ sổ địa chỉ của họ, vì vậy rõ ràng rất nhiều thông tin nhạy cảm được chuyển giao với một cái gì đó như thế này. Có như một vạt lớn về điều này con đường mà xin lỗi. Họ đã thay đổi ứng dụng của họ, và nó thậm chí ảnh hưởng của Apple. Apple cho biết, "Chúng tôi sẽ buộc các nhà cung cấp ứng dụng để nhắc nhở người sử dụng nếu họ sẽ thu thập toàn bộ cuốn sách địa chỉ của họ. " Nó trông giống như những gì đang xảy ra ở đây là khi có hành vi vi phạm quyền riêng tư lớn và nó làm cho báo chí chúng ta thấy một sự thay đổi ra khỏi đó. Nhưng tất nhiên, có những thứ khác ra khỏi đó. Ứng dụng LinkedIn thu hoạch các mục lịch của bạn, nhưng Apple không làm cho người dùng được nhắc nhở về điều đó. Các mục lịch có thể có thông tin nhạy cảm trong chúng. Có thì bạn sẽ rút ra những dòng? Điều này thực sự là loại một nơi phát triển nơi có thực sự không có tiêu chuẩn tốt ra khỏi đó cho người sử dụng hiểu khi thông tin của họ sẽ có nguy cơ và khi họ sẽ biết nó đang được thực hiện. Chúng tôi đã viết một ứng dụng tại Veracode gọi là Adios, và về cơ bản nó cho phép bạn chỉ ứng dụng tại thư mục iTunes của bạn và xem xét tất cả các ứng dụng đã được thu hoạch sổ địa chỉ đầy đủ của bạn. Và bạn có thể thấy trong danh sách này đây, Angry Birds, AIM, AROUNDMe. Tại sao Angry Birds cần sổ địa chỉ của bạn? Tôi không biết, nhưng nó bằng cách nào đó. Đây là điều mà nhiều người, nhiều ứng dụng làm. Bạn có thể kiểm tra mã cho việc này. Có API cũng được xác định cho iPhone, Android và BlackBerry để có được ở sổ địa chỉ. Bạn có thể thực sự dễ dàng kiểm tra cho điều này, và đây là những gì chúng tôi đã làm trong ứng dụng Adios của chúng tôi. Các thể loại tiếp theo, không an toàn dữ liệu nhạy cảm lưu trữ, là cái gì đó mà các nhà phát triển có một cái gì đó giống như một pin hoặc một số tài khoản hoặc một mật khẩu và lưu nó trong rõ ràng trên thiết bị. Thậm chí tệ hơn, họ có thể lưu trữ nó trong một khu vực trên điện thoại có thể truy cập trên toàn cầu, giống như thẻ SD. Bạn thấy điều này thường xuyên hơn trên Android bởi vì Android cho phép một thẻ SD. Thiết bị iPhone thì không. Nhưng chúng tôi thậm chí đã nhìn thấy điều này xảy ra trong một ứng dụng CitiGroup. Ứng dụng ngân hàng trực tuyến của họ được lưu trữ các số tài khoản không an toàn, chỉ trong rõ ràng, vì vậy nếu bạn bị mất điện thoại, về cơ bản bạn bị mất tài khoản ngân hàng của bạn. Đây là lý do tại sao cá nhân tôi không làm ngân hàng trên iPhone của tôi. Tôi nghĩ rằng nó quá nguy hiểm ngay bây giờ để làm các loại hoạt động. Skype đã làm điều tương tự. Skype, tất nhiên, có một số dư tài khoản, tên người dùng và mật khẩu truy cập vào sự cân bằng đó. Họ đã lưu trữ tất cả các thông tin trong rõ ràng trên thiết bị di động. Tôi có một số ví dụ ở đây tạo ra các tập tin không có đủ quyền hạn hoặc bằng văn bản cho đĩa và không có bất kỳ mã hóa xảy ra cho điều đó. Khu vực này tiếp theo, không an toàn dữ liệu nhạy cảm truyền, Tôi đã ám chỉ điều này một vài lần, và vì Wi-Fi công cộng đây là điều mà các ứng dụng hoàn toàn cần phải làm, và điều này có lẽ là những gì chúng ta thấy sai lầm nhất. Tôi có thể nói-thật sự, tôi nghĩ rằng tôi có dữ liệu thực tế, nhưng đó là gần một nửa các ứng dụng di động vít lên làm SSL. Họ chỉ không sử dụng các API chính xác. Ý tôi là, tất cả các bạn phải làm là làm theo hướng dẫn và sử dụng các API, nhưng họ những thứ như không kiểm tra xem có một chứng chỉ không hợp lệ ở đầu kia, không kiểm tra xem đầu bên kia đang cố gắng để làm một cuộc tấn công giao thức hạ cấp. Các nhà phát triển, họ muốn để có được hộp kiểm của họ, phải không? Yêu cầu của họ là sử dụng này để bán. Họ đã sử dụng này để bán. Yêu cầu không phải là sử dụng điều này để bán một cách an toàn, và vì vậy đây là lý do tại sao tất cả các ứng dụng sử dụng SSL để bảo mật dữ liệu khi nó được truyền ra khỏi thiết bị thực sự cần phải được kiểm tra để đảm bảo rằng đã được thực hiện một cách chính xác. Và ở đây tôi có một số ví dụ mà bạn có thể thấy một ứng dụng có thể được sử dụng HTTP thay vì HTTPS. Trong một số trường hợp các ứng dụng sẽ rơi trở lại HTTP nếu HTTPS không làm việc. Tôi có một cuộc gọi ở đây trên Android nơi mà họ đã vô hiệu hóa việc kiểm tra giấy chứng nhận, do đó, một cuộc tấn công man-in-the-middle có thể xảy ra. Giấy chứng nhận hợp lệ sẽ được chấp nhận. Đây là tất cả trường hợp kẻ tấn công sẽ có thể nhận được trên kết nối Wi-Fi giống như người sử dụng và truy cập tất cả các dữ liệu mà đang được gửi qua internet. Và cuối cùng, hạng mục cuối cùng tôi có ở đây là mật khẩu hardcoded và các phím. Chúng tôi thực sự nhìn thấy rất nhiều các nhà phát triển sử dụng kiểu mã hóa tương tự mà họ đã làm khi họ đã xây dựng các ứng dụng máy chủ web, do đó, họ đang xây dựng một ứng dụng máy chủ Java, và họ đang thể xác định rõ trọng điểm. Vâng, khi bạn đang xây dựng một ứng dụng máy chủ, yeah, xác định rõ trọng không phải là một ý tưởng tốt. Nó làm cho nó khó thay đổi. Nhưng nó không phải là xấu như vậy ở phía máy chủ bởi vì những người có quyền truy cập vào máy chủ bên? Chỉ có quản trị viên. Nhưng nếu bạn có cùng mã và bạn đổ nó cho một ứng dụng di động bây giờ tất cả mọi người người đã có ứng dụng di động có thể truy cập vào đó chính hardcoded, và chúng tôi thực sự thấy điều này rất nhiều lần, và tôi có một số số liệu thống kê làm thế nào chúng ta thường thấy điều này xảy ra. Nó thực sự là trong mã ví dụ mà MasterCard công bố làm thế nào để sử dụng dịch vụ của họ. Đoạn mã ví dụ cho thấy làm thế nào bạn sẽ chỉ mất mật khẩu và đặt nó trong một chuỗi hardcoded ngay, và chúng tôi biết làm thế nào các nhà phát triển yêu để sao chép và dán đoạn mã khi họ đang cố gắng làm một cái gì đó, vì vậy bạn sao chép và dán đoạn mã rằng họ đã cho là mã ví dụ, và bạn có một ứng dụng không an toàn. Và ở đây chúng tôi có một số ví dụ. Người đầu tiên này là một trong chúng tôi nhìn thấy rất nhiều nơi họ hardcode các dữ liệu ngay vào một URL được gửi. Đôi khi chúng ta thấy chuỗi mật khẩu = mật khẩu. Đó là khá dễ dàng để phát hiện, hoặc mật khẩu chuỗi trên BlackBerry và Android. Nó thực sự khá dễ dàng để kiểm tra bởi vì hầu như luôn luôn tên nhà phát triển biến đó là giữ mật khẩu một số biến thể của mật khẩu. Tôi nói rằng chúng tôi phân tích tĩnh tại Veracode, vì vậy chúng tôi đã phân tích hàng trăm các ứng dụng Android và iOS. Chúng tôi đã xây dựng mô hình đầy đủ của họ, và chúng tôi có thể quét chúng các lỗ hổng khác nhau, đặc biệt là các lỗ hổng tôi đã nói về, và tôi có một số dữ liệu ở đây. 68,5% các ứng dụng Android, chúng tôi nhìn đã bị phá vỡ mã được mã hóa, mà cho chúng ta, chúng ta không thể phát hiện nếu bạn thực hiện thường xuyên mật của riêng bạn, không rằng đó là một ý tưởng tốt, nhưng điều này thực sự sử dụng các API công bố được trên nền tảng này nhưng làm cho họ theo cách như vậy rằng mật sẽ dễ bị tổn thương, 68.5. Và điều này là để mọi người được gửi cho chúng tôi ứng dụng của họ thực sự vì họ nghĩ rằng đó là một ý tưởng tốt để làm kiểm tra an ninh. Đây là những người mà đã có thể nghĩ một cách an toàn, do đó, nó có thể còn tồi tệ hơn. Tôi đã không nói chuyện về việc kiểm soát dòng thức ăn phun. Đó là một cái gì đó chúng tôi kiểm tra, nhưng nó không phải là một vấn đề nguy hiểm. Rò rỉ thông tin, đây là nơi mà dữ liệu nhạy cảm đang được gửi ra khỏi thiết bị. Chúng tôi thấy rằng trong 40% các ứng dụng. Thời gian và nhà nước, đó là các vấn đề loại điều kiện chủng tộc, thường khá khó khăn để khai thác, vì vậy tôi không nói về chuyện đó, nhưng chúng ta nhìn vào nó. 23% có vấn đề SQL injection. Rất nhiều người không biết rằng rất nhiều ứng dụng sử dụng một cơ sở dữ liệu SQL nhỏ bé trên kết thúc trở lại của họ để lưu trữ dữ liệu. Vâng, nếu dữ liệu mà bạn đang cầm trên mạng có chuỗi tấn công SQL injection trong nó ai đó có thể làm ảnh hưởng tới thiết bị thông qua đó, và vì vậy tôi nghĩ rằng chúng ta tìm thấy khoảng 40% các ứng dụng web có vấn đề này, mà là một vấn đề dịch bệnh lớn. Chúng tôi tìm thấy nó 23% thời gian trong các ứng dụng di động và đó có thể là vì nhiều ứng dụng web nhiều hơn sử dụng SQL hơn điện thoại di động. Và sau đó chúng tôi vẫn thấy một số cross-site scripting, các vấn đề ủy quyền, và sau đó quản lý chứng chỉ, đó là nơi mà bạn có mật khẩu hardcoded của bạn. Trong 5% các ứng dụng chúng ta thấy rằng. Và sau đó chúng tôi có một số dữ liệu trên iOS. 81% có vấn đề xử lý lỗi. Này là nhiều hơn một vấn đề chất lượng mã, nhưng 67% có vấn đề mã hóa, do đó không hoàn toàn là xấu như Android. Có lẽ các API là một chút dễ dàng hơn, các mã ví dụ tốt hơn một chút trên iOS. Nhưng vẫn còn một tỷ lệ rất cao. Chúng tôi đã có 54% với rò rỉ thông tin, khoảng 30% với các lỗi quản lý bộ đệm. Đó là những nơi có khả năng có thể là một vấn đề tham nhũng bộ nhớ. Nó chỉ ra rằng đó không phải là nhiều vấn đề khai thác trên iOS bởi vì tất cả các mã đã được ký kết, nên rất khó cho kẻ tấn công thực thi mã tùy ý trên iOS. Mã chất lượng, thư mục traversal, nhưng sau đó thông tin quản lý ở đây tại 14,6%, nên tồi tệ hơn trên Android. Chúng tôi có những người không xử lý mật khẩu một cách chính xác. Và sau đó các lỗi số và lỗi tràn bộ đệm, những người được nhiều hơn sẽ là vấn đề chất lượng mã trên iOS. Đó là nó cho bài thuyết trình của tôi. Tôi không biết nếu chúng ta ra khỏi thời gian hay không. Tôi không biết nếu có bất kỳ câu hỏi. [Nam] Một câu hỏi nhanh chóng xung quanh phân mảnh và các thị trường Android. Táo ít nhất sở hữu vá. Họ làm tốt công việc nhận được nó ra khỏi đó trong khi ít hơn trong không gian Android. Bạn gần như cần phải jailbreak điện thoại của bạn để ở hiện tại với việc phát hành hiện tại của Android. Vâng, đó là một vấn đề rất lớn và vì vậy nếu bạn suy nghĩ về- [Nam] Tại sao có thể không lặp lại nó? Oh, phải, vì vậy câu hỏi là những gì về sự phân mảnh của hệ điều hành trên nền tảng Android? Làm thế nào mà ảnh hưởng đến rủi ro của các thiết bị? Và nó thực sự là một vấn đề lớn bởi vì những gì xảy ra là các thiết bị cũ, khi một người nào đó đi kèm với một jailbreak cho thiết bị đó, về cơ bản đó là leo thang đặc quyền, và cho đến khi hệ điều hành được cập nhật sau đó bất kỳ phần mềm độc hại có thể sử dụng lỗ hổng đó để hoàn toàn thỏa hiệp thiết bị, và những gì chúng ta đang thấy trên Android là để có được một hệ điều hành mới Google đã đưa ra hệ điều hành, và sau đó các nhà sản xuất phần cứng có tùy chỉnh nó, và sau đó vận chuyển có để tùy chỉnh nó và cung cấp nó. Về cơ bản bạn có 3 bộ phận chuyển động ở đây, và nó quay ra rằng các tàu sân bay không quan tâm, và các nhà sản xuất phần cứng không quan tâm, và Google không thúc giục họ đủ để làm bất cứ điều gì, vì vậy về cơ bản hơn một nửa các thiết bị hiện có có hệ điều hành có những lỗ hổng leo thang đặc quyền trong họ, và do đó, nếu bạn nhận được phần mềm độc hại trên thiết bị Android của bạn nó nhiều hơn nữa của một vấn đề. Được rồi, cảm ơn bạn rất nhiều. [Vỗ tay] [CS50.TV]